ly 1 rok pred
rodič
commit
44ad6ac14f

+ 15 - 10
src/main/java/cn/ezhizao/project/business/workOrder/controller/WorkOrderCurrentController.java

@@ -42,6 +42,7 @@ import java.time.Month;
 import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 /**
  * 本月委托工单Controller
@@ -193,20 +194,24 @@ public class WorkOrderCurrentController extends BaseController {
         //如果下月工单没有被修改则可以委托
         // 添加下一月
         DateTime currentMonth = DateTime.of(entrust.getWorkMonth());
-
+        List<Long> notNeedWorkIds = null;
         List<BizEntrust> list = bizEntrustService.list(new LambdaQueryWrapper<BizEntrust>()
                 .eq(BizEntrust::getDeleted, 0)
                 .eq(BizEntrust::getWorkMonth, currentMonth.offset(DateField.MONTH, 1).toSqlDate())
-                .eq(BizEntrust::getFromTenantId, entrust.getFromTenantId())
+
                 .in(BizEntrust::getWorkOrderId, entrust.getWorkOrderIds()));
-        List<Long> needWorkIds = list.stream().filter(l ->
-                {
-                    Long updaterId = l.getCreatorId();
-                    SysUser sysUser = userService.selectUserById(Long.valueOf(updaterId));
-                    return sysUser == null ? true : false;
-                }
-        ).map(l -> l.getWorkOrderId()).collect(Collectors.toList());
-        status = status && addEntrust(needWorkIds, currentMonth.offset(DateField.MONTH, 1).toSqlDate(), entrust.getToTenantId());
+
+        notNeedWorkIds = list.stream().filter(l ->
+                    {
+                        Long updaterId = l.getCreatorId();
+                        SysUser sysUser = userService.selectUserById(Long.valueOf(updaterId));
+                        return sysUser != null ? true : false;
+                    }
+            ).map(l -> l.getWorkOrderId()).collect(Collectors.toList());
+        List<Long> finalNotNeedWorkIds = notNeedWorkIds;
+        List<Long> needWorkIds = entrust.getWorkOrderIds().stream().filter(l -> !finalNotNeedWorkIds.contains(l)).collect(Collectors.toList());
+
+        status = status && addEntrust(needWorkIds, currentMonth.toSqlDate(), entrust.getToTenantId());
         // 添加委托
         return toAjax(status);
     }