Browse Source

fix: 解决冲突

main
wxc 1 year ago
parent
commit
614670d737
  1. 25
      src/main/java/com/biutag/supervision/constants/enums/MailTrendSourcesEnum.java
  2. 47
      src/main/java/com/biutag/supervision/controller/datav/DataPetitionComplaintViewController.java
  3. 10
      src/main/java/com/biutag/supervision/mapper/DataPetitionComplaintMapper.java
  4. 2
      src/main/java/com/biutag/supervision/mapper/RpcApplyMapper.java
  5. 3
      src/main/java/com/biutag/supervision/pojo/entity/SupPolice.java
  6. 11
      src/main/java/com/biutag/supervision/pojo/vo/RecentMailTrendVo.java
  7. 16
      src/main/java/com/biutag/supervision/service/DataPetitionComplaintService.java
  8. 226
      src/main/java/com/biutag/supervision/service/ModelClueService.java

25
src/main/java/com/biutag/supervision/constants/enums/MailTrendSourcesEnum.java

@ -0,0 +1,25 @@
package com.biutag.supervision.constants.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum MailTrendSourcesEnum {
ONE(1, 21),
TWO(2, 22),
THREE(3, 23),
FOUR(4, 24);
private final int code; // 前端传来的code
private final int mappedCode; // 后端需要用到的code
public static int getMappedCodeByCode(int code) {
for (MailTrendSourcesEnum value : MailTrendSourcesEnum.values()) {
if (value.code == code) {
return value.getMappedCode();
}
}
throw new IllegalArgumentException("Invalid sourcesCode: " + code);
}
}

47
src/main/java/com/biutag/supervision/controller/datav/DataPetitionComplaintViewController.java

@ -11,15 +11,17 @@ import com.biutag.supervision.mapper.DataPetitionComplaintMapper;
import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.dto.CaseVerifDepart;
import com.biutag.supervision.pojo.entity.DataPetitionComplaint;
import com.biutag.supervision.pojo.vo.RecentMailTrendVo;
import com.biutag.supervision.service.DataPetitionComplaintService;
import lombok.RequiredArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -75,5 +77,42 @@ public class DataPetitionComplaintViewController {
return Result.success(data);
}
/**
* 信访数据大屏信访趋势统计
*/
@GetMapping("/getRecentlyMailTrend")
public Result<JSONObject> getRecentlyMailTrend(@RequestParam Integer sourcesCode,
@RequestParam Integer days,
@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date startTime,
@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime
) {
JSONObject jsonObject = new JSONObject();
// 库中的数据 2024/10/24 22
List<RecentMailTrendVo> recentMailTrendVoList = dataPetitionComplaintService.getRecentlyMailTrend(sourcesCode, days, endTime);
ArrayList<String> dayList = new ArrayList<>();
ArrayList<String> totalList = new ArrayList<>();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
LocalDate previousDate = null;
for (RecentMailTrendVo recentMailTrendVo : recentMailTrendVoList) {
// 获取当前日期
LocalDate currentDate = LocalDate.parse(recentMailTrendVo.getDayTime(), formatter);
if (previousDate != null) {
while (ChronoUnit.DAYS.between(previousDate, currentDate) > 1) {
previousDate = previousDate.plusDays(1); // 日期加1
String res = previousDate.format(formatter); // 格式化日期
dayList.add(res.substring(res.indexOf('/') + 1)); // 添加到dayList
totalList.add("0"); // 插入没有数据的日期,总数为0
}
}
String res = currentDate.format(formatter);
dayList.add(res.substring(res.indexOf('/') + 1));
totalList.add(recentMailTrendVo.getTotal());
previousDate = currentDate;
}
jsonObject.fluentPut("dayList", dayList);
jsonObject.fluentPut("totalList", totalList);
return Result.success(jsonObject);
}
}

10
src/main/java/com/biutag/supervision/mapper/DataPetitionComplaintMapper.java

