Procházet zdrojové kódy

fix: 修复合同bug

hanfangyu před 1 rokem
rodič
revize
f851661529

+ 5 - 20
src/main/java/cn/ezhizao/project/business/order/service/impl/BizArchiveInputServiceImpl.java

@@ -176,9 +176,9 @@ public class BizArchiveInputServiceImpl extends ServiceImpl<BizArchiveInputMappe
                         if (l.getRedirect() != null && l.getRedirect()) {
                             // 重建任务将旧任务停止
                             workOrders.forEach(v -> v.setIsStop(1));
-                            changeWorkOrders.addAll(workOrders);
+                            stopWorkOrders.addAll(workOrders);
                             workOrderDetails.forEach(v -> v.setIsStop(1));
-                            changeWorkOrderDetails.addAll(workOrderDetails);
+                            stopWorkOrderDetails.addAll(workOrderDetails);
                             // 新建新任务。
                             BizWorkOrder workOrder = new BizWorkOrder();
                             workOrder.setCompanyId(bizArchiveInput.getCompanyId());
@@ -242,15 +242,7 @@ public class BizArchiveInputServiceImpl extends ServiceImpl<BizArchiveInputMappe
                     // 停用的工单判断是否为空
                     workOrders.forEach(l -> {
                         BizWorkOrderDetail detail = stopWorkOrderDetails.stream().filter(v -> v.getWorkOrderId().equals(l.getId())).findFirst().orElse(null);
-                        if (changeWorkOrders.stream().noneMatch(v -> v.getId().equals(l.getId())) && detail != null) {
-                            BizWorkOrder v = changeWorkOrders.stream().filter(e -> e.getId().equals(l.getId())).findFirst().orElse(l);
-                            int monthNum = v.getMonthNum() - (detail.getServiceNum() == null ? 0 : detail.getServiceNum()) - (detail.getFreeNum() == null ? 0 : detail.getFreeNum());
-                            v.setMonthNum(monthNum);
-                            if (v.getStartMonth() != null) {
-                                DateTime startMonth = DateTime.of(v.getStartMonth());
-                                v.setEndMonth(startMonth.offset(DateField.MONTH, monthNum - 1).toSqlDate());
-                            }
-                        } else if (detail != null) {
+                       if (detail != null) {
                             int monthNum = l.getMonthNum() - (detail.getServiceNum() == null ? 0 : detail.getServiceNum()) - (detail.getFreeNum() == null ? 0 : detail.getFreeNum());
 
                             if (monthNum == 0) {
@@ -265,14 +257,6 @@ public class BizArchiveInputServiceImpl extends ServiceImpl<BizArchiveInputMappe
                                 changeWorkOrders.add(l);
                             }
                         }
-//                        Integer workMonth = l.getMonthNum() - (detail != null ? detail.getFreeNum() + detail.getServiceNum() : 0);
-//                        if (workMonth.equals(0)) {
-//                            l.setIsStop(1);
-//                            stopWorkOrders.add(l);
-//                        } else {
-//                            l.setMonthNum(workMonth);
-//                            changeWorkOrders.add(l);
-//                        }
                     });
                 }
             } else if (bizArchiveInput.getServiceType().equals(2)) {
@@ -312,7 +296,8 @@ public class BizArchiveInputServiceImpl extends ServiceImpl<BizArchiveInputMappe
             }
         }
 
-
+        stopWorkOrders.forEach(order -> order.setIsStop(1));
+        stopWorkOrderDetails.forEach(orderDetail -> orderDetail.setIsStop(1));
 
         boolean status = (newWorkOrderDetails.isEmpty() || workOrderDetailService.saveBatch(newWorkOrderDetails))
                 && (newWorkOrders.isEmpty() || workOrderService.saveBatch(newWorkOrders))