xuhy
2025-02-27 7d1c6e902de71861706d1933b59882592d889301
审批流
3个文件已修改
62 ■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/StateProcessTemplateServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TContractServiceImpl.java 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java
@@ -320,7 +320,6 @@
    @PreAuthorize("@ss.hasPermi('system:contract:terminate')")
    public R terminateContract(@RequestBody TerminateContractDTO dto) {
        contractService.terminateContract(dto);
        // 生成房屋验收记录 待验收
        return R.ok();
    }
    @ApiOperation(value = "根据合同id查看验收记录")
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/StateProcessTemplateServiceImpl.java
@@ -30,6 +30,7 @@
import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.system.bo.*;
import com.ruoyi.system.mapper.StateProcessTemplateMapper;
import com.ruoyi.system.mapper.TContractMapper;
import com.ruoyi.system.model.*;
import com.ruoyi.system.service.*;
import com.ruoyi.system.vo.ProcessDetailVO;
@@ -74,7 +75,7 @@
    @Autowired
    private ISysUserService sysUserService;
    @Autowired
    private TContractService contractService;
    private TContractMapper contractMapper;
    /**
     * 流程模版分页
@@ -361,7 +362,7 @@
        // 查询合同信息
        for (ProcessTaskListVO processTaskListVO : processTaskListVOS) {
            // 查询合同信息
            TContract contract = contractService.getById(JSONObject.parseObject(processTaskListVO.getVariable()).getString("projectId"));
            TContract contract = contractMapper.selectById(JSONObject.parseObject(processTaskListVO.getVariable()).getString("projectId"));
            processTaskListVO.setContract(contract);
        }
@@ -484,6 +485,9 @@
        if (ObjectUtil.isNotEmpty(startTime) && ObjectUtil.isNotEmpty(endTime)) {
            stateTaskQuery.between(StateTaskCenter::getCreateTime, startTime, endTime);
        }
        if(Objects.isNull(processTaskListBO.getSortBy())){
            processTaskListBO.setSortBy(2);
        }
        if (processTaskListBO.getSortBy() == 1) {
            stateTaskQuery.orderByAsc(BaseModel::getCreateTime);
        }
@@ -500,7 +504,7 @@
        // 查询合同信息
        for (ProcessTaskListVO processTaskListVO : processTaskListVOS) {
            // 查询合同信息
            TContract contract = contractService.getById(JSONObject.parseObject(processTaskListVO.getVariable()).getString("projectId"));
            TContract contract = contractMapper.selectById(JSONObject.parseObject(processTaskListVO.getVariable()).getString("projectId"));
            processTaskListVO.setContract(contract);
        }
@@ -595,7 +599,7 @@
        // 查询合同信息
        for (ProcessTaskListVO processTaskListVO : processTaskListVOS) {
            // 查询合同信息
            TContract contract = contractService.getById(JSONObject.parseObject(processTaskListVO.getVariable()).getString("projectId"));
            TContract contract = contractMapper.selectById(JSONObject.parseObject(processTaskListVO.getVariable()).getString("projectId"));
            processTaskListVO.setContract(contract);
        }
@@ -715,6 +719,9 @@
        if (ObjectUtil.isNotEmpty(startTime) && ObjectUtil.isNotEmpty(endTime)) {
            stateTaskQuery.between(StateTaskCenter::getCreateTime, startTime, endTime);
        }
        if(Objects.isNull(processTaskListBO.getSortBy())){
            processTaskListBO.setSortBy(2);
        }
        if (processTaskListBO.getSortBy() == 1) {
            stateTaskQuery.orderByAsc(BaseModel::getCreateTime);
        }
@@ -730,7 +737,7 @@
        // 查询合同信息
        for (ProcessTaskListVO processTaskListVO : processTaskListVOS) {
            // 查询合同信息
            TContract contract = contractService.getById(JSONObject.parseObject(processTaskListVO.getVariable()).getString("projectId"));
            TContract contract = contractMapper.selectById(JSONObject.parseObject(processTaskListVO.getVariable()).getString("projectId"));
            processTaskListVO.setContract(contract);
        }
@@ -1174,14 +1181,14 @@
        if(Objects.nonNull(flwTask)){
            instanceId = flwTask.getInstanceId();
            // 查询合同信息
            contract = contractService.getById(JSONObject.parseObject(flwTask.getVariable()).getString("projectId"));
            contract = contractMapper.selectById(JSONObject.parseObject(flwTask.getVariable()).getString("projectId"));
        }else {
            FlwHisTask flwHisTask = flwHisTaskMapper.selectById(Long.valueOf(taskId));
            if(Objects.isNull(flwHisTask)){
                throw new GlobalException("流程不存在");
            }
            instanceId = flwHisTask.getInstanceId();
            contract = contractService.getById(Objects.requireNonNull(JSONObject.parseObject(flwHisTask.getVariable())).getString("projectId"));
            contract = contractMapper.selectById(Objects.requireNonNull(JSONObject.parseObject(flwHisTask.getVariable())).getString("projectId"));
        }
        BeanUtil.copyProperties(contract, processDetailVO);
@@ -1230,6 +1237,9 @@
        if (ObjectUtil.isNotEmpty(startTime) && ObjectUtil.isNotEmpty(endTime)) {
            stateTaskQuery.between(FlwHisTask::getCreateTime, startTime, endTime);
        }
        if(Objects.isNull(processTaskListBO.getSortBy())){
            processTaskListBO.setSortBy(2);
        }
        if (processTaskListBO.getSortBy() == 1) {
            stateTaskQuery.orderByAsc(FlwHisTask::getCreateTime);
        }
@@ -1246,7 +1256,7 @@
        // 查询合同信息
        for (ProcessTaskListVO processTaskListVO : processTaskListVOS) {
            // 查询合同信息
            TContract contract = contractService.getById(JSONObject.parseObject(processTaskListVO.getVariable()).getString("projectId"));
            TContract contract = contractMapper.selectById(JSONObject.parseObject(processTaskListVO.getVariable()).getString("projectId"));
            processTaskListVO.setContract(contract);
        }
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TContractServiceImpl.java
@@ -5,8 +5,10 @@
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;
@@ -17,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;
@@ -32,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>
@@ -56,6 +57,8 @@
    private TBillService billService;
    @Resource
    private TContractMapper contractMapper;
    @Autowired
    private StateProcessTemplateService stateProcessTemplateService;
    @Override
    public PageInfo<TContract> contractList(TContractQuery query) {
@@ -101,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());
@@ -158,8 +174,17 @@
        contract.setFirstPayTime(contract.getStartTime().plusDays(10));
        contractMapper.updateById(contract);
        // TODO 进入签订审批流程
        // 进入签订审批流程
        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();
        // 生成第一笔账单