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 424f70c..9413beb 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 @@ -225,8 +225,10 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService if (model.isTransferFlg() && model.getSourceType() == MesExtEnumUtil.PART_INSPECTION_SOURCE_TYPE.SINGLE.getValue()) { //移库 - MesMove move = createMove(model,getDestLocateNo(model, org),configService.getCfgValue(org, "LGORT"), org, null == produceSn ? model.getWorkCenterCode() : produceSn.getWorkCenterCode()); - moveRepository.save(move); + if (model.getOptType() != 2) { + MesMove move = createMove(model, getDestLocateNo(model, org), configService.getCfgValue(org, "LGORT"), org, null == produceSn ? model.getWorkCenterCode() : produceSn.getWorkCenterCode()); + moveRepository.save(move); + } } //判断首次合格还是 多次检验最终为合格品 @@ -298,10 +300,11 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService }else{ srcLocate= configService.getCfgValue(org, "UMLGO"); } - - //移库 - MesMove move = createMove(model,srcLocate,configService.getCfgValue(org, "LGORT"), org, null == produceSn ? model.getWorkCenterCode() : produceSn.getWorkCenterCode()); - moveRepository.save(move); + if (model.getOptType() != 2) { + //移库 + MesMove move = createMove(model, srcLocate, configService.getCfgValue(org, "LGORT"), org, null == produceSn ? model.getWorkCenterCode() : produceSn.getWorkCenterCode()); + moveRepository.save(move); + } } } @@ -355,9 +358,11 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService if (Objects.isNull(srcLocateNo)) { srcLocateNo = configService.getCfgValue(org, "LGORT"); } - //移库 - MesMove move = createMove(model,srcLocateNo, configService.getCfgValue(org, "UMLGO"), org, null == produceSn ? model.getWorkCenterCode() : produceSn.getWorkCenterCode()); - moveRepository.save(move); + if (model.getOptType() != 2) { + //移库 + MesMove move = createMove(model, srcLocateNo, configService.getCfgValue(org, "UMLGO"), org, null == produceSn ? model.getWorkCenterCode() : produceSn.getWorkCenterCode()); + moveRepository.save(move); + } } else { @@ -392,6 +397,7 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService throw new ImppBusiException(String.format("【%s】位置不存在,请检查数据", defectTypeNoExitList)); } + //若是扫描条码 则判定条码可疑 if (model.getSourceType() == MesExtEnumUtil.PART_INSPECTION_SOURCE_TYPE.SINGLE.getValue()) { checkProduceSn(produceSn, model.getSn()); @@ -403,9 +409,10 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService partInspectionDetailRepository.saveAll(model.getPartInspectionDetailList()); //移库 - MesMove move = createMove(model, configService.getCfgValue(org, "LGORT"), configService.getCfgValue(org, "UMLGO"), org, null == produceSn ? model.getWorkCenterCode() : produceSn.getWorkCenterCode()); - moveRepository.save(move); - + if (model.getOptType() != 2) { + MesMove move = createMove(model, configService.getCfgValue(org, "LGORT"), configService.getCfgValue(org, "UMLGO"), org, null == produceSn ? model.getWorkCenterCode() : produceSn.getWorkCenterCode()); + moveRepository.save(move); + } } @@ -927,7 +934,10 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService if (CollectionUtils.isEmpty(produceSnList)) { MesPcnException.throwFlowException("条码不存在"); } - MesProduceSn produceSn = produceSnList.get(0); + MesProduceSn produceSn = produceSnList.stream().filter(mesProduceSn -> Objects.equals(mesProduceSn.getSnStatus(), MesExtEnumUtil.PRODUCE_SN_STATUS.SHIPPED.getValue())).findFirst().orElse(null); + if (produceSn == null) { + MesPcnException.throwFlowException("条码不存在"); + } MesProduceSnLog produceSnLog = new MesProduceSnLog(); 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 7434da2..aa04ec6 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 @@ -329,6 +329,7 @@ public class MesNcProcessingService implements IMesNcProcessingService { MesProduceSn sn = getProduceSn(model.getSn(), org); String source = configService.getCfgValue(org, "LGORT"); + String refundSource = configService.getCfgValue(org, "REFUND"); if (!StringUtils.isEmpty(model.getProductVersion())) { DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(); DdlPreparedPack.getStringEqualPack(model.getPart().getPartNo(), "partNo", ddlPackBean); @@ -360,9 +361,12 @@ public class MesNcProcessingService implements IMesNcProcessingService { model.getPartInspection().setNcStatus(MesExtEnumUtil.PART_INSPECTION_NC_STATUS.NORMAL.getValue()); ConvertBean.serviceModelUpdate(model.getPartInspection(), model.getUserName()); partInspectionRepository.save(model.getPartInspection()); - + String sourceValue = configService.getCfgValue(org, "UMLGO"); + if (model.getOptType() == 2) { + sourceValue = refundSource; + } //移库 转正常、放行:8000移至2000 - MesMove move = createMove(model, configService.getCfgValue(org, "UMLGO"), configService.getCfgValue(org, "LGORT"), org, null == sn ? workCenterCode : sn.getWorkCenterCode(), MesExtEnumUtil.MOVE_TYPE.NORMAL_MOVE); + MesMove move = createMove(model, sourceValue, configService.getCfgValue(org, "LGORT"), org, null == sn ? workCenterCode : sn.getWorkCenterCode(), MesExtEnumUtil.MOVE_TYPE.NORMAL_MOVE); ConvertBean.serviceModelInitialize(move,model.getUserName()); moveRepository.save(move); @@ -415,7 +419,12 @@ public class MesNcProcessingService implements IMesNcProcessingService { ConvertBean.serviceModelUpdate(model.getPartInspection(),model.getUserName()); partInspectionRepository.save(model.getPartInspection()); - MesMove move = createMove(model, configService.getCfgValue(org, "UMLGO"), areaCode, org, null == sn ? workCenterCode : sn.getWorkCenterCode(), MesExtEnumUtil.MOVE_TYPE.RETURN_MOVE); + String sourceValue = configService.getCfgValue(org, "UMLGO"); + if (model.getOptType() == 2) { + sourceValue = refundSource; + } + + 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); @@ -441,12 +450,21 @@ public class MesNcProcessingService implements IMesNcProcessingService { ConvertBean.serviceModelUpdate(model.getPartInspection(), model.getUserName()); partInspectionRepository.save(model.getPartInspection()); if (isOrder) { - MesMove move = createMove(model, source, configService.getCfgValue(org, "SCRAP"), org, null == sn ? workCenterCode : sn.getWorkCenterCode(), MesExtEnumUtil.MOVE_TYPE.SCRAP_MOVE); + String sourceValue = source; + if (model.getOptType() == 2) { + 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); } else { + String sourceValue = configService.getCfgValue(org, "UMLGO"); + if (model.getOptType() == 2) { + sourceValue = refundSource; + } //移库 转报废 根据责任方库区对应关系的主数据,选择哪个责任方,就移动到哪个库区(8000移至8002/8003) - MesMove move = createMove(model, configService.getCfgValue(org, "UMLGO"), areaCode, org, null == sn ? workCenterCode : sn.getWorkCenterCode(), MesExtEnumUtil.MOVE_TYPE.SCRAP_MOVE); + 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); } @@ -470,9 +488,12 @@ public class MesNcProcessingService implements IMesNcProcessingService { ConvertBean.serviceModelUpdate(model.getPartInspection(), model.getUserName()); partInspectionRepository.save(model.getPartInspection()); - + String sourceValue = configService.getCfgValue(org, "UMLGO"); + if (model.getOptType() == 2) { + sourceValue = refundSource; + } //移库 转正常、放行:8000移至2000 - MesMove move = createMove(model, configService.getCfgValue(org, "UMLGO"), configService.getCfgValue(org, "LGORT"), org, null == sn ? workCenterCode : sn.getWorkCenterCode(), MesExtEnumUtil.MOVE_TYPE.NORMAL_MOVE); + MesMove move = createMove(model, sourceValue, configService.getCfgValue(org, "LGORT"), org, null == sn ? workCenterCode : sn.getWorkCenterCode(), MesExtEnumUtil.MOVE_TYPE.NORMAL_MOVE); ConvertBean.serviceModelInitialize(move,model.getUserName()); moveRepository.save(move); diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesNcProcessingInputModel.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesNcProcessingInputModel.java index 390d34b..3ea91e5 100644 --- a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesNcProcessingInputModel.java +++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesNcProcessingInputModel.java @@ -20,6 +20,9 @@ import java.util.List; @Data public class MesNcProcessingInputModel { + @ApiParam("操作类型(1 电子化检验 2客退品 默认1)") + private Integer optType = 1; + @ApiParam("类型") private Integer type; diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesPartInspectionInputModel.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesPartInspectionInputModel.java index f35fadc..11c50ad 100644 --- a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesPartInspectionInputModel.java +++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesPartInspectionInputModel.java @@ -18,6 +18,9 @@ import java.util.List; @Data public class MesPartInspectionInputModel { + @ApiParam("操作类型(1 电子化检验 2客退品 默认1)") + private Integer optType = 1; + @ApiParam("操作人") private String userInfo;