1
0

5 Commits 050878ee2c ... 2fcdde6b92

Autor SHA1 Mensaje Fecha
  linjiawei 2fcdde6b92 导出 hace 1 mes
  linjiawei 8af04e0d61 时长优化 hace 1 mes
  linjiawei 05224aca37 考评排序 hace 1 mes
  linjiawei c5b3714274 考评优化 hace 1 mes
  linjiawei 850ec22b41 考评优化 hace 1 mes
Se han modificado 16 ficheros con 336 adiciones y 96 borrados
  1. 3 0
      sql/zfjq_2024121801.sql
  2. 15 3
      zfjg-api/zfjg-api-manage/src/main/java/com/zfjg/manage/api/dto/enforce/job/EnforceDeductRecordDTO.java
  3. 27 0
      zfjg-api/zfjg-api-manage/src/main/java/com/zfjg/manage/api/dto/enforce/job/EnforceEvaluateQuery.java
  4. 2 0
      zfjg-api/zfjg-api-manage/src/main/java/com/zfjg/manage/api/dto/enforce/job/EnforceJobTimeoutDto.java
  5. 6 1
      zfjg-api/zfjg-api-manage/src/main/java/com/zfjg/manage/api/dto/enforce/job/EnforcementJobAverageTimeDTO.java
  6. 10 0
      zfjg-api/zfjg-api-manage/src/main/java/com/zfjg/manage/api/dto/enforce/job/EnforcementJobProcessDTO.java
  7. 3 0
      zfjg-api/zfjg-api-manage/src/main/java/com/zfjg/manage/api/dto/enforce/job/EnforcementJobProcessQuery.java
  8. 10 1
      zfjg-api/zfjg-api-manage/src/main/java/com/zfjg/manage/api/vo/enforce/job/WReportDeductVo.java
  9. 41 0
      zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/controller/enforce/job/EnforceDeductRecordController.java
  10. 78 8
      zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/controller/enforce/job/EnforceEvaluateController.java
  11. 17 3
      zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/controller/enforce/job/EnforceSuperviseController.java
  12. 16 0
      zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/mapper/enforce/job/EnforceDeductRecordMapper.java
  13. 0 1
      zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/service/enforce/job/IEnforceDeductRecordService.java
  14. 1 1
      zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/service/impl/enforce/job/EnforceDeductRecordServiceImpl.java
  15. 70 52
      zfjg-modules/zfjg-manage/src/main/resources/mapper/enforce/job/EnforceDeductRecordMapper.xml
  16. 37 26
      zfjg-modules/zfjg-manage/src/main/resources/mapper/enforce/job/EnforceSuperviseMapper.xml

+ 3 - 0
sql/zfjq_2024121801.sql

@@ -0,0 +1,3 @@
+alter table enforce_deduct_record ADD INDEX `enforce_org_id_IDX`(`enforce_org_id`) USING BTREE;
+alter table enforce_deduct_record_situation ADD INDEX `deduct_record_id_IDX`(`deduct_record_id`) USING BTREE;
+

+ 15 - 3
zfjg-api/zfjg-api-manage/src/main/java/com/zfjg/manage/api/dto/enforce/job/EnforceDeductRecordDTO.java

