فهرست منبع

fix(pressure2): 修复设备调度中的状态更新逻辑

- 在锅炉调度服务中添加LambdaUpdateWrapper导入
- 根据任务类型更新锅炉设备的内部、外部和压力检测状态
- 在管道调度服务中添加LambdaUpdateWrapper导入
- 根据调度类型更新管道详情的合法调度或年度调度状态
- 修复SQL查询中过滤条件的注释问题
xuzhancheng 1 هفته پیش
والد
کامیت
c2e4664bd3

+ 3 - 1
build-uat/update.sql

@@ -1523,4 +1523,6 @@ COMMENT ON COLUMN "PRESSURE2_EQUIP_BOILER"."ANNOTATOR_NAME" IS '备注人名称'
 --20250527
 --上报管理菜单调整
 update system_menu set PARENT_ID = '0a148121ee6a5d745928e00b11c72e2b' where PARENT_ID = 'c3060cb5927de6ceaa25aec939057c3a';
-update system_menu set STATUS = 1 where ID = 'c3060cb5927de6ceaa25aec939057c3a'
+update system_menu set STATUS = 1 where ID = 'c3060cb5927de6ceaa25aec939057c3a'
+
+-- 0527以上已加

+ 27 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/equipboilerscheduling/EquipBoilerSchedulingServiceImpl.java

@@ -41,6 +41,7 @@ import cn.start.tz.module.system.api.dept.DeptApi;
 import cn.start.tz.module.system.api.dept.dto.DeptRespDTO;
 import cn.start.tz.module.system.api.user.AdminUserApi;
 import cn.start.tz.module.system.api.user.dto.AdminUserRespDTO;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
@@ -551,10 +552,36 @@ public class EquipBoilerSchedulingServiceImpl extends ServiceImpl<EquipBoilerSch
                 return equipBoilerSchedulingItemDO;
             }).toList();
 
+            EquipBoilerSchedulingRecordDO equipBoilerSchedulingDO = equipBoilerSchedulingRecordMapper.selectById(equipUpdateVO.getTaskId());
+            if (equipBoilerSchedulingDO != null) {
+                if (equipBoilerSchedulingDO.getType() == 100) {
+                    equipBoilerMapper.update(new LambdaUpdateWrapper<EquipBoilerDO>().set(EquipBoilerDO::getHasInternal, true).
+                            in(EquipBoilerDO::getId, equipUpdateVO.getDeleteIds()));
+                } else if (equipBoilerSchedulingDO.getType() == 200) {
+                    equipBoilerMapper.update(new LambdaUpdateWrapper<EquipBoilerDO>().set(EquipBoilerDO::getHasExternal, true).
+                            in(EquipBoilerDO::getId, equipUpdateVO.getDeleteIds()));
+                } else if (equipBoilerSchedulingDO.getType() == 300) {
+                    equipBoilerMapper.update(new LambdaUpdateWrapper<EquipBoilerDO>().set(EquipBoilerDO::getHasPressure, true).
+                            in(EquipBoilerDO::getId, equipUpdateVO.getDeleteIds()));
+                }
+            }
             equipBoilerSchedulingItemMapper.insertBatch(list);
         }
 
         if(equipUpdateVO.getDeleteIds() != null && !equipUpdateVO.getDeleteIds().isEmpty()){
+            EquipBoilerSchedulingRecordDO equipBoilerSchedulingDO = equipBoilerSchedulingRecordMapper.selectById(equipUpdateVO.getTaskId());
+            if (equipBoilerSchedulingDO != null) {
+                if (equipBoilerSchedulingDO.getType() == 100) {
+                    equipBoilerMapper.update(new LambdaUpdateWrapper<EquipBoilerDO>().set(EquipBoilerDO::getHasInternal, false).
+                            in(EquipBoilerDO::getId, equipUpdateVO.getDeleteIds()));
+                } else if (equipBoilerSchedulingDO.getType() == 200) {
+                    equipBoilerMapper.update(new LambdaUpdateWrapper<EquipBoilerDO>().set(EquipBoilerDO::getHasExternal, false).
+                            in(EquipBoilerDO::getId, equipUpdateVO.getDeleteIds()));
+                } else if (equipBoilerSchedulingDO.getType() == 300) {
+                    equipBoilerMapper.update(new LambdaUpdateWrapper<EquipBoilerDO>().set(EquipBoilerDO::getHasPressure, false).
+                            in(EquipBoilerDO::getId, equipUpdateVO.getDeleteIds()));
+                }
+            }
             equipBoilerSchedulingItemMapper.delete(new LambdaQueryWrapperX<EquipBoilerSchedulingItemDO>().
                     eq(EquipBoilerSchedulingItemDO::getSchedulingId,equipUpdateVO.getTaskId()).
                     in(EquipBoilerSchedulingItemDO::getEquipId,equipUpdateVO.getDeleteIds()));

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

@@ -61,6 +61,7 @@ import cn.start.tz.module.system.api.dept.dto.DeptRespDTO;
 import cn.start.tz.module.system.api.user.AdminUserApi;
 import cn.start.tz.module.system.api.user.dto.AdminUserRespDTO;
 import com.alibaba.cloud.commons.lang.StringUtils;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
@@ -1112,6 +1113,18 @@ public class EquipPipeSchedulingServiceImpl extends ServiceImpl<EquipPipeSchedul
                 }).toList();
                 equipPipeSchedulingItemDetailMapper.insert(equipPipeSchedulingItemDetailDOS);
             });
