Selaa lähdekoodia

部门关联的岗位信息

buzhanyi 1 vuosi sitten
vanhempi
commit
1ed8d08dd6

+ 49 - 0
application-webadmin/src/main/java/com/ankaibei/workFlow/webadmin/ankaibei/enums/TaskPriority.java

@@ -0,0 +1,49 @@
+package com.ankaibei.workFlow.webadmin.ankaibei.enums;
+
+public enum TaskPriority {
+
+    NORMAL("1", "正常"),
+    FIRST("2", "优先"),
+    ;
+
+    /**
+     * 状态码
+     */
+    private final String code;
+    /**
+     * 信息
+     */
+    private final String reason;
+
+    /**
+     * 666666
+     */
+    TaskPriority(String code, String reason) {
+        this.code = code;
+        this.reason = reason;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public String getReason() {
+        return reason;
+    }
+
+    /**
+     * 通过枚举的code,查询对应的枚举项
+     *
+     * @param code
+     * @return
+     */
+    public static TaskPriority getEnumByCode(String code) {
+        TaskPriority[] values = TaskPriority.values();
+        for (TaskPriority statusEnums : values) {
+            if (statusEnums.getCode().equals(code)) {
+                return statusEnums;
+            }
+        }
+        return null;
+    }
+}

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 6 - 2
application-webadmin/src/main/java/com/ankaibei/workFlow/webadmin/ankaibei/mapper/ProjectInfoMapper.java


+ 0 - 5
application-webadmin/src/main/java/com/ankaibei/workFlow/webadmin/ankaibei/service/impl/ApplyForCostServiceImpl.java

@@ -284,8 +284,6 @@ public class ApplyForCostServiceImpl implements ApplyForCostService {
         costInfoEntity.setProjectName(trafficExpenseVo.getProjectName());
         costInfoEntity.setPerformAmount(trafficExpenseVo.getTotalMoney());
         costInfoEntity.setProposer(trafficExpenseVo.getApplicant());
-        costInfoEntity.setHappenDate(trafficExpenseVo.getSubject().get(0).getBeginTime());
-        costInfoEntity.setPaymentDate(trafficExpenseVo.getSubject().get(0).getEndTime());
         costInfoEntity.setApplyCostId(save.getId());
         costInfoEntity.setProcessInstanceId(map.get("processInstanceId"));
         costInfoEntity.setProcessDefinitionId(map.get("processDefinitionId"));
@@ -344,7 +342,6 @@ public class ApplyForCostServiceImpl implements ApplyForCostService {
         costInfoEntity.setPerformAmount(repastExpenseVo.getTotalMoney());
         costInfoEntity.setProposer(repastExpenseVo.getApplicant());
         costInfoEntity.setApplyCostId(save.getId());
-        costInfoEntity.setHappenDate(repastExpenseVo.getSubject().get(0).getEatDate());
         costInfoEntity.setProcessInstanceId(map.get("processInstanceId"));
         costInfoEntity.setProcessDefinitionId(map.get("processDefinitionId"));
         costInfoEntity.setFlowTaskStatus(FlowTaskStatus.SUBMITTED);
@@ -423,8 +420,6 @@ public class ApplyForCostServiceImpl implements ApplyForCostService {
         costInfoEntity.setPerformAmount(travelExpenseVo.getTotalMoney());
         costInfoEntity.setProposer(travelExpenseVo.getApplicant());
         costInfoEntity.setApplyCostId(save.getId());
-        costInfoEntity.setHappenDate(travelExpenseVo.getBeginTime());
-        costInfoEntity.setPaymentDate(travelExpenseVo.getEndTime());
         costInfoEntity.setProcessInstanceId(map.get("processInstanceId"));
         costInfoEntity.setProcessDefinitionId(map.get("processDefinitionId"));
         costInfoEntity.setFlowTaskStatus(FlowTaskStatus.SUBMITTED);

+ 46 - 13
application-webadmin/src/main/java/com/ankaibei/workFlow/webadmin/ankaibei/service/impl/TaskInfoServiceImpl.java

@@ -14,6 +14,7 @@ import com.ankaibei.workFlow.webadmin.ankaibei.entity.ProjectInfoEntity;
 import com.ankaibei.workFlow.webadmin.ankaibei.entity.TaskInfoEntity;
 import com.ankaibei.workFlow.webadmin.ankaibei.entity.UserInfoEntity;
 import com.ankaibei.workFlow.webadmin.ankaibei.enums.CodeEnum;
+import com.ankaibei.workFlow.webadmin.ankaibei.enums.TaskPriority;
 import com.ankaibei.workFlow.webadmin.ankaibei.mapper.ProjectInfoMapper;
 import com.ankaibei.workFlow.webadmin.ankaibei.mapper.TaskInfoMapper;
 import com.ankaibei.workFlow.webadmin.ankaibei.mapper.UserInfoMapper;
@@ -21,6 +22,7 @@ import com.ankaibei.workFlow.webadmin.ankaibei.service.TaskInfoService;
 import com.ankaibei.workFlow.webadmin.ankaibei.utils.FlowTaskStart;
 import com.ankaibei.workFlow.webadmin.ankaibei.vo.ResMsg;
 import com.ankaibei.workFlow.webadmin.ankaibei.vo.TaskInfoVo;
+import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
@@ -30,6 +32,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @author lwq
@@ -53,24 +56,54 @@ public class TaskInfoServiceImpl implements TaskInfoService {
     public ResMsg findTaskInfo(Integer pageIndex, Integer pageSize, TaskInfoEntity taskInfoEntity) {
         Pageable page = PageRequest.of(pageIndex - 1, pageSize);
         Page<Map<String, String>> all = taskInfoMapper.findTaskInfo(taskInfoEntity.getTargetTask(), taskInfoEntity.getTaskStatus(), page);
-        return new ResMsg(CodeEnum.OK, ResMsg.getMap(all.map(map -> {
-            Map<Object, Object> map1 = new HashMap<>();
-            map1.putAll(map);
-            String projectId = map.get("projectId");
-            Optional<ProjectInfoEntity> byId = projectInfoMapper.findById(Integer.valueOf(projectId));
-            map1.put("projectId", byId.orElse(null) != null ? byId.orElse(null).getProjectName() : null);
-            String taskParticipant = map.get("taskParticipant");
-            String[] split = taskParticipant.split(",");
-            List<String> list = new ArrayList<>();
-            for (String userId : split) {
-                list.add(String.valueOf(userId));
-            }
+        //先将项目信息全部查出,再根据项目ID匹配项目名称
+        ArrayList<Integer> projectIds = new ArrayList<>();
+        ArrayList<String> participants = new ArrayList<>();
+        for (Map<String, String> map : all.toList()) {
+            projectIds.add(Integer.valueOf(map.get("projectId")));
+            participants.add(map.get("taskParticipant"));
+        }
+        List<ProjectInfoEntity> allById = projectInfoMapper.findAllById(projectIds);
+        //先将用户信息全部查出,再根据项目ID匹配项目名称
+        HashMap<String, String> userMap = new HashMap<>();
+        for (String s : participants) {
+            String[] split = s.split(",");
+            List<String> list = Arrays.stream(split).collect(Collectors.toList());
             List<UserInfoEntity> allByUserId = userInfoMapper.findAllByUserId(list);
             StringBuffer str = new StringBuffer();
             for (UserInfoEntity name : allByUserId) {
                 str.append(name.getShowName()).append(",");
             }
-            map1.put("taskParticipant", str.toString());
+            userMap.put(s, str.toString());
+        }
+
+        return new ResMsg(CodeEnum.OK, ResMsg.getMap(all.map(map -> {
+            String projectId = map.get("projectId");
+            Map<Object, Object> map1 = new HashMap<>();
+            map1.putAll(map);
+
+            if (ObjectUtils.isNotEmpty(allById)) {
+                for (ProjectInfoEntity infoEntity : allById) {
+                    if (projectId.equals(infoEntity.getProjectId() + "")) {
+                        map1.put("projectId", infoEntity.getProjectId());
+                        map1.put("projectName", infoEntity.getProjectName());
+                        continue;
+                    }
+                }
+            }
+
+            String taskParticipant = map.get("taskParticipant");
+            if (ObjectUtils.isNotEmpty(userMap)) {
+                userMap.entrySet().stream()
+                        .forEach(entry -> {
+                            if (taskParticipant.equals(entry.getKey())) {
+                                map1.put("taskParticipant", entry.getValue());
+                                return;
+                            }
+                        });
+            }
+
+            map1.put("taskPriority", TaskPriority.getEnumByCode(map.get("taskPriority")));
             return map1;
         }).getContent(), all.getTotalElements()));
     }

+ 0 - 3
application-webadmin/src/main/java/com/ankaibei/workFlow/webadmin/upms/controller/SysDeptController.java

@@ -250,10 +250,7 @@ public class SysDeptController {
     /**
      * 列出与指定部门管理存在多对多关系的 [岗位管理] 列表数据。
      *
-     * @param deptId           主表关联字段。
      * @param sysPostDtoFilter [岗位管理] 过滤对象。
-     * @param orderParam       排序参数。
-     * @param pageParam        分页参数。
      * @return 应答结果对象,返回符合条件的数据列表。
      */
     @PostMapping("/listSysDeptPost")