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 4cfc6d7..27e9fd3 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 @@ -9,9 +9,11 @@ import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplate; +import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplateParam; 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.MesLabelTemplateParamRepository; import cn.estsh.i3plus.pojo.mes.repository.MesLabelTemplateRepository; import cn.estsh.impp.framework.boot.util.SpringContextsUtil; import com.alibaba.fastjson.JSONObject; @@ -38,14 +40,19 @@ public class MesProductSnPrintStepService extends BaseStepService { @Autowired private MesLabelTemplateRepository labelTemplateRao; + @Autowired + private MesLabelTemplateParamRepository labelTemplateParamRao; + @Override public StepResult execute(StationRequestBean reqBean) { /** - * 数据层级 List> - * Map - * String: - * content : 打印模板 - * data : List> 数据的map + * Map + * valueList:List> + * paramInfo:{ + * templateContent:xxxx, + * labelTemplateParamList: List> + * } + * */ String organizeCode = reqBean.getOrganizeCode(); StationResultBean resultBean = new StationResultBean(); @@ -90,15 +97,27 @@ public class MesProductSnPrintStepService extends BaseStepService { resultData.put(labelTemplate.getTemplateCode(), printData); } } + + /** Map + * valueList:List> + * paramInfo:{ + * templateContent:xxxx, + * labelTemplateParamList: List> + * } + * + */ List> printData = new ArrayList<>(); Set labelKeys = labelTemplateMap.keySet(); for (String labelKey : labelKeys) { + Map paramInfo = new HashMap<>(); List> dataMaps = resultData.get(labelKey); MesLabelTemplate mesLabelTemplate = labelTemplateMap.get(labelKey); String templateContent = mesLabelTemplate.getTemplateContent(); + paramInfo.put("templateContent",templateContent); + paramInfo.put("labelTemplateParamList",mesLabelTemplate.getLabelTemplateParamList()); Map data = new HashMap<>(); - data.put("templateContent", templateContent); - data.put("data", dataMaps); + data.put("paramInfo", paramInfo); + data.put("valueList", dataMaps); printData.add(data); } //前端接收到busiTyep是customComponent,并且 dataType是file类型的消息,就需要打印后续消息里的数据,一个模板对应多个打印数据 @@ -122,6 +141,15 @@ public class MesProductSnPrintStepService extends BaseStepService { DdlPackBean templatePackBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPreparedPack.getStringEqualPack(templateCode, "templateCode", templatePackBean); List mesLabelTemplateList = labelTemplateRao.findByHqlWhere(templatePackBean); - return mesLabelTemplateList.isEmpty() ? null : mesLabelTemplateList.get(0); + MesLabelTemplate mesLabelTemplate = null; + if (!mesLabelTemplateList.isEmpty()){ + mesLabelTemplate = mesLabelTemplateList.get(0); + //级联获取labelTemplateParam + DdlPackBean templateParamPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getNumEqualPack(mesLabelTemplate.getId(), "templateId", templatePackBean); + List params = labelTemplateParamRao.findByHqlWhere(templateParamPackBean); + mesLabelTemplate.setLabelTemplateParamList(params); + } + return mesLabelTemplate; } }