diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesInputDefectRecordService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesInputDefectRecordService.java index ae9d429..9b0accf 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesInputDefectRecordService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesInputDefectRecordService.java @@ -252,7 +252,7 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService //电子化检验 String target = configService.getCfgValue(org, "LGORT"); - DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(); + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(org); DdlPreparedPack.getStringEqualPack(model.getPartNo(), "partNo", ddlPackBean); MesProductVersion version = productVersionRepository.getByProperty(ddlPackBean); @@ -434,7 +434,7 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService if (Objects.isNull(srcLocateNo)) { srcLocateNo = configService.getCfgValue(org, "LGORT"); - DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(); + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(org); DdlPreparedPack.getStringEqualPack(model.getPartNo(), "partNo", ddlPackBean); MesProductVersion version = productVersionRepository.getByProperty(ddlPackBean); @@ -509,7 +509,7 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService if (model.getOptType() != 2) { String srcLocateNo = configService.getCfgValue(org, "LGORT"); - DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(); + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(org); DdlPreparedPack.getStringEqualPack(model.getPartNo(), "partNo", ddlPackBean); MesProductVersion version = productVersionRepository.getByProperty(ddlPackBean); @@ -877,7 +877,6 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService private List queryDefectAlarmConfigByLocationCodeList(MesPart part, Integer frontBack, List locationCodeList, List partTypeDefectCodeList, String org) { - DdlPackBean packBean = DdlPackBean.getDdlPackBean(org); DdlPreparedPack.getStringEqualPack(part.getPartNo(), "partNo", packBean); DdlPreparedPack.getStringEqualPack(part.getPartTypeCode(), "partTypeCode", packBean); @@ -1027,7 +1026,7 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService String productVersion = model.getProductVersion(); if (!StringUtils.isEmpty(productVersion)) { - DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(); + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(org); DdlPreparedPack.getStringEqualPack(partNo, "partNo", ddlPackBean); DdlPreparedPack.getStringEqualPack(workCenterCode, "workCenterCode", ddlPackBean); DdlPreparedPack.getStringEqualPack(productVersion, "productVersion", ddlPackBean); 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 881d4a8..d6fcf1b 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 @@ -538,13 +538,19 @@ public class MesWorkOrderService implements IMesWorkOrderService { throw new ImppBusiException(String.format("物料【%s】生产版本【%s】对应bom信息不存在", productionRecord.getPartNo(), mesProductVersion.getProductVersion())); } + + Map propertyMap = new HashMap<>(); + oldMesWorkOrder.setNum(oldMesWorkOrder.getNum() == null ? 1 : oldMesWorkOrder.getNum() + 1); LOGGER.info("工单报工原数量【{}】", oldMesWorkOrder.getReportedQty()); oldMesWorkOrder.setReportedQty(MathOperation.add(oldMesWorkOrder.getNum(), oldMesWorkOrder.getReportedQty())); + propertyMap.put("reportedQty", oldMesWorkOrder.getReportedQty()); if (StringUtils.isEmpty(productionRecord.getWorkOrderNo())) { oldMesWorkOrder.setCompleteQty(oldMesWorkOrder.getReportedQty()); double unCompleteQty = MathOperation.sub(oldMesWorkOrder.getQty(), oldMesWorkOrder.getReportedQty()); oldMesWorkOrder.setUnCompleteQty(unCompleteQty > 0 ? unCompleteQty : 0); + propertyMap.put(MesPcnExtConstWords.COMPLETE_QTY, oldMesWorkOrder.getCompleteQty()); + propertyMap.put(MesPcnExtConstWords.UN_COMPLETE_QTY, oldMesWorkOrder.getUnCompleteQty()); } if (StringUtil.isEmpty(productionRecord.getWorkOrderNo())) { @@ -554,6 +560,7 @@ public class MesWorkOrderService implements IMesWorkOrderService { } else { oldMesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue()); } + propertyMap.put(MesPcnExtConstWords.WORK_ORDER_STATUS, oldMesWorkOrder.getWorkOrderStatus()); } //保存数据 @@ -580,13 +587,30 @@ public class MesWorkOrderService implements IMesWorkOrderService { LOGGER.info("工单报工后数量【{}】", oldMesWorkOrder.getReportedQty()); ConvertBean.serviceModelUpdate(oldMesWorkOrder, userName); oldMesWorkOrder.setModifyDatetime((new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS")).format(new Date())); - workOrderExtService.update(oldMesWorkOrder); + propertyMap.put(MesPcnExtConstWords.MODIFY_DATE_TIME, (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS")).format(new Date())); + propertyMap.put(MesPcnExtConstWords.MODIFY_USER, userName); + + + //workOrderExtService.update(oldMesWorkOrder); + LOGGER.info("工单报工后数量【{}】", oldMesWorkOrder.getReportedQty()); //查询工作中心 DdlPackBean orderPackBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPreparedPack.getNumEqualPack(oldMesWorkOrder.getId(), "id", orderPackBean); - workOrderRepository.updateByProperties(new String[]{"systemSyncStatus"}, - new Object[]{CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()}, orderPackBean); + + String[] propertyName = new String[propertyMap.size()]; + Object[] propertyValue = new Object[propertyMap.size()]; + + Integer index = 0; + for (Map.Entry innerEntry : propertyMap.entrySet()) { + if (null == innerEntry) continue; + propertyName[index] = innerEntry.getKey(); + propertyValue[index] = innerEntry.getValue(); + index ++; + } + workOrderRepository.updateByProperties(new String[]{MesPcnExtConstWords.ID, MesPcnExtConstWords.ORGANIZE_CODE}, new Object[]{oldMesWorkOrder.getId(), oldMesWorkOrder.getOrganizeCode()}, propertyName, propertyValue); + LOGGER.info("修改工单数量完成,工单号【{}】", oldMesWorkOrder.getWorkOrderNo()); + if(!CollectionUtils.isEmpty(mesProductOffLineList)){ mesProductOffLineRDao.saveAll(mesProductOffLineList);