|
|
|
@ -14,12 +14,13 @@ import com.biutag.supervisiondata.pojo.domain.*; |
|
|
|
import com.biutag.supervisiondata.pojo.entity.dwd.*; |
|
|
|
import com.biutag.supervisiondata.pojo.entity.dwd.*; |
|
|
|
import com.biutag.supervisiondata.pojo.entity.mine.*; |
|
|
|
import com.biutag.supervisiondata.pojo.entity.mine.*; |
|
|
|
import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdXfsj; |
|
|
|
import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdXfsj; |
|
|
|
|
|
|
|
import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcHZCRYXX; |
|
|
|
import com.biutag.supervisiondata.repository.*; |
|
|
|
import com.biutag.supervisiondata.repository.*; |
|
|
|
import com.biutag.supervisiondata.service.PointService; |
|
|
|
import com.biutag.supervisiondata.service.PointService; |
|
|
|
import com.biutag.supervisiondata.service.RiskModelTaskClueService; |
|
|
|
import com.biutag.supervisiondata.service.RiskModelTaskClueService; |
|
|
|
import com.biutag.supervisiondata.service.RiskPersonalService; |
|
|
|
import com.biutag.supervisiondata.service.RiskPersonalService; |
|
|
|
import com.biutag.supervisiondata.util.IdCodeUtil; |
|
|
|
|
|
|
|
import com.biutag.supervisiondata.util.BhUtil; |
|
|
|
import com.biutag.supervisiondata.util.BhUtil; |
|
|
|
|
|
|
|
import com.biutag.supervisiondata.util.IdCodeUtil; |
|
|
|
import com.biutag.supervisiondata.util.PatternUtil; |
|
|
|
import com.biutag.supervisiondata.util.PatternUtil; |
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
@ -30,10 +31,10 @@ import java.time.LocalDateTime; |
|
|
|
import java.time.ZoneId; |
|
|
|
import java.time.ZoneId; |
|
|
|
import java.time.format.DateTimeFormatter; |
|
|
|
import java.time.format.DateTimeFormatter; |
|
|
|
import java.util.*; |
|
|
|
import java.util.*; |
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
import java.util.concurrent.CompletableFuture; |
|
|
|
import java.util.concurrent.CompletableFuture; |
|
|
|
import java.util.function.Function; |
|
|
|
import java.util.function.Function; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
import java.util.stream.IntStream; |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* @author kami on 2024-11-15 18:04:18 |
|
|
|
* @author kami on 2024-11-15 18:04:18 |
|
|
|
@ -65,6 +66,8 @@ public class PointServiceImpl implements PointService { |
|
|
|
|
|
|
|
|
|
|
|
private final GBaseGAXZCFJDSRepository gAXZCFJDSRepository; |
|
|
|
private final GBaseGAXZCFJDSRepository gAXZCFJDSRepository; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private final WdpcHZCRYXXRepository hZCRYXXRepository; |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public void personPullAndSave(LocalDateTime start, LocalDateTime end) { |
|
|
|
public void personPullAndSave(LocalDateTime start, LocalDateTime end) { |
|
|
|
riskPersonalService.formatAndSave(getPersons(), Default.POINT_POEPLE); |
|
|
|
riskPersonalService.formatAndSave(getPersons(), Default.POINT_POEPLE); |
|
|
|
@ -365,9 +368,108 @@ public class PointServiceImpl implements PointService { |
|
|
|
taskRepository.updateById(updateTask); |
|
|
|
taskRepository.updateById(updateTask); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
|
|
public void syncFatherDie(TaskParamDomain domain) { |
|
|
|
|
|
|
|
RiskTask task = createTask(domain.getPersons().size(), 119); |
|
|
|
|
|
|
|
taskRepository.save(task); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Map<String, RiskModelTaskClue> oldMap = domain.getOldMap(task.getModelId(), true); |
|
|
|
|
|
|
|
Map<String, Integer> idCode = new HashMap<>(); |
|
|
|
|
|
|
|
List<GBaseCSCZRK> list = new ArrayList<>(); |
|
|
|
|
|
|
|
log.info("模型119开始查询"); |
|
|
|
|
|
|
|
List<WdpcHZCRYXX> wdpcHZCRYXXS = hZCRYXXRepository.list(new LambdaQueryWrapper<WdpcHZCRYXX>().select(WdpcHZCRYXX::getIdCode)); |
|
|
|
|
|
|
|
// 切割 每次查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()))) |
|
|
|
|
|
|
|
.toList(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (List<WdpcHZCRYXX> wdpcHZCRYXXSPart : wdpcHZCRYXXSParts) { |
|
|
|
|
|
|
|
list.addAll(cSCZRKRepository.getBaseMapper().selectFatherDiePeople(wdpcHZCRYXXSPart)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
log.info("模型119查询结果数:{}", 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()); |
|
|
|
|
|
|
|
if (personal == null) continue; |
|
|
|
|
|
|
|
if (idCode.get(domicileType.getGmsfhm()) != null) continue; |
|
|
|
|
|
|
|
if (oldMap.get(domicileType.getGmsfhm()) != null) continue; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
idCode.put(domicileType.getGmsfhm(), 1); |
|
|
|
|
|
|
|
ClueData data = ClueData.builder() |
|
|
|
|
|
|
|
.name(personal.getName()) |
|
|
|
|
|
|
|
.id(personal.getId().toString()) |
|
|
|
|
|
|
|
.idCode(personal.getIdCode()) |
|
|
|
|
|
|
|
.tag("父亲是否健在") |
|
|
|
|
|
|
|
.personId(personal.getId()) |
|
|
|
|
|
|
|
.sourceData("发现该人员父亲死亡,增加风险分5分") |
|
|
|
|
|
|
|
.build(); |
|
|
|
|
|
|
|
toInsert.add(createClue(task.getModelId(), 5, task.getId(), data)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
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); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
|
|
public void syncMotherDie(TaskParamDomain domain) { |
|
|
|
|
|
|
|
RiskTask task = createTask(domain.getPersons().size(), 120); |
|
|
|
|
|
|
|
taskRepository.save(task); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Map<String, RiskModelTaskClue> oldMap = domain.getOldMap(task.getModelId(), true); |
|
|
|
|
|
|
|
Map<String, Integer> idCode = new HashMap<>(); |
|
|
|
|
|
|
|
List<GBaseCSCZRK> list = new ArrayList<>(); |
|
|
|
|
|
|
|
log.info("模型120开始查询"); |
|
|
|
|
|
|
|
List<WdpcHZCRYXX> wdpcHZCRYXXS = hZCRYXXRepository.list(new LambdaQueryWrapper<WdpcHZCRYXX>().select(WdpcHZCRYXX::getIdCode)); |
|
|
|
|
|
|
|
// 切割 每次查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()))) |
|
|
|
|
|
|
|
.toList(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (List<WdpcHZCRYXX> wdpcHZCRYXXSPart : wdpcHZCRYXXSParts) { |
|
|
|
|
|
|
|
list.addAll(cSCZRKRepository.getBaseMapper().selectMotherDiePeople(wdpcHZCRYXXSPart)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
log.info("模型120查询结果数:{}", 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()); |
|
|
|
|
|
|
|
if (personal == null) continue; |
|
|
|
|
|
|
|
if (idCode.get(domicileType.getGmsfhm()) != null) continue; |
|
|
|
|
|
|
|
if (oldMap.get(domicileType.getGmsfhm()) != null) continue; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
idCode.put(domicileType.getGmsfhm(), 1); |
|
|
|
|
|
|
|
ClueData data = ClueData.builder() |
|
|
|
|
|
|
|
.name(personal.getName()) |
|
|
|
|
|
|
|
.id(personal.getId().toString()) |
|
|
|
|
|
|
|
.idCode(personal.getIdCode()) |
|
|
|
|
|
|
|
.tag("母亲是否健在") |
|
|
|
|
|
|
|
.personId(personal.getId()) |
|
|
|
|
|
|
|
.sourceData("发现该人员母亲死亡,增加风险分5分") |
|
|
|
|
|
|
|
.build(); |
|
|
|
|
|
|
|
toInsert.add(createClue(task.getModelId(), 5, task.getId(), data)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
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); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public void syncFamilyDie(TaskParamDomain domain) { |
|
|
|
public void syncFamilyDie(TaskParamDomain domain) { |
|
|
|
/* |
|
|
|
|
|
|
|
RiskTask task = createTask(domain.getPersons().size(), 118); |
|
|
|
RiskTask task = createTask(domain.getPersons().size(), 118); |
|
|
|
taskRepository.save(task); |
|
|
|
taskRepository.save(task); |
|
|
|
|
|
|
|
|
|
|
|
@ -375,8 +477,14 @@ public class PointServiceImpl implements PointService { |
|
|
|
Map<String, Integer> idCode = new HashMap<>(); |
|
|
|
Map<String, Integer> idCode = new HashMap<>(); |
|
|
|
List<GBaseCSCZRK> list = new ArrayList<>(); |
|
|
|
List<GBaseCSCZRK> list = new ArrayList<>(); |
|
|
|
log.info("模型118开始查询"); |
|
|
|
log.info("模型118开始查询"); |
|
|
|
for (List<String> idCard : domain.getIdCards()) { |
|
|
|
List<WdpcHZCRYXX> wdpcHZCRYXXS = hZCRYXXRepository.list(new LambdaQueryWrapper<WdpcHZCRYXX>().select(WdpcHZCRYXX::getIdCode)); |
|
|
|
// list.addAll(cSCZRKRepository.getBaseMapper().selectDomicileType(idCard));
|
|
|
|
// 切割 每次查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()))) |
|
|
|
|
|
|
|
.toList(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (List<WdpcHZCRYXX> wdpcHZCRYXXSPart : wdpcHZCRYXXSParts) { |
|
|
|
|
|
|
|
list.addAll(cSCZRKRepository.getBaseMapper().selectFamilyDiePeople(wdpcHZCRYXXSPart)); |
|
|
|
} |
|
|
|
} |
|
|
|
log.info("模型118查询结果数:{}", 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)); |
|
|
|
@ -408,7 +516,7 @@ public class PointServiceImpl implements PointService { |
|
|
|
updateTask.setState(1); |
|
|
|
updateTask.setState(1); |
|
|
|
updateTask.setEndTime(LocalDateTime.now()); |
|
|
|
updateTask.setEndTime(LocalDateTime.now()); |
|
|
|
taskRepository.updateById(updateTask); |
|
|
|
taskRepository.updateById(updateTask); |
|
|
|
*/ |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
|