Explorar el Código

增加根据类型设置的选项统计案件数量、得分情况的接口

wanyuan hace 7 meses
padre
commit
32f7a796bf

+ 7 - 0
tc-service/tap-task/src/main/java/com/minto/app/task/dao/ITaskAnalysisDao.java

@@ -452,4 +452,11 @@ public interface ITaskAnalysisDao extends BaseDao {
      * @return
      */
     List<Map<String,Object>> findTaskTypes(Long orgAccountId);
+
+    /**
+     * 业绩考核的任务类型设置统计案件数量
+     * @param params
+     * @return
+     */
+    List<Map<String,Object>> findTypeScopeCount(Map<String,Object> params);
 }

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

@@ -19,6 +19,7 @@ import com.minto.core.common.AppContext;
 import com.minto.core.dao.BaseDaoImpl;
 import com.minto.core.ds.enums.DSEnum;
 import com.minto.core.util.CollectionUtil;
+import com.minto.core.util.DateUtil;
 import com.minto.core.util.ParameterUtil;
 import com.minto.core.util.StringUtil;
 import com.minto.tap.performmance.dto.TaskScoreParam;
@@ -2048,4 +2049,29 @@ hql.append("AND EXISTS (\n" +
         param.put("orgAccountId", orgAccountId);
         return getHibernateTpl().queryBySql(sql, param);
     }
+
+    @Override
+    public List<Map<String, Object>> findTypeScopeCount(Map<String, Object> params){
+        StringBuilder sql = new StringBuilder();
+        sql.append(" SELECT te.value AS name, COUNT(1) as count ");
+//        sql.append(" SUM(CASE WHEN typeScore.base_score IS NULL THEN 0 ELSE typeScore.base_score END) AS scope1");
+//        sql.append(" SUM(CASE WHEN typeScore.eval_score IS NULL THEN 0 ELSE typeScore.eval_score END) AS scope2");
+        sql.append(" sum(IFNULL(typeScore.base_score, 0)) AS scope1 ");
+        sql.append(" sum(IFNULL(typeScore.eval_score, 0)) AS scope2 ");
+        sql.append(" sum(IFNULL(typeScore.base_score, 0) + IFNULL(typeScore.eval_score, 0)) AS scope ");
+        sql.append(" FROM ");
+        sql.append(" (SELECT * FROM tip_enum WHERE type IN ( ");
+        sql.append(" SELECT id FROM tip_enum WHERE key = 'matter_type_settings' ");
+        sql.append(" )) te ");
+        sql.append(" LEFT JOIN dm_dtab_basic_extend ddbe ON ddbe.type_setting LIKE CONCAT('%', te.id, '%') ");
+        sql.append(" LEFT JOIN task_summary ts ON ddbe.reference_id = ts.id ");
+        sql.append(" LEFT JOIN type_setting_score typeScore ON typeScore.enum_id = te.id AND typeScore.year = :year ");
+        sql.append(" GROUP BY te.value ");
+        String order = ParameterUtil.getString(params,"order","count");
+        Integer asc = ParameterUtil.getInteger(params,"asc",0);
+        sql.append(" ORDER BY ").append(order).append(asc == 1 ? " ASC " : " DESC ");
+        Map<String, Object> param = new HashMap<>();
+        param.put("year", ParameterUtil.getInteger(params, "year", DateUtil.getYear()));
+        return getHibernateTpl().queryBySql(sql.toString(), param);
+    }
 }

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

@@ -1562,6 +1562,11 @@ public class TaskAnalysisManagerImpl implements ITaskAnalysisManager{
 
     }
 
+    @Override
+    public List<Map<String, Object>> findTypeScopeTaskCountAnalysis(Map<String, Object> param) throws BusinessException{
+        return taskAnalysisDao.findTypeScopeCount(param);
+    }
+
     @Override
     public List<Map<String, Object>> findTaskTypes(Map<String, Object> param){
         OrgPersonBean person = orgManager.findPersonById(AppContext.currentUserId());

+ 2 - 0
tip-api/src/main/java/com/minto/app/task/manager/ITaskAnalysisManager.java

@@ -149,6 +149,8 @@ public interface ITaskAnalysisManager {
      */
     List<Map<String,Object>> findEvaluateAnalysis(Map<String,Object> param) throws BusinessException;
 
+    List<Map<String,Object>> findTypeScopeTaskCountAnalysis(Map<String,Object> param) throws BusinessException;
+
     List<Map<String, Object>> findTaskTypes(Map<String, Object> param);
 
     List<Map<String, Object>> findMatterTypeSettings(Map<String, Object> param);

+ 8 - 0
tip-front/src/main/java/com/minto/app/task/service/TaskAnalysisWebService.java

@@ -73,6 +73,14 @@ public interface TaskAnalysisWebService {
      */
     List<Map<String,Object>> findEvaluateAnalysis(Map<String,Object> param) throws BusinessException;
 
+    /**
+     * @author inspired zhaoq
+     * @param
+     * @describe 类型设置统计报表
+     * @createTime 2023/9/14 08:51
+     */
+    List<Map<String,Object>> findTypeScopeTaskCountAnalysis(Map<String,Object> param) throws BusinessException;
+
 
     /**
      * 考核评价统计页面获取当前系统的任务类型

+ 5 - 0
tip-front/src/main/java/com/minto/app/task/service/impl/TaskAnalysisWebServiceImpl.java

@@ -69,6 +69,11 @@ public class TaskAnalysisWebServiceImpl implements TaskAnalysisWebService {
         return taskAnalysisManager.findEvaluateAnalysis(param);
     }
 
+    @Override
+    public List<Map<String, Object>> findTypeScopeTaskCountAnalysis(Map<String, Object> param) throws BusinessException{
+        return taskAnalysisManager.findTypeScopeTaskCountAnalysis(param);
+    }
+
     @AjaxSupport
     @Override
     public List<Map<String,Object>> findTaskTypes(Map<String, Object> param) throws BusinessException {