diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesSortShippingCheckService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesSortShippingCheckService.java index 588955c..414012b 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesSortShippingCheckService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesSortShippingCheckService.java @@ -5,6 +5,7 @@ import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesSortShippingCheckService; import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesSortShippingCheckModel; import cn.estsh.i3plus.platform.common.convert.ConvertBean; +import cn.estsh.i3plus.platform.common.tool.TimeTool; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; @@ -150,11 +151,17 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService //根据是否启动记忆判断 若启用记忆,则根据保存数据库 if (orderManagement.getIsEnableMemory() == MesCommonConstant.TRUE_INTEGER) { - orderManagement.setStatus(MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPED.getValue()); + //若发运单状态为创建或发布 则写入开始扫描时间 + if (orderManagement.getStatus() == MesExtEnumUtil.SHIPPING_ORDER_STATUS.CREATE.getValue() || + orderManagement.getStatus() == MesExtEnumUtil.SHIPPING_ORDER_STATUS.PUBLISHED.getValue()) { + orderManagement.setStartScanTime(TimeTool.getNowTime(true)); + } + + orderManagement.setStatus(MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPING.getValue()); ConvertBean.serviceModelUpdate(orderManagement, AuthUtil.getSessionUser().getUserName()); shippingOrderManagementRepository.save(orderManagement); - detail.setStatus(MesExtEnumUtil.SHIPPING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue()); + detail.setStatus(MesExtEnumUtil.SHIPPING_ORDER_DETAIL_SHIPPING_STATUS.PUBLISHED.getValue()); ConvertBean.serviceModelUpdate(detail, AuthUtil.getSessionUser().getUserName()); shippingOrderManagementDetailRepository.save(detail); @@ -277,9 +284,15 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService public void saveDate(MesShippingOrderManagement orderManagement, MesSortShippingCheckModel model, String org) { + //若发运单状态为创建或发布 则写入开始扫描时间 + if (orderManagement.getStatus() == MesExtEnumUtil.SHIPPING_ORDER_STATUS.CREATE.getValue() || + orderManagement.getStatus() == MesExtEnumUtil.SHIPPING_ORDER_STATUS.PUBLISHED.getValue()) { + orderManagement.setStartScanTime(TimeTool.getNowTime(true)); + } //发运单状态修改为校验完成 orderManagement.setStatus(MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPED.getValue()); + orderManagement.setEndScanTime(TimeTool.getNowTime(true)); //发运单明细状态修改为校验完成 DdlPackBean orderManagementDetailPackBean = DdlPackBean.getDdlPackBean(org); @@ -288,6 +301,8 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService List produceSnList = new ArrayList<>(); for (MesShippingOrderManagementDetail detail : orderManagementDetailList) { + + detail.setActualQty(1); detail.setStatus(MesExtEnumUtil.SHIPPING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue()); ConvertBean.serviceModelUpdate(detail, AuthUtil.getSessionUser().getUserName()); @@ -298,8 +313,7 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService MesProduceSn produceSn = produceSnRepository.getByProperty(packBean); produceSn.setSnStatus(MesExtEnumUtil.PRODUCE_SN_STATUS.SHIPPED.getValue()); - detail.setActualQty(1); - ConvertBean.serviceModelUpdate(detail, AuthUtil.getSessionUser().getUserName()); + ConvertBean.serviceModelUpdate(produceSn, AuthUtil.getSessionUser().getUserName()); produceSnList.add(produceSn); } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/equiplog/MesEquipmentLogExtService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/equiplog/MesEquipmentLogExtService.java index 273520f..ddeaf71 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/equiplog/MesEquipmentLogExtService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/equiplog/MesEquipmentLogExtService.java @@ -47,7 +47,7 @@ public class MesEquipmentLogExtService implements IMesEquipmentLogExtService { DdlPreparedPack.getNumEqualPack(equipId, MesPcnExtConstWords.EQUIP_ID, packBean); if (!CollectionUtils.isEmpty(clientHandleList) && clientHandleList.size() == 1) DdlPreparedPack.getNumEqualPack(clientHandleList.get(0), MesPcnExtConstWords.ID, packBean); else DdlPreparedPack.getInPackList(clientHandleList, MesPcnExtConstWords.ID, packBean); - if (!StringUtils.isEmpty(needNewValue) && MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getValue() == needNewValue) DdlPreparedPack.getNumEqualPack(MesPcnExtConstWords.ZERO, MesPcnExtConstWords.EQUIP_VARIABLE_STATUS, packBean); + if (!StringUtils.isEmpty(needNewValue) && MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getValue() == needNewValue) DdlPreparedPack.getNegativeNumEqualPack(MesPcnExtConstWords.ZERO, MesPcnExtConstWords.EQUIP_VARIABLE_STATUS, packBean); return equipmentLogRepository.findByHqlWhere(packBean); } @@ -139,7 +139,7 @@ public class MesEquipmentLogExtService implements IMesEquipmentLogExtService { if (CollectionUtils.isEmpty(clientHandleList)) clientHandleList = new ArrayList<>(); clientHandleList.addAll(equipVariableCfgCollectContext.getClientHandleList()); } - return CollectionUtils.isEmpty(clientHandleList) ? null : clientHandleList.stream().filter(o -> StringUtils.isEmpty(o)).distinct().collect(Collectors.toList()); + return CollectionUtils.isEmpty(clientHandleList) ? null : clientHandleList.stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList()); } } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/rulematch/MesEvcRuleMatchCompareValueService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/rulematch/MesEvcRuleMatchCompareValueService.java index 07dd359..2eafcef 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/rulematch/MesEvcRuleMatchCompareValueService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/rulematch/MesEvcRuleMatchCompareValueService.java @@ -15,7 +15,7 @@ import java.util.Map; import java.util.stream.Collectors; /** - * 取一组全部匹配的结构 + * 取一组全部匹配的结果 */ @Slf4j @Service diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/MesProductionNoSortModuleService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/MesProductionNoSortModuleService.java index 8c0ca2e..97d3ae9 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/MesProductionNoSortModuleService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/MesProductionNoSortModuleService.java @@ -5,12 +5,14 @@ import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseModuleService; import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil; import cn.estsh.i3plus.pojo.mes.bean.MesStateMachineStatus; +import cn.estsh.i3plus.pojo.mes.model.StationKvBean; import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; import cn.estsh.i3plus.pojo.mes.model.StationResultBean; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -27,16 +29,157 @@ public class MesProductionNoSortModuleService extends BaseModuleService { @Override public void init(StationRequestBean reqBean) { + /** + * 工单号 和 分组 + */ + StationResultBean resultBean = getStationResultBean(reqBean); + + //TODO 获取 头部上下文 信息 +// productionProcessContextStepService.getProductionProcessContext(); + + this.sendMessage(reqBean, resultBean); + + + + + + + this.sendMessage(reqBean, resultBean); + + } + + private StationResultBean getStationResultBean(StationRequestBean reqBean) { StationResultBean resultBean = new StationResultBean(); resultBean.setBusiType(MesPcnEnumUtil.STATION_BUSI_TYPE.MODULE_CONTENT.getValue()); resultBean.setDataType(MesPcnEnumUtil.STATION_DATA_TYPE.CUSTOM.getValue()); resultBean.setCustomPageName(MesPcnExtConstWords.CUSTOM_PAGE_NAME_DEFAULT); resultBean.setSpecialDisplayData(getStepColIndent(reqBean)); - //TODO 获取 头部上下文 信息 -// productionProcessContextStepService.getProductionProcessContext(); + List> stationKvBeansList = new ArrayList<>(); + List stationKvBeans = new ArrayList<>(); + StationKvBean stationKvBean = new StationKvBean(); + stationKvBean.setKey("orderNo"); + stationKvBean.setName("工单号"); + stationKvBean.setValue("11111"); + stationKvBeans.add(stationKvBean); - this.sendMessage(reqBean, resultBean); + StationKvBean stationKvBean1 = new StationKvBean(); + stationKvBean1.setKey("partNo"); + stationKvBean1.setName("零件号"); + stationKvBean1.setValue("111"); + stationKvBeans.add(stationKvBean1); + + StationKvBean stationKvBean2 = new StationKvBean(); + stationKvBean2.setKey("count"); + stationKvBean2.setName("单数"); + stationKvBean2.setValue("1111"); + stationKvBeans.add(stationKvBean2); + + stationKvBeansList.add(stationKvBeans); + List stationKvBeans1 = new ArrayList<>(); + StationKvBean stationKvBean4 = new StationKvBean(); + stationKvBean4.setKey("orderNo"); + stationKvBean4.setName("工单号"); + stationKvBean4.setValue("11111"); + stationKvBeans1.add(stationKvBean4); + + StationKvBean stationKvBean5 = new StationKvBean(); + stationKvBean5.setKey("partNo"); + stationKvBean5.setName("零件号"); + stationKvBean5.setValue("111"); + stationKvBeans1.add(stationKvBean5); + + StationKvBean stationKvBean6 = new StationKvBean(); + stationKvBean6.setKey("count"); + stationKvBean6.setName("单数"); + stationKvBean6.setValue("1111"); + stationKvBeans1.add(stationKvBean6); + stationKvBeansList.add(stationKvBeans1); + + List stationKvBeans3 = new ArrayList<>(); + + StationKvBean stationKvBean7 = new StationKvBean(); + stationKvBean7.setKey("shiftCode"); + stationKvBean7.setName("班次"); + stationKvBean7.setValue("白班"); + stationKvBeans3.add(stationKvBean7); + + StationKvBean stationKvBean8 = new StationKvBean(); + stationKvBean8.setKey("shiftGroup"); + stationKvBean8.setName("班组"); + stationKvBean8.setValue("注塑2班"); + stationKvBeans3.add(stationKvBean8); + + resultBean.setResultObj(stationKvBeans3); + resultBean.setResultList(stationKvBeansList); + return resultBean; + } + + private StationResultBean getStationResultBean1(StationRequestBean reqBean) { + StationResultBean resultBean = new StationResultBean(); + resultBean.setBusiType(MesPcnEnumUtil.STATION_BUSI_TYPE.MODULE_CUSTOM_CONTENT.getValue()); + resultBean.setDataType(MesPcnEnumUtil.STATION_DATA_TYPE.ECHART.getValue()); + resultBean.setCustomPageName(MesPcnExtConstWords.CUSTOM_PAGE_NAME_DEFAULT); + resultBean.setSpecialDisplayData(getStepColIndent(reqBean)); + + List> stationKvBeansList = new ArrayList<>(); + List stationKvBeans = new ArrayList<>(); + StationKvBean stationKvBean = new StationKvBean(); + stationKvBean.setKey("orderNo"); + stationKvBean.setName("工单号"); + stationKvBean.setValue("11111"); + stationKvBeans.add(stationKvBean); + + StationKvBean stationKvBean1 = new StationKvBean(); + stationKvBean1.setKey("partNo"); + stationKvBean1.setName("零件号"); + stationKvBean1.setValue("111"); + stationKvBeans.add(stationKvBean1); + + StationKvBean stationKvBean2 = new StationKvBean(); + stationKvBean2.setKey("count"); + stationKvBean2.setName("单数"); + stationKvBean2.setValue("1111"); + stationKvBeans.add(stationKvBean2); + + stationKvBeansList.add(stationKvBeans); + List stationKvBeans1 = new ArrayList<>(); + StationKvBean stationKvBean4 = new StationKvBean(); + stationKvBean4.setKey("orderNo"); + stationKvBean4.setName("工单号"); + stationKvBean4.setValue("11111"); + stationKvBeans1.add(stationKvBean4); + + StationKvBean stationKvBean5 = new StationKvBean(); + stationKvBean5.setKey("partNo"); + stationKvBean5.setName("零件号"); + stationKvBean5.setValue("111"); + stationKvBeans1.add(stationKvBean5); + + StationKvBean stationKvBean6 = new StationKvBean(); + stationKvBean6.setKey("count"); + stationKvBean6.setName("单数"); + stationKvBean6.setValue("1111"); + stationKvBeans1.add(stationKvBean6); + stationKvBeansList.add(stationKvBeans1); + + List stationKvBeans3 = new ArrayList<>(); + + StationKvBean stationKvBean7 = new StationKvBean(); + stationKvBean7.setKey("shiftCode"); + stationKvBean7.setName("班次"); + stationKvBean7.setValue("白班"); + stationKvBeans3.add(stationKvBean7); + + StationKvBean stationKvBean8 = new StationKvBean(); + stationKvBean8.setKey("shiftGroup"); + stationKvBean8.setName("班组"); + stationKvBean8.setValue("注塑2班"); + stationKvBeans3.add(stationKvBean8); + + resultBean.setResultObj(stationKvBeans3); + resultBean.setResultList(stationKvBeansList); + return resultBean; } @Override diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesFirstMouldNoReadStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesFirstMouldNoReadStepService.java index 539a480..51fb812 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesFirstMouldNoReadStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesFirstMouldNoReadStepService.java @@ -178,7 +178,7 @@ public class MesFirstMouldNoReadStepService extends BaseStepService { //零件信息缺失 抛出异常 List filterList = CollectionUtils.isEmpty(finalPartDataMap) ? null : partNoList.stream().filter(o -> (null != o && !finalPartDataMap.containsKey(o))).collect(Collectors.toList()); - if (CollectionUtils.isEmpty(partDataMap) || !CollectionUtils.isEmpty(filterList)) execExpSendMsgAndThrowEx(reqBean, resultBean, String.format("请检查零件信息,零件编码%s信息不存在!", CollectionUtils.isEmpty(finalPartDataMap) ? partNoList.toString() : filterList.toString())); + if (CollectionUtils.isEmpty(finalPartDataMap) || !CollectionUtils.isEmpty(filterList)) execExpSendMsgAndThrowEx(reqBean, resultBean, String.format("请检查零件信息,零件编码%s信息不存在!", CollectionUtils.isEmpty(finalPartDataMap) ? partNoList.toString() : filterList.toString())); return finalPartDataMap; diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnSaveStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnSaveStepService.java new file mode 100644 index 0000000..cb568a3 --- /dev/null +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnSaveStepService.java @@ -0,0 +1,60 @@ +package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step; + +import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService; +import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionProcessContext; +import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesSnProductionProcessContext; +import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService; +import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseStepService; +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; +import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker; +import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.mes.bean.MesMouldMultiCavity; +import cn.estsh.i3plus.pojo.mes.bean.MesPart; +import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn; +import cn.estsh.i3plus.pojo.mes.bean.MesWorkCell; +import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel; +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.repository.MesPartRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesProduceSnRepository; +import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; +import cn.hutool.core.date.DateUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * @Description : 保存零件条码信息工步 + * @Author : zxw + **/ +@Slf4j +@Service +public class MesProductSnSaveStepService extends BaseStepService { + + @Autowired + private IMesProductionProcessContextStepService productionProcessContextStepService; + + @Autowired + private MesProduceSnRepository mesProduceSnRepository; + + public static final String ORDER_NO_JIS_SORT = "ORDER_NO_JIS_SORT"; + + @Override + public StepResult execute(StationRequestBean reqBean) { + + MesProductionProcessContext productionProcessContext = productionProcessContextStepService.getEquipmentVariableList(reqBean, MesExtEnumUtil.EQUIP_VARIABLE_TYPE.PRODUCTION.getValue()); + List mesProduceSns = productionProcessContext.getProduceSnDataList(); + + mesProduceSns.forEach(mesProduceSn -> { + mesProduceSn.setSnStatus(MesExtEnumUtil.PRODUCE_SN_STATUS.OFFLINE.getValue()); + }); + mesProduceSnRepository.saveAll(mesProduceSns); + + return StepResult.getSuccessComplete(); + } +} diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionProcessContextStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionProcessContextStepService.java index 42426b8..eb55645 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionProcessContextStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionProcessContextStepService.java @@ -213,7 +213,7 @@ public class MesProductionProcessContextStepService extends BaseStepService impl @Override public List collectCategoryLevelTwoList(List equipmentVariableCfgList) { return CollectionUtils.isEmpty(equipmentVariableCfgList) ? null : - (equipmentVariableCfgList.stream().filter(o -> null != o).map(MesEquipmentVariableCfg::getCategoryLevelTwo).collect(Collectors.toList())).stream().filter(o -> StringUtils.isEmpty(o)).distinct().collect(Collectors.toList()); + (equipmentVariableCfgList.stream().filter(o -> null != o).map(MesEquipmentVariableCfg::getCategoryLevelTwo).collect(Collectors.toList())).stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList()); } @Override @@ -315,7 +315,7 @@ public class MesProductionProcessContextStepService extends BaseStepService impl List lastScanContext = getCachedLastScanContext(reqBean); - StationKvBeanUtil.addStationKvBeanLimix100ThenHalf(lastScanContext, new StationKvBean().name(source.getDescription()).value(scanInfo)); + lastScanContext = StationKvBeanUtil.addStationKvBeanLimix100ThenHalf(lastScanContext, new StationKvBean().name(source.getDescription()).value(scanInfo)); doCacheLastScanContext(reqBean, lastScanContext); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionReocrdGenerateStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionReocrdGenerateStepService.java new file mode 100644 index 0000000..eecb3a1 --- /dev/null +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionReocrdGenerateStepService.java @@ -0,0 +1,103 @@ +package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step; + +import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService; +import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionProcessContext; +import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService; +import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseStepService; +import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker; +import cn.estsh.i3plus.pojo.base.enumutil.MesEnumUtil; +import cn.estsh.i3plus.pojo.mes.bean.MesPart; +import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn; +import cn.estsh.i3plus.pojo.mes.bean.MesProductionRecord; +import cn.estsh.i3plus.pojo.mes.bean.MesWorkCell; +import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel; +import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; +import cn.estsh.i3plus.pojo.mes.model.StepResult; +import cn.estsh.i3plus.pojo.mes.repository.MesPartRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesProduceSnRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesProductionRecordRepository; +import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; +import cn.hutool.core.date.DateUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * @Description : 生成加工记录工步 + * @Author : wangjie + **/ +@Slf4j +@Service +public class MesProductionReocrdGenerateStepService extends BaseStepService { + @Autowired + private SnowflakeIdMaker snowflakeIdMaker; + + @Autowired + private IMesProductionProcessContextStepService productionProcessContextStepService; + + @Autowired + private MesProduceSnRepository mesProduceSnRepository; + + @Autowired + private MesProductionRecordRepository mesProductionRecordRepository; + + public static final String ORDER_NO_JIS_SORT = "ORDER_NO_JIS_SORT"; + + + @Override + public StepResult execute(StationRequestBean reqBean) { + + MesProductionProcessContext productionProcessContext = productionProcessContextStepService.getEquipmentVariableList(reqBean, MesExtEnumUtil.EQUIP_VARIABLE_TYPE.PRODUCTION.getValue()); + List mesProduceSns = productionProcessContext.getProduceSnDataList(); + + List mesProductionRecords = new ArrayList<>(); + mesProduceSns.forEach(mesProduceSn -> { + + MesProductionRecord mesProductionRecord = getMesProductionRecord(productionProcessContext, mesProduceSn); + mesProductionRecords.add(mesProductionRecord); + }); + + mesProductionRecordRepository.saveAll(mesProductionRecords); + + return StepResult.getSuccessComplete(); + } + + private MesProductionRecord getMesProductionRecord(MesProductionProcessContext productionProcessContext, MesProduceSn mesProduceSn) { + MesProductionRecord mesProductionRecord = new MesProductionRecord(); + + mesProductionRecord.setSerialNumber(mesProduceSn.getSerialNumber()); + mesProductionRecord.setAreaCode(mesProduceSn.getAreaCode()); + mesProductionRecord.setCraftCode(mesProduceSn.getCraftCode()); + mesProductionRecord.setCustSn(mesProduceSn.getCustSn()); + mesProductionRecord.setEquipmentCode(mesProduceSn.getEquipmentCode()); + mesProductionRecord.setIsComplete(MesEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); + mesProductionRecord.setCompleteDateTime(DateUtil.formatDateTime(new Date())); + mesProductionRecord.setLotNo(mesProduceSn.getLotNo()); + mesProductionRecord.setEquipmentName(mesProduceSn.getEquipmentName()); + + String mouldNo = ""; + if (productionProcessContext.getFirstMouldNo() != null) { + mouldNo = productionProcessContext.getFirstMouldNo().getEquipVariableValue(); + }else if (productionProcessContext.getFirstMouldNo() == null && productionProcessContext.getMouldNo() != null){ + mouldNo = productionProcessContext.getMouldNo().getEquipVariableValue(); + } + mesProductionRecord.setMouldNo(mouldNo); + // todo + // mesProductionRecord.setMouldRecordId(); + mesProductionRecord.setProcessCode(mesProduceSn.getProcessCode()); + mesProductionRecord.setReportPartNo(mesProduceSn.getPartNo()); + mesProductionRecord.setReportStatus(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_10.getValue()); + mesProductionRecord.setReportType(mesProduceSn.getReportType() + ""); + mesProductionRecord.setShiftCode(mesProduceSn.getShiftCode()); + mesProductionRecord.setShiftGroup(mesProduceSn.getShiftGroup()); + mesProductionRecord.setWorkOrderNo(mesProduceSn.getWorkOrderNo()); + mesProductionRecord.setWorkCellCode(mesProduceSn.getWorkCellCode()); + mesProductionRecord.setWorkCenterCode(mesProduceSn.getWorkCenterCode()); + return mesProductionRecord; + } + +} diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesVariableWhenFinishedReadStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesVariableWhenFinishedReadStepService.java index 55de276..6c66b9b 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesVariableWhenFinishedReadStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesVariableWhenFinishedReadStepService.java @@ -32,7 +32,7 @@ import java.util.*; import java.util.stream.Collectors; /** - * @Description : 保存加工参数 + * @Description : 保存工艺参数 * @Author : wangjie **/ @Slf4j diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/context/MesProductionProcessContext.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/context/MesProductionProcessContext.java index 0779488..4b4c119 100644 --- a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/context/MesProductionProcessContext.java +++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/context/MesProductionProcessContext.java @@ -271,13 +271,13 @@ public class MesProductionProcessContext { //上下文赋值加工结果 public MesProductionProcessContext productResult(String productResult) { - this.equipVariableJson = productResult; + this.productResult = productResult; return this; } //上下文清除加工结果 public MesProductionProcessContext productResultClear() { - this.equipVariableJson = null; + this.productResult = null; return this; }