|
|
|
@ -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);
|
|
|
|
|