소스 검색

11482-【CR】【投资系统】增加审批流程-背调审批-指定审批人

hxy 1 개월 전
부모
커밋
2bdebfbfeb

+ 21 - 18
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ApproveUserController.java

@@ -50,7 +50,7 @@ public class ApproveUserController extends BaseController
     public TableDataInfo findApproveUser()
     {
         startPage();
-        List<String> list = approveUserService.findApproveUser();
+        List<Long> list = approveUserService.findApproveUser();
         return getDataTable(list);
     }
 
@@ -65,29 +65,19 @@ public class ApproveUserController extends BaseController
     @ResponseBody
     public Map<String,Object> saveApproveUser(@RequestBody ApproveUser approveUser){
         Map<String, Object> map = new HashMap<String, Object>();
-        List<String> aUser=new ArrayList<>();
-        if (StringUtils.isNotBlank(approveUser.getUserId())) {
-           aUser= Arrays.asList(approveUser.getUserId().split(","));
-        }
         try{
-            if(aUser!=null && aUser.size()>0 ) {
+            if(approveUser.getUserIds()!=null && approveUser.getUserIds().size()>0 ) {
                 //删除
-
-                /*customerService.deleteApproveUserByDeptId("c8ee487b711611e7b45f484d7e9932ef");
-                customerService.deleteApproveUserByDeptId("c940fc99711611e7b45f484d7e9932ef");
-                customerService.deleteApproveUserByDeptId("4ebf66d4711611e7b45f484d7e9932ef");*/
-//				customerService.deleteApproveUserByCompanyId(company);
-//				List<ApproveUser> list=customerService.selectApproveUseraByCompanyId(company);
+                approveUserService.deleteApproveUser();
+                List<Long> aUser=approveUser.getUserIds();
                 List<ApproveUser> aus = new ArrayList<>();
-                for (String s : aUser) {
-                    approveUserService.deleteApproveUserByUserId(s);
-                    SysUser sysUser=sysUserService.selectUserById(Long.parseLong(s));
+                for (Long s : aUser) {
+                    SysUser sysUser=sysUserService.selectUserById(s);
                     ApproveUser au = new ApproveUser();
-
                     au.setUserId(s);
                     au.setLoginId(sysUser.getUserName());
-                    //au.setDeptName(sysUser.getDept());
-                    au.setDeptId(sysUser.getDeptId().toString());
+                    au.setDeptName(sysUser.getDept().getDeptName());
+                    au.setDeptId(sysUser.getDeptId());
                     aus.add(au);
                 }
                 if(aus.size()>0){
@@ -108,4 +98,17 @@ public class ApproveUserController extends BaseController
         return map;
     }
 
+    /**
+     * 无权限控制
+     * 无分页
+     * 财务和法务全部人员
+     * 获取用户列表
+     */
+    @GetMapping("/allUserList")
+    public TableDataInfo allUserList(SysUser user)
+    {
+        List<SysUser> list = sysUserService.selectUserByDeptNameAndDeptName("财务部","法务部");
+        return getDataTable(list);
+    }
+
 }

+ 4 - 25
ruoyi-flowable/src/main/java/com/ruoyi/flowable/listener/DueTaskListener.java

@@ -68,34 +68,13 @@ public class DueTaskListener implements TaskListener{
             }
         }else if("complete".equals(eventName)){
             if ("deptLeader".equals(taskDefKey)) {
-                List<String> aUser = approveUserService.findApproveUser();
+                List<Long> aUser = approveUserService.findApproveUser();
                 if (aUser != null && aUser.size() > 0) {
-                /*if(aUser.size() == 1){
-                    delegateTask.setAssignee(aUser.get(0));
-                }else{
-                    delegateTask.addCandidateUsers(aUser);
-                }*/
                     delegateTask.setVariable("uploadList", aUser);
                 } else {
-                    List<String> users = new ArrayList<>();
-                    /*List<SysUser> financeUsers = sysUserService.selectUserByDeptName("财务部");
-                    if (financeUsers != null && financeUsers.size() > 0) {
-                        for (SysUser userInfo : financeUsers) {
-                            if("周亚琴".equals(userInfo.getNickName())&&"15821632425".equals(userInfo.getUserName())) {
-                                users.add(userInfo.getUserId().toString());
-                            }
-                        }
-                    }
-                    List<SysUser> lawUsers = sysUserService.selectUserByDeptName("法务部");
-                    if (lawUsers != null && lawUsers.size() > 0) {
-                        for (SysUser userInfo : lawUsers) {
-                            if("钱振雷".equals(userInfo.getNickName())&&"18964333328".equals(userInfo.getUserName())) {
-                                users.add(userInfo.getUserId().toString());
-                            }
-                        }
-                    }*/
-                    users.add("31");
-                    users.add("850");
+                    List<Long> users = new ArrayList<>();
+                    users.add(31L);
+                    users.add(850L);
                     delegateTask.setVariable("uploadList", users);
                 }
             }

+ 6 - 2
ruoyi-system/src/main/java/com/ruoyi/system/domain/ApproveUser.java

@@ -4,6 +4,8 @@ package com.ruoyi.system.domain;
 import com.ruoyi.common.core.domain.BaseEntity;
 import lombok.Data;
 
+import java.util.List;
+
 /**
  * 审批用户对象 approve_user
  * 
@@ -14,9 +16,11 @@ public class ApproveUser extends BaseEntity
 {
     private static final long serialVersionUID = 1L;
     private Integer id;
-    private String userId;
+    private Long userId;
     private String loginId;
-    private String deptId;
+    private Long deptId;
     private String deptName;
+    private List<Long> userIds;
+
 
 }

+ 5 - 5
ruoyi-system/src/main/java/com/ruoyi/system/mapper/ApproveUserMapper.java

@@ -33,11 +33,11 @@ public interface ApproveUserMapper
     public int updateApproveUsers(@Param("aus")List<ApproveUser> user);
 
     List<ApproveUser> selectApproveUserList(ApproveUser user);
-    List<String> findApproveUser();
-    List<String> findApproveUserByDeptId(@Param("deptId")String deptId);
-    void deleteApproveUserByUserId(@Param("userId")String userId);
-    void deleteApproveUserByDeptId(@Param("deptId")String deptId);
-
+    List<Long> findApproveUser();
+    List<Long> findApproveUserByDeptId(@Param("deptId")Long deptId);
+    void deleteApproveUserByUserId(@Param("userId")Long userId);
+    void deleteApproveUserByDeptId(@Param("deptId")Long deptId);
+    void deleteApproveUser();
 
 
 }

+ 1 - 1
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java

@@ -138,5 +138,5 @@ public interface SysUserMapper
      * @param deptName 部门名称
      * @return 用户对象信息
      */
-    List<SysUser> selectUserByDeptName(String deptName,String deptName1);
+    List<SysUser> selectUserByDeptNameAndDeptName(@Param("deptName")String deptName,@Param("deptName1")String deptName1);
 }

+ 5 - 5
ruoyi-system/src/main/java/com/ruoyi/system/service/IApproveUserService.java

@@ -37,10 +37,10 @@ public interface IApproveUserService
      * @return 结果
      */
     public int updateApproveUsers(List<ApproveUser> user);
-    List<String> findApproveUser();
-    List<String> findApproveUserByDeptId(String deptId);
-    void deleteApproveUserByUserId(String userId);
-    void deleteApproveUserByDeptId(String deptId);
-
+    List<Long> findApproveUser();
+    List<Long> findApproveUserByDeptId(Long deptId);
+    void deleteApproveUserByUserId(Long userId);
+    void deleteApproveUserByDeptId(Long deptId);
+    void deleteApproveUser();
 
 }

+ 1 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java

@@ -205,4 +205,5 @@ public interface ISysUserService
      * @return 结果
      */
     public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName);
+    public List<SysUser> selectUserByDeptNameAndDeptName(String deptName,String deptName1);
 }

