From f431d9abcac90ea7ec3c351e311a85116d98e72b Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 15 九月 2025 19:04:45 +0800
Subject: [PATCH] 审批模块

---
 ruoyi-system/src/main/java/com/ruoyi/system/dto/SetApprovalDTO.java                         |   18 +++
 ruoyi-system/src/main/java/com/ruoyi/system/query/ApprovalListQuery.java                    |   14 ++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalController.java            |   78 ++++++++++++
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/OaApprovalMapper.java                    |    8 +
 ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml                             |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/service/OaApprovalService.java                  |    5 
 ruoyi-system/src/main/resources/mapper/system/OaApprovalMapper.xml                          |   10 +
 ruoyi-system/src/main/java/com/ruoyi/system/dto/SetDeptDTO.java                             |   19 +++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowNodeController.java    |   54 ++++++++
 ruoyi-system/src/main/java/com/ruoyi/system/vo/system/ApprovalFlowNodeVO.java               |   15 ++
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalFlowNodeServiceImpl.java |   31 +++++
 ruoyi-system/src/main/java/com/ruoyi/system/service/OaApprovalFlowNodeService.java          |    7 +
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/OaApprovalFlowNodeMapper.java            |    7 +
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalServiceImpl.java         |   32 +++++
 ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalFlowNode.java                   |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/vo/system/ApprovalVO.java                       |   18 +++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java            |    3 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TDeptController.java              |    2 
 18 files changed, 319 insertions(+), 8 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalController.java
index d58a18b..edec725 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalController.java
@@ -1,8 +1,28 @@
 package com.ruoyi.web.controller.api;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.domain.entity.TDept;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.system.dto.AddDeptDTO;
+import com.ruoyi.system.dto.SetDeptDTO;
+import com.ruoyi.system.mapper.SysUserMapper;
+import com.ruoyi.system.model.OaApproval;
+import com.ruoyi.system.query.ApprovalListQuery;
+import com.ruoyi.system.service.ISysUserService;
+import com.ruoyi.system.service.OaApprovalService;
+import com.ruoyi.system.service.TDeptService;
+import com.ruoyi.system.vo.system.ApprovalVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -14,7 +34,61 @@
  */
 @RestController
 @RequestMapping("/oa-approval")
+@Api("审批流程设计")
 public class OaApprovalController {
+    @Resource
+    private OaApprovalService oaApprovalService;
 
+    /**
+     * 获取部门树列表
+     */
+    @ApiOperation("流程设计分页列表")
+    @PostMapping("/pageList")
+    public R<PageInfo<ApprovalVO>> pageList(@RequestBody ApprovalListQuery query) {
+        return R.ok( oaApprovalService.pageList(query));
+    }
+    @ApiOperation(value = "启用禁用")
+    @GetMapping(value = "/updateStatus")
+    public R updateStatus(Integer id ) {
+        OaApproval approval = oaApprovalService.getById(id);
+        approval.setStatus(!approval.getStatus());
+        oaApprovalService.updateById(approval);
+        return R.ok();
+    }
+    @ApiOperation(value = "设置使用部门")
+    @PostMapping(value = "/setDept")
+    public R setDept(@RequestBody SetDeptDTO dto) {
+        OaApproval approval = oaApprovalService.getById(dto.getId());
+        approval.setDeptIds(dto.getDeptIds());
+        oaApprovalService.updateById(approval);
+        return R.ok();
+    }
+//    @Log(title = "编辑部门", businessType = BusinessType.UPDATE)
+//    @ApiOperation(value = "编辑部门")
+//    @PostMapping(value = "/edit")
+//    public R edit(@RequestBody AddDeptDTO dto) {
+//        deptService.updateById(dto);
+//        return R.ok();
+//    }
+//    @ApiOperation(value = "部门详情")
+//    @GetMapping(value = "/detail")
+//    public R<TDept> edit(@RequestParam String id) {
+//        return R.ok(deptService.getById(id));
+//    }
+//    @ApiOperation(value = "部门删除")
+//    @DeleteMapping(value = "/delete")
+//    @Log(title = "删除部门", businessType = BusinessType.DELETE)
+//    public R<Boolean> delete(@RequestParam String id) {
+//        Long count = deptService.lambdaQuery().eq(TDept::getParentId, id).count();
+//        if (count>0){
+//            return R.fail("当前部门存在下级部门,不可删除!");
+//        }
+//        List<SysUser> users = sysUserMapper.selectAllList().stream().filter(e -> e.getDelFlag().equals("0") && e.getDeptId().equals(id)).collect(Collectors.toList());
+//        if (!users.isEmpty()){
+//            return R.fail("当前部门存在用户,不可删除!");
+//        }
+//        deptService.removeById(Integer.valueOf(id));
+//        return R.ok();
+//    }
 }
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowNodeController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowNodeController.java
index c682d44..25826b7 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowNodeController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowNodeController.java
@@ -1,8 +1,23 @@
 package com.ruoyi.web.controller.api;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.system.dto.SetApprovalDTO;
