forked from I3-YF/i3plus-mes-pcn-yfai
tags/yfai-pcn-ext-v1.0
parent
b6ede3b70c
commit
d53f56800e
@ -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<MesEquipmentLog> equipmentLogList = mesEquipmentLogExtService.getEquipmentLogList(reqBean.getOrganizeCode(), curCellEquip.getEquipId());
|
||||
|
||||
List<MesEquipmentVariable> equipmentVariableList = mesEquipmentExtService.getEquipmentVariableList(productionProcessContext.getOrganizeCode(), curCellEquip.getEquipmentCode(), MesExtEnumUtil.EQUIP_VARIABLE_TYPE.PROCESS_FINISH.getValue());
|
||||
|
||||
List<Long> 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<MesEquipmentLogDetail> mesEquipmentLogDetails = new ArrayList<>();
|
||||
|
||||
curCellEquip.setQuality(MesExtEnumUtil.EQUIP_LOG_QUALITY.defaultQuality());
|
||||
Optional<MesEquipmentLog> 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();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
Loading…
Reference in New Issue