From 0b55fa9d1e282651c155cbeca1c81390f8d6a535 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Mon, 15 Jun 2026 21:50:02 +0800 Subject: [PATCH] =?UTF-8?q?fix(barcode):=20=E4=BF=AE=E5=A4=8D=E6=9D=A1?= =?UTF-8?q?=E7=A0=81=E5=A4=84=E7=90=86=E9=98=B6=E6=AE=B5=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E5=8F=8A=E4=BC=98=E5=8C=96=E4=BA=8C=E7=BB=B4=E7=A0=81=E7=94=9F?= =?UTF-8?q?=E6=88=90=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将条码处理阶段常量中的"已拒收"状态更正为"已越库" - 注释掉生产订单控制器中重复的二维码批量保存逻辑 - 重构二维码获取方法,添加按项目获取二维码的逻辑并处理数量计算 - 修复SQL查询中COALESCE函数语法错误,确保锁定数量计算准确 - 调整质检任务排序规则,按检验状态和要求完成时间排序 - 注释掉工单处理中的消息推送逻辑避免重复通知 --- .../QmsIssueTicketControllerService.java | 14 +-- .../controller/InProduceOrderController.java | 111 ++++++++++++------ .../common/constant/BarCodeProcessStage.java | 2 +- .../QmsIncomingInspectionTaskMapper.xml | 2 +- .../mapper/WmsOutAssistanceItemMapper.xml | 2 +- 5 files changed, 84 insertions(+), 47 deletions(-) diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java index c174a11a..dd2af85f 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java @@ -916,13 +916,13 @@ public class QmsIssueTicketControllerService { issueTicketToDoService.processed(entity.getId()); - // 推送消息给工单创建人 - if (entity.getCreateUserId() != null) { - QmsIssueTicketToDo todoItem = new QmsIssueTicketToDo() - .setTicketId(entity.getId()) - .setHandlerUserId(entity.getCreateUserId()); - issueTicketToDoService.save(todoItem); - } +// // 推送消息给工单创建人 +// if (entity.getCreateUserId() != null) { +// QmsIssueTicketToDo todoItem = new QmsIssueTicketToDo() +// .setTicketId(entity.getId()) +// .setHandlerUserId(entity.getCreateUserId()); +// issueTicketToDoService.save(todoItem); +// } if (request.getApprovalStatus() != 6) { wmsIncomingInspectionTaskCallbackService.processAsync(entity.getSourceId(), request.getApprovalStatus()); 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 c07bd0a9..5efbf257 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 @@ -176,42 +176,43 @@ public class InProduceOrderController extends BaseController { ) .toList(); produceOrderItemService.saveBatch(items); - qrCodeMasterService.saveBatch( - items.stream().map(it -> new WmsQrCodeMaster() - .setBarcodeCode(KeyUtil.next()) - .setProcessStage(BarCodeProcessStage.ForStorage.getState()) - .setBarcodeType(BarCodeType.Production.getState()) - .setMaterialCode(it.getMaterialNo()) - .setMaterialDescription(it.getMaterialDesc()) - .setPackagingType((short) 0) - .setQuantity(NumberUtil.multiply(it.getNum(), parent.getNum())) - .setUnit(it.getUnit()) - .setBatchNo(it.getBatchNo()) - .setSerialNo(it.getSernr()) - .setExtendId(it.getId()) - .setCreateUserId(UserUtil.getUserId()) - .setCreateUserName(UserUtil.getUserName()) - .setCreateTime(LocalDateTime.now()) - ).toList() - ); - } else { - qrCodeMasterService.save(new WmsQrCodeMaster() - .setBarcodeCode(KeyUtil.next()) - .setProcessStage(BarCodeProcessStage.ForStorage.getState()) - .setBarcodeType(BarCodeType.Production.getState()) - .setMaterialCode(parent.getMaterialNo()) - .setMaterialDescription(parent.getMaterialDesc()) - .setPackagingType((short) 0) - .setQuantity(parent.getNum()) - .setUnit(parent.getUnit()) - .setBatchNo(parent.getBatchNo()) - .setSerialNo(parent.getSernr()) - .setExtendId(parent.getId()) - .setCreateUserId(UserUtil.getUserId()) - .setCreateUserName(UserUtil.getUserName()) - .setCreateTime(LocalDateTime.now()) - ); +// qrCodeMasterService.saveBatch( +// items.stream().map(it -> new WmsQrCodeMaster() +// .setBarcodeCode(KeyUtil.next()) +// .setProcessStage(BarCodeProcessStage.ForStorage.getState()) +// .setBarcodeType(BarCodeType.Production.getState()) +// .setMaterialCode(it.getMaterialNo()) +// .setMaterialDescription(it.getMaterialDesc()) +// .setPackagingType((short) 0) +// .setQuantity(NumberUtil.multiply(it.getNum(), parent.getNum())) +// .setUnit(it.getUnit()) +// .setBatchNo(it.getBatchNo()) +// .setSerialNo(it.getSernr()) +// .setExtendId(it.getId()) +// .setCreateUserId(UserUtil.getUserId()) +// .setCreateUserName(UserUtil.getUserName()) +// .setCreateTime(LocalDateTime.now()) +// ).toList() +// ); } +// else { +// qrCodeMasterService.save(new WmsQrCodeMaster() +// .setBarcodeCode(KeyUtil.next()) +// .setProcessStage(BarCodeProcessStage.ForStorage.getState()) +// .setBarcodeType(BarCodeType.Production.getState()) +// .setMaterialCode(parent.getMaterialNo()) +// .setMaterialDescription(parent.getMaterialDesc()) +// .setPackagingType((short) 0) +// .setQuantity(parent.getNum()) +// .setUnit(parent.getUnit()) +// .setBatchNo(parent.getBatchNo()) +// .setSerialNo(parent.getSernr()) +// .setExtendId(parent.getId()) +// .setCreateUserId(UserUtil.getUserId()) +// .setCreateUserName(UserUtil.getUserName()) +// .setCreateTime(LocalDateTime.now()) +// ); +// } if (request.isNeedInspection()) { qmsService.pushPdiInspection(order.getOrderNo(), parent); } @@ -286,7 +287,12 @@ public class InProduceOrderController extends BaseController { if (order.getList()) { items.removeIf(it -> it.getParentId() == 0); } - List datas = convertToPrintDTO(qrCodeMasterService.getByExtendIds(items.stream().map(WmsInProduceOrderItem::getId).toList())); + BigDecimal parentNum = items.stream() + .filter(it -> it.getParentId() == 0) + .map(WmsInProduceOrderItem::getNum) + .findFirst() + .orElse(BigDecimal.ONE); + List datas = convertToPrintDTO(getQrCodesByItems(items,parentNum)); Map variables = new HashMap<>(); variables.put("list", datas); if (Objects.equals(type, 1)) { @@ -300,6 +306,32 @@ public class InProduceOrderController extends BaseController { } } + private List getQrCodesByItems(List items, BigDecimal parentNum) { + List qrCodeMasters = qrCodeMasterService.getByExtendIds(items.stream().map(WmsInProduceOrderItem::getId).toList()); + items.removeIf(it -> qrCodeMasters.stream().anyMatch(qr -> qr.getExtendId().equals(it.getId()))); + if (CollectionUtil.isNotEmpty(items)){ + List qrNew=items.stream().map(it -> new WmsQrCodeMaster() + .setBarcodeCode(KeyUtil.next()) + .setProcessStage(BarCodeProcessStage.ForStorage.getState()) + .setBarcodeType(BarCodeType.Production.getState()) + .setMaterialCode(it.getMaterialNo()) + .setMaterialDescription(it.getMaterialDesc()) + .setPackagingType((short) 0) + .setQuantity(NumberUtil.multiply(it.getNum(), parentNum)) + .setUnit(it.getUnit()) + .setBatchNo(it.getBatchNo()) + .setSerialNo(it.getSernr()) + .setExtendId(it.getId()) + .setCreateUserId(UserUtil.getUserId()) + .setCreateUserName(UserUtil.getUserName()) + .setCreateTime(LocalDateTime.now()) + ).toList(); + qrCodeMasterService.saveBatch(qrNew); + qrCodeMasters.addAll(qrNew); + } + return qrCodeMasters; + } + /** * 导出物料标签图片ZIP * @param id 订单ID @@ -314,7 +346,12 @@ public class InProduceOrderController extends BaseController { if (order.getList()) { items.removeIf(it -> it.getParentId() == 0); } - List datas = convertToPrintDTO(qrCodeMasterService.getByExtendIds(items.stream().map(WmsInProduceOrderItem::getId).toList())); + BigDecimal parentNum = items.stream() + .filter(it -> it.getParentId() == 0) + .map(WmsInProduceOrderItem::getNum) + .findFirst() + .orElse(BigDecimal.ONE); + List datas = convertToPrintDTO(getQrCodesByItems(items, parentNum)); ByteArrayOutputStream baos = new ByteArrayOutputStream(); try (ZipOutputStream zos = new ZipOutputStream(baos)) { for (QrCodeMasterPrintDTO it : datas) { diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/constant/BarCodeProcessStage.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/constant/BarCodeProcessStage.java index 70627467..25217428 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/constant/BarCodeProcessStage.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/constant/BarCodeProcessStage.java @@ -57,7 +57,7 @@ public enum BarCodeProcessStage { */ Reject((short) 11, "拒收"), /** - * 已拒收 + * 已越库 */ Cross((short) 12, "已越库"); diff --git a/nflg-wms-repository/src/main/resources/mapper/QmsIncomingInspectionTaskMapper.xml b/nflg-wms-repository/src/main/resources/mapper/QmsIncomingInspectionTaskMapper.xml index e5fefaa1..ba27a2a6 100644 --- a/nflg-wms-repository/src/main/resources/mapper/QmsIncomingInspectionTaskMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/QmsIncomingInspectionTaskMapper.xml @@ -177,7 +177,7 @@ ) - ORDER BY t.required_finish_time ASC + ORDER BY t.inspection_status,t.required_finish_time ASC - SELECT COALESCE(SUM(oai."left",0)) AS "lockedNum" + SELECT COALESCE(SUM(oai."left"),0) AS "lockedNum" FROM wms_out_assistance_item oai INNER JOIN wms_out_assistance oa ON oai.order_id=oa."id" WHERE oa.ebeln=#{ebeln} AND oai.ebelp=#{ebelp}