修复自定义打印问题

dev-temp-nht-202502180000-customprint
jason 3 months ago
parent 53c609b4c2
commit 0dc4d80053

@ -40,7 +40,7 @@ import java.util.*;
* @CreateDate 2024/9/26 18:20
* @Modify:
**/
@Component
@Component(value = "CustomFieldPrintStrategy")
@Slf4j
public class CustomFieldPrintStrategy implements IPrintTemplateStrategyService {
@Autowired
@ -83,15 +83,16 @@ public class CustomFieldPrintStrategy implements IPrintTemplateStrategyService {
MesProduceSn produceSn = generateMesProduceSn(mesPart, syncFuncService.syncSerialNo(genSerialNoModel.partSnParam(mesPart.getPartSnParam()), mesProduceSnPrintModel.getUserName(), organizeCode, 1).getResultList().get(0).toString(), mesProduceSnPrintModel.getUserName(), mesProduceSnPrintModel.getQty());
//封装打印信息
MesProduceSnPrintDataModel printDataModel = getModel(produceSn, customerPart);
mesProduceSnPrintModel.getMesProduceSnPrintDataModelList().add(printDataModel);
// mesProduceSnPrintModel.getMesProduceSnPrintDataModelList().add(printDataModel);
mesProduceSnPrintModel.getMesProduceSnPrintDataModelList().clear();
mesProduceSnPrintModel.getMesProduceSnList().add(produceSn);
Map<String, Object> printTemplateData = new HashMap<>(getPrintContextMap(produceSn, customerPart));
if (!CollectionUtils.isEmpty(fieldValueList)) {
Map<String, Object> printTemplateData = new HashMap<>();
for (MesLabelTemplateFieldValue fieldValue : fieldValueList) {
printTemplateData.put(fieldValue.getTemplateParam(), fieldValue.getFieldValue());
}
mesProduceSnPrintModel.getPrintContextList().add(printTemplateData);
}
mesProduceSnPrintModel.getPrintContextList().add(printTemplateData);
//保存打印记录
mesProduceSnPrintModel.getMesPrintedSnLogList().add(mesPrintedSnLogService.getMesPrintedSnLog(mesProduceSnPrintModel.getUserName(), organizeCode, printDataModel));
}
@ -99,14 +100,15 @@ public class CustomFieldPrintStrategy implements IPrintTemplateStrategyService {
MesProduceSn mesProduceSn = mesProduceSnPrintModel.getMesProduceSnList().get(0);
//封装打印信息
MesProduceSnPrintDataModel printDataModel = getModel(mesProduceSn, customerPart);
mesProduceSnPrintModel.getMesProduceSnPrintDataModelList().add(printDataModel);
// mesProduceSnPrintModel.getMesProduceSnPrintDataModelList().add(printDataModel);
mesProduceSnPrintModel.getMesProduceSnPrintDataModelList().clear();
Map<String, Object> printTemplateData = new HashMap<>(getPrintContextMap(mesProduceSn, customerPart));
if (!CollectionUtils.isEmpty(fieldValueList)) {
Map<String, Object> printTemplateData = new HashMap<>();
for (MesLabelTemplateFieldValue fieldValue : fieldValueList) {
printTemplateData.put(fieldValue.getTemplateParam(), fieldValue.getFieldValue());
}
mesProduceSnPrintModel.getPrintContextList().add(printTemplateData);
}
mesProduceSnPrintModel.getPrintContextList().add(printTemplateData);
//保存打印记录
mesProduceSnPrintModel.getMesPrintedSnLogList().add(mesPrintedSnLogService.getMesPrintedSnLog(mesProduceSnPrintModel.getUserName(), organizeCode, printDataModel));
}
@ -148,6 +150,19 @@ public class CustomFieldPrintStrategy implements IPrintTemplateStrategyService {
return mesProduceSnPrintDataModel;
}
private Map<String, Object> getPrintContextMap(MesProduceSn produceSn, MesCustomerPart customerPart) {
Map<String, Object> result = new HashMap<>();
result.put(MesPcnExtConstWords.PART_NO, produceSn.getPartNo());
result.put(MesPcnExtConstWords.PART_NAME, produceSn.getPartName());
if (!Objects.isNull(customerPart)) {
result.put(MesPcnExtConstWords.CUST_PART_NO, customerPart.getCustPartNo());
}
result.put(MesPcnExtConstWords.PRINT_BAR_CODE, produceSn.getProductSn());
result.put(MesPcnExtConstWords.PRINT_DATE, TimeTool.getNowTime(true));
result.put(MesPcnExtConstWords.USER_NAME, produceSn.getCreateUser());
return result;
}
private List<MesLabelTemplateFieldValue> queryMesLabelTemplateParamPartValue(String partNo, String labelTemplate, String organizeCode) {
if (StringUtil.isEmpty(labelTemplate)) {
MesPcnException.throwMesBusiException("零件号【%s】未维护\"零件条码匹配模板\"字段值", partNo);

@ -764,6 +764,8 @@ public class MesPcnExtConstWords {
public static final String QR_CODE = "qrCode";
//条形码
public static final String BAR_CODE = "barCode";
//打印条形码
public static final String PRINT_BAR_CODE = "barcode";
//竖杠
public static final String VERTICAL_BAR = "|";
@ -793,6 +795,8 @@ public class MesPcnExtConstWords {
public static final String PARAM = "param";
//成品零件号
public static final String FG_PART_NO = "fgPartNo";
// 打印日期
public static final String PRINT_DATE = "printDate";
// 打印时间
public static final String PRINT_TIME = "printTime";
//替换数

Loading…
Cancel
Save