Browse Source

增加搜索条件

xzc 1 day ago
parent
commit
0c37adb57e

+ 4 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/equipboilerscheduling/vo/BoilerCalendarReqVO.java

@@ -27,4 +27,8 @@ public class BoilerCalendarReqVO {
 
     @Schema(description = "单位名称")
     private String unitName;
+
+
+    @Schema(description = "是否仅查询已受理待安排(已生成受理单但未安排检验员)")
+    private Boolean onlyAcceptNoUser;
 }

+ 3 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/equippipescheduling/vo/PipeShiftScheduleReqVO.java

@@ -40,4 +40,7 @@ public class PipeShiftScheduleReqVO {
 
     @Schema(description = "confirmOrderId")
     private String confirmOrderId;
+
+    @Schema(description = "是否仅查询已受理待安排(已生成受理单但未安排检验员)")
+    private Boolean onlyAcceptNoUser;
 }

+ 34 - 29
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/equippipescheduling/EquipPipeSchedulingServiceImpl.java

@@ -546,26 +546,7 @@ public class EquipPipeSchedulingServiceImpl extends ServiceImpl<EquipPipeSchedul
             return list;
         }
 
-        // 查询已安排检验员的排期ID集合(用于区分"已受理"和"已受理待安排")
-        Set<String> scheduledTaskIds = new HashSet<>();
-        Set<String> allTaskIds = boilerCalendarItemRespVOS.stream()
-                .map(BoilerCalendarItemRespVO::getTaskId)
-                .filter(Objects::nonNull)
-                .collect(Collectors.toSet());
-        if (!allTaskIds.isEmpty()) {
-            List<EquipPipeSchedulingUserDO> schedulingUsers = equipPipeSchedulingUserMapper.selectList(
-                    new LambdaQueryWrapperX<EquipPipeSchedulingUserDO>()
-                            .in(EquipPipeSchedulingUserDO::getSchedulingId, allTaskIds)
-                            .eq(EquipPipeSchedulingUserDO::getDeleted, 0)
-            );
-            scheduledTaskIds = schedulingUsers.stream()
-                    .map(EquipPipeSchedulingUserDO::getSchedulingId)
-                    .filter(Objects::nonNull)
-                    .collect(Collectors.toSet());
-        }
-
         Map<String, List<BoilerCalendarItemRespVO>> map = boilerCalendarItemRespVOS.stream().collect(Collectors.groupingBy(BoilerCalendarItemRespVO::getPlanDate));
-        final Set<String> finalScheduledTaskIds = scheduledTaskIds;
         boilerCalendarItemRespVOS.forEach(item->{
             item.setEquipDistrictName(AreaUtils.getAreaName(item.getEquipDistrict()));
             item.setEquipStreetName(AreaUtils.getAreaName(item.getEquipStreet()));
@@ -580,7 +561,6 @@ public class EquipPipeSchedulingServiceImpl extends ServiceImpl<EquipPipeSchedul
             if (item.getTaskStatus() != null && item.getTaskStatus() >= 400) {
                 status = 400; // 检测中
             }
-
             if (status >= 400) {
                 if (item.getTaskStatus() >= 800) {
                     status = 600; // 已办结
@@ -608,13 +588,35 @@ public class EquipPipeSchedulingServiceImpl extends ServiceImpl<EquipPipeSchedul
                     }
                 }
             }
-            // 已受理但未安排检验员 → 已受理待安排
-            if (status == 300 && !finalScheduledTaskIds.contains(item.getTaskId())) {
-                status = 350; // 已受理待安排
-            }
             item.setStatus(status);
         });
 
+        // 已受理待安排:已受理(状态300,未进入检测中)但未安排检验员
+        if (Boolean.TRUE.equals(pageReqVO.getOnlyAcceptNoUser())) {
+            Set<String> taskIds = boilerCalendarItemRespVOS.stream()
+                    .map(BoilerCalendarItemRespVO::getTaskId)
+                    .filter(Objects::nonNull)
+                    .collect(Collectors.toSet());
+            Set<String> scheduledTaskIds = new HashSet<>();
+            if (!taskIds.isEmpty()) {
+                List<EquipPipeSchedulingUserDO> schedulingUsers = equipPipeSchedulingUserMapper.selectList(
+                        new LambdaQueryWrapperX<EquipPipeSchedulingUserDO>()
+                                .in(EquipPipeSchedulingUserDO::getSchedulingId, taskIds)
+                                .eq(EquipPipeSchedulingUserDO::getDeleted, 0)
+                );
+                scheduledTaskIds = schedulingUsers.stream()
+                        .map(EquipPipeSchedulingUserDO::getSchedulingId)
+                        .filter(Objects::nonNull)
+                        .collect(Collectors.toSet());
+            }
+            Set<String> finalScheduledTaskIds = scheduledTaskIds;
+            boilerCalendarItemRespVOS = boilerCalendarItemRespVOS.stream()
+                    .filter(item -> item.getStatus() != null && item.getStatus() == 300
+                            && !finalScheduledTaskIds.contains(item.getTaskId()))
+                    .collect(Collectors.toList());
+            map = boilerCalendarItemRespVOS.stream().collect(Collectors.groupingBy(BoilerCalendarItemRespVO::getPlanDate));
+        }
+
         map.forEach((key,values)->{
             BoilerCalendarRespVO calendarRespVO = new BoilerCalendarRespVO();
             calendarRespVO.setPlanDate(key);
@@ -1670,10 +1672,6 @@ public class EquipPipeSchedulingServiceImpl extends ServiceImpl<EquipPipeSchedul
                     }
                 }
             }
-            // 已受理但未安排检验员 → 已受理待安排
-            if (status == 300 && !taskIdToUsersMap.containsKey(item.getTaskId())) {
-                status = 350; // 已受理待安排
-            }
             item.setStatus(status);
 
             // 处理日期和星期
@@ -1763,6 +1761,14 @@ public class EquipPipeSchedulingServiceImpl extends ServiceImpl<EquipPipeSchedul
 
         }
 
+        // 已受理待安排:已受理(状态300,未进入检测中)但未安排检验员
+        if (Boolean.TRUE.equals(pageReqVO.getOnlyAcceptNoUser())) {
+            pipeShiftScheduleItemRespVOS = pipeShiftScheduleItemRespVOS.stream()
+                    .filter(item -> item.getStatus() != null && item.getStatus() == 300
+                            && !taskIdToUsersMap.containsKey(item.getTaskId()))
+                    .collect(Collectors.toList());
+        }
+
         if (pageReqVO.getStatus() != null){
             return pipeShiftScheduleItemRespVOS.stream().filter(item -> Objects.equals(item.getStatus(), pageReqVO.getStatus())).toList();
         }
@@ -2244,7 +2250,6 @@ public class EquipPipeSchedulingServiceImpl extends ServiceImpl<EquipPipeSchedul
             case 100 -> "已排期";
             case 200 -> "待约检";
             case 300 -> "已受理";
-            case 350 -> "已受理待安排";
             case 400 -> "检测中";
             default -> "未知";
         };