Parcourir la source

拒检登记退回和无需处理修改设备检验状态和删除计划排期设备

xy il y a 2 jours
Parent
commit
9782d95b3e
9 fichiers modifiés avec 201 ajouts et 32 suppressions
  1. 7 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/appointmentconfirmrefuseyearitem/AppointmentConfirmRefuseYearItemController.java
  2. 2 1
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/acceptorder/AcceptOrderServiceImpl.java
  3. 2 1
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/acceptorder/PipeAcceptOrderServiceImpl.java
  4. 1 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/appointmentconfirmorder/AppointmentConfirmOrderServiceImpl.java
  5. 1 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/appointmentconfirmorder/PipeAppointmentConfirmOrderServiceImpl.java
  6. 5 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/appointmentconfirmrefuseyearitem/AppointmentConfirmRefuseYearItemService.java
  7. 181 28
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/appointmentconfirmrefuseyearitem/AppointmentConfirmRefuseYearItemServiceImpl.java
  8. 1 1
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorderitemsuspend/BoilerTaskOrderItemSuspendServiceImpl.java
  9. 1 1
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorderitemsuspend/PipeTaskOrderItemSuspendServiceImpl.java

+ 7 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/appointmentconfirmrefuseyearitem/AppointmentConfirmRefuseYearItemController.java

@@ -118,6 +118,13 @@ public class AppointmentConfirmRefuseYearItemController {
         return success(true);
     }
 
