Kaynağa Gözat

Merge remote-tracking branch 'origin/featCnbg-supervFilter-20250325' into cnbg-master

dengjia 2 ay önce
ebeveyn
işleme
bd4706fda9

+ 12 - 6
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/manager/WmSupervisionManager.java

@@ -2251,6 +2251,12 @@ private Page<WmTask> getReviewTaskPage(WmSupervisionDto.OnTaskSupervisionPage qu
       }
 
       WmTaskSupervision wmTaskSupervision = taskSupervisions.get(i - 2);
+
+      boolean rejectedByLeader =
+            advices.get(wmTaskSupervision.getSupervisionId())
+            .stream().filter(adv -> adv.getTaskSupervisionContent() != null && !adv.getAdviceResult())
+            .findFirst().isPresent();
+
       // 列的长度每次都变化。每次都要重新申请空间(长度)
       for (int j = 0; j < datas[i].length; j++) {
 
@@ -2322,19 +2328,19 @@ private Page<WmTask> getReviewTaskPage(WmSupervisionDto.OnTaskSupervisionPage qu
 
         // 监督结果
         if (j == 9) {
-          datas[i][j] = wmTaskSupervision.getSupervisionResult() ? "通过" : "不通过";
+          datas[i][j] = rejectedByLeader ? "" : wmTaskSupervision.getSupervisionResult() ? "通过" : "不通过";
         }
 
         // 监督意见
         if (j == 10) {
-          datas[i][j] = wmTaskSupervision.getRemarks();
+          datas[i][j] = rejectedByLeader ? "" : wmTaskSupervision.getRemarks();
         }
 
         // 部门负责人意见
         if (j == 11) {
           List<WmTaskSupervisionAdvice> supervisionAdvices =
               advices.get(wmTaskSupervision.getSupervisionId());
-          if (CollUtil.isNotEmpty(supervisionAdvices) && supervisionAdvices.size() > 1) {
+          if (!rejectedByLeader && CollUtil.isNotEmpty(supervisionAdvices) && supervisionAdvices.size() > 1) {
             supervisionAdvices.sort((a, b) -> a.getCreateTime().compareTo(b.getCreateTime()));
             WmTaskSupervisionAdvice advice = supervisionAdvices.get(1); // The first is supervisor's advice
             datas[i][j] = advice != null ? advice.getRemarks() : "";
@@ -2347,7 +2353,7 @@ private Page<WmTask> getReviewTaskPage(WmSupervisionDto.OnTaskSupervisionPage qu
         if (j == 12) {
           List<WmTaskSupervisionAdvice> supervisionAdvices =
               advices.get(wmTaskSupervision.getSupervisionId());
-          if (CollUtil.isNotEmpty(supervisionAdvices) && supervisionAdvices.size() > 2) {
+          if (!rejectedByLeader && CollUtil.isNotEmpty(supervisionAdvices) && supervisionAdvices.size() > 2) {
             supervisionAdvices.sort((a, b) -> a.getCreateTime().compareTo(b.getCreateTime()));
             int idx = 2;
             WmTaskSupervisionAdvice advice = supervisionAdvices.get(idx);
@@ -2365,7 +2371,7 @@ private Page<WmTask> getReviewTaskPage(WmSupervisionDto.OnTaskSupervisionPage qu
         if (j == 13) {
             List<WmTaskSupervisionAdvice> supervisionAdvices = advices.get(wmTaskSupervision.getSupervisionId());
             Optional<WmTaskSupervisionAdvice> adv = supervisionAdvices.stream().filter(item -> item.getTaskSupervisionContent() == null).findFirst();
-            datas[i][j] = adv.isPresent() ? formatter.format(adv.get().getCreateTime().toLocalDate()) : "";
+            datas[i][j] = !rejectedByLeader && adv.isPresent() ? formatter.format(adv.get().getCreateTime().toLocalDate()) : "";
         }
       }
     }
@@ -2481,7 +2487,7 @@ private Page<WmTask> getReviewTaskPage(WmSupervisionDto.OnTaskSupervisionPage qu
     //     idx++;
     // }
 
-    return datas;
+    return Arrays.stream(datas).filter(data -> data.length < 14 || StrUtil.isNotEmpty(data[13].toString())).toArray(Object[][]::new);
   }
 
   //     @Transactional(rollbackFor = Exception.class)