فهرست منبع

操作指导书审核中回收

xy 2 هفته پیش
والد
کامیت
e3a196b60f
9فایلهای تغییر یافته به همراه268 افزوده شده و 0 حذف شده
  1. 7 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/boilertaskorder/BoilerTaskOrderController.java
  2. 7 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/boilertaskorder/vo/TaskOrderMajorIssuesVO.java
  3. 7 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/pipetaskorder/PipeTaskOrderController.java
  4. 7 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/appapi/boilertaskorder/AppApiBoilerTaskOrderController.java
  5. 7 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/appapi/pipetaskorder/AppApiPipeTaskOrderController.java
  6. 3 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorder/BoilerTaskOrderService.java
  7. 116 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorder/BoilerTaskOrderServiceImpl.java
  8. 3 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorder/PipeTaskOrderService.java
  9. 111 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorder/PipeTaskOrderServiceImpl.java

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

@@ -567,4 +567,11 @@ public class BoilerTaskOrderController {
         PageResult<AdminUserRespDTO> userList = boilerTaskOrderService.getRecheckUserPage(pageReqVO);
         return success(userList);
     }
+
+    @PostMapping("/order-item/major-issues/recovery")
+    @Operation(summary = "任务单- /检验方案/作业指导书-回收")
+    public CommonResult<Boolean> majorIssuesRecovery(@Valid @RequestBody TaskOrderMajorIssuesVO taskOrderMajorIssuesVO) throws IOException {
+        boilerTaskOrderService.majorIssuesRecovery(taskOrderMajorIssuesVO);
+        return success(true);
+    }
 }

+ 7 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/boilertaskorder/vo/TaskOrderMajorIssuesVO.java

@@ -37,4 +37,11 @@ public class TaskOrderMajorIssuesVO {
 
     @Schema(description = "检验方案名称")
     private String reportName;
+
+    @Schema(description = "任务单设备报告id")
+    private String reportId;
+
+    @Schema(description = "审批回收业务类型(0=作业指导书,1=检验方案)")
+    private Integer businessType;
+
 }

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

@@ -575,4 +575,11 @@ public class PipeTaskOrderController {
         PageResult<PipeOrderItemPageRespVO> taskOrderPage = pipeTaskOrderService.inspectionOpinionPage(pageReqVO);
         return success(taskOrderPage);
     }
+
+    @PostMapping("/order-item/major-issues/recovery")
+    @Operation(summary = "任务单- /检验方案/作业指导书-回收")
+    public CommonResult<Boolean> majorIssuesRecovery(@Valid @RequestBody TaskOrderMajorIssuesVO taskOrderMajorIssuesVO) throws IOException {
+        pipeTaskOrderService.majorIssuesRecovery(taskOrderMajorIssuesVO);
+        return success(true);
+    }
 }

+ 7 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/appapi/boilertaskorder/AppApiBoilerTaskOrderController.java

@@ -544,4 +544,11 @@ public class AppApiBoilerTaskOrderController {
         PageResult<AdminUserRespDTO> userList = boilerTaskOrderService.getRecheckUserPage(pageReqVO);
         return success(userList);
     }
+
+    @PostMapping("/order-item/major-issues/recovery")
+    @Operation(summary = "任务单- /检验方案/作业指导书-回收")
+    public CommonResult<Boolean> majorIssuesRecovery(@Valid @RequestBody TaskOrderMajorIssuesVO taskOrderMajorIssuesVO) throws IOException {
+        boilerTaskOrderService.majorIssuesRecovery(taskOrderMajorIssuesVO);
+        return success(true);
+    }
 }

+ 7 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/appapi/pipetaskorder/AppApiPipeTaskOrderController.java

@@ -551,4 +551,11 @@ public class AppApiPipeTaskOrderController {
         PageResult<PipeOrderItemPageRespVO> taskOrderPage = pipeTaskOrderService.inspectionOpinionPage(pageReqVO);
         return success(taskOrderPage);
     }
+
+    @PostMapping("/order-item/major-issues/recovery")
+    @Operation(summary = "任务单- /检验方案/作业指导书-回收")
+    public CommonResult<Boolean> majorIssuesRecovery(@Valid @RequestBody TaskOrderMajorIssuesVO taskOrderMajorIssuesVO) throws IOException {
+        pipeTaskOrderService.majorIssuesRecovery(taskOrderMajorIssuesVO);
+        return success(true);
+    }
 }

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

