|
|
|
|
@ -94,6 +94,8 @@ public class PointServiceImpl implements PointService {
|
|
|
|
|
private final GBaseJszxxbRepository jszxxbRepository; |
|
|
|
|
private final RiskModelTaskClueRepository riskModelTaskClueRepository; |
|
|
|
|
|
|
|
|
|
private final GBaseWFRXXRepository wFRXXRepository; |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void personPullAndSave() { |
|
|
|
|
riskPersonalService.formatAndSave(getPersons(), Default.POINT_POEPLE); |
|
|
|
|
@ -341,14 +343,14 @@ public class PointServiceImpl implements PointService {
|
|
|
|
|
Map<String, RiskModelTaskClue> oldMap = domain.getOldMap(task.getModelId(), true); |
|
|
|
|
Map<String, Integer> idCode = new HashMap<>(); |
|
|
|
|
log.info("模型116开始查询"); |
|
|
|
|
List<GBaseGAXZCFJDS> list = gAXZCFJDSRepository.getBaseMapper().selectAdministrativePunishment(); |
|
|
|
|
List<GBaseWFRXX> list = wFRXXRepository.getBaseMapper().selectAdministrativePunishment(); |
|
|
|
|
log.info("模型116查询结果数:{}", list.size()); |
|
|
|
|
Map<String, List<GBaseGAXZCFJDS>> gAXZCFJDSMap = list.stream().collect(Collectors.groupingBy(GBaseGAXZCFJDS::getZjhm)); |
|
|
|
|
Map<String, List<GBaseWFRXX>> gAXZCFJDSMap = list.stream().collect(Collectors.groupingBy(GBaseWFRXX::getZjhm)); |
|
|
|
|
Map<String, RiskPersonal> personalMap = domain.getPersons().stream().collect(Collectors.toMap(RiskPersonal::getIdCode, Function.identity(), (old, newVal) -> newVal)); |
|
|
|
|
List<RiskModelTaskClue> toInsert = new ArrayList<>(); |
|
|
|
|
for (Map.Entry<String, List<GBaseGAXZCFJDS>> entry : gAXZCFJDSMap.entrySet()) { |
|
|
|
|
for (Map.Entry<String, List<GBaseWFRXX>> entry : gAXZCFJDSMap.entrySet()) { |
|
|
|
|
String zjhm = entry.getKey(); |
|
|
|
|
List<GBaseGAXZCFJDS> wfrwfxxList = entry.getValue(); |
|
|
|
|
List<GBaseWFRXX> wfrwfxxList = entry.getValue(); |
|
|
|
|
RiskPersonal personal = personalMap.get(zjhm); |
|
|
|
|
if (personal == null) continue; |
|
|
|
|
if (idCode.get(zjhm) != null) continue; |
|
|
|
|
@ -356,7 +358,7 @@ public class PointServiceImpl implements PointService {
|
|
|
|
|
|
|
|
|
|
idCode.put(zjhm, 1); |
|
|
|
|
int score; |
|
|
|
|
String context = wfrwfxxList.stream().map(GBaseGAXZCFJDS::getAjbh).collect(Collectors.joining(",")); |
|
|
|
|
String context = wfrwfxxList.stream().map(GBaseWFRXX::getAjbh).collect(Collectors.joining(",")); |
|
|
|
|
score = Math.min(wfrwfxxList.size(), 5); |
|
|
|
|
ClueData data = ClueData.builder() |
|
|
|
|
.name(personal.getName()) |
|
|
|
|
@ -390,14 +392,14 @@ public class PointServiceImpl implements PointService {
|
|
|
|
|
Map<String, RiskModelTaskClue> oldMap = domain.getOldMap(task.getModelId(), true); |
|
|
|
|
Map<String, Integer> idCode = new HashMap<>(); |
|
|
|
|
log.info("模型115开始查询"); |
|
|
|
|
List<GBaseWFRWFXX> list = wFRWFXXRepository.getBaseMapper().selectCriminalPunishment(); |
|
|
|
|
List<GBaseWFRXX> list = wFRXXRepository.getBaseMapper().selectCriminalPunishment(); |
|
|
|
|
log.info("模型115查询结果数:{}", list.size()); |
|
|
|
|
Map<String, List<GBaseWFRWFXX>> wfrwfxxMap = list.stream().collect(Collectors.groupingBy(GBaseWFRWFXX::getZjhm)); |
|
|
|
|
Map<String, List<GBaseWFRXX>> wfrxxMap = list.stream().collect(Collectors.groupingBy(GBaseWFRXX::getZjhm)); |
|
|
|
|
Map<String, RiskPersonal> personalMap = domain.getPersons().stream().collect(Collectors.toMap(RiskPersonal::getIdCode, Function.identity(), (old, newVal) -> newVal)); |
|
|
|
|
List<RiskModelTaskClue> toInsert = new ArrayList<>(); |
|
|
|
|
for (Map.Entry<String, List<GBaseWFRWFXX>> entry : wfrwfxxMap.entrySet()) { |
|
|
|
|
for (Map.Entry<String, List<GBaseWFRXX>> entry : wfrxxMap.entrySet()) { |
|
|
|
|
String zjhm = entry.getKey(); |
|
|
|
|
List<GBaseWFRWFXX> wfrwfxxList = entry.getValue(); |
|
|
|
|
List<GBaseWFRXX> wfrxxList = entry.getValue(); |
|
|
|
|
RiskPersonal personal = personalMap.get(zjhm); |
|
|
|
|
if (personal == null) continue; |
|
|
|
|
if (idCode.get(zjhm) != null) continue; |
|
|
|
|
@ -405,17 +407,17 @@ public class PointServiceImpl implements PointService {
|
|
|
|
|
|
|
|
|
|
idCode.put(zjhm, 1); |
|
|
|
|
int score; |
|
|
|
|
String context = wfrwfxxList.stream().map(GBaseWFRWFXX::getAjbh).collect(Collectors.joining(",")); |
|
|
|
|
score = Math.min(wfrwfxxList.size(), 5); |
|
|
|
|
String context = wfrxxList.stream().map(GBaseWFRXX::getAjbh).collect(Collectors.joining(",")); |
|
|
|
|
score = Math.min(wfrxxList.size(), 5); |
|
|
|
|
ClueData data = ClueData.builder() |
|
|
|
|
.name(personal.getName()) |
|
|
|
|
.id(personal.getId().toString()) |
|
|
|
|
.idCode(personal.getIdCode()) |
|
|
|
|
.tags(List.of("受到" + wfrwfxxList.size() + "个刑事处罚")) |
|
|
|
|
.tags(List.of("受到" + wfrxxList.size() + "个刑事处罚")) |
|
|
|
|
.score(score) |
|
|
|
|
.eventTime(LocalDateTime.now()) |
|
|
|
|
.personId(personal.getId()) |
|
|
|
|
.sourceData("发现该人员涉及" + wfrwfxxList.size() + "个刑事案件,案件编号为:“" + context + "”") |
|
|
|
|
.sourceData("发现该人员涉及" + wfrxxList.size() + "个刑事案件,案件编号为:“" + context + "”") |
|
|
|
|
.build(); |
|
|
|
|
toInsert.add(DataUtil.createClueData(task, data)); |
|
|
|
|
} |
|
|
|
|
@ -1398,30 +1400,38 @@ public class PointServiceImpl implements PointService {
|
|
|
|
|
|
|
|
|
|
Map<String, RiskModelTaskClue> oldMap = domain.getOldMap(task.getModelId(), true); |
|
|
|
|
Map<String, Integer> idCode = new HashMap<>(); |
|
|
|
|
List<GBaseCSCZRK> list = new ArrayList<>(); |
|
|
|
|
List<String> list = new ArrayList<>(); |
|
|
|
|
log.info("模型118开始查询"); |
|
|
|
|
List<WdpcHZCRYXX> wdpcHZCRYXXS = hZCRYXXRepository.list(new LambdaQueryWrapper<WdpcHZCRYXX>().select(WdpcHZCRYXX::getIdCode)); |
|
|
|
|
List<GBaseCSCZRK> riskHHs = cSCZRKRepository.getBaseMapper().selectRiskHH(); |
|
|
|
|
log.info("模型118查询到{}条户号", riskHHs.size()); |
|
|
|
|
// 切割 每次查10000条
|
|
|
|
|
List<List<WdpcHZCRYXX>> wdpcHZCRYXXSParts = IntStream.range(0, (wdpcHZCRYXXS.size() + 9999) / 10000) |
|
|
|
|
.mapToObj(i -> wdpcHZCRYXXS.subList(i * 10000, Math.min((i + 1) * 10000, wdpcHZCRYXXS.size()))) |
|
|
|
|
List<List<GBaseCSCZRK>> riskHHsParts = IntStream.range(0, (riskHHs.size() + 9999) / 10000) |
|
|
|
|
.mapToObj(i -> riskHHs.subList(i * 10000, Math.min((i + 1) * 10000, riskHHs.size()))) |
|
|
|
|
.toList(); |
|
|
|
|
int i = 1; |
|
|
|
|
for (List<WdpcHZCRYXX> wdpcHZCRYXXSPart : wdpcHZCRYXXSParts) { |
|
|
|
|
List<String> ids = wdpcHZCRYXXSPart.stream().map(WdpcHZCRYXX::getIdCode).toList(); |
|
|
|
|
list.addAll(cSCZRKRepository.getBaseMapper().selectFamilyDiePeople(ids)); |
|
|
|
|
log.info("模型118查询完成{}", i); |
|
|
|
|
i++; |
|
|
|
|
} |
|
|
|
|
log.info("模型118查询结果数:{}", list.size()); |
|
|
|
|
for (List<GBaseCSCZRK> riskHHsPart : riskHHsParts) { |
|
|
|
|
List<String> idCodePart = riskHHsPart.stream().map(GBaseCSCZRK::getGmsfhm).toList(); |
|
|
|
|
List<String> fatherCodePart = riskHHsPart.stream().map(GBaseCSCZRK::getFqgmsfzhm).filter(Objects::nonNull).toList(); |
|
|
|
|
List<String> motherCodePart = riskHHsPart.stream().map(GBaseCSCZRK::getMqgmsfzhm).filter(Objects::nonNull).toList(); |
|
|
|
|
List<String> hhPart = riskHHsPart.stream().map(GBaseCSCZRK::getHh).toList(); |
|
|
|
|
List<GBaseCSCZRK> familys = cSCZRKRepository.getBaseMapper().selectFamilyByHh(hhPart); |
|
|
|
|
log.info("模型118查询到{}条familys", familys.size()); |
|
|
|
|
List<String> familyIds = familys.stream().map(GBaseCSCZRK::getGmsfhm).filter(v -> !idCodePart.contains(v) && !fatherCodePart.contains(v) && !motherCodePart.contains(v)).toList(); |
|
|
|
|
List<String> wdpcHZCRYXXS = hZCRYXXRepository.getBaseMapper().selectHZCPeople(familyIds); |
|
|
|
|
log.info("模型118查询到{}条HZCPeople", wdpcHZCRYXXS.size()); |
|
|
|
|
List<String> targetHHs = familys.stream().filter(v -> wdpcHZCRYXXS.contains(v.getGmsfhm())).map(GBaseCSCZRK::getHh).toList(); |
|
|
|
|
list.addAll(riskHHsPart.stream().filter(v -> targetHHs.contains(v.getHh())).map(GBaseCSCZRK::getGmsfhm).toList()); |
|
|
|
|
log.info("模型118当前listSize:{}", list.size()); |
|
|
|
|
} |
|
|
|
|
log.info("模型118查询完毕,结果数:{}", list.size()); |
|
|
|
|
Map<String, RiskPersonal> personalMap = domain.getPersons().stream().collect(Collectors.toMap(RiskPersonal::getIdCode, Function.identity(), (old, newVal) -> newVal)); |
|
|
|
|
List<RiskModelTaskClue> toInsert = new ArrayList<>(); |
|
|
|
|
for (GBaseCSCZRK domicileType : list) { |
|
|
|
|
RiskPersonal personal = personalMap.get(domicileType.getGmsfhm()); |
|
|
|
|
for (String domicileType : list) { |
|
|
|
|
RiskPersonal personal = personalMap.get(domicileType); |
|
|
|
|
if (personal == null) continue; |
|
|
|
|
if (idCode.get(domicileType.getGmsfhm()) != null) continue; |
|
|
|
|
if (oldMap.get(domicileType.getGmsfhm()) != null) continue; |
|
|
|
|
if (idCode.get(domicileType) != null) continue; |
|
|
|
|
if (oldMap.get(domicileType) != null) continue; |
|
|
|
|
|
|
|
|
|
idCode.put(domicileType.getGmsfhm(), 1); |
|
|
|
|
idCode.put(domicileType, 1); |
|
|
|
|
ClueData data = ClueData.builder() |
|
|
|
|
.name(personal.getName()) |
|
|
|
|
.id(personal.getId().toString()) |
|
|
|
|
|