From 9cf6a961511dd3c49f8013ca7af1d4845412385f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=AE=E7=AC=91=E7=9D=80=E9=9D=A2=E5=AF=B9=E6=98=8E?= =?UTF-8?q?=E5=A4=A9?= <752558143@qq.com> Date: Tue, 28 May 2024 18:43:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../step/MesProductSnSaveStepService.java | 60 ++++++++++++ .../MesProductionReocrdGenerateStepService.java | 103 +++++++++++++++++++++ 2 files changed, 163 insertions(+) create mode 100644 modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnSaveStepService.java create mode 100644 modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionReocrdGenerateStepService.java 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/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; + } + +}