工步条码打印

tags/yfai-pcn-ext-v1.0
administrator 11 months ago
parent a5f48cf90a
commit 2a2f606ed7

@ -276,6 +276,10 @@ public class MesProduceSnPrintService implements IMesProduceSnPrintService {
//客户零件号 //客户零件号
String custPartNo = getMesCustomerPart(mesProduceSnPrintModel).getCustPartNo(); String custPartNo = getMesCustomerPart(mesProduceSnPrintModel).getCustPartNo();
genSerialNoModel.setCustPartNo(custPartNo); genSerialNoModel.setCustPartNo(custPartNo);
//日期${dateShort}
genSerialNoModel.setYear(getYearShort(date));
genSerialNoModel.setMonth(getMonthShort(date));
genSerialNoModel.setDay(getDayShort(date));
//中杠 - //中杠 -
//生产日期 + 时间 yyyyMMddHHmmss //生产日期 + 时间 yyyyMMddHHmmss
//流水号 5位 每天从1开始 //流水号 5位 每天从1开始

@ -1,7 +1,9 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print; package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPsOutContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPsOutContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesProduceSnPrintDataModel;
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
import cn.estsh.i3plus.pojo.mes.model.StepResult;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -20,5 +22,5 @@ public interface IPrintTemplateStrategyService {
* @param sn * @param sn
* @return * @return
*/ */
Map<String,Object> execute(StationRequestBean reqBean, MesProductionPsOutContext sn , String organizeCode); MesProduceSnPrintDataModel execute(StepResult stepResult, StationRequestBean reqBean, MesProductionPsOutContext sn , String organizeCode);
} }

@ -2,11 +2,13 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.strategy;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.IPrintTemplateStrategyService; import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.IPrintTemplateStrategyService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPsOutContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPsOutContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesProduceSnPrintDataModel;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesCustomerOriganze; import cn.estsh.i3plus.pojo.mes.bean.MesCustomerOriganze;
import cn.estsh.i3plus.pojo.mes.bean.MesPart; import cn.estsh.i3plus.pojo.mes.bean.MesPart;
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
import cn.estsh.i3plus.pojo.mes.model.StepResult;
import cn.estsh.i3plus.pojo.mes.repository.MesCustomerOriganizeRepository; import cn.estsh.i3plus.pojo.mes.repository.MesCustomerOriganizeRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesLabelTemplateRepository; import cn.estsh.i3plus.pojo.mes.repository.MesLabelTemplateRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesPartRepository; import cn.estsh.i3plus.pojo.mes.repository.MesPartRepository;
@ -37,7 +39,7 @@ public class AionPrintStrategy implements IPrintTemplateStrategyService {
@Autowired @Autowired
private MesPartRepository mesPartRao; private MesPartRepository mesPartRao;
@Override @Override
public Map<String,Object> execute(StationRequestBean reqBean, MesProductionPsOutContext sn, String organizeCode) { public MesProduceSnPrintDataModel execute(StepResult stepResult, StationRequestBean reqBean, MesProductionPsOutContext sn, String organizeCode) {
//partNo零件号 //partNo零件号
String partNo = sn.getPartNo(); String partNo = sn.getPartNo();
@ -93,7 +95,8 @@ public class AionPrintStrategy implements IPrintTemplateStrategyService {
map.put("productDate",productDate); map.put("productDate",productDate);
map.put("no",noStr); map.put("no",noStr);
map.put("barcode",productSn); map.put("barcode",productSn);
return map; // return map;
return null;
} }
} }

