diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ComponentOutboundController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ComponentOutboundController.java index e12eef1f..b1ca729e 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ComponentOutboundController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ComponentOutboundController.java @@ -433,7 +433,6 @@ public class ComponentOutboundController extends BaseController { .setFactoryNo(order.getFactoryNo()) .setWarehouseNo(item.getLgort()) .setNum(getNoScanOutQty(item)) - .setBatchNo("") .setBinNo(item.getLgobe()) .setMustScan(noScanningBaseControllerService.cannotOutNoScanning(item.getIdnrk(),order.getFactoryNo(),item.getLgort())) ) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InCostCenterBackController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InCostCenterBackController.java index 580b7978..3305e902 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InCostCenterBackController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InCostCenterBackController.java @@ -231,7 +231,7 @@ public class InCostCenterBackController extends BaseController { .setFactoryNo(order.getWerks()) .setWarehouseNo(order.getLgort()) .setNum(item.getLeft()) - .setBatchNo("") + .setBatchNo(serialNumberControllerService.generateSerialNumber(46, 3)) .setBinNo(item.getLgpbe()) .setMustScan(noScanningBaseControllerService.existsQrCode(item.getMatnr())) ) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceBackController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceBackController.java index 29cb569a..3c686b59 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceBackController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceBackController.java @@ -239,7 +239,7 @@ public class InProduceBackController extends BaseController { .setFactoryNo(order.getDwerk()) .setWarehouseNo(order.getLgort2()) .setNum(item.getSqsl().subtract(item.getNum())) - .setBatchNo("") + .setBatchNo(serialNumberControllerService.generateSerialNumber(46, 3)) .setBinNo(item.getLgpbe()) .setMustScan(noScanningBaseControllerService.existsQrCode(item.getMatnr())) ) @@ -317,7 +317,10 @@ public class InProduceBackController extends BaseController { .setLgort(ri.getWarehouseNo()) .setMenge(data.getNum()) .setMenge_T(item.getEnmng()) - .setMeins(item.getMeins()), (e, i) -> { e.setMenge(e.getMenge().add(i.getMenge())); return e; }); + .setMeins(item.getMeins()), (e, i) -> { + e.setMenge(e.getMenge().add(i.getMenge())); + return e; + }); if (StrUtil.isNotBlank(data.getSerialNo())) { input2.put(item.getRspos(), data.getSerialNo()); } @@ -486,7 +489,7 @@ public class InProduceBackController extends BaseController { ); Map> dmaps = records.stream().collect(Collectors.groupingBy(InMaterialScanRecord::getKey7)); OptRecordDTO optRecordDTO = new OptRecordDTO(); - optRecordDTO.setOperationType((short)1) + optRecordDTO.setOperationType((short) 1) .setOrderId(ticket.getNo()); optRecordService.add(optRecordDTO); Zwm3a11VO vo = sapService.zwm3a11(new Zwm3a11QO() diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderController.java index 2baa1bed..f231eb89 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderController.java @@ -137,9 +137,6 @@ public class InProduceOrderController extends BaseController { .setCreateBy(UserUtil.getUserName()) .setCreateTime(LocalDateTime.now()); produceOrderService.save(order); - String date = DateTimeUtil.format(LocalDate.now(), "yyMMdd"); - stringRedisTemplate.opsForValue().setIfAbsent("index:batchNo:" + date, "0", 24 - LocalDateTime.now().getHour(), TimeUnit.HOURS); - String index = StrUtil.padPre(String.valueOf(stringRedisTemplate.opsForValue().increment("index:batchNo:" + date)), 4, "0"); WmsInProduceOrderItem parent = new WmsInProduceOrderItem() .setId(IdUtil.getSnowflakeNextId()) .setOrderId(order.getId()) @@ -151,7 +148,7 @@ public class InProduceOrderController extends BaseController { .setFactoryNo(request.getPwerk()) .setWarehouseNo(request.getLgort()) .setOrderNum(request.getPsmng()) - .setBatchNo(date + index) + .setBatchNo(genBatchNo()) .setSernr(request.getSernr()) .setWorkbenchNo(request.getWorkbenchNo()) .setModelNo(request.getModelNo()); @@ -219,6 +216,14 @@ public class InProduceOrderController extends BaseController { return ApiResult.success(order.getId()); } + private String genBatchNo() { + String date = DateTimeUtil.format(LocalDate.now(), "yyMMdd"); + stringRedisTemplate.opsForValue() + .setIfAbsent("index:batchNo:" + date, "0", 24 - LocalDateTime.now().getHour(), TimeUnit.HOURS); + String index = StrUtil.padPre(String.valueOf(stringRedisTemplate.opsForValue().increment("index:batchNo:" + date)), 4, "0"); + return date + index; + } + /** * 搜索 * @param request 搜索参数 @@ -441,7 +446,7 @@ public class InProduceOrderController extends BaseController { .setFactoryNo(item.getFactoryNo()) .setWarehouseNo(item.getWarehouseNo()) .setNum(item.getNum()) - .setBatchNo(NoUtil.getBatchNo(item.getBatchNo())) + .setBatchNo(genBatchNo()) .setBinNo(item.getBinNos()) .setMustScan(noScanningBaseControllerService.existsQrCode(item.getMaterialNo())) ) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderSurplusController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderSurplusController.java index fed21977..7dbd0851 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderSurplusController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderSurplusController.java @@ -425,7 +425,7 @@ public class InProduceOrderSurplusController extends BaseController { .setFactoryNo(order.getDwerk()) .setWarehouseNo(order.getLgort2()) .setNum(item.getLeftNum()) - .setBatchNo("") + .setBatchNo(serialNumberControllerService.generateSerialNumber(46, 3)) .setBinNo(item.getLgpbe()) .setMustScan(noScanningBaseControllerService.existsQrCode(item.getMatnr())) ) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/BasdeSerialNumberControllerService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/BasdeSerialNumberControllerService.java index 2bdf7fb6..30118545 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/BasdeSerialNumberControllerService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/BasdeSerialNumberControllerService.java @@ -24,7 +24,7 @@ public class BasdeSerialNumberControllerService { maxAttempts = 5, // 最大重试次数(包括第一次调用) backoff = @Backoff(delay = 1000) // 重试间隔1秒 ) - public String generateSerialNumber(Integer businessType) { + public String generateSerialNumber(Integer businessType, Integer suffixLen) { String currentDate = LocalDate.now().format(DATE_FORMATTER); BasdeSerialNumber serialNumber = basdeSerialNumberService.lambdaQuery() @@ -43,6 +43,15 @@ public class BasdeSerialNumberControllerService { serialNumber.setCurrentDateStr(currentDate); basdeSerialNumberService.updateById(serialNumber); // 格式化为4位数字,不足补零 - return serialNumber.getBusinessPrefixNumber() + currentDate + String.format("%04d", nextSerial); + return serialNumber.getBusinessPrefixNumber() + currentDate + + StrUtil.padPre(String.valueOf(nextSerial), suffixLen, '0'); + } + + @Retryable( + maxAttempts = 5, // 最大重试次数(包括第一次调用) + backoff = @Backoff(delay = 1000) // 重试间隔1秒 + ) + public String generateSerialNumber(Integer businessType) { + return generateSerialNumber(businessType, 4); } }