From d53f56800e532fb52a1e2b27cd9e8d00e01a22c5 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: Sat, 25 May 2024 16:09:03 +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 --- ...e.java => MesProductSnGenerateStepService.java} | 4 +- .../MesVariableWhenFinishedReadStepService.java | 112 +++++++++++++++++++++ 2 files changed, 114 insertions(+), 2 deletions(-) rename modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/{MesGenerateSnService.java => MesProductSnGenerateStepService.java} (98%) create mode 100644 modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesVariableWhenFinishedReadStepService.java diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesGenerateSnService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnGenerateStepService.java similarity index 98% rename from modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesGenerateSnService.java rename to modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnGenerateStepService.java index 6c24504..939d142 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesGenerateSnService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnGenerateStepService.java @@ -33,8 +33,8 @@ import java.util.List; * @Author : wangjie **/ @Slf4j -@Service("mesGenerateSnService") -public class MesGenerateSnService extends BaseStepService { +@Service +public class MesProductSnGenerateStepService extends BaseStepService { @Autowired private SnowflakeIdMaker snowflakeIdMaker; 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 new file mode 100644 index 0000000..55de276 --- /dev/null +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesVariableWhenFinishedReadStepService.java @@ -0,0 +1,112 @@ +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.apiservice.serviceimpl.base.MesEquipmentExtService; +import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.equiplog.MesEquipmentLogExtService; +import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesCellEquipContext; +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.*; +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.MesEquipmentLogDetailRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentLogRepository; +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.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * @Description : 保存加工参数 + * @Author : wangjie + **/ +@Slf4j +@Service +public class MesVariableWhenFinishedReadStepService extends BaseStepService { + @Autowired + private SnowflakeIdMaker snowflakeIdMaker; + + @Autowired + private IMesProductionProcessContextStepService productionProcessContextStepService; + + @Autowired + private MesPartRepository mesPartRepository; + + @Autowired + private MesProduceSnRepository mesProduceSnRepository; + + @Autowired + private ISyncFuncService syncFuncService; + + private MesEquipmentLogExtService mesEquipmentLogExtService; + + private MesEquipmentExtService mesEquipmentExtService; + + private MesEquipmentLogDetailRepository mesEquipmentLogDetailRepository; + + + + 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.getCurCellEquipment(reqBean); + MesCellEquipContext curCellEquip = productionProcessContext.getCurCellEquip(); + + List equipmentLogList = mesEquipmentLogExtService.getEquipmentLogList(reqBean.getOrganizeCode(), curCellEquip.getEquipId()); + + List equipmentVariableList = mesEquipmentExtService.getEquipmentVariableList(productionProcessContext.getOrganizeCode(), curCellEquip.getEquipmentCode(), MesExtEnumUtil.EQUIP_VARIABLE_TYPE.PROCESS_FINISH.getValue()); + + List clientHandleList = equipmentVariableList.stream().filter(o -> o.getClientHandle() != null).map( o -> Long.valueOf(o.getClientHandle().longValue())).collect(Collectors.toList()); + + equipmentLogList = equipmentLogList.stream().filter(mesEquipmentLog -> clientHandleList.contains(mesEquipmentLog.getId())).collect(Collectors.toList()); + + + List mesEquipmentLogDetails = new ArrayList<>(); + + curCellEquip.setQuality(MesExtEnumUtil.EQUIP_LOG_QUALITY.defaultQuality()); + Optional optional = CollectionUtils.isEmpty(equipmentLogList) ? null : equipmentLogList.stream().filter(o -> (null != o && !mesEquipmentLogExtService.checkEquipQuality(o.getQuality()))).findFirst(); + if (null != optional && optional.isPresent()) curCellEquip.setQuality(optional.get().getQuality()); + productionProcessContextStepService.sendEquipQualityMessage(reqBean, curCellEquip); + MesSnProductionProcessContext mesSnProductionProcessContext = (MesSnProductionProcessContext) productionProcessContext; + + for (MesEquipmentLog mesEquipmentLog : equipmentLogList) { + MesEquipmentLogDetail mesEquipmentLogDetail = new MesEquipmentLogDetail(); + BeanUtils.copyProperties(mesEquipmentLog, mesEquipmentLogDetail); + mesEquipmentLogDetail.setAreaCode(reqBean.getAreaCode()); + mesEquipmentLogDetail.setCraftCode(productionProcessContext.getCraftCode()); + mesEquipmentLogDetail.setProcessCode(reqBean.getProcessCode()); + mesEquipmentLogDetail.setWorkCenterCode(reqBean.getWorkCenterCode()); + mesEquipmentLogDetail.setExtend(mesSnProductionProcessContext.getProduceSnJson()); + mesEquipmentLogDetails.add(mesEquipmentLogDetail); + } + mesEquipmentLogDetailRepository.saveAll(mesEquipmentLogDetails); + + + return StepResult.getSuccessComplete(); + } + + + +}