+    @PostMapping("/no-process")
+    @Operation(summary = "无需处理")
+    public CommonResult<Boolean> noProcess(@RequestBody YearCheckIdVO yearCheckIdVO) {
+        appointmentConfirmRefuseYearItemService.noProcess(yearCheckIdVO);
+        return success(true);
+    }
+
     @PostMapping("/migrate")
     @Operation(summary = "洗数据接口-迁移sbStatus=1的设备到拒绝年检表")
     public CommonResult<String> migrateSbStatusEquipments() {

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

@@ -436,8 +436,9 @@ public class AcceptOrderServiceImpl implements AcceptOrderService {
             appointmentConfirmOrderRefuseItemDO.setNextCheckDate(acceptOrderDO.getAppointmentDate());
             appointmentConfirmOrderRefuseItemDO.setEquipMainType(200); //锅炉
             appointmentConfirmOrderRefuseItemDO.setRejectionSource(1); //窗口拒检
+            appointmentConfirmOrderRefuseItemDO.setOrderType(2); //受理单
 
-            EquipBoilerDO equipBoilerDO = equipBoilerMapper.selectById(item.getId());
+            EquipBoilerDO equipBoilerDO = equipBoilerMapper.selectById(item.getEquipId());
             if (equipBoilerDO != null) {
                 appointmentConfirmOrderRefuseItemDO.setEquipId(equipBoilerDO.getId());
                 appointmentConfirmOrderRefuseItemDO.setEquipCode(equipBoilerDO.getEquipCode());

+ 2 - 1
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/acceptorder/PipeAcceptOrderServiceImpl.java

@@ -440,10 +440,11 @@ public class PipeAcceptOrderServiceImpl implements PipeAcceptOrderService {
             appointmentConfirmOrderRefuseItemDO.setNextCheckDate(acceptOrderDO.getAppointmentDate());
             appointmentConfirmOrderRefuseItemDO.setEquipMainType(300); //管道
             appointmentConfirmOrderRefuseItemDO.setRejectionSource(1); //窗口拒检
+            appointmentConfirmOrderRefuseItemDO.setOrderType(2); //受理单
 
             EquipPipeDO equipPipeDO = equipPipeMapper.selectById(item.getEquipPipeId());
             if (equipPipeDO != null) {
-                appointmentConfirmOrderRefuseItemDO.setEquipId(equipPipeDO.getId());
+
                 appointmentConfirmOrderRefuseItemDO.setProductNo(item.getProjectNo());
                 appointmentConfirmOrderRefuseItemDO.setEquipCode(item.getPipeRegCode());
                 appointmentConfirmOrderRefuseItemDO.setUseRegisterNo(item.getCertificateNo());

+ 1 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/appointmentconfirmorder/AppointmentConfirmOrderServiceImpl.java

@@ -739,6 +739,7 @@ public class AppointmentConfirmOrderServiceImpl implements AppointmentConfirmOrd
 
             appointmentConfirmOrderRefuseItemDO.setCheckType(100); //锅炉的都是定检
             appointmentConfirmOrderRefuseItemDO.setEquipMainType(200);
+            appointmentConfirmOrderRefuseItemDO.setOrderType(1); //约检单
             if (appointmentRefuseVO.getRejectionSource() == null){
                 appointmentConfirmOrderRefuseItemDO.setRejectionSource(1); //窗口拒检
             } else {

+ 1 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/appointmentconfirmorder/PipeAppointmentConfirmOrderServiceImpl.java

@@ -736,6 +736,7 @@ public class PipeAppointmentConfirmOrderServiceImpl implements PipeAppointmentCo
 
             appointmentConfirmOrderRefuseItemDO.setEquipMainType(300);
             appointmentConfirmOrderRefuseItemDO.setRejectionSource(1); //窗口拒检
+            appointmentConfirmOrderRefuseItemDO.setOrderType(1); //约检单
             appointmentConfirmOrderRefuseItemDO.setOrderNo(appointmentRefuseVO.getOrderNo());
             appointmentConfirmOrderRefuseItemDO.setReasonDict(appointmentRefuseVO.getReasonDict());
             appointmentConfirmOrderRefuseItemDO.setOrderType(appointmentRefuseVO.getOrderType());

+ 5 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/appointmentconfirmrefuseyearitem/AppointmentConfirmRefuseYearItemService.java

@@ -70,6 +70,11 @@ public interface AppointmentConfirmRefuseYearItemService extends IService<Appoin
      */
     void batchRollback(YearCheckIdVO yearCheckRollbackVO);
 
+    /**
+     * 无需处理:修改状态为无需处理,并清除排期计划关联的设备,重置设备排期字段
+     */
+    void noProcess(YearCheckIdVO yearCheckIdVO);
+
     /**
      * 洗数据接口
      * 查询sbStatus=1的设备,写入拒绝年检表,状态为拒绝约检

+ 181 - 28
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/appointmentconfirmrefuseyearitem/AppointmentConfirmRefuseYearItemServiceImpl.java

@@ -21,23 +21,33 @@ import cn.start.tz.module.pressure2.dal.dataobject.appointmentconfirmorderrefuse
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorder.BoilerTaskOrderDO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitem.BoilerTaskOrderItemDO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitemreport.BoilerTaskOrderItemReportDO;
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitemsuspend.BoilerTaskOrderItemSuspendDO;
 import cn.start.tz.module.pressure2.dal.dataobject.equipboiler.EquipBoilerDO;
 import cn.start.tz.module.pressure2.dal.dataobject.equipboilerschedulingitem.EquipBoilerSchedulingItemDO;
 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.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.pipetaskorderitemreport.PipeTaskOrderItemReportDO;
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemsuspend.PipeTaskOrderItemSuspendDO;
 import cn.start.tz.module.pressure2.dal.mysql.acceptorder.AcceptOrderMapper;
 import cn.start.tz.module.pressure2.dal.mysql.appointmentconfirmorder.AppointmentConfirmOrderMapper;
 import cn.start.tz.module.pressure2.dal.mysql.appointmentconfirmorderrefuseitem.AppointmentConfirmOrderRefuseItemMapper;
 import cn.start.tz.module.pressure2.dal.mysql.boilertaskorder.BoilerTaskOrderMapper;
 import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitem.BoilerTaskOrderItemMapper;
 import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitemreport.BoilerTaskOrderItemReportMapper;
+import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitemsuspend.BoilerTaskOrderItemSuspendMapper;
 import cn.start.tz.module.pressure2.dal.mysql.equipboiler.EquipBoilerMapper;
 import cn.start.tz.module.pressure2.dal.mysql.equipboilerschedulingitem.EquipBoilerSchedulingItemMapper;
 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.equippipeschedulingitem.EquipPipeSchedulingItemMapper;
+import cn.start.tz.module.pressure2.dal.mysql.equippipeschedulingitemdetail.EquipPipeSchedulingItemDetailMapper;
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitem.PipeTaskOrderItemMapper;
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemreport.PipeTaskOrderItemReportMapper;
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemsuspend.PipeTaskOrderItemSuspendMapper;
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorder.PipeTaskOrderMapper;
 import cn.start.tz.module.pressure2.service.equipmentreturnrecord.EquipmentReturnRecordService;
 import cn.start.tz.module.system.api.clientunit.UnitContactApi;
 import cn.start.tz.module.system.api.clientunit.dto.UnitContactDTO;
@@ -95,6 +105,18 @@ public class AppointmentConfirmRefuseYearItemServiceImpl extends ServiceImpl<App
     @Resource
     private EquipBoilerSchedulingItemMapper equipBoilerSchedulingItemMapper;
 
+    @Resource
+    private EquipPipeSchedulingItemDetailMapper equipPipeSchedulingItemDetailMapper;
+
+    @Resource
+    private BoilerTaskOrderItemSuspendMapper boilerTaskOrderItemSuspendMapper;
+
+    @Resource
+    private PipeTaskOrderItemSuspendMapper pipeTaskOrderItemSuspendMapper;
+
+    @Resource
+    private EquipPipeDetailMapper equipPipeDetailMapper;
+
     @Resource
     private EquipPipeSchedulingItemMapper equipPipeSchedulingItemMapper;
 
@@ -116,6 +138,9 @@ public class AppointmentConfirmRefuseYearItemServiceImpl extends ServiceImpl<App
     @Resource
     private BoilerTaskOrderMapper boilerTaskOrderMapper;
 
+    @Resource
+    private PipeTaskOrderMapper pipeTaskOrderMapper;
+
     @Resource
     private BpmProcessInstanceApi processInstanceApi;
 
@@ -256,9 +281,9 @@ public class AppointmentConfirmRefuseYearItemServiceImpl extends ServiceImpl<App
                         );
                     }else if (appointmentConfirmOrderDO.getEquipMainType() == 300){
                         //管道
-                        equipPipeSchedulingItemMapper.delete(new LambdaUpdateWrapper<EquipPipeSchedulingItemDO>().
-                                eq(EquipPipeSchedulingItemDO::getSchedulingId, appointmentConfirmOrderDO.getSchedulingId()).
-                                eq(EquipPipeSchedulingItemDO::getEquipId, appointmentConfirmOrderRefuseItemDO.getEquipId())
+                        equipPipeSchedulingItemDetailMapper.delete(new LambdaUpdateWrapper<EquipPipeSchedulingItemDetailDO>().
+                                eq(EquipPipeSchedulingItemDetailDO::getSchedulingId, appointmentConfirmOrderDO.getSchedulingId()).
+                                eq(EquipPipeSchedulingItemDetailDO::getEquipDetailId, appointmentConfirmOrderRefuseItemDO.getEquipId())
                         );
                     }
                 }
@@ -278,28 +303,45 @@ public class AppointmentConfirmRefuseYearItemServiceImpl extends ServiceImpl<App
                             );
                         }else if (appointmentConfirmOrderDO.getEquipMainType() == 300){
                             //管道
-                            equipPipeSchedulingItemMapper.delete(new LambdaUpdateWrapper<EquipPipeSchedulingItemDO>().
-                                    eq(EquipPipeSchedulingItemDO::getSchedulingId, appointmentConfirmOrderDO.getSchedulingId()).
-                                    eq(EquipPipeSchedulingItemDO::getEquipId, appointmentConfirmOrderRefuseItemDO.getEquipId())
+                            equipPipeSchedulingItemDetailMapper.delete(new LambdaUpdateWrapper<EquipPipeSchedulingItemDetailDO>().
+                                    eq(EquipPipeSchedulingItemDetailDO::getSchedulingId, appointmentConfirmOrderDO.getSchedulingId()).
+                                    eq(EquipPipeSchedulingItemDetailDO::getEquipDetailId, appointmentConfirmOrderRefuseItemDO.getEquipId())
                             );
                         }
                     }
                 }
             } else if (orderType == 3) {
-//                TaskOrderItemSuspendDO updateObj = new TaskOrderItemSuspendDO();
-//                updateObj.setIsCancel(true);
-//                taskOrderItemSuspendMapper.update(updateObj, new LambdaUpdateWrapper<TaskOrderItemSuspendDO>().
-//                        eq(TaskOrderItemSuspendDO::getOrderId, appointmentConfirmOrderRefuseItemDO.getOrderId()).
-//                        eq(TaskOrderItemSuspendDO::getEquipId, appointmentConfirmOrderRefuseItemDO.getEquipId()));
-//
-//                TaskOrderDO taskOrderDO = taskOrderMapper.selectById(appointmentConfirmOrderRefuseItemDO.getOrderId());
-//                if (taskOrderDO != null) {
-//                    // 删除计划排期记录
-//                    equipContainerSchedulingItemMapper.delete(new LambdaUpdateWrapper<EquipContainerSchedulingItemDO>().
-//                            eq(EquipContainerSchedulingItemDO::getSchedulingId, taskOrderDO.getSchedulingId()).
-//                            eq(EquipContainerSchedulingItemDO::getEquipId, appointmentConfirmOrderRefuseItemDO.getEquipId())
-//                    );
-//                }
+                BoilerTaskOrderDO taskOrderDO = boilerTaskOrderMapper.selectById(appointmentConfirmOrderRefuseItemDO.getOrderId());
+                if (taskOrderDO != null){
+                    if (taskOrderDO.getEquipMainType() == 200){
+                        //锅炉
+                        BoilerTaskOrderItemSuspendDO updateObj = new BoilerTaskOrderItemSuspendDO();
+                        updateObj.setIsCancel(true);
+                        boilerTaskOrderItemSuspendMapper.update(updateObj, new LambdaUpdateWrapper<BoilerTaskOrderItemSuspendDO>().
+                                eq(BoilerTaskOrderItemSuspendDO::getOrderId, appointmentConfirmOrderRefuseItemDO.getOrderId()).
+                                eq(BoilerTaskOrderItemSuspendDO::getEquipId, appointmentConfirmOrderRefuseItemDO.getEquipId()));
+
+                        // 删除计划排期记录
+                        equipBoilerSchedulingItemMapper.delete(new LambdaUpdateWrapper<EquipBoilerSchedulingItemDO>().
+                                eq(EquipBoilerSchedulingItemDO::getSchedulingId, taskOrderDO.getSchedulingId()).
+                                eq(EquipBoilerSchedulingItemDO::getEquipId, appointmentConfirmOrderRefuseItemDO.getEquipId())
+                        );
+                    }else if (taskOrderDO.getEquipMainType() == 300){
+                        //管道
+                        PipeTaskOrderItemSuspendDO updateObj = new PipeTaskOrderItemSuspendDO();
+                        updateObj.setIsCancel(true);
+                        pipeTaskOrderItemSuspendMapper.update(updateObj, new LambdaUpdateWrapper<PipeTaskOrderItemSuspendDO>().
+                                eq(PipeTaskOrderItemSuspendDO::getOrderId, appointmentConfirmOrderRefuseItemDO.getOrderId()).
+                                eq(PipeTaskOrderItemSuspendDO::getEquipId, appointmentConfirmOrderRefuseItemDO.getEquipId()));
+
+                        // 删除计划排期记录
+                        equipPipeSchedulingItemMapper.delete(new LambdaUpdateWrapper<EquipPipeSchedulingItemDO>().
+                                eq(EquipPipeSchedulingItemDO::getSchedulingId, taskOrderDO.getSchedulingId()).
+                                eq(EquipPipeSchedulingItemDO::getEquipId, appointmentConfirmOrderRefuseItemDO.getEquipId())
+                        );
+                    }
+                }
+
             }
 
             appointmentConfirmOrderRefuseItemMapper.deleteById(yearCheckRollbackVO.getId());
@@ -311,20 +353,24 @@ public class AppointmentConfirmRefuseYearItemServiceImpl extends ServiceImpl<App
                         //锅炉
                         LambdaUpdateWrapper<EquipBoilerDO> updateWrapper = new LambdaUpdateWrapper<>();
                         updateWrapper.eq(EquipBoilerDO::getId, appointmentConfirmOrderRefuseItemDO.getEquipId());
-                        updateWrapper.set(EquipBoilerDO::getHasInternal, 0);
-                        updateWrapper.set(EquipBoilerDO::getHasExternal, 0);
-                        updateWrapper.set(EquipBoilerDO::getHasPressure, 0);
+                        if (appointmentConfirmOrderRefuseItemDO.getCheckTypeName() != null){
+                            switch (appointmentConfirmOrderRefuseItemDO.getCheckTypeName()) {
+                                case "内部检验" -> updateWrapper.set(EquipBoilerDO::getHasInternal, 0);
+                                case "外部检验" -> updateWrapper.set(EquipBoilerDO::getHasExternal, 0);
+                                case "耐压检验" -> updateWrapper.set(EquipBoilerDO::getHasPressure, 0);
+                            }
+                        }
                         equipBoilerMapper.update(updateWrapper);
                     }else if (appointmentConfirmOrderRefuseItemDO.getEquipMainType() == 300){
                         //管道
-                        LambdaUpdateWrapper<EquipPipeDO> updateWrapper = new LambdaUpdateWrapper<>();
-                        updateWrapper.eq(EquipPipeDO::getId, appointmentConfirmOrderRefuseItemDO.getEquipId());
+                        LambdaUpdateWrapper<EquipPipeDetailDO> updateWrapper = new LambdaUpdateWrapper<>();
+                        updateWrapper.eq(EquipPipeDetailDO::getId, appointmentConfirmOrderRefuseItemDO.getEquipId());
                         if (Integer.valueOf(100).equals(appointmentConfirmOrderRefuseItemDO.getCheckType())) {
-                            updateWrapper.set(EquipPipeDO::getHasLegalScheduling, 0);
+                            updateWrapper.set(EquipPipeDetailDO::getHasLegalScheduling, 0);
                         } else if (Integer.valueOf(200).equals(appointmentConfirmOrderRefuseItemDO.getCheckType())) {
-                            updateWrapper.set(EquipPipeDO::getHasYearScheduling, 0);
+                            updateWrapper.set(EquipPipeDetailDO::getHasYearScheduling, 0);
                         }
-                        equipPipeMapper.update(updateWrapper);
+                        equipPipeDetailMapper.update(updateWrapper);
                     }
                 }
             }
@@ -482,6 +528,113 @@ public class AppointmentConfirmRefuseYearItemServiceImpl extends ServiceImpl<App
         });
     }
 
+    @Override
+    @Transactional
+    public void noProcess(YearCheckIdVO yearCheckIdVO) {
+        AppointmentConfirmOrderRefuseItemDO item = appointmentConfirmOrderRefuseItemMapper.selectById(yearCheckIdVO.getId());
+        if (item == null) {
+            throw exception(new ErrorCode(1001, "约检确认单拒绝设备项目不存在"));
+        }
+        // 校验是否已为无需处理状态
+        if (Integer.valueOf(1).equals(item.getProcessStatus())) {
+            throw exception(new ErrorCode(1002, "该记录已为无需处理状态,不可重复操作"));
+        }
+
+        // 更新为无需处理状态
+        AppointmentConfirmOrderRefuseItemDO updateObj = new AppointmentConfirmOrderRefuseItemDO();
+        updateObj.setId(yearCheckIdVO.getId());
+        updateObj.setProcessStatus(1);
+        appointmentConfirmOrderRefuseItemMapper.updateById(updateObj);
+
+        Integer orderType = item.getOrderType();
+        // 清除排期计划关联的设备
+        if (orderType == null || orderType == 1) {
+            // 约检单:直接通过 orderId 获取确认单
+            AppointmentConfirmOrderDO appointmentConfirmOrderDO = appointmentConfirmOrderMapper.selectById(item.getOrderId());
+            if (appointmentConfirmOrderDO != null) {
+                deleteSchedulingItemByConfirmOrder(appointmentConfirmOrderDO, item);
+            }
+        } else if (orderType == 2) {
+            // 受理单:先获取受理单,再通过 appointmentId 获取确认单
+            AcceptOrderDO acceptOrderDO = acceptOrderMapper.selectById(item.getOrderId());
+            if (acceptOrderDO != null && StringUtils.isNotEmpty(acceptOrderDO.getAppointmentId())) {
+                AppointmentConfirmOrderDO appointmentConfirmOrderDO = appointmentConfirmOrderMapper.selectById(acceptOrderDO.getAppointmentId());
+                if (appointmentConfirmOrderDO != null) {
+                    deleteSchedulingItemByConfirmOrder(appointmentConfirmOrderDO, item);
+                }
+            }
+        } else if (orderType == 3) {
+            // 任务单:根据设备类型分别查询
+            if (item.getEquipMainType() == 200) {
+                BoilerTaskOrderDO taskOrder = boilerTaskOrderMapper.selectById(item.getOrderId());
+                if (taskOrder != null && StringUtils.isNotEmpty(taskOrder.getSchedulingId())) {
+                    equipBoilerSchedulingItemMapper.delete(new LambdaUpdateWrapper<EquipBoilerSchedulingItemDO>()
+                            .eq(EquipBoilerSchedulingItemDO::getSchedulingId, taskOrder.getSchedulingId())
+                            .eq(EquipBoilerSchedulingItemDO::getEquipId, item.getEquipId()));
+                }
+            } else if (item.getEquipMainType() == 300) {
+                PipeTaskOrderDO taskOrder = pipeTaskOrderMapper.selectById(item.getOrderId());
+                if (taskOrder != null && StringUtils.isNotEmpty(taskOrder.getSchedulingId())) {
+                    equipPipeSchedulingItemDetailMapper.delete(new LambdaUpdateWrapper<EquipPipeSchedulingItemDetailDO>()
+                            .eq(EquipPipeSchedulingItemDetailDO::getSchedulingId, taskOrder.getSchedulingId())
+                            .eq(EquipPipeSchedulingItemDetailDO::getEquipDetailId, item.getEquipId()));
+                }
+            }
+        }
+
+        // 重置设备排期字段
+        resetEquipmentSchedulingFields(item);
+    }
+
+    /**
+     * 根据确认单删除排期计划关联的设备
+     */
+    private void deleteSchedulingItemByConfirmOrder(AppointmentConfirmOrderDO confirmOrder, AppointmentConfirmOrderRefuseItemDO item) {
+        if (confirmOrder.getEquipMainType() == 200) {
+            // 锅炉
+            equipBoilerSchedulingItemMapper.delete(new LambdaUpdateWrapper<EquipBoilerSchedulingItemDO>()
+                    .eq(EquipBoilerSchedulingItemDO::getSchedulingId, confirmOrder.getSchedulingId())
+                    .eq(EquipBoilerSchedulingItemDO::getEquipId, item.getEquipId()));
+        } else if (confirmOrder.getEquipMainType() == 300) {
+            // 管道
+            equipPipeSchedulingItemDetailMapper.delete(new LambdaUpdateWrapper<EquipPipeSchedulingItemDetailDO>()
+                    .eq(EquipPipeSchedulingItemDetailDO::getSchedulingId, confirmOrder.getSchedulingId())
+                    .eq(EquipPipeSchedulingItemDetailDO::getEquipDetailId, item.getEquipId()));
+        }
+    }
+
+    /**
+     * 重置设备排期字段
+     */
+    private void resetEquipmentSchedulingFields(AppointmentConfirmOrderRefuseItemDO item) {
+        if (item.getCheckType() == null) {
+            return;
+        }
+        if (item.getEquipMainType() == 200) {
+            // 锅炉:重置 hasInternal、hasExternal、hasPressure
+            LambdaUpdateWrapper<EquipBoilerDO> updateWrapper = new LambdaUpdateWrapper<>();
+            updateWrapper.eq(EquipBoilerDO::getId, item.getEquipId());
+            if (item.getCheckTypeName() != null){
+                switch (item.getCheckTypeName()) {
+                    case "内部检验" -> updateWrapper.set(EquipBoilerDO::getHasInternal, 0);
+                    case "外部检验" -> updateWrapper.set(EquipBoilerDO::getHasExternal, 0);
+                    case "耐压检验" -> updateWrapper.set(EquipBoilerDO::getHasPressure, 0);
+                }
+            }
+            equipBoilerMapper.update(updateWrapper);
+        } else if (item.getEquipMainType() == 300) {
+            // 管道:根据检验性质重置对应排期字段
+            LambdaUpdateWrapper<EquipPipeDetailDO> updateWrapper = new LambdaUpdateWrapper<>();
+            updateWrapper.eq(EquipPipeDetailDO::getId, item.getEquipId());
+            if (Integer.valueOf(100).equals(item.getCheckType())) {
+                updateWrapper.set(EquipPipeDetailDO::getHasLegalScheduling, 0);
+            } else if (Integer.valueOf(200).equals(item.getCheckType())) {
+                updateWrapper.set(EquipPipeDetailDO::getHasYearScheduling, 0);
+            }
+            equipPipeDetailMapper.update(updateWrapper);
+        }
+    }
+
     @Override
     public void migrateSbStatusEquipments() {
         //TODO 待完善

+ 1 - 1
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorderitemsuspend/BoilerTaskOrderItemSuspendServiceImpl.java

@@ -208,7 +208,7 @@ public class BoilerTaskOrderItemSuspendServiceImpl extends ServiceImpl<BoilerTas
             AppointmentConfirmOrderRefuseItemDO bean = new AppointmentConfirmOrderRefuseItemDO();
             bean.setOrderId(taskOrderItemDO.getOrderId());
             bean.setReason(submitReqVO.getReason());
-            bean.setOrderType(3);
+            bean.setOrderType(3); //任务单
             bean.setUnitName(taskOrderDO.getUnitName());
             bean.setSubmitId(userId);
             bean.setSubmitTime(LocalDateTime.now());

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

@@ -225,7 +225,7 @@ public class PipeTaskOrderItemSuspendServiceImpl extends ServiceImpl<PipeTaskOrd
                     AppointmentConfirmOrderRefuseItemDO bean = new AppointmentConfirmOrderRefuseItemDO();
                     bean.setOrderId(taskOrderItemDO.getOrderId());
                     bean.setReason(submitReqVO.getReason());
-                    bean.setOrderType(3);
+                    bean.setOrderType(3); //任务单
                     bean.setUnitName(taskOrderDO.getUnitName());
                     bean.setSubmitId(userId);
                     bean.setSubmitTime(LocalDateTime.now());