Ver código fonte

Merge remote-tracking branch 'origin/dev' into dev

yangguanjin 1 dia atrás
pai
commit
8a4ff3f994

+ 2 - 1
tz-module-infra/tz-module-infra-biz/src/main/resources/application-hsd.yaml

@@ -87,7 +87,8 @@ spring:
 
 # rocketmq 配置项,对应 RocketMQProperties 配置类
 rocketmq:
-  name-server: data.hofo.co:9876 # RocketMQ Namesrv
+  #  name-server: data.hofo.co:9876 # RocketMQ Namesrv
+  name-server: 192.168.0.53:9876 # RocketMQ Namesrv
 
 #spring:
 #  # RabbitMQ 配置项,对应 RabbitProperties 配置类

+ 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;
 }

+ 3 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/acceptorder/AcceptOrderServiceImpl.java

@@ -1051,6 +1051,9 @@ public class AcceptOrderServiceImpl implements AcceptOrderService {
             }
         }
 
+        //设置查询设备类型为锅炉
+        pageReqVO.setEquipMainType(200);
+
         PageResult<AcceptOrderDO> acceptOrderDOPageResult = acceptOrderMapper.selectPage(pageReqVO);
         PageResult<AcceptOrderRespVO> pageResult = BeanUtils.toBean(acceptOrderDOPageResult, AcceptOrderRespVO.class);
 

+ 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 -> "未知";
         };

+ 49 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorderitemsuspend/PipeTaskOrderItemSuspendServiceImpl.java

@@ -1,15 +1,19 @@
 package cn.start.tz.module.pressure2.service.pipetaskorderitemsuspend;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
 import cn.start.tz.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.start.tz.module.pressure.enums.TaskOrderStatusEnum;
 import cn.start.tz.module.pressure2.controller.admin.pipetaskorder.vo.PipeTaskOrderSyncReportVO;
 import cn.start.tz.module.pressure2.dal.dataobject.appointmentconfirmorderrefuseitem.AppointmentConfirmOrderRefuseItemDO;
 import cn.start.tz.module.pressure2.dal.dataobject.appointmentconfirmrefuseyearitem.AppointmentConfirmRefuseYearItemDO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorder.BoilerTaskOrderDO;
+import cn.start.tz.module.pressure2.dal.dataobject.equipboiler.EquipBoilerDO;
 import cn.start.tz.module.pressure2.dal.dataobject.equippipe.EquipPipeDO;
 import cn.start.tz.module.pressure2.dal.dataobject.equippipedetail.EquipPipeDetailDO;
+import cn.start.tz.module.pressure2.dal.dataobject.equippipescheduling.EquipPipeSchedulingDO;
 import cn.start.tz.module.pressure2.dal.dataobject.equippipeschedulingitem.EquipPipeSchedulingItemDO;
+import cn.start.tz.module.pressure2.dal.dataobject.equippipeschedulingitemdetail.EquipPipeSchedulingItemDetailDO;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorder.PipeTaskOrderDO;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitem.PipeTaskOrderItemDO;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemdetail.PipeTaskOrderItemDetailDO;
@@ -17,7 +21,9 @@ import cn.start.tz.module.pressure2.dal.mysql.appointmentconfirmorderrefuseitem.
 import cn.start.tz.module.pressure2.dal.mysql.appointmentconfirmrefuseyearitem.AppointmentConfirmRefuseYearItemMapper;
 import cn.start.tz.module.pressure2.dal.mysql.equippipe.EquipPipeMapper;
 import cn.start.tz.module.pressure2.dal.mysql.equippipedetail.EquipPipeDetailMapper;
+import cn.start.tz.module.pressure2.dal.mysql.equippipescheduling.EquipPipeSchedulingMapper;
 import cn.start.tz.module.pressure2.dal.mysql.equippipeschedulingitem.EquipPipeSchedulingItemMapper;
+import cn.start.tz.module.pressure2.dal.mysql.equippipeschedulingitemdetail.EquipPipeSchedulingItemDetailMapper;
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorder.PipeTaskOrderMapper;
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitem.PipeTaskOrderItemMapper;
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemdetail.PipeTaskOrderItemDetailMapper;
@@ -109,6 +115,12 @@ public class PipeTaskOrderItemSuspendServiceImpl extends ServiceImpl<PipeTaskOrd
     @Resource
     private EquipPipeSchedulingItemMapper equipPipeSchedulingItemMapper;
 
