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 a3ccafe..49c20e6 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 @@ -10,6 +10,7 @@ import cn.estsh.i3plus.ext.mes.pcn.apiservice.util.MesPcnException; import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesPartInspectionInputModel; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesPartInspectionViewModel; +import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesPartModel; import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService; import cn.estsh.i3plus.platform.common.convert.ConvertBean; @@ -117,6 +118,18 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService @Autowired private MesWorkCenterPartRelationRepository workCenterPartRelationRepository; + @Autowired + private MesProductionRecordRepository productionRecordRepository; + + @Autowired + private IMesMoveRuleRepository mesMoveRuleRepository; + + @Autowired + private MesWorkOrderPartRepository workOrderPartRepository; + + @Autowired + private MesPartProdGroupRepository mesPartProdGroupRao; + @Override public MesPartInspectionViewModel queryPartInspection(MesPartInspectionInputModel inputModel, String org) { @@ -247,6 +260,50 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService if(!Objects.isNull(model.getPart())){ model.setPart(mesPartService.getMesPartSapByPartNo(model.getPart().getPartNo(), org)); } + + // 是否头零件模式 + boolean headModel = true; + if (!StringUtil.isEmpty(model.getSn())) { + // 判断是头零件还是散件 查询加工记录 + DdlPackBean productionPackBean = DdlPackBean.getDdlPackBean(org); + DdlPreparedPack.getStringEqualPack(model.getSn(), "productSn", productionPackBean); + DdlPreparedPack.getNumNOEqualPack(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_30.getValue(), "reportStatus", productionPackBean); + DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.MES_REPORT_TYPE.CUSTOMER_SUPPLY_MOVE.getValue(), "reportType", productionPackBean); + MesProductionRecord record = productionRecordRepository.getByProperty(productionPackBean); + if (record != null) { + headModel = false; + } + } + // 如果是散件模式,需要查询出对应明细 + List mesPartModels = new ArrayList<>(); + if (!headModel) { + DdlPackBean partPackBean = DdlPackBean.getDdlPackBean(org); + DdlPreparedPack.getStringEqualPack(model.getSn(), "workOrderNo", partPackBean); + List workOrderParts = workOrderPartRepository.findByHqlWhere(partPackBean); + if (!CollectionUtils.isEmpty(workOrderParts)) { + DdlPackBean partProdBean = DdlPackBean.getDdlPackBean(org); + DdlPreparedPack.getStringEqualPack(produceSn.getWorkCenterCode(), "workCenterCode", partProdBean); + List mesPartProdGroupList = mesPartProdGroupRao.findByHqlTopWhere(partProdBean, 1); + for (MesWorkOrderPart workOrderPart : workOrderParts) { + MesPart partInfo = mesPartService.getMesPartByPartNo(workOrderPart.getPartNo(), org); + String esd = partInfo.getEsd(); + + // 查询移库规则 + DdlPackBean movePackBean = DdlPackBean.getDdlPackBean(org); + DdlPreparedPack.getStringEqualPack(esd, "srcType", movePackBean); + DdlPreparedPack.getStringEqualPack(mesPartProdGroupList.get(0).getPartProdGroupCode(), "code", movePackBean); + List moveRules = mesMoveRuleRepository.findByHqlWhere(movePackBean); + if (!CollectionUtils.isEmpty(moveRules)) { + MesPartModel mesPartModel = new MesPartModel(); + mesPartModel.setPartNo(workOrderPart.getPartNo()); + mesPartModel.setLocateNo(moveRules.get(0).getErpDestLocateNo()); + mesPartModels.add(mesPartModel); + } + } + } + } + + //零件检测详情为空,则代表本次校验为合格。 if (CollectionUtils.isEmpty(model.getPartInspectionDetailList())) { MesPartInspection partInspection = null; @@ -347,9 +404,19 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService srcLocate= configService.getCfgValue(org, "UMLGO"); } if (model.getOptType() != 2) { - //移库 - MesMove move = createMove(model, srcLocate, configService.getCfgValue(org, "LGORT"), org, null == produceSn ? model.getWorkCenterCode() : produceSn.getWorkCenterCode()); - moveRepository.save(move); + + if (!headModel && !CollectionUtils.isEmpty(mesPartModels) && mesPartModels.size() > 0) { + for (MesPartModel mesPartModel : mesPartModels) { + //移库 + MesMove move = createMove(model, srcLocate, mesPartModel.getLocateNo(), org, null == produceSn ? model.getWorkCenterCode() : produceSn.getWorkCenterCode(),mesPartModel.getPartNo()); + moveRepository.save(move); + } + } else if (headModel) { + //移库 + MesMove move = createMove(model, srcLocate, configService.getCfgValue(org, "LGORT"), org, null == produceSn ? model.getWorkCenterCode() : produceSn.getWorkCenterCode()); + moveRepository.save(move); + } + } } } @@ -368,9 +435,15 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService if (partInspection != null) { model.setPartInspection(partInspection); } - MesMove move = createMove(model, getDestLocateNo(model, org), target, org, null == produceSn ? model.getWorkCenterCode() : produceSn.getWorkCenterCode()); - moveRepository.save(move); - + if (!headModel && !CollectionUtils.isEmpty(mesPartModels) && mesPartModels.size() > 0) { + for (MesPartModel mesPartModel : mesPartModels) { + MesMove move = createMove(model, getDestLocateNo(model, org), mesPartModel.getLocateNo(), org, null == produceSn ? model.getWorkCenterCode() : produceSn.getWorkCenterCode(), mesPartModel.getPartNo()); + moveRepository.save(move); + } + } else if (headModel) { + MesMove move = createMove(model, getDestLocateNo(model, org), target, org, null == produceSn ? model.getWorkCenterCode() : produceSn.getWorkCenterCode()); + moveRepository.save(move); + } } } else { //零件检测详情不为空,则代表本次校验为不合格。 @@ -490,8 +563,16 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService return; } } - MesMove move = createMove(model, srcLocateNo, dest, org, null == produceSn ? model.getWorkCenterCode() : produceSn.getWorkCenterCode()); - moveRepository.save(move); + if (!headModel && !CollectionUtils.isEmpty(mesPartModels) && mesPartModels.size() > 0) { + for (MesPartModel mesPartModel : mesPartModels) { + MesMove move = createMove(model, mesPartModel.getLocateNo(), dest, org, null == produceSn ? model.getWorkCenterCode() : produceSn.getWorkCenterCode(),mesPartModel.getPartNo()); + moveRepository.save(move); + } + } else if (headModel) { + MesMove move = createMove(model, srcLocateNo, dest, org, null == produceSn ? model.getWorkCenterCode() : produceSn.getWorkCenterCode()); + moveRepository.save(move); + } + } } else { @@ -581,8 +662,17 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService return; } } - MesMove move = createMove(model, srcLocateNo, dest, org, null == produceSn ? model.getWorkCenterCode() : produceSn.getWorkCenterCode()); - moveRepository.save(move); + if (!headModel && !CollectionUtils.isEmpty(mesPartModels) && mesPartModels.size() > 0) { + for (MesPartModel mesPartModel : mesPartModels) { + //移库 + MesMove move = createMove(model, mesPartModel.getLocateNo(), dest, org, null == produceSn ? model.getWorkCenterCode() : produceSn.getWorkCenterCode(),mesPartModel.getPartNo()); + moveRepository.save(move); + } + } else if (headModel) { + MesMove move = createMove(model, srcLocateNo, dest, org, null == produceSn ? model.getWorkCenterCode() : produceSn.getWorkCenterCode()); + moveRepository.save(move); + } + } } @@ -878,6 +968,43 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService return move; } + /** + * 移库 + * + * @param model + * @param source 来源 + * @param target 目标 + * @param org + * @return + */ + private MesMove createMove(MesPartInspectionInputModel model, String source, String target, String org, String workCenterCode, String partNo) { + if (StringUtils.isEmpty(model.getUserInfo())) model.setUserInfo("系统"); + GenSerialNoModel serialNoModel = new GenSerialNoModel("INPUT_DEFECT_ZRSUM"); + serialNoModel.setPartNo(partNo); + ResultBean rb = syncFuncService.syncSerialNo(serialNoModel, model.getUserInfo(), org, 1); + String zrsum = ""; + if (null != rb && !CollectionUtils.isEmpty(rb.getResultList())) { + zrsum = (rb.getResultList().get(0)).toString(); + } + + MesMove move = new MesMove(); + move.setMatnr(partNo); + move.setOrganizeCode(org); + move.setFactoryCode(org); + move.setLgort(source); + move.setUmlgo(target); + move.setMenge(model.getQty()); + move.setMeins(model.getPart().getUnit()); + move.setZrsum(zrsum); + move.setPostDate(TimeTool.getToday()); + move.setPostTime(TimeTool.getTimeShortWithColon()); + move.setPartInspectionId(Objects.isNull(model.getPartInspection()) ? 0 : model.getPartInspection().getId()); + move.setMoveType(MesExtEnumUtil.MOVE_TYPE.SUSPICIOUS_MOVE.getValue()); + move.setProductSn(model.getSn()); + move.setWorkCenter(prodOrgExtService.getErpWorkCenterCode(org, workCenterCode)); + ConvertBean.serviceModelInitialize(move, model.getUserInfo()); + return move; + } private MesPart checkPart(MesProduceSn produceSn, String org) { DdlPackBean packBean = DdlPackBean.getDdlPackBean(org); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesNcProcessingService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesNcProcessingService.java index 624991e..60e8156 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesNcProcessingService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesNcProcessingService.java @@ -2,14 +2,12 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi; import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesPartService; import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesProdOrgExtService; -import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesConfigService; -import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesNcProcessingService; -import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProduceSnExtService; -import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesWorkOrderExtService; +import cn.estsh.i3plus.ext.mes.pcn.api.busi.*; import cn.estsh.i3plus.ext.mes.pcn.apiservice.dao.IMesNcProcessingDao; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesNcProcessingInputModel; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesNcProcessingModel; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesNcProcessingPartAndLotModel; +import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesPartModel; import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService; import cn.estsh.i3plus.platform.common.convert.ConvertBean; @@ -115,7 +113,20 @@ public class MesNcProcessingService implements IMesNcProcessingService { private MesWorkOrderRepository workOrderRepository; @Autowired + private MesWorkOrderPartRepository workOrderPartRepository; + + @Autowired + private MesPartProdGroupRepository mesPartProdGroupRao; + + @Autowired + private MesProductionRecordRepository productionRecordRepository; + + @Autowired private IMesPartService mesPartService; + + @Autowired + private IMesMoveRuleRepository mesMoveRuleRepository; + @Override public ListPager queryPartInspectionByPager(MesPartInspection partInspection, Pager pager) { @@ -351,7 +362,48 @@ public class MesNcProcessingService implements IMesNcProcessingService { isWorkOrderQcStatus= centerDb.getCenterType() == MesExtEnumUtil.WORK_CENTER_TYPE.SORT.getValue(); } } + // 是否头零件模式 + boolean headModel = true; + if (!StringUtil.isEmpty(model.getSn())) { + // 判断是头零件还是散件 查询加工记录 + DdlPackBean productionPackBean = DdlPackBean.getDdlPackBean(org); + DdlPreparedPack.getStringEqualPack(model.getSn(), "productSn", productionPackBean); + DdlPreparedPack.getNumNOEqualPack(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_30.getValue(), "reportStatus", productionPackBean); + DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.MES_REPORT_TYPE.CUSTOMER_SUPPLY_MOVE.getValue(), "reportType", productionPackBean); + MesProductionRecord record = productionRecordRepository.getByProperty(productionPackBean); + if (record != null) { + headModel = false; + } + } + // 如果是散件模式,需要查询出对应明细 + List mesPartModels = new ArrayList<>(); + if (!headModel) { + DdlPackBean partPackBean = DdlPackBean.getDdlPackBean(org); + DdlPreparedPack.getStringEqualPack(model.getSn(), "workOrderNo", partPackBean); + List workOrderParts = workOrderPartRepository.findByHqlWhere(partPackBean); + if (!CollectionUtils.isEmpty(workOrderParts)) { + DdlPackBean partProdBean = DdlPackBean.getDdlPackBean(org); + DdlPreparedPack.getStringEqualPack(sn.getWorkCenterCode(), "workCenterCode", partProdBean); + List mesPartProdGroupList = mesPartProdGroupRao.findByHqlTopWhere(partProdBean, 1); + for (MesWorkOrderPart workOrderPart : workOrderParts) { + MesPart partInfo = mesPartService.getMesPartByPartNo(workOrderPart.getPartNo(), org); + String esd = partInfo.getEsd(); + + // 查询移库规则 + DdlPackBean movePackBean = DdlPackBean.getDdlPackBean(org); + DdlPreparedPack.getStringEqualPack(esd, "srcType", movePackBean); + DdlPreparedPack.getStringEqualPack(mesPartProdGroupList.get(0).getPartProdGroupCode(), "code", movePackBean); + List moveRules = mesMoveRuleRepository.findByHqlWhere(movePackBean); + if (!CollectionUtils.isEmpty(moveRules)) { + MesPartModel mesPartModel = new MesPartModel(); + mesPartModel.setPartNo(workOrderPart.getPartNo()); + mesPartModel.setLocateNo(moveRules.get(0).getErpDestLocateNo()); + mesPartModels.add(mesPartModel); + } + } + } + } String source = configService.getCfgValue(org, "LGORT"); String refundSource = configService.getCfgValue(org, "REFUND"); if (!StringUtils.isEmpty(model.getProductVersion())) { @@ -411,10 +463,21 @@ public class MesNcProcessingService implements IMesNcProcessingService { target = version.getReceiveInventoryPoint(); } - //移库 转正常、放行:8000移至2000 - MesMove move = createMove(model, sourceValue, target, org, null == sn ? workCenterCode : sn.getWorkCenterCode(), MesExtEnumUtil.MOVE_TYPE.NORMAL_MOVE); - ConvertBean.serviceModelInitialize(move,model.getUserName()); - moveRepository.save(move); + + + if (!headModel && !CollectionUtils.isEmpty(mesPartModels) && mesPartModels.size() > 0) { + for (MesPartModel mesPartModel : mesPartModels) { + //移库 转正常、放行:8000移至2000 + MesMove move = createMove(model, sourceValue, mesPartModel.getLocateNo(), org, null == sn ? workCenterCode : sn.getWorkCenterCode(), MesExtEnumUtil.MOVE_TYPE.NORMAL_MOVE, mesPartModel.getPartNo()); + ConvertBean.serviceModelInitialize(move, model.getUserName()); + moveRepository.save(move); + } + } else if (headModel) { + //移库 转正常、放行:8000移至2000 + MesMove move = createMove(model, sourceValue, target, org, null == sn ? workCenterCode : sn.getWorkCenterCode(), MesExtEnumUtil.MOVE_TYPE.NORMAL_MOVE); + ConvertBean.serviceModelInitialize(move, model.getUserName()); + moveRepository.save(move); + } } else if (type == MesExtEnumUtil.NC_TYPE.REWORK.getValue()) { @@ -471,11 +534,19 @@ public class MesNcProcessingService implements IMesNcProcessingService { } partInspectionRepository.save(model.getPartInspection()); - - - MesMove move = createMove(model, sourceValue, areaCode, org, null == sn ? workCenterCode : sn.getWorkCenterCode(), MesExtEnumUtil.MOVE_TYPE.RETURN_MOVE); - ConvertBean.serviceModelInitialize(move,model.getUserName()); - moveRepository.save(move); + if (!headModel) { + if (!CollectionUtils.isEmpty(mesPartModels) && mesPartModels.size() > 0) { + for (MesPartModel mesPartModel : mesPartModels) { + MesMove move = createMove(model, sourceValue, areaCode, org, null == sn ? workCenterCode : sn.getWorkCenterCode(), MesExtEnumUtil.MOVE_TYPE.RETURN_MOVE, mesPartModel.getPartNo()); + ConvertBean.serviceModelInitialize(move, model.getUserName()); + moveRepository.save(move); + } + } + } else { + MesMove move = createMove(model, sourceValue, areaCode, org, null == sn ? workCenterCode : sn.getWorkCenterCode(), MesExtEnumUtil.MOVE_TYPE.RETURN_MOVE); + ConvertBean.serviceModelInitialize(move, model.getUserName()); + moveRepository.save(move); + } } else if (type == MesExtEnumUtil.NC_TYPE.SCRAP.getValue()) { //批次不需要校验条码 @@ -518,18 +589,40 @@ public class MesNcProcessingService implements IMesNcProcessingService { sourceValue = refundSource; } - MesMove move = createMove(model, sourceValue, configService.getCfgValue(org, "SCRAP"), org, null == sn ? workCenterCode : sn.getWorkCenterCode(), MesExtEnumUtil.MOVE_TYPE.SCRAP_MOVE); - ConvertBean.serviceModelInitialize(move,model.getUserName()); - moveRepository.save(move); + if (!headModel) { + if (!CollectionUtils.isEmpty(mesPartModels) && mesPartModels.size() > 0) { + for (MesPartModel mesPartModel : mesPartModels) { + MesMove move = createMove(model, sourceValue, configService.getCfgValue(org, "SCRAP"), org, null == sn ? workCenterCode : sn.getWorkCenterCode(), MesExtEnumUtil.MOVE_TYPE.SCRAP_MOVE,mesPartModel.getPartNo()); + ConvertBean.serviceModelInitialize(move,model.getUserName()); + moveRepository.save(move); + } + } + } else { + MesMove move = createMove(model, sourceValue, configService.getCfgValue(org, "SCRAP"), org, null == sn ? workCenterCode : sn.getWorkCenterCode(), MesExtEnumUtil.MOVE_TYPE.SCRAP_MOVE); + ConvertBean.serviceModelInitialize(move,model.getUserName()); + moveRepository.save(move); + } + } else { String sourceValue = configService.getCfgValue(org, "UMLGO"); if (model.getOptType() == 2) { sourceValue = refundSource; } - //移库 转报废 根据责任方库区对应关系的主数据,选择哪个责任方,就移动到哪个库区(8000移至8002/8003) - MesMove move = createMove(model, sourceValue, areaCode, org, null == sn ? workCenterCode : sn.getWorkCenterCode(), MesExtEnumUtil.MOVE_TYPE.SCRAP_MOVE); - ConvertBean.serviceModelInitialize(move,model.getUserName()); - moveRepository.save(move); + if (!headModel) { + if (!CollectionUtils.isEmpty(mesPartModels) && mesPartModels.size() > 0) { + for (MesPartModel mesPartModel : mesPartModels) { + //移库 转报废 根据责任方库区对应关系的主数据,选择哪个责任方,就移动到哪个库区(8000移至8002/8003) + MesMove move = createMove(model, sourceValue, areaCode, org, null == sn ? workCenterCode : sn.getWorkCenterCode(), MesExtEnumUtil.MOVE_TYPE.SCRAP_MOVE, mesPartModel.getPartNo()); + ConvertBean.serviceModelInitialize(move,model.getUserName()); + moveRepository.save(move); + } + } + } else { + //移库 转报废 根据责任方库区对应关系的主数据,选择哪个责任方,就移动到哪个库区(8000移至8002/8003) + MesMove move = createMove(model, sourceValue, areaCode, org, null == sn ? workCenterCode : sn.getWorkCenterCode(), MesExtEnumUtil.MOVE_TYPE.SCRAP_MOVE); + ConvertBean.serviceModelInitialize(move,model.getUserName()); + moveRepository.save(move); + } } } else if (type == MesExtEnumUtil.NC_TYPE.RELEASE.getValue()) { @@ -576,13 +669,20 @@ public class MesNcProcessingService implements IMesNcProcessingService { target = version.getReceiveInventoryPoint(); } - //移库 转正常、放行:8000移至2000 - MesMove move = createMove(model, sourceValue, target, org, null == sn ? workCenterCode : sn.getWorkCenterCode(), MesExtEnumUtil.MOVE_TYPE.NORMAL_MOVE); - ConvertBean.serviceModelInitialize(move,model.getUserName()); - moveRepository.save(move); - + if (!headModel && !CollectionUtils.isEmpty(mesPartModels) && mesPartModels.size() > 0) { + for (MesPartModel mesPartModel : mesPartModels) { + //移库 转正常、放行:8000移至2000 + MesMove move = createMove(model, sourceValue, mesPartModel.getLocateNo(), org, null == sn ? workCenterCode : sn.getWorkCenterCode(), MesExtEnumUtil.MOVE_TYPE.NORMAL_MOVE, mesPartModel.getPartNo()); + ConvertBean.serviceModelInitialize(move, model.getUserName()); + moveRepository.save(move); + } + } else if (headModel) { + //移库 转正常、放行:8000移至2000 + MesMove move = createMove(model, sourceValue, target, org, null == sn ? workCenterCode : sn.getWorkCenterCode(), MesExtEnumUtil.MOVE_TYPE.NORMAL_MOVE); + ConvertBean.serviceModelInitialize(move, model.getUserName()); + moveRepository.save(move); + } } - } public MesWorkOrder getWorkOrder(String organizeCode, String workOrderNo) { if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(workOrderNo)) return null; @@ -674,4 +774,31 @@ public class MesNcProcessingService implements IMesNcProcessingService { move.setWorkCenter(prodOrgExtService.getErpWorkCenterCode(org, workCenterCode)); return move; } + + private MesMove createMove(MesNcProcessingInputModel model, String source, String target, String org, String workCenterCode, MesExtEnumUtil.MOVE_TYPE moveType, String partNo) { + GenSerialNoModel serialNoModel = new GenSerialNoModel("INPUT_DEFECT_ZRSUM"); + serialNoModel.setPartNo(partNo); + ResultBean rb = syncFuncService.syncSerialNo(serialNoModel, model.getPartInspection().getModifyUser(), org, 1); + String zrsum = ""; + if (null != rb && !CollectionUtils.isEmpty(rb.getResultList())) { + zrsum = (rb.getResultList().get(0)).toString(); + } + + MesMove move = new MesMove(); + move.setMatnr(partNo); + move.setOrganizeCode(org); + move.setFactoryCode(org); + move.setLgort(source); + move.setUmlgo(target); + move.setMenge(model.getPartInspection().getQty()); + move.setMeins(model.getPart().getUnit()); + move.setZrsum(zrsum); + move.setPostDate(TimeTool.getToday()); + move.setPostTime(TimeTool.getTimeShortWithColon()); + move.setMoveType(moveType.getValue()); + move.setPartInspectionId(model.getPartInspection().getId()); + move.setProductSn(model.getSn()); + move.setWorkCenter(prodOrgExtService.getErpWorkCenterCode(org, workCenterCode)); + return move; + } } diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesPartModel.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesPartModel.java new file mode 100644 index 0000000..ae847db --- /dev/null +++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesPartModel.java @@ -0,0 +1,11 @@ +package cn.estsh.i3plus.ext.mes.pcn.pojo.model; + +import lombok.Data; + +@Data +public class MesPartModel { + + private String partNo; + + private String locateNo; +}