@ -2,7 +2,9 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.strategy;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.IPrintTemplateStrategyService; import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.IPrintTemplateStrategyService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPsOutContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPsOutContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesProduceSnPrintDataModel;
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
import cn.estsh.i3plus.pojo.mes.model.StepResult;
import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.auth.AuthUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -23,7 +25,7 @@ import java.util.Map;
@Slf4j @Slf4j
public class GqaaPrintStrategy implements IPrintTemplateStrategyService { public class GqaaPrintStrategy implements IPrintTemplateStrategyService {
@Override @Override
public Map<String, Object> execute(StationRequestBean reqBean,MesProductionPsOutContext sn, String organizeCode) { public MesProduceSnPrintDataModel execute(StepResult stepResult, StationRequestBean reqBean, MesProductionPsOutContext sn, String organizeCode) {
Map<String,Object> map = new HashMap<>(); Map<String,Object> map = new HashMap<>();
String partNo = sn.getPartNo(); String partNo = sn.getPartNo();
@ -51,6 +53,6 @@ public class GqaaPrintStrategy implements IPrintTemplateStrategyService {
map.put("factoryName", factoryName); map.put("factoryName", factoryName);
map.put("productDate", productDate); map.put("productDate", productDate);
map.put("barcode", barcode.toString()); map.put("barcode", barcode.toString());
return map; return null;
} }
} }

@ -2,7 +2,9 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.strategy;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.IPrintTemplateStrategyService; import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.IPrintTemplateStrategyService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPsOutContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPsOutContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesProduceSnPrintDataModel;
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
import cn.estsh.i3plus.pojo.mes.model.StepResult;
import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.auth.AuthUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -23,7 +25,7 @@ import java.util.Map;
@Slf4j @Slf4j
public class GqxnyPrintStrategy implements IPrintTemplateStrategyService { public class GqxnyPrintStrategy implements IPrintTemplateStrategyService {
@Override @Override
public Map<String, Object> execute(StationRequestBean reqBean,MesProductionPsOutContext sn, String organizeCode) { public MesProduceSnPrintDataModel execute(StepResult stepResult, StationRequestBean reqBean, MesProductionPsOutContext sn, String organizeCode) {
Map<String,Object> map = new HashMap<>(); Map<String,Object> map = new HashMap<>();
String partNo = sn.getPartNo(); String partNo = sn.getPartNo();
@ -51,6 +53,6 @@ public class GqxnyPrintStrategy implements IPrintTemplateStrategyService {
map.put("factoryName", factoryName); map.put("factoryName", factoryName);
map.put("productDate", productDate); map.put("productDate", productDate);
map.put("barcode", barcode.toString()); map.put("barcode", barcode.toString());
return map; return null;
} }
} }

@ -1,9 +1,13 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.strategy; package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.strategy;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.MesConfigService;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.IPrintTemplateStrategyService; import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.IPrintTemplateStrategyService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPsOutContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPsOutContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesProduceSnPrintDataModel;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.mes.pcn.api.iservice.base.IConfigService;
import cn.estsh.i3plus.pojo.mes.bean.MesConfig;
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
import cn.estsh.i3plus.pojo.mes.model.StepResult;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -24,11 +28,17 @@ import java.util.Map;
@Slf4j @Slf4j
public class NoSortBarCodeGzStrategy implements IPrintTemplateStrategyService { public class NoSortBarCodeGzStrategy implements IPrintTemplateStrategyService {
@Autowired @Autowired
private MesConfigService mesConfigService; private IConfigService configService;
@Override @Override
public Map<String, Object> execute(StationRequestBean reqBean,MesProductionPsOutContext sn, String organizeCode) { public MesProduceSnPrintDataModel execute(StepResult stepResult,StationRequestBean reqBean, MesProductionPsOutContext sn, String organizeCode) {
//获取供应商编码 //获取供应商编码
String supplierCode = mesConfigService.getCfgValue(reqBean.getOrganizeCode(), "supplierCode"); MesConfig mesConfig = configService.getMesConfigByCfgCodeKeyOrg(MesPcnExtConstWords.SUPPLIER_CODE, MesPcnExtConstWords.SUPPLIER_CODE_NO_SORT_GZ, reqBean.getOrganizeCode());
if (null == mesConfig) {
stepResult.setCompleted(false);
stepResult.setMsg(String.format("缺少供应商编码配置,请配置系统参数,配置代码【%s】,配置key为【%s】", MesPcnExtConstWords.SUPPLIER_CODE,MesPcnExtConstWords.SUPPLIER_CODE_NO_SORT_GZ));
return null;
}
String supplierCode = mesConfig.getCfgValue();
//1.根据零件号获取 零件扩展信息 //1.根据零件号获取 零件扩展信息
Map<String,Object> map = new HashMap<>(); Map<String,Object> map = new HashMap<>();
String partNo = sn.getPartNo(); String partNo = sn.getPartNo();
@ -36,16 +46,17 @@ public class NoSortBarCodeGzStrategy implements IPrintTemplateStrategyService {
String factoryName = reqBean.getOrganizeName(); String factoryName = reqBean.getOrganizeName();
String productSn = sn.getProductSn(); String productSn = sn.getProductSn();
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String productDateTime = now.format(formatter); String productDateTime = now.format(formatter);
map.put("partNo", partNo); MesProduceSnPrintDataModel model = new MesProduceSnPrintDataModel();
map.put("partName", partName); model.setPartNo(partNo);
map.put("factoryName", factoryName); model.setPartName(partName);
map.put("supplierCode", supplierCode); model.setFactoryName(factoryName);
map.put("productDate", productDateTime); model.setSupplierCode(supplierCode);
map.put("no", productSn.substring(productSn.length()-4)); model.setProductDate(productDateTime);
map.put("barcode", productSn); model.setNo( productSn.substring(productSn.length()-4));
return map; model.setBarcode(productSn);
return model;
} }
} }

@ -2,14 +2,14 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.strategy;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.IPrintTemplateStrategyService; import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.IPrintTemplateStrategyService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPsOutContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPsOutContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesProduceSnPrintDataModel;
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.i3plus.pojo.mes.model.StepResult;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -22,9 +22,9 @@ import java.util.Map;
**/ **/
@Service @Service
@Slf4j @Slf4j
public class NoSortBarCodeGzNewStrategy implements IPrintTemplateStrategyService { public class XiaoPengPrintStrategy implements IPrintTemplateStrategyService {
@Override @Override
public Map<String, Object> execute(StationRequestBean reqBean,MesProductionPsOutContext sn, String organizeCode) { public MesProduceSnPrintDataModel execute(StepResult stepResult, StationRequestBean reqBean, MesProductionPsOutContext sn, String organizeCode) {
//从条码中截取流水号,流水号 后四位 //从条码中截取流水号,流水号 后四位
String productSn = sn.getProductSn(); String productSn = sn.getProductSn();
Map<String,Object> map = new HashMap<>(); Map<String,Object> map = new HashMap<>();
@ -33,10 +33,11 @@ public class NoSortBarCodeGzNewStrategy implements IPrintTemplateStrategyService
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
String productDateTime = now.format(formatter); String productDateTime = now.format(formatter);
map.put("partNo",partNo); MesProduceSnPrintDataModel model = new MesProduceSnPrintDataModel();
map.put("partName",partName); model.setPartNo(partNo);
map.put("productDateTime",productDateTime); model.setBarcode(productSn);
map.put("barcode",productSn); model.setPartName(partName);
return map; model.setProductDate(productDateTime);
return model;
} }
} }

@ -109,7 +109,7 @@ public class MesAssemblyShowSortStepService extends BaseStepService {
//上下文中不存在进料主条码数据信息 //上下文中不存在进料主条码数据信息
if (CollectionUtils.isEmpty(productionPsInContextList) || CollectionUtils.isEmpty(productionPartContextList)) if (CollectionUtils.isEmpty(productionPsInContextList) || CollectionUtils.isEmpty(productionPartContextList))
execNonCompleteAndSendMsg(reqBean, resultBean.writeDbLog(), stepResult, String.format("生产线[%s]工位[%s]的上下文中已不存在加工单或条码数据信息,请重置工序!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode())); execExpSendMsgAndThrowEx(reqBean, resultBean.writeDbLog(), String.format("生产线[%s]工位[%s]的上下文中已不存在加工单或条码数据信息,请重置工序!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode()));
//拿到当前最大的foreignKey //拿到当前最大的foreignKey
Optional<MesProductionPsInContext> maxForeignKeyOptional = productionPsInContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getForeignKey()))).max(Comparator.comparing(MesProductionPsInContext::getForeignKey)); Optional<MesProductionPsInContext> maxForeignKeyOptional = productionPsInContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getForeignKey()))).max(Comparator.comparing(MesProductionPsInContext::getForeignKey));

