Procházet zdrojové kódy

执行人选项目参与人

QuYueTing před 2 dny
rodič
revize
4b54b0e600

+ 13 - 0
fhKeeper/formulahousekeeper/management-platform-mld/src/main/java/com/management/platform/controller/ParticipationController.java

@@ -1,9 +1,13 @@
 package com.management.platform.controller;
 
 
+import com.management.platform.mapper.ParticipationMapper;
+import com.management.platform.util.HttpRespMsg;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.annotation.Resource;
+
 /**
  * <p>
  * 人员参与项目的情况 前端控制器
@@ -16,5 +20,14 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/participation")
 public class ParticipationController {
 
+    @Resource
+    private ParticipationMapper participationMapper;
+
+    @RequestMapping("/getByProjectId")
+    public HttpRespMsg getByProjectId(Integer projectId) {
+        HttpRespMsg msg = new HttpRespMsg();
+        msg.data = participationMapper.getParticipator(projectId);
+        return msg;
+    }
 }
 

+ 13 - 1
fhKeeper/formulahousekeeper/management-platform-mld/src/main/java/com/management/platform/controller/TaskController.java

@@ -1008,7 +1008,19 @@ public class TaskController {
         if (executorList.size() > 0) {
             List<String> exeIds = executorList.stream().map(TaskExecutor::getExecutorId).collect(Collectors.toList());
             //查询包含执行人(即使被停用)和在职的员工
-            userList = userMapper.selectList(new QueryWrapper<User>().select("id, name, phone, job_number, department_id, is_active").eq("company_id", user.getCompanyId()).and(w->w.eq("is_active", 1).or().in("id", exeIds)));
+            if (t.getProjectId() != null) {
+                //获取项目相关的参与人
+                List<Participation> participants = participationMapper.selectList(new QueryWrapper<Participation>().eq("project_id", t.getProjectId()));
+                List<String> collect = participants.stream().map(Participation::getUserId).collect(Collectors.toList());
+                collect.addAll(exeIds);
+                if (collect.size() > 0) {
+                    userList = userMapper.selectList(new QueryWrapper<User>().select("id, name, phone, job_number, department_id, is_active").eq("company_id", user.getCompanyId()).in("id", collect));
+                } else {
+                    userList = new ArrayList<>();
+                }
+            } else {
+                userList = userMapper.selectList(new QueryWrapper<User>().select("id, name, phone, job_number, department_id, is_active").eq("company_id", user.getCompanyId()).eq("is_active", 1));
+            }
         } else {
             //仅仅需要在职员工
             userList = userMapper.selectList(new QueryWrapper<User>().select("id, name, phone, job_number, department_id, is_active").eq("company_id", user.getCompanyId()).eq("is_active", 1));

+ 4 - 1
fhKeeper/formulahousekeeper/timesheet_mld/src/components/taskComponent.vue

@@ -1255,6 +1255,7 @@ export default {
             if(this.showMmeiLaiDe) {
                 this.getProjectManager()
             }
+            this.getUsers();
         } else if(num == 2) {
             this.addForm.stagesId = ''
             this.getTaskList()
@@ -1596,7 +1597,9 @@ export default {
         );
     },
     getUsers() {
-        this.http.post('/user/getSimpleActiveUserList', {},
+        if (!this.addForm.projectId) return;
+        // if (!this.curProjectId && !) return
+        this.http.post('/participation/getByProjectId', {projectId: this.addForm.projectId},
         res => {
             if (res.code == "ok") {
                 this.users = res.data;