+    @Resource
+    private EquipPipeSchedulingItemDetailMapper equipPipeSchedulingItemDetailMapper;
+
+    @Resource
+    private EquipPipeSchedulingMapper equipPipeSchedulingMapper;
+
     @Resource
     private PipeTaskOrderService taskOrderService;
 
@@ -342,6 +354,33 @@ public class PipeTaskOrderItemSuspendServiceImpl extends ServiceImpl<PipeTaskOrd
                     }
                 }
 
+                //flag=0 无需上报 年度检验 拒检原因为检验项目调整,直接解除约检数据锁定,支持重新约检
+                if (submitReqVO.getFlag() == 0 && taskOrderDO.getCheckType() == 200){
+
+                    if (submitReqVO.getReasonDict() != null && "6".equals(submitReqVO.getReasonDict())){
+
+                        //重置设备排期标识
+                        if (ObjectUtil.isNotEmpty(refuseItemDOList)) {
+                            for (AppointmentConfirmOrderRefuseItemDO appointmentConfirmOrderRefuseItemDO : refuseItemDOList) {
+                                EquipPipeDetailDO detailDO = new EquipPipeDetailDO();
+                                detailDO.setId(appointmentConfirmOrderRefuseItemDO.getEquipId());
+                                if (Integer.valueOf(200).equals(appointmentConfirmOrderRefuseItemDO.getCheckType())) {
+                                    detailDO.setHasYearScheduling(false);
+                                }
+                                equipPipeDetailMapper.updateById(detailDO);
+                            }
+                        }
+
+                        //清除排期
+                        equipPipeSchedulingItemDetailMapper.delete(new LambdaQueryWrapperX<EquipPipeSchedulingItemDetailDO>()
+                                .eq(EquipPipeSchedulingItemDetailDO::getSchedulingId, taskOrderDO.getSchedulingId())
+                                .in(EquipPipeSchedulingItemDetailDO::getEquipDetailId, equipDetailIds)
+                        );
+
+                    }
+
+                }
+
                 //判断设备下的管线是否已删除完
                 List<PipeTaskOrderItemDetailDO> pipeTaskOrderItemDetailDOList = taskOrderItemDetailMapper.selectList(new LambdaQueryWrapper<PipeTaskOrderItemDetailDO>()
                         .eq(PipeTaskOrderItemDetailDO::getOrderItemId, taskOrderItemDO.getId()));
@@ -357,10 +396,15 @@ public class PipeTaskOrderItemSuspendServiceImpl extends ServiceImpl<PipeTaskOrd
 
                     // 删除排期中拒绝约检设备
                     if (StringUtils.isNotEmpty(taskOrderDO.getSchedulingId())) {
+                        //删除排期设备-工程
                         equipPipeSchedulingItemMapper.delete(new LambdaQueryWrapperX<EquipPipeSchedulingItemDO>().
                                 eq(EquipPipeSchedulingItemDO::getSchedulingId, taskOrderDO.getSchedulingId()).
                                 in(EquipPipeSchedulingItemDO::getEquipId, taskOrderItemDO.getEquipId())
                         );
+                        //删除排期设备-管道
+                        equipPipeSchedulingItemDetailMapper.delete(new LambdaQueryWrapperX<EquipPipeSchedulingItemDetailDO>().
+                                eq(EquipPipeSchedulingItemDetailDO::getSchedulingId, taskOrderDO.getSchedulingId())
+                        );
                     }
                 }
 
@@ -377,6 +421,11 @@ public class PipeTaskOrderItemSuspendServiceImpl extends ServiceImpl<PipeTaskOrd
                 .eq(PipeTaskOrderItemDO::getOrderId, orderId.get()));
         if (count == null || count == 0){
             updateDO.setTaskStatus(TaskOrderStatusEnum.CANCEL.getStatus());
+            //同步作废计划排期单
+            PipeTaskOrderDO taskOrderDO = taskOrderMapper.selectById(orderId.get());
+            if (taskOrderDO != null){
+                equipPipeSchedulingMapper.deleteById(taskOrderDO.getSchedulingId());
+            }
         }else{
             updateDO.setEquipNum(Math.toIntExact(count));
             //修改金额

+ 2 - 1
tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/application-hsd.yaml

@@ -99,7 +99,8 @@ spring:
 
 # rocketmq 配置项,对应 RocketMQProperties 配置类
 rocketmq:
-  name-server: data.hofo.co:9876 # RocketMQ Namesrv
+#  name-server: data.hofo.co:9876 # RocketMQ Namesrv
+  name-server: 192.168.0.53:9876 # RocketMQ Namesrv
 
 #rocketmq:
 #  name-server: 192.168.20.224:9876