From e24580595dca2fed9a35736c4cb8e7b879c38163 Mon Sep 17 00:00:00 2001 From: jun Date: Wed, 15 May 2024 14:30:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=A5=E5=B7=A5=E6=95=B0=E9=87=8F=E5=8D=A1?= =?UTF-8?q?=E6=8E=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apiservice/serviceimpl/base/MesWorkOrderService.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java index 78d8004..8da8999 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java @@ -284,23 +284,26 @@ public class MesWorkOrderService extends BaseMesService implements MesException.throwMesBusiException("物料【%s】生产版本【%s】对应bom信息不存在", mesWorkOrder.getPartNo(), mesProductVersion.getProductVersion()); } - //更新工单状态 + //报工类型 if(MesExtEnumUtil.REPORT_TYPE.REPORT.getValue() == mesWorkOrder.getReportType()){ mesWorkOrder.setCompleteQty(MathOperation.add(mesWorkOrder.getNum(), mesWorkOrder.getCompleteQty())); }else{ //冲销数量大于工单完成数量报错 if(mesWorkOrder.getNum() > mesWorkOrder.getCompleteQty()){ - MesException.throwMesBusiException("冲销数量【%s】大于工单完成数量【%s】", + MesException.throwMesBusiException("冲销数量【%s】大于工单完成数量【%s】,不允许冲销", mesWorkOrder.getNum(), mesWorkOrder.getCompleteQty()); } mesWorkOrder.setCompleteQty(MathOperation.sub(mesWorkOrder.getCompleteQty(),mesWorkOrder.getNum())); } - + //更新工单状态 double unCompleteQty = MathOperation.sub(mesWorkOrder.getQty(), mesWorkOrder.getCompleteQty()); mesWorkOrder.setUnCompleteQty(unCompleteQty > 0 ? unCompleteQty : 0); - if (mesWorkOrder.getCompleteQty() >= mesWorkOrder.getQty()) { + if (mesWorkOrder.getCompleteQty() > mesWorkOrder.getQty()) { + MesException.throwMesBusiException("工单报工数量【%s】大于工单数量【%s】,不允许报工", + mesWorkOrder.getCompleteQty(), mesWorkOrder.getQty()); + }else if(Objects.equals(mesWorkOrder.getCompleteQty(),mesWorkOrder.getQty())){ mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue()); - } else { + }else { mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.process.getValue()); } update(mesWorkOrder);