From 7dcaeb9621b8878723eccc12e0b5768611baf510 Mon Sep 17 00:00:00 2001 From: administrator Date: Fri, 21 Jun 2024 20:11:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=93=E5=8D=B0=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/step/MesProductSnPrintStepService.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnPrintStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnPrintStepService.java index bcb583c..107103a 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnPrintStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnPrintStepService.java @@ -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 prodRuleDataContext = mesProductionDispatchContextStepService.getProdRuleDataContext(reqBean); + Map> prodRuleContextMap = prodRuleDataContext.stream().collect(Collectors.groupingBy(MesProdRuleContext::getForeignKey)); //需要打印的数据 String 是打印模板code Map>> resultData = new HashMap<>(); //用于保存客户模板代码 和 模板信息关系 @@ -68,6 +73,15 @@ public class MesProductSnPrintStepService extends BaseStepService { List productionPsOutContextList = mesProductionDispatchContextStepService.getProductionPsOutContext(reqBean); //2. 获取条码需要模板、模板代码、打印机 --- 循环遍历条码 封装数据 for (MesProductionPsOutContext sn : productionPsOutContextList) { + List 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));