|
|
|
@ -1400,30 +1400,38 @@ public class PointServiceImpl implements PointService { |
|
|
|
|
|
|
|
|
|
|
|
Map<String, RiskModelTaskClue> oldMap = domain.getOldMap(task.getModelId(), true); |
|
|
|
Map<String, RiskModelTaskClue> oldMap = domain.getOldMap(task.getModelId(), true); |
|
|
|
Map<String, Integer> idCode = new HashMap<>(); |
|
|
|
Map<String, Integer> idCode = new HashMap<>(); |
|
|
|
List<GBaseCSCZRK> list = new ArrayList<>(); |
|
|
|
List<String> list = new ArrayList<>(); |
|
|
|
log.info("模型118开始查询"); |
|
|
|
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条
|
|
|
|
// 切割 每次查10000条
|
|
|
|
List<List<WdpcHZCRYXX>> wdpcHZCRYXXSParts = IntStream.range(0, (wdpcHZCRYXXS.size() + 9999) / 10000) |
|
|
|
List<List<GBaseCSCZRK>> riskHHsParts = IntStream.range(0, (riskHHs.size() + 9999) / 10000) |
|
|
|
.mapToObj(i -> wdpcHZCRYXXS.subList(i * 10000, Math.min((i + 1) * 10000, wdpcHZCRYXXS.size()))) |
|
|
|
.mapToObj(i -> riskHHs.subList(i * 10000, Math.min((i + 1) * 10000, riskHHs.size()))) |
|
|
|
.toList(); |
|
|
|
.toList(); |
|
|
|
int i = 1; |
|
|
|
for (List<GBaseCSCZRK> riskHHsPart : riskHHsParts) { |
|
|
|
for (List<WdpcHZCRYXX> wdpcHZCRYXXSPart : wdpcHZCRYXXSParts) { |
|
|
|
List<String> idCodePart = riskHHsPart.stream().map(GBaseCSCZRK::getGmsfhm).toList(); |
|
|
|
List<String> ids = wdpcHZCRYXXSPart.stream().map(WdpcHZCRYXX::getIdCode).toList(); |
|
|
|
List<String> fatherCodePart = riskHHsPart.stream().map(GBaseCSCZRK::getFqgmsfzhm).filter(Objects::nonNull).toList(); |
|
|
|
list.addAll(cSCZRKRepository.getBaseMapper().selectFamilyDiePeople(ids)); |
|
|
|
List<String> motherCodePart = riskHHsPart.stream().map(GBaseCSCZRK::getMqgmsfzhm).filter(Objects::nonNull).toList(); |
|
|
|
log.info("模型118查询完成{}", i); |
|
|
|
List<String> hhPart = riskHHsPart.stream().map(GBaseCSCZRK::getHh).toList(); |
|
|
|
i++; |
|
|
|
List<GBaseCSCZRK> familys = cSCZRKRepository.getBaseMapper().selectFamilyByHh(hhPart); |
|
|
|
} |
|
|
|
log.info("模型118查询到{}条familys", familys.size()); |
|
|
|
log.info("模型118查询结果数:{}", list.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)); |
|
|
|
Map<String, RiskPersonal> personalMap = domain.getPersons().stream().collect(Collectors.toMap(RiskPersonal::getIdCode, Function.identity(), (old, newVal) -> newVal)); |
|
|
|
List<RiskModelTaskClue> toInsert = new ArrayList<>(); |
|
|
|
List<RiskModelTaskClue> toInsert = new ArrayList<>(); |
|
|
|
for (GBaseCSCZRK domicileType : list) { |
|
|
|
for (String domicileType : list) { |
|
|
|
RiskPersonal personal = personalMap.get(domicileType.getGmsfhm()); |
|
|
|
RiskPersonal personal = personalMap.get(domicileType); |
|
|
|
if (personal == null) continue; |
|
|
|
if (personal == null) continue; |
|
|
|
if (idCode.get(domicileType.getGmsfhm()) != null) continue; |
|
|
|
if (idCode.get(domicileType) != null) continue; |
|
|
|
if (oldMap.get(domicileType.getGmsfhm()) != null) continue; |
|
|
|
if (oldMap.get(domicileType) != null) continue; |
|
|
|
|
|
|
|
|
|
|
|
idCode.put(domicileType.getGmsfhm(), 1); |
|
|
|
idCode.put(domicileType, 1); |
|
|
|
ClueData data = ClueData.builder() |
|
|
|
ClueData data = ClueData.builder() |
|
|
|
.name(personal.getName()) |
|
|
|
.name(personal.getName()) |
|
|
|
.id(personal.getId().toString()) |
|
|
|
.id(personal.getId().toString()) |
|
|
|
|