+ 9 - 23
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ApproveUserServiceImpl.java

@@ -1,32 +1,14 @@
 package com.ruoyi.system.service.impl;
 
-import com.ruoyi.common.annotation.DataScope;
-import com.ruoyi.common.constant.UserConstants;
-import com.ruoyi.common.core.domain.entity.SysRole;
-import com.ruoyi.common.core.domain.entity.SysUser;
-import com.ruoyi.common.exception.ServiceException;
-import com.ruoyi.common.utils.SecurityUtils;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.common.utils.bean.BeanValidators;
-import com.ruoyi.common.utils.spring.SpringUtils;
+
 import com.ruoyi.system.domain.*;
 import com.ruoyi.system.mapper.*;
 import com.ruoyi.system.service.IApproveUserService;
-import com.ruoyi.system.service.ISysConfigService;
-import com.ruoyi.system.service.ISysUserService;
-import org.apache.ibatis.annotations.Param;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
-
-import javax.validation.Validator;
-import java.util.ArrayList;
 import java.util.List;
-import java.util.stream.Collectors;
-
 /**
  * 用户 业务层处理
  * 
@@ -59,19 +41,23 @@ public class ApproveUserServiceImpl implements IApproveUserService {
         return approveUserMapper.updateApproveUsers(user);
     }
    @Override
-    public void deleteApproveUserByUserId(String userId){
+    public void deleteApproveUserByUserId(Long userId){
         approveUserMapper.deleteApproveUserByUserId(userId);
     }
     @Override
-    public void deleteApproveUserByDeptId(String deptId){
+    public void deleteApproveUserByDeptId(Long deptId){
         approveUserMapper.deleteApproveUserByDeptId(deptId);
     }
     @Override
-    public List<String> findApproveUser(){
+    public void deleteApproveUser(){
+        approveUserMapper.deleteApproveUser();
+    }
+    @Override
+    public List<Long> findApproveUser(){
         return approveUserMapper.findApproveUser();
     }
     @Override
-    public List<String> findApproveUserByDeptId(String deptId){
+    public List<Long> findApproveUserByDeptId(Long deptId){
         return approveUserMapper.findApproveUserByDeptId(deptId);
 
     }

+ 10 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java

@@ -587,4 +587,14 @@ public class SysUserServiceImpl implements ISysUserService
         }
         return rows;
     }
+    /**
+     * 通过部门名称查询用户
+     *
+     * @param deptName 部门名称
+     * @return 用户对象信息
+     */
+    @Override
+    public List<SysUser> selectUserByDeptNameAndDeptName(String deptName,String deptName1){
+        return userMapper.selectUserByDeptNameAndDeptName(deptName,deptName1);
+    }
 }

