From 26bc0bcab86418d280cbedfd35b7cb73da6720cb Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Mon, 28 Oct 2024 12:50:52 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=81=9C=E6=9C=BA?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/station/function/MesFunctionEquDowntimeService.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionEquDowntimeService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionEquDowntimeService.java index 8822731..730744f 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionEquDowntimeService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionEquDowntimeService.java @@ -76,12 +76,6 @@ public class MesFunctionEquDowntimeService extends BaseSwsService implements IFs DdlPackBean ddlPackBeanDowntime = DdlPackBean.getDdlPackBean(organizeCode); DdlPreparedPack.getStringEqualPack(mesEquipment.getEquipmentCode(), "equipmentCode", ddlPackBeanDowntime); - if (!StringUtil.isEmpty(reason)) { - DdlPreparedPack.getStringEqualPack(reason, "reasonCode", ddlPackBeanDowntime); - } - if (!StringUtil.isEmpty(type)) { - DdlPreparedPack.getStringEqualPack(type, "reasonTypeCode", ddlPackBeanDowntime); - } DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"createDatetime"}, ddlPackBeanDowntime); MesDowntimeRecord mesDowntimeRecordDao = mesDowntimeRecordRDao.getByProperty(ddlPackBeanDowntime); if (!StringUtil.isEmpty(mesDowntimeRecordDao)) { From d924f8a73d29b123c9d074155be3c6be00c74912 Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Fri, 1 Nov 2024 14:53:03 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=85=B3=E9=97=AD=E7=9A=84=E5=8D=95?= =?UTF-8?q?=E6=8D=AE=E4=B9=9F=E9=9C=80=E8=A6=81=E6=8A=A5=E5=B7=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/busi/MesWorkOrderService.java | 34 +++++++++++++++++----- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java index 99972c0..94b2946 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java @@ -640,13 +640,13 @@ public class MesWorkOrderService implements IMesWorkOrderService { } //更新SAP计划完成数量 saveMesProductPlan(oldMesWorkOrder, false, true); - - //更新工单状态 - - if (oldMesWorkOrder.getReportedQty() >= oldMesWorkOrder.getQty()) { - oldMesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue()); - } else { - oldMesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue()); + if (StringUtil.isEmpty(productionRecord.getWorkOrderNo())) { + //更新工单状态 + if (oldMesWorkOrder.getReportedQty() >= oldMesWorkOrder.getQty()) { + oldMesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue()); + } else { + oldMesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue()); + } } LOGGER.info("工单报工后数量【{}】", oldMesWorkOrder.getReportedQty()); ConvertBean.serviceModelUpdate(oldMesWorkOrder, userName); @@ -670,7 +670,21 @@ public class MesWorkOrderService implements IMesWorkOrderService { return bom; })); for (Map.Entry> entry : map.entrySet()) { + //查询条码是否已发生过报工 MesBom mesBom = entry.getValue().get(0); + + DdlPackBean productPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(mesBom.getItemPartNo(),"itemPartNo", productPackBean); + DdlPreparedPack.getStringEqualPack(oldMesWorkOrder.getPartNo(),"reportPartNo", productPackBean); + DdlPreparedPack.getStringEqualPack(productionRecord.getProductSn(),"reportSn", productPackBean); + MesProductOffLine productOffLine = mesProductOffLineRDao.getByProperty(productPackBean); + if (productOffLine != null) { + String msg = String.format("子零件【%s】产成零件【%s】条码【%s】对应报工信息已存在", + mesBom.getItemPartNo(),oldMesWorkOrder.getPartNo(), productionRecord.getProductSn()); + LOGGER.error(msg); + throw new ImppBusiException(msg); + } + newMesProductOffLine = new MesProductOffLine(); newMesProductOffLine.setReportPartNo(oldMesWorkOrder.getPartNo()); newMesProductOffLine.setReportPartNameRdd(oldMesWorkOrder.getPartName()); @@ -689,6 +703,9 @@ public class MesWorkOrderService implements IMesWorkOrderService { newMesProductOffLine.setWorkOrderNo(oldMesWorkOrder.getWorkOrderNo()); newMesProductOffLine.setWorkOrderType(oldMesWorkOrder.getWorkOrderType()); newMesProductOffLine.setWorkCenterCode(oldMesWorkOrder.getWorkCenterCode()); + if (Objects.equals(MesExtEnumUtil.ORDER_TYPE.BTO.getValue(), oldMesWorkOrder.getWorkOrderType())) { + newMesProductOffLine.setWorkCenterCode(oldMesWorkOrder.getErpWorkCenter()); + } newMesProductOffLine.setWorkCellCode(oldMesWorkOrder.getWorkCellCode()); newMesProductOffLine.setReportType(oldMesWorkOrder.getReportType()); newMesProductOffLine.setSapWorkCenter(mesProductVersion.getWorkCenterCode()); @@ -831,8 +848,9 @@ public class MesWorkOrderService implements IMesWorkOrderService { DdlPreparedPack.getStringEqualPack(productionRecord.getWorkCenterCode(), "workCenterCode", ddlPackBean); if (!StringUtils.isEmpty(productionRecord.getWorkOrderNo())) { DdlPreparedPack.getStringEqualPack(productionRecord.getWorkOrderNo(), "workOrderNo", ddlPackBean); + } else { + DdlPreparedPack.getInPackList(list, "workOrderStatus", ddlPackBean); } - DdlPreparedPack.getInPackList(list, "workOrderStatus", ddlPackBean); DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{"modifyDatetime"}, ddlPackBean); // 新增班次逻辑 //DdlPreparedPack.