装配目视单打印

tags/yfai-pcn-ext-v2.3
yxw 8 months ago
parent 2b1e11ebf9
commit a9e45c3a00

@ -27,5 +27,8 @@ public interface IMesWorkCenterService {
@ApiOperation(value = "查询工单") @ApiOperation(value = "查询工单")
public ListPager<MesWorkCenter> queryMesWorkCenterByPager(MesWorkCenter workCenter, Pager pager); public ListPager<MesWorkCenter> queryMesWorkCenterByPager(MesWorkCenter workCenter, Pager pager);
@ApiOperation(value = "根据产线代码代码集合查询产线信息集合")
List<MesWorkCenter> queryMesWorkCenterList(List<String> workCenterCodeList, String organizeCode);
} }

@ -1,6 +1,7 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi; package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesWorkCenterService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesWorkCenterService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.Pager;
@ -58,6 +59,15 @@ public class MesWorkCenterService implements IMesWorkCenterService {
return new ListPager<>(resultList, pager); return new ListPager<>(resultList, pager);
} }
@Override
public List<MesWorkCenter> queryMesWorkCenterList(List<String> workCenterCodeList, String organizeCode) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getInPackList(workCenterCodeList, MesPcnExtConstWords.WORK_CENTER_CODE, packBean);
return workCenterRepository.findByHqlWhere(packBean);
}
private DdlPackBean getDdlPackBean(MesWorkCenter workCenter) { private DdlPackBean getDdlPackBean(MesWorkCenter workCenter) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(workCenter.getOrganizeCode()); DdlPackBean packBean = DdlPackBean.getDdlPackBean(workCenter.getOrganizeCode());

@ -1,5 +1,6 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.printqueue.strategy; package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.printqueue.strategy;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesWorkCenterService;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.printqueue.IPrintQueueStrategyService; 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.apiservice.serviceimpl.print.IPrintTemplateStrategyService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesProduceSnPrintModel; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesProduceSnPrintModel;
@ -53,6 +54,9 @@ public class WorkOrderAssemblyPrintQueueStrategyService implements IPrintQueueSt
@Autowired @Autowired
private MesWorkOrderAssemblyRepository workOrderAssemblyRepository; private MesWorkOrderAssemblyRepository workOrderAssemblyRepository;
@Autowired
private IMesWorkCenterService workCenterService;
@Override @Override
public List<MesPrintQueue> execute(MesPrintQueue model) { public List<MesPrintQueue> execute(MesPrintQueue model) {
@ -65,6 +69,15 @@ public class WorkOrderAssemblyPrintQueueStrategyService implements IPrintQueueSt
// 获取工单信息 // 获取工单信息
List<MesWorkOrder> workOrderList = getMesWorkOrders(model, printQueueList); List<MesWorkOrder> workOrderList = getMesWorkOrders(model, printQueueList);
// 产线代码集合
List<String> workCenterCodeList = workOrderList.stream().map(MesWorkOrder::getWorkCenterCode).distinct().collect(Collectors.toList());
// 根据产线代码节后获取产线信息集合
List<MesWorkCenter> mesWorkCenters = workCenterService.queryMesWorkCenterList(workCenterCodeList, model.getOrganizeCode());
// 产线名称集合
Map<String, String> workCenterNameMap = mesWorkCenters.stream().collect(Collectors.toMap(MesWorkCenter::getWorkCenterCode, MesWorkCenter::getWorkCenterName, (x, y) -> y));
// 根据工单号对工单分组 // 根据工单号对工单分组
Map<String, MesWorkOrder> workOrderMapByWorkOrderNo = workOrderList.stream().collect(Collectors.toMap(MesWorkOrder::getWorkOrderNo, Function.identity(), (x, y) -> y)); Map<String, MesWorkOrder> workOrderMapByWorkOrderNo = workOrderList.stream().collect(Collectors.toMap(MesWorkOrder::getWorkOrderNo, Function.identity(), (x, y) -> y));
@ -89,6 +102,8 @@ public class WorkOrderAssemblyPrintQueueStrategyService implements IPrintQueueSt
continue; continue;
} }
mesWorkOrder.setWorkCenterName(workCenterNameMap.get(printQueue.getWorkCenterCode()));
printQueue.setWorkOrderTypeName(MesExtEnumUtil.ORDER_TYPE.valueOfDescription(mesWorkOrder.getWorkOrderType())); printQueue.setWorkOrderTypeName(MesExtEnumUtil.ORDER_TYPE.valueOfDescription(mesWorkOrder.getWorkOrderType()));
MesPartProdGroup mesPartProdGroup = partProdGroupMap.get(printQueue.getPartProdGroupCode()); MesPartProdGroup mesPartProdGroup = partProdGroupMap.get(printQueue.getPartProdGroupCode());

@ -3,6 +3,7 @@ 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.model.MesProduceSnPrintModel; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesProduceSnPrintModel;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.mes.bean.*; import cn.estsh.i3plus.pojo.mes.bean.*;
import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel; import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel;
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
@ -13,6 +14,7 @@ import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* @Description : * @Description :
@ -50,11 +52,14 @@ public class AssemblyVisualListPrintStrategy implements IPrintTemplateStrategySe
MesCustomerCarModel customerCarModel = modelMap.containsKey("mesCustomerCarModel") ? (MesCustomerCarModel) modelMap.get("mesCustomerCarModel") : null; MesCustomerCarModel customerCarModel = modelMap.containsKey("mesCustomerCarModel") ? (MesCustomerCarModel) modelMap.get("mesCustomerCarModel") : null;
// 工单装配件信息 // 工单装配件信息
List<MesWorkOrderAssembly> workOrderAssemblyList = modelMap.containsKey("mesWorkOrderAssemblyList") ? (List<MesWorkOrderAssembly>) modelMap.get("mesWorkOrderAssemblyList") : null; List<MesWorkOrderAssembly> workOrderAssemblyList = modelMap.containsKey("mesWorkOrderAssemblyList") ? (List<MesWorkOrderAssembly>) modelMap.get("mesWorkOrderAssemblyList") : null;
workOrderAssemblyList = workOrderAssemblyList.stream().filter(o -> o.getDisplaySeq() != null && o.getDisplaySeq() != 0).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(workOrderAssemblyList)) workOrderAssemblyList.sort(Comparator.comparing(MesWorkOrderAssembly::getDisplaySeq)); if (!CollectionUtils.isEmpty(workOrderAssemblyList)) workOrderAssemblyList.sort(Comparator.comparing(MesWorkOrderAssembly::getDisplaySeq));
// 返回的结果集合 // 返回的结果集合
List<Map<String, Object>> printDataMapList = new ArrayList<>(); List<Map<String, Object>> printDataMapList = new ArrayList<>();
// 单个标签参数值 // 单个标签参数值
Map<String, Object> resultMap = new HashMap<>(); Map<String, Object> resultMap = new HashMap<>();
// 产线名称
resultMap.put(MesPcnExtConstWords.WORK_CENTER_NAME, workOrder.getWorkCenterName());
// 车型名称 // 车型名称
resultMap.put(MesPcnExtConstWords.CAR_MODEL_NAME, customerCarModel == null ? "" : customerCarModel.getCarModelName()); resultMap.put(MesPcnExtConstWords.CAR_MODEL_NAME, customerCarModel == null ? "" : customerCarModel.getCarModelName());
// vinCode // vinCode
@ -77,6 +82,8 @@ public class AssemblyVisualListPrintStrategy implements IPrintTemplateStrategySe
resultMap.put(MesPcnExtConstWords.REPRINT, ""); resultMap.put(MesPcnExtConstWords.REPRINT, "");
// EDI接口时间 取工单plan_start_time // EDI接口时间 取工单plan_start_time
resultMap.put(MesPcnExtConstWords.EDI_REC_TIME, workOrder.getPlanStartTime()); resultMap.put(MesPcnExtConstWords.EDI_REC_TIME, workOrder.getPlanStartTime());
// 打印时间
resultMap.put(MesPcnExtConstWords.PRINT_TIME, TimeTool.getNowTime("yyyyMMdd HH:mm:ss"));
// 总个数 // 总个数
Integer totalCount = partProdGroup.getTotalCount(); Integer totalCount = partProdGroup.getTotalCount();

@ -570,4 +570,7 @@ public class MesPcnExtConstWords {
// 装配件参数 // 装配件参数
public static final String ASSEMBLY_PARAM = "assemblyParam"; public static final String ASSEMBLY_PARAM = "assemblyParam";
// 产线名称
public static final String WORK_CENTER_NAME = "workCenterName";
} }

Loading…
Cancel
Save