+ 7 - 8
ruoyi-system/src/main/resources/mapper/system/ApproveUserMapper.xml

@@ -74,21 +74,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			deptId=#{aus.deptId}
 		</foreach>
 	</update>
-	<select id="findApproveUser" resultType="java.lang.String">
+	<select id="findApproveUser" resultType="java.lang.Long">
 		select user_id from approve_user
 	</select>
-	<select id="findApproveUserByDeptId" resultType="java.lang.String">
+	<select id="findApproveUserByDeptId" resultType="java.lang.Long">
 		select user_id from approve_user where dept_id=#{deptId}
 	</select>
-	<select id="deleteApproveUserByUserId" parameterType="String">
+	<select id="deleteApproveUserByUserId" parameterType="Long">
 		delete from approve_user where user_id = #{userId}
 	</select>
-	<select id="deleteApproveUserByDeptId" parameterType="String">
+	<select id="deleteApproveUserByDeptId" parameterType="Long">
 		delete from approve_user where dept_id = #{deptId}
 	</select>
+	<select id="deleteApproveUser" >
+		delete from approve_user
+	</select>
 
-	
-
-
-	
 </mapper> 

+ 10 - 0
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -233,5 +233,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			#{userId}
         </foreach> 
  	</delete>
+
+	<select id="selectUserByDeptNameAndDeptName" parameterType="java.lang.String" resultMap="SysUserResult">
+		SELECT
+			u.*
+		FROM sys_user u
+				 LEFT JOIN sys_dept d ON u.dept_id=d.dept_id
+		WHERE (d.dept_name like concat('%',#{deptName},'%')
+		  or d.dept_name like concat('%',#{deptName1},'%'))
+		  and d.status=0 and d.del_flag=0
+	</select>
 	
 </mapper> 

+ 10 - 1
ruoyi-ui/src/api/project/investigate/pool.js

@@ -78,6 +78,15 @@ export function getMyTaskInvestigateNumber() {
     method: 'get'
   })
 }
+//指定审批人需要的接口-开始
+export function allUserList(query) {
+  return request({
+    url: '/system/approve/allUserList',
+    method: 'get',
+    params: query
+  })
+}
+
 export function findApproveUser() {
   return request({
     url:'/system/approve/findApproveUser',
@@ -92,5 +101,5 @@ export function saveApproveUser(data) {
     data: data
   })
 }
-
+//指定审批人需要的接口-结束
 

+ 22 - 91
ruoyi-ui/src/views/project/investigate/approveDialog.vue

@@ -14,8 +14,8 @@
         :rules="approveRules"
         label-width="170px"
       >
-        <el-form-item label="尽调审核人员" prop="investigatePerson">
-          <el-select v-model="approveForm.investigatePerson" placeholder="全部" style="width: 400px;"
+        <el-form-item label="尽调审核人员" prop="userIds">
+          <el-select v-model="approveForm.userIds" placeholder="全部" style="width: 400px;"
                      clearable
                      multiple
                      filterable
@@ -34,27 +34,17 @@
             />
           </el-select>
         </el-form-item>
-
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button @click="cancelApproveForm">取 消</el-button>
         <el-button type="primary" @click="submitApproveForm(true)" v-preventReClick>提 交</el-button>
       </div>
     </el-dialog>
-    <!--选择人员-->
-    <selecUser
-      ref="flowUser"
-      :checkType="checkType"
-      :selectValues="selectValues"
-      :selectNameValues="selectNameValues"
-      @handleUserSelect="handleUserSelect"
-    ></selecUser>
   </div>
 </template>
 <script>
 
-import {findApproveUser,saveApproveUser} from "@/api/project/investigate/pool";
-import { listUserNew } from "@/api/system/user";
+import {allUserList,findApproveUser,saveApproveUser} from "@/api/project/investigate/pool";
 import projectItem from "./projectItem";
 import fileItem from "../../invest/components/fileItem";
 import selecDept from "../../invest/components/selecDept";
@@ -78,15 +68,15 @@ export default {
       selectValues: null,
       selectNameValues: null,
       userVisible: false,
-      approveList: [],
+      approveList: [],//全部用户列表
       total: null,
       approveDiligenceTit: "",
       approveDiligenceOpen: false,
       approveForm: {
         id: null,
-        userId: null,
+        userId: [],
         loginId: null,
-        investigatePerson:[],
+        userIds:null//下拉框绑定值
       },
       approveRules: {
         investigatePerson: [
@@ -108,80 +98,23 @@ export default {
     },
   },
   mounted() {
-    // this.getList();
-    // 人员
-    listUserNew({
-      pageNum: 1,
-      pageSize: 100,
-    }).then((response) => {
-      this.approveList = response.rows;
-    });
-    this.queryApproveUser();
+    // 页面加载时先查询全部用户,再查询已存在用户并回显
+    this.fetchAllUsers();
   },
   methods: {
-     //展示人员
-    /*handleProjectItem() {
-      this.$refs.projectItem.showProjectItem = true;
-      // 2. 调用子组件的刷新方法,重新加载项目列表
-      // 确保子组件已加载且存在刷新方法
-      if (this.$refs.projectItem && typeof this.$refs.projectItem.refreshProjectList === 'function') {
-        this.$refs.projectItem.refreshProjectList();
-      }
-    },
-    handleSelectPeople() {
-      this.$refs.flowUser.handleUserVisible(true);
-    },*/
-    /*用户选中赋值*/
-   /* checkUserComplete() {
-      this.userVisible = false;
-    },*/
-
-    // 用户选中数据
-    handleUserSelect(selection) {
-      const that = this;
-      if (selection) {
-        if (selection instanceof Array) {
-          const userIds = selection.map((item) => item.userId);
-          const nickName = selection.map((item) => item.nickName);
-          const userName = selection.map((item) => item.userName);
-          const deptId = selection.map((item) => item.deptId);
-          const deptName = selection.map((item) => item.deptName);
-          this.approveForm.investigatePerson = nickName.join(",");
-          this.approveForm.userId = userIds.join(",");
-          this.approveForm.loginId = userName.join(",");
-          this.approveForm.deptId = deptId.join(",");
-          this.approveForm.deptName = deptName.join(",");
-          this.selectNameValues = nickName.join(",");
-          this.selectValues = userIds.join(",");
-        } else {
-          this.approveForm.investigatePerson = selection.nickName;
-          this.approveForm.investigatePersonId = selection.userId;
-          this.selectNameValues = selection.nickName;
-          this.selectValues = selection.userId;
-        }
-        this.$refs.approveForm.clearValidate(["investigatePerson"]);
-      }
+    // 1. 查询全部用户(下拉框选项)
+    async fetchAllUsers() {
+      allUserList().then((response) => {
+        this.approveList = response.rows;
+        // 全部用户加载完成后,再查询已存在的用户
+        this.fetchExistingUsers();
+      })
     },
-    // 查询已设置的背调审批人员
-    queryApproveUser(){
-      this.$nextTick(() => {
-        console.log(this.approveList.length);
-
-          findApproveUser().then((response) => {
-            console.log(this.approveList)
-            const approveIds = Array.from(response.rows).map(userId => Number(userId));
-            console.log("选中值格式:", approveIds);
-            this.approveForm.investigatePerson = approveIds;
-
-            // 关键:数据更新后,等待 DOM 渲染完成,再触发 Chosen 更新
-            /*this.$nextTick(() => {
-          // 通过 $refs 获取元素,触发 chosen:updated 事件
-          $(this.$refs.investigatePerson).trigger("chosen:updated");
-        });*/
-            /*alert(this.approveForm.investigatePerson);
-        console.log(approveIds);*/
-          });
 
+    // 2. 查询已存在的用户(用于回显)
+    async fetchExistingUsers() {
+      findApproveUser().then((response) => {
+        this.approveForm.userIds=response.rows;
       })
     },
     // 设置背调审批人员
@@ -190,6 +123,7 @@ export default {
       this.resetApproveForm();
       this.approveDiligenceTit = "指定审批人员";
       this.approveDiligenceOpen = true;
+      this.fetchAllUsers();
     },
     // 尽调申请-提交
     submitApproveForm(flag) {
@@ -217,11 +151,8 @@ export default {
     resetApproveForm() {
       this.approveForm = {
         id: null,
-        investigateName: null,
-        investigateCode: null,
-        investigatePerson: null,
-        investigatePersonId: null,
-        investigateCost: null,
+        userId: null,
+        deptName:null,
       };
       this.resetForm("approveForm");
     },