@@ -205,4 +205,7 @@ public interface BoilerTaskOrderService extends IService<BoilerTaskOrderDO>  {
     Boolean generateInspectionPlan(MajorIssuesSubmitVO majorIssuesSubmitVO);
 
     Boolean updatePayStatus(UpdatePayStatusDTO payInfo);
+
+    void majorIssuesRecovery(@Valid TaskOrderMajorIssuesVO taskOrderMajorIssuesVO);
+
 }

+ 116 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorder/BoilerTaskOrderServiceImpl.java

@@ -5641,6 +5641,122 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
         return true;
     }
 
+    /**
+     * 任务单- /检验方案/作业指导书-审批回收
+     * @param taskOrderMajorIssuesVO 入参
+     * @return 结果
+     */
+    @Override
+    @Transactional
+    public void majorIssuesRecovery(TaskOrderMajorIssuesVO taskOrderMajorIssuesVO) {
+        String loginUserId = getLoginUserId();
+        if (Integer.valueOf(0).equals(taskOrderMajorIssuesVO.getBusinessType())) {
+            BoilerTaskOrderItemReportDO itemReportDO = taskOrderItemReportMapper.selectById(taskOrderMajorIssuesVO.getReportId());
+            if (ObjectUtil.isEmpty(itemReportDO)) {
+                throw exception(new ErrorCode(1001,"任务单设备作业指导书不存在"));
+            }
+
+            if (!BpmTaskStatusEnum.RUNNING.getStatus().equals(itemReportDO.getStatus())) {
+                throw exception(new ErrorCode(1001,"审批流程尚未开始/已结束"));
+            }
+
+            if (StringUtils.isEmpty(itemReportDO.getProcessInstanceId())) {
+                throw exception(new ErrorCode(1001,"审批流程id不存在"));
+            }
+
+            if (!loginUserId.equals(itemReportDO.getSubmitId())) {
+                throw exception(new ErrorCode(1001,"回收人与发起人需一致,回收失败"));
+            }
+
+            try {
+                BpmProcessInstanceCancelDTO bpmReq = new BpmProcessInstanceCancelDTO();
+                bpmReq.setId(itemReportDO.getProcessInstanceId());
+                bpmReq.setReason("发起人回收");
+                CommonResult<Boolean> cancelResult = bpmProcessInstanceApi.cancel(bpmReq);
+
+                if(cancelResult.getCode() != 0){
+                    log.error("BPM作废流程失败: {}, 错误信息: {}", itemReportDO.getProcessInstanceId(), cancelResult.getMsg());
+                    throw new ServiceException(500, "BPM作废流程失败: " + cancelResult.getMsg());
+                }
+
+                log.info("成功作废BPM流程: {}", itemReportDO.getProcessInstanceId());
+            } catch (ServiceException e) {
+                throw e;
+            } catch (Exception e) {
+                log.error("BPM作废流程异常: {}", itemReportDO.getProcessInstanceId(), e);
+                throw new ServiceException(500, "BPM作废流程异常: " + e.getMessage());
+            }
+
+            //取消审批后更新作业指导书
+            LambdaUpdateWrapper<BoilerTaskOrderItemReportDO> updateWrapper = new LambdaUpdateWrapper<>();
+            updateWrapper.eq(BoilerTaskOrderItemReportDO::getId, itemReportDO.getId());
+            updateWrapper.set(BoilerTaskOrderItemReportDO::getTaskStatus, TaskOrderStatusEnum.ENTER.getStatus());
+            updateWrapper.set(BoilerTaskOrderItemReportDO::getApprovalId, null);
+            updateWrapper.set(BoilerTaskOrderItemReportDO::getApprovalName, null);
+            updateWrapper.set(BoilerTaskOrderItemReportDO::getApprovalTime, null);
+            updateWrapper.set(BoilerTaskOrderItemReportDO::getRatifyId, null);
+            updateWrapper.set(BoilerTaskOrderItemReportDO::getRatifyName, null);
+            updateWrapper.set(BoilerTaskOrderItemReportDO::getRatifyTime, null);
+            updateWrapper.set(BoilerTaskOrderItemReportDO::getReturnReason, null);
+            updateWrapper.set(BoilerTaskOrderItemReportDO::getStatus, BpmTaskStatusEnum.WAIT.getStatus());
+            taskOrderItemReportMapper.update(updateWrapper);
+        } else if (Integer.valueOf(1).equals(taskOrderMajorIssuesVO.getBusinessType())) {
+            BoilerTaskOrderReportDO itemReportDO = taskOrderReportMapper.selectById(taskOrderMajorIssuesVO.getReportId());
+            if (ObjectUtil.isEmpty(itemReportDO)) {
+                throw exception(new ErrorCode(1001,"任务单检验方案不存在"));
+            }
+
+            if (!BpmTaskStatusEnum.RUNNING.getStatus().equals(itemReportDO.getStatus())) {
+                throw exception(new ErrorCode(1001,"审批流程尚未开始/已结束"));
+            }
+
+            if (StringUtils.isEmpty(itemReportDO.getProcessInstanceId())) {
+                throw exception(new ErrorCode(1001,"审批流程id不存在"));
+            }
+
+            if (!loginUserId.equals(itemReportDO.getSubmitId())) {
+                throw exception(new ErrorCode(1001,"回收人与发起人需一致,回收失败"));
+            }
+
+            try {
+                BpmProcessInstanceCancelDTO bpmReq = new BpmProcessInstanceCancelDTO();
+                bpmReq.setId(itemReportDO.getProcessInstanceId());
+                bpmReq.setReason("发起人回收");
+                CommonResult<Boolean> cancelResult = bpmProcessInstanceApi.cancel(bpmReq);
+
+                if(cancelResult.getCode() != 0){
+                    log.error("BPM作废流程失败: {}, 错误信息: {}", itemReportDO.getProcessInstanceId(), cancelResult.getMsg());
+                    throw new ServiceException(500, "BPM作废流程失败: " + cancelResult.getMsg());
+                }
+
+                log.info("成功作废BPM流程: {}", itemReportDO.getProcessInstanceId());
+            } catch (ServiceException e) {
+                throw e;
+            } catch (Exception e) {
+                log.error("BPM作废流程异常: {}", itemReportDO.getProcessInstanceId(), e);
+                throw new ServiceException(500, "BPM作废流程异常: " + e.getMessage());
+            }
+
+            LambdaUpdateWrapper<BoilerTaskOrderReportDO> updateWrapper = new LambdaUpdateWrapper<>();
+            updateWrapper.eq(BoilerTaskOrderReportDO::getId, itemReportDO.getId());
+            updateWrapper.set(BoilerTaskOrderReportDO::getTaskStatus,TaskOrderStatusEnum.ENTER.getStatus());
+            updateWrapper.set(BoilerTaskOrderReportDO::getApprovalId, null);
+            updateWrapper.set(BoilerTaskOrderReportDO::getApprovalName, null);
+            updateWrapper.set(BoilerTaskOrderReportDO::getApprovalTime, null);
+            updateWrapper.set(BoilerTaskOrderReportDO::getRatifyId, null);
+            updateWrapper.set(BoilerTaskOrderReportDO::getRatifyName, null);
+            updateWrapper.set(BoilerTaskOrderReportDO::getRatifyTime, null);
+            updateWrapper.set(BoilerTaskOrderReportDO::getStatus, BpmTaskStatusEnum.WAIT.getStatus());
+            updateWrapper.set(BoilerTaskOrderReportDO::getRemark, null);
+            updateWrapper.set(BoilerTaskOrderReportDO::getReturnReason, null);
+            updateWrapper.set(BoilerTaskOrderReportDO::getManualUrl, null);
+            updateWrapper.set(BoilerTaskOrderReportDO::getIsManual, false);
+            taskOrderReportMapper.update(updateWrapper);
+        }
+
+    }
+
+
     @Override
     public PageResult<BoilerOrderItemPageRespVO> inspectionOpinionPage(BoilerTaskOrderPageReqVO pageReqVO) {
         //构建查询参数

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

@@ -195,4 +195,7 @@ public interface PipeTaskOrderService extends IService<PipeTaskOrderDO>  {
     PageResult<PipeOrderItemPageRespVO> inspectionOpinionPage(@Valid BoilerTaskOrderPageReqVO pageReqVO);
 
     Boolean generateInspectionPlan(MajorIssuesSubmitVO majorIssuesSubmitVO);
+
+    void majorIssuesRecovery(@Valid TaskOrderMajorIssuesVO taskOrderMajorIssuesVO);
+
 }

+ 111 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorder/PipeTaskOrderServiceImpl.java

@@ -33,6 +33,7 @@ import cn.start.tz.module.pressure2.controller.admin.equipboilerscheduling.vo.Bo
 import cn.start.tz.module.pressure2.controller.admin.pipetaskorderitemreport.vo.OrderItemReportUpdateVO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitemreport.BoilerTaskOrderItemReportDO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitemreportuser.BoilerTaskOrderItemReportUserDO;
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderreport.BoilerTaskOrderReportDO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderuser.BoilerTaskOrderUserDO;
 import cn.start.tz.module.pressure2.dal.dataobject.businessmemberrelation.BusinessMemberRelationDO;
 import cn.start.tz.module.pressure2.dal.dataobject.equipboilerschedulingitem.EquipBoilerSchedulingCheckDO;
@@ -5042,6 +5043,116 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
         return true;
     }
 
