yanghb
2025-02-18 1fc203f758ace853f4bfa900c422c2f741d09e79
land-admin/src/main/java/com/zzg/web/controller/state/StateProcessController.java
@@ -1,6 +1,5 @@
package com.zzg.web.controller.state;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -16,17 +15,31 @@
import com.zzg.common.enums.DeleteFlagEnum;
import com.zzg.common.exception.GlobalException;
import com.zzg.common.utils.SecurityUtils;
import com.zzg.framework.web.domain.server.Sys;
import com.zzg.system.domain.bo.*;
import com.zzg.system.domain.bo.ProcessAgreeBO;
import com.zzg.system.domain.bo.ProcessCreateBO;
import com.zzg.system.domain.bo.ProcessModuleUpdateBO;
import com.zzg.system.domain.bo.ProcessRefuseBO;
import com.zzg.system.domain.bo.ProcessStartBO;
import com.zzg.system.domain.bo.ProcessTaskListBO;
import com.zzg.system.domain.bo.ProcessTemplatePageBO;
import com.zzg.system.domain.bo.ProcessUpdateBO;
import com.zzg.system.domain.vo.ProcessTaskListVO;
import com.zzg.system.service.state.StateProcessModuleService;
import com.zzg.system.service.state.StateProcessTemplateService;
import com.zzg.system.service.system.ISysUserService;
import lombok.RequiredArgsConstructor;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.*;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -38,12 +51,13 @@
    private final StateProcessModuleService processModuleService;
    private final ISysUserService sysUserService;
    //应用流程分页列表
    @PostMapping(UrlConstants.STATE_PROCESS_STATE_MODULE_PAGE)
    public AjaxResult<PageInfo<StateProcessModule>> modulePage(@RequestBody PageDomain pageDomain) {
        PageHelper.startPage(pageDomain.getPageNum(), pageDomain.getPageSize());
        LambdaQueryWrapper<StateProcessModule> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.orderByAsc(StateProcessModule::getCategory);
        //查询应用流程列表
        List<StateProcessModule> moduleList = processModuleService.list(queryWrapper);
        if (CollectionUtils.isEmpty(moduleList)) {
            return AjaxResult.success(new PageInfo<>());
@@ -51,6 +65,7 @@
        PageInfo<StateProcessModule> pageInfo = new PageInfo<>(moduleList);
        List<String> updateUserId = pageInfo.getList().stream().map(BaseEntity::getUpdateBy).collect(Collectors.toList());
        if (!CollectionUtils.isEmpty(updateUserId)){
            //根据用户id查询用户信息
            List<SysUser> sysUsers = sysUserService.selectUserByIdList(updateUserId);
            Map<String, SysUser> sysUserMap;
            if (!CollectionUtils.isEmpty(sysUsers)){
@@ -58,6 +73,7 @@
            } else {
                sysUserMap = new HashMap<>();
            }
            //遍历列表,设置更新人名称
            pageInfo.getList().forEach(e -> {
                SysUser sysUser = sysUserMap.get(e.getUpdateBy());
                if (Objects.nonNull(sysUser)){
@@ -67,7 +83,7 @@
        }
        return AjaxResult.success(pageInfo);
    }
    //修改应用流程
    @PostMapping(UrlConstants.STATE_PROCESS_STATE_MODULE_UPDATE)
    public AjaxResult<PageInfo<StateProcessModule>> moduleUpdate(@RequestBody ProcessModuleUpdateBO processModuleUpdateBO) {
        StateProcessTemplate stateProcessTemplate = processTemplateService.getById(processModuleUpdateBO.getTemplateId());
@@ -147,6 +163,7 @@
        return AjaxResult.success(processTemplateService.dealTaskPage(processTemplatePageBO));
    }
    //抄送
    @PostMapping(UrlConstants.STATE_PROCESS_COPY_TASK_PAGE)
    public AjaxResult<PageInfo<ProcessTaskListVO>> copyTaskPage(@RequestBody ProcessTaskListBO processTaskListBO){
        return AjaxResult.success(processTemplateService.copyTaskPage(processTaskListBO));