|
|
|
@ -3,9 +3,11 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionDispatchContextStepService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.IPrintTemplateStrategyService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProdRuleContext;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPsOutContext;
|
|
|
|
|
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.tool.DdlPreparedPack;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplate;
|
|
|
|
@ -16,11 +18,11 @@ import cn.estsh.i3plus.pojo.mes.model.StepResult;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.repository.MesLabelTemplateParamRepository;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.repository.MesLabelTemplateRepository;
|
|
|
|
|
import cn.estsh.impp.framework.boot.util.SpringContextsUtil;
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @Description : 打印主条码
|
|
|
|
@ -59,6 +61,9 @@ public class MesProductSnPrintStepService extends BaseStepService {
|
|
|
|
|
String organizeCode = reqBean.getOrganizeCode();
|
|
|
|
|
StationResultBean resultBean = new StationResultBean();
|
|
|
|
|
StepResult stepResult = StepResult.getSuccessComplete();
|
|
|
|
|
// 根据foreign找出加工规则对应的上下文,判断是否需要打印
|
|
|
|
|
List<MesProdRuleContext> prodRuleDataContext = mesProductionDispatchContextStepService.getProdRuleDataContext(reqBean);
|
|
|
|
|
Map<Integer, List<MesProdRuleContext>> prodRuleContextMap = prodRuleDataContext.stream().collect(Collectors.groupingBy(MesProdRuleContext::getForeignKey));
|
|
|
|
|
//需要打印的数据 String 是打印模板code
|
|
|
|
|
Map<String, List<Map<String, Object>>> resultData = new HashMap<>();
|
|
|
|
|
//用于保存客户模板代码 和 模板信息关系
|
|
|
|
@ -68,6 +73,15 @@ public class MesProductSnPrintStepService extends BaseStepService {
|
|
|
|
|
List<MesProductionPsOutContext> productionPsOutContextList = mesProductionDispatchContextStepService.getProductionPsOutContext(reqBean);
|
|
|
|
|
//2. 获取条码需要模板、模板代码、打印机 --- 循环遍历条码 封装数据
|
|
|
|
|
for (MesProductionPsOutContext sn : productionPsOutContextList) {
|
|
|
|
|
List<MesProdRuleContext> mesProdRuleContexts = prodRuleContextMap.get(sn.getForeignKey());
|
|
|
|
|
if (mesProdRuleContexts == null || mesProdRuleContexts.isEmpty()) {
|
|
|
|
|
execExpSendMsgAndThrowEx(reqBean, resultBean, String.format("零件号[%s]的加工规则丢失,请配置!", sn.getPartNo()));
|
|
|
|
|
}
|
|
|
|
|
MesProdRuleContext mesProdRuleContext = mesProdRuleContexts.get(0);
|
|
|
|
|
Integer isPrint = mesProdRuleContext.getIsPrint();
|
|
|
|
|
if (isPrint == null || isPrint == CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
String prodLabelTemplate = sn.getProdLabelTemplate();
|
|
|
|
|
if (prodLabelTemplate == null) {
|
|
|
|
|
execExpSendMsgAndThrowEx(reqBean, resultBean, String.format("零件号[%s]的模板代码[%s]的模板信息丢失,请配置!", sn.getPartNo(), prodLabelTemplate));
|
|
|
|
|