diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MesCreateWorkOrderImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MesCreateWorkOrderImpl.java index 5c5b64c..39b049c 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MesCreateWorkOrderImpl.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MesCreateWorkOrderImpl.java @@ -89,6 +89,16 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder { @Transactional(propagation = Propagation.REQUIRES_NEW) public void createWorkOrder(MesPartProdGroup partProdGroup, MesPartProdGroupDetail mesPartProdGroupDetail, MesPartSap partSap, MesCustSortInfo sortInfo) { + //判断vin是否已经生成了S单,如果已经生成S单 则不再生成工单 + String vinCode = sortInfo.getVinCode(); + DdlPackBean existPackBean = DdlPackBean.getDdlPackBean(sortInfo.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(vinCode,"vin",existPackBean); + DdlPreparedPack.getStringEqualPack(MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.S.getValue(),"orderFlag",existPackBean); + int count = mesWorkOrderRao.findByHqlWhereCount(existPackBean); + if (count > 0) { + sortInfo.setDescription("当前vin号已存在S单!"); + return; + } String organizeCode = partProdGroup.getOrganizeCode(); MesWorkOrder mesWorkOrder = new MesWorkOrder(); mesWorkOrder.setCustCode(partProdGroup.getCustCode()); @@ -156,7 +166,7 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder { mesWorkOrder.setShiftCode(shift.getShiftCode()); } }else { - if (shiftTime <= startTime || shiftTime < endTime) { + if (shiftTime >= startTime || shiftTime < endTime) { mesWorkOrder.setShiftName(shift.getShiftName()); mesWorkOrder.setShiftCode(shift.getShiftCode()); } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MesEarlyWarningServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MesEarlyWarningServiceImpl.java index 8b5ad08..b412ad8 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MesEarlyWarningServiceImpl.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MesEarlyWarningServiceImpl.java @@ -384,7 +384,7 @@ public class MesEarlyWarningServiceImpl implements IMesEarlyWarningService { long summaryRealSupplyRealCount; String custOrderNo = workOrder.getCustOrderNo(); if(custOrderNo.length() >= 10){ - summaryRealSupplyRealCount = Long.parseLong(infoDD.getCsnNo().substring(3, 10)) - Long.parseLong(workOrder.getCustOrderNo().substring(workOrderLast.getCustOrderNo().length() - 7)) - kanBan.getOnlineAdjustNum(); + summaryRealSupplyRealCount = Long.parseLong(infoDD.getCsnNo().substring(3, 10)) - Long.parseLong(workOrder.getCustOrderNo().substring(workOrder.getCustOrderNo().length() - 7)) - kanBan.getOnlineAdjustNum(); }else { summaryRealSupplyRealCount = Long.parseLong(infoDD.getCsnNo().substring(infoDD.getCsnNo().length() - 5))- Long.parseLong(workOrder.getCustOrderNo().substring(workOrderLast.getCustOrderNo().length() - 7)) - kanBan.getOnlineAdjustNum(); } @@ -407,6 +407,9 @@ public class MesEarlyWarningServiceImpl implements IMesEarlyWarningService { realProductionBuffer = Long.parseLong(workOrderLast.getCustOrderNo().substring(workOrderLast.getCustOrderNo().length() - 5)) - Long.parseLong(infoKH.getCsnNo().substring(infoKH.getCsnNo().length()-5)) - kanBan.getOnlineToShippingAdjustNum(); } + if(realProductionBuffer <0){ + realProductionBuffer = 0L; + } mesKanBanShowModel.setRealProductionBuffer(realProductionBuffer); Long productionYellowBuffer = kanBan.getProductionYellowBuffer(); if (realProductionBuffer < productionRedBuffer){