Эх сурвалжийг харах

feat: 隔离不同事业部 并区分不同的区域范围, 放开查询校验

shc 4 сар өмнө
parent
commit
a7e67d7632

+ 51 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/manager/TaskManager.java

@@ -198,12 +198,30 @@ public class TaskManager {
       } else {
         if (DING_KAI_DEPT_ID.contains(query.getVendorId())) {
           vendor = Collections.singletonList(query.getVendorId());
-        } else {
+        }
+        // 如果查询的服务商不在分管领导可见范围,则需要补查总经理可见范围
+        else {
+          pageDirectCheck(
+              page,
+              issueDate,
+              expiryDate,
+              StrUtil.isEmpty(query.getPkgIds())
+                  ? Collections.emptyList()
+                  : StrUtil.split(query.getPkgIds(), StrPool.COMMA),
+              startTime,
+              endTime,
+              query.getTaskTypeId(),
+              Collections.singletonList(query.getVendorId()),
+              skuIds,
+              query.getSalesId(),
+              query.getProvAbbr(),
+              calcNodeSum(15),
+              query.getTaskStatus());
           return page;
         }
       }
 
-      taskMapper.pageDirectCheck(
+      pageDirectCheck(
           page,
           issueDate,
           expiryDate,
@@ -222,7 +240,7 @@ public class TaskManager {
 
       // 如果分管领导的数据不存在,默认再查一遍总经理的
       if (CollUtil.isEmpty(page.getRecords())) {
-        taskMapper.pageDirectCheck(
+        pageDirectCheck(
             page,
             issueDate,
             expiryDate,
@@ -244,6 +262,36 @@ public class TaskManager {
     }
   }
 
+  private void pageDirectCheck(
+      Page<ToDirectCheck> page,
+      LocalDate issueDate,
+      LocalDate expiryDate,
+      List<String> pkgIds,
+      LocalDateTime startTime,
+      LocalDateTime endTime,
+      String taskTypeId,
+      List<Integer> vendorList,
+      List<String> skuIds,
+      Integer salesId,
+      String provAbbr,
+      List<Integer> nodeSumList,
+      String taskStatus) {
+    taskMapper.pageDirectCheck(
+        page,
+        issueDate,
+        expiryDate,
+        pkgIds,
+        startTime,
+        endTime,
+        taskTypeId,
+        vendorList,
+        skuIds,
+        salesId,
+        provAbbr,
+        nodeSumList,
+        taskStatus);
+  }
+
   private List<Integer> calcNodeSum(Integer nodeId) {
 
     List<Integer> nodeSum = new ArrayList<>(2);