|
@@ -494,9 +494,29 @@ public class OrderServiceImpl extends SuperServiceImpl<OrderMapper, Order> imple
|
|
|
isFalse(!"0".equals(plan.getSchedulingStatus()),"请选择待排产的数据");
|
|
|
}
|
|
|
|
|
|
+ // 查出之前生产中的计划和未完成的工序任务加入该调度任务一起排产
|
|
|
+ List<Plan> productionPlans = planMapper.selectList(Wraps.<Plan>lbQ().in(Plan::getPlanStatus, "2"));
|
|
|
+ List<PlanProduct> productionPlanProducts = new ArrayList<>();
|
|
|
+ List<OrderProduct> productionOrderProducts = new ArrayList<>();
|
|
|
//查出所有产品ID
|
|
|
// List<OrderProduct> productList = orderProductService.list(Wraps.<OrderProduct>lbQ().in(OrderProduct::getOrderId, idList));
|
|
|
List<Long> bomIdList = orderProductList.stream().map(p -> p.getBomId()).collect(Collectors.toList());
|
|
|
+ if(productionPlans.size() > 0){
|
|
|
+ // 查出之前生产中的计划和未完成的工序任务加入该调度任务一起排产
|
|
|
+ List<Long> productionPlanIds = productionPlans.stream().map(productionPlan -> productionPlan.getId()).collect(Collectors.toList());
|
|
|
+ productionPlanProducts = planProductMapper.selectList(Wraps.<PlanProduct>lbQ().in(PlanProduct::getPlanId, productionPlanIds));
|
|
|
+ List<Long> productionbomIds = productionPlanProducts.stream().map(productionPlanProduct -> productionPlanProduct.getBomId()).collect(Collectors.toList());
|
|
|
+ bomIdList.addAll(productionbomIds);
|
|
|
+
|
|
|
+ for(PlanProduct planProduct : productionPlanProducts){
|
|
|
+ OrderProduct orderProduct = orderProductService.getOne(Wraps.<OrderProduct>lbQ().eq(OrderProduct::getOrderId, planProduct.getOrderId()));
|
|
|
+ productionOrderProducts.add(orderProduct);
|
|
|
+ }
|
|
|
+
|
|
|
+ orderProductList.addAll(productionOrderProducts);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
//查出本次需要得工艺信息
|
|
|
Map<Long, List<BomProcedure>> bomProcedureMap = bomProcedureService.getBomProcedureMap(bomIdList);
|
|
|
|
|
@@ -529,14 +549,15 @@ public class OrderServiceImpl extends SuperServiceImpl<OrderMapper, Order> imple
|
|
|
// List<Plan> tmpList = planService.saveDefaultPlanByOrder(m, null);
|
|
|
// planList.addAll(tmpList);
|
|
|
// }
|
|
|
- String taskBatchNo = UUID.randomUUID().toString().replace("-", "");
|
|
|
+// String taskBatchNo = UUID.randomUUID().toString().replace("-", "");
|
|
|
|
|
|
//查出所有的计划产品
|
|
|
List<PlanProduct> planProductList = planProductService.list(Wraps.<PlanProduct>lbQ().in(PlanProduct::getPlanId, planIdList));
|
|
|
+ planProductList.addAll(productionPlanProducts);
|
|
|
//生成任务
|
|
|
List<TTask> taskList = taskService.createNewTaskByPlan(orderProductList, planProductList, bomProcedureMap);
|
|
|
|
|
|
- map.put("taskBatchNo", taskBatchNo);
|
|
|
+// map.put("taskBatchNo", taskBatchNo);
|
|
|
map.put("planIds", planIds);
|
|
|
}finally {
|
|
|
redisTemplate.delete(RepeatCacheKey.ONETOUCHSCHEDULE_UNION_KEY+"_"+ids);
|