| | |
| | | import cn.iocoder.yudao.module.mes.controller.admin.qc.vo.MesQcQualityExportVO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.md.unitmeasure.MesMdUnitMeasureDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.pro.process.MesProProcessDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.qc.indicator.MesQcIndicatorDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.qc.indicatorresult.MesQcIndicatorResultDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.qc.indicatorresult.MesQcIndicatorResultDetailDO; |
| | |
| | | import cn.iocoder.yudao.module.mes.enums.MesBizTypeConstants; |
| | | import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService; |
| | | import cn.iocoder.yudao.module.mes.service.md.unitmeasure.MesMdUnitMeasureService; |
| | | import cn.iocoder.yudao.module.mes.service.md.workstation.MesMdWorkstationService; |
| | | import cn.iocoder.yudao.module.mes.service.pro.process.MesProProcessService; |
| | | import cn.iocoder.yudao.module.mes.service.pro.workorder.MesProWorkOrderService; |
| | | import cn.iocoder.yudao.module.mes.service.qc.indicator.MesQcIndicatorService; |
| | | import cn.iocoder.yudao.module.mes.service.qc.indicatorresult.MesQcIndicatorResultService; |
| | | import cn.iocoder.yudao.module.mes.service.qc.ipqc.MesQcIpqcService; |
| | |
| | | |
| | | @Resource |
| | | private MesQcIpqcService ipqcService; |
| | | @Resource |
| | | private MesProWorkOrderService workOrderService; |
| | | @Resource |
| | | private MesMdWorkstationService workstationService; |
| | | @Resource |
| | | private MesProProcessService processService; |
| | | @Resource |
| | | private MesMdItemService itemService; |
| | | @Resource |
| | |
| | | if (CollUtil.isEmpty(list)) { |
| | | return Collections.emptyList(); |
| | | } |
| | | // 批量查询工单 |
| | | Map<Long, MesProWorkOrderDO> workOrderMap = workOrderService.getWorkOrderMap( |
| | | convertSet(list, MesQcIpqcDO::getWorkOrderId)); |
| | | // 批量查询工位 |
| | | Map<Long, MesMdWorkstationDO> workstationMap = workstationService.getWorkstationMap( |
| | | convertSet(list, MesQcIpqcDO::getWorkstationId)); |
| | | // 批量查询工序 |
| | | Map<Long, MesProProcessDO> processMap = processService.getProcessMap( |
| | | convertSet(list, MesQcIpqcDO::getProcessId)); |
| | | // 批量查询物料 |
| | | Map<Long, MesMdItemDO> itemMap = itemService.getItemMap( |
| | | convertSet(list, MesQcIpqcDO::getItemId)); |
| | |
| | | Map<Long, String> indicatorSummaryMap = buildIndicatorSummaryMap(list); |
| | | // 拼装 VO |
| | | return BeanUtils.toBean(list, MesQcIpqcRespVO.class, vo -> { |
| | | findAndThen(workOrderMap, vo.getWorkOrderId(), workOrder -> vo |
| | | .setWorkOrderCode(workOrder.getCode()).setWorkOrderName(workOrder.getName())); |
| | | findAndThen(workstationMap, vo.getWorkstationId(), |
| | | ws -> vo.setWorkstationName(ws.getName())); |
| | | findAndThen(processMap, vo.getProcessId(), |
| | | process -> vo.setProcessName(process.getName())); |
| | | findAndThen(itemMap, vo.getItemId(), item -> { |
| | | vo.setItemCode(item.getCode()).setItemName(item.getName()).setItemSpecification(item.getSpecification()); |
| | | findAndThen(unitMeasureMap, item.getUnitMeasureId(), |
| | |
| | | vo.setDocName(ipqc.getName()); |
| | | MesMdItemDO item = itemMap.get(ipqc.getItemId()); |
| | | vo.setItemName(item != null ? item.getName() : ""); |
| | | // IPQC 无批次号字段,暂用来源单据编号(一般为生产工单号)作为批号 |
| | | vo.setBatchNo(ipqc.getSourceDocCode()); |
| | | vo.setBatchNo(ipqc.getBatchCode()); |
| | | vo.setInspectDate(MesQcQualityExportVO.formatDateTime(ipqc.getInspectDate())); |
| | | List<String> indicatorNames = new ArrayList<>(); |
| | | List<String> judgementSegments = new ArrayList<>(); |