Parcourir la source

考评功能开发

linjiawei il y a 1 mois
Parent
commit
55b40f04da

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

@@ -1,12 +1,13 @@
 package com.zfjg.manage.api.dto.enforce.job;
 
+import com.zfjg.common.core.web.page.PageQuery;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 @Data
 @ApiModel("执法检查考评查询条件")
-public class EnforceEvaluateQuery {
+public class EnforceEvaluateQuery extends PageQuery {
 
     @ApiModelProperty(value = "执法机构ID")
     private String enforceOrgId;

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

@@ -40,6 +40,9 @@ public class WReportDeductVo implements Serializable {
     @ApiModelProperty("不当履行职责执法过错情形数量")
     private Integer wTypeC = 0;
 
+    @ApiModelProperty("不当履行职责执法过错情形扣分")
+    private Double wTypeScore = 0D;
+
     private String wTypeT;
 
     @ApiModelProperty("未履行职责执法过错情形")
@@ -48,6 +51,10 @@ public class WReportDeductVo implements Serializable {
     @ApiModelProperty("未履行职责执法过错情形数量")
     private Integer nTypeC = 0;
 
+
+    @ApiModelProperty("未履行职责执法过错情形扣分")
+    private Double nTypeScore = 0D;
+
     private String nTypeT;
 
     @ApiModelProperty("违法履行职责执法过错情形")
@@ -56,11 +63,17 @@ public class WReportDeductVo implements Serializable {
     @ApiModelProperty("处理方式")
     private String dDo;
 
-    @ApiModelProperty("违法履行职责执法过错情形")
+    @ApiModelProperty("违法履行职责执法过错情形数量")
     private Integer sTypeC = 0;
 
+    @ApiModelProperty("违法履行职责执法过错情形扣分")
+    private Double sTypeScore = 0D;
+
     private String sTypeT;
 
+    @ApiModelProperty("执法过错总扣分")
+    private Double wrongScore = 0D;
+
 
 
 }

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

@@ -20,7 +20,7 @@ import static com.zfjg.common.core.utils.PageUtils.startPage;
  * @author ljw
  * @since 2024-12-13
  */
-@Api(tags = "扣分记录")
+@Api(tags = "其他扣分记录")
 @RestController
 @RequestMapping("/supervise")
 public class EnforceDeductRecordController {

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

@@ -17,7 +17,7 @@ import io.swagger.annotations.ApiParam;
  * @author ljw
  * @since 2024-12-13
  */
-@Api(tags = "扣分情形")
+@Api(tags = "其他扣分情形")
 @RestController
 @RequestMapping("/supervise")
 public class EnforceDeductSituationController {

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

@@ -2,16 +2,24 @@ package com.zfjg.manage.controller.enforce.job;
 
 
 import com.zfjg.common.core.domain.R;
+import com.zfjg.common.core.web.page.TableInfo;
 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.List;
 
+import static com.zfjg.common.core.utils.PageUtils.startPage;
+
 
 /**
  * @author ljw
@@ -23,15 +31,22 @@ import java.util.List;
 class EnforceEvaluateController {
     @Autowired
     private IEnforceDeductRecordService enforceDeductRecordService;
-
-    @ApiOperation(value="查询执法考评列表")
+    @ApiOperation(value="查询执法考评列表(不分页)")
     @GetMapping("/evaluate/list")
-    public R<List<EnforceEvaluateDTO>> getPage(EnforceEvaluateQuery query) {
+    public R<List<EnforceEvaluateDTO>> getList(EnforceEvaluateQuery query) {
         List<EnforceEvaluateDTO> list = enforceDeductRecordService.selectEvaluateList(query);
         return R.ok(list);
     }
 
 
+    @ApiOperation(value = "执法过错扣分列表(分页)")
+    @GetMapping("/wreport/list")
+    public TableInfo<WReportDeductVo> getWreportList(EnforceEvaluateQuery query) {
+        startPage();
+        List<WReportDeductVo> wReportList = enforceDeductRecordService.selectWreportList(query);
+        return new TableInfo<>(wReportList);
+    }
+
 
 }
 

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

@@ -6,6 +6,8 @@ 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.vo.enforce.job.WReportDeductVo;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 /**
@@ -23,5 +25,7 @@ public interface IEnforceDeductRecordService extends IService<EnforceDeductRecor
     EnforceDeductRecord getEnforceDeductRecord(Long id);
     List<EnforceDeductRecordDTO> selectEnforceDeductRecordList(EnforceDeductRecordQuery query);
     List<EnforceEvaluateDTO> selectEvaluateList(EnforceEvaluateQuery param);
+    List<WReportDeductVo> selectWreportList(EnforceEvaluateQuery param);
+
 
 }

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

@@ -369,4 +369,242 @@ public class EnforceDeductRecordServiceImpl extends ServiceImpl<EnforceDeductRec
         return list;
     }
 
+    public  void handleWreporData(){
+
+
+    }
+
+    @Override
+    public List<WReportDeductVo> selectWreportList(EnforceEvaluateQuery param) {
+        List<WReportDeductVo> wReportList = enforceDeductRecordMapper.selectWreportList(param);
+        if (ObjectUtils.isNotEmpty(wReportList)) {
+            for (WReportDeductVo w : wReportList) {
+                double wscore = 0;
+                double nscore = 0;
+                double sscore = 0;
+                double w1 = 0, w2 = 0, w3 = 0, w4 = 0, w5 = 0, w6 = 0, w7 = 0, w8 = 0, w9 = 0, w10 = 0;
+                double n1 = 0, n2 = 0, n3 = 0, n4 = 0, n5 = 0, n6 = 0, n7 = 0, n8 = 0, n9 = 0, n10 = 0, n11 = 0, n12 = 0, n13 = 0;
+                double s1 = 0, s2 = 0, s3 = 0, s4 = 0, s5 = 0, s6 = 0, s7 = 0, s8 = 0, s9 = 0, s10 = 0, s11 = 0, s12 = 0, s13 = 0, s14 = 0, s15 = 0, s16 = 0, s17 = 0, s18 = 0;
+                int wrongCount = 0;
+                //(一)不当履行职责
+                if (w.getWTypeC() > 0) {
+                    JSONArray warray =  JSON.parseArray(w.getWTypeT());
+                    for (int i = 1; i <= 9; i++) {
+                        int v = ((JSONObject)warray.get(i-1)).getInteger("num" + i);
+                        wrongCount += v;
+                        double vvalue = v * 0.1;
+                        switch (i) {
+                            case 1:
+                                w1 += vvalue;
+                                break;
+                            case 2:
+                                w2 += vvalue;
+                                break;
+                            case 3://监督执法事项未通过消防监督管理系统进行流转、办理的,以及无正当理由随意删除、作废的;(扣0.5分/次,该项每个单位总扣分不超过2分)
+                                w3 += v * 0.5;
+                                break;
+                            case 4://选择性执法或者错误适用行政处罚裁量标准一类阶次及以上,执法行为明显不当或者执法结果明显不公正的;(扣0.3分/次,该项每个单位总扣分不超过2分)
+                                w4 += v * 0.3;
+                                break;
+                            case 5://作出终止调查或不予处罚决定不符合规定的;(扣2分/次,该项每个单位总扣分不超过2分)
+                                w5 += v * 2;
+                                break;
+                            case 6:
+                                w6 += vvalue;
+                                break;
+                            case 7:
+                                w7 += vvalue;
+                                break;
+                            case 8://当事人不履行罚款决定,且在法定期限内不申请行政复议或者提起行政诉讼的,自期限届满之日起三个月内,未依法申请人民法院强制执行的;(扣0.3分/次,该项每个单位总扣分不超过2分
+                                w8 += v * 0.3;
+                                break;
+                            case 9:
+                                w9 += vvalue;
+                                break;
+                            case 10:
+                                w10 += vvalue;
+                                break;
+                            default:
+                                break;
+                        }
+                    }
+                }
+                //(二)未履行职责
+                if (w.getNTypeC() > 0) {
+                    JSONArray narray =  JSON.parseArray(w.getNTypeT());
+                    for (int i = 1; i <= 12; i++) {
+                        int v = ((JSONObject)narray.get(i-1)).getInteger("wlxNum" + i);
+                        wrongCount += v;
+                        double vvalue = v * 0.1;
+                        switch (i) {
+                            case 1:
+                                n1 += vvalue;
+                                break;
+                            case 2:
+                                n2 += vvalue;
+                                break;
+                            case 3:
+                                n3 += vvalue;
+                                break;
+                            case 4:
+                                n4 += vvalue;
+                                break;
+                            case 5://对符合行政处罚立案标准的案件不立案或者不及时立案的;(扣1分/次,该项每个单位总扣分不超过2分)
+                                n5 += v * 1;
+                                break;
+                            case 6://执法过程中违反执法公示、重大执法决定法制审核制度的;(扣0.2分/次,该项每个单位总扣分不超过2分)
+                                n6 += v * 0.2;
+                            case 7:
+                                n7 += vvalue;
+                                break;
+                            case 8:
+                                n8 += vvalue;
+                                break;
+                            case 9:
+                                n9 += vvalue;
+                                break;
+                            case 10:
+                                n10 += vvalue;
+                                break;
+                            case 11:
+                                n11 += vvalue;
+                                break;
+                            case 12:
+                                n12 += vvalue;
+                                break;
+                            case 13:
+                                n13 += vvalue;
+                                break;
+                            default:
+                                break;
+                        }
+                    }
+                }
+                //(三)违法履行职责
+                if (w.getSTypeC() > 0) {
+                    JSONArray sarray =  JSON.parseArray(w.getSTypeT());
+                    for (int i = 1; i <= 17; i++) {
+                        int v = ((JSONObject)sarray.get(i-1)).getInteger("wflxNum" + i);
+                        wrongCount += v;
+                        double vvalue = v * 0.1;
+                        switch (i) {
+                            case 1:
+                                s1 += vvalue;
+                                break;
+                            case 2:
+                                s2 += vvalue;
+                                break;
+                            case 3:
+                                s3 += vvalue;
+                                break;
+                            case 4:
+                                s4 += vvalue;
+                                break;
+                            case 5:
+                                s5 += vvalue;
+                                break;
+                            case 6:
+                                s6 += vvalue;
+                                break;
+                            case 7://无故拖延,不在法定期限内作出行政决定的(扣0.3分/次,该项每个单位总扣分不超过2分)
+                                s7 += v * 0.3;
+                                break;
+                            case 8:
+                                s8 += vvalue;
+                                break;
+                            case 9:
+                                s9 += vvalue;
+                                break;
+                            case 10:
+                                s10 += vvalue;
+                                break;
+                            case 11:
+                                s11 += vvalue;
+                                break;
+                            case 12:
+                                s12 += vvalue;
+                                break;
+                            case 13:
+                                s13 += vvalue;
+                                break;
+                            case 14:
+                                s14 += vvalue;
+                                break;
+                            case 15:
+                                s15 += vvalue;
+                                break;
+                            case 16:
+                                s16 += vvalue;
+                                break;
+                            case 17:
+                                s17 += vvalue;
+                                break;
+                            case 18:
+                                s18 += vvalue;
+                                break;
+                            default:
+                                break;
+                        }
+                    }
+                }
+
+                w1 = w1 >= 2 ? 2 : w1;
+                w2 = w2 >= 2 ? 2 : w2;
+                w3 = w3 >= 2 ? 2 : w3;
+                w4 = w4 >= 2 ? 2 : w4;
+                w5 = w5 >= 2 ? 2 : w5;
+                w6 = w6 >= 2 ? 2 : w6;
+                w7 = w7 >= 2 ? 2 : w7;
+                w8 = w8 >= 2 ? 2 : w8;
+                w9 = w9 >= 2 ? 2 : w9;
+                w10 = w10 >= 2 ? 2 : w10;
+                wscore = w1 + w2 + w3 + w4 + w5 + w6 + w7 + w8 + w9 + w10;
+
+
+                n1 = n1 >= 2 ? 2 : n1;
+                n2 = n2 >= 2 ? 2 : n2;
+                n3 = n3 >= 2 ? 2 : n3;
+                n4 = n4 >= 2 ? 2 : n4;
+                n5 = n5 >= 2 ? 2 : n5;
+                n6 = n6 >= 2 ? 2 : n6;
+                n7 = n7 >= 2 ? 2 : n7;
+                n8 = n8 >= 2 ? 2 : n8;
+                n9 = n9 >= 2 ? 2 : n9;
+                n10 = n10 >= 2 ? 2 : n10;
+                n11 = n11 >= 2 ? 2 : n11;
+                n12 = n12 >= 2 ? 2 : n12;
+                n13 = n13 >= 2 ? 2 : n13;
+                nscore = n1 + n2 + n3 + n4 + n5 + n6 + n7 + n8 + n9 + n10 + n11 + n12 + n13;
+
+                s1 = s1 >= 2 ? 2 : s1;
+                s2 = s2 >= 2 ? 2 : s2;
+                s3 = s3 >= 2 ? 2 : s3;
+                s4 = s4 >= 2 ? 2 : s4;
+                s5 = s5 >= 2 ? 2 : s5;
+                s6 = s6 >= 2 ? 2 : s6;
+                s7 = s7 >= 2 ? 2 : s7;
+                s8 = s8 >= 2 ? 2 : s8;
+                s9 = s9 >= 2 ? 2 : s9;
+                s10 = s10 >= 2 ? 2 : s10;
+                s11 = s11 >= 2 ? 2 : s11;
+                s12 = s12 >= 2 ? 2 : s12;
+                s13 = s13 >= 2 ? 2 : s13;
+                s14 = s14 >= 2 ? 2 : s14;
+                s15 = s15 >= 2 ? 2 : s15;
+                s16 = s16 >= 2 ? 2 : s16;
+                s17 = s17 >= 2 ? 2 : s17;
+                s18 = s18 >= 2 ? 2 : s18;
+                sscore = s1 + s2 + s3 + s4 + s5 + s6 + s7 + s8 + s9 + s10 + s11 + s12 + s13 + s14 + s15 + s16 + s17 + s17 + s18;
+
+//                w.setWrongCount(wrongCount);
+                w.setNTypeScore(nscore);
+                w.setWTypeScore(wscore);
+                w.setSTypeScore(sscore);
+                w.setWrongScore(wscore + nscore + sscore);
+            }
+
+        }
+        return wReportList;
+    }
+
 }

+ 4 - 1
zfjg-modules/zfjg-manage/src/main/resources/mapper/enforce/job/EnforceDeductRecordMapper.xml

@@ -117,8 +117,11 @@
 
 
     <select id="selectWreportList" resultType="com.zfjg.manage.api.vo.enforce.job.WReportDeductVo">
-        select org_id,w_type_c,w_type_t,n_type_c,n_type_t,s_type_c,s_type_t from w_report
+        select org_id,org_name,w_user,w_type_c,w_type_t,n_type_c,n_type_t,s_type_c,s_type_t from w_report
         <where>
+            <if test="pm.enforceOrgId  != null  and pm.enforceOrgId != ''">
+                and org_id = #{pm.enforceOrgId}
+            </if>
             <if test="pm.startDate != null and pm.startDate !=''">
                 AND s_time <![CDATA[ >= ]]> #{pm.startDate}
             </if>