Pom,工艺路线测试

This commit is contained in:
liss
2025-09-24 17:16:34 +08:00
parent 071790f01a
commit 1266bb23c5
8 changed files with 28 additions and 17 deletions

View File

@@ -40,14 +40,14 @@ public class ErpFactoryController {
@PostMapping("/create")
@Operation(summary = "创建ERP工厂")
@PreAuthorize("@ss.hasPermission('sply:erp-factory:create')")
@PreAuthorize("@ss.hasPermission('base:erp-factory:create')")
public CommonResult<ErpFactoryRespVO> createErpFactory(@Valid @RequestBody ErpFactorySaveReqVO createReqVO) {
return success(erpFactoryService.createErpFactory(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新ERP工厂")
@PreAuthorize("@ss.hasPermission('sply:erp-factory:update')")
@PreAuthorize("@ss.hasPermission('base:erp-factory:update')")
public CommonResult<Boolean> updateErpFactory(@Valid @RequestBody ErpFactorySaveReqVO updateReqVO) {
erpFactoryService.updateErpFactory(updateReqVO);
return success(true);
@@ -56,7 +56,7 @@ public class ErpFactoryController {
@DeleteMapping("/delete")
@Operation(summary = "删除ERP工厂")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('sply:erp-factory:delete')")
@PreAuthorize("@ss.hasPermission('base:erp-factory:delete')")
public CommonResult<Boolean> deleteErpFactory(@RequestParam("id") Long id) {
erpFactoryService.deleteErpFactory(id);
return success(true);
@@ -65,7 +65,7 @@ public class ErpFactoryController {
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除ERP工厂")
@PreAuthorize("@ss.hasPermission('sply:erp-factory:delete')")
@PreAuthorize("@ss.hasPermission('base:erp-factory:delete')")
public CommonResult<Boolean> deleteErpFactoryList(@RequestBody BatchDeleteReqVO req) {
erpFactoryService.deleteErpFactoryListByIds(req.getIds());
return success(true);
@@ -74,7 +74,7 @@ public class ErpFactoryController {
@GetMapping("/get")
@Operation(summary = "获得ERP工厂")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('sply:erp-factory:query')")
@PreAuthorize("@ss.hasPermission('base:erp-factory:query')")
public CommonResult<ErpFactoryRespVO> getErpFactory(@RequestParam("id") Long id) {
ErpFactoryDO erpFactory = erpFactoryService.getErpFactory(id);
return success(BeanUtils.toBean(erpFactory, ErpFactoryRespVO.class));
@@ -82,7 +82,7 @@ public class ErpFactoryController {
@GetMapping("/page")
@Operation(summary = "获得ERP工厂分页")
@PreAuthorize("@ss.hasPermission('sply:erp-factory:query')")
@PreAuthorize("@ss.hasPermission('base:erp-factory:query')")
public CommonResult<PageResult<ErpFactoryRespVO>> getErpFactoryPage(@Valid ErpFactoryPageReqVO pageReqVO) {
PageResult<ErpFactoryDO> pageResult = erpFactoryService.getErpFactoryPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, ErpFactoryRespVO.class));
@@ -90,7 +90,7 @@ public class ErpFactoryController {
@GetMapping("/export-excel")
@Operation(summary = "导出ERP工厂 Excel")
@PreAuthorize("@ss.hasPermission('sply:erp-factory:export')")
@PreAuthorize("@ss.hasPermission('base:erp-factory:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportErpFactoryExcel(@Valid ErpFactoryPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
@@ -103,7 +103,7 @@ public class ErpFactoryController {
@PostMapping("/getErpFactoryTask")
@Operation(summary = "定时获得erp工厂数据")
@PreAuthorize("@ss.hasPermission('sply:erp-factory:create')")
@PreAuthorize("@ss.hasPermission('base:erp-factory:create')")
public CommonResult<Boolean> getErpFactoryTask() {
erpFactoryService.callErpRfcInterface();
return success(true);

View File

@@ -14,7 +14,7 @@ public class ErpProcessDetailPageReqVO extends PageParam {
private String processId;
@Schema(description = "工序编码")
private BigDecimal processingNumber;
private String processingNumber;
@Schema(description = "工序描述", example = "李四")
private String processingName;

View File

@@ -22,7 +22,7 @@ public class ErpProcessDetailRespVO {
@Schema(description = "工序编码", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("工序编码")
private BigDecimal processingNumber;
private String processingNumber;
@Schema(description = "工序描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
@ExcelProperty("工序描述")

View File

@@ -20,7 +20,7 @@ public class ErpProcessDetailSaveReqVO {
@Schema(description = "工序编码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "工序编码不能为空")
private BigDecimal processingNumber;
private String processingNumber;
@Schema(description = "工序描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
@NotEmpty(message = "工序描述不能为空")

View File

@@ -39,7 +39,7 @@ public class ErpProcessDetailDO {
* 工序编码
*/
@TableField("PROC_NUM")
private BigDecimal processingNumber;
private String processingNumber;
/**
* 工序描述
*/

View File

@@ -122,6 +122,9 @@ public class ErpBomDetailServiceImpl implements ErpBomDetailService {
Map<String, Long> existingNumbers = erpConfig.getRedisCacheMap(key);
for (ErpBomDetailDO updateReqVO : updateReqVOS) {
String mapKey = updateReqVO.getBomId() + "-" + updateReqVO.getErpBomId();
if (existingNumbers.containsKey(mapKey)) {
updateReqVO.setId(existingNumbers.get(mapKey));
}
if (updateReqVO.getId() == null) {
toInsert.add(updateReqVO);
} else {

View File

@@ -116,7 +116,10 @@ public class ErpProcessDetailServiceImpl implements ErpProcessDetailService {
List<String> dataArrayNumbers = new ArrayList<>();
Map<String, Long> existingNumbers = erpConfig.getRedisCacheMap(key);
for (ErpProcessDetailDO updateReqVO : updateReqVOS) {
String mapKey = updateReqVO.getProcessId() + "-" + updateReqVO.getProcessingNumber().toEngineeringString();
String mapKey = updateReqVO.getProcessId() + "-" + updateReqVO.getProcessingNumber()+"-"+updateReqVO.getProcessingName();
if (existingNumbers.containsKey(mapKey)) {
updateReqVO.setId(existingNumbers.get(mapKey));
}
if (updateReqVO.getId() == null) {
toInsert.add(updateReqVO);
} else {
@@ -144,9 +147,10 @@ public class ErpProcessDetailServiceImpl implements ErpProcessDetailService {
new LambdaQueryWrapperX<ErpProcessDetailDO>()
.in(ErpProcessDetailDO::getProcessId, result.toInsert.stream().map(ErpProcessDetailDO::getProcessId).distinct().collect(Collectors.toList()))
.in(ErpProcessDetailDO::getProcessingNumber, result.toInsert.stream().map(ErpProcessDetailDO::getProcessingNumber).distinct().collect(Collectors.toList()))
.in(ErpProcessDetailDO::getProcessingName, result.toInsert.stream().map(ErpProcessDetailDO::getProcessingName).distinct().collect(Collectors.toList()))
);
Map<String, Long> numberIdMap = insertedRecords.stream()
.collect(Collectors.toMap(asset -> asset.getProcessId() + "-" + asset.getProcessingNumber(), ErpProcessDetailDO::getId));
.collect(Collectors.toMap(asset -> asset.getProcessId() + "-" + asset.getProcessingNumber()+"-"+asset.getProcessingName(), ErpProcessDetailDO::getId));
erpConfig.addRedisCacheMap(result.key, numberIdMap);
}
if (!result.toUpdate.isEmpty()) {
@@ -180,7 +184,7 @@ public class ErpProcessDetailServiceImpl implements ErpProcessDetailService {
List<ErpProcessDetailDO> assets = erpProcessDetailMapper.selectList(new LambdaQueryWrapperX<ErpProcessDetailDO>());
Map<String, Long> existingNumbers = new HashMap<>();
for (ErpProcessDetailDO asset : assets) {
String mapKey = asset.getProcessId() + "-" + asset.getProcessingNumber();
String mapKey = asset.getProcessId() + "-" + asset.getProcessingNumber()+"-"+asset.getProcessingName();
existingNumbers.put(mapKey, asset.getId());
}
erpConfig.addRedisCacheMap(key, existingNumbers);

View File

@@ -111,7 +111,7 @@ public class ErpProcessServiceImpl implements ErpProcessService {
@XxlJob("getErpProcessTask")
public void callErpRfcInterface() {
try {
OftenEnum.FuncnrEnum funcnrEnum = OftenEnum.FuncnrEnum.公司代码;
OftenEnum.FuncnrEnum funcnrEnum = OftenEnum.FuncnrEnum.工艺路线;
String funcnr = funcnrEnum.getFuncnr();
String key = "erpMap" + funcnr;
if (erpConfig.getRedisCacheMap(key).isEmpty()) {
@@ -189,7 +189,11 @@ public class ErpProcessServiceImpl implements ErpProcessService {
JSONObject itemJson = dataJsonItem.getJSONObject(j);
ErpProcessDetailDO detailDO = new ErpProcessDetailDO();
detailDO.setProcessId(String.valueOf(DO.getId()));
detailDO.setProcessingNumber(itemJson.getBigDecimal("VORNR"));
String processingNumber = itemJson.getString("VORNR");
if (processingNumber != null) {
processingNumber = processingNumber.replaceFirst("^0+(?!$)", "");
}
detailDO.setProcessingNumber(processingNumber);
detailDO.setProcessingName(itemJson.getString("LTXA1"));
detailDO.setUom(itemJson.getString("MEINH"));
detailDO.setWorkCenterNumber(itemJson.getString("ARBPL"));