+import com.ruoyi.system.dto.SetDeptDTO;
+import com.ruoyi.system.model.OaApproval;
+import com.ruoyi.system.model.OaApprovalFlowNode;
+import com.ruoyi.system.query.ApprovalListQuery;
+import com.ruoyi.system.service.OaApprovalFlowNodeService;
+import com.ruoyi.system.service.OaApprovalService;
+import com.ruoyi.system.vo.system.ApprovalFlowNodeVO;
+import com.ruoyi.system.vo.system.ApprovalVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * <p>
@@ -13,8 +28,43 @@
  * @since 2025-09-15
  */
 @RestController
+@Api("审批流程")
 @RequestMapping("/oa-approval-flow-node")
 public class OaApprovalFlowNodeController {
+    @Resource
+    private OaApprovalFlowNodeService oaApprovalFlowNodeService;
 
+    /**
+     * 获取部门树列表
+     */
+    @ApiOperation("审批流程设计列表")
+    @PostMapping("/pageList")
+    public R<List<OaApprovalFlowNode>> pageList(@RequestBody ApprovalListQuery query) {
+        return R.ok( oaApprovalFlowNodeService.pageList(query));
+    }
+    @ApiOperation(value = "启用禁用")
+    @GetMapping(value = "/updateStatus")
+    public R updateStatus(Integer id ) {
+        OaApprovalFlowNode approval = oaApprovalFlowNodeService.getById(id);
+        approval.setStatus(!approval.getStatus());
+        oaApprovalFlowNodeService.updateById(approval);
+        return R.ok();
+    }
+    @ApiOperation(value = "是否需要签名")
+    @GetMapping(value = "/updateSign")
+    public R updateSign(Integer id ) {
+        OaApprovalFlowNode approval = oaApprovalFlowNodeService.getById(id);
+        approval.setSignFlag(!approval.getSignFlag());
+        oaApprovalFlowNodeService.updateById(approval);
+        return R.ok();
+    }
+    @ApiOperation(value = "设置审批人")
+    @PostMapping(value = "/setApproval")
+    public R setDept(@RequestBody SetApprovalDTO dto) {
+        OaApprovalFlowNode approval = oaApprovalFlowNodeService.getById(dto.getId());
+        approval.setApprovalIds(dto.getApprovalIds());
+        oaApprovalFlowNodeService.updateById(approval);
+        return R.ok();
+    }
 }
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
index 021241b..6274fbf 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
@@ -160,6 +160,7 @@
         } else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
             return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
         }
+        user.setUserName(user.getPhonenumber());
         user.setCreateBy(getUsername());
         user.setPassword(SecurityUtils.encryptPassword("123456"));
         userService.insertUser(user);
@@ -257,7 +258,7 @@
         } else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
             return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
         }
-
+        user.setUserName(user.getPhonenumber());
         user.setUpdateBy(getUsername());
         if (StringUtils.isNotEmpty(user.getPassword())) {
             user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TDeptController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TDeptController.java
index 5d11119..e19d35b 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TDeptController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TDeptController.java
@@ -78,7 +78,7 @@
         if (!users.isEmpty()){
             return R.fail("当前部门存在用户,不可删除!");
         }
-        deptService.removeById(id);
+        deptService.removeById(Integer.valueOf(id));
         return R.ok();
     }
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/SetApprovalDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/SetApprovalDTO.java
new file mode 100644
index 0000000..6be1e51
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/SetApprovalDTO.java
@@ -0,0 +1,18 @@
+package com.ruoyi.system.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+@ApiModel(value = "审批流程设置审批人员DTO")
+public class SetApprovalDTO implements Serializable {
+
+    @ApiModelProperty(value = "审批流程id")
+    private Integer id;
+
+    @ApiModelProperty(value = "人员ids")
+    private String approvalIds;
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/SetDeptDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/SetDeptDTO.java
new file mode 100644
index 0000000..453c338
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/SetDeptDTO.java
@@ -0,0 +1,19 @@
+package com.ruoyi.system.dto;
+
+import com.ruoyi.common.core.domain.entity.TDept;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+@ApiModel(value = "审批流程设计设置使用部门DTO")
+public class SetDeptDTO implements Serializable {
+
+    @ApiModelProperty(value = "审批流程id")
+    private Integer id;
+    @ApiModelProperty(value = "部门ids")
+    private String deptIds;
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/OaApprovalFlowNodeMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/OaApprovalFlowNodeMapper.java
index 62a2190..837dd72 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/OaApprovalFlowNodeMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/OaApprovalFlowNodeMapper.java
@@ -1,7 +1,13 @@
 package com.ruoyi.system.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.system.model.OaApprovalFlowNode;
+import com.ruoyi.system.query.ApprovalListQuery;
+import com.ruoyi.system.vo.system.ApprovalFlowNodeVO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +19,5 @@
  */
 public interface OaApprovalFlowNodeMapper extends BaseMapper<OaApprovalFlowNode> {
 
+
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/OaApprovalMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/OaApprovalMapper.java
index b869c38..893db30 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/OaApprovalMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/OaApprovalMapper.java
@@ -1,7 +1,13 @@
 package com.ruoyi.system.mapper;
 
+import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.system.model.OaApproval;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.system.query.ApprovalListQuery;
+import com.ruoyi.system.vo.system.ApprovalVO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +19,6 @@
  */
 public interface OaApprovalMapper extends BaseMapper<OaApproval> {
 
+    List<ApprovalVO> pageList(@Param("query")ApprovalListQuery query, @Param("pageInfo")PageInfo<ApprovalVO> pageInfo);
+
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalFlowNode.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalFlowNode.java
index 779d67d..efcb4ef 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalFlowNode.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalFlowNode.java
@@ -84,5 +84,7 @@
     @TableField("disabled")
     private Boolean disabled;
 
-
+    @ApiModelProperty(value = "审批人名称")
+    @TableField(exist = false)
+    private String approvalName;
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/ApprovalListQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/ApprovalListQuery.java
new file mode 100644
index 0000000..ffb32df
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/ApprovalListQuery.java
@@ -0,0 +1,14 @@
+package com.ruoyi.system.query;
+
+import com.ruoyi.common.core.domain.BasePage;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "审批流程分页列表query")
+public class ApprovalListQuery extends BasePage {
+
+    @ApiModelProperty(value = "审批设计id")
+    private Integer id;
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/OaApprovalFlowNodeService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/OaApprovalFlowNodeService.java
index 17afc7d..107f21d 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/OaApprovalFlowNodeService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/OaApprovalFlowNodeService.java
@@ -1,7 +1,13 @@
 package com.ruoyi.system.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.system.model.OaApprovalFlowNode;
+import com.ruoyi.system.query.ApprovalListQuery;
+import com.ruoyi.system.vo.system.ApprovalFlowNodeVO;
+import com.ruoyi.system.vo.system.ApprovalVO;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +19,5 @@
  */
 public interface OaApprovalFlowNodeService extends IService<OaApprovalFlowNode> {
 
+    List<OaApprovalFlowNode> pageList(ApprovalListQuery query);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/OaApprovalService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/OaApprovalService.java
index 7392a18..be21bc1 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/OaApprovalService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/OaApprovalService.java
@@ -1,7 +1,10 @@
 package com.ruoyi.system.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.system.model.OaApproval;
+import com.ruoyi.system.query.ApprovalListQuery;
+import com.ruoyi.system.vo.system.ApprovalVO;
 
 /**
  * <p>
@@ -13,4 +16,6 @@
  */
 public interface OaApprovalService extends IService<OaApproval> {
 
+    PageInfo<ApprovalVO> pageList(ApprovalListQuery query);
+
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalFlowNodeServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalFlowNodeServiceImpl.java
index 41022f7..137e619 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalFlowNodeServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalFlowNodeServiceImpl.java
@@ -1,10 +1,23 @@
 package com.ruoyi.system.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.domain.entity.TDept;
 import com.ruoyi.system.mapper.OaApprovalFlowNodeMapper;
+import com.ruoyi.system.mapper.SysUserMapper;
 import com.ruoyi.system.model.OaApprovalFlowNode;
+import com.ruoyi.system.query.ApprovalListQuery;
 import com.ruoyi.system.service.OaApprovalFlowNodeService;
+import com.ruoyi.system.vo.system.ApprovalFlowNodeVO;
+import com.ruoyi.system.vo.system.ApprovalVO;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -17,4 +30,22 @@
 @Service
 public class OaApprovalFlowNodeServiceImpl extends ServiceImpl<OaApprovalFlowNodeMapper, OaApprovalFlowNode> implements OaApprovalFlowNodeService {
 
+    @Autowired
+    private SysUserMapper sysUserMapper;
+    @Override
+    public List<OaApprovalFlowNode> pageList(ApprovalListQuery query) {
+        List<SysUser> sysUsers = sysUserMapper.selectList();
+        Map<Long, String> deptMaps = sysUsers.stream().collect(Collectors.toMap(SysUser::getUserId, SysUser::getNickName));
+        List<OaApprovalFlowNode> oaApprovalFlowNodes = this.baseMapper.selectList(new LambdaQueryWrapper<OaApprovalFlowNode>()
+                .eq(OaApprovalFlowNode::getApprovalId, query.getId()));
+        for (OaApprovalFlowNode approvalVO : oaApprovalFlowNodes) {
+            StringBuilder approvalName = new StringBuilder();
+            for (String approvalId : approvalVO.getApprovalIds().split(",")) {
+                String orDefault = deptMaps.getOrDefault(Long.valueOf(approvalId), "");
+                approvalName.append(orDefault).append(",");
+            }
+            approvalVO.setApprovalName(approvalName.substring(0,approvalName.length()-1));
+        }
+        return oaApprovalFlowNodes;
+    }
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalServiceImpl.java
index f0e4e99..2d70894 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalServiceImpl.java
@@ -1,10 +1,23 @@
 package com.ruoyi.system.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.common.constant.DictConstants;
+import com.ruoyi.common.core.domain.entity.TDept;
+import com.ruoyi.common.utils.DictUtils;
 import com.ruoyi.system.mapper.OaApprovalMapper;
+import com.ruoyi.system.mapper.TDeptMapper;
 import com.ruoyi.system.model.OaApproval;
+import com.ruoyi.system.query.ApprovalListQuery;
 import com.ruoyi.system.service.OaApprovalService;
+import com.ruoyi.system.vo.system.ApprovalVO;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -17,4 +30,23 @@
 @Service
 public class OaApprovalServiceImpl extends ServiceImpl<OaApprovalMapper, OaApproval> implements OaApprovalService {
 
+    @Autowired
+    private TDeptMapper deptMapper;
+    @Override
+    public PageInfo<ApprovalVO> pageList(ApprovalListQuery query) {
+        List<TDept> tDepts = deptMapper.selectList(null);
+        Map<Integer, String> deptMaps = tDepts.stream().collect(Collectors.toMap(TDept::getId, TDept::getDeptName));
+        PageInfo<ApprovalVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
+        List<ApprovalVO> list = this.baseMapper.pageList(query,pageInfo);
+        for (ApprovalVO approvalVO : list) {
+            StringBuilder deptName = new StringBuilder();
+            for (String deptId : approvalVO.getDeptIds().split(",")) {
+                String orDefault = deptMaps.getOrDefault(Integer.parseInt(deptId), "");
+                deptName.append(orDefault).append(",");
+            }
+            approvalVO.setDeptName(deptName.substring(0,deptName.length()-1));
+        }
+        pageInfo.setRecords(list);
+        return pageInfo;
+    }
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/ApprovalFlowNodeVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/ApprovalFlowNodeVO.java
new file mode 100644
index 0000000..9f94f4c
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/ApprovalFlowNodeVO.java
@@ -0,0 +1,15 @@
+package com.ruoyi.system.vo.system;
+
+import com.ruoyi.system.model.OaApproval;
+import com.ruoyi.system.model.OaApprovalFlowNode;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "审批流程分页返回VO")
+public class ApprovalFlowNodeVO extends OaApprovalFlowNode {
+    @ApiModelProperty(value = "审批人名称")
+    private String approvalName;
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/ApprovalVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/ApprovalVO.java
new file mode 100644
index 0000000..794c087
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/ApprovalVO.java
@@ -0,0 +1,18 @@
+package com.ruoyi.system.vo.system;
+
+import com.ruoyi.system.model.OaApproval;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+@Data
+@ApiModel(value = "审批流程设计分页返回VO")
+public class ApprovalVO extends OaApproval {
+
+    @ApiModelProperty(value = "使用部门名称")
+    private String deptName;
+
+}
diff --git a/ruoyi-system/src/main/resources/mapper/system/OaApprovalMapper.xml b/ruoyi-system/src/main/resources/mapper/system/OaApprovalMapper.xml
index 5a93c46..e2df5af 100644
--- a/ruoyi-system/src/main/resources/mapper/system/OaApprovalMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/OaApprovalMapper.xml
@@ -20,5 +20,15 @@
     <sql id="Base_Column_List">
         id, approval_name, approval_category, status, dept_ids, create_time, create_by, update_time, update_by, disabled
     </sql>
+    <select id="pageList" resultType="com.ruoyi.system.vo.system.ApprovalVO">
+select * from oa_approval
+where 1=1
+<if test="query.approvalName != null and query.approvalName != ''">
+and approval_name like concat('%',#{query.approvalName},'%')
+</if>
+        AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
+        ORDER BY update_time DESC
+
+    </select>
 
 </mapper>
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
index 5bda4cd..cb902a9 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -234,7 +234,7 @@
     <select id="pageList" resultType="com.ruoyi.system.vo.system.SysUserVO">
 		select u.*,
 			   r.role_id AS roleId, r.role_name AS roleName, r.role_key AS roleKey, r.role_sort AS roleSort, r.data_scope AS dataScope, r.status as role_status
-
+		,t1.dept_name as deptName
 		from sys_user u
 		left join sys_user_role ur on u.user_id = ur.user_id
 		left join sys_role r on r.role_id = ur.role_id

--
Gitblit v1.7.1