forked from I3-YF/i3plus-mes-pcn-yfai
Merge branch 'dev-wuhan' into dev-wuhan-temp
commit
c403807421
@ -0,0 +1,19 @@
|
||||
package cn.estsh.i3plus.ext.mes.pcn.api.base;
|
||||
|
||||
import cn.estsh.i3plus.pojo.mes.bean.MesPartProdGroup;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description : 零件生产组
|
||||
* @Reference :
|
||||
* @Author : xinwang.yi
|
||||
* @CreateDate 2024/6/13 15:18
|
||||
* @Modify:
|
||||
**/
|
||||
public interface IMesPartProdGroupService {
|
||||
|
||||
@ApiOperation(value = "查询零件生产组集合")
|
||||
List<MesPartProdGroup> queryMesPartProdGroup(MesPartProdGroup partProdGroup);
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
package cn.estsh.i3plus.ext.mes.pcn.apiservice.controller.base;
|
||||
|
||||
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesPartProdGroupService;
|
||||
import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant;
|
||||
import cn.estsh.i3plus.pojo.mes.bean.MesPartProdGroup;
|
||||
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
|
||||
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
|
||||
import cn.estsh.impp.framework.boot.util.ResultBean;
|
||||
import cn.estsh.impp.framework.boot.util.ValidatorBean;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @Description : 长度修改类型
|
||||
* @Reference :
|
||||
* @Author : junsheng.li
|
||||
* @CreateDate 2024/6/13 15:13
|
||||
* @Modify:
|
||||
**/
|
||||
@RestController
|
||||
@Api(tags = "零件生产组")
|
||||
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mes-part-prod-group")
|
||||
public class MesPartProdGroupController {
|
||||
|
||||
@Autowired
|
||||
private IMesPartProdGroupService partProdGroupService;
|
||||
|
||||
@GetMapping("/query")
|
||||
@ApiOperation(value = "查询零件生产组信息")
|
||||
public ResultBean queryMesCutLengthModifyType(MesPartProdGroup partProdGroup) {
|
||||
try {
|
||||
|
||||
ValidatorBean.checkNotNull(partProdGroup.getOrganizeCode(), "工厂代码为空");
|
||||
|
||||
return ResultBean.success("查询成功").setResultList(partProdGroupService.queryMesPartProdGroup(partProdGroup));
|
||||
} catch (ImppBusiException imppException) {
|
||||
return ResultBean.fail(imppException);
|
||||
} catch (Exception e) {
|
||||
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.base;
|
||||
|
||||
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesPartProdGroupService;
|
||||
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
|
||||
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
|
||||
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
|
||||
import cn.estsh.i3plus.pojo.mes.bean.MesPartProdGroup;
|
||||
import cn.estsh.i3plus.pojo.mes.repository.MesPartProdGroupRepository;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @PROJECT_NAME: i3plus-mes-yfai
|
||||
* @DESCRIPTION: 零件生产组
|
||||
* @USER: xinwang.yi
|
||||
* @DATE: 2024-09-24 11:06
|
||||
*/
|
||||
@Service
|
||||
public class MesPartProdGroupService implements IMesPartProdGroupService {
|
||||
|
||||
@Autowired
|
||||
private MesPartProdGroupRepository partProdGroupRepository;
|
||||
@Override
|
||||
public List<MesPartProdGroup> queryMesPartProdGroup(MesPartProdGroup partProdGroup) {
|
||||
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(partProdGroup.getOrganizeCode());
|
||||
DdlPreparedPack.getStringEqualPack(partProdGroup.getWorkCenterCode(), MesPcnExtConstWords.WORK_CENTER_CODE,ddlPackBean);
|
||||
return partProdGroupRepository.findByHqlWhere(ddlPackBean);
|
||||
}
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.printqueue.strategy;
|
||||
|
||||
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
|
||||
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
|
||||
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
|
||||
import cn.estsh.i3plus.pojo.mes.bean.*;
|
||||
import cn.estsh.i3plus.pojo.mes.repository.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @PROJECT_NAME: i3plus-mes-yfai
|
||||
* @DESCRIPTION:
|
||||
* @USER: xinwang.yi
|
||||
* @DATE: 2024-09-23 11:08
|
||||
*/
|
||||
@Service
|
||||
public class PrintQueueDispatchService {
|
||||
|
||||
@Autowired
|
||||
private MesLabelTemplateRepository labelTemplateRepository;
|
||||
|
||||
@Autowired
|
||||
private MesLabelTemplateParamRepository labelTemplateParamRepository;
|
||||
|
||||
public MesLabelTemplate getLabelTemplate(String templateCode, String organizeCode) {
|
||||
DdlPackBean templatePackBean = DdlPackBean.getDdlPackBean(organizeCode);
|
||||
DdlPreparedPack.getStringEqualPack(templateCode, MesPcnExtConstWords.TEMPLATE_CODE, templatePackBean);
|
||||
MesLabelTemplate mesLabelTemplate = labelTemplateRepository.getByProperty(templatePackBean);
|
||||
if (mesLabelTemplate != null) {
|
||||
//级联获取labelTemplateParam
|
||||
DdlPackBean templateParamPackBean = DdlPackBean.getDdlPackBean(organizeCode);
|
||||
DdlPreparedPack.getNumEqualPack(mesLabelTemplate.getId(), "templateId", templateParamPackBean);
|
||||
List<MesLabelTemplateParam> params = labelTemplateParamRepository.findByHqlWhere(templateParamPackBean);
|
||||
mesLabelTemplate.setLabelTemplateParamList(params);
|
||||
}
|
||||
return mesLabelTemplate;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,210 @@
|
||||
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.printqueue.strategy;
|
||||
|
||||
import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.printqueue.IPrintQueueStrategyService;
|
||||
import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.IPrintTemplateStrategyService;
|
||||
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesProduceSnPrintModel;
|
||||
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
|
||||
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
|
||||
import cn.estsh.i3plus.platform.common.tool.TimeTool;
|
||||
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
|
||||
import cn.estsh.i3plus.pojo.base.common.Pager;
|
||||
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
|
||||
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
|
||||
import cn.estsh.i3plus.pojo.mes.bean.*;
|
||||
import cn.estsh.i3plus.pojo.mes.repository.*;
|
||||
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
|
||||
import cn.estsh.impp.framework.boot.util.SpringContextsUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeansException;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @PROJECT_NAME: i3plus-mes-yfai
|
||||
* @DESCRIPTION:
|
||||
* @USER: xinwang.yi
|
||||
* @DATE: 2024-09-23 11:08
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class WorkOrderAssemblyPrintQueueStrategyService implements IPrintQueueStrategyService {
|
||||
|
||||
@Autowired
|
||||
private MesPrintQueueRepository printQueueRepository;
|
||||
|
||||
@Autowired
|
||||
private MesWorkOrderRepository workOrderRepository;
|
||||
|
||||
@Autowired
|
||||
private MesPartProdGroupRepository partProdGroupRepository;
|
||||
|
||||
@Autowired
|
||||
private PrintQueueDispatchService printQueueDispatchService;
|
||||
|
||||
@Autowired
|
||||
private MesCustomerCarModelRepository customerCarModelRepository;
|
||||
|
||||
@Autowired
|
||||
private MesWorkOrderAssemblyRepository workOrderAssemblyRepository;
|
||||
|
||||
@Override
|
||||
public List<MesPrintQueue> execute(MesPrintQueue model) {
|
||||
|
||||
// 获取需要打印的打印队列
|
||||
List<MesPrintQueue> printQueueList = getMesPrintQueues(model);
|
||||
|
||||
// 无打印直接返回
|
||||
if (CollectionUtils.isEmpty(printQueueList)) return null;
|
||||
|
||||
// 获取工单信息
|
||||
List<MesWorkOrder> workOrderList = getMesWorkOrders(model, printQueueList);
|
||||
|
||||
// 根据工单号对工单分组
|
||||
Map<String, MesWorkOrder> workOrderMapByWorkOrderNo = workOrderList.stream().collect(Collectors.toMap(MesWorkOrder::getWorkOrderNo, Function.identity(), (x, y) -> y));
|
||||
|
||||
// 根据零件生产组代码分组
|
||||
Map<String, MesPartProdGroup> partProdGroupMap = getMesPartProdGroupMap(model, printQueueList);
|
||||
|
||||
// 客户车型配置名称MAP
|
||||
Map<String, MesCustomerCarModel> carModelMapByCode = getMesCustomerCarModelMap(model, workOrderList);
|
||||
|
||||
// 工单装配件
|
||||
Map<String, List<MesWorkOrderAssembly>> workOrderAssemblyMapByWorkOrderNo = getWorkOrderAssemblyMapByWorkOrderNo(model, workOrderMapByWorkOrderNo);
|
||||
|
||||
// 展示打印队列列表
|
||||
List<MesPrintQueue> showPrintQueueList = new ArrayList<>();
|
||||
|
||||
for (MesPrintQueue printQueue : printQueueList) {
|
||||
|
||||
MesWorkOrder mesWorkOrder = workOrderMapByWorkOrderNo.get(printQueue.getWorkOrderNo());
|
||||
|
||||
if (mesWorkOrder == null) {
|
||||
log.info("WorkOrderAssemblyPrintQueueStrategyService --- 工单{}为空 暂不输出打印", printQueue.getWorkOrderNo());
|
||||
continue;
|
||||
}
|
||||
|
||||
MesPartProdGroup mesPartProdGroup = partProdGroupMap.get(printQueue.getPartProdGroupCode());
|
||||
|
||||
String printTemplate = mesPartProdGroup.getPrintTemplate();
|
||||
|
||||
if (StringUtils.isEmpty(printTemplate)) {
|
||||
printQueue.setRemark("打印模板为空");
|
||||
printQueue.setSystemSyncStatus(CommonEnumUtil.FALSE);
|
||||
ConvertBean.serviceModelUpdate(printQueue, model.getModifyUser());
|
||||
continue;
|
||||
}
|
||||
|
||||
MesLabelTemplate labelTemplate = printQueueDispatchService.getLabelTemplate(printTemplate, model.getOrganizeCode());
|
||||
|
||||
//根据反射获取策略类--封装打印数据
|
||||
String methodCode = labelTemplate.getMethodCode();
|
||||
|
||||
//模板信息丢失抛出异常
|
||||
if (StringUtils.isEmpty(methodCode)) {
|
||||
printQueue.setRemark(String.format("模板代码[%s]方法类为空,请配置!", labelTemplate.getTemplateCode()));
|
||||
printQueue.setSystemSyncStatus(CommonEnumUtil.FALSE);
|
||||
ConvertBean.serviceModelUpdate(printQueue, model.getModifyUser());
|
||||
continue;
|
||||
}
|
||||
|
||||
Map<String, Object> modelMap = new HashMap<>();
|
||||
modelMap.put("mesWorkOrder", mesWorkOrder);
|
||||
modelMap.put("mesPartProdGroup", mesPartProdGroup);
|
||||
|
||||
MesCustomerCarModel customerCarModel = carModelMapByCode.get(mesWorkOrder.getCarModelCode());
|
||||
if (customerCarModel != null) {
|
||||
modelMap.put("mesCustomerCarModel", customerCarModel);
|
||||
}
|
||||
List<MesWorkOrderAssembly> workOrderAssemblyListByWorkOrderNo = workOrderAssemblyMapByWorkOrderNo.get(printQueue.getWorkOrderNo());
|
||||
if (!CollectionUtils.isEmpty(workOrderAssemblyListByWorkOrderNo)) {
|
||||
modelMap.put("mesWorkOrderAssemblyList", workOrderAssemblyListByWorkOrderNo);
|
||||
}
|
||||
|
||||
|
||||
MesProduceSnPrintModel mesProduceSnPrintModel = new MesProduceSnPrintModel();
|
||||
mesProduceSnPrintModel.setMesLabelTemplate(labelTemplate);
|
||||
mesProduceSnPrintModel.setSourceData(modelMap);
|
||||
mesProduceSnPrintModel.setPrinter(mesPartProdGroup.getPrinter());
|
||||
|
||||
MesProduceSnPrintModel snPrintModel = null;
|
||||
try {
|
||||
IPrintTemplateStrategyService strategyService = (IPrintTemplateStrategyService) SpringContextsUtil.getBean(methodCode);
|
||||
snPrintModel = strategyService.execute(null, mesProduceSnPrintModel, null, null, null ,false);
|
||||
} catch (BeansException e) {
|
||||
printQueue.setRemark(String.format("模板代码[%s]方法类[%s]执行异常,请配置!", labelTemplate.getTemplateCode(), labelTemplate.getMethodCode()));
|
||||
ConvertBean.serviceModelUpdate(printQueue, model.getModifyUser());
|
||||
printQueue.setSystemSyncStatus(CommonEnumUtil.FALSE);
|
||||
continue;
|
||||
}
|
||||
|
||||
printQueue.setPrintStatus(MesExtEnumUtil.PRINT_STATUS.PRINTED.getValue());
|
||||
printQueue.setPrintTime(TimeTool.getNowTime(true));
|
||||
ConvertBean.serviceModelUpdate(printQueue, model.getModifyUser());
|
||||
printQueueRepository.save(printQueue);
|
||||
printQueue.setPrintContent(snPrintModel.getPrintContextList());
|
||||
showPrintQueueList.add(printQueue);
|
||||
|
||||
}
|
||||
|
||||
return showPrintQueueList;
|
||||
}
|
||||
|
||||
private Map<String, List<MesWorkOrderAssembly>> getWorkOrderAssemblyMapByWorkOrderNo(MesPrintQueue model, Map<String, MesWorkOrder> workOrderMapByWorkOrderNo) {
|
||||
List<String> workOrderNoList = workOrderMapByWorkOrderNo.keySet().stream().collect(Collectors.toList());
|
||||
DdlPackBean packBean = DdlPackBean.getDdlPackBean(model.getOrganizeCode());
|
||||
DdlPreparedPack.getInPackList(workOrderNoList, MesPcnExtConstWords.WORK_ORDER_NO, packBean);
|
||||
List<MesWorkOrderAssembly> workOrderAssemblyList = workOrderAssemblyRepository.findByHqlWhere(packBean);
|
||||
Map<String, List<MesWorkOrderAssembly>> workOrderAssemblyMapByWorkOrderNo = workOrderAssemblyList.stream().collect(Collectors.groupingBy(MesWorkOrderAssembly::getWorkOrderNo));
|
||||
return workOrderAssemblyMapByWorkOrderNo;
|
||||
}
|
||||
|
||||
private Map<String, MesCustomerCarModel> getMesCustomerCarModelMap(MesPrintQueue model, List<MesWorkOrder> workOrderList) {
|
||||
List<String> carModelCodeList = workOrderList.stream().map(MesWorkOrder::getCarModelCode).distinct().collect(Collectors.toList());
|
||||
// 客户车型配置
|
||||
DdlPackBean packBean = DdlPackBean.getDdlPackBean(model.getOrganizeCode());
|
||||
DdlPreparedPack.getInPackList(carModelCodeList, MesPcnExtConstWords.CAR_MODEL_CODE, packBean);
|
||||
List<MesCustomerCarModel> customerCarModelList = customerCarModelRepository.findByHqlWhere(packBean);
|
||||
|
||||
Map<String, MesCustomerCarModel> carModelMapByCode = customerCarModelList.stream().collect(Collectors.toMap(MesCustomerCarModel::getCarModelCode, Function.identity(), (x, y) -> y));
|
||||
return carModelMapByCode;
|
||||
}
|
||||
|
||||
private Map<String, MesPartProdGroup> getMesPartProdGroupMap(MesPrintQueue model, List<MesPrintQueue> printQueueList) {
|
||||
// 生产零件号
|
||||
List<String> partProdGroupCodeList = printQueueList.stream().map(MesPrintQueue::getPartProdGroupCode).distinct().collect(Collectors.toList());
|
||||
DdlPackBean packBean = DdlPackBean.getDdlPackBean(model.getOrganizeCode());
|
||||
//DdlPreparedPack.getInPackList(workCenterCodeList, MesPcnExtConstWords.WORK_CENTER_CODE, packBean);
|
||||
DdlPreparedPack.getInPackList(partProdGroupCodeList, MesPcnExtConstWords.PART_PROD_GROUP_CODE, packBean);
|
||||
List<MesPartProdGroup> partProdGroupList = partProdGroupRepository.findByHqlWhere(packBean);
|
||||
return partProdGroupList.stream().collect(Collectors.toMap(MesPartProdGroup::getPartProdGroupCode, Function.identity(), (x,y) -> y));
|
||||
}
|
||||
|
||||
private List<MesWorkOrder> getMesWorkOrders(MesPrintQueue model, List<MesPrintQueue> printQueueList) {
|
||||
List<String> workOrderNoList = printQueueList.stream().map(MesPrintQueue::getWorkOrderNo).distinct().collect(Collectors.toList());
|
||||
DdlPackBean packBean = DdlPackBean.getDdlPackBean(model.getOrganizeCode());
|
||||
DdlPreparedPack.getInPackList(workOrderNoList, MesPcnExtConstWords.WORK_ORDER_NO, packBean);
|
||||
return workOrderRepository.findByHqlWhere(packBean);
|
||||
}
|
||||
|
||||
private List<MesPrintQueue> getMesPrintQueues(MesPrintQueue model) {
|
||||
Pager pager = new Pager();
|
||||
pager.setStartRow(1);
|
||||
pager.setCurrentPage(1);
|
||||
pager.setPageSize(30);
|
||||
DdlPackBean packBean = DdlPackBean.getDdlPackBean(model.getOrganizeCode());
|
||||
DdlPreparedPack.getStringEqualPack(model.getWorkCenterCode(), MesPcnExtConstWords.WORK_CENTER_CODE, packBean);
|
||||
DdlPreparedPack.getIsNull(MesPcnExtConstWords.REMARK, packBean);
|
||||
DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.PRINT_QUEUE_TYPE.WORK_ORDER_ASSEMBLY.getValue(), MesPcnExtConstWords.PRINT_QUEUE_TYPE, packBean);
|
||||
return printQueueRepository.findByHqlWherePage(packBean, pager);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,107 @@
|
||||
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.pojo.model.MesProduceSnPrintModel;
|
||||
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
|
||||
import cn.estsh.i3plus.pojo.mes.bean.*;
|
||||
import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel;
|
||||
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
|
||||
import cn.estsh.i3plus.pojo.mes.model.StepResult;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @Description : 装配目视单标签打印
|
||||
* @Reference :
|
||||
* @Author : Castle
|
||||
* @CreateDate : 2024/6/17 16:43
|
||||
* @Modify:
|
||||
**/
|
||||
@Component
|
||||
@Slf4j
|
||||
public class AssemblyVisualListPrintStrategy implements IPrintTemplateStrategyService {
|
||||
|
||||
//@Autowired
|
||||
//private MesCutSchemeFgRepository cutSchemeFgRepository;
|
||||
//
|
||||
//@Autowired
|
||||
//private MesCutSchemeMaterialRepository cutSchemeMaterialRepository;
|
||||
//
|
||||
//@Autowired
|
||||
//private MesCutSchemeEquipmentRepository cutSchemeEquipmentRepository;
|
||||
//
|
||||
//@Autowired
|
||||
//private MesCutSchemeEquipmentDetailRepository cutSchemeEquipmentDetailRepository;
|
||||
|
||||
@Override
|
||||
public MesProduceSnPrintModel execute(GenSerialNoModel genSerialNoModel, MesProduceSnPrintModel model, MesNumberRule numberRule , StepResult stepResult, StationRequestBean reqBean, Boolean isStep) {
|
||||
|
||||
Map<String, Object> modelMap = (Map<String, Object>) model.getSourceData();
|
||||
|
||||
// 工单信息
|
||||
MesWorkOrder workOrder = (MesWorkOrder) modelMap.get("mesWorkOrder");
|
||||
// 零件生产组信息
|
||||
MesPartProdGroup partProdGroup = (MesPartProdGroup) modelMap.get("mesPartProdGroup");
|
||||
// 客户车型配置信息
|
||||
MesCustomerCarModel customerCarModel = modelMap.containsKey("mesCustomerCarModel") ? (MesCustomerCarModel) modelMap.get("mesCustomerCarModel") : null;
|
||||
// 工单装配件信息
|
||||
List<MesWorkOrderAssembly> workOrderAssemblyList = modelMap.containsKey("mesWorkOrderAssemblyList") ? (List<MesWorkOrderAssembly>) modelMap.get("mesWorkOrderAssemblyList") : null;
|
||||
if (!CollectionUtils.isEmpty(workOrderAssemblyList)) workOrderAssemblyList.sort(Comparator.comparing(MesWorkOrderAssembly::getRouteSeq));
|
||||
// 返回的结果集合
|
||||
List<Map<String, Object>> printDataMapList = new ArrayList<>();
|
||||
// 单个标签参数值
|
||||
Map<String, Object> resultMap = new HashMap<>();
|
||||
// 车型名称
|
||||
resultMap.put(MesPcnExtConstWords.CAR_MODEL_NAME, customerCarModel == null ? "" : customerCarModel.getCarModelName());
|
||||
// vinCode
|
||||
resultMap.put(MesPcnExtConstWords.VIN_CODE, workOrder.getVinCode());
|
||||
// vinCode 后四位
|
||||
resultMap.put(MesPcnExtConstWords.VIN_CODE_AFTER_FOUR, workOrder.getVinCode());
|
||||
// 总成零件号
|
||||
resultMap.put(MesPcnExtConstWords.PART_NO, workOrder.getPartNo());
|
||||
// 工单标识
|
||||
resultMap.put(MesPcnExtConstWords.ORDER_FLAG, workOrder.getOrderFlag());
|
||||
// 客户订单号
|
||||
resultMap.put(MesPcnExtConstWords.CUST_ORDER_NO, workOrder.getCustOrderNo());
|
||||
// 客户零件号
|
||||
resultMap.put(MesPcnExtConstWords.CUST_PART_NO, workOrder.getPartNo());
|
||||
// 客户条码
|
||||
resultMap.put(MesPcnExtConstWords.SN, workOrder.getSn());
|
||||
// 车型名称
|
||||
resultMap.put(MesPcnExtConstWords.REMARK, customerCarModel == null ? "" : customerCarModel.getRemark());
|
||||
// 重打印
|
||||
resultMap.put(MesPcnExtConstWords.REPRINT, "");
|
||||
// EDI接口时间 取工单plan_start_time
|
||||
resultMap.put(MesPcnExtConstWords.EDI_REC_TIME, workOrder.getPlanStartTime());
|
||||
|
||||
// 总个数
|
||||
Integer totalCount = partProdGroup.getTotalCount();
|
||||
// 为空时显示内容
|
||||
String isNullViewContent = StringUtils.isEmpty(partProdGroup.getIsNullViewContent()) ? "" : partProdGroup.getIsNullViewContent();
|
||||
for (Integer index = 0; index < totalCount; index++) {
|
||||
resultMap.put(MesPcnExtConstWords.ASSEMBLY_PARAM + (index+1), workOrderAssemblyList.size() -1 < index ? isNullViewContent : workOrderAssemblyList.get(0));
|
||||
}
|
||||
|
||||
printDataMapList.add(resultMap);
|
||||
|
||||
model.setPrintContextList(packResultMapList(model, printDataMapList));
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
private List<Map<String, Object>> packResultMapList(MesProduceSnPrintModel printModel, List<Map<String, Object>> printTemplateDateList) {
|
||||
List<Map<String, Object>> resultMapList = new ArrayList<>();
|
||||
Map<String, Object> resultMap = new HashMap<>();
|
||||
resultMap.put(MesPcnExtConstWords.LABEL_TEMPLATE, printModel.getMesLabelTemplate());
|
||||
resultMap.put(MesPcnExtConstWords.TEMPLATE_DATA, printTemplateDateList);
|
||||
resultMap.put(MesPcnExtConstWords.TEMPLATE_CODE, printModel.getMesLabelTemplate().getTemplateCode());
|
||||
resultMap.put(MesPcnExtConstWords.PRINTER, printModel.getPrinter());
|
||||
resultMapList.add(resultMap);
|
||||
return resultMapList;
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue