Browse Source

时长优化

linjiawei 1 month ago
parent
commit
8af04e0d61

+ 6 - 1
zfjg-api/zfjg-api-manage/src/main/java/com/zfjg/manage/api/dto/enforce/job/EnforcementJobAverageTimeDTO.java

@@ -27,14 +27,19 @@ public class EnforcementJobAverageTimeDTO {
     /**
      * 任务类型(NORMAL-日常检查,SPECIAL-专项,REPORT-举报,TOWNS-乡镇检查,OTHER-其他,REVIEW-复查,BRIGADE-总队督查)OTHER-其他)
      */
-    @Excel(name = "任务类型")
     @ApiModelProperty(value = "任务类型:NORMAL-日常检查,SPECIAL-专项检查,REPORT-举报检查,TOWNS-乡镇检查,OTHER-其他,REVIEW-复查,BRIGADE-总队督查)")
     private String jobType;
 
+    @Excel(name = "任务类型")
+    @ApiModelProperty(value = "任务类型:NORMAL-日常检查,SPECIAL-专项检查,REPORT-举报检查,TOWNS-乡镇检查,OTHER-其他,REVIEW-复查,BRIGADE-总队督查)")
+    private String jobTypeName;
+
     @Excel(name = "检查员")
     @ApiModelProperty(value = "检察员名称,多个人名字用,隔开,顺序和id的顺序一致")
     private String executorNames;
 
+    public String executorIds;
+
     @ApiModelProperty(value = "检查对象")
     private String enforceObjId;
 

+ 3 - 0
zfjg-api/zfjg-api-manage/src/main/java/com/zfjg/manage/api/dto/enforce/job/EnforcementJobProcessQuery.java

@@ -23,6 +23,9 @@ public class EnforcementJobProcessQuery extends PageQuery {
     @ApiModelProperty(value = "任务类型:NORMAL-日常检查,SPECIAL-专项检查,REPORT-举报检查,TOWNS-乡镇检查,OTHER-其他,REVIEW-复查,BRIGADE-总队督查)")
     private String jobType;
 
+    @ApiModelProperty(value = "任务类型:NORMAL-日常检查,SPECIAL-专项检查,REPORT-举报检查,TOWNS-乡镇检查,OTHER-其他,REVIEW-复查,BRIGADE-总队督查)")
+    private String jobTypeName;
+
     @ApiModelProperty(value = "是否关联")
     private Boolean relate;
 

+ 17 - 0
zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/controller/enforce/job/EnforceSuperviseController.java

@@ -214,6 +214,7 @@ public class EnforceSuperviseController {
     @ApiOperation(value = "检查时长列表(分页)")
     @GetMapping("/enforcement/org/average-time")
     public TableInfo<EnforcementJobAverageTimeDTO> selectEnforceJobAverageTime(EnforcementJobProcessQuery query) {
+        getTypeName(query);
         startPage();
         List<EnforcementJobAverageTimeDTO> list = enforceSuperviseMapper.selectEnforceJobAverageTime(query);
         return new TableInfo<>(list);
@@ -223,6 +224,7 @@ public class EnforceSuperviseController {
     @ApiOperation(value = "检查时长列表导出")
     @GetMapping(value = "/enforcement/org/average-time/export")
     public void selectEnforceJobAverageTimeExport(HttpServletResponse response, EnforcementJobProcessQuery query) {
+        getTypeName(query);
         List<EnforcementJobAverageTimeDTO> list = enforceSuperviseMapper.selectEnforceJobAverageTime(query);
         ExcelUtil<EnforcementJobAverageTimeDTO> util = new ExcelUtil<EnforcementJobAverageTimeDTO>(EnforcementJobAverageTimeDTO.class);
         list.forEach(e -> {
@@ -232,5 +234,20 @@ public class EnforceSuperviseController {
         util.exportExcel(response, list, "检查时长列表", "检查时长列表");
     }
 
+    public void getTypeName(EnforcementJobProcessQuery query){
+        if (ObjectUtils.isNotEmpty(query.getJobType())) {
+            switch (query.getJobType()) {
+                case "NORMAL":query.setJobTypeName("日常检查");break;
+                case "SPECIAL":query.setJobTypeName("专项");break;
+                case "REPORT":query.setJobTypeName("举报");break;
+                case "TOWNS":query.setJobTypeName("乡镇检查");break;
+                case "OTHER":query.setJobTypeName("其他");break;
+                case "REVIEW":query.setJobTypeName("复查");break;
+                case "BRIGADE":query.setJobTypeName("总队督查");break;
+                default:break;
+            }
+        }
+    }
+
 
 }

+ 35 - 26
zfjg-modules/zfjg-manage/src/main/resources/mapper/enforce/job/EnforceSuperviseMapper.xml

@@ -113,7 +113,8 @@
                     enforce_job ej
                 WHERE
                     ej.is_deleted = 0 AND ej.job_status = 'ARCHIVED'
-            <if test="pm.enforceOrgId  != null  and pm.enforceOrgId != ''">
+                    AND ej.enforce_org_id not in ('55c99876ec0f425aac6925a92cceeb17','256069491270746112')
+        <if test="pm.enforceOrgId  != null  and pm.enforceOrgId != ''">
                 and ej.enforce_org_id = #{pm.enforceOrgId}
             </if>
             <if test="pm.enforceOrgIds !=null and pm.enforceOrgIds.size>0">
@@ -192,6 +193,7 @@
         ej.is_deleted = 0
         AND ej.job_type in ('REPORT','NORMAL','REVIEW')
         AND ej.time_out = 1
+        AND ej.enforce_org_id not in ('55c99876ec0f425aac6925a92cceeb17','256069491270746112')
         <if test="pm.enforceOrgId  != null  and pm.enforceOrgId != ''">
             and ej.enforce_org_id = #{pm.enforceOrgId}
         </if>
@@ -268,21 +270,22 @@
 
     <select id="selectEnforceJobAverageTime" resultType="com.zfjg.manage.api.dto.enforce.job.EnforcementJobAverageTimeDTO">
         SELECT
-        *,round( ( headCorpsAvgTime / orgAvgTime ) * 100, 2 ) rate
+        *,
+        round( ( headCorpsAvgTime / orgAvgTime ) * 100, 2 ) rate
         FROM
         (
         SELECT
-        ej.id,
-        ej.job_no,
-        ej.job_type,
-        ej.enforce_result,
-        ej.executor_names,
-        ej.finish_time,
-        ej.enforce_obj_id,
-        ej.enforce_obj_name,
-        ej.enforce_org_id,
-        ej.enforce_org_name,
-        round( sum( time_consuming / 1000 / 60 ) / count( * ), 2 ) orgAvgTime,
+        id,
+        任务编号 jobNo,
+        任务类型 jobTypeName,
+        检察员名称 executorNames,
+        检察员ID executorIds,
+        结束执行任务时间 finishTime,
+        检查对象 enforceObjId,
+        检查对象名称 enforceObjName,
+        执法机构id enforceOrgId,
+        执法机构名称 enforceOrgName,
+        round( sum( 检查耗时 / 1000 / 60 ) , 2 ) orgAvgTime,
         round(
         sum(
         (
@@ -292,38 +295,44 @@
         enforce_video C
         WHERE
         c.is_deleted = 0
-        AND c.enfore_job_id = ej.id
+        AND c.enfore_job_id = a.id
         )
-        ) / count( * ) / 60,
+        )  / 60,
         2
         ) headCorpsAvgTime
         FROM
-        enforce_job ej
+        v_rw a
         WHERE
-        ej.is_deleted = 0 AND ej.job_status = 'ARCHIVED' and ej.time_consuming <![CDATA[ <= ]]> 28800000    and  ej.job_type = 'NORMAL'
+        状态 = '已归档'
+        AND 是否删除 = '正常'
+        AND 检查耗时 <![CDATA[ <= ]]> 28800000
+        AND 执法机构id NOT IN ( '55c99876ec0f425aac6925a92cceeb17', '256069491270746112' )
+        AND 任务类型 = '日常检查'
         <if test="pm.enforceOrgId  != null  and pm.enforceOrgId != ''">
-            and ej.enforce_org_id = #{pm.enforceOrgId}
+            and 执法机构id = #{pm.enforceOrgId}
         </if>
         <if test="pm.enforceOrgIds !=null and pm.enforceOrgIds.size>0">
-            and ej.enforce_org_id in
+            and 执法机构id in
             <foreach item="item" index="i" collection="pm.enforceOrgIds" open="(" close=")" separator=",">
                 #{item}
             </foreach>
         </if>
         <if test="pm.executorId  != null  and pm.executorId != ''">
-            and ${pm.executorId} in (ej.executor_ids)
+            and ${pm.executorId} in (检察员ID)
         </if>
-        <if test="pm.jobType  != null  and pm.jobType != ''">
-            and ej.job_type = #{pm.jobType}
+        <if test="pm.jobTypeName  != null  and pm.jobTypeName != ''">
+            and 任务类型 = #{pm.jobTypeName}
         </if>
         <if test="pm.startDate != null and pm.startDate !=''">
-            AND ej.finish_time <![CDATA[ >= ]]> #{pm.startDate}
+            AND 结束执行任务时间 <![CDATA[ >= ]]> #{pm.startDate}
         </if>
         <if test="pm.endDate != null and pm.endDate !=''">
-            AND ej.finish_time <![CDATA[ <= ]]> #{pm.endDate}
+            AND 结束执行任务时间 <![CDATA[ <= ]]> #{pm.endDate}
         </if>
-        group by ej.id
-        ) t order by rate
+        group by id
+        ) t
+        ORDER BY
+        rate,enforceOrgId
     </select>
 
 </mapper>