+            EquipPipeSchedulingDO equipPipeSchedulingDO = equipPipeSchedulingMapper.selectById(equipUpdateVO.getTaskId());
+            if (equipPipeSchedulingDO != null && equipPipeSchedulingDO.getType() == 100) {
+                for (EquipPipeDetailDO equipPipeDetailDO : equipPipeDetailDOS) {
+                    equipPipeDetailMapper.update(new LambdaUpdateWrapper<EquipPipeDetailDO>()
+                            .set(EquipPipeDetailDO::getHasLegalScheduling, true).eq(EquipPipeDetailDO::getId, equipPipeDetailDO.getId()));
+                }
+            } else {
+                for (EquipPipeDetailDO equipPipeDetailDO : equipPipeDetailDOS) {
+                    equipPipeDetailMapper.update(new LambdaUpdateWrapper<EquipPipeDetailDO>()
+                            .set(EquipPipeDetailDO::getHasYearScheduling, true).eq(EquipPipeDetailDO::getId, equipPipeDetailDO.getId()));
+                }
+            }
         }
 
         if(equipUpdateVO.getDeleteIds() != null && !equipUpdateVO.getDeleteIds().isEmpty()){
@@ -1132,6 +1145,14 @@ public class EquipPipeSchedulingServiceImpl extends ServiceImpl<EquipPipeSchedul
             if (count == 0) {
                 equipPipeSchedulingMapper.delete(new LambdaQueryWrapperX<EquipPipeSchedulingDO>().eq(EquipPipeSchedulingDO::getId, equipUpdateVO.getTaskId()));
             }
+            EquipPipeSchedulingDO equipPipeSchedulingDO = equipPipeSchedulingMapper.selectById(equipUpdateVO.getTaskId());
+            if (equipPipeSchedulingDO != null && equipPipeSchedulingDO.getType() == 100) {
+                equipPipeDetailMapper.update(new LambdaUpdateWrapper<EquipPipeDetailDO>()
+                        .set(EquipPipeDetailDO::getHasLegalScheduling, false).in(EquipPipeDetailDO::getId, equipUpdateVO.getDeleteIds()));
+            } else {
+                equipPipeDetailMapper.update(new LambdaUpdateWrapper<EquipPipeDetailDO>()
+                        .set(EquipPipeDetailDO::getHasYearScheduling, false).in(EquipPipeDetailDO::getId, equipUpdateVO.getDeleteIds()));
+            }
         }
     }
 

+ 1 - 1
tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/mapper/equippipedetail/EquipPipeDetailMapper.xml

@@ -36,7 +36,7 @@
     where b.equip_detail_id = eb.id and a.DELETED = 0 and b.DELETED = 0 and a.type = 200  limit 1) plan_year_check_date
     from PRESSURE2_EQUIP_PIPE_DETAIL eb
     <where>
-        eb.deleted = 0 and eb.USE_STATUS = '100'
+        eb.deleted = 0 --and eb.USE_STATUS = '100'
         <if test="id != null and id != ''">
             AND eb.EQUIP_PIPE_ID = #{id}
         </if>