|
|
|
|
@ -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); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|