From c474556f44163526700fd7c99a88e37e4297e23f Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期四, 27 二月 2025 19:14:23 +0800
Subject: [PATCH] 审批流定时任务

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TContractServiceImpl.java |   46 +++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 41 insertions(+), 5 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TContractServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TContractServiceImpl.java
index cbfbde3..3e62453 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TContractServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TContractServiceImpl.java
@@ -1,11 +1,14 @@
 package com.ruoyi.system.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.common.constant.DictConstants;
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.enums.ProcessCategoryEnum;
 import com.ruoyi.common.utils.DictUtils;
 import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.system.bo.ProcessStartBO;
 import com.ruoyi.system.dto.SignContractDTO;
 import com.ruoyi.system.dto.TerminateContractDTO;
 import com.ruoyi.system.mapper.TBillMapper;
@@ -16,6 +19,7 @@
 import com.ruoyi.system.query.TContractAppletQuery;
 import com.ruoyi.system.query.TContractBillQuery;
 import com.ruoyi.system.query.TContractQuery;
+import com.ruoyi.system.service.StateProcessTemplateService;
 import com.ruoyi.system.service.TBillService;
 import com.ruoyi.system.service.TContractRentTypeService;
 import com.ruoyi.system.service.TContractService;
@@ -31,9 +35,7 @@
 import java.time.LocalDateTime;
 import java.time.temporal.ChronoUnit;
 import java.time.temporal.TemporalAdjusters;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
+import java.util.*;
 
 /**
  * <p>
@@ -55,6 +57,8 @@
     private TBillService billService;
     @Resource
     private TContractMapper contractMapper;
+    @Autowired
+    private StateProcessTemplateService stateProcessTemplateService;
 
     @Override
     public PageInfo<TContract> contractList(TContractQuery query) {
@@ -100,6 +104,19 @@
         contract.setTerminateRemark(dto.getTerminateRemark());
         contract.setStatus("4");
         this.baseMapper.updateById(contract);
+
+        // 进入合同提前终止审批流程
+        ProcessStartBO processStartBO = new ProcessStartBO();
+        processStartBO.setCategory(ProcessCategoryEnum.CATEGORY3.getValue().toString());
+        processStartBO.setModuleName("合同提前终止审批");
+        processStartBO.setName(contract.getContractName());
+        processStartBO.setRemark("");
+        Map<String, Object> variable = new HashMap<>();
+        variable.put("projectId", dto.getId());
+        processStartBO.setVariable(variable);
+        //开启工作流程
+        stateProcessTemplateService.start(processStartBO);
+
         // 生成验收记录
         TCheckAcceptRecord tCheckAcceptRecord = new TCheckAcceptRecord();
         tCheckAcceptRecord.setContractId(dto.getId());
@@ -154,9 +171,21 @@
         if (contract.getStatus().equals("4"))return R.fail("该合同已签订");
         contract.setSignature(dto.getSignature());
         contract.setStatus("4");
-        contractMapper.updateById(contract);
         contract.setFirstPayTime(contract.getStartTime().plusDays(10));
-        List<TBill> bills = new ArrayList<>();
+        contractMapper.updateById(contract);
+
+        // 进入签订审批流程
+        ProcessStartBO processStartBO = new ProcessStartBO();
+        processStartBO.setCategory(ProcessCategoryEnum.CATEGORY2.getValue().toString());
+        processStartBO.setModuleName("合同签订审批");
+        processStartBO.setName(contract.getContractName());
+        processStartBO.setRemark("");
+        Map<String, Object> variable = new HashMap<>();
+        variable.put("projectId", dto.getId());
+        processStartBO.setVariable(variable);
+        //开启工作流程
+        stateProcessTemplateService.start(processStartBO);
+
         List<TContractRentType> contractRentTypes = contractRentTypeService.list();
         // 生成第一笔账单
         // 第一次应缴费日期
@@ -638,4 +667,11 @@
 
         return list;
     }
+
+    @Override
+    public Boolean updateContractAuditStatus(String projectId, Integer status) {
+        LambdaUpdateWrapper<TContract> contractLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
+        contractLambdaUpdateWrapper.eq(TContract::getId, projectId).set(TContract::getStatus, status);
+        return this.update(contractLambdaUpdateWrapper);
+    }
 }

--
Gitblit v1.7.1