Parcourir la source

待约检设备调整

xuzhancheng il y a 2 jours
Parent
commit
28e25623fa

+ 10 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/planscheduling/PlanSchedulingController.java

@@ -203,6 +203,16 @@ public class PlanSchedulingController {
         return success(true);
     }
 
+    /**
+     * 批量更新管道设备是否有效
+     */
+    @PutMapping("/pipe/update-is-valid")
+    @Operation(summary = "批量更新管道设备是否有效", description = "根据设备ID列表批量更新管道设备的is_effective字段")
+    public CommonResult<Boolean> updatePipeIsValid(@RequestBody @Valid PipeIsValidUpdateVO updateVO) {
+        planSchedulingService.updatePipeIsValid(updateVO);
+        return success(true);
+    }
+
     @PostMapping("/pending-inspection-export-excel")
     @Operation(summary = "导出待约检设备 Excel")
     @ApiAccessLog(operateType = EXPORT)

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

@@ -168,6 +168,9 @@ public class EquipPipePageRespVO {
     @Schema(description = "是否存在待审核的启用申请")
     private Boolean hasPendingEnableAudit;
 
+    @Schema(description = "是否有效")
+    private String isEffective;
+
     /**
      * 待约检备注
      */

+ 6 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/planscheduling/vo/PendingInspectionEquipReqVO.java

@@ -87,6 +87,12 @@ public class PendingInspectionEquipReqVO extends PageParam {
     @Schema(description = "关联部门")
     private String deptId;
 
+    @Schema(description = "部门名称(模糊匹配)")
+    private String deptName;
+
+    @Schema(description = "是否有效(仅管道:是=有效, 否=无效, null=全部)")
+    private String isEffective;
+
     @Schema(description = "定检时间-开始时间")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     private LocalDate checkDateStart;

+ 7 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/planscheduling/PlanSchedulingService.java

@@ -62,4 +62,11 @@ public interface PlanSchedulingService {
      * @param equipMainType 设备类型(200-锅炉, 300-管道)
      */
     void updateEquipContactBatch(ContactUpdateVO contactUpdateVO, Integer equipMainType);
+
+    /**
+     * 批量更新管道设备是否有效
+     *
+     * @param updateVO 更新请求信息
+     */
+    void updatePipeIsValid(PipeIsValidUpdateVO updateVO);
 }

+ 72 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/planscheduling/PlanSchedulingServiceImpl.java

@@ -1269,6 +1269,29 @@ public class PlanSchedulingServiceImpl implements PlanSchedulingService {
 
     @Override
     public PageResult<EquipBoilerPageRespVO> pendingInspectionPageBoiler(PendingInspectionEquipReqVO pageReqVO) {
+        // 根据部门名称模糊匹配部门ID
+        if (StrUtil.isNotEmpty(pageReqVO.getDeptName())) {
+            List<DeptRespDTO> allDepts = deptApi.getDeptAllList().getCheckedData();
+            if (CollUtil.isNotEmpty(allDepts)) {
+                String deptName = pageReqVO.getDeptName();
+                List<String> matchedDeptIds = allDepts.stream()
+                        .filter(d -> d.getName() != null && d.getName().contains(deptName))
+                        .map(DeptRespDTO::getId)
+                        .collect(Collectors.toList());
+                if (CollUtil.isNotEmpty(matchedDeptIds)) {
+                    pageReqVO.setDeptId(matchedDeptIds.get(0));
+                } else {
+                    return new PageResult<>(Collections.emptyList(), 0L);
+                }
+            }
+        }
+        if (pageReqVO.getCheckDateStart() == null){
+            pageReqVO.setCheckDateStart(LocalDate.now().minusYears(100));
+        }
+        if (pageReqVO.getCheckDateEnd() == null){
+            pageReqVO.setCheckDateEnd(LocalDate.now().plusYears(100));
+        }
+
         // 查询总数
         Long total = equipBoilerMapper.selectPendingInspectionBoilerCount(pageReqVO);
 
@@ -1361,6 +1384,32 @@ public class PlanSchedulingServiceImpl implements PlanSchedulingService {
 
     @Override
     public PageResult<EquipPipePageRespVO> pendingInspectionPagePipe(PendingInspectionEquipReqVO pageReqVO) {
+        // 根据部门名称模糊匹配部门ID
+        if (StrUtil.isNotEmpty(pageReqVO.getDeptName())) {
+            List<DeptRespDTO> allDepts = deptApi.getDeptAllList().getCheckedData();
+            if (CollUtil.isNotEmpty(allDepts)) {
+                String deptName = pageReqVO.getDeptName();
+                List<String> matchedDeptIds = allDepts.stream()
+                        .filter(d -> d.getName() != null && d.getName().contains(deptName))
+                        .map(DeptRespDTO::getId)
+                        .collect(Collectors.toList());
+                if (CollUtil.isNotEmpty(matchedDeptIds)) {
+                    // 取第一个匹配的部门ID(或可扩展为多选)
+                    pageReqVO.setDeptId(matchedDeptIds.get(0));
+                } else {
+                    // 无匹配部门,直接返回空
+                    return new PageResult<>(Collections.emptyList(), 0L);
+                }
+            }
+        }
+
+        if (pageReqVO.getCheckDateStart() == null){
+            pageReqVO.setCheckDateStart(LocalDate.now().minusYears(100));
+        }
+        if (pageReqVO.getCheckDateEnd() == null){
+            pageReqVO.setCheckDateEnd(LocalDate.now().plusYears(100));
+        }
+
         // 查询总数
         Long total = equipPipeMapper.selectPendingInspectionPipeCount(pageReqVO);
 
@@ -1677,6 +1726,29 @@ public class PlanSchedulingServiceImpl implements PlanSchedulingService {
         }
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void updatePipeIsValid(PipeIsValidUpdateVO updateVO) {
+        List<String> ids = updateVO.getIds();
+        if (CollUtil.isEmpty(ids)) {
+            return;
+        }
+
+        // 将 Boolean 转为数据库存储的字符串 "是" / "否"
+        String isEffectiveValue = Boolean.TRUE.equals(updateVO.getIsEffective()) ? "是" : "否";
+
+        List<EquipPipeDO> equipPipeDOS = equipPipeMapper.selectByIds(ids);
+        if (CollUtil.isEmpty(equipPipeDOS)) {
+            return;
+        }
+        equipPipeDOS.forEach(pipe -> {
+            EquipPipeDO updateDO = new EquipPipeDO();
+            updateDO.setId(pipe.getId());
+            updateDO.setIsEffective(isEffectiveValue);
+            equipPipeMapper.updateById(updateDO);
+        });
+    }
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void updateEquipContactBatch(ContactUpdateVO contactUpdateVO, Integer equipMainType) {

+ 4 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pushtaskorder/PushTaskOrderServiceImpl.java

@@ -248,6 +248,7 @@ public class PushTaskOrderServiceImpl implements PushTaskOrderService {
             return;
         }
         TaskInfoDTO reqDTO = new TaskInfoDTO();
+        reqDTO.setId(taskOrderDO.getId());
         reqDTO.setTaskno(taskOrderDO.getOrderNo());
 
         //
@@ -357,6 +358,7 @@ public class PushTaskOrderServiceImpl implements PushTaskOrderService {
             return;
         }
         TaskInfoDTO reqDTO = new TaskInfoDTO();
+        reqDTO.setId(taskOrderDO.getId());
         reqDTO.setTaskno(taskOrderDO.getOrderNo());
 
         // 这个值,年检传14-1,定检要收服务费的,传14-2
@@ -430,6 +432,7 @@ public class PushTaskOrderServiceImpl implements PushTaskOrderService {
             return;
         }
         TaskInfoDTO reqDTO = new TaskInfoDTO();
+        reqDTO.setId(taskOrderDO.getId());
         reqDTO.setTaskno(taskOrderDO.getOrderNo());
 
         // 这个值,年检传14-1,定检要收服务费的,传14-2
@@ -542,6 +545,7 @@ public class PushTaskOrderServiceImpl implements PushTaskOrderService {
             return;
         }
         TaskInfoDTO reqDTO = new TaskInfoDTO();
+        reqDTO.setId(taskOrderDO.getId());
         reqDTO.setTaskno(taskOrderDO.getOrderNo());
 
         // 这个值,年检传14-1,定检要收服务费的,传14-2

+ 17 - 2
tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/mapper/equippipe/EquipPipeMapper.xml

@@ -337,6 +337,7 @@
             ep.next_legal_check_date as next_check_date,
             ep.next_year_check_date as next_year_check_date,
             ep.pipe_length_total as equip_volume,
+            ep.is_effective,
 
             lto.task_order_id,
             lto.task_status,
@@ -407,7 +408,14 @@
 
         <where>
             ep.deleted = 0
-            AND ep.is_effective != '否'
+            <choose>
+                <when test="isEffective != null and isEffective == '否'">
+                    AND ep.is_effective = '否'
+                </when>
+                <otherwise>
+                    AND ep.is_effective != '否'
+                </otherwise>
+            </choose>
 
             <choose>
                 <when test="checkType == 100">
@@ -572,7 +580,14 @@
 
         <where>
             ep.deleted = 0
-            AND ep.is_effective != '否'
+            <choose>
+                <when test="isEffective != null and isEffective == '否'">
+                    AND ep.is_effective = '否'
+                </when>
+                <otherwise>
+                    AND ep.is_effective != '否'
+                </otherwise>
+            </choose>
 
             <choose>
                 <when test="checkType == 100">