@ -3,6 +3,7 @@ package com.biutag.supervision.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.biutag.supervision.pojo.dto.CaseVerifDepart;
import com.biutag.supervision.pojo.entity.DataPetitionComplaint;
import com.biutag.supervision.pojo.vo.RecentMailTrendVo;
import org.apache.ibatis.annotations.Select;
import java.util.Date;
@ -71,4 +72,13 @@ public interface DataPetitionComplaintMapper extends BaseMapper<DataPetitionComp
"GROUP BY temp.second_depart_id " +
"ORDER BY value DESC")
List<CaseVerifDepart> selectMassMail(Integer id, int isMass, Date beginTime, Date endTime);
@Select("SELECT DATE_FORMAT(dpc.discovery_time, '%Y/%m/%d') AS dayTime, COUNT(*) total " +
"FROM data_petition_complaint dpc " +
"WHERE dpc.discovery_time BETWEEN #{frontDay} AND #{currentDay} " +
"AND problem_sources_code = #{sourcesCode} " +
"GROUP BY dayTime " +
"ORDER BY dpc.discovery_time asc;")
List<RecentMailTrendVo> selectRecentlyMailTrend(Integer sourcesCode, String frontDay, String currentDay);
}

2
src/main/java/com/biutag/supervision/mapper/RpcApplyMapper.java

@ -19,7 +19,7 @@ public interface RpcApplyMapper extends BaseMapper<RpcApply> {
"WHERE b.apply_date BETWEEN #{beginTime} AND #{endTime} AND b.type = 2")
List<String> getHitPeople(Date beginTime, Date endTime);
@Select("SELECT SUM(a.provide_relief) FROM rpc_apply_person a LEFT JOIN rpc_apply b ON a.rpc_id = b.rpc_id " +
@Select("SELECT COALESCE(SUM(a.provide_relief), 0.0) FROM rpc_apply_person a LEFT JOIN rpc_apply b ON a.rpc_id = b.rpc_id " +
"WHERE b.apply_date BETWEEN #{beginTime} AND #{endTime} AND b.type = 2")
Double countComfortMoney(Date beginTime, Date endTime);

3
src/main/java/com/biutag/supervision/pojo/entity/SupPolice.java

@ -7,12 +7,11 @@ import jakarta.validation.constraints.NotBlank;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
import java.time.LocalDate;
@Setter
@Getter
public class SupPolice implements Serializable {
public class SupPolice {
//

11
src/main/java/com/biutag/supervision/pojo/vo/RecentMailTrendVo.java

@ -0,0 +1,11 @@
package com.biutag.supervision.pojo.vo;
import lombok.Data;
import java.util.List;
@Data
public class RecentMailTrendVo {
private String dayTime; // 10/01
private String total; // 10
}

16
src/main/java/com/biutag/supervision/service/DataPetitionComplaintService.java

@ -13,12 +13,16 @@ import com.biutag.supervision.mapper.DataPetitionComplaintMapper;
import com.biutag.supervision.pojo.dto.*;
import com.biutag.supervision.pojo.entity.DataPetitionComplaint;
import com.biutag.supervision.pojo.param.DataPetitionComplaintQueryParam;
import com.biutag.supervision.pojo.vo.RecentMailTrendVo;
import lombok.RequiredArgsConstructor;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.List;
@ -202,5 +206,15 @@ public class DataPetitionComplaintService extends ServiceImpl<DataPetitionCompla
}
public List<RecentMailTrendVo> getRecentlyMailTrend(Integer sourcesCode, Integer days, Date endTime) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
// 将 endTime 转换为 LocalDate
LocalDate endLocalDate = endTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
String currentDay = endLocalDate.format(formatter); // 前端页面的最后查询日期
LocalDate frontDateDay = endLocalDate.minusDays(days); // days天前
String frontDay = frontDateDay.format(formatter);
List<RecentMailTrendVo> recentMailTrendVos =
dataPetitionComplaintMapper.selectRecentlyMailTrend(MailTrendSourcesEnum.getMappedCodeByCode(sourcesCode), frontDay, currentDay);
return recentMailTrendVos;
}
}

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

