Browse Source

Merge remote-tracking branch 'origin/master'

master
kami 1 year ago
parent
commit
017109bf91
  1. 6
      src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java
  2. 11
      src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseCSCZRKMapper.java
  3. 15
      src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseWFRXXMapper.java
  4. 6
      src/main/java/com/biutag/supervisiondata/pojo/entity/dwd/GBaseCSCZRK.java
  5. 70
      src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java

6
src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java

@ -141,11 +141,11 @@ public class ApplicationEvent {
// pointService.syncFatherEducation(initDomain(List.of(112))); // pointService.syncFatherEducation(initDomain(List.of(112)));
// pointService.syncMotherEducation(initDomain(List.of(113))); // pointService.syncMotherEducation(initDomain(List.of(113)));
// pointService.syncDomicileType(initDomain(List.of(114))); // pointService.syncDomicileType(initDomain(List.of(114)));
// pointService.syncCriminalPunishment(initDomain(List.of(115))); pointService.syncCriminalPunishment(initDomain(List.of(115)));
// pointService.syncAdministrativePunishment(initDomain(List.of(116))); pointService.syncAdministrativePunishment(initDomain(List.of(116)));
// pointService.syncParentsDivorce(initDomain(List.of(117))); // pointService.syncParentsDivorce(initDomain(List.of(117)));
// gBaseJJDService.syncOtherContradict(initDomain(List.of(75))); // gBaseJJDService.syncOtherContradict(initDomain(List.of(75)));
// pointService.syncFamilyDie(initDomain(List.of(118))); pointService.syncFamilyDie(initDomain(List.of(118)));
// pointService.syncFatherDie(initDomain(List.of(119))); // pointService.syncFatherDie(initDomain(List.of(119)));
// pointService.syncMotherDie(initDomain(List.of(120))); // pointService.syncMotherDie(initDomain(List.of(120)));
// pointService.syncChildNo(initDomain(List.of(121))); // pointService.syncChildNo(initDomain(List.of(121)));

11
src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseCSCZRKMapper.java

@ -25,6 +25,17 @@ public interface GBaseCSCZRKMapper extends BaseMapper<GBaseCSCZRK> {
+ "on (a.fqgmsfzhm = b.male_id_code or a.mqgmsfzhm = b.female_id_code)) a inner join csga_wdpcdb.wdpc_person b on a.gmsfhm = b.id_code;") + "on (a.fqgmsfzhm = b.male_id_code or a.mqgmsfzhm = b.female_id_code)) a inner join csga_wdpcdb.wdpc_person b on a.gmsfhm = b.id_code;")
List<GBaseCSCZRK> selectParentsDivorce(); List<GBaseCSCZRK> selectParentsDivorce();
@Select("select a.gmsfhm, a.hh, a.fqgmsfzhm, a.mqgmsfzhm from dwd_ry_kxgxzyk_csczrk a inner join csga_wdpcdb.wdpc_person b on a.gmsfhm = b.id_code;")
List<GBaseCSCZRK> selectRiskHH();
@Select("<script>"
+ "select distinct gmsfhm, hh from dwd_ry_kxgxzyk_csczrk where hh in "
+ "<foreach item='item' index='index' collection='list' open='(' separator=',' close=')'>"
+ "#{item}"
+ "</foreach>"
+ "</script>")
List<GBaseCSCZRK> selectFamilyByHh(List<String> hhPart);
// 亲近家人死亡 // 亲近家人死亡
@Select("<script>" @Select("<script>"
+ "select distinct gmsfhm from dwd_ry_kxgxzyk_csczrk where gmsfhm not in " + "select distinct gmsfhm from dwd_ry_kxgxzyk_csczrk where gmsfhm not in "

15
src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseWFRXXMapper.java

@ -2,7 +2,6 @@ package com.biutag.supervisiondata.mapper.dwd;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.biutag.supervisiondata.pojo.domain.WFSHPerson; import com.biutag.supervisiondata.pojo.domain.WFSHPerson;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseSHRXX;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseWFRXX; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseWFRXX;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
@ -57,4 +56,18 @@ public interface GBaseWFRXXMapper extends BaseMapper<GBaseWFRXX> {
@Select(" select a.zjhm as zjhm, a.zydm as zydm from dwd_ry_zfba_wfryxx as a inner join csga_wdpcdb.wdpc_person as b " + @Select(" select a.zjhm as zjhm, a.zydm as zydm from dwd_ry_zfba_wfryxx as a inner join csga_wdpcdb.wdpc_person as b " +
" on a.zjhm = b.id_code where a.zydm is not null ") " on a.zjhm = b.id_code where a.zydm is not null ")
List<GBaseWFRXX> selectWork(); List<GBaseWFRXX> selectWork();
@Select("select b.ajbh, b.zjhm " +
"from dwd_asj_zfba_ajjbxx a " +
"join dwd_ry_zfba_wfryxx b on a.ajbh = b.ajbh " +
"inner join csga_wdpcdb.wdpc_person c on b.zjhm = c.id_code " +
"where a.ajbzdm = 1;")
List<GBaseWFRXX> selectCriminalPunishment();
@Select("select b.ajbh, b.zjhm " +
"from dwd_asj_zfba_ajjbxx a " +
"join dwd_ry_zfba_wfryxx b on a.ajbh = b.ajbh " +
"inner join csga_wdpcdb.wdpc_person c on b.zjhm = c.id_code " +
"where a.ajbzdm = 2;")
List<GBaseWFRXX> selectAdministrativePunishment();
} }

6
src/main/java/com/biutag/supervisiondata/pojo/entity/dwd/GBaseCSCZRK.java

@ -89,6 +89,12 @@ public class GBaseCSCZRK implements Serializable {
@TableField("score") @TableField("score")
Integer score; Integer score;
/**
* 户号
*/
@TableField("`hh`")
String hh;
@TableField(exist = false, value = "family_id") @TableField(exist = false, value = "family_id")
String familyId; String familyId;

70
src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java

@ -94,6 +94,8 @@ public class PointServiceImpl implements PointService {
private final GBaseJszxxbRepository jszxxbRepository; private final GBaseJszxxbRepository jszxxbRepository;
private final RiskModelTaskClueRepository riskModelTaskClueRepository; private final RiskModelTaskClueRepository riskModelTaskClueRepository;
private final GBaseWFRXXRepository wFRXXRepository;
@Override @Override
public void personPullAndSave() { public void personPullAndSave() {
riskPersonalService.formatAndSave(getPersons(), Default.POINT_POEPLE); 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, RiskModelTaskClue> oldMap = domain.getOldMap(task.getModelId(), true);
Map<String, Integer> idCode = new HashMap<>(); Map<String, Integer> idCode = new HashMap<>();
log.info("模型116开始查询"); log.info("模型116开始查询");
List<GBaseGAXZCFJDS> list = gAXZCFJDSRepository.getBaseMapper().selectAdministrativePunishment(); List<GBaseWFRXX> list = wFRXXRepository.getBaseMapper().selectAdministrativePunishment();
log.info("模型116查询结果数:{}", list.size()); 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)); 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 (Map.Entry<String, List<GBaseGAXZCFJDS>> entry : gAXZCFJDSMap.entrySet()) { for (Map.Entry<String, List<GBaseWFRXX>> entry : gAXZCFJDSMap.entrySet()) {
String zjhm = entry.getKey(); String zjhm = entry.getKey();
List<GBaseGAXZCFJDS> wfrwfxxList = entry.getValue(); List<GBaseWFRXX> wfrwfxxList = entry.getValue();
RiskPersonal personal = personalMap.get(zjhm); RiskPersonal personal = personalMap.get(zjhm);
if (personal == null) continue; if (personal == null) continue;
if (idCode.get(zjhm) != null) continue; if (idCode.get(zjhm) != null) continue;
@ -356,7 +358,7 @@ public class PointServiceImpl implements PointService {
idCode.put(zjhm, 1); idCode.put(zjhm, 1);
int score; 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); score = Math.min(wfrwfxxList.size(), 5);
ClueData data = ClueData.builder() ClueData data = ClueData.builder()
.name(personal.getName()) .name(personal.getName())
@ -390,14 +392,14 @@ 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<>();
log.info("模型115开始查询"); log.info("模型115开始查询");
List<GBaseWFRWFXX> list = wFRWFXXRepository.getBaseMapper().selectCriminalPunishment(); List<GBaseWFRXX> list = wFRXXRepository.getBaseMapper().selectCriminalPunishment();
log.info("模型115查询结果数:{}", list.size()); 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)); 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 (Map.Entry<String, List<GBaseWFRWFXX>> entry : wfrwfxxMap.entrySet()) { for (Map.Entry<String, List<GBaseWFRXX>> entry : wfrxxMap.entrySet()) {
String zjhm = entry.getKey(); String zjhm = entry.getKey();
List<GBaseWFRWFXX> wfrwfxxList = entry.getValue(); List<GBaseWFRXX> wfrxxList = entry.getValue();
RiskPersonal personal = personalMap.get(zjhm); RiskPersonal personal = personalMap.get(zjhm);
if (personal == null) continue; if (personal == null) continue;
if (idCode.get(zjhm) != null) continue; if (idCode.get(zjhm) != null) continue;
@ -405,17 +407,17 @@ public class PointServiceImpl implements PointService {
idCode.put(zjhm, 1); idCode.put(zjhm, 1);
int score; int score;
String context = wfrwfxxList.stream().map(GBaseWFRWFXX::getAjbh).collect(Collectors.joining(",")); String context = wfrxxList.stream().map(GBaseWFRXX::getAjbh).collect(Collectors.joining(","));
score = Math.min(wfrwfxxList.size(), 5); score = Math.min(wfrxxList.size(), 5);
ClueData data = ClueData.builder() ClueData data = ClueData.builder()
.name(personal.getName()) .name(personal.getName())
.id(personal.getId().toString()) .id(personal.getId().toString())
.idCode(personal.getIdCode()) .idCode(personal.getIdCode())
.tags(List.of("受到" + wfrwfxxList.size() + "个刑事处罚")) .tags(List.of("受到" + wfrxxList.size() + "个刑事处罚"))
.score(score) .score(score)
.eventTime(LocalDateTime.now()) .eventTime(LocalDateTime.now())
.personId(personal.getId()) .personId(personal.getId())
.sourceData("发现该人员涉及" + wfrwfxxList.size() + "个刑事案件,案件编号为:“" + context + "”") .sourceData("发现该人员涉及" + wfrxxList.size() + "个刑事案件,案件编号为:“" + context + "”")
.build(); .build();
toInsert.add(DataUtil.createClueData(task, data)); 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, 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())

Loading…
Cancel
Save