|
|
@@ -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())) {
|