@ -27,6 +27,7 @@ import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@ -162,18 +163,20 @@ public class ModelClueService extends ServiceImpl<ModelClueMapper, ModelClue> {
public void generate(Integer modelId) {
Model model = modelMapper.selectById(modelId);
List<ModelClue> modelClues = new ArrayList<>();
if (!Objects.isNull(model)) {
if (model.getModelSql() != null) {
modelClues.addAll(getModelClueBySql(model.getModelSql(), modelId));
}
if (!Objects.isNull(model) && model.getModelSql() != null) {
modelClues.addAll(getModelClueBySql(model.getModelSql(), modelId));
}
if (!modelClues.isEmpty()) {
List<ModelClue> result = new ArrayList<>();
for (ModelClue modelClue : modelClues) {
modelClue.setModelId(modelId);
modelClue.setCreateTime(LocalDateTime.now());
if (modelClue.getInvolveDepartName() != null && !modelClue.getInvolveDepartName().isEmpty()) {
result.add(modelClue);
}
}
modelClueMapper.insert(modelClues);
modelClueRecordMapper.insert(new ModelClueRecord().setModelId(modelId).setSize(modelClues.size()).setCreateTime(LocalDateTime.now()).setState("success"));
modelClueMapper.insert(result);
modelClueRecordMapper.insert(new ModelClueRecord().setModelId(modelId).setSize(result.size()).setCreateTime(LocalDateTime.now()).setState("success"));
} else {
modelClueRecordMapper.insert(new ModelClueRecord().setModelId(modelId).setSize(0).setCreateTime(LocalDateTime.now()).setState("fail").setErrMsg("数据为空"));
}
@ -219,7 +222,7 @@ public class ModelClueService extends ServiceImpl<ModelClueMapper, ModelClue> {
modelClue.setInvolveDepartId(supExternalDepart.getInternalId());
}
setPerson(modelId, modelClue, data);
generateZFBAThingDesc(modelId, modelClue, data);
generateThingDesc(modelId, modelClue, data);
break;
}
}
@ -229,83 +232,49 @@ public class ModelClueService extends ServiceImpl<ModelClueMapper, ModelClue> {
private void setPerson(Integer modelId, ModelClue modelClue, Map<String, Object> data) {
if (modelId == 3) { // 执法区域人员表
if (data.get("bar1") != null && !data.get("bar1").equals("")) {
if (data.get("bar2") != null && !data.get("bar2").equals("")) {
modelClue.setInvolvePoliceName(data.get("bar1") + "," + data.get("bar2"));
} else {
modelClue.setInvolvePoliceName((String) data.get("bar1"));
}
} else {
if (data.get("bar2") != null && !data.get("bar2").equals("")) {
modelClue.setInvolvePoliceName((String) data.get("bar2"));
} else {
modelClue.setInvolvePoliceName("无数据");
}
}
if (data.get("bar1jh") != null && !data.get("bar1jh").equals("")) {
if (data.get("bar2jh") != null && !data.get("bar2jh").equals("")) {
modelClue.setInvolvePoliceEmpNo(data.get("bar1jh") + "," + data.get("bar2jh"));
String bar1 = (String) data.get("bar1");
String bar2 = (String) data.get("bar2");
String involvePoliceName = (bar1 != null && !bar1.isEmpty() && bar2 != null && !bar2.isEmpty())
? bar1 + "," + bar2
: (bar1 != null && !bar1.isEmpty()) ? bar1
: (bar2 != null && !bar2.isEmpty()) ? bar2 : "无数据";
modelClue.setInvolvePoliceName(involvePoliceName);
String bar1jh = (String) data.get("bar1jh");
String bar2jh = (String) data.get("bar2jh");
if (bar1jh != null && !bar1jh.isEmpty()) {
if (bar2jh != null && !bar2jh.isEmpty()) {
modelClue.setInvolvePoliceEmpNo(bar1jh + "," + bar2jh);
} else {
modelClue.setInvolvePoliceEmpNo((String) data.get("bar1jh"));
modelClue.setInvolvePoliceEmpNo(bar1jh);
}
} else if (bar2jh != null && !bar2jh.isEmpty()) {
modelClue.setInvolvePoliceEmpNo(bar2jh);
} else {
if (data.get("bar2jh") != null && !data.get("bar2jh").equals("")) {
modelClue.setInvolvePoliceEmpNo((String) data.get("bar2jh"));
} else {
modelClue.setInvolvePoliceEmpNo("无数据");
}
modelClue.setInvolvePoliceEmpNo("无数据");
}
}
if (modelId == 10 || modelId == 11 || modelId == 12 || modelId == 13 || modelId == 14 || modelId == 15) { // 案件基本信息表
Map<String, Object> bar1;
Map<String, Object> bar2;
if (data.get("BAR1ID") != null && !data.get("BAR1ID").equals("")) {
bar1 = modelClueDataMapper.selectBAR((String) data.get("BAR1ID"));
if (data.get("BAR2ID") != null && !data.get("BAR2ID").equals("")) {
bar2 = modelClueDataMapper.selectBAR((String) data.get("BAR2ID"));
if (bar1 != null) {
if (bar2 != null) {
modelClue.setInvolvePoliceEmpNo(bar1.get("JH") + "," + bar2.get("JH"));
modelClue.setInvolvePoliceName(bar1.get("XM") + "," + bar2.get("XM"));
} else {
modelClue.setInvolvePoliceEmpNo((String) bar1.get("JH"));
modelClue.setInvolvePoliceName((String) bar1.get("XM"));
}
} else if (bar2 != null) {
modelClue.setInvolvePoliceEmpNo((String) bar2.get("JH"));
modelClue.setInvolvePoliceName((String) bar2.get("XM"));
} else {
modelClue.setInvolvePoliceEmpNo("无数据");
modelClue.setInvolvePoliceName("无数据");
}
} else {
if (bar1 != null) {
modelClue.setInvolvePoliceEmpNo((String) bar1.get("JH"));
modelClue.setInvolvePoliceName((String) bar1.get("XM"));
} else {
modelClue.setInvolvePoliceEmpNo("无数据");
modelClue.setInvolvePoliceName("无数据");
}
}
String bar1Id = (String) data.get("BAR1ID");
String bar2Id = (String) data.get("BAR2ID");
Map<String, Object> bar1 = bar1Id != null && !bar1Id.isEmpty() ? modelClueDataMapper.selectBAR(bar1Id) : null;
Map<String, Object> bar2 = bar2Id != null && !bar2Id.isEmpty() ? modelClueDataMapper.selectBAR(bar2Id) : null;
if (bar1 != null && bar2 != null) {
modelClue.setInvolvePoliceEmpNo(bar1.get("JH") + "," + bar2.get("JH"));
modelClue.setInvolvePoliceName(bar1.get("XM") + "," + bar2.get("XM"));
} else if (bar1 != null) {
modelClue.setInvolvePoliceEmpNo((String) bar1.get("JH"));
modelClue.setInvolvePoliceName((String) bar1.get("XM"));
} else if (bar2 != null) {
modelClue.setInvolvePoliceEmpNo((String) bar2.get("JH"));
modelClue.setInvolvePoliceName((String) bar2.get("XM"));
} else {
if (data.get("bar2jh") != null && !data.get("bar2jh").equals("")) {
bar2 = modelClueDataMapper.selectBAR((String) data.get("BAR2ID"));
if (bar2 != null) {
modelClue.setInvolvePoliceEmpNo((String) bar2.get("JH"));
modelClue.setInvolvePoliceName((String) bar2.get("XM"));
} else {
modelClue.setInvolvePoliceEmpNo("无数据");
modelClue.setInvolvePoliceName("无数据");
}
} else {
modelClue.setInvolvePoliceEmpNo("无数据");
modelClue.setInvolvePoliceName("无数据");
}
modelClue.setInvolvePoliceEmpNo("无数据");
modelClue.setInvolvePoliceName("无数据");
}
}
}
private static void generateZFBAThingDesc(Integer modelId, ModelClue modelClue, Map<String, Object> data) {
private static void generateThingDesc(Integer modelId, ModelClue modelClue, Map<String, Object> data) {
if (modelId == 1) { // 1号模型:行政、刑事案件受理30天仍未立案问题监督模型
String thingDesc = modelClue.getThingDesc();
modelClue.setThingDesc("该" + data.get("AJBZmc")
@ -331,13 +300,21 @@ public class ModelClueService extends ServiceImpl<ModelClueMapper, ModelClue> {
+ ",没有离开时间。");
}
} else if (modelId == 10) { // 10号模型:案件受理不及时的异常数据
modelClue.setThingDesc("该" + data.get("AJBZmc")
+ "案件编号为" + getAjbh(data)
+ ",报案日期为" + getDateString(data.get("BARQ"))
+ ",受理日期为" + getDateString(data.get("SLRQ"))
+ ",当前案件状态为“" + data.get("AJZTmc")
+ "”,超过" + "3"
+ "日未受理。");
String calculateDays = calculateDaysBetween(data.get("BARQ"), data.get("SLRQ"));
if (calculateDays != null) {
modelClue.setThingDesc(
"发现编号为" + getAjbh(data)
+ "的" + data.get("AJBZmc") + "案件,报案日期为" + getDateString(data.get("BARQ"))
+ ",但受理日期为" + getDateString(data.get("SLRQ"))
+ ",受理时间超过了报案日期" + calculateDaysBetween(data.get("BARQ"), data.get("SLRQ"))
+ "日,当前案件状态为“" + data.get("AJZTmc") + "”,存在案件受理不及时的问题。");
} else {
modelClue.setThingDesc(
"发现编号为" + getAjbh(data)
+ "的" + data.get("AJBZmc") + "案件,报案日期为" + getDateString(data.get("BARQ"))
+ ",但受理日期为" + getDateString(data.get("SLRQ"))
+ ",受理时间超过了报案日期,当前案件状态为“" + data.get("AJZTmc") + "”,存在案件受理不及时的问题。");
}
} else if (modelId == 11) { // 11号模型:立案不及时的异常数据(7天)
modelClue.setThingDesc("该" + data.get("AJBZmc")
+ "案件编号为" + getAjbh(data)
@ -378,13 +355,8 @@ public class ModelClueService extends ServiceImpl<ModelClueMapper, ModelClue> {
}
private static String getAjbh(Map<String, Object> data) {
String AJBH;
if (data.get("AJBH") == null || data.get("AJBH").equals("")) {
AJBH = "空";
} else {
AJBH = (String) data.get("AJBH");
}
return AJBH;
String ajbh = (String) data.get("AJBH");
return ajbh == null || ajbh.isEmpty() ? "无案件编号数据" : ajbh;
}
private List<ModelClue> getModelCluesForModel4(String param, List<ModelClue> modelClues) {
@ -496,7 +468,7 @@ public class ModelClueService extends ServiceImpl<ModelClueMapper, ModelClue> {
private void getModelCluesForModel16(String param, List<ModelClue> modelClues) {
System.out.println("模型16开始查询数据库");
List<String> params = parseSqlForModel2(param);
String selectSfzh = "SELECT count(sfzh) as num, sfzh FROM dwd_wp_zfba_qbhsjds WHERE STR_TO_DATE(pzrq, '%Y%m%d%H%i%s') BETWEEN '" + params.get(0) + " 00:00:00' AND '" + params.get(1) + " 00:00:00' GROUP BY sfzh HAVING count(sfzh) > 2;";
String selectSfzh = "SELECT count(sfzh) as num, sfzh FROM dwd_wp_zfba_qbhsjds WHERE STR_TO_DATE(pzrq, '%Y%m%d%H%i%s') BETWEEN '" + params.get(0) + " 00:00:00' AND '" + params.get(1) + " 00:00:00' GROUP BY sfzh, ajbh HAVING count(sfzh) > 2;";
List<Map<String, Object>> sfzhList = modelClueDataMapper.selectByUniqueKeys(selectSfzh);
Map<String, Long> sfzhMap = sfzhList.stream().filter(map -> map.get("sfzh") != null).collect(Collectors.toMap(
map -> (String) map.get("sfzh"),
@ -530,38 +502,32 @@ public class ModelClueService extends ServiceImpl<ModelClueMapper, ModelClue> {
}
}
}
if (modelClue.get("bar1xm") != null) {
if (modelClue.get("bar2xm") != null) {
newModelClue.setInvolvePoliceName(modelClue.get("bar1xm") + "、" + modelClue.get("bar2xm"));
} else {
if (modelClue.get("bar1xm") != null && modelClue.get("bar2xm") != null) {
newModelClue.setInvolvePoliceName(modelClue.get("bar1xm") + "、" + modelClue.get("bar2xm"));
} else if (modelClue.get("bar1xm") != null){
newModelClue.setInvolvePoliceName((String) modelClue.get("bar1xm"));
}
} else {
if (modelClue.get("bar2xm") != null) {
} else if (modelClue.get("bar2xm") != null){
newModelClue.setInvolvePoliceName((String) modelClue.get("bar2xm"));
} else {
} else {
newModelClue.setInvolvePoliceName("无数据");
}
}
Map<String, Object> bar1 = modelClueDataMapper.selectBAR((String) modelClue.get("bar1id"));
Map<String, Object> bar2 = modelClueDataMapper.selectBAR((String) modelClue.get("bar2id"));
if (bar1 != null && bar1.get("JH") != null) {
if (bar2 != null && bar2.get("JH") != null) {
newModelClue.setInvolvePoliceEmpNo(bar1.get("JH") + "、" + bar2.get("JH"));
} else {
newModelClue.setInvolvePoliceEmpNo((String) bar1.get("JH"));
}
String jh1 = bar1 == null ? null : (String) bar1.get("JH");
String jh2 = bar2 == null ? null : (String) bar2.get("JH");
if (jh1 != null && jh2 != null) {
newModelClue.setInvolvePoliceEmpNo(jh1 + "、" + jh2);
} else if (jh1 != null) {
newModelClue.setInvolvePoliceEmpNo(jh1);
} else if (jh2 != null) {
newModelClue.setInvolvePoliceEmpNo(jh2);
} else {
if (bar2 != null && bar2.get("JH") != null) {
newModelClue.setInvolvePoliceEmpNo((String) bar2.get("JH"));
} else {
newModelClue.setInvolvePoliceEmpNo("无数据");
}
newModelClue.setInvolvePoliceEmpNo("无数据");
}
newModelClue.setData(JSONObject.toJSONString(modelClue));
newModelClue.setStatus(0);
newModelClue.setThingDesc("在" + params.get(0) + "到" + params.get(1) + "之间,"
+ (String) modelClue.get("xm")
+ modelClue.get("xm")
+ "(身份证号:" + modelClue.get("sfzh") + ")的取保次数为"
+ sfzhMap.get((String) modelClue.get("sfzh")) + "次,大于2次,属于多次取保异常数据。");
modelClues.add(newModelClue);
@ -675,23 +641,15 @@ public class ModelClueService extends ServiceImpl<ModelClueMapper, ModelClue> {
List<ModelClue> modelClues1 = modelClueDataMapper.selectDataByDynamicSql(preSql + "盗" + postSql);
System.out.println("模型2开始查询数据库 骗");
List<ModelClue> modelClues2 = modelClueDataMapper.selectDataByDynamicSql(preSql + "骗" + postSql);
System.out.println("模型2开始查询数据库 强奸");
List<ModelClue> modelClues3 = modelClueDataMapper.selectDataByDynamicSql(preSql + "强奸" + postSql);
System.out.println("模型2开始查询数据库 抢");
List<ModelClue> modelClues4 = modelClueDataMapper.selectDataByDynamicSql(preSql + "抢" + postSql);
System.out.println("模型2开始查询数据库 10岁");
List<ModelClue> modelClues5 = modelClueDataMapper.selectDataByDynamicSql(preSql + "10岁" + postSql);
System.out.println("模型2开始查询数据库 11岁");
List<ModelClue> modelClues6 = modelClueDataMapper.selectDataByDynamicSql(preSql + "11岁" + postSql);
System.out.println("模型2开始查询数据库 12岁");
List<ModelClue> modelClues7 = modelClueDataMapper.selectDataByDynamicSql(preSql + "12岁" + postSql);
System.out.println("模型2开始查询数据库 13岁");
List<ModelClue> modelClues8 = modelClueDataMapper.selectDataByDynamicSql(preSql + "13岁" + postSql);
System.out.println("模型2开始查询数据库 14岁");
List<ModelClue> modelClues9 = modelClueDataMapper.selectDataByDynamicSql(preSql + "14岁" + postSql);
System.out.println("模型2开始查询数据库 15岁");
List<ModelClue> modelClues10 = modelClueDataMapper.selectDataByDynamicSql(preSql + "15岁" + postSql);
System.out.println("模型2开始查询数据库 16岁");
List<ModelClue> modelClues11 = modelClueDataMapper.selectDataByDynamicSql(preSql + "16岁" + postSql);
System.out.println("模型2开始查询数据库 未成年");
List<ModelClue> modelClues12 = modelClueDataMapper.selectDataByDynamicSql(preSql + "未成年" + postSql);
@ -712,7 +670,7 @@ public class ModelClueService extends ServiceImpl<ModelClueMapper, ModelClue> {
Instant instant = parse.toInstant();
ZoneId zoneId = ZoneId.systemDefault();
LocalDateTime localDateTime = instant.atZone(zoneId).toLocalDateTime();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日HH时mm分");
return formatter.format(localDateTime);
} catch (Exception e) {
try {
@ -722,7 +680,7 @@ public class ModelClueService extends ServiceImpl<ModelClueMapper, ModelClue> {
Instant instant = parse.toInstant();
ZoneId zoneId = ZoneId.systemDefault();
LocalDateTime localDateTime = instant.atZone(zoneId).toLocalDateTime();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日HH时mm分");
return formatter.format(localDateTime);
} catch (Exception ex) {
log.info("日期转换异常{}", time, ex);
@ -732,6 +690,36 @@ public class ModelClueService extends ServiceImpl<ModelClueMapper, ModelClue> {
return " 无时间数据 ";
}
public static String calculateDaysBetween(Object param1, Object param2) {
if (param1 == null || param2 == null) {
return null;
}
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
Date date1 = sdf.parse(String.valueOf(param1));
Date date2 = sdf.parse(String.valueOf(param2));
LocalDateTime dateTime1 = date1.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
LocalDateTime dateTime2 = date2.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
LocalDateTime nextDay = dateTime1.plusDays(1);
long daysBetween = ChronoUnit.DAYS.between(nextDay, dateTime2);
return String.valueOf(daysBetween);
} catch (Exception e) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");
Date date1 = sdf.parse(String.valueOf(param1));
Date date2 = sdf.parse(String.valueOf(param2));
LocalDateTime dateTime1 = date1.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
LocalDateTime dateTime2 = date2.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
LocalDateTime nextDay = dateTime1.plusDays(1);
long daysBetween = ChronoUnit.DAYS.between(nextDay, dateTime2);
return String.valueOf(daysBetween);
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
}
}
public static String generateNewSql(String originalSql, List<String> uniqueKeys) {
Pattern tablePattern = Pattern.compile("FROM\\s+(\\w+)", Pattern.CASE_INSENSITIVE);
Matcher tableMatcher = tablePattern.matcher(originalSql);

Loading…
Cancel
Save