@ -5,19 +5,24 @@ import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepServ
import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.IPrintTemplateStrategyService; 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.MesProdRuleContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPsOutContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPsOutContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesProduceSnPrintDataModel;
import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseStepService; import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseStepService;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplate; import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplate;
import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplateParam; import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplateParam;
import cn.estsh.i3plus.pojo.mes.bean.MesPrintedSnLog;
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
import cn.estsh.i3plus.pojo.mes.model.StationResultBean; import cn.estsh.i3plus.pojo.mes.model.StationResultBean;
import cn.estsh.i3plus.pojo.mes.model.StepResult; import cn.estsh.i3plus.pojo.mes.model.StepResult;
import cn.estsh.i3plus.pojo.mes.repository.IMesPrintedSnLogRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesLabelTemplateParamRepository; import cn.estsh.i3plus.pojo.mes.repository.MesLabelTemplateParamRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesLabelTemplateRepository; import cn.estsh.i3plus.pojo.mes.repository.MesLabelTemplateRepository;
import cn.estsh.impp.framework.boot.util.SpringContextsUtil; import cn.estsh.impp.framework.boot.util.SpringContextsUtil;
import cn.hutool.core.bean.BeanUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -33,8 +38,6 @@ import java.util.stream.Collectors;
**/ **/
@Service @Service
public class MesProductSnPrintStepService extends BaseStepService { public class MesProductSnPrintStepService extends BaseStepService {
@Autowired
private IMesProductionProcessContextStepService productionProcessContextStepService;
@Autowired @Autowired
private IMesProductionDispatchContextStepService mesProductionDispatchContextStepService; private IMesProductionDispatchContextStepService mesProductionDispatchContextStepService;
@ -45,6 +48,9 @@ public class MesProductSnPrintStepService extends BaseStepService {
@Autowired @Autowired
private MesLabelTemplateParamRepository labelTemplateParamRao; private MesLabelTemplateParamRepository labelTemplateParamRao;
@Autowired
private IMesPrintedSnLogRepository snLogRao;
@Override @Override
public StepResult execute(StationRequestBean reqBean) { public StepResult execute(StationRequestBean reqBean) {
/** /**
@ -65,7 +71,7 @@ public class MesProductSnPrintStepService extends BaseStepService {
List<MesProdRuleContext> prodRuleDataContext = mesProductionDispatchContextStepService.getProdRuleDataContext(reqBean); List<MesProdRuleContext> prodRuleDataContext = mesProductionDispatchContextStepService.getProdRuleDataContext(reqBean);
Map<Integer, List<MesProdRuleContext>> prodRuleContextMap = prodRuleDataContext.stream().collect(Collectors.groupingBy(MesProdRuleContext::getForeignKey)); Map<Integer, List<MesProdRuleContext>> prodRuleContextMap = prodRuleDataContext.stream().collect(Collectors.groupingBy(MesProdRuleContext::getForeignKey));
//需要打印的数据 String 是打印模板code //需要打印的数据 String 是打印模板code
Map<String, List<Map<String, Object>>> resultData = new HashMap<>(); Map<String, List<MesProduceSnPrintDataModel>> resultData = new HashMap<>();
//用于保存客户模板代码 和 模板信息关系 //用于保存客户模板代码 和 模板信息关系
Map<String, MesLabelTemplate> labelTemplateMap = new HashMap<>(); Map<String, MesLabelTemplate> labelTemplateMap = new HashMap<>();
//返回打印标识 给前端 //返回打印标识 给前端
@ -105,14 +111,17 @@ public class MesProductSnPrintStepService extends BaseStepService {
execExpSendMsgAndThrowEx(reqBean, resultBean, String.format("零件号[%s]的模板代码[%s]的反射类丢失,请配置!", sn.getPartNo(), prodLabelTemplate)); execExpSendMsgAndThrowEx(reqBean, resultBean, String.format("零件号[%s]的模板代码[%s]的反射类丢失,请配置!", sn.getPartNo(), prodLabelTemplate));
} }
IPrintTemplateStrategyService strategyService = (IPrintTemplateStrategyService) SpringContextsUtil.getBean(methodCode); IPrintTemplateStrategyService strategyService = (IPrintTemplateStrategyService) SpringContextsUtil.getBean(methodCode);
Map<String, Object> snData = strategyService.execute(reqBean,sn, organizeCode); MesProduceSnPrintDataModel model = strategyService.execute(stepResult, reqBean, sn, organizeCode);
List<Map<String, Object>> printData; if (!stepResult.isCompleted()){
execExpSendMsgAndThrowEx(reqBean, resultBean, stepResult.getMsg());
}
List<MesProduceSnPrintDataModel> printData;
if (resultData.containsKey(labelTemplate.getTemplateCode())) { if (resultData.containsKey(labelTemplate.getTemplateCode())) {
printData = resultData.get(labelTemplate.getTemplateCode()); printData = resultData.get(labelTemplate.getTemplateCode());
printData.add(snData); printData.add(model);
} else { } else {
printData = new ArrayList<>(); printData = new ArrayList<>();
printData.add(snData); printData.add(model);
resultData.put(labelTemplate.getTemplateCode(), printData); resultData.put(labelTemplate.getTemplateCode(), printData);
} }
} }
@ -127,9 +136,17 @@ public class MesProductSnPrintStepService extends BaseStepService {
*/ */
List<Map<String, Object>> printData = new ArrayList<>(); List<Map<String, Object>> printData = new ArrayList<>();
Set<String> labelKeys = labelTemplateMap.keySet(); Set<String> labelKeys = labelTemplateMap.keySet();
List<MesPrintedSnLog> snLogList = new ArrayList<>();
for (String labelKey : labelKeys) { for (String labelKey : labelKeys) {
Map<String,Object> paramInfo = new HashMap<>(); Map<String,Object> paramInfo = new HashMap<>();
List<Map<String, Object>> dataMaps = resultData.get(labelKey); List<MesProduceSnPrintDataModel> dataMaps = resultData.get(labelKey);
for (MesProduceSnPrintDataModel dataModel : dataMaps) {
MesPrintedSnLog snLog = new MesPrintedSnLog();
BeanUtil.copyProperties(dataModel,snLog);
snLog.setOrganizeCode(reqBean.getOrganizeCode());
ConvertBean.saveOrUpdate(snLog,reqBean.getUserInfo());
snLogList.add(snLog);
}
MesLabelTemplate mesLabelTemplate = labelTemplateMap.get(labelKey); MesLabelTemplate mesLabelTemplate = labelTemplateMap.get(labelKey);
String templateContent = mesLabelTemplate.getTemplateContent(); String templateContent = mesLabelTemplate.getTemplateContent();
paramInfo.put("templateContent",templateContent); paramInfo.put("templateContent",templateContent);
@ -148,7 +165,8 @@ public class MesProductSnPrintStepService extends BaseStepService {
this.sendMessage(reqBean, resultBean); this.sendMessage(reqBean, resultBean);
//todo 更新打印状态 //todo 更新打印状态
//todo 保存打印条码 //保存打印条码记录
snLogRao.saveAll(snLogList);
return stepResult; return stepResult;
} }

@ -29,6 +29,8 @@ public class MesPcnExtConstWords {
public static final String ORGANIZE_NAME = "ORGANIZE_NAME"; public static final String ORGANIZE_NAME = "ORGANIZE_NAME";
//供应商常量 //供应商常量
public static final String SUPPLIER_CODE = "SUPPLIER_CODE"; public static final String SUPPLIER_CODE = "SUPPLIER_CODE";
//获取供应商广州key
public static final String SUPPLIER_CODE_NO_SORT_GZ = "SUPPLIER_CODE_NO_SORT_GZ";
// 系统配置代码 // 系统配置代码
public static final String CFG_CODE = "cfgCode"; public static final String CFG_CODE = "cfgCode";
// 用户ID // 用户ID

Loading…
Cancel
Save