|
|
@@ -215,17 +215,38 @@ public class OrderServiceImpl extends SuperServiceImpl<OrderMapper, Order> imple
|
|
|
Order bean = BeanPlusUtil.toBean(data, Order.class);
|
|
|
//如果是审核通过,订单状态修改为进行中
|
|
|
if("2".equals(bean.getAuditStatus())){
|
|
|
- bean.setOrderStatus("2");
|
|
|
+ Order oriBean = baseMapper.selectById(bean.getId());
|
|
|
+ oriBean.setOrderStatus("2");
|
|
|
//待计划、待排产、待生产状态。
|
|
|
- bean.setPlanStatus("1");
|
|
|
- bean.setSchedulingStatus("1");
|
|
|
- bean.setProduceStatus("1");
|
|
|
+ oriBean.setPlanStatus("1");
|
|
|
+ oriBean.setSchedulingStatus("1");
|
|
|
+ oriBean.setProduceStatus("1");
|
|
|
+
|
|
|
+ Map map = new HashMap();
|
|
|
+ BeanUtil.copyProperties(oriBean, map);
|
|
|
+
|
|
|
+ List<OrderProduct>productList = orderProductService.list(Wraps.<OrderProduct>lbQ().eq(OrderProduct::getOrderId,oriBean.getId()));
|
|
|
+
|
|
|
+ List<Map> mapList= getProductMapList(productList);
|
|
|
+ map.put("orderProductList",mapList);
|
|
|
+ //生成计划
|
|
|
+ planService.saveDefaultPlanByOrder(map,null);
|
|
|
}
|
|
|
|
|
|
updateById(bean);
|
|
|
return bean;
|
|
|
}
|
|
|
|
|
|
+ private List<Map>getProductMapList(List<OrderProduct>productList){
|
|
|
+ List<Map> mapList = new ArrayList<>();
|
|
|
+ for(OrderProduct orderProduct:productList){
|
|
|
+ Map map = new HashMap();
|
|
|
+ BeanUtil.copyProperties(orderProduct, map);
|
|
|
+ mapList.add(map);
|
|
|
+ }
|
|
|
+ return mapList;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@@ -298,9 +319,10 @@ public class OrderServiceImpl extends SuperServiceImpl<OrderMapper, Order> imple
|
|
|
if(map!=null&&map.get("orderList")!=null){
|
|
|
list = (List<Map>)map.get("orderList");
|
|
|
}
|
|
|
- List<Long>idList = list.stream().map(p -> Long.parseLong(p.get("id").toString())).collect(Collectors.toList());
|
|
|
- List<Order> oriOrderList = baseMapper.selectList(Wraps.<Order>lbQ().in(Order::getId,idList));
|
|
|
- List<OrderProduct> orderProductList = orderProductService.list(Wraps.<OrderProduct>lbQ().in(OrderProduct::getOrderId,idList));
|
|
|
+ List<Long>idList = list.stream().map(p -> Long.parseLong(p.get("orderProductId").toString())).collect(Collectors.toList());
|
|
|
+ List<Long>planIdList = list.stream().map(p -> Long.parseLong(p.get("id").toString())).collect(Collectors.toList());
|
|
|
+ List<Plan> oriPlanList = planMapper.selectList(Wraps.<Plan>lbQ().in(Plan::getId,planIdList));
|
|
|
+ List<OrderProduct> orderProductList = orderProductService.list(Wraps.<OrderProduct>lbQ().in(OrderProduct::getId,idList));
|
|
|
//重复点击验证
|
|
|
String ids = StringUtil.changeIdsListToSubQueryStr(idList);
|
|
|
Object obj = redisTemplate.opsForValue().get(RepeatCacheKey.ONETOUCHSCHEDULE_UNION_KEY+"_"+ids);
|
|
|
@@ -312,33 +334,33 @@ public class OrderServiceImpl extends SuperServiceImpl<OrderMapper, Order> imple
|
|
|
|
|
|
|
|
|
//验证状态
|
|
|
- for(Order order:oriOrderList){
|
|
|
- isFalse(!"2".equals(order.getAuditStatus()),"请选择审核通过的数据");
|
|
|
- isFalse(!"1".equals(order.getPlanStatus()),"请选择尚未排产的数据");
|
|
|
+ for(Plan plan:oriPlanList){
|
|
|
+ isFalse(!"2".equals(plan.getAuditStatus()),"请选择审核通过的数据");
|
|
|
+ isFalse(!"0".equals(plan.getSchedulingStatus()),"请选择待排产的数据");
|
|
|
}
|
|
|
|
|
|
try {
|
|
|
//把之前的预生成的数据删除
|
|
|
- taskMapper.delete(Wraps.<TTask>lbQ().eq(TTask::getDraftFlag, "1").in(TTask::getOrderId, idList));
|
|
|
- planProductMapper.delete(Wraps.<PlanProduct>lbQ().eq(PlanProduct::getDraftFlag, "1").in(PlanProduct::getOrderId, idList));
|
|
|
- planMapper.delete(Wraps.<Plan>lbQ().eq(Plan::getDraftFlag, "1").in(Plan::getOrderId, idList));
|
|
|
- workpieceMapper.delete(Wraps.<TWorkpiece>lbQ().in(TWorkpiece::getOrderId, idList));
|
|
|
-
|
|
|
- List<Plan> planList = new ArrayList<Plan>();
|
|
|
- for (Map m : list) {
|
|
|
- //生成计划
|
|
|
- List<Plan> tmpList = planService.saveDefaultPlanByOrder(m, null);
|
|
|
- planList.addAll(tmpList);
|
|
|
- }
|
|
|
+ taskMapper.delete(Wraps.<TTask>lbQ().eq(TTask::getDraftFlag, "1").in(TTask::getPlanId, planIdList));
|
|
|
+// planProductMapper.delete(Wraps.<PlanProduct>lbQ().eq(PlanProduct::getDraftFlag, "1").in(PlanProduct::getOrderId, idList));
|
|
|
+// planMapper.delete(Wraps.<Plan>lbQ().eq(Plan::getDraftFlag, "1").in(Plan::getOrderId, idList));
|
|
|
+ workpieceMapper.delete(Wraps.<TWorkpiece>lbQ().in(TWorkpiece::getPlanId, planIdList));
|
|
|
+
|
|
|
+// List<Plan> planList = new ArrayList<Plan>();
|
|
|
+// for (Map m : list) {
|
|
|
+// //生成计划
|
|
|
+// List<Plan> tmpList = planService.saveDefaultPlanByOrder(m, null);
|
|
|
+// planList.addAll(tmpList);
|
|
|
+// }
|
|
|
String taskBatchNo = UUID.randomUUID().toString().replace("-", "");
|
|
|
|
|
|
//查出所有产品ID
|
|
|
- List<OrderProduct> productList = orderProductService.list(Wraps.<OrderProduct>lbQ().in(OrderProduct::getOrderId, idList));
|
|
|
- List<Long> bomIdList = productList.stream().map(p -> p.getBomId()).collect(Collectors.toList());
|
|
|
+// List<OrderProduct> productList = orderProductService.list(Wraps.<OrderProduct>lbQ().in(OrderProduct::getOrderId, idList));
|
|
|
+ List<Long> bomIdList = orderProductList.stream().map(p -> p.getBomId()).collect(Collectors.toList());
|
|
|
//查出本次需要得工艺信息
|
|
|
Map<Long, List<BomProcedure>> bomProcedureMap = bomProcedureService.getBomProcedureMap(bomIdList);
|
|
|
//查出所有的计划产品
|
|
|
- List<PlanProduct> planProductList = planProductService.list(Wraps.<PlanProduct>lbQ().in(PlanProduct::getOrderId, idList));
|
|
|
+ List<PlanProduct> planProductList = planProductService.list(Wraps.<PlanProduct>lbQ().in(PlanProduct::getPlanId, planIdList));
|
|
|
//生成任务
|
|
|
List<TTask> taskList = taskService.createNewTaskByPlan(orderProductList, planProductList, bomProcedureMap, taskBatchNo);
|
|
|
|
|
|
@@ -371,39 +393,40 @@ public class OrderServiceImpl extends SuperServiceImpl<OrderMapper, Order> imple
|
|
|
isFalse(list==null||list.size()==0,"排产订单不能为空");
|
|
|
//更新订单状态
|
|
|
for(Map m:list){
|
|
|
- Order order = new Order();
|
|
|
- order.setId(Long.parseLong(m.get("id").toString()));
|
|
|
- order.setPlanStatus("3");//计划完成
|
|
|
- order.setSchedulingStatus("3");//已排产
|
|
|
- order.setRhythmType(m.get("rhythmType")==null?"1":m.get("rhythmType").toString());
|
|
|
- baseMapper.updateById(order);
|
|
|
+ Plan plan = new Plan();
|
|
|
+ plan.setId(Long.parseLong(m.get("id").toString()));
|
|
|
+ plan.setPlanStatus("2");//进行中
|
|
|
+ plan.setSchedulingStatus("1");//已排产
|
|
|
+ plan.setProduceStatus("2");
|
|
|
+// plan.setRhythmType(m.get("rhythmType")==null?"1":m.get("rhythmType").toString());
|
|
|
+ planMapper.updateById(plan);
|
|
|
|
|
|
//生产单元
|
|
|
- List<String > zZoneList = m.get("zZoneList")==null?null:(List<String>)m.get("zZoneList");
|
|
|
- //删除生产单元
|
|
|
- orderZoneMapper.delete(Wraps.<OrderZone>lbQ().eq(OrderZone::getOrderId,order.getId()));
|
|
|
- if(zZoneList !=null && zZoneList.size()>0){
|
|
|
- List<OrderZone> zoneList = zZoneList.stream().map((map1) -> {
|
|
|
- OrderZone item = new OrderZone();
|
|
|
- item.setZoneId(Long.parseLong(map1));
|
|
|
- item.setOrderId(order.getId());
|
|
|
- return item;
|
|
|
- }).collect(Collectors.toList());
|
|
|
- orderZoneService.saveBatch(zoneList);
|
|
|
- }
|
|
|
+// List<String > zZoneList = m.get("zZoneList")==null?null:(List<String>)m.get("zZoneList");
|
|
|
+// //删除生产单元
|
|
|
+// orderZoneMapper.delete(Wraps.<OrderZone>lbQ().eq(OrderZone::getOrderId,order.getId()));
|
|
|
+// if(zZoneList !=null && zZoneList.size()>0){
|
|
|
+// List<OrderZone> zoneList = zZoneList.stream().map((map1) -> {
|
|
|
+// OrderZone item = new OrderZone();
|
|
|
+// item.setZoneId(Long.parseLong(map1));
|
|
|
+// item.setOrderId(order.getId());
|
|
|
+// return item;
|
|
|
+// }).collect(Collectors.toList());
|
|
|
+// orderZoneService.saveBatch(zoneList);
|
|
|
+// }
|
|
|
|
|
|
//更新订单产品
|
|
|
- List<Map> orderProductList = m.get("orderProductList")==null?null:(List<Map>)m.get("orderProductList");
|
|
|
- if(orderProductList !=null && orderProductList.size()>0){
|
|
|
- List<OrderProduct> oList= orderProductList.stream().map((map1) -> {
|
|
|
- OrderProduct item = new OrderProduct();
|
|
|
- item.setRhythmType(map1.get("rhythmType")==null?null:map1.get("rhythmType").toString());
|
|
|
- item.setLimitNum(map1.get("limitNum")==null?null:Integer.parseInt(map1.get("limitNum").toString()));
|
|
|
- item.setId(Long.parseLong(map1.get("id").toString()));
|
|
|
- return item;
|
|
|
- }).collect(Collectors.toList());
|
|
|
- orderProductService.updateBatchById(oList);
|
|
|
- }
|
|
|
+// List<Map> orderProductList = m.get("orderProductList")==null?null:(List<Map>)m.get("orderProductList");
|
|
|
+// if(orderProductList !=null && orderProductList.size()>0){
|
|
|
+// List<OrderProduct> oList= orderProductList.stream().map((map1) -> {
|
|
|
+// OrderProduct item = new OrderProduct();
|
|
|
+// item.setRhythmType(map1.get("rhythmType")==null?null:map1.get("rhythmType").toString());
|
|
|
+// item.setLimitNum(map1.get("limitNum")==null?null:Integer.parseInt(map1.get("limitNum").toString()));
|
|
|
+// item.setId(Long.parseLong(map1.get("id").toString()));
|
|
|
+// return item;
|
|
|
+// }).collect(Collectors.toList());
|
|
|
+// orderProductService.updateBatchById(oList);
|
|
|
+// }
|
|
|
}
|
|
|
|
|
|
//更新计划草稿状态
|