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 b6688a3..10f5183 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 @@ -902,10 +902,7 @@ public class MesWorkOrderService extends BaseMesService implements @Override public void doProductReport(MesWorkOrder mesWorkOrder) { - MesWorkOrder mesWorkOrderDb = baseRDao.getById(mesWorkOrder.getId()); - if (Objects.isNull(mesWorkOrderDb)) { - MesException.throwMesBusiException("工单id为【%s】工单信息不存在", mesWorkOrder.getId()); - } + MesWorkOrder mesWorkOrderDb = getMesWorkOrder(mesWorkOrder.getWorkOrderNo(),mesWorkOrder.getOrganizeCode()); //查询物料信息 MesPart mesPart = iMesPartService.getPartByPartNo(mesWorkOrderDb.getPartNo(), mesWorkOrderDb.getOrganizeCode()); //查询产线信息 @@ -967,10 +964,7 @@ public class MesWorkOrderService extends BaseMesService implements @Override public void doProductReportExt(MesWorkOrder mesWorkOrderNew) { - MesWorkOrder mesWorkOrder = baseRDao.getById(mesWorkOrderNew.getId()); - if (Objects.isNull(mesWorkOrder)) { - MesException.throwMesBusiException("工单id为【%s】工单信息不存在", mesWorkOrderNew.getId()); - } + MesWorkOrder mesWorkOrder = getMesWorkOrder(mesWorkOrderNew.getWorkOrderNo(),mesWorkOrderNew.getOrganizeCode()); //查询物料信息 MesPart mesPart = iMesPartService.getPartByPartNo(mesWorkOrder.getPartNo(), mesWorkOrder.getOrganizeCode()); if (mesWorkOrderNew.getNum() <= 0) { @@ -1000,7 +994,8 @@ public class MesWorkOrderService extends BaseMesService implements } else if (Objects.equals(mesWorkOrder.getReportedQty(), mesWorkOrder.getQty())) { mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue()); } else { - mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue()); + mesWorkOrder.setWorkOrderStatus(mesWorkOrder.getWorkOrderStatus()==MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue()? + MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue():MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue()); } mesWorkOrder.setCompleteQty(mesWorkOrder.getReportedQty()); } else { @@ -1369,6 +1364,16 @@ public class MesWorkOrderService extends BaseMesService implements return mesWorkOrderList; } + private MesWorkOrder getMesWorkOrder(String workOrderNo, String organizeCode) { + DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(workOrderNo,"workOrderNo",packBean); + MesWorkOrder mesWorkOrder = baseRDao.getByProperty(packBean); + if (Objects.isNull(mesWorkOrder)) { + MesException.throwMesBusiException("工单【%s】信息不存在", workOrderNo); + } + return mesWorkOrder; + } + private void updateMesWorkOrder(MesWorkOrder mesWorkOrder,MesExtEnumUtil.WORK_ORDER_LOG_TYPE type,double qty) { //修改工单,需要重新同步 mesWorkOrder.setSystemSyncStatus(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());