From 0ab9dfd8f122195e4e9f09bd50c59e0a47450bec Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期三, 19 三月 2025 15:50:03 +0800 Subject: [PATCH] fix: resolve merge conflicts in .gitignore --- ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/StateProcessController.java | 209 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 209 insertions(+), 0 deletions(-) diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/StateProcessController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/StateProcessController.java new file mode 100644 index 0000000..635ebdf --- /dev/null +++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/StateProcessController.java @@ -0,0 +1,209 @@ +package com.ruoyi.web.controller.api; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.basic.PageInfo; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.BaseModel; +import com.ruoyi.common.core.domain.BasePage; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.exception.GlobalException; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.system.bo.*; +import com.ruoyi.system.model.StateProcessModule; +import com.ruoyi.system.model.StateProcessTemplate; +import com.ruoyi.system.model.TContract; +import com.ruoyi.system.service.ISysUserService; +import com.ruoyi.system.service.StateProcessModuleService; +import com.ruoyi.system.service.StateProcessTemplateService; +import com.ruoyi.system.vo.ProcessDetailVO; +import com.ruoyi.system.vo.ProcessTaskListVO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.*; + +import java.time.LocalDateTime; +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; + +@Api(tags = "审批流程管理") +@RequestMapping("/state-process") +@RestController +@RequiredArgsConstructor +public class StateProcessController { + + private final StateProcessTemplateService processTemplateService; + private final StateProcessModuleService processModuleService; + private final ISysUserService sysUserService; + + //应用流程分页列表 + @ApiOperation("应用流程分页列表") + @PostMapping("/module/page") + public AjaxResult<List<StateProcessModule>> modulePage(@RequestBody BasePage basePage) { + LambdaQueryWrapper<StateProcessModule> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.orderByAsc(StateProcessModule::getCategory); + //查询应用流程列表 + List<StateProcessModule> result = processModuleService.list(queryWrapper); + List<String> updateUserId = result.stream().map(BaseModel::getUpdateBy).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(updateUserId)){ + //根据用户id查询用户信息 + List<SysUser> sysUsers = sysUserService.selectUserByUserNameList(updateUserId); + Map<Long, SysUser> sysUserMap; + if (!CollectionUtils.isEmpty(sysUsers)){ + sysUserMap = sysUsers.stream().collect(Collectors.toMap(SysUser::getUserId, Function.identity())); + } else { + sysUserMap = new HashMap<>(); + } + //遍历列表,设置更新人名称 + result.forEach(e -> { + SysUser sysUser = sysUserMap.get(e.getUpdateBy()); + if (Objects.nonNull(sysUser)){ + e.setUpdateBy(sysUser.getNickName()); + } + }); + } + return AjaxResult.success(result); + } + //修改应用流程 + @Log(title = "审批流程管理-修改应用流程", businessType = BusinessType.UPDATE) + @ApiOperation("修改应用流程") + @PostMapping("/module/update") + public AjaxResult<PageInfo<StateProcessModule>> moduleUpdate(@RequestBody ProcessModuleUpdateBO processModuleUpdateBO) { + StateProcessTemplate stateProcessTemplate = processTemplateService.getById(processModuleUpdateBO.getTemplateId()); + if (Objects.isNull(stateProcessTemplate)) { + return AjaxResult.success(); + } + StateProcessModule stateProcessModule = new StateProcessModule(); + stateProcessModule.setId(processModuleUpdateBO.getId()); + stateProcessModule.setTemplateId(processModuleUpdateBO.getTemplateId()); + stateProcessModule.setTemplateName(stateProcessTemplate.getTemplateName()); + stateProcessModule.setUpdateBy(SecurityUtils.getLoginUser().getUser().getNickName()); + stateProcessModule.setCreateTime(LocalDateTime.now()); + stateProcessModule.setUpdateTime(LocalDateTime.now()); + stateProcessModule.setRemark(processModuleUpdateBO.getRemark()); + processModuleService.updateById(stateProcessModule); + return AjaxResult.success(); + } + + //流程模版分页 + @ApiOperation("流程模版分页") + @PostMapping("/template/page") + public AjaxResult<Page<StateProcessTemplate>> page(ProcessTemplatePageBO request) { + Page<StateProcessTemplate> templatePage = processTemplateService.page(request); + return AjaxResult.success(templatePage); + } + + //查询流程模版 + @ApiOperation("查询流程模版") + @GetMapping("/template/getById") + public AjaxResult<StateProcessTemplate> selectById(@RequestParam String id) { + return AjaxResult.success(processTemplateService.getById(id)); + } + + //修改并部署模版 + @Log(title = "审批流程管理-修改并部署模版", businessType = BusinessType.UPDATE) + @ApiOperation("修改并部署模版") + @PostMapping("/template/update") + public AjaxResult<Boolean> update(@RequestBody ProcessUpdateBO processUpdateBO) { + return AjaxResult.success(processTemplateService.update(processUpdateBO)); + } + + //删除模版 + @Log(title = "审批流程管理-删除模版", businessType = BusinessType.DELETE) + @ApiOperation("删除模版") + @GetMapping("/template/deleteById") + public AjaxResult<Boolean> deleteById(@RequestParam String id) { + StateProcessTemplate template = processTemplateService.getById(id); + //查询是否存在使用的 + LambdaUpdateWrapper<StateProcessModule> moduleLambdaUpdateWrapper = new LambdaUpdateWrapper<>();; + moduleLambdaUpdateWrapper.eq(StateProcessModule::getTemplateId, template.getId()); + if (processModuleService.getBaseMapper().exists(moduleLambdaUpdateWrapper)) { + throw new GlobalException("该模版在应用流程中已使用!"); + } + //根据key修改所有版本为已删除 + boolean result = processTemplateService.remove(Wrappers.lambdaQuery(StateProcessTemplate.class) + .eq(StateProcessTemplate::getTemplateKey, template.getTemplateKey())); + return AjaxResult.success(result); + } + + //创建并部署模版 + @Log(title = "审批流程管理-创建并部署模版", businessType = BusinessType.INSERT) + @ApiOperation("创建并部署模版") + @PostMapping("/template/create") + public AjaxResult<Boolean> create(@RequestBody ProcessCreateBO processCreateBO) { + return AjaxResult.success(processTemplateService.create(processCreateBO)); + } + + //流程发起 + @Log(title = "审批流程管理-流程发起", businessType = BusinessType.INSERT) + @ApiOperation("流程发起") + @PostMapping("/start") + public AjaxResult<Boolean> start(@RequestBody ProcessStartBO processStartBO) { + return AjaxResult.success(processTemplateService.start(processStartBO)); + } + + //待办 + @ApiOperation("待办列表") + @PostMapping("/wait/task/page") + public AjaxResult<PageInfo<ProcessTaskListVO>> waitTaskPage(@RequestBody ProcessTaskListBO processTemplatePageBO) { + return AjaxResult.success(processTemplateService.waitTaskPageApplet(processTemplatePageBO)); + } + + //已办 + @ApiOperation("已办列表") + @PostMapping("/deal/task/page") + public AjaxResult<PageInfo<ProcessTaskListVO>> dealTaskPage(@RequestBody ProcessTaskListBO processTemplatePageBO) { + return AjaxResult.success(processTemplateService.dealTaskPageApplet(processTemplatePageBO)); + } + + //我发起的 + @ApiOperation("我发起的列表") + @PostMapping("/initiate/task/page") + public AjaxResult<PageInfo<ProcessTaskListVO>> initiateTaskPage(@RequestBody ProcessTaskListBO processTemplatePageBO) { + return AjaxResult.success(processTemplateService.initiateTaskPage(processTemplatePageBO)); + } + + //抄送 + @ApiOperation("抄送列表") + @PostMapping("/copy/task/page") + public AjaxResult<PageInfo<ProcessTaskListVO>> copyTaskPage(@RequestBody ProcessTaskListBO processTaskListBO){ + return AjaxResult.success(processTemplateService.copyTaskPage(processTaskListBO)); + } + + //审核通过 + @Log(title = "审批流程管理-审核通过", businessType = BusinessType.UPDATE) + @ApiOperation("审核通过") + @PostMapping("/agree") + public AjaxResult<Object> agree(@RequestBody ProcessAgreeBO processAgreeBO) { + processTemplateService.agree(processAgreeBO); + return AjaxResult.success(); + } + + //审核拒绝 + @Log(title = "审批流程管理-审核拒绝", businessType = BusinessType.UPDATE) + @ApiOperation("审核拒绝") + @PostMapping("/refuse") + public AjaxResult<Object> refuse(@RequestBody ProcessRefuseBO processRefuseBO) { + processTemplateService.refuse(processRefuseBO); + return AjaxResult.success(); + } + + //审核详情 + @ApiOperation("审核详情") + @GetMapping("/detail") + public AjaxResult<ProcessDetailVO> detail(@RequestParam String taskId) { + ProcessDetailVO detail = processTemplateService.detail(taskId); + return AjaxResult.success(detail); + } + +} -- Gitblit v1.7.1