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

View File

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

View File

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

View File

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

View File

@@ -39,7 +39,7 @@ public class ErpProcessDetailDO {
* 工序编码 * 工序编码
*/ */
@TableField("PROC_NUM") @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); Map<String, Long> existingNumbers = erpConfig.getRedisCacheMap(key);
for (ErpBomDetailDO updateReqVO : updateReqVOS) { for (ErpBomDetailDO updateReqVO : updateReqVOS) {
String mapKey = updateReqVO.getBomId() + "-" + updateReqVO.getErpBomId(); String mapKey = updateReqVO.getBomId() + "-" + updateReqVO.getErpBomId();
if (existingNumbers.containsKey(mapKey)) {
updateReqVO.setId(existingNumbers.get(mapKey));
}
if (updateReqVO.getId() == null) { if (updateReqVO.getId() == null) {
toInsert.add(updateReqVO); toInsert.add(updateReqVO);
} else { } else {

View File

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

View File

@@ -111,7 +111,7 @@ public class ErpProcessServiceImpl implements ErpProcessService {
@XxlJob("getErpProcessTask") @XxlJob("getErpProcessTask")
public void callErpRfcInterface() { public void callErpRfcInterface() {
try { try {
OftenEnum.FuncnrEnum funcnrEnum = OftenEnum.FuncnrEnum.公司代码; OftenEnum.FuncnrEnum funcnrEnum = OftenEnum.FuncnrEnum.工艺路线;
String funcnr = funcnrEnum.getFuncnr(); String funcnr = funcnrEnum.getFuncnr();
String key = "erpMap" + funcnr; String key = "erpMap" + funcnr;
if (erpConfig.getRedisCacheMap(key).isEmpty()) { if (erpConfig.getRedisCacheMap(key).isEmpty()) {
@@ -189,7 +189,11 @@ public class ErpProcessServiceImpl implements ErpProcessService {
JSONObject itemJson = dataJsonItem.getJSONObject(j); JSONObject itemJson = dataJsonItem.getJSONObject(j);
ErpProcessDetailDO detailDO = new ErpProcessDetailDO(); ErpProcessDetailDO detailDO = new ErpProcessDetailDO();
detailDO.setProcessId(String.valueOf(DO.getId())); 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.setProcessingName(itemJson.getString("LTXA1"));
detailDO.setUom(itemJson.getString("MEINH")); detailDO.setUom(itemJson.getString("MEINH"));
detailDO.setWorkCenterNumber(itemJson.getString("ARBPL")); detailDO.setWorkCenterNumber(itemJson.getString("ARBPL"));