tags/yfai-pcn-ext-v1.0
微笑着面对明天 12 months ago
parent b6ede3b70c
commit d53f56800e

@ -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;

@ -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…
Cancel
Save