+    @Override
+    @Transactional
+    public void majorIssuesRecovery(TaskOrderMajorIssuesVO taskOrderMajorIssuesVO) {
+        String loginUserId = getLoginUserId();
+        if (Integer.valueOf(0).equals(taskOrderMajorIssuesVO.getBusinessType())) {
+            PipeTaskOrderItemReportDO itemReportDO = taskOrderItemReportMapper.selectById(taskOrderMajorIssuesVO.getReportId());
+            if (ObjectUtil.isEmpty(itemReportDO)) {
+                throw exception(new ErrorCode(1001,"任务单设备作业指导书不存在"));
+            }
+
+            if (!BpmTaskStatusEnum.RUNNING.getStatus().equals(itemReportDO.getStatus())) {
+                throw exception(new ErrorCode(1001,"审批流程尚未开始/已结束"));
+            }
+
+            if (StringUtils.isEmpty(itemReportDO.getProcessInstanceId())) {
+                throw exception(new ErrorCode(1001,"审批流程id不存在"));
+            }
+
+            if (!loginUserId.equals(itemReportDO.getSubmitId())) {
+                throw exception(new ErrorCode(1001,"回收人与发起人需一致,回收失败"));
+            }
+
+            try {
+                BpmProcessInstanceCancelDTO bpmReq = new BpmProcessInstanceCancelDTO();
+                bpmReq.setId(itemReportDO.getProcessInstanceId());
+                bpmReq.setReason("发起人回收");
+                CommonResult<Boolean> cancelResult = bpmProcessInstanceApi.cancel(bpmReq);
+
+                if(cancelResult.getCode() != 0){
+                    log.error("BPM作废流程失败: {}, 错误信息: {}", itemReportDO.getProcessInstanceId(), cancelResult.getMsg());
+                    throw new ServiceException(500, "BPM作废流程失败: " + cancelResult.getMsg());
+                }
+
+                log.info("成功作废BPM流程: {}", itemReportDO.getProcessInstanceId());
+            } catch (ServiceException e) {
+                throw e;
+            } catch (Exception e) {
+                log.error("BPM作废流程异常: {}", itemReportDO.getProcessInstanceId(), e);
+                throw new ServiceException(500, "BPM作废流程异常: " + e.getMessage());
+            }
+
+            //取消审批后更新作业指导书
+            LambdaUpdateWrapper<PipeTaskOrderItemReportDO> updateWrapper = new LambdaUpdateWrapper<>();
+            updateWrapper.eq(PipeTaskOrderItemReportDO::getId, itemReportDO.getId());
+            updateWrapper.set(PipeTaskOrderItemReportDO::getTaskStatus, TaskOrderStatusEnum.ENTER.getStatus());
+            updateWrapper.set(PipeTaskOrderItemReportDO::getApprovalId, null);
+            updateWrapper.set(PipeTaskOrderItemReportDO::getApprovalName, null);
+            updateWrapper.set(PipeTaskOrderItemReportDO::getApprovalTime, null);
+            updateWrapper.set(PipeTaskOrderItemReportDO::getRatifyId, null);
+            updateWrapper.set(PipeTaskOrderItemReportDO::getRatifyName, null);
+            updateWrapper.set(PipeTaskOrderItemReportDO::getRatifyTime, null);
+            updateWrapper.set(PipeTaskOrderItemReportDO::getReturnReason, null);
+            updateWrapper.set(PipeTaskOrderItemReportDO::getStatus, BpmTaskStatusEnum.WAIT.getStatus());
+            taskOrderItemReportMapper.update(updateWrapper);
+        } else if (Integer.valueOf(1).equals(taskOrderMajorIssuesVO.getBusinessType())) {
+            PipeTaskOrderReportDO itemReportDO = taskOrderReportMapper.selectById(taskOrderMajorIssuesVO.getReportId());
+            if (ObjectUtil.isEmpty(itemReportDO)) {
+                throw exception(new ErrorCode(1001,"任务单检验方案不存在"));
+            }
+
+            if (!BpmTaskStatusEnum.RUNNING.getStatus().equals(itemReportDO.getStatus())) {
+                throw exception(new ErrorCode(1001,"审批流程尚未开始/已结束"));
+            }
+
+            if (StringUtils.isEmpty(itemReportDO.getProcessInstanceId())) {
+                throw exception(new ErrorCode(1001,"审批流程id不存在"));
+            }
+
+            if (!loginUserId.equals(itemReportDO.getSubmitId())) {
+                throw exception(new ErrorCode(1001,"回收人与发起人需一致,回收失败"));
+            }
+
+            try {
+                BpmProcessInstanceCancelDTO bpmReq = new BpmProcessInstanceCancelDTO();
+                bpmReq.setId(itemReportDO.getProcessInstanceId());
+                bpmReq.setReason("发起人回收");
+                CommonResult<Boolean> cancelResult = bpmProcessInstanceApi.cancel(bpmReq);
+
+                if(cancelResult.getCode() != 0){
+                    log.error("BPM作废流程失败: {}, 错误信息: {}", itemReportDO.getProcessInstanceId(), cancelResult.getMsg());
+                    throw new ServiceException(500, "BPM作废流程失败: " + cancelResult.getMsg());
+                }
+
+                log.info("成功作废BPM流程: {}", itemReportDO.getProcessInstanceId());
+            } catch (ServiceException e) {
+                throw e;
+            } catch (Exception e) {
+                log.error("BPM作废流程异常: {}", itemReportDO.getProcessInstanceId(), e);
+                throw new ServiceException(500, "BPM作废流程异常: " + e.getMessage());
+            }
+
+            LambdaUpdateWrapper<PipeTaskOrderReportDO> updateWrapper = new LambdaUpdateWrapper<>();
+            updateWrapper.eq(PipeTaskOrderReportDO::getId, itemReportDO.getId());
+            updateWrapper.set(PipeTaskOrderReportDO::getTaskStatus,TaskOrderStatusEnum.ENTER.getStatus());
+            updateWrapper.set(PipeTaskOrderReportDO::getApprovalId, null);
+            updateWrapper.set(PipeTaskOrderReportDO::getApprovalName, null);
+            updateWrapper.set(PipeTaskOrderReportDO::getApprovalTime, null);
+            updateWrapper.set(PipeTaskOrderReportDO::getRatifyId, null);
+            updateWrapper.set(PipeTaskOrderReportDO::getRatifyName, null);
+            updateWrapper.set(PipeTaskOrderReportDO::getRatifyTime, null);
+            updateWrapper.set(PipeTaskOrderReportDO::getStatus, BpmTaskStatusEnum.WAIT.getStatus());
+            updateWrapper.set(PipeTaskOrderReportDO::getRemark, null);
+            updateWrapper.set(PipeTaskOrderReportDO::getReturnReason, null);
+            updateWrapper.set(PipeTaskOrderReportDO::getManualUrl, null);
+            updateWrapper.set(PipeTaskOrderReportDO::getIsManual, false);
+            taskOrderReportMapper.update(updateWrapper);
+        }
+
+    }
+
     private PageResult<PipeOrderItemPageRespVO> inspectionOpinionPageQueryParam(BoilerTaskOrderPageReqVO pageReqVO) {
         //根据平台用户id查询
         if (StringUtils.isNotEmpty(pageReqVO.getMemberId())) {