@@ -3,6 +3,7 @@ package com.zfjg.manage.api.dto.enforce.job;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.zfjg.common.core.annotation.Excel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -26,27 +27,38 @@ public class EnforceDeductRecordDTO{
     @ApiModelProperty("执法机构ID")
     private String enforceOrgId;
 
+
+    @Excel(name = "执法机构")
     @ApiModelProperty("执法机构名称")
     private String enforceOrgName;
 
     @ApiModelProperty("扣分人员id")
     private String executorId;
 
+    @Excel(name = "扣分人员")
     @ApiModelProperty("扣分人员名称")
     private String executorName;
 
     @ApiModelProperty("扣分来源(SUPERVISE-内部执法监督,REPORT-举报投诉,RECONSIDERATION-复议、诉讼,PATROL-上级巡察、督导、考评,FIREINVESTIGATION-火灾事故调查,OTHER-其他工作中)")
     private String deductResource;
 
+    @Excel(name = "扣分来源")
+    @ApiModelProperty("扣分来源(SUPERVISE-内部执法监督,REPORT-举报投诉,RECONSIDERATION-复议、诉讼,PATROL-上级巡察、督导、考评,FIREINVESTIGATION-火灾事故调查,OTHER-其他工作中)")
+    private String deductResourceName;
+
+
+    @Excel(name = "扣分情形次数")
+    @ApiModelProperty("扣分情形次数")
+    private Integer situationTimes;
+
+    @Excel(name = "扣分分值")
     @ApiModelProperty("扣分分值")
     private Double deductValue;
 
+    @Excel(name = "扣分时间")
     @ApiModelProperty("扣分时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date deductTime;
 
-    @ApiModelProperty("扣分情形次数")
-    private Integer situationTimes;
-
 
 }

+ 27 - 0
zfjg-api/zfjg-api-manage/src/main/java/com/zfjg/manage/api/dto/enforce/job/EnforceEvaluateQuery.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 EnforceEvaluateQuery extends PageQuery {
@@ -12,10 +14,35 @@ public class EnforceEvaluateQuery extends PageQuery {
     @ApiModelProperty(value = "执法机构ID")
     private String enforceOrgId;
 
+    @ApiModelProperty(value = "执法机构ID")
+    private List<String> enforceOrgIds;
+
     @ApiModelProperty(value = "开始时间")
     private String startDate;
 
     @ApiModelProperty(value = "结束时间")
     private String endDate;
 
+
+    /**
+     * 10.10到10.31时间段
+     */
+    private String startDate1;
+    private String endDate1;
+
+    /**
+     * 12.17到11.1时间段
+     */
+    private String startDate2;
+    private String endDate2;
+
+    /**
+     * 大于17
+     */
+    private String endDate3;
+
+    private Boolean process;
+
+
+
 }

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

@@ -44,6 +44,8 @@ public class EnforceJobTimeoutDto {
     @Excel(name = "检查员")
     @ApiModelProperty(value = "检察员名称,多个人名字用,隔开,顺序和id的顺序一致")
     private String executorNames;
+    private String executorIds;
+
 
     @Excel(name = "检查对象")
     @ApiModelProperty(value = "检查对象")

+ 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;
 

+ 10 - 0
zfjg-api/zfjg-api-manage/src/main/java/com/zfjg/manage/api/dto/enforce/job/EnforcementJobProcessDTO.java

@@ -39,6 +39,7 @@ public class EnforcementJobProcessDTO {
     @Excel(name = "检查员")
     @ApiModelProperty(value = "检察员名称,多个人名字用,隔开,顺序和id的顺序一致")
     private String executorNames;
+    private String executorIds;
 
     @Excel(name = "检查对象")
     @ApiModelProperty(value = "检查对象")
@@ -70,6 +71,15 @@ public class EnforcementJobProcessDTO {
     @Excel(name = "是否关联")
     private String relate;
 
+
+    public void setJobTypeName(String jobTypeName) {
+        this.jobTypeName = ParamTypeUtil.getJobTypeName(this.jobType);
+    }
+
+    public void setEnforceResultName(String enforceResultName) {
+        this.enforceResultName = ParamTypeUtil.getEnforceResultName(this.enforceResult);
+    }
+
     public String getJobTypeName() {
         return ParamTypeUtil.getJobTypeName(this.jobType);
     }

+ 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;
 

+ 10 - 1
zfjg-api/zfjg-api-manage/src/main/java/com/zfjg/manage/api/vo/enforce/job/WReportDeductVo.java

@@ -2,6 +2,7 @@ package com.zfjg.manage.api.vo.enforce.job;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.zfjg.common.core.annotation.Excel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -30,18 +31,22 @@ public class WReportDeductVo implements Serializable {
     @ApiModelProperty("执法机构")
     private String orgId;
 
+    @Excel(name = "执法机构")
     @ApiModelProperty("执法机构名称")
     private String orgName;
 
+    @Excel(name = "过错责任人")
     @ApiModelProperty("过错责任人")
     private String wUser;
 
     @ApiModelProperty("不当履行职责执法过错情形")
     private String wType;
 
+    @Excel(name = "不当履行职责次数")
     @ApiModelProperty("不当履行职责执法过错情形数量")
     private Integer wTypeC = 0;
 
+    @Excel(name = "不当履行职责扣分")
     @ApiModelProperty("不当履行职责执法过错情形扣分")
     private Double wTypeScore = 0D;
 
@@ -50,10 +55,11 @@ public class WReportDeductVo implements Serializable {
     @ApiModelProperty("未履行职责执法过错情形")
     private String nType;
 
+    @Excel(name = "未履行职责次数")
     @ApiModelProperty("未履行职责执法过错情形数量")
     private Integer nTypeC = 0;
 
-
+    @Excel(name = "未履行职责扣分")
     @ApiModelProperty("未履行职责执法过错情形扣分")
     private Double nTypeScore = 0D;
 
@@ -65,14 +71,17 @@ public class WReportDeductVo implements Serializable {
     @ApiModelProperty("处理方式")
     private String dDo;
 
+    @Excel(name = "违法履行职责次数")
     @ApiModelProperty("违法履行职责执法过错情形数量")
     private Integer sTypeC = 0;
 
+    @Excel(name = "违法履行职责扣分")
     @ApiModelProperty("违法履行职责执法过错情形扣分")
     private Double sTypeScore = 0D;
 
     private String sTypeT;
 
+    @Excel(name = "总扣分")
     @ApiModelProperty("执法过错总扣分")
     private Double wrongScore = 0D;
 

+ 41 - 0
zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/controller/enforce/job/EnforceDeductRecordController.java

@@ -2,16 +2,21 @@ package com.zfjg.manage.controller.enforce.job;
 
 
 import com.zfjg.common.core.domain.R;
+import com.zfjg.common.core.utils.StringUtils;
+import com.zfjg.common.core.utils.poi.ExcelUtil;
 import com.zfjg.common.core.web.page.TableInfo;
 import com.zfjg.manage.api.domain.enforce.job.EnforceDeductRecord;
 import com.zfjg.manage.api.dto.enforce.job.EnforceDeductRecordDTO;
 import com.zfjg.manage.api.dto.enforce.job.EnforceDeductRecordQuery;
+import com.zfjg.manage.api.dto.enforce.job.EnforcementJobAverageTimeDTO;
 import com.zfjg.manage.service.enforce.job.IEnforceDeductRecordService;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiModelProperty;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import io.swagger.annotations.ApiOperation;
 
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
 import static com.zfjg.common.core.utils.PageUtils.startPage;
@@ -64,6 +69,42 @@ public class EnforceDeductRecordController {
         return new TableInfo<>(list);
     }
 
+    @ApiOperation(value="列表导出")
+    @GetMapping("/enforceDeductRecord/page/export")
+    public void export(HttpServletResponse response, EnforceDeductRecordQuery query) {
+        List<EnforceDeductRecordDTO> list = enforceDeductRecordService.selectEnforceDeductRecordList(query);
+        list.forEach(e->{
+            String name = "";
+            if (StringUtils.isNotEmpty(e.getDeductResource())) {
+                switch (e.getDeductResource()) {
+                    case "SUPERVISE":
+                        name="内部执法监督";
+                        break;
+                    case "REPORT":
+                        name="举报投诉";
+                        break;
+                    case "RECONSIDERATION":
+                        name="复议、诉讼";
+                        break;
+                    case "PATROL":
+                        name="上级巡察、督导、考评";
+                        break;
+                    case "FIREINVESTIGATION":
+                        name="火灾事故调查";
+                        break;
+                    case "OTHER":
+                        name="其他工作中";
+                        break;
+                    default:
+                        break;
+                }
+            }
+            e.setDeductResourceName(name);
+        });
+        ExcelUtil<EnforceDeductRecordDTO> util = new ExcelUtil<EnforceDeductRecordDTO>(EnforceDeductRecordDTO.class);
+        util.exportExcel(response, list, "其他扣分情形列表", "其他扣分情形列表");
+    }
+
 }
 
 

+ 78 - 8
zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/controller/enforce/job/EnforceEvaluateController.java

@@ -2,21 +2,23 @@ package com.zfjg.manage.controller.enforce.job;
 
 
 import com.zfjg.common.core.domain.R;
+import com.zfjg.common.core.utils.StringUtils;
+import com.zfjg.common.core.utils.poi.ExcelUtil;
 import com.zfjg.common.core.web.page.TableInfo;
+import com.zfjg.manage.api.dto.enforce.job.EnforceDeductRecordDTO;
+import com.zfjg.manage.api.dto.enforce.job.EnforceDeductRecordQuery;
 import com.zfjg.manage.api.dto.enforce.job.EnforceEvaluateDTO;
 import com.zfjg.manage.api.dto.enforce.job.EnforceEvaluateQuery;
-import com.zfjg.manage.api.dto.other.WReportQuery;
 import com.zfjg.manage.api.vo.enforce.job.WReportDeductVo;
-import com.zfjg.manage.api.vo.other.WReportVo;
 import com.zfjg.manage.service.enforce.job.IEnforceDeductRecordService;
-import com.zfjg.manage.service.other.WReportBizService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import javax.annotation.Resource;
-import java.util.ArrayList;
+import javax.servlet.http.HttpServletResponse;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.List;
 
 import static com.zfjg.common.core.utils.PageUtils.startPage;
@@ -32,11 +34,12 @@ import static com.zfjg.common.core.utils.PageUtils.startPage;
 class EnforceEvaluateController {
     @Autowired
     private IEnforceDeductRecordService enforceDeductRecordService;
-    @ApiOperation(value="查询执法考评列表(不分页)")
+
+    @ApiOperation(value = "查询执法考评列表(不分页)")
     @GetMapping("/evaluate/list")
     public R<List<EnforceEvaluateDTO>> getList(EnforceEvaluateQuery query) {
-//        List<EnforceEvaluateDTO> list = enforceDeductRecordService.selectEvaluateList(query);
-        List<EnforceEvaluateDTO> list = new ArrayList<>();
+        getTime(query);
+        List<EnforceEvaluateDTO> list = enforceDeductRecordService.selectEvaluateList(query);
         return R.ok(list);
     }
 
@@ -50,6 +53,73 @@ class EnforceEvaluateController {
     }
 
 
+    @ApiOperation(value="执法过错扣分列表导出")
+    @GetMapping("/wreport/list/export")
+    public void export(HttpServletResponse response, EnforceEvaluateQuery query) {
+        List<WReportDeductVo> list = enforceDeductRecordService.selectWreportList(query);
+        ExcelUtil<WReportDeductVo> util = new ExcelUtil<WReportDeductVo>(WReportDeductVo.class);
+        util.exportExcel(response, list, "执法过错扣分列表", "执法过错扣分列表");
+    }
+
+    public static void main(String[] args) {
+        EnforceEvaluateQuery query = new EnforceEvaluateQuery();
+        query.setStartDate("2024-10-01 00:00:00");
+        query.setEndDate("2025-12-02 23:59:59");
+        getTime(query);
+    }
+    public static void getTime(EnforceEvaluateQuery query) {
+        // 定义时间格式
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+
+        // 传递过来的两个时间段
+        LocalDateTime start = LocalDateTime.parse(query.getStartDate(), formatter);
+        LocalDateTime end = LocalDateTime.parse(query.getEndDate(), formatter);
+
+        LocalDateTime start1 = LocalDateTime.parse("2024-10-10 00:00:00",formatter);
+        LocalDateTime end1 = LocalDateTime.parse("2024-10-31 23:59:59", formatter);
+
+        //时间段早于2024-10-10,无过程记录
+        if (end.isBefore(start1)) {
+            query.setProcess(false);
+            return;
+        }
+        query.setProcess(true);
+
+        LocalDateTime start2 = LocalDateTime.parse("2024-11-01 23:59:59", formatter);
+        LocalDateTime  end2 = LocalDateTime.parse("2024-12-17 00:00:00",formatter);
+
+        //时间段大于2024-11-01
+        if (start.isAfter(end2)) {
+            query.setStartDate2(query.getStartDate());
+            query.setEndDate2(query.getEndDate());
+            return;
+        }
+        if (end.isAfter(end2)) {
+            query.setEndDate3(query.getEndDate());
+        }
+
+        // 计算交集
+        LocalDateTime intersectionStart1 = start.isAfter(start1) ? start : start1;
+        LocalDateTime intersectionEnd1 = end.isBefore(end1) ? end : end1;
+
+        LocalDateTime intersectionStart2 = start.isAfter(start2) ? start : start2;
+        LocalDateTime intersectionEnd2 = end.isBefore(end2) ? end : end2;
+
+        // 检查是否有交集
+        if (!intersectionStart1.isAfter(intersectionEnd1)) {
+            query.setStartDate1(intersectionStart1.format(formatter));
+            query.setEndDate1(intersectionEnd1.format(formatter));
+        }
+        if (!intersectionStart2.isAfter(intersectionEnd2)) {
+            query.setStartDate2(intersectionStart2.format(formatter));
+            query.setEndDate2(intersectionEnd2.format(formatter));
+        }
+
+        return;
+
+    }
+
+
 }
 
 

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

@@ -67,7 +67,6 @@ public class EnforceSuperviseController {
     @ApiOperation(value = "获取执法记录全过程的任务列表导出")
     @GetMapping(value = "/enforcement/process/joblist/export")
     public void getEnforcementJobProcessListExport(HttpServletResponse response, EnforcementJobProcessQuery query) {
-        startPage();
         List<EnforcementJobProcessDTO> list = enforceSuperviseMapper.getEnforcementJobProcessList(query);
         if (com.zfjg.common.core.utils.StringUtils.isEmpty(list)) {
             return;
@@ -90,7 +89,6 @@ public class EnforceSuperviseController {
     @ApiOperation(value = "检查超期列表导出")
     @GetMapping(value = "/enforcement/timeout/joblist/export")
     public void getEnforcementJobTimeOutListExport(HttpServletResponse response, EnforcementJobProcessQuery query) {
-        startPage();
         List<EnforceJobTimeoutDto> list = enforceSuperviseMapper.getEnforcementJobTimeOutList(query);
         if (com.zfjg.common.core.utils.StringUtils.isEmpty(list)) {
             return;
@@ -216,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);
@@ -225,7 +224,7 @@ public class EnforceSuperviseController {
     @ApiOperation(value = "检查时长列表导出")
     @GetMapping(value = "/enforcement/org/average-time/export")
     public void selectEnforceJobAverageTimeExport(HttpServletResponse response, EnforcementJobProcessQuery query) {
-        startPage();
+        getTypeName(query);
         List<EnforcementJobAverageTimeDTO> list = enforceSuperviseMapper.selectEnforceJobAverageTime(query);
         ExcelUtil<EnforcementJobAverageTimeDTO> util = new ExcelUtil<EnforcementJobAverageTimeDTO>(EnforcementJobAverageTimeDTO.class);
         list.forEach(e -> {
@@ -235,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;
+            }
+        }
+    }
+
 
 }

+ 16 - 0
zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/mapper/enforce/job/EnforceDeductRecordMapper.java

@@ -20,6 +20,22 @@ import java.util.List;
  */
 public interface EnforceDeductRecordMapper extends BaseMapper<EnforceDeductRecord> {
   List<EnforceDeductRecordDTO> list(@Param("pm") EnforceDeductRecordQuery param);
+
+  /**
+   * 1、超期扣分
+   * 超期只扣除双随机和举报的检查任务,复查暂不扣除是因为有些复查任务检查人员通过国家局的系统进行
+   * 了录入没在我们系统录入,导致工作做了但是系统显示复查超期。
+   * 超期和双随机按照年度扣除,双随机、举报超期均以任务期限作为时间归到对应的考核年度。2、全过程无记录扣分
+   * 将任务结束时间作为统计时间点,归到对应的考核年度,
+   * 2024考核年度,只统计任务结束时间为2024.10.10(含)~2024.10.31(含)区间的无记录任务。。但是提供一定时间让其关联视频,即从2024.12.23(含)开始将未关联项目进行扣分
+   * 2025考核年度(部分),统计2024.11.1(含)~2024.12.17(含)区间的无记录任务。
+   * 。补充视频的截止时间为12.27(含),过了截止时间再补充视频也要被扣分。
+   * 2024.12.17(不含)以后生成的检查记录补充视频信息的时间为任务结束时间之日起10日内。
+   * 2024.12.17(不含)以前的排查检查结果为不检查的任务不扣分。
+   *
+   * @param param
+   * @return
+   */
   List<EnforceEvaluateDTO> selectEvaluateList(@Param("pm") EnforceEvaluateQuery param);
   List<WReportDeductVo> selectWreportList(@Param("pm") EnforceEvaluateQuery param);
 

+ 0 - 1
zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/service/enforce/job/IEnforceDeductRecordService.java

@@ -7,7 +7,6 @@ import com.zfjg.manage.api.dto.enforce.job.EnforceDeductRecordQuery;
 import com.zfjg.manage.api.dto.enforce.job.EnforceEvaluateDTO;
 import com.zfjg.manage.api.dto.enforce.job.EnforceEvaluateQuery;
 import com.zfjg.manage.api.vo.enforce.job.WReportDeductVo;
-import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 /**

+ 1 - 1
zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/service/impl/enforce/job/EnforceDeductRecordServiceImpl.java

@@ -367,7 +367,7 @@ public class EnforceDeductRecordServiceImpl extends ServiceImpl<EnforceDeductRec
             e.setWrongScore(wscore + nscore + sscore);
             e.setTotalScore(e.getDeductScore() + e.getWrongScore() + e.getTimeoutScore() + e.getNoProcessScore());
         });
-        list.sort(Comparator.comparing(EnforceEvaluateDTO::getTotalScore).thenComparing(EnforceEvaluateDTO::getEnforceOrgId));
+        list.sort(Comparator.comparing(EnforceEvaluateDTO::getTotalScore).reversed().thenComparing(EnforceEvaluateDTO::getEnforceOrgId));
         return list;
     }
 

+ 70 - 52
zfjg-modules/zfjg-manage/src/main/resources/mapper/enforce/job/EnforceDeductRecordMapper.xml

@@ -33,78 +33,96 @@
 
 
     <select id="selectEvaluateList" resultType="com.zfjg.manage.api.dto.enforce.job.EnforceEvaluateDTO">
-        select  enforce_org_id,enforce_org_name,(
-            SELECT
-            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.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 ej.finish_time <![CDATA[ >= ]]> #{pm.startDate}
-            </if>
-            <if test="pm.endDate != null and pm.endDate !=''">
-                AND ej.finish_time <![CDATA[ <= ]]> #{pm.endDate}
-            </if>
-         ) noProcessCount,
-        (
-            SELECT
-            count( 1 )
-            FROM
-            enforce_job a
-            WHERE
-            a.enforce_org_id = eo.enforce_org_id
-            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}
-            </if>
-            <if test="pm.endDate != null and pm.endDate !=''">
-                AND a.last_enforce_date <![CDATA[ <= ]]> #{pm.endDate}
-            </if>
-        ) timeoutCount,
-        (
         SELECT
-        sum( a.times )
+        eo.enforce_org_id,
+        eo.enforce_org_name,
+        <if test="pm.process  != null  and pm.process == true ">
+            COALESCE ( ejv.noProcessCount, 0 ) AS noProcessCount,
+        </if>
+        COALESCE ( ej.timeoutCount, 0 ) AS timeoutCount,
+        COALESCE ( eds.deductCount, 0 ) AS deductCount,
+        COALESCE ( eds.deductScore, 0 ) AS deductScore
         FROM
-        enforce_deduct_record_situation a
-        LEFT JOIN enforce_deduct_record b ON a.deduct_record_id = b.id
+        enforce_organize eo
+        <if test="pm.process  != null  and pm.process == true ">
+        left join (
+        SELECT
+        ej.enforce_org_id,
+        COUNT( 1 ) noProcessCount
+        FROM
+        enforce_job ej
+        LEFT JOIN enforce_video ev ON ej.id = ev.enfore_job_id
+        AND ev.is_deleted = 0
+        WHERE ej.job_status = 'ARCHIVED'
+        AND ej.is_deleted = '0'
+        AND ev.enfore_job_id IS NULL
+        and (
+        <trim prefixOverrides="or">
+        <if test="pm.startDate1  != null  and pm.startDate1 != ''">
+        or ( ej.finish_time BETWEEN #{pm.startDate1} AND #{pm.endDate1} and ev.create_time <![CDATA[ <= ]]> '2024-12-23 23:59:59' )
+        </if>
+        <if test="pm.startDate2  != null  and pm.startDate2 != ''">
+            or ( ej.finish_time BETWEEN #{pm.startDate2} AND #{pm.endDate2} and ev.create_time<![CDATA[ <=  ]]> '2024-12-27 00:00:00' )
+        </if>
+        <if test="pm.endDate3  != null  and pm.endDate3 != ''">
+            or ( ej.finish_time BETWEEN '2024-12-18 00:00:00' AND #{pm.endDate3}  and ev.create_time <![CDATA[ <= ]]> DATE_ADD(ej.finish_time, INTERVAL 10 DAY) )
+            or ( ej.finish_time BETWEEN '2024-12-17 00:00:00' AND #{pm.endDate3} and ej.enforce_result = 'OVERPASS' )
+        </if>
+        </trim>
+        )
+        GROUP BY
+        ej.enforce_org_id
+        )ejv on  ejv.enforce_org_id = eo.enforce_org_id
+       </if>
+        LEFT JOIN (
+        SELECT
+        enforce_org_id,
+        COUNT( 1 ) AS timeoutCount
+        FROM
+        enforce_job
         WHERE
-        b.enforce_org_id = eo.enforce_org_id
+        time_out = 1
+        AND job_type IN ( 'NORMAL', 'REPORT' )
+        AND is_deleted = 0
         <if test="pm.startDate != null and pm.startDate !=''">
-            AND b.deduct_time <![CDATA[ >= ]]> #{pm.startDate}
+            AND finish_time <![CDATA[ >= ]]> #{pm.startDate}
         </if>
         <if test="pm.endDate != null and pm.endDate !=''">
-            AND b.deduct_time <![CDATA[ <= ]]> #{pm.endDate}
+            AND finish_time <![CDATA[ <= ]]> #{pm.endDate}
         </if>
-        ) deductCount,
-        (
+        GROUP BY
+        enforce_org_id
+        ) ej ON eo.enforce_org_id = ej.enforce_org_id
+        LEFT JOIN (
         SELECT
-        sum( a.total_deduct )
+        b.enforce_org_id,
+        SUM( a.times ) AS deductCount,
+        SUM( a.total_deduct ) AS deductScore
         FROM
         enforce_deduct_record_situation a
         LEFT JOIN enforce_deduct_record b ON a.deduct_record_id = b.id
-        WHERE
-        b.enforce_org_id = eo.enforce_org_id
         <if test="pm.startDate != null and pm.startDate !=''">
             AND b.deduct_time <![CDATA[ >= ]]> #{pm.startDate}
         </if>
         <if test="pm.endDate != null and pm.endDate !=''">
             AND b.deduct_time <![CDATA[ <= ]]> #{pm.endDate}
         </if>
-        ) deductScore
-        from enforce_organize eo
-        where eo.enforce_org_id  not in ('55c99876ec0f425aac6925a92cceeb17','256069491270746112')
+        GROUP BY
+        b.enforce_org_id
+        ) eds ON eo.enforce_org_id = eds.enforce_org_id
+        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>
-        order by eo.enforce_org_id
+        <if test="pm.enforceOrgIds !=null and pm.enforceOrgIds.size>0">
+            and eo.enforce_org_id in
+            <foreach item="item" index="i" collection="pm.enforceOrgIds" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        ORDER BY
+        eo.enforce_org_id;
     </select>
 
 

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

@@ -103,6 +103,7 @@
                     ej.job_type,
                     ej.enforce_result,
                     ej.executor_names,
+                    ej.executor_ids,
                     ej.finish_time,
                     ej.enforce_obj_id,
                     ej.enforce_obj_name,
@@ -113,7 +114,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">
@@ -179,6 +181,7 @@
         ej.job_no,
         ej.job_type,
         ej.enforce_result,
+        ej.executor_ids,
         ej.executor_names,
         ej.finish_time,
         ej.enforce_obj_id,
@@ -192,6 +195,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 +272,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 +297,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>