Browse Source

新建模型3、4:执法办案场所登记时长超时问题监督模型、疑似漏登执法办案场所问题监督模型

main
sjh 1 year ago
parent
commit
3d2d610680
  1. 10
      src/main/java/com/biutag/supervision/service/BusinessDepartService.java
  2. 56
      src/main/java/com/biutag/supervision/service/ModelClueService.java

10
src/main/java/com/biutag/supervision/service/BusinessDepartService.java

@ -70,6 +70,16 @@ public class BusinessDepartService extends ServiceImpl<BusinessDepartMapper, Bus
System.out.println("执行完毕");
return null;
}
if (businessQueryParam.getDepartName() != null && businessQueryParam.getDepartName().equals("运行测试3")) {
modelClueService.generate(3);
System.out.println("执行完毕");
return null;
}
if (businessQueryParam.getDepartName() != null && businessQueryParam.getDepartName().equals("运行测试4")) {
modelClueService.generate(4);
System.out.println("执行完毕");
return null;
}
if (businessQueryParam.getDepartName() != null && businessQueryParam.getDepartName().equals("导入单位")) {
externalDepartService.insertPreData();
System.out.println("执行完毕");

56
src/main/java/com/biutag/supervision/service/ModelClueService.java

@ -188,11 +188,28 @@ public class ModelClueService extends ServiceImpl<ModelClueMapper, ModelClue> {
List<ModelClue> modelClues = new ArrayList<>();
if (modelId == 2) { // 2号模型:行政、刑事案件受立案不及时问题监督模型
return getModelCluesForModel2(modelClues);
} else if (modelId == 4) { // 4号模型:疑似漏登执法办案场所问题监督模型
List<Map<String, Object>> maps = modelClueDataMapper.selectByUniqueKeys(sql);
for (Map<String, Object> data : maps) {
ModelClue modelClue = new ModelClue();
modelClue.setData(JSONObject.toJSONString(maps));
modelClue.setStatus(0);
modelClue.setInvolveDepartId((String) data.get("involve_depart_id"));
modelClue.setInvolveDepartName((String) data.get("involve_depart_name"));
modelClue.setThingDesc("在" + getNowTime() + "之前的1个月内," + data.get("involve_depart_name")
+ "的总警情数为" + data.get("zjjs")
+ ",执法场所登记数为" + data.get("zfcsdjs")
+ ",每100起警情执法场所登记比例为" + data.get("bl")
+ ",低于全市平均值(" + data.get("avg_percentage")
+ "%),疑似漏登执法办案场所。");
modelClues.add(modelClue);
}
return modelClues;
} else {
modelClues = modelClueDataMapper.selectDataByDynamicSql(sql);
}
List<String> uniqueKeys = modelClues.stream().map(ModelClue::getUniqueKey).filter(k -> k != null && !k.isEmpty()).toList();
List<String> oldUniqueKeys = this.listObjs(new LambdaQueryWrapper<ModelClue>().select(ModelClue::getUniqueKey).eq(ModelClue::getStatus, 0), String::valueOf);
List<String> oldUniqueKeys = this.listObjs(new LambdaQueryWrapper<ModelClue>().select(ModelClue::getUniqueKey).eq(ModelClue::getStatus, 0).eq(ModelClue::getModelId, modelId), String::valueOf);
List<String> changeStatusIds = oldUniqueKeys.stream().filter(item -> !uniqueKeys.contains(item)).toList();
if (!changeStatusIds.isEmpty()) {
modelClueMapper.update(null, new LambdaUpdateWrapper<ModelClue>().in(ModelClue::getUniqueKey, changeStatusIds).set(ModelClue::getStatus, 1));
@ -221,6 +238,21 @@ public class ModelClueService extends ServiceImpl<ModelClueMapper, ModelClue> {
+ ",当前案件状态为“" + data.get("AJZTmc")
+ "”,已经超过" + "30"
+ "日仍未受理。案件详情:" + thingDesc);
} else if (modelId == 3) { // 3号模型:执法办案场所登记时长超时问题监督模型
if (data.get("lksj") != null && !data.get("lksj").equals("")) {
modelClue.setThingDesc("姓名" + data.get("xm")
+ ",身份证号" + data.get("zjhm")
+ ",于" + formatStringDate((String) data.get("djsj"))
+ "登记进入" + data.get("csmc")
+ ",离开时间为" + formatStringDate((String) data.get("lksj"))
+ ",超过了48小时。");
} else {
modelClue.setThingDesc("姓名" + data.get("xm")
+ ",身份证号" + data.get("zjhm")
+ ",于" + formatStringDate((String) data.get("djsj"))
+ "登记进入" + data.get("csmc")
+ ",没有离开时间。");
}
}
break;
}
@ -245,7 +277,7 @@ public class ModelClueService extends ServiceImpl<ModelClueMapper, ModelClue> {
modelClue.setData(JSONObject.toJSONString(data));
modelClue.setStatus(0);
modelClue.setThingDesc("该" + data.get("jqxzmc")
+ "案件 接警单编号为" + data.get("jjdbh")
+ "警情接警单编号为" + data.get("jjdbh")
+ ",报案时间为" + getDateString(data.get("bjsj"))
+ ",没有匹配到立案时间,受立案不及时。");
break;
@ -269,11 +301,11 @@ public class ModelClueService extends ServiceImpl<ModelClueMapper, ModelClue> {
modelClue.setData(JSONObject.toJSONString(data));
modelClue.setStatus(0);
modelClue.setThingDesc("该" + data.get("jqxzmc")
+ "案件 编号为" + data.get("ajbh")
+ ",接警单编号为" + data.get("jjdbh")
+ "警情接警单编号为" + data.get("jjdbh")
+ ",报案时间为" + getDateString(data.get("bjsj"))
+ ",立案时间为" + data.get("lasj")
+ ",立案时间与报案时间超过7天,受立案不及时。");
+ ",案件编号为" + data.get("ajbh")
+ ",立案时间为" + formatStringDate((String) data.get("lasj"))
+ ",报案时间与立案时间超过7天,受立案不及时。");
break;
}
}
@ -345,4 +377,16 @@ public class ModelClueService extends ServiceImpl<ModelClueMapper, ModelClue> {
return originalFieldName;
}
public static String formatStringDate(String date) {
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime dateTime = LocalDateTime.parse(date, inputFormatter);
return dateTime.format(outputFormatter);
}
public static String getNowTime() {
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
return now.format(formatter);
}
}

Loading…
Cancel
Save