Forráskód Böngészése

feat(task): 增加任务筛选功能

- 在任务分析中添加了按任务类型筛选的功能- 增加了按部门筛选任务的功能
- 优化了任务查询逻辑,提高了查询效率
wanyuan 3 hónapja
szülő
commit
1e0ed7083f

+ 16 - 1
tc-service/tap-task/src/main/java/com/minto/app/task/dao/TaskAnalysisDaoImpl.java

@@ -138,6 +138,14 @@ public class TaskAnalysisDaoImpl extends BaseDaoImpl implements ITaskAnalysisDao
         sql.append("    ) ");
         sql.append("    AND to_char( T.create_date, 'yyyy' ) = :year ");
         sql.append("    AND T.tstate NOT IN ( - 1, 0, 5, 6, 7 )  ");
+
+        Long gbTaskTypeId = ParameterUtil.getLong(param, "gbTaskTypeId");
+        if(gbTaskTypeId != null){
+            sql.append("    and T.tasktype_id = :gbTaskTypeId ");
+        }
+        if(param.get("gbResIds") != null){
+            sql.append(" and M.resource_id in ( :gbResIds) ");
+        }
         sql.append(" ) T ");
         param.put("jobType",TaskEnum.JobType.Task.getKey());
         List<Map<String, Object>> result = getHibernateTpl().queryBySql(sql.toString(), param);
@@ -499,7 +507,14 @@ public class TaskAnalysisDaoImpl extends BaseDaoImpl implements ITaskAnalysisDao
                     break;
             }
         }
-
+        //类型筛选
+        Long gbTaskTypeId = ParameterUtil.getLong(param, "gbTaskTypeId");
+        if (gbTaskTypeId != null) {
+            sql.append(" and t.tasktype_id = :gbTaskTypeId ");
+        }
+        if(param.get("gbResIds") != null){
+            sql.append(" and M.resource_id in ( :gbResIds) ");
+        }
         sql.append(" GROUP BY M.resource_id,M.resource_type ");
         sql.append(" ORDER BY \"count\" desc ");
         param.put("jobType", TaskEnum.JobType.Task.getKey());

+ 11 - 0
tc-service/tap-task/src/main/java/com/minto/app/task/manager/TaskAnalysisManagerImpl.java

@@ -380,6 +380,17 @@ public class TaskAnalysisManagerImpl implements ITaskAnalysisManager{
         resourceTypes.add(ResourceEnum.ResourceTypeEnum.OrgDepartment.getKey());
         param.put("resourceTypes", resourceTypes);
 
+        Long gbDeptId = ParameterUtil.getLong(param,"gbDeptId");
+        if(gbDeptId!=null){
+            List<Long> gbResIds = new ArrayList<>();
+            gbResIds.add(gbDeptId);
+            List<OrgPersonBean> personBeans = orgManager.findPersonsByDepartmentId(gbDeptId, false);
+            if(CollectionUtil.isNotEmpty(personBeans)){
+                gbResIds.addAll(personBeans.stream().map(e->e.getId()).collect(Collectors.toList()));
+            }
+            param.put("gbResIds",gbResIds);
+        }
+
         //所有承办单位承办总数
         List<Map<String, Object>> allTaskCounts = taskAnalysisDao.countTaskByManager(param);
         if(StringUtil.isNotEmpty(orgName) && CollectionUtil.isEmpty(memberResourceIds)){