|
|
|
@ -9,6 +9,7 @@ import com.biutag.supervisiondata.config.cache.RedisDao; |
|
|
|
import com.biutag.supervisiondata.pojo.ClueData; |
|
|
|
import com.biutag.supervisiondata.pojo.ClueData; |
|
|
|
import com.biutag.supervisiondata.pojo.constants.Default; |
|
|
|
import com.biutag.supervisiondata.pojo.constants.Default; |
|
|
|
import com.biutag.supervisiondata.pojo.database.PointOrg; |
|
|
|
import com.biutag.supervisiondata.pojo.database.PointOrg; |
|
|
|
|
|
|
|
import com.biutag.supervisiondata.pojo.domain.Contradict; |
|
|
|
import com.biutag.supervisiondata.pojo.domain.TaskParamDomain; |
|
|
|
import com.biutag.supervisiondata.pojo.domain.TaskParamDomain; |
|
|
|
import com.biutag.supervisiondata.pojo.entity.ads.GBaseSYRKXX; |
|
|
|
import com.biutag.supervisiondata.pojo.entity.ads.GBaseSYRKXX; |
|
|
|
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD; |
|
|
|
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD; |
|
|
|
@ -1001,67 +1002,46 @@ public class GBaseJJDServiceImpl implements GBaseJJDService { |
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public void syncOtherContradict(TaskParamDomain domain) { |
|
|
|
public void syncOtherContradict(TaskParamDomain domain) { |
|
|
|
String startTime = LocalDateTime.of(2023, 12, 6, 0, 0, 0).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); |
|
|
|
String startTime = LocalDateTime.of(2023, 12, 6, 0, 0, 0).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); |
|
|
|
List<GBaseJJD> result = gBaseJJDRepository.getBaseMapper().selectAllContradict(startTime); |
|
|
|
|
|
|
|
List<String> idCodes = taskClueRepository.getBaseMapper().selectContradictModelIdCode(); |
|
|
|
|
|
|
|
RiskTask task = taskRepository.create(result.size(), 75); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Map<String, List<GBaseJJD>> idCodesMap = new WeakHashMap<>(); |
|
|
|
List<Contradict> list = gBaseSYRKXXRepository.getBaseMapper().selectContradict(startTime); |
|
|
|
Map<String, List<GBaseJJD>> mobilesMap = new WeakHashMap<>(); |
|
|
|
RiskTask task = taskRepository.create(list.size(), 75); |
|
|
|
|
|
|
|
|
|
|
|
for (GBaseJJD gBaseJJD : result) { |
|
|
|
Map<String, List<Contradict>> map = list.stream().collect(Collectors.groupingBy(Contradict::getGmsfhm)); |
|
|
|
String idCard = PatternUtil.takeIdCard(gBaseJJD.getCjqk()); |
|
|
|
|
|
|
|
if (idCard.isEmpty()) { |
|
|
|
|
|
|
|
idCard = PatternUtil.takeIdCard(gBaseJJD.getBjnr()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
boolean mobileContinue = false; |
|
|
|
|
|
|
|
if (!idCard.isEmpty()) { |
|
|
|
|
|
|
|
List<String> tmp = Arrays.stream(idCard.split(",")).toList(); |
|
|
|
|
|
|
|
switch (tmp.size()) { |
|
|
|
|
|
|
|
case 0 -> mobileContinue = true; |
|
|
|
|
|
|
|
case 1 -> idCodesMap.computeIfAbsent(tmp.getFirst(), k -> new ArrayList<>()).add(gBaseJJD); |
|
|
|
|
|
|
|
default -> { |
|
|
|
|
|
|
|
for (int i = 1; i < tmp.size(); i++) { |
|
|
|
|
|
|
|
idCodesMap.computeIfAbsent(tmp.get(i), k -> new ArrayList<>()).add(gBaseJJD); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (!mobileContinue) { |
|
|
|
|
|
|
|
continue; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
String mobile = PatternUtil.takeMobile(gBaseJJD.getCjqk()); |
|
|
|
|
|
|
|
if (mobile.isEmpty()) { |
|
|
|
|
|
|
|
mobile = PatternUtil.takeMobile(gBaseJJD.getBjnr()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (mobile.isEmpty()) { |
|
|
|
|
|
|
|
continue; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
List<String> tmp = Arrays.stream(mobile.split(",")).toList(); |
|
|
|
|
|
|
|
switch (tmp.size()) { |
|
|
|
|
|
|
|
case 0 -> { |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
case 1 -> mobilesMap.computeIfAbsent(tmp.getFirst(), k -> new ArrayList<>()).add(gBaseJJD); |
|
|
|
|
|
|
|
default -> { |
|
|
|
|
|
|
|
for (int i = 1; i < tmp.size(); i++) { |
|
|
|
|
|
|
|
mobilesMap.computeIfAbsent(tmp.get(i), k -> new ArrayList<>()).add(gBaseJJD); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Map<String, Byte[]> manMap = new WeakHashMap<>(); |
|
|
|
|
|
|
|
idCodes.forEach(item -> manMap.put(item, new Byte[0])); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<RiskModelTaskClue> oldList = Optional.ofNullable(domain.getMap().get(task.getModelId())).orElse(new ArrayList<>()); |
|
|
|
Map<String, RiskModelTaskClue> oldMap = domain.getOldMap(task.getModelId(), true); |
|
|
|
Map<String, List<RiskModelTaskClue>> oldMap = oldList.stream().collect(Collectors.groupingBy(RiskModelTaskClue::getIdCode)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<RiskModelTaskClue> toInsert = new ArrayList<>(); |
|
|
|
List<RiskModelTaskClue> toInsert = new ArrayList<>(); |
|
|
|
for (RiskPersonal person : domain.getPersons()) { |
|
|
|
for (RiskPersonal person : domain.getPersons()) { |
|
|
|
if (manMap.get(person.getIdCode()) != null) { |
|
|
|
List<Contradict> contradicts = map.get(person.getIdCode()); |
|
|
|
// 非其他纠纷
|
|
|
|
if (contradicts == null) { |
|
|
|
|
|
|
|
continue; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (oldMap.get(person.getIdCode()) != null) { |
|
|
|
continue; |
|
|
|
continue; |
|
|
|
} |
|
|
|
} |
|
|
|
toInsert.addAll(collectionClue(idCodesMap, mobilesMap, person, oldMap, task, "其他纠纷")); |
|
|
|
StringBuilder sb = new StringBuilder("该人员涉及"); |
|
|
|
|
|
|
|
for (Contradict contradict : contradicts) { |
|
|
|
|
|
|
|
switch (contradict.getType()) { |
|
|
|
|
|
|
|
case "0" -> |
|
|
|
|
|
|
|
sb.append("\n").append("简单矛盾纠纷").append(contradict.getNumber().toString()).append("起"); |
|
|
|
|
|
|
|
case "1" -> |
|
|
|
|
|
|
|
sb.append("\n").append("一般矛盾纠纷").append(contradict.getNumber().toString()).append("起"); |
|
|
|
|
|
|
|
case "2" -> |
|
|
|
|
|
|
|
sb.append("\n").append("复杂疑难矛盾纠纷").append(contradict.getNumber().toString()).append("起"); |
|
|
|
|
|
|
|
case "3" -> |
|
|
|
|
|
|
|
sb.append("\n").append("重大矛盾纠纷").append(contradict.getNumber().toString()).append("起"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
toInsert.add(DataUtil.createClueData(task, ClueData.builder() |
|
|
|
|
|
|
|
.name(person.getName()) |
|
|
|
|
|
|
|
.id("") |
|
|
|
|
|
|
|
.idCode(person.getIdCode()) |
|
|
|
|
|
|
|
.tags(List.of("其他矛盾纠纷")) |
|
|
|
|
|
|
|
.personId(person.getId()) |
|
|
|
|
|
|
|
.eventTime(null) |
|
|
|
|
|
|
|
.sourceData(sb.substring(0, sb.length() - 1)) |
|
|
|
|
|
|
|
.score(5) |
|
|
|
|
|
|
|
.build())); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (!toInsert.isEmpty()) { |
|
|
|
if (!toInsert.isEmpty()) { |
|
|
|
@ -1114,7 +1094,8 @@ public class GBaseJJDServiceImpl implements GBaseJJDService { |
|
|
|
} |
|
|
|
} |
|
|
|
List<String> tmp = Arrays.stream(mobile.split(",")).toList(); |
|
|
|
List<String> tmp = Arrays.stream(mobile.split(",")).toList(); |
|
|
|
switch (tmp.size()) { |
|
|
|
switch (tmp.size()) { |
|
|
|
case 0 -> {} |
|
|
|
case 0 -> { |
|
|
|
|
|
|
|
} |
|
|
|
case 1 -> mobilesMap.computeIfAbsent(tmp.getFirst(), k -> new ArrayList<>()).add(gBaseJJD); |
|
|
|
case 1 -> mobilesMap.computeIfAbsent(tmp.getFirst(), k -> new ArrayList<>()).add(gBaseJJD); |
|
|
|
default -> { |
|
|
|
default -> { |
|
|
|
for (int i = 1; i < tmp.size(); i++) { |
|
|
|
for (int i = 1; i < tmp.size(); i++) { |
|
|
|
|