|
@@ -269,6 +269,22 @@ public class OrderServiceImpl extends SuperServiceImpl<OrderMapper, Order> imple
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Boolean delete(Order model) {
|
|
|
+
|
|
|
+
|
|
|
+ //原炉数量回收
|
|
|
+ List<OrderProduct>orderProductList = orderProductService.list(Wraps.<OrderProduct>lbQ().eq(OrderProduct::getOrderId,model.getId()));
|
|
|
+ Map<Long,Integer>orderProductMap = orderProductList.stream().collect(groupingBy(OrderProduct::getMeterialReceiveId, Collectors.summingInt(OrderProduct::getBomNum)));
|
|
|
+
|
|
|
+
|
|
|
+ List<Long>idList = orderProductList.stream().map(t->t.getMeterialReceiveId()).collect(Collectors.toList());
|
|
|
+ List<MMeterialReceiveLog>meterialReceiveLogList = meterialReceiveLogService.list(Wraps.<MMeterialReceiveLog>lbQ().in(MMeterialReceiveLog::getId,idList));
|
|
|
+
|
|
|
+ for(MMeterialReceiveLog meterialReceiveLog:meterialReceiveLogList){
|
|
|
+ int bomNum = orderProductMap.get(meterialReceiveLog.getId());
|
|
|
+ meterialReceiveLog.setUsedNum(meterialReceiveLog.getUsedNum()-bomNum);
|
|
|
+ }
|
|
|
+ meterialReceiveLogService.saveOrUpdateBatch(meterialReceiveLogList);
|
|
|
+
|
|
|
//删除任务
|
|
|
taskService.remove(Wraps.<TTask>lbQ().eq(TTask::getOrderId,model.getId()));
|
|
|
//删除计划明细
|
|
@@ -765,6 +781,21 @@ public class OrderServiceImpl extends SuperServiceImpl<OrderMapper, Order> imple
|
|
|
public Boolean deleteOrder(Order model){
|
|
|
// 判断计划是否在生产中,如果是在生产中不可删除
|
|
|
isFalse(checkPlan(model) > 0, "订单已生产,不可删除");
|
|
|
+
|
|
|
+ //原炉数量回收
|
|
|
+ List<OrderProduct>orderProductList = orderProductService.list(Wraps.<OrderProduct>lbQ().eq(OrderProduct::getOrderId,model.getId()));
|
|
|
+ Map<Long,Integer>orderProductMap = orderProductList.stream().collect(groupingBy(OrderProduct::getMeterialReceiveId, Collectors.summingInt(OrderProduct::getBomNum)));
|
|
|
+
|
|
|
+
|
|
|
+ List<Long>idList = orderProductList.stream().map(t->t.getMeterialReceiveId()).collect(Collectors.toList());
|
|
|
+ List<MMeterialReceiveLog>meterialReceiveLogList = meterialReceiveLogService.list(Wraps.<MMeterialReceiveLog>lbQ().in(MMeterialReceiveLog::getId,idList));
|
|
|
+
|
|
|
+ for(MMeterialReceiveLog meterialReceiveLog:meterialReceiveLogList){
|
|
|
+ int bomNum = orderProductMap.get(meterialReceiveLog.getId());
|
|
|
+ meterialReceiveLog.setUsedNum(meterialReceiveLog.getUsedNum()-bomNum);
|
|
|
+ }
|
|
|
+ meterialReceiveLogService.saveOrUpdateBatch(meterialReceiveLogList);
|
|
|
+
|
|
|
PlanProduct planProduct = planProductMapper.selectOne(Wraps.<PlanProduct>lbQ().eq(PlanProduct::getPlanId,model.getId()));
|
|
|
int count = planMapper.delete(Wraps.<Plan>lbQ().eq(Plan::getId,model.getId()));
|
|
|
planProductMapper.delete(Wraps.<PlanProduct>lbQ().eq(PlanProduct::getPlanId,model.getId()));
|