|
@@ -7,20 +7,15 @@ import com.fjhx.item.service.product.ProductInfoService;
|
|
|
import com.fjhx.mes.entity.applicable.po.ApplicableProducts;
|
|
|
import com.fjhx.mes.entity.production.dto.ProductionTaskDetailDto;
|
|
|
import com.fjhx.mes.entity.production.dto.ProductionTaskDetailSelectDto;
|
|
|
-import com.fjhx.mes.entity.production.po.ProductionPlan;
|
|
|
-import com.fjhx.mes.entity.production.po.ProductionTask;
|
|
|
-import com.fjhx.mes.entity.production.po.ProductionTaskDetail;
|
|
|
-import com.fjhx.mes.entity.production.po.ProductionTaskDetailRecord;
|
|
|
+import com.fjhx.mes.entity.production.po.*;
|
|
|
import com.fjhx.mes.entity.production.vo.ProductionTaskDetailVo;
|
|
|
import com.fjhx.mes.entity.technology.po.Technology;
|
|
|
import com.fjhx.mes.entity.work.po.WorkOrder;
|
|
|
import com.fjhx.mes.entity.work.po.WorkOrderProductionProcesses;
|
|
|
+import com.fjhx.mes.entity.work.vo.WorkOrderVo;
|
|
|
import com.fjhx.mes.mapper.production.ProductionTaskDetailMapper;
|
|
|
import com.fjhx.mes.service.applicable.ApplicableProductsService;
|
|
|
-import com.fjhx.mes.service.production.ProductionPlanService;
|
|
|
-import com.fjhx.mes.service.production.ProductionTaskDetailRecordService;
|
|
|
-import com.fjhx.mes.service.production.ProductionTaskDetailService;
|
|
|
-import com.fjhx.mes.service.production.ProductionTaskService;
|
|
|
+import com.fjhx.mes.service.production.*;
|
|
|
import com.fjhx.mes.service.technology.TechnologyService;
|
|
|
import com.fjhx.mes.service.work.WorkOrderProductionProcessesService;
|
|
|
import com.fjhx.mes.service.work.WorkOrderService;
|
|
@@ -39,6 +34,7 @@ import java.math.BigDecimal;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
@@ -72,6 +68,8 @@ public class ProductionTaskDetailServiceImpl extends ServiceImpl<ProductionTaskD
|
|
|
private StockWaitDetailsService stockWaitDetailsService;
|
|
|
@Autowired
|
|
|
private ProductInfoService productInfoService;
|
|
|
+ @Autowired
|
|
|
+ private ProductionProcessesService productionProcessesService;
|
|
|
|
|
|
@Override
|
|
|
public Page<ProductionTaskDetailVo> getPage(ProductionTaskDetailSelectDto dto) {
|
|
@@ -87,19 +85,37 @@ public class ProductionTaskDetailServiceImpl extends ServiceImpl<ProductionTaskD
|
|
|
});
|
|
|
//赋值当前工序名 目标工序名
|
|
|
List<Long> productionTaskIds = records.stream().map(ProductionTaskDetail::getProductionTaskId).collect(Collectors.toList());
|
|
|
- List<Long> productionPlanIds = productionTaskService.listObject(ProductionTask::getProductionPlanId, q -> q.in(ProductionTask::getId, productionTaskIds));
|
|
|
-// workOrderService.listObject()
|
|
|
+ IWrapper<ProductionTaskDetail> wrapper1 = IWrapper.getWrapper();
|
|
|
+ wrapper1.in("pt",ProductionTaskDetail::getId,productionTaskIds);
|
|
|
+ List<WorkOrderVo> workOrderByProductionTask = baseMapper.getWorkOrderByProductionTask(wrapper1);
|
|
|
+ Map<Long, WorkOrderVo> WorkOrderMap = workOrderByProductionTask.stream().collect(Collectors.toMap(WorkOrderVo::getProductionTaskId, Function.identity()));
|
|
|
+ List<Long> workIds = workOrderByProductionTask.stream().map(WorkOrderVo::getId).collect(Collectors.toList());
|
|
|
+
|
|
|
+ //获取工序id列表
|
|
|
+ List<Long> productionProcessesIds = records.stream().map(ProductionTaskDetail::getProductionProcessesId).collect(Collectors.toList());
|
|
|
+ productionProcessesIds.addAll(records.stream().map(ProductionTaskDetail::getNextProductionProcessesId).collect(Collectors.toList()));
|
|
|
+ //获取基本工序map
|
|
|
+ Map<Long, String> stringMap = productionProcessesService.mapKV(ProductionProcesses::getId, ProductionProcesses::getName,
|
|
|
+ q -> q.in(ProductionProcesses::getId, productionProcessesIds));
|
|
|
+ //获取定制工序map
|
|
|
+ Map<Long, String> workOrderProductionPMap = workOrderProductionProcessesService.mapKV(WorkOrderProductionProcesses::getId,
|
|
|
+ WorkOrderProductionProcesses::getName, q -> q.in(WorkOrderProductionProcesses::getWorkOrderId, workIds));
|
|
|
+
|
|
|
for (ProductionTaskDetailVo record : records) {
|
|
|
-// ProductionTask productionTask = productionTaskService.getById(record.getProductionTaskId());
|
|
|
-// ProductionPlan productionPlan = productionPlanService.getById(productionTask.getId());
|
|
|
-// WorkOrder workOrder = workOrderService.getById(productionPlan.getWorkOrderId());
|
|
|
-// //如果是定制工单差定制工序
|
|
|
-// if("1".equals(workOrder.getIsCustomized())){
|
|
|
-// Map<Long, String> stringMap = workOrderProductionProcessesService.mapKV(WorkOrderProductionProcesses::getId, WorkOrderProductionProcesses::getName, q -> q
|
|
|
-// .eq(WorkOrderProductionProcesses::getWorkOrderId, workOrder.getId())
|
|
|
-// .orderByAsc(WorkOrderProductionProcesses::getSort));
|
|
|
-//
|
|
|
-// }
|
|
|
+ WorkOrderVo workOrderVo = WorkOrderMap.get(record.getProductionTaskId());
|
|
|
+ if("1".equals(workOrderVo.getIsCustomized())){
|
|
|
+ //如果是定制
|
|
|
+ String name = workOrderProductionPMap.get(record.getProductionProcessesId());
|
|
|
+ String nextName = workOrderProductionPMap.get(record.getNextProductionProcessesId());
|
|
|
+ record.setProductionProcessesName(name);
|
|
|
+ record.setNextProductionProcessesName(nextName);
|
|
|
+ }else{
|
|
|
+ //不是定制
|
|
|
+ String name = stringMap.get(record.getProductionProcessesId());
|
|
|
+ String nextName = stringMap.get(record.getNextProductionProcessesId());
|
|
|
+ record.setProductionProcessesName(name);
|
|
|
+ record.setNextProductionProcessesName(nextName);
|
|
|
+ }
|
|
|
}
|
|
|
return page;
|
|
|
}
|