|
|
|
|
@ -27,6 +27,7 @@ import com.biutag.supervisiondata.util.IdCodeUtil;
|
|
|
|
|
import com.biutag.supervisiondata.util.PatternUtil; |
|
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
import org.jetbrains.annotations.NotNull; |
|
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
|
@ -1397,8 +1398,6 @@ public class PointServiceImpl implements PointService {
|
|
|
|
|
|
|
|
|
|
Map<String, RiskModelTaskClue> oldMap = domain.getOldMap(task.getModelId(), true); |
|
|
|
|
Map<String, Integer> idCode = new HashMap<>(); |
|
|
|
|
List<String> list = new ArrayList<>(); |
|
|
|
|
List<GBaseCSCZRK> familyPeople = new ArrayList<>(); |
|
|
|
|
log.info("模型118开始查询"); |
|
|
|
|
int pageSize = 100000; |
|
|
|
|
int pageNumber1 = 1; |
|
|
|
|
@ -1406,49 +1405,100 @@ public class PointServiceImpl implements PointService {
|
|
|
|
|
do { |
|
|
|
|
int offset = (pageNumber1 - 1) * pageSize; |
|
|
|
|
currentPageResults1 = cSCZRKRepository.getBaseMapper().selectFamilyPeople1(offset, pageSize); |
|
|
|
|
log.info("模型118第一部分查询完毕"); |
|
|
|
|
familyPeople.addAll(currentPageResults1); |
|
|
|
|
log.info("模型118第一部分查询size:{}", currentPageResults1.size()); |
|
|
|
|
if (currentPageResults1.isEmpty()) break; |
|
|
|
|
List<GBaseCSCZRK> familyPeople = new ArrayList<>(currentPageResults1); |
|
|
|
|
Map<String, List<String>> familyMap = familyPeople.stream().collect(Collectors.groupingBy(GBaseCSCZRK::getGmsfhm, |
|
|
|
|
Collectors.mapping(GBaseCSCZRK::getFamilyId, Collectors.toList()))); |
|
|
|
|
List<String> familyList = familyPeople.stream().map(GBaseCSCZRK::getFamilyId).toList(); |
|
|
|
|
List<String> list = new ArrayList<>(hZCRYXXRepository.getBaseMapper().selectHZCPeople(familyList)); |
|
|
|
|
log.info("模型118第一部分查询list:{}", list.size()); |
|
|
|
|
List<RiskModelTaskClue> toInsert = getRiskModelTaskClues(domain, familyMap, list, idCode, oldMap, task); |
|
|
|
|
RiskTask updateTask = new RiskTask(); |
|
|
|
|
updateTask.setId(task.getId()); |
|
|
|
|
updateTask.setInsertSize(toInsert.size()); |
|
|
|
|
updateTask.setUpdateSize(0); |
|
|
|
|
updateTask.setState(1); |
|
|
|
|
updateTask.setEndTime(LocalDateTime.now()); |
|
|
|
|
taskRepository.updateById(updateTask); |
|
|
|
|
pageNumber1++; |
|
|
|
|
} while (!currentPageResults1.isEmpty()); |
|
|
|
|
log.info("模型118查询familyPeople1结果数:{}", familyPeople.size()); |
|
|
|
|
log.info("模型118查询familyPeople1完成"); |
|
|
|
|
int pageNumber2 = 1; |
|
|
|
|
List<GBaseCSCZRK> currentPageResults2; |
|
|
|
|
do { |
|
|
|
|
int offset = (pageNumber2 - 1) * pageSize; |
|
|
|
|
currentPageResults2 = cSCZRKRepository.getBaseMapper().selectFamilyPeople2(offset, pageSize); |
|
|
|
|
familyPeople.addAll(currentPageResults2); |
|
|
|
|
log.info("模型118第二部分查询size:{}", currentPageResults2.size()); |
|
|
|
|
if (currentPageResults2.isEmpty()) break; |
|
|
|
|
List<GBaseCSCZRK> familyPeople = new ArrayList<>(currentPageResults2); |
|
|
|
|
Map<String, List<String>> familyMap = familyPeople.stream().collect(Collectors.groupingBy(GBaseCSCZRK::getGmsfhm, |
|
|
|
|
Collectors.mapping(GBaseCSCZRK::getFamilyId, Collectors.toList()))); |
|
|
|
|
List<String> familyList = familyPeople.stream().map(GBaseCSCZRK::getFamilyId).toList(); |
|
|
|
|
List<String> list = new ArrayList<>(hZCRYXXRepository.getBaseMapper().selectHZCPeople(familyList)); |
|
|
|
|
log.info("模型118第二部分查询list:{}", list.size()); |
|
|
|
|
List<RiskModelTaskClue> toInsert = getRiskModelTaskClues(domain, familyMap, list, idCode, oldMap, task); |
|
|
|
|
RiskTask updateTask = new RiskTask(); |
|
|
|
|
updateTask.setId(task.getId()); |
|
|
|
|
updateTask.setInsertSize(toInsert.size()); |
|
|
|
|
updateTask.setUpdateSize(0); |
|
|
|
|
updateTask.setState(1); |
|
|
|
|
updateTask.setEndTime(LocalDateTime.now()); |
|
|
|
|
taskRepository.updateById(updateTask); |
|
|
|
|
pageNumber2++; |
|
|
|
|
} while (!currentPageResults2.isEmpty()); |
|
|
|
|
log.info("模型118查询familyPeople2结果数:{}", familyPeople.size()); |
|
|
|
|
log.info("模型118查询familyPeople2完成"); |
|
|
|
|
int pageNumber3 = 1; |
|
|
|
|
List<GBaseCSCZRK> currentPageResults3; |
|
|
|
|
do { |
|
|
|
|
int offset = (pageNumber3 - 1) * pageSize; |
|
|
|
|
currentPageResults3 = cSCZRKRepository.getBaseMapper().selectFamilyPeople3(offset, pageSize); |
|
|
|
|
familyPeople.addAll(currentPageResults3); |
|
|
|
|
log.info("模型118第三部分查询size:{}", currentPageResults3.size()); |
|
|
|
|
if (currentPageResults3.isEmpty()) break; |
|
|
|
|
List<GBaseCSCZRK> familyPeople = new ArrayList<>(currentPageResults3); |
|
|
|
|
Map<String, List<String>> familyMap = familyPeople.stream().collect(Collectors.groupingBy(GBaseCSCZRK::getGmsfhm, |
|
|
|
|
Collectors.mapping(GBaseCSCZRK::getFamilyId, Collectors.toList()))); |
|
|
|
|
List<String> familyList = familyPeople.stream().map(GBaseCSCZRK::getFamilyId).toList(); |
|
|
|
|
List<String> list = new ArrayList<>(hZCRYXXRepository.getBaseMapper().selectHZCPeople(familyList)); |
|
|
|
|
log.info("模型118第三部分查询list:{}", list.size()); |
|
|
|
|
List<RiskModelTaskClue> toInsert = getRiskModelTaskClues(domain, familyMap, list, idCode, oldMap, task); |
|
|
|
|
RiskTask updateTask = new RiskTask(); |
|
|
|
|
updateTask.setId(task.getId()); |
|
|
|
|
updateTask.setInsertSize(toInsert.size()); |
|
|
|
|
updateTask.setUpdateSize(0); |
|
|
|
|
updateTask.setState(1); |
|
|
|
|
updateTask.setEndTime(LocalDateTime.now()); |
|
|
|
|
taskRepository.updateById(updateTask); |
|
|
|
|
pageNumber3++; |
|
|
|
|
} while (!currentPageResults3.isEmpty()); |
|
|
|
|
log.info("模型118查询familyPeople3结果数:{}", familyPeople.size()); |
|
|
|
|
log.info("模型118查询familyPeople3完成"); |
|
|
|
|
int pageNumber4 = 1; |
|
|
|
|
List<GBaseCSCZRK> currentPageResults4; |
|
|
|
|
do { |
|
|
|
|
int offset = (pageNumber4 - 1) * pageSize; |
|
|
|
|
currentPageResults4 = cSCZRKRepository.getBaseMapper().selectFamilyPeople4(offset, pageSize); |
|
|
|
|
familyPeople.addAll(currentPageResults4); |
|
|
|
|
pageNumber4++; |
|
|
|
|
} while (!currentPageResults4.isEmpty()); |
|
|
|
|
log.info("模型118查询familyPeople结果数:{}", familyPeople.size()); |
|
|
|
|
currentPageResults4 = cSCZRKRepository.getBaseMapper().selectFamilyPeople3(offset, pageSize); |
|
|
|
|
log.info("模型118第四部分查询size:{}", currentPageResults4.size()); |
|
|
|
|
if (currentPageResults4.isEmpty()) break; |
|
|
|
|
List<GBaseCSCZRK> familyPeople = new ArrayList<>(currentPageResults4); |
|
|
|
|
Map<String, List<String>> familyMap = familyPeople.stream().collect(Collectors.groupingBy(GBaseCSCZRK::getGmsfhm, |
|
|
|
|
Collectors.mapping(GBaseCSCZRK::getFamilyId, Collectors.toList()))); |
|
|
|
|
List<String> familyList = familyPeople.stream().map(GBaseCSCZRK::getFamilyId).toList(); |
|
|
|
|
// 切割 每次查10000条
|
|
|
|
|
List<List<String>> familyListParts = IntStream.range(0, (familyList.size() + 9999) / 10000) |
|
|
|
|
.mapToObj(i -> familyList.subList(i * 10000, Math.min((i + 1) * 10000, familyList.size()))) |
|
|
|
|
.toList(); |
|
|
|
|
for (List<String> familyListPart : familyListParts) { |
|
|
|
|
list.addAll(hZCRYXXRepository.getBaseMapper().selectHZCPeople(familyListPart)); |
|
|
|
|
List<String> list = new ArrayList<>(hZCRYXXRepository.getBaseMapper().selectHZCPeople(familyList)); |
|
|
|
|
log.info("模型118第四部分查询list:{}", list.size()); |
|
|
|
|
List<RiskModelTaskClue> toInsert = getRiskModelTaskClues(domain, familyMap, list, idCode, oldMap, task); |
|
|
|
|
RiskTask updateTask = new RiskTask(); |
|
|
|
|
updateTask.setId(task.getId()); |
|
|
|
|
updateTask.setInsertSize(toInsert.size()); |
|
|
|
|
updateTask.setUpdateSize(0); |
|
|
|
|
updateTask.setState(1); |
|
|
|
|
updateTask.setEndTime(LocalDateTime.now()); |
|
|
|
|
taskRepository.updateById(updateTask); |
|
|
|
|
pageNumber4++; |
|
|
|
|
} while (!currentPageResults4.isEmpty()); |
|
|
|
|
log.info("模型118查询familyPeople4完成"); |
|
|
|
|
} |
|
|
|
|
log.info("模型118查询结果数:{}", list.size()); |
|
|
|
|
|
|
|
|
|
private @NotNull List<RiskModelTaskClue> getRiskModelTaskClues(TaskParamDomain domain, Map<String, List<String>> familyMap, List<String> list, Map<String, Integer> idCode, Map<String, RiskModelTaskClue> oldMap, RiskTask task) { |
|
|
|
|
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<String>> entry : familyMap.entrySet()) { |
|
|
|
|
@ -1481,13 +1531,7 @@ public class PointServiceImpl implements PointService {
|
|
|
|
|
if (!toInsert.isEmpty()) { |
|
|
|
|
modelTaskClueService.saveClues(toInsert, Default.FAMILYDIE); |
|
|
|
|
} |
|
|
|
|
RiskTask updateTask = new RiskTask(); |
|
|
|
|
updateTask.setId(task.getId()); |
|
|
|
|
updateTask.setInsertSize(toInsert.size()); |
|
|
|
|
updateTask.setUpdateSize(0); |
|
|
|
|
updateTask.setState(1); |
|
|
|
|
updateTask.setEndTime(LocalDateTime.now()); |
|
|
|
|
taskRepository.updateById(updateTask); |
|
|
|
|
return toInsert; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|