diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesEquipmentExtService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesEquipmentExtService.java index 8551207..7892143 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesEquipmentExtService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesEquipmentExtService.java @@ -11,6 +11,12 @@ public interface IMesEquipmentExtService { @ApiOperation(value = "根据生产线代码,工位代码查询工位设备集合") List getCellEquipmentList(String organizeCode, String workCenterCode, String workCellCode); + @ApiOperation(value = "根据生产线代码,工位代码查询工位设备集合") + List getWcEquipmentList(String organizeCode, String workCenterCode, String workCellCode); + + @ApiOperation(value = "根据生产线代码,工位代码查询工位设备") + MesWcEquipment getWcEquipment(String organizeCode, String workCenterCode, String workCellCode); + @ApiOperation(value = "根据设备变量配置类型查询设备数据变量接口逻辑集合") List getEquipmentVariableCfgList(String organizeCode, String variableCfgType); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesEquipmentExtService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesEquipmentExtService.java index 5b7a78f..50782a2 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesEquipmentExtService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesEquipmentExtService.java @@ -16,6 +16,7 @@ import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import java.util.ArrayList; +import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; @@ -44,9 +45,7 @@ public class MesEquipmentExtService implements IMesEquipmentExtService { @Override public List getCellEquipmentList(String organizeCode, String workCenterCode, String workCellCode) { if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(workCenterCode) || StringUtils.isEmpty(workCellCode)) return null; - List wcEquipmentDbList = wcEquipmentRepository.findByProperty( - new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.WORK_CENTER_CODE, MesPcnExtConstWords.WORK_CELL_CODE}, - new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), workCenterCode, workCellCode}); + List wcEquipmentDbList = getWcEquipmentList(organizeCode, workCenterCode, workCellCode); if (CollectionUtils.isEmpty(wcEquipmentDbList)) return null; List cellEquipmentContextList = null; for (MesWcEquipment wcEquipmentDb : wcEquipmentDbList) { @@ -65,6 +64,22 @@ public class MesEquipmentExtService implements IMesEquipmentExtService { } @Override + public List getWcEquipmentList(String organizeCode, String workCenterCode, String workCellCode) { + return wcEquipmentRepository.findByProperty( + new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.WORK_CENTER_CODE, MesPcnExtConstWords.WORK_CELL_CODE}, + new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), workCenterCode, workCellCode}); + } + + @Override + public MesWcEquipment getWcEquipment(String organizeCode, String workCenterCode, String workCellCode) { + List wcEquipmentDbList = getWcEquipmentList(organizeCode, workCenterCode, workCellCode); + if (CollectionUtils.isEmpty(wcEquipmentDbList)) return null; + if (wcEquipmentDbList.size() == 1) return wcEquipmentDbList.get(0); + List wcEquipmentDbListSort = wcEquipmentDbList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getSeq()))).sorted(Comparator.comparing(MesWcEquipment::getSeq)).collect(Collectors.toList()); + return !CollectionUtils.isEmpty(wcEquipmentDbListSort) ? wcEquipmentDbListSort.get(0) : wcEquipmentDbList.get(0); + } + + @Override public List getEquipmentVariableCfgList(String organizeCode, String variableCfgType) { if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(variableCfgType)) return null; return equipmentVariableCfgRepository.findByProperty( 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 9413beb..1ebd00d 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 @@ -237,6 +237,9 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService if (StringUtils.isEmpty(model.getPartInspection())) { partInspection = createPartInspection(model, MesExtEnumUtil.PART_INSPECTION_STATUS.QUALIFIED.getValue(), org); + if (model.getOptType() != null && model.getOptType() == 2) { + partInspection.setRefundFlag(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); + } partInspectionRepository.save(partInspection); if (model.getSourceType() == MesExtEnumUtil.PART_INSPECTION_SOURCE_TYPE.SINGLE.getValue()) { @@ -253,6 +256,10 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService if (model.getPartInspection().getInspectionStatus() == MesExtEnumUtil.PART_INSPECTION_STATUS.FAIL.getValue()) { model.getPartInspection().setInspectionStatus(MesExtEnumUtil.PART_INSPECTION_STATUS.QUALIFIED.getValue()); ConvertBean.serviceModelUpdate(model.getPartInspection(), AuthUtil.getSessionUser().getUserName()); + + if (model.getOptType() != null && model.getOptType() == 2) { + model.getPartInspection().setRefundFlag(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); + } partInspectionRepository.save(model.getPartInspection()); //查询当前单据明细 @@ -316,6 +323,11 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService if (StringUtils.isEmpty(model.getPartInspection())) { partInspection = createPartInspection(model, MesExtEnumUtil.PART_INSPECTION_STATUS.FAIL.getValue(), org); + + if (model.getOptType() != null && model.getOptType() == 2) { + partInspection.setRefundFlag(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); + } + model.setPartInspection(partInspectionRepository.save(partInspection)); List defectTypeNoExitList = new ArrayList<>(); @@ -368,6 +380,9 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService model.getPartInspection().setInspectionStatus(MesExtEnumUtil.PART_INSPECTION_STATUS.FAIL.getValue()); ConvertBean.serviceModelUpdate(model.getPartInspection(), AuthUtil.getSessionUser().getUserName()); + if (model.getOptType() != null && model.getOptType() == 2) { + model.getPartInspection().setRefundFlag(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); + } partInspectionRepository.save(model.getPartInspection()); //查询当前单据明细 List resultDetailList = queryResultDetailList(model, 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 aa04ec6..1ea2a41 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 @@ -116,6 +116,7 @@ public class MesNcProcessingService implements IMesNcProcessingService { DdlPreparedPack.getNumEqualPack(partInspection.getQty(), "qty", packBean); DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.PART_INSPECTION_STATUS.FAIL.getValue(), "inspectionStatus", packBean); DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.PART_INSPECTION_NC_STATUS.CREATE.getValue(), "ncStatus", packBean); + DdlPreparedPack.getNumEqualPack(partInspection.getRefundFlag(), "refundFlag", packBean); DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"createDatetime"}, packBean); pager = PagerHelper.getPager(pager, partInspectionRepository.findByHqlWhereCount(packBean)); @@ -360,11 +361,15 @@ public class MesNcProcessingService implements IMesNcProcessingService { model.getPartInspection().setInspectionStatus(MesExtEnumUtil.PART_INSPECTION_STATUS.QUALIFIED.getValue()); 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; + model.getPartInspection().setRefundFlag(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); } + + partInspectionRepository.save(model.getPartInspection()); + //移库 转正常、放行:8000移至2000 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()); @@ -417,12 +422,15 @@ public class MesNcProcessingService implements IMesNcProcessingService { model.getPartInspection().setNcStatus(MesExtEnumUtil.PART_INSPECTION_NC_STATUS.REWORK.getValue()); model.getPartInspection().setReworkTaskId(reworkTask.getId()); ConvertBean.serviceModelUpdate(model.getPartInspection(),model.getUserName()); - partInspectionRepository.save(model.getPartInspection()); - String sourceValue = configService.getCfgValue(org, "UMLGO"); + if (model.getOptType() == 2) { sourceValue = refundSource; + model.getPartInspection().setRefundFlag(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); } + 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()); @@ -448,6 +456,11 @@ public class MesNcProcessingService implements IMesNcProcessingService { model.getPartInspection().setNcStatus(MesExtEnumUtil.PART_INSPECTION_NC_STATUS.SCRAP.getValue()); model.getPartInspection().setRejectQty(model.getPartInspection().getQty()); ConvertBean.serviceModelUpdate(model.getPartInspection(), model.getUserName()); + + if (model.getOptType() == 2) { + model.getPartInspection().setRefundFlag(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); + } + partInspectionRepository.save(model.getPartInspection()); if (isOrder) { String sourceValue = source; @@ -486,12 +499,15 @@ public class MesNcProcessingService implements IMesNcProcessingService { model.getPartInspection().setInspectionStatus(MesExtEnumUtil.PART_INSPECTION_STATUS.QUALIFIED.getValue()); model.getPartInspection().setNcStatus(MesExtEnumUtil.PART_INSPECTION_NC_STATUS.RELEASE.getValue()); ConvertBean.serviceModelUpdate(model.getPartInspection(), model.getUserName()); - partInspectionRepository.save(model.getPartInspection()); - String sourceValue = configService.getCfgValue(org, "UMLGO"); + if (model.getOptType() == 2) { sourceValue = refundSource; + + model.getPartInspection().setRefundFlag(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); } + partInspectionRepository.save(model.getPartInspection()); + //移库 转正常、放行:8000移至2000 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()); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesProduceSnPrintService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesProduceSnPrintService.java index bbf41be..08e9463 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesProduceSnPrintService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesProduceSnPrintService.java @@ -171,6 +171,8 @@ public class MesProduceSnPrintService implements IMesProduceSnPrintService { resultModel.getMesProduceSnList().forEach(mesProduceSn -> { mesProduceSn.setWorkCenterCode(workCenterCode); + mesProduceSn.setPrintCount(MesPcnExtConstWords.ONE); + mesProduceSn.setPrintStatus(MesExtEnumUtil.PRINT_STATUS.PRINTED.getValue()); mesProduceSn.setFid(UUID.randomUUID().toString()); //保存条码 mesProduceSnRDao.insert(mesProduceSn); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/equiplog/MesWorkCellScanMonitorLogExtService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/equiplog/MesWorkCellScanMonitorLogExtService.java index 250bf53..26e90d1 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/equiplog/MesWorkCellScanMonitorLogExtService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/equiplog/MesWorkCellScanMonitorLogExtService.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.equiplog; +import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesEquipmentExtService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPsOutContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesScanMonitorContext; @@ -11,6 +12,7 @@ import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.mes.bean.MesWcEquipment; import cn.estsh.i3plus.pojo.mes.bean.MesWorkCellScanMonitorLog; import cn.estsh.i3plus.pojo.mes.model.StationResultBean; import cn.estsh.i3plus.pojo.mes.repository.MesWorkCellScanMonitorLogRepository; @@ -37,6 +39,9 @@ public class MesWorkCellScanMonitorLogExtService implements ISwsWriteDbLogServic private IMesProductionProcessContextStepService productionProcessContextStepService; @Autowired + private IMesEquipmentExtService equipmentExtService; + + @Autowired private MesWorkCellScanMonitorLogRepository workCellScanMonitorLogRepository; private final static Map> cellMsg2RepeatMap = new ConcurrentHashMap(); @@ -60,6 +65,12 @@ public class MesWorkCellScanMonitorLogExtService implements ISwsWriteDbLogServic workCellScanMonitorLog.setOrgWorkCode(new StringJoiner(MesPcnExtConstWords.E_UNDERLINE).add(workCellScanMonitorLog.getOrganizeCode()).add(workCellScanMonitorLog.getWorkCenterCode()).toString()); + if (StringUtils.isEmpty(workCellScanMonitorLog.getEquipmentCode())) { + MesWcEquipment wcEquipment = equipmentExtService.getWcEquipment(resultBean.getOrganizeCode(), resultBean.getWorkCenterCode(), resultBean.getWorkCellCode()); + workCellScanMonitorLog.setEquipmentCode(null != wcEquipment ? wcEquipment.getEquipmentCode() : null); + workCellScanMonitorLog.setEquipmentName(null != wcEquipment ? wcEquipment.getEquipmentName() : null); + } + ConvertBean.serviceModelInitialize(workCellScanMonitorLog, resultBean.getUserInfo()); workCellScanMonitorLog.setCreateDatetime(resultBean.getCreateDatetime()); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProdCraftRouteCheckStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProdCraftRouteCheckStepService.java index 2ea32c0..4fff481 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProdCraftRouteCheckStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProdCraftRouteCheckStepService.java @@ -124,7 +124,7 @@ public class MesProdCraftRouteCheckStepService extends BaseStepService { //查询工艺路线数据 private void handleProdCraftData(StationRequestBean reqBean, MesWorkCenter workCenter, String partNo, Map> craftRouteDataMap) { - List craftRouteDetailList = fsmRouteDataService.handleProdCraftData(reqBean, workCenter.getCenterType(), partNo); + List craftRouteDetailList = fsmRouteDataService.handleProdCraftData(reqBean, workCenter.getCenterType(), partNo, true); if (!CollectionUtils.isEmpty(craftRouteDetailList)) craftRouteDataMap.put(partNo, craftRouteDetailList); } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnPrintStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnPrintStepService.java index a50c873..87ec2ab 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnPrintStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnPrintStepService.java @@ -143,9 +143,13 @@ public class MesProductSnPrintStepService extends BaseStepService { for (MesProductionPsOutContext outSn : productionPsOutContextList) { DdlPackBean packBean = DdlPackBean.getDdlPackBean(outSn.getOrganizeCode()); DdlPreparedPack.getNumEqualPack(outSn.getId(), MesPcnExtConstWords.ID, packBean); - mesProduceSnRao.updateByProperties( - new String[]{MesPcnExtConstWords.PRINT_STATUS, MesPcnExtConstWords.MODIFY_USER, MesPcnExtConstWords.MODIFY_DATE_TIME}, - new Object[]{MesExtEnumUtil.PRINT_STATUS.PRINTED.getValue(), reqBean.getUserInfo(), TimeTool.getNowTime(true)}, packBean); + + MesProduceSn produceSn = mesProduceSnRao.getByProperty(packBean); + if (produceSn!= null) { + mesProduceSnRao.updateByProperties( + new String[]{MesPcnExtConstWords.PRINT_STATUS, "printCount", MesPcnExtConstWords.MODIFY_USER, MesPcnExtConstWords.MODIFY_DATE_TIME}, + new Object[]{MesExtEnumUtil.PRINT_STATUS.PRINTED.getValue(),MesPcnExtConstWords.ONE, reqBean.getUserInfo(), TimeTool.getNowTime(true)}, packBean); + } } //保存打印条码记录 snLogRao.saveAll(snLogList); diff --git a/pom.xml b/pom.xml index 300c220..1f9ba25 100644 --- a/pom.xml +++ b/pom.xml @@ -29,7 +29,9 @@ INFO true UTF-8 - + 1.0.1-YZ 1.0.0-yfai