From 0aafab31c89f6a04e08be866d584e3f6a44871b3 Mon Sep 17 00:00:00 2001 From: gsz Date: Tue, 24 Sep 2024 15:55:14 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=8E=92=E5=BA=8F=E7=94=B5=E5=AD=90?= =?UTF-8?q?=E5=8C=96=E6=A3=80=E9=AA=8C=E6=94=AF=E6=8C=81=E5=8A=A0=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=E6=89=AB=E6=8F=8F=E6=88=96=E8=80=85=E5=8A=A0=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=E5=AE=A2=E6=88=B7=E6=9D=A1=E7=A0=811?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../busi/MesInputDefectRecordService.java | 81 ++++++++++++++++++++-- .../serviceimpl/busi/MesNcProcessingService.java | 58 +++++++++++++++- .../serviceimpl/busi/MesWorkCenterService.java | 5 ++ .../pcn/pojo/model/MesNcProcessingInputModel.java | 3 + .../pojo/model/MesPartInspectionInputModel.java | 3 + 5 files changed, 142 insertions(+), 8 deletions(-) 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..1df69f9 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 @@ -4,18 +4,22 @@ 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.IMesInputDefectRecordService; 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.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.util.MesPcnExtConstWords; import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService; import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.platform.common.tool.TimeTool; +import cn.estsh.i3plus.pojo.base.bean.BaseBean; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.MesEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.base.util.StringUtil; import cn.estsh.i3plus.pojo.mes.bean.*; import cn.estsh.i3plus.pojo.mes.bean.nc.MesPartInspection; import cn.estsh.i3plus.pojo.mes.bean.nc.MesPartInspectionDetail; @@ -103,6 +107,10 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService @Autowired private MesProduceSnLogRepository produceSnLogRepository; + @Autowired + private MesWorkOrderRepository workOrderRepository; + @Autowired + private IMesWorkOrderExtService workOrderExtService; @Override public MesPartInspectionViewModel queryPartInspection(MesPartInspectionInputModel inputModel, String org) { @@ -118,7 +126,7 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService MesProduceSn produceSn = checkProduceSn(inputModel.getSn(), org); //获取NC-零件检测-单据 - partInspection = getPartInspection(inputModel, org); + partInspection = getPartInspection(produceSn,inputModel, org); //检查物料 part = checkPart(produceSn, org); @@ -214,6 +222,17 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService public void savePartInspection(MesPartInspectionInputModel model, String org) { MesProduceSn produceSn = getProduceSn(model.getSn(), org); + //武汉 会输入客户条码 + boolean isWorkOrderQcStatus=false; + if (!StringUtil.isEmpty(produceSn)){ + model.setCustSn(produceSn.getCustSn()); + model.setSn(produceSn.getProductSn()); + //排序产线 更新工单的 qcStatus + MesWorkCenter centerDb = prodOrgExtService.getWorkCenterDb(org, produceSn.getWorkCenterCode()); + if (!StringUtil.isEmpty(centerDb)){ + isWorkOrderQcStatus= centerDb.getCenterType() == MesExtEnumUtil.WORK_CENTER_TYPE.SORT.getValue(); + } + } if(!StringUtils.isEmpty(model.getPartInspection())){ model.getPartInspection().setQmsSync(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); @@ -242,6 +261,15 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService produceSn.setQcStatus(MesExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getValue()); ConvertBean.serviceModelInitialize(produceSn, AuthUtil.getSessionUser().getUserName()); produceSnExtService.update(produceSn); + //更新工单对应qcStatus + if(isWorkOrderQcStatus){ + MesWorkOrder workOrder = getWorkOrder(org,produceSn.getWorkOrderNo()); + if (!StringUtil.isEmpty(workOrder)){ + workOrder.setQcStatus(MesExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getValue()); + ConvertBean.serviceModelUpdate(produceSn, AuthUtil.getSessionUser().getUserName()); + workOrderRepository.update(workOrder); + } + } } @@ -289,6 +317,15 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService produceSn.setQcStatus(MesExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getValue()); ConvertBean.serviceModelInitialize(produceSn, AuthUtil.getSessionUser().getUserName()); produceSnExtService.update(produceSn); + //更新工单对应qcStatus + if(isWorkOrderQcStatus){ + MesWorkOrder workOrder = getWorkOrder(org,produceSn.getWorkOrderNo()); + if (!StringUtil.isEmpty(workOrder)){ + workOrder.setQcStatus(MesExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getValue()); + ConvertBean.serviceModelUpdate(produceSn, AuthUtil.getSessionUser().getUserName()); + workOrderRepository.update(workOrder); + } + } } //移库 String srcLocate; @@ -349,6 +386,15 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService produceSn.setQcStatus(MesExtEnumUtil.PRODUCE_QC_STATUS.SUSPICIOUS.getValue()); ConvertBean.serviceModelInitialize(produceSn, AuthUtil.getSessionUser().getUserName()); produceSnExtService.update(produceSn); + //更新工单对应qcStatus + if(isWorkOrderQcStatus){ + MesWorkOrder workOrder = getWorkOrder(org,produceSn.getWorkOrderNo()); + if (!StringUtil.isEmpty(workOrder)){ + workOrder.setQcStatus(MesExtEnumUtil.PRODUCE_QC_STATUS.SUSPICIOUS.getValue()); + ConvertBean.serviceModelUpdate(produceSn, AuthUtil.getSessionUser().getUserName()); + workOrderRepository.update(workOrder); + } + } //查询条码所在库位 srcLocateNo = getDestLocateNo(model, org); } @@ -398,6 +444,15 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService produceSn.setQcStatus(MesExtEnumUtil.PRODUCE_QC_STATUS.SUSPICIOUS.getValue()); ConvertBean.serviceModelInitialize(produceSn, AuthUtil.getSessionUser().getUserName()); produceSnExtService.update(produceSn); + //更新工单对应qcStatus + if(isWorkOrderQcStatus){ + MesWorkOrder workOrder = getWorkOrder(org,produceSn.getWorkOrderNo()); + if (!StringUtil.isEmpty(workOrder)){ + workOrder.setQcStatus(MesExtEnumUtil.PRODUCE_QC_STATUS.SUSPICIOUS.getValue()); + ConvertBean.serviceModelUpdate(produceSn, AuthUtil.getSessionUser().getUserName()); + workOrderRepository.update(workOrder); + } + } } partInspectionDetailRepository.saveAll(resultDetailList); partInspectionDetailRepository.saveAll(model.getPartInspectionDetailList()); @@ -411,7 +466,12 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService } } - + public MesWorkOrder getWorkOrder(String organizeCode, String workOrderNo) { + if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(workOrderNo)) return null; + return workOrderRepository.getByProperty( + new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.WORK_ORDER_NO}, + new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), workOrderNo}); + } private String getDestLocateNo(MesPartInspectionInputModel model, String org) { DdlPackBean packBean = DdlPackBean.getDdlPackBean(org); DdlPreparedPack.getStringEqualPack(model.getSn(), "productSn", packBean); @@ -434,11 +494,11 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService * @param org * @return */ - private MesPartInspection getPartInspection(MesPartInspectionInputModel inputModel, String org) { + private MesPartInspection getPartInspection(MesProduceSn produceSn,MesPartInspectionInputModel inputModel, String org) { //根据条码找最近一条单据 DdlPackBean packBean = DdlPackBean.getDdlPackBean(org); - DdlPreparedPack.getStringEqualPack(inputModel.getSn(), "sn", packBean); + DdlPreparedPack.getStringEqualPack(produceSn.getProductSn(), "sn", packBean); DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"createDatetime"}, packBean); MesPartInspection partInspection = partInspectionRepository.getByProperty(packBean); @@ -563,7 +623,11 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService //若不存在则提示条码不存在 if (StringUtils.isEmpty(produceSn)) { - throw new ImppBusiException(String.format("【%s】此条码不存在,请检查数据", serialNumber)); + //再查一下排序查产线 + produceSn = (MesProduceSn) workOrderExtService.getWorkOrderSort(org, serialNumber, false); + if (StringUtils.isEmpty(produceSn)) { + throw new ImppBusiException(String.format("【%s】此条码不存在,请检查数据", serialNumber)); + } } //根据条码状态判断 是不是已下线条码 @@ -582,7 +646,11 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService DdlPackBean packBean = DdlPackBean.getDdlPackBean(org); DdlPreparedPack.getStringEqualPack(serialNumber, "productSn", packBean); DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"createDatetime"}, packBean); - return produceSnRepository.getByProperty(packBean); + MesProduceSn produceSn =produceSnRepository.getByProperty(packBean); + if (StringUtil.isEmpty(produceSn)){ + produceSn = (MesProduceSn) workOrderExtService.getWorkOrderSort(org, serialNumber, false); + } + return produceSn; } private MesProduceSn checkProduceSn(MesProduceSn produceSn, String serialNumber) { @@ -619,6 +687,7 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService partInspection.setInspectionStatus(inspectionStatus); partInspection.setNcStatus(MesExtEnumUtil.PART_INSPECTION_NC_STATUS.CREATE.getValue()); partInspection.setSn(model.getSn()); + partInspection.setCustSn(StringUtil.isEmpty(model.getCustSn())?"":model.getCustSn()); partInspection.setLotNo(model.getLotNo()); partInspection.setQty(model.getQty().intValue()); partInspection.setWorkCenterCode(model.getWorkCenterCode()); 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..2edbb69 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 @@ -4,6 +4,7 @@ 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.apiservice.dao.IMesNcProcessingDao; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesNcProcessingInputModel; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesNcProcessingModel; @@ -105,6 +106,12 @@ public class MesNcProcessingService implements IMesNcProcessingService { @Autowired private IMesProduceSnExtService produceSnExtService; + + @Autowired + private IMesWorkOrderExtService workOrderExtService; + + @Autowired + private MesWorkOrderRepository workOrderRepository; @Override public ListPager queryPartInspectionByPager(MesPartInspection partInspection, Pager pager) { @@ -327,6 +334,17 @@ public class MesNcProcessingService implements IMesNcProcessingService { assert model.getPartInspection() != null; model.getPartInspection().setQmsSync(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); MesProduceSn sn = getProduceSn(model.getSn(), org); + //武汉 会输入客户条码 todo 更新工单对应qcStatus + boolean isWorkOrderQcStatus=false; + if (!StringUtil.isEmpty(sn)){ + model.setCustSn(sn.getCustSn()); + model.setSn(sn.getProductSn()); + //排序产线 更新工单的 qcStatus + MesWorkCenter centerDb = prodOrgExtService.getWorkCenterDb(org, sn.getWorkCenterCode()); + if (!StringUtil.isEmpty(centerDb)){ + isWorkOrderQcStatus= centerDb.getCenterType() == MesExtEnumUtil.WORK_CENTER_TYPE.SORT.getValue(); + } + } String source = configService.getCfgValue(org, "LGORT"); if (!StringUtils.isEmpty(model.getProductVersion())) { @@ -350,6 +368,15 @@ public class MesNcProcessingService implements IMesNcProcessingService { sn.setQcStatus(MesExtEnumUtil.PRODUCE_QC_STATUS.SUSPICIOUS_TO_QUALIFIED.getValue()); ConvertBean.serviceModelUpdate(sn, model.getUserName()); produceSnExtService.update(sn); + //更新工单对应qcStatus + if(isWorkOrderQcStatus){ + MesWorkOrder workOrder = getWorkOrder(org,sn.getWorkOrderNo()); + if (!StringUtil.isEmpty(workOrder)){ + workOrder.setQcStatus(MesExtEnumUtil.PRODUCE_QC_STATUS.SUSPICIOUS_TO_QUALIFIED.getValue()); + ConvertBean.serviceModelUpdate(sn, model.getUserName()); + workOrderRepository.update(workOrder); + } + } } //更新检验单 @@ -427,6 +454,15 @@ public class MesNcProcessingService implements IMesNcProcessingService { sn.setQcStatus(MesExtEnumUtil.PRODUCE_QC_STATUS.SCRAP.getValue()); ConvertBean.serviceModelUpdate(sn, model.getUserName()); produceSnExtService.update(sn); + //更新工单对应qcStatus + if(isWorkOrderQcStatus){ + MesWorkOrder workOrder = getWorkOrder(org,sn.getWorkOrderNo()); + if (!StringUtil.isEmpty(workOrder)){ + workOrder.setQcStatus(MesExtEnumUtil.PRODUCE_QC_STATUS.SCRAP.getValue()); + ConvertBean.serviceModelUpdate(sn, model.getUserName()); + workOrderRepository.update(workOrder); + } + } } //更新检验单 @@ -459,6 +495,15 @@ public class MesNcProcessingService implements IMesNcProcessingService { sn.setQcStatus(MesExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getValue()); ConvertBean.serviceModelUpdate(sn, model.getUserName()); produceSnExtService.update(sn); + //更新工单对应qcStatus + if(isWorkOrderQcStatus){ + MesWorkOrder workOrder = getWorkOrder(org,sn.getWorkOrderNo()); + if (!StringUtil.isEmpty(workOrder)){ + workOrder.setQcStatus(MesExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getValue()); + ConvertBean.serviceModelUpdate(sn, model.getUserName()); + workOrderRepository.update(workOrder); + } + } } //更新检验单 @@ -479,7 +524,12 @@ public class MesNcProcessingService implements IMesNcProcessingService { } } - + public MesWorkOrder getWorkOrder(String organizeCode, String workOrderNo) { + if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(workOrderNo)) return null; + return workOrderRepository.getByProperty( + new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.WORK_ORDER_NO}, + new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), workOrderNo}); + } private int disassembleType(MesNcProcessingInputModel model, String org, MesProduceSn sn) { if (MesExtEnumUtil.PART_INSPECTION_SOURCE_TYPE.SINGLE.getValue() == model.getPartInspection().getSourceType()) { if (Objects.isNull(sn)) { @@ -521,7 +571,11 @@ public class MesNcProcessingService implements IMesNcProcessingService { DdlPackBean packBean = DdlPackBean.getDdlPackBean(org); DdlPreparedPack.getStringEqualPack(serialNumber, "productSn", packBean); DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"createDatetime"}, packBean); - return produceSnRepository.getByProperty(packBean); + MesProduceSn produceSn =produceSnRepository.getByProperty(packBean); + if (StringUtil.isEmpty(produceSn)){ + produceSn = (MesProduceSn) workOrderExtService.getWorkOrderSort(org, serialNumber, false); + } + return produceSn; } private MesProduceSn checkProduceSn(MesProduceSn produceSn, String serialNumber) { diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkCenterService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkCenterService.java index 04f0027..5d890a4 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkCenterService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkCenterService.java @@ -6,10 +6,12 @@ import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.PagerHelper; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.base.util.StringUtil; import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn; import cn.estsh.i3plus.pojo.mes.bean.MesWorkCenter; import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder; import cn.estsh.i3plus.pojo.mes.repository.MesWorkCenterRepository; +import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -61,6 +63,9 @@ public class MesWorkCenterService implements IMesWorkCenterService { private DdlPackBean getDdlPackBean(MesWorkCenter workCenter) { DdlPackBean packBean = DdlPackBean.getDdlPackBean(workCenter.getOrganizeCode()); + if (!StringUtil.isEmpty(workCenter.getCenterType()) && 0 != workCenter.getCenterType()) { + DdlPreparedPack.getNumEqualPack(workCenter.getCenterType(), "centerType", packBean); + } DdlPreparedPack.getStringLikerPack(workCenter.getWorkCenterCode(), "workCenterCode", packBean); return packBean; } 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..b5dcd83 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 @@ -26,6 +26,9 @@ public class MesNcProcessingInputModel { @ApiParam("条码") private String sn; + @ApiParam("客户条码") + private String custSn; + @ApiParam("责任人") private String onlyPerson; 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..afb6d47 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 @@ -42,6 +42,9 @@ public class MesPartInspectionInputModel { @ApiParam("条码") private String sn; + @ApiParam("客户条码") + private String custSn; + @ApiParam("正反面") private Integer frontBack; From 7e795f15d2d2ef7f4fc7872115b7bdf12ee05d33 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Tue, 24 Sep 2024 16:22:28 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=8E=92=E5=BA=8F=20=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E5=8A=A0=E5=B7=A5=E7=BB=93=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MesProductionDataSaveNosortStepService.java | 46 ++++++++++++++++++++++ .../step/MesProductionDataSaveSortStepService.java | 46 ++++++++++++++++++++++ .../step/MesProductionDataSaveStepService.java | 30 +++++--------- 3 files changed, 102 insertions(+), 20 deletions(-) create mode 100644 modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionDataSaveNosortStepService.java create mode 100644 modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionDataSaveSortStepService.java diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionDataSaveNosortStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionDataSaveNosortStepService.java new file mode 100644 index 0000000..ad8c4b4 --- /dev/null +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionDataSaveNosortStepService.java @@ -0,0 +1,46 @@ +package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step; + +import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseStepService; +import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.IStepService; +import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil; +import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; +import cn.estsh.i3plus.pojo.mes.model.StationResultBean; +import cn.estsh.i3plus.pojo.mes.model.StepResult; +import cn.estsh.impp.framework.boot.util.SpringContextsUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * @Description : 保存加工结果工步 【非排序】 + * @Author : wangjie + **/ +@Slf4j +@Service("mesProductionDataSaveNosortStepService") +public class MesProductionDataSaveNosortStepService extends BaseStepService { + + @Override + public StepResult execute(StationRequestBean reqBean) { + + //保存开模记录工步 + ((IStepService) SpringContextsUtil.getBean("mesMouldRecordGenerateStepService")).executeInState(reqBean); + + //保存零件条码信息工步 + ((IStepService) SpringContextsUtil.getBean("mesProductSnSaveStepService")).executeInState(reqBean); + + //加工异常处理工步 + ((IStepService) SpringContextsUtil.getBean("mesProductResultErrorHandleStepService")).executeInState(reqBean); + + //生成加工记录工步 + ((IStepService) SpringContextsUtil.getBean("mesProductionRecordGenerateStepService")).executeInState(reqBean); + + //保存装配记录工步 + ((IStepService) SpringContextsUtil.getBean("mesAssemblySaveStepService")).executeInState(reqBean); + + //保存工单信息工步 + ((IStepService) SpringContextsUtil.getBean("mesWorkOrderSaveStepService")).executeInState(reqBean); + + return stepSuccessCompleteAndSendMsgReturn(reqBean, new StationResultBean().writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PROCESS.getValue()), "保存加工结果成功!"); + + } + +} diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionDataSaveSortStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionDataSaveSortStepService.java new file mode 100644 index 0000000..5f3c27e --- /dev/null +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionDataSaveSortStepService.java @@ -0,0 +1,46 @@ +package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step; + +import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseStepService; +import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.IStepService; +import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil; +import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; +import cn.estsh.i3plus.pojo.mes.model.StationResultBean; +import cn.estsh.i3plus.pojo.mes.model.StepResult; +import cn.estsh.impp.framework.boot.util.SpringContextsUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * @Description : 保存加工结果工步 【排序】 + * @Author : wangjie + **/ +@Slf4j +@Service("mesProductionDataSaveSortStepService") +public class MesProductionDataSaveSortStepService extends BaseStepService { + + @Override + public StepResult execute(StationRequestBean reqBean) { + + //保存开模记录工步 + ((IStepService) SpringContextsUtil.getBean("mesMouldRecordGenerateStepService")).executeInState(reqBean); + + //保存零件条码信息工步 + ((IStepService) SpringContextsUtil.getBean("mesProductSnSaveStepService")).executeInState(reqBean); + + //加工异常处理工步 + ((IStepService) SpringContextsUtil.getBean("mesProductResultErrorHandleStepService")).executeInState(reqBean); + + //生成加工记录工步 + ((IStepService) SpringContextsUtil.getBean("mesProductionRecordGenerateStepService")).executeInState(reqBean); + + //保存装配记录工步 + ((IStepService) SpringContextsUtil.getBean("mesAssemblySaveStepService")).executeInState(reqBean); + + //保存工单信息工步 + ((IStepService) SpringContextsUtil.getBean("mesWorkOrderSaveStepService")).executeInState(reqBean); + + return stepSuccessCompleteAndSendMsgReturn(reqBean, new StationResultBean().writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PROCESS.getValue()), "保存加工结果成功!"); + + } + +} diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionDataSaveStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionDataSaveStepService.java index 9fd1571..da1df1f 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionDataSaveStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionDataSaveStepService.java @@ -1,13 +1,14 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step; +import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService; import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseStepService; import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.IStepService; -import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil; import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; -import cn.estsh.i3plus.pojo.mes.model.StationResultBean; import cn.estsh.i3plus.pojo.mes.model.StepResult; +import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import cn.estsh.impp.framework.boot.util.SpringContextsUtil; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** @@ -18,28 +19,17 @@ import org.springframework.stereotype.Service; @Service("mesProductionDataSaveStepService") public class MesProductionDataSaveStepService extends BaseStepService { + @Autowired + public IMesProductionProcessContextStepService productionProcessContextStepService; + @Override public StepResult execute(StationRequestBean reqBean) { - //保存开模记录工步 - ((IStepService) SpringContextsUtil.getBean("mesMouldRecordGenerateStepService")).executeInState(reqBean); - - //保存零件条码信息工步 - ((IStepService) SpringContextsUtil.getBean("mesProductSnSaveStepService")).executeInState(reqBean); - - //加工异常处理工步 - ((IStepService) SpringContextsUtil.getBean("mesProductResultErrorHandleStepService")).executeInState(reqBean); - - //生成加工记录工步 - ((IStepService) SpringContextsUtil.getBean("mesProductionRecordGenerateStepService")).executeInState(reqBean); - - //保存装配记录工步 - ((IStepService) SpringContextsUtil.getBean("mesAssemblySaveStepService")).executeInState(reqBean); - - //保存工单信息工步 - ((IStepService) SpringContextsUtil.getBean("mesWorkOrderSaveStepService")).executeInState(reqBean); + //排序线 保存加工结果工步 + if (MesExtEnumUtil.WORK_CENTER_TYPE.SORT.getValue() == productionProcessContextStepService.getCenterType(reqBean)) return ((IStepService) SpringContextsUtil.getBean("mesProductionDataSaveSortStepService")).executeInState(reqBean); - return stepSuccessCompleteAndSendMsgReturn(reqBean, new StationResultBean().writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PROCESS.getValue()), "保存加工结果成功!"); + //非排序线 保存加工结果工步 + return ((IStepService) SpringContextsUtil.getBean("mesProductionDataSaveNosortStepService")).executeInState(reqBean); }