diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionReocrdGenerateStepServiceBak.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionReocrdGenerateStepServiceBak.java deleted file mode 100644 index 9c195ef..0000000 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionReocrdGenerateStepServiceBak.java +++ /dev/null @@ -1,134 +0,0 @@ -package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step; - -import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionCustomContextStepService; -import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionDispatchContextStepService; -import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService; -import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesEquipVariableCollectContext; -import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProdShiftContext; -import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionProcessContext; -import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPsOutContext; -import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseStepService; -import cn.estsh.i3plus.platform.common.convert.ConvertBean; -import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker; -import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; -import cn.estsh.i3plus.pojo.base.enumutil.MesEnumUtil; -import cn.estsh.i3plus.pojo.mes.bean.MesProductionRecord; -import cn.estsh.i3plus.pojo.mes.bean.MesWorkCell; -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.MesProduceSnRepository; -import cn.estsh.i3plus.pojo.mes.repository.MesProductionRecordRepository; -import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; -import cn.hutool.core.date.DateUtil; -import com.google.common.base.Objects; -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 MesProductionReocrdGenerateStepServiceBak extends BaseStepService { - @Autowired - private SnowflakeIdMaker snowflakeIdMaker; - - @Autowired - private IMesProductionProcessContextStepService productionProcessContextStepService; - - @Autowired - private MesProduceSnRepository mesProduceSnRepository; - - @Autowired - private MesProductionRecordRepository mesProductionRecordRepository; - - @Autowired - private IMesProductionDispatchContextStepService mesProductionDispatchContextStepService; - - @Autowired - private IMesProductionCustomContextStepService productionCustomContextStepService; - - public static final String ORDER_NO_JIS_SORT = "ORDER_NO_JIS_SORT"; - - - @Override - public StepResult execute(StationRequestBean reqBean) { - - StationResultBean resultBean = new StationResultBean(); - - StepResult stepResult = StepResult.getSuccessComplete(); - /** - * 获取上下文 - */ - MesProductionProcessContext productionProcessContext = productionProcessContextStepService.getEquipmentVariableList(reqBean, MesExtEnumUtil.EQUIP_VARIABLE_TYPE.PRODUCTION.getValue()); - MesWorkCell mesWorkCell = productionProcessContext.getWorkCell(); - MesProdShiftContext mesProdShiftKvBean = productionCustomContextStepService.getMesProdShiftKvBean(reqBean.getOrganizeCode(), reqBean.getWorkCenterCode()); - - List mesProduceSnContexts = mesProductionDispatchContextStepService.getProductionPsOutContext(reqBean); - - List mesProductionRecords = new ArrayList<>(); - mesProduceSnContexts.forEach(mesProductionPsOutContext -> { - - MesProductionRecord mesProductionRecord = getMesProductionRecord(productionProcessContext, mesProductionPsOutContext,mesProdShiftKvBean, reqBean); - ConvertBean.serviceModelInitialize(mesProductionRecord, reqBean.getUserInfo()); - mesProductionRecords.add(mesProductionRecord); - }); - - mesProductionRecordRepository.saveAll(mesProductionRecords); - if (Objects.equal(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(),mesWorkCell.getIsCountFinish())) { - // 保存班次加工数量上下文 - productionCustomContextStepService.addProductionStatisticsContext(reqBean,mesProduceSnContexts.size()); - } - - return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "生成加工记录成功"); - } - - private MesProductionRecord getMesProductionRecord(MesProductionProcessContext productionProcessContext, MesProductionPsOutContext mesProduceSn,MesProdShiftContext mesProdShiftKvBean, StationRequestBean reqBean) { - MesProductionRecord mesProductionRecord = new MesProductionRecord(); - - mesProductionRecord.setSerialNumber(mesProduceSn.getSerialNumber()); - mesProductionRecord.setAreaCode(mesProduceSn.getAreaCode()); - mesProductionRecord.setCraftCode(mesProduceSn.getCraftCode()); - mesProductionRecord.setCustSn(mesProduceSn.getCustSn()); - mesProductionRecord.setProductSn(mesProduceSn.getCustSn()); - mesProductionRecord.setEquipmentCode(productionProcessContext.getCurCellEquip().getEquipmentCode()); - mesProductionRecord.setEquipmentName(productionProcessContext.getCurCellEquip().getEquipmentName()); - mesProductionRecord.setPartNo(mesProduceSn.getPartNo()); - mesProductionRecord.setPartName(mesProduceSn.getPartName()); - mesProductionRecord.setIsComplete(MesEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); - mesProductionRecord.setCompleteDateTime(DateUtil.formatDateTime(new Date())); - mesProductionRecord.setLotNo(mesProduceSn.getLotNo()); - mesProductionRecord.setShiftGroup(mesProdShiftKvBean.getShiftGroup()); - mesProductionRecord.setShiftCode(mesProdShiftKvBean.getShiftCode()); - mesProductionRecord.setWorkOrderNo(mesProduceSn.getWorkOrderNo()); - - String mouldNo = ""; - MesEquipVariableCollectContext mesFirstMouldNoCollectContext = mesProductionDispatchContextStepService.getFirstMouldNoContext(reqBean); - MesEquipVariableCollectContext mesMouldNoCollectContext = mesProductionDispatchContextStepService.getMouldNoContext(reqBean); - - if (mesFirstMouldNoCollectContext != null) { - mouldNo = mesFirstMouldNoCollectContext.getEquipVariableValue(); - } else if (mesFirstMouldNoCollectContext == null && mesMouldNoCollectContext != null) { - mouldNo = mesMouldNoCollectContext.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.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/MesWorkOrderSaveStepServiceBak.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderSaveStepServiceBak.java deleted file mode 100644 index 5c19e7a..0000000 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderSaveStepServiceBak.java +++ /dev/null @@ -1,71 +0,0 @@ -package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step; - -import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionDispatchContextStepService; -import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService; -import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPartContext; -import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPsOutContext; -import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseStepService; -import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; -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 lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; -import java.util.stream.Collectors; - -/** - * @Description : 保存加工单信息工步 - * @Reference : - * @Author : Castle - * @CreateDate : 2024/6/11 18:50 - * @Modify: - **/ -@Slf4j -@Service("mesWorkOrderSaveStepServiceBak") -public class MesWorkOrderSaveStepServiceBak extends BaseStepService { - @Autowired - private IMesProductionProcessContextStepService productionProcessContextStepService; - - @Autowired - private IMesProductionDispatchContextStepService productionDispatchContextStepService; - - @Override - public StepResult execute(StationRequestBean reqBean) { - StationResultBean resultBean = new StationResultBean(); - StepResult stepResult = StepResult.getSuccessComplete(); - //1. 获取上下文中的MesProductionPartContext 产出零件 - List productionPartContext = productionDispatchContextStepService.getProductionPartContext(reqBean); - if (productionPartContext.isEmpty()){ - return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "没有可保存的加工单信息"); - } - // 判断为空腔 isFinishedCode = true 就是空腔 - // stream 过滤 isFinishedCode = false 并且 foreignKey != null 并且 加工单code 为不为空; - List filteredPartContext = productionPartContext.stream().filter(item -> item.getIsFinishCode() == CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() && item.getForeignKey() != null && item.getWorkOrderNo() != null).collect(Collectors.toList()); - if (filteredPartContext.isEmpty()){ - return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "过滤后,没有可保存的加工单信息"); - } - // 怎么判断条码生成过了? 看产出零件和入料,in 要判端relateId有值也需要新增, out生成条码 上下文 - // 如果没有in 需要加, - // 如果有out条码,则判断id是否为空,不为空则是新生成的 - - //2. 判断是否为空,id是否为空,如果没有则返回,id为工单id - List collectContext = productionPartContext.stream().filter(item -> item.getId() != null).collect(Collectors.toList()); - //3. 如果id不为空,查询工单信息 - if (collectContext.isEmpty()){ - return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "没有可保存的加工单信息"); - } - //4. 判断当前产出的零件MesProductionPsOutContext中是否有id,如果有就是新生成的 - List productionPsOutContext = productionDispatchContextStepService.getProductionPsOutContext(reqBean); - //过滤出新生成的条码,没有条码id就是新生成的 - List produceSnList = productionPsOutContext.stream().filter(item -> item.getId() != null).collect(Collectors.toList()); - if (produceSnList.isEmpty()){ - return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "没有可保存的加工单信息"); - } -// productionPsOutContext.stream().collect(Collectors.groupingBy(MesProductionPsOutContext::getId)) - //5. 修改完成数量,完成数量大于计划数量,就需要修改工单的状态为完成 - return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "保存加工单信息成功"); - } -}