1
0

5 Revīzijas 0b4cd90eff ... 050878ee2c

Autors SHA1 Ziņojums Datums
  linjiawei 050878ee2c bug fix 1 mēnesi atpakaļ
  linjiawei 27b9998b55 bug fix 1 mēnesi atpakaļ
  linjiawei b8362b2f16 bug fix 1 mēnesi atpakaļ
  linjiawei af6c0e8886 bug fix 1 mēnesi atpakaļ
  linjiawei f37d358e26 bug fix 1 mēnesi atpakaļ

+ 2 - 2
zfjg-api/zfjg-api-manage/src/main/java/com/zfjg/manage/api/dto/enforce/job/EnforceOrgAverageTimeDto.java

@@ -18,8 +18,8 @@ public class EnforceOrgAverageTimeDto {
     @ApiModelProperty("支队平均时长")
     private String orgAvgTime;
 
-    @Excel(name = "总队平均时长")
-    @ApiModelProperty("总队平均时长")
+    @Excel(name = "视频时长")
+    @ApiModelProperty("视频时长")
     private String headCorpsAvgTime;
 
     @ApiModelProperty("视频时长与检查终端时长的比值")

+ 11 - 5
zfjg-api/zfjg-api-manage/src/main/java/com/zfjg/manage/api/dto/enforce/job/EnforceOrgTimeoutDto.java

@@ -17,17 +17,23 @@ public class EnforceOrgTimeoutDto {
 
     @Excel(name = "双随机超期数")
     @ApiModelProperty("双随机超期数")
-    private Integer normalCount;
+    private Integer normalCount=0;
 
     @Excel(name = "复查超期数")
     @ApiModelProperty("复查超期数")
-    private Integer reviewCount;
+    private Integer reviewCount=0;
 
     @Excel(name = "举报投诉超期数")
-    @ApiModelProperty("举报投诉超期")
-    private Integer reportCount;
+    @ApiModelProperty("举报投诉超期")
+    private Integer reportCount=0;
 
     @Excel(name = "超期总数")
     @ApiModelProperty("超期总数")
-    private Integer allCount;
+    private Integer allCount=0;
+
+    @ApiModelProperty("任务类型")
+    private String jobType;
+
+    @ApiModelProperty("任务数量")
+    private Integer jobCount=0;
 }

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

@@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.List;
+
 @Data
 @ApiModel("高楼码查询建筑的查询条件")
 public class EnforcementJobProcessQuery extends PageQuery {
@@ -12,6 +14,9 @@ public class EnforcementJobProcessQuery extends PageQuery {
     @ApiModelProperty(value = "执法机构ID")
     private String enforceOrgId;
 
+    @ApiModelProperty(value = "执法机构ID")
+    private List<String> enforceOrgIds;
+
     @ApiModelProperty(value = "检察员id")
     private String executorId;
 

+ 19 - 0
zfjg-api/zfjg-api-manage/src/main/java/com/zfjg/manage/api/dto/enforce/job/EnforcementOrgInfo.java

@@ -0,0 +1,19 @@
+package com.zfjg.manage.api.dto.enforce.job;
+
+
+import com.zfjg.common.core.annotation.Excel;
+import com.zfjg.common.core.utils.StringUtils;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(description = "机构信息")
+public class EnforcementOrgInfo {
+    @ApiModelProperty("机构id")
+    private String orgId;
+
+    @ApiModelProperty("机构名称")
+    private String orgName;
+
+}

+ 3 - 1
zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/controller/enforce/job/EnforceEvaluateController.java

@@ -16,6 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.List;
 
 import static com.zfjg.common.core.utils.PageUtils.startPage;
@@ -34,7 +35,8 @@ class EnforceEvaluateController {
     @ApiOperation(value="查询执法考评列表(不分页)")
     @GetMapping("/evaluate/list")
     public R<List<EnforceEvaluateDTO>> getList(EnforceEvaluateQuery query) {
-        List<EnforceEvaluateDTO> list = enforceDeductRecordService.selectEvaluateList(query);
+//        List<EnforceEvaluateDTO> list = enforceDeductRecordService.selectEvaluateList(query);
+        List<EnforceEvaluateDTO> list = new ArrayList<>();
         return R.ok(list);
     }
 

+ 47 - 20
zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/controller/enforce/job/EnforceSuperviseController.java

@@ -1,6 +1,7 @@
 package com.zfjg.manage.controller.enforce.job;
 
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.zfjg.common.core.domain.R;
 import com.zfjg.common.core.utils.poi.ExcelUtil;
@@ -14,7 +15,8 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
 
 import static com.zfjg.common.core.utils.PageUtils.startPage;
 
@@ -44,11 +46,11 @@ public class EnforceSuperviseController {
     @GetMapping(value = "/enforcement/process/export")
     public void selectEnforcementProcessExport(HttpServletResponse response, EnforcementJobProcessQuery query) {
         List<EnforcementOrgProcess> enforcementProcess = enforceSuperviseMapper.selectEnforcementProcess(query);
-        if(com.zfjg.common.core.utils.StringUtils.isEmpty(enforcementProcess)){
+        if (com.zfjg.common.core.utils.StringUtils.isEmpty(enforcementProcess)) {
             return;
         }
         ExcelUtil<EnforcementOrgProcess> util = new ExcelUtil<EnforcementOrgProcess>(EnforcementOrgProcess.class);
-        enforcementProcess.forEach(e->{
+        enforcementProcess.forEach(e -> {
             e.setRelationRatePercent(e.getRelationRatePercent());
         });
         util.exportExcel(response, enforcementProcess, "执法全过程记录", "执法全过程记录");
@@ -67,10 +69,10 @@ public class EnforceSuperviseController {
     public void getEnforcementJobProcessListExport(HttpServletResponse response, EnforcementJobProcessQuery query) {
         startPage();
         List<EnforcementJobProcessDTO> list = enforceSuperviseMapper.getEnforcementJobProcessList(query);
-        if(com.zfjg.common.core.utils.StringUtils.isEmpty(list)){
+        if (com.zfjg.common.core.utils.StringUtils.isEmpty(list)) {
             return;
         }
-        list.forEach(e->{
+        list.forEach(e -> {
             e.setRelate(e.getRelate());
         });
         ExcelUtil<EnforcementJobProcessDTO> util = new ExcelUtil<EnforcementJobProcessDTO>(EnforcementJobProcessDTO.class);
@@ -90,10 +92,10 @@ public class EnforceSuperviseController {
     public void getEnforcementJobTimeOutListExport(HttpServletResponse response, EnforcementJobProcessQuery query) {
         startPage();
         List<EnforceJobTimeoutDto> list = enforceSuperviseMapper.getEnforcementJobTimeOutList(query);
-        if(com.zfjg.common.core.utils.StringUtils.isEmpty(list)){
+        if (com.zfjg.common.core.utils.StringUtils.isEmpty(list)) {
             return;
         }
-        list.forEach(e->{
+        list.forEach(e -> {
             e.setEnforceResultName(e.getEnforceResultName());
             e.setJobTypeName(e.getJobTypeName());
         });
@@ -105,15 +107,41 @@ public class EnforceSuperviseController {
     @ApiOperation(value = "检查超期")
     @GetMapping("/enforcement/timeout")
     public R<List<EnforceOrgTimeoutDto>> selectEnforceTimeout(EnforcementJobProcessQuery query) {
+        List<EnforcementOrgInfo> orglist = enforceSuperviseMapper.selectOrgInfoList(query.getEnforceOrgId(),query.getEnforceOrgIds());
+        Map<String, String> orgmap = orglist.stream() .collect(Collectors.toMap( EnforcementOrgInfo::getOrgId, EnforcementOrgInfo::getOrgName));
+        List<EnforceOrgTimeoutDto> enforceOrgTimeoutDtos = new ArrayList<>();
         List<EnforceOrgTimeoutDto> enforceTimeouts = enforceSuperviseMapper.selectEnforceTimeout(query);
-        return R.ok(enforceTimeouts);
+        Map<String, List<EnforceOrgTimeoutDto>> map = enforceTimeouts.stream().collect(Collectors.groupingBy(EnforceOrgTimeoutDto::getOrgId));
+        orglist.forEach(e -> {
+            List<EnforceOrgTimeoutDto> list = map.get(e.getOrgId());
+            if (ObjectUtils.isNotEmpty(list)) {
+                EnforceOrgTimeoutDto dto = new EnforceOrgTimeoutDto();
+                list.forEach(l -> {
+                    if (Objects.equals("复查", l.getJobType())) {
+                        dto.setReviewCount(l.getJobCount());
+                    }
+                    if (Objects.equals("举报", l.getJobType())) {
+                        dto.setReportCount(l.getJobCount());
+                    }
+                    if (Objects.equals("日常检查", l.getJobType())) {
+                        dto.setNormalCount(l.getJobCount());
+                    }
+                    dto.setOrgId(l.getOrgId());
+                    dto.setAllCount(l.getReviewCount()+l.getReportCount()+ l.getNormalCount());
+                    dto.setOrgName(orgmap.get(l.getOrgId()));
+                    enforceOrgTimeoutDtos.add(dto);
+                });
+            }
+        });
+        enforceOrgTimeoutDtos.sort(Comparator.comparing(EnforceOrgTimeoutDto::getAllCount).thenComparing(EnforceOrgTimeoutDto::getOrgId));
+        return R.ok(enforceOrgTimeoutDtos);
     }
 
     @ApiOperation(value = "检查超期导出")
     @GetMapping(value = "/enforcement/timeout/export")
     public void selectEnforceTimeoutExport(HttpServletResponse response, EnforcementJobProcessQuery query) {
         List<EnforceOrgTimeoutDto> enforceTimeouts = enforceSuperviseMapper.selectEnforceTimeout(query);
-        if(com.zfjg.common.core.utils.StringUtils.isEmpty(enforceTimeouts)){
+        if (com.zfjg.common.core.utils.StringUtils.isEmpty(enforceTimeouts)) {
             return;
         }
         ExcelUtil<EnforceOrgTimeoutDto> util = new ExcelUtil<EnforceOrgTimeoutDto>(EnforceOrgTimeoutDto.class);
@@ -141,11 +169,11 @@ public class EnforceSuperviseController {
             }
         }
         if (CollectionUtils.isNotEmpty(enforceAverageTimes)) {
-            enforceAverageTimeDto.setOrgAvgTime(String.format("%.2f", orgAvgTime/enforceAverageTimes.size()));
-            enforceAverageTimeDto.setHeadCorpsAvgTime(String.format("%.2f", headCorpsAvgTime/enforceAverageTimes.size()));
-            enforceAverageTimeDto.setRate(String.format("%.2f", rate/enforceAverageTimes.size()));
+            enforceAverageTimeDto.setOrgAvgTime(String.format("%.2f", orgAvgTime / enforceAverageTimes.size()));
+            enforceAverageTimeDto.setHeadCorpsAvgTime(String.format("%.2f", headCorpsAvgTime / enforceAverageTimes.size()));
+            enforceAverageTimeDto.setRate(String.format("%.2f", rate / enforceAverageTimes.size()));
         }
-        enforceAverageTimes.add(0,enforceAverageTimeDto);
+        enforceAverageTimes.add(0, enforceAverageTimeDto);
         return R.ok(enforceAverageTimes);
     }
 
@@ -170,13 +198,13 @@ public class EnforceSuperviseController {
             }
         }
         if (CollectionUtils.isNotEmpty(enforceAverageTimes)) {
-            enforceAverageTimeDto.setOrgAvgTime(String.format("%.2f", orgAvgTime/enforceAverageTimes.size()));
-            enforceAverageTimeDto.setHeadCorpsAvgTime(String.format("%.2f", headCorpsAvgTime/enforceAverageTimes.size()));
-            enforceAverageTimeDto.setRate(String.format("%.2f", rate/enforceAverageTimes.size()));
+            enforceAverageTimeDto.setOrgAvgTime(String.format("%.2f", orgAvgTime / enforceAverageTimes.size()));
+            enforceAverageTimeDto.setHeadCorpsAvgTime(String.format("%.2f", headCorpsAvgTime / enforceAverageTimes.size()));
+            enforceAverageTimeDto.setRate(String.format("%.2f", rate / enforceAverageTimes.size()));
         }
-        enforceAverageTimes.add(0,enforceAverageTimeDto);
+        enforceAverageTimes.add(0, enforceAverageTimeDto);
 
-        enforceAverageTimes.forEach(e->{
+        enforceAverageTimes.forEach(e -> {
             e.setRatePercent(e.getRatePercent());
         });
 
@@ -185,7 +213,6 @@ public class EnforceSuperviseController {
     }
 
 
-
     @ApiOperation(value = "检查时长列表(分页)")
     @GetMapping("/enforcement/org/average-time")
     public TableInfo<EnforcementJobAverageTimeDTO> selectEnforceJobAverageTime(EnforcementJobProcessQuery query) {
@@ -201,7 +228,7 @@ public class EnforceSuperviseController {
         startPage();
         List<EnforcementJobAverageTimeDTO> list = enforceSuperviseMapper.selectEnforceJobAverageTime(query);
         ExcelUtil<EnforcementJobAverageTimeDTO> util = new ExcelUtil<EnforcementJobAverageTimeDTO>(EnforcementJobAverageTimeDTO.class);
-        list.forEach(e->{
+        list.forEach(e -> {
             e.setRatePercent(e.getRatePercent());
         });
 

+ 5 - 2
zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/mapper/enforce/job/EnforceSuperviseMapper.java

@@ -14,15 +14,18 @@ import java.util.List;
  */
 @Mapper
 public interface EnforceSuperviseMapper {
+    List<EnforcementOrgInfo> selectOrgInfoList(@Param("enforceOrgId")String enforceOrgId,@Param("enforceOrgIds")List<String> enforceOrgIds);
 
     List<EnforcementOrgProcess> selectEnforcementProcess(@Param("pm") EnforcementJobProcessQuery query);
 
     List<EnforceOrgTimeoutDto>  selectEnforceTimeout(@Param("pm") EnforcementJobProcessQuery query);
 
-    List<EnforceJobTimeoutDto> getEnforcementJobTimeOutList(@Param("pm")EnforcementJobProcessQuery query);
-
     List<EnforceOrgAverageTimeDto> selectEnforceAverageTime(@Param("pm")EnforcementJobProcessQuery query);
 
+
+
+    List<EnforceJobTimeoutDto> getEnforcementJobTimeOutList(@Param("pm")EnforcementJobProcessQuery query);
+
     List<EnforcementJobProcessDTO> getEnforcementJobProcessList(@Param("pm")EnforcementJobProcessQuery query);
 
     List<EnforcementJobAverageTimeDTO> selectEnforceJobAverageTime(@Param("pm")EnforcementJobProcessQuery query);

+ 11 - 18
zfjg-modules/zfjg-manage/src/main/resources/mapper/enforce/job/EnforceDeductRecordMapper.xml

@@ -35,28 +35,21 @@
     <select id="selectEvaluateList" resultType="com.zfjg.manage.api.dto.enforce.job.EnforceEvaluateDTO">
         select  enforce_org_id,enforce_org_name,(
             SELECT
-            count( 1 )
+            COUNT( 1 )
             FROM
             enforce_job ej
+            LEFT JOIN enforce_video ev ON ej.id = ev.enfore_job_id
+            AND ev.is_deleted = 0
             WHERE
-            ej.is_deleted = '0'
-            AND ej.job_status = 'ARCHIVED'
-            AND ej.enforce_org_id = eo.enforce_org_id
-            AND ej.id NOT IN (
-            SELECT
-            ev.enfore_job_id
-            FROM
-            enforce_video ev
-            WHERE
-            is_deleted = 0
-            AND ev.enfore_job_id IS NOT NULL
-            AND ev.enforce_org_id = eo.enforce_org_id
-            )
+            ej.enforce_org_id = eo.enforce_org_id
+            and ej.job_status = 'ARCHIVED'
+            AND ej.is_deleted = '0'
+            AND ev.enfore_job_id IS NULL;
             <if test="pm.startDate != null and pm.startDate !=''">
-                AND finish_time <![CDATA[ >= ]]> #{pm.startDate}
+                AND ej.finish_time <![CDATA[ >= ]]> #{pm.startDate}
             </if>
             <if test="pm.endDate != null and pm.endDate !=''">
-                AND finish_time <![CDATA[ <= ]]> #{pm.endDate}
+                AND ej.finish_time <![CDATA[ <= ]]> #{pm.endDate}
             </if>
          ) noProcessCount,
         (
@@ -66,8 +59,8 @@
             enforce_job a
             WHERE
             a.enforce_org_id = eo.enforce_org_id
-            AND job_type in ('REVIEW','NORMAL','REPORT')
             AND time_out = 1
+            AND job_type in ('REVIEW','NORMAL','REPORT')
             AND a.is_deleted = 0
             <if test="pm.startDate != null and pm.startDate !=''">
                 AND a.last_enforce_date <![CDATA[ >= ]]> #{pm.startDate}
@@ -107,7 +100,7 @@
         </if>
         ) deductScore
         from enforce_organize eo
-        where eo.enforce_org_id != '55c99876ec0f425aac6925a92cceeb17'
+        where eo.enforce_org_id  not in ('55c99876ec0f425aac6925a92cceeb17','256069491270746112')
         <if test="pm.enforceOrgId  != null  and pm.enforceOrgId != ''">
             and eo.enforce_org_id = #{pm.enforceOrgId}
         </if>

+ 148 - 153
zfjg-modules/zfjg-manage/src/main/resources/mapper/enforce/job/EnforceSuperviseMapper.xml

@@ -4,11 +4,11 @@
 
 
     <resultMap id="EnforcementProcessResultMap" type="com.zfjg.manage.api.dto.enforce.job.EnforcementOrgProcess">
-        <id property="orgId" column="orgId"/>
-        <result property="orgName" column="orgName"/>
-        <result property="checkNumber" column="checkNumber"/>
-        <result property="relationNumber" column="relationNumber"/>
-        <result property="relationRate" column="relationRate"/>
+        <id property="orgId" column="执法机构id"/>
+        <result property="orgName" column="执法机构"/>
+        <result property="checkNumber" column="检查数量"/>
+        <result property="relationNumber" column="关联数"/>
+        <result property="relationRate" column="关联率"/>
     </resultMap>
 
     <resultMap id="EnforceTimeoutDtoResultMap" type="com.zfjg.manage.api.dto.enforce.job.EnforceOrgTimeoutDto">
@@ -22,47 +22,74 @@
 
 
     <resultMap id="EnforceAverageTimeDtoResultMap" type="com.zfjg.manage.api.dto.enforce.job.EnforceOrgAverageTimeDto">
-        <id property="orgId" column="orgId"/>
-        <result property="orgName" column="orgName"/>
-        <result property="orgAvgTime" column="orgAvgTime"/>
-        <result property="headCorpsAvgTime" column="headCorpsAvgTime"/>
+        <id property="orgId" column="执法机构id"/>
+        <result property="orgName" column="执法机构"/>
+        <result property="orgAvgTime" column="支队平均时长"/>
+        <result property="headCorpsAvgTime" column="视频时长"/>
         <result property="rate" column="rate"/>
     </resultMap>
 
-    <select id="selectEnforcementProcess" resultMap="EnforcementProcessResultMap">
+    <select id="selectOrgInfoList" resultType="com.zfjg.manage.api.dto.enforce.job.EnforcementOrgInfo">
         SELECT
             enforce_org_id orgId,
-            enforce_org_name orgName,
-            count( * ) checkNumber,
-            sum( relationNumber ) relationNumber,
-            round( sum( relationNumber ) / count( * ) * 100, 2 ) relationRate
+            enforce_org_name orgName
         FROM
-            (
-                SELECT
-                    a.ID,
-                    a.enforce_org_id,
-                    a.enforce_org_name,
-                    (CASE WHEN ( SELECT count( * ) FROM enforce_video C WHERE c.is_deleted = 0 AND c.enfore_job_id = a.id ) <![CDATA[ > ]]> 0
-                     THEN '1' ELSE '0' END ) relationNumber
-                FROM
-                    enforce_job a
-                WHERE
-                    a.is_deleted = '0'
-                  AND a.enforce_org_id != '55c99876ec0f425aac6925a92cceeb17'
-	             AND job_status = 'ARCHIVED'
-                <if test="pm.enforceOrgId  != null  and pm.enforceOrgId != ''">
-                    and a.enforce_org_id = #{pm.enforceOrgId}
-                </if>
-                <if test="pm.startDate != null and pm.startDate !=''">
-                    AND a.finish_time <![CDATA[ >= ]]> #{pm.startDate}
-                </if>
-                <if test="pm.endDate != null and pm.endDate !=''">
-                    AND a.finish_time <![CDATA[ <= ]]> #{pm.endDate}
-                </if>
-            ) r
+            enforce_organize
+        WHERE
+                enforce_org_id NOT IN ( '55c99876ec0f425aac6925a92cceeb17', '256069491270746112' )
+            <if test="enforceOrgId  != null  and enforceOrgId != ''">
+                and enforce_org_id = #{enforceOrgId}
+            </if>
+            <if test="enforceOrgIds !=null and enforceOrgIds.size>0">
+                and enforce_org_id in
+                <foreach item="item" index="i" collection="enforceOrgIds" open="(" close=")" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+    </select>
+    <select id="selectEnforcementProcess" resultMap="EnforcementProcessResultMap">
+        SELECT
+        执法机构id,
+        ( SELECT enforce_org_name FROM enforce_organize WHERE enforce_org_id = 执法机构id ) 执法机构,
+        count( * ) 检查数量,
+        sum( 关联数 ) 关联数,
+        round( sum( 关联数 ) / count( * ) * 100, 2 ) 关联率
+        FROM
+        (
+        SELECT
+        执法机构id,
+        a.ID,
+        a.`检查对象名称`,
+        (
+        CASE
+        WHEN ( SELECT count( * ) FROM enforce_video C WHERE c.is_deleted = 0 AND c.enfore_job_id = a.id ) > 0 THEN
+        '1' ELSE '0'
+        END
+        ) 关联数
+        FROM
+        v_rw a
+        WHERE 是否删除 = '正常'
+        AND 执法机构id not in ('55c99876ec0f425aac6925a92cceeb17','256069491270746112')
+        <if test="pm.enforceOrgId  != null  and pm.enforceOrgId != ''">
+            and 执法机构id = #{pm.enforceOrgId}
+        </if>
+        <if test="pm.enforceOrgIds !=null and pm.enforceOrgIds.size>0">
+            and 执法机构id in
+            <foreach item="item" index="i" collection="pm.enforceOrgIds" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="pm.startDate != null and pm.startDate !=''">
+            AND 检查期限 <![CDATA[ >= ]]> #{pm.startDate}
+        </if>
+        <if test="pm.endDate != null and pm.endDate !=''">
+            AND 检查期限 <![CDATA[ <= ]]> #{pm.endDate}
+        </if>
+        AND 状态 = '已归档'
+        ) r
         GROUP BY
-            enforce_org_id
-        order by relationRate,enforce_org_id
+        执法机构id
+        order by 关联率,执法机构id
     </select>
 
     <select id="getEnforcementJobProcessList" resultType="com.zfjg.manage.api.dto.enforce.job.EnforcementJobProcessDTO">
@@ -89,6 +116,12 @@
             <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">
+                and ej.enforce_org_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)
             </if>
@@ -111,79 +144,28 @@
         order by t.videoNum,finish_time desc
     </select>
 
-    <select id="selectEnforceTimeout" resultMap="EnforceTimeoutDtoResultMap">
-        SELECT
-            *,
-            ( normalCount + reviewCount + reportCount ) AS allCount
+    <select id="selectEnforceTimeout" resultType="com.zfjg.manage.api.dto.enforce.job.EnforceOrgTimeoutDto">
+        SELECT 执法机构id orgId,任务类型 jobType,
+        count( * ) jobCount
         FROM
-            (
-                SELECT
-                    eo.id,
-                    eo.enforce_org_id orgId,
-                    eo.enforce_org_name orgName,
-                    (
-                        SELECT
-                            count( 1 )
-                        FROM
-                            enforce_job a
-                        WHERE
-                            a.enforce_org_id = eo.enforce_org_id
-                          AND job_type = 'NORMAL'
-                          AND time_out = 1
-                          AND a.is_deleted = 0
-                        <if test="pm.startDate != null and pm.startDate !=''">
-                            AND a.last_enforce_date <![CDATA[ >= ]]> #{pm.startDate}
-                        </if>
-                        <if test="pm.endDate != null and pm.endDate !=''">
-                            AND a.last_enforce_date <![CDATA[ <= ]]> #{pm.endDate}
-                        </if>
-                    ) normalCount,
-                    (
-                        SELECT
-                            count( 1 )
-                        FROM
-                            enforce_job a
-                        WHERE
-                            a.enforce_org_id = eo.enforce_org_id
-                          AND job_type = 'REVIEW'
-                          AND time_out = 1
-                          AND a.is_deleted = 0
-                        <if test="pm.startDate != null and pm.startDate !=''">
-                            AND a.last_enforce_date <![CDATA[ >= ]]> #{pm.startDate}
-                        </if>
-                        <if test="pm.endDate != null and pm.endDate !=''">
-                            AND a.last_enforce_date <![CDATA[ <= ]]> #{pm.endDate}
-                        </if>
-                    ) reviewCount,
-                    (
-                        SELECT
-                            count( 1 )
-                        FROM
-                            enforce_job a
-                        WHERE
-                            a.enforce_org_id = eo.enforce_org_id
-                          AND job_type = 'REPORT'
-                          AND time_out = 1
-                          AND a.is_deleted = 0
-                            <if test="pm.startDate != null and pm.startDate !=''">
-                                AND a.last_enforce_date <![CDATA[ >= ]]> #{pm.startDate}
-                            </if>
-                            <if test="pm.endDate != null and pm.endDate !=''">
-                                AND a.last_enforce_date <![CDATA[ <= ]]> #{pm.endDate}
-                            </if>
-                    ) reportCount
-                FROM
-                    enforce_organize eo
-                WHERE
-                    eo.is_deleted = 0
-                  AND eo.enforce_org_id != '55c99876ec0f425aac6925a92cceeb17'
-                <if test="pm.enforceOrgId  != null  and pm.enforceOrgId != ''">
-                    and ej.enforce_org_id = #{pm.enforceOrgId}
-                </if>
-            ) t
-        ORDER BY
-        allCount DESC,
-            orgId
+        v_rw
+        WHERE
+        是否已超时 = '已超时'
+        AND 是否删除 = '正常'
+        and 任务类型 in ('专项','复查','日常检查')
+        <if test="pm.startDate != null and pm.startDate !=''">
+            and 检查期限 <![CDATA[ >= ]]> #{pm.startDate}
+        </if>
+        <if test="pm.endDate != null and pm.endDate !=''">
+            and 检查期限 <![CDATA[ <= ]]> #{pm.endDate}
+        </if>
+        <if test="pm.enforceOrgIds !=null and pm.enforceOrgIds.size>0">
+            and 执法机构id in
+            <foreach item="item" index="i" collection="pm.enforceOrgIds" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        group by 任务类型,执法机构id
     </select>
 
 
@@ -213,6 +195,12 @@
         <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">
+            and ej.enforce_org_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)
         </if>
@@ -230,51 +218,51 @@
     </select>
 
     <select id="selectEnforceAverageTime" resultMap="EnforceAverageTimeDtoResultMap">
+        SELECT *, round( ( 视频时长 / 支队平均时长 ) * 100, 2 ) rate from  (SELECT
+        执法机构id,
+        ( SELECT enforce_org_name FROM enforce_organize WHERE enforce_org_id = 执法机构id ) 执法机构,
+        round( sum( 检查耗时 / 1000 / 60 ) / count( * ), 2 ) 支队平均时长,
+        round(
+        sum(
+        (
         SELECT
-            *,
-            round( ( headCorpsAvgTime / orgAvgTime ) * 100, 2 ) rate
+        sum( CASE WHEN media_id = '-1' THEN duration ELSE TIMESTAMPDIFF( SECOND, video_begin_time, video_end_time ) END ) zfzsc
         FROM
-            (
-                SELECT
-                    a.enforce_org_id orgId,
-                     a.enforce_org_name orgName,
-                    round( sum( a.time_consuming / 1000 / 60 ) / count( * ), 2 ) orgAvgTime,
-                    round(
-                                sum(
-                                        (
-                                            SELECT
-                                                sum( CASE WHEN media_id = '-1' THEN duration ELSE TIMESTAMPDIFF( SECOND, video_begin_time, video_end_time ) END ) zfzsc
-                                            FROM
-                                                enforce_video C
-                                            WHERE
-                                                c.is_deleted = 0
-                                              AND c.enfore_job_id = a.id
-                                        )
-                                    ) / count( * ) / 60,
-                                2
-                        ) headCorpsAvgTime
-                FROM
-                    enforce_job a
-                WHERE
-                    a.is_deleted = '0'
-                  AND a.job_status = 'ARCHIVED'
-                  AND a.enforce_org_id != '55c99876ec0f425aac6925a92cceeb17'
-                  AND a.job_type = 'NORMAL'
-                  and a.time_consuming <![CDATA[ <= ]]> 28800000
-                <if test="pm.enforceOrgId  != null  and pm.enforceOrgId != ''">
-                    and a.enforce_org_id = #{pm.enforceOrgId}
-                </if>
-                <if test="pm.startDate != null and pm.startDate !=''">
-                    AND a.finish_time <![CDATA[ >= ]]> #{pm.startDate}
-                </if>
-                <if test="pm.endDate != null and pm.endDate !=''">
-                    AND a.finish_time <![CDATA[ <= ]]> #{pm.endDate}
-                </if>
-                GROUP BY
-                a.enforce_org_id
-            ) t
+        enforce_video C
+        WHERE
+        c.is_deleted = 0
+        AND c.enfore_job_id = a.id
+        )
+        ) / count( * ) / 60,
+        2
+        ) 视频时长
+        FROM
+        v_rw a
+        WHERE
+        状态 = '已归档'
+        <if test="pm.enforceOrgId  != null  and pm.enforceOrgId != ''">
+            and 执法机构id = #{pm.enforceOrgId}
+        </if>
+        <if test="pm.enforceOrgIds !=null and pm.enforceOrgIds.size>0">
+            and 执法机构id in
+            <foreach item="item" index="i" collection="pm.enforceOrgIds" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="pm.startDate != null and pm.startDate !=''">
+            AND `开始执行任务时间` <![CDATA[ >= ]]> #{pm.startDate}
+        </if>
+        <if test="pm.endDate != null and pm.endDate !=''">
+            AND 开始执行任务时间 <![CDATA[ <= ]]> #{pm.endDate}
+        </if>
+        AND 是否删除 = '正常'
+        AND 检查耗时 <![CDATA[ <= ]]> 28800000
+        AND 执法机构id not in ('55c99876ec0f425aac6925a92cceeb17','256069491270746112')
+        AND 任务类型 = '日常检查'
+        GROUP BY
+        执法机构id) t
         ORDER BY
-            rate,orgId
+        rate,执法机构id
     </select>
 
 
@@ -316,6 +304,12 @@
         <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">
+            and ej.enforce_org_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)
         </if>
@@ -328,6 +322,7 @@
         <if test="pm.endDate != null and pm.endDate !=''">
             AND ej.finish_time <![CDATA[ <= ]]> #{pm.endDate}
         </if>
+        group by ej.id
         ) t order by rate
     </select>