|
@@ -0,0 +1,612 @@
|
|
|
|
+package com.zfjg.manage.service.impl.enforce.job;
|
|
|
|
+
|
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
+import com.zfjg.common.security.utils.SecurityUtils;
|
|
|
|
+import com.zfjg.manage.api.domain.enforce.job.EnforceDeductRecord;
|
|
|
|
+import com.zfjg.manage.api.domain.enforce.job.EnforceDeductRecordSituation;
|
|
|
|
+import com.zfjg.manage.api.domain.other.WReport;
|
|
|
|
+import com.zfjg.manage.api.dto.enforce.job.*;
|
|
|
|
+import com.zfjg.manage.api.vo.enforce.job.WReportDeductVo;
|
|
|
|
+import com.zfjg.manage.mapper.enforce.job.EnforceDeductRecordMapper;
|
|
|
|
+import com.zfjg.manage.mapper.sys.DeptMapper;
|
|
|
|
+import com.zfjg.manage.service.enforce.job.IEnforceDeductRecordService;
|
|
|
|
+import com.zfjg.manage.service.enforce.job.IEnforceDeductRecordSituationService;
|
|
|
|
+import com.zfjg.system.api.domain.SysDept;
|
|
|
|
+import com.zfjg.system.api.domain.SysUser;
|
|
|
|
+import org.apache.commons.lang3.ObjectUtils;
|
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
|
+
|
|
|
|
+import java.util.*;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
+
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * <p>
|
|
|
|
+ * 扣分记录 服务实现类
|
|
|
|
+ * </p>
|
|
|
|
+ *
|
|
|
|
+ * @author ljw
|
|
|
|
+ * @since 2024-12-13
|
|
|
|
+ */
|
|
|
|
+@Service
|
|
|
|
+public class EnforceDeductRecordServiceImpl extends ServiceImpl<EnforceDeductRecordMapper, EnforceDeductRecord> implements IEnforceDeductRecordService {
|
|
|
|
+ @Autowired(required = false)
|
|
|
|
+ private EnforceDeductRecordMapper enforceDeductRecordMapper;
|
|
|
|
+ @Autowired(required = false)
|
|
|
|
+ private DeptMapper deptMapper;
|
|
|
|
+ @Autowired
|
|
|
|
+ private IEnforceDeductRecordSituationService enforceDeductRecordSituationService;
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
|
+ public boolean saveEnforceDeductRecord(EnforceDeductRecord record) {
|
|
|
|
+ SysUser user = SecurityUtils.getLoginUser().getSysUser();
|
|
|
|
+ record.setCreateUserId(user.getUid());
|
|
|
|
+ record.setCreateUserName(user.getUserName());
|
|
|
|
+ record.setCreateTime(new Date());
|
|
|
|
+ //文件
|
|
|
|
+ if (ObjectUtil.isNotEmpty(record.getFiles())) {
|
|
|
|
+ record.setFDown(String.join("|||", record.getFiles()));
|
|
|
|
+ }
|
|
|
|
+ this.save(record);
|
|
|
|
+ //扣分情形
|
|
|
|
+ List<EnforceDeductRecordSituation> edrsList = record.getEnforceDeductRecordSituationList();
|
|
|
|
+ if (ObjectUtil.isNotEmpty(edrsList)) {
|
|
|
|
+ edrsList.forEach(e -> {
|
|
|
|
+ e.setDeductRecordId(record.getId());
|
|
|
|
+ });
|
|
|
|
+ enforceDeductRecordSituationService.saveBatch(edrsList);
|
|
|
|
+ }
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
|
+ public boolean updateEnforceDeductRecord(EnforceDeductRecord record) {
|
|
|
|
+ SysUser user = SecurityUtils.getLoginUser().getSysUser();
|
|
|
|
+ record.setUpdateUserId(user.getUid());
|
|
|
|
+ record.setUpdateUserName(user.getUserName());
|
|
|
|
+ record.setUpdateTime(new Date());
|
|
|
|
+ //文件
|
|
|
|
+ if (ObjectUtil.isNotEmpty(record.getFiles())) {
|
|
|
|
+ record.setFDown(String.join("|||", record.getFiles()));
|
|
|
|
+ }
|
|
|
|
+ this.updateById(record);
|
|
|
|
+ //扣分情形
|
|
|
|
+ enforceDeductRecordSituationService.remove(new LambdaQueryWrapper<EnforceDeductRecordSituation>()
|
|
|
|
+ .eq(EnforceDeductRecordSituation::getDeductRecordId, record.getId()));
|
|
|
|
+ List<EnforceDeductRecordSituation> edrsList = record.getEnforceDeductRecordSituationList();
|
|
|
|
+ if (ObjectUtil.isNotEmpty(edrsList)) {
|
|
|
|
+ edrsList.forEach(e -> {
|
|
|
|
+ e.setDeductRecordId(record.getId());
|
|
|
|
+ });
|
|
|
|
+ enforceDeductRecordSituationService.saveBatch(edrsList);
|
|
|
|
+ }
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
|
+ public boolean deleteEnforceDeductRecord(Long id) {
|
|
|
|
+ this.removeById(id);
|
|
|
|
+ enforceDeductRecordSituationService.remove(new LambdaQueryWrapper<EnforceDeductRecordSituation>()
|
|
|
|
+ .eq(EnforceDeductRecordSituation::getDeductRecordId, id));
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public EnforceDeductRecord getEnforceDeductRecord(Long id) {
|
|
|
|
+ EnforceDeductRecord record = this.getById(id);
|
|
|
|
+ List<EnforceDeductRecordSituation> list = enforceDeductRecordSituationService
|
|
|
|
+ .list(new LambdaQueryWrapper<EnforceDeductRecordSituation>()
|
|
|
|
+ .eq(EnforceDeductRecordSituation::getDeductRecordId, id));
|
|
|
|
+ if (ObjectUtils.isNotEmpty(list)) {
|
|
|
|
+ record.setEnforceDeductRecordSituationList(list);
|
|
|
|
+ }
|
|
|
|
+ return record;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public List<EnforceDeductRecordDTO> selectEnforceDeductRecordList(EnforceDeductRecordQuery query) {
|
|
|
|
+ if (ObjectUtil.isEmpty(query.getEnforceOrgId())) {
|
|
|
|
+ String orgId = SecurityUtils.getOrgId();
|
|
|
|
+ List<SysDept> sysDepts = deptMapper.selectList(new LambdaQueryWrapper<SysDept>()
|
|
|
|
+ .select(SysDept::getRegionCode, SysDept::getParentId)
|
|
|
|
+ .eq(SysDept::getEnforceOrgId, orgId));
|
|
|
|
+ if (CollectionUtils.isEmpty(sysDepts)) return new ArrayList<>();
|
|
|
|
+ List<Long> parentIds = sysDepts.stream().map(SysDept::getParentId).collect(Collectors.toList());
|
|
|
|
+ //总队
|
|
|
|
+ if (!parentIds.contains(0L)) {
|
|
|
|
+ query.setEnforceOrgId(orgId);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return enforceDeductRecordMapper.list(query);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public List<EnforceEvaluateDTO> selectEvaluateList(EnforceEvaluateQuery param) {
|
|
|
|
+ List<EnforceEvaluateDTO> list = enforceDeductRecordMapper.selectEvaluateList(param);
|
|
|
|
+ List<WReportDeductVo> wReportList = enforceDeductRecordMapper.selectWreportList(param);
|
|
|
|
+ Map<String, List<WReportDeductVo>> wmap = wReportList.stream().collect(Collectors.groupingBy(WReportDeductVo::getOrgId));
|
|
|
|
+ list.forEach(e -> {
|
|
|
|
+ e.setNoProcessScore(e.getNoProcessCount() * 0.5 >= 2 ? 2 : e.getNoProcessCount() * 0.5);
|
|
|
|
+ e.setTimeoutScore(e.getTimeoutCount() * 0.3 >= 2 ? 2 : e.getTimeoutCount() * 0.3);
|
|
|
|
+ e.setDeductScore(e.getDeductScore() >= 2 ? 2 : e.getDeductScore());
|
|
|
|
+ //一个机构的
|
|
|
|
+ List<WReportDeductVo> wReports = wmap.get(e.getEnforceOrgId());
|
|
|
|
+ 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 (ObjectUtils.isNotEmpty(wReports)) {
|
|
|
|
+ for (WReportDeductVo w : wReports) {
|
|
|
|
+ //(一)不当履行职责
|
|
|
|
+ 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;
|
|
|
|
+
|
|
|
|
+ e.setWrongCount(wrongCount);
|
|
|
|
+ e.setWrongScore(wscore + nscore + sscore);
|
|
|
|
+ e.setTotalScore(e.getDeductScore() + e.getWrongScore() + e.getTimeoutScore() + e.getNoProcessScore());
|
|
|
|
+ });
|
|
|
|
+ list.sort(Comparator.comparing(EnforceEvaluateDTO::getTotalScore).thenComparing(EnforceEvaluateDTO::getEnforceOrgId));
|
|
|
|
+ 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;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+}
|