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

@ -1,20 +1,17 @@
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.constant.MesCommonConstant;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesCellEquipContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesEquipVariableCollectContext;
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.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil;
import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentVariableCfg;
import cn.estsh.i3plus.pojo.mes.bean.MesModelMultiCavity;
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;
@ -22,17 +19,14 @@ 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 org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors;
/**
* @Description :
@ -41,6 +35,8 @@ import java.util.stream.Collectors;
@Slf4j
@Service("mesGenerateSnService")
public class MesGenerateSnService extends BaseStepService {
@Autowired
private SnowflakeIdMaker snowflakeIdMaker;
@Autowired
private IMesProductionProcessContextStepService productionProcessContextStepService;
@ -65,11 +61,10 @@ public class MesGenerateSnService extends BaseStepService {
StepResult stepResult = StepResult.getSuccessComplete();
MesProductionProcessContext productionProcessContext = productionProcessContextStepService.getEquipmentVariableList(reqBean, MesExtEnumUtil.EQUIP_VARIABLE_TYPE.PRODUCTION.getValue());
List<MesModelMultiCavity> mesModelMultiCavities = productionProcessContext.getMesModelMultiCavities();
MesWorkCell mesWorkCell = productionProcessContext.getWorkCell();
List<MesMouldMultiCavity> mesModelMultiCavities = productionProcessContext.getMouldCavityList();
List<MesProduceSn> mesProduceSns = new ArrayList<>();
for (MesModelMultiCavity modelMultiCavity : mesModelMultiCavities) {
for (MesMouldMultiCavity modelMultiCavity : mesModelMultiCavities) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(reqBean.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(modelMultiCavity.getPartNo(), "partNo", packBean);
MesPart mesPart = mesPartRepository.getByProperty(packBean);
@ -77,10 +72,12 @@ public class MesGenerateSnService extends BaseStepService {
return execNonCompleteAndSendMsgReturn(reqBean, resultBean, stepResult, "零件号不存在");
}
String sn = generateByRule(mesPart);
MesProduceSn mesProduceSn = generateMesProduceSn(mesPart, sn);
MesProduceSn mesProduceSn = generateMesProduceSn(mesPart, sn,mesWorkCell, productionProcessContext,reqBean);
mesProduceSns.add(mesProduceSn);
}
mesProduceSnRepository.saveAll(mesProduceSns);
MesSnProductionProcessContext mesSnProductionProcessContext = (MesSnProductionProcessContext) productionProcessContext;
mesSnProductionProcessContext.productSns(mesProduceSns);
return StepResult.getSuccessComplete();
}
@ -94,21 +91,31 @@ public class MesGenerateSnService extends BaseStepService {
return resultList.get(0);
}
private MesProduceSn generateMesProduceSn(MesPart mesPart, String sn) {
private MesProduceSn generateMesProduceSn(MesPart mesPart, String sn, MesWorkCell mesWorkCell,MesProductionProcessContext productionProcessContext, StationRequestBean reqBean) {
long serialNum = snowflakeIdMaker.nextId();
MesProduceSn mesProduceSn = new MesProduceSn();
mesProduceSn.setSerialNumber(serialNum + "");
mesProduceSn.setProductSn(sn);
mesProduceSn.setQcStatus();
mesProduceSn.setWorkOrderNo();
mesProduceSn.setAreaCode();
mesProduceSn.setColorName();
mesProduceSn.setCompensateTime();
mesProduceSn.setCraftCode();
mesProduceSn.setCustCode();
mesProduceSn.setCustLabelTemplate();
mesProduceSn.setCustPartNo();
mesProduceSn.setEquipmentCode();
mesProduceSn.setEquipmentName();
mesProduceSn.set();
mesProduceSn.setCustSn(sn);
mesProduceSn.setPartNo(mesPart.getPartNo());
mesProduceSn.setPartNameRdd(mesPart.getPartName());
mesProduceSn.setAreaCode(mesWorkCell.getAreaCode());
mesProduceSn.setWorkCenterCode(mesWorkCell.getWorkCenterCode());
mesProduceSn.setWorkCellCode(mesWorkCell.getWorkCellCode());
mesProduceSn.setProcessLabelTemplate(mesPart.getProcessLabelTemplate());
mesProduceSn.setCustLabelTemplate(mesPart.getCustLabelTemplate());
mesProduceSn.setProcessLabelTemplate(mesPart.getProcessLabelTemplate());
mesProduceSn.setQty(1d);
mesProduceSn.setSnStatus(10);
mesProduceSn.setQcStatus(MesExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getValue());
mesProduceSn.setLotNo(DateUtil.format(new Date(), "YYYYMMDD"));
mesProduceSn.setRouteCode(reqBean.getRouteCode());
mesProduceSn.setProcessCode(productionProcessContext.getProcessCode());
mesProduceSn.setCraftCode(productionProcessContext.getCraftCode());
mesProduceSn.setPrintCount(0);
mesProduceSn.setPrintStatus(10);
return mesProduceSn;
}
}

@ -0,0 +1,31 @@
package cn.estsh.i3plus.ext.mes.pcn.pojo.context;
import cn.estsh.i3plus.pojo.mes.bean.*;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.TreeSet;
import java.util.stream.Collectors;
/**
*
*/
@Data
public class MesSnProductionProcessContext extends MesProductionProcessContext{
@ApiParam("零件条码信息")
private String produceSnJson;
//上下文赋值一模多腔信息
public MesSnProductionProcessContext productSns(List<MesProduceSn> mesProduceSns) {
this.produceSnJson = !CollectionUtils.isEmpty(mesProduceSns) ? JSONObject.toJSONString(mesProduceSns) : null;
return this;
}
}
Loading…
Cancel
Save