kami 1 year ago
parent
commit
46c66cdd9f
  1. 2
      src/main/java/com/biutag/supervisiondata/mapper/ads/GBaseSYRKXXMapper.java
  2. 245
      src/main/java/com/biutag/supervisiondata/service/impl/GBaseJJDServiceImpl.java
  3. 102
      src/main/java/com/biutag/supervisiondata/service/impl/GBaseSHRWFRServiceImpl.java
  4. 40
      src/main/java/com/biutag/supervisiondata/service/impl/HabitServiceImpl.java
  5. 40
      src/main/java/com/biutag/supervisiondata/service/impl/PersonalServiceImpl.java
  6. 118
      src/main/java/com/biutag/supervisiondata/service/impl/PetitionServiceImpl.java
  7. 2
      src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java
  8. 6
      src/main/java/com/biutag/supervisiondata/service/impl/PoliceServiceImpl.java
  9. 69
      src/main/java/com/biutag/supervisiondata/service/impl/RiskTaskServiceImpl.java

2
src/main/java/com/biutag/supervisiondata/mapper/ads/GBaseSYRKXXMapper.java

@ -64,7 +64,7 @@ public interface GBaseSYRKXXMapper extends BaseMapper<GBaseSYRKXX> {
"</script>") "</script>")
List<FightMan> selectListByIdCode(@Param("list")List<String> list); List<FightMan> selectListByIdCode(@Param("list")List<String> list);
@Select("select distinct sspcsmc, sspcsdm from ads_ssxx_syrkxx where sspcsdm is not null and sspcsmc is not null") @Select("select distinct sspcsdm from ads_ssxx_syrkxx where sspcsdm is not null")
List<GBaseSYRKXX> selectOrg(); List<GBaseSYRKXX> selectOrg();
} }

245
src/main/java/com/biutag/supervisiondata/service/impl/GBaseJJDServiceImpl.java

@ -1,12 +1,18 @@
package com.biutag.supervisiondata.service.impl; package com.biutag.supervisiondata.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.biutag.supervisiondata.common.interfaces.CompletableFutureUtil;
import com.biutag.supervisiondata.pojo.constants.Default; import com.biutag.supervisiondata.pojo.constants.Default;
import com.biutag.supervisiondata.pojo.database.PointOrg;
import com.biutag.supervisiondata.pojo.entity.ads.GBaseSYRKXX; import com.biutag.supervisiondata.pojo.entity.ads.GBaseSYRKXX;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD;
import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonal; import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonal;
import com.biutag.supervisiondata.pojo.entity.mine.SupExternalDepart;
import com.biutag.supervisiondata.pojo.enums.DepartType;
import com.biutag.supervisiondata.repository.GBaseJJDRepository; import com.biutag.supervisiondata.repository.GBaseJJDRepository;
import com.biutag.supervisiondata.repository.GBaseSYRKXXRepository; import com.biutag.supervisiondata.repository.GBaseSYRKXXRepository;
import com.biutag.supervisiondata.repository.GBaseZDRYRepository;
import com.biutag.supervisiondata.repository.SupExternalDepartRepository;
import com.biutag.supervisiondata.service.GBaseJJDService; import com.biutag.supervisiondata.service.GBaseJJDService;
import com.biutag.supervisiondata.service.RiskPersonalService; import com.biutag.supervisiondata.service.RiskPersonalService;
import com.biutag.supervisiondata.util.IdCodeUtil; import com.biutag.supervisiondata.util.IdCodeUtil;
@ -20,6 +26,7 @@ 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.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; import java.util.stream.IntStream;
@ -40,6 +47,10 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
private final RiskPersonalService riskPersonalService; private final RiskPersonalService riskPersonalService;
private final GBaseZDRYRepository zdryRepository;
private final SupExternalDepartRepository externalDepartRepository;
@Override @Override
public void pullAndSave(LocalDateTime start, LocalDateTime end) { public void pullAndSave(LocalDateTime start, LocalDateTime end) {
// 获取接警数据 // 获取接警数据
@ -47,13 +58,22 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
end.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); end.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
log.info("总条数 | {}条", result.size()); log.info("总条数 | {}条", result.size());
List<RiskPersonal> personals = new ArrayList<>(); List<SupExternalDepart> supDeparts = externalDepartRepository.list(new LambdaQueryWrapper<SupExternalDepart>()
// 身份证和手机号都为空数量 .select(SupExternalDepart::getExternalId, SupExternalDepart::getInternalId, SupExternalDepart::getInternalName, SupExternalDepart::getSource)
int noneCount = 0; .in(SupExternalDepart::getSource, List.of("重点人员", "情指行")));
// 未核实到信息数据 Map<String, List<SupExternalDepart>> amp = supDeparts.stream().collect(Collectors.groupingBy(SupExternalDepart::getSource));
int infoCount = 0; Map<String, SupExternalDepart> pointExternalDepart = amp.get("重点人员").stream().collect(Collectors.toMap(SupExternalDepart::getExternalId, Function.identity(), (val, old) -> val));
Map<String, SupExternalDepart> jqExternalDepart = amp.get("情指行").stream().collect(Collectors.toMap(SupExternalDepart::getExternalId, Function.identity(), (val, old) -> val));
List<PointOrg> orgs = zdryRepository.getBaseMapper().selectOrg();
Map<String, PointOrg> orgIdMap = new WeakHashMap<>();
Map<String, PointOrg> orgCodeMap = new WeakHashMap<>();
for (PointOrg org : orgs) {
orgIdMap.put(org.getId(), org);
orgCodeMap.put(org.getDm(), org);
}
int ok = 0; List<RiskPersonal> personals = new ArrayList<>();
// 过滤数据 // 过滤数据
List<String> idCodes1 = new ArrayList<>(); List<String> idCodes1 = new ArrayList<>();
@ -64,32 +84,25 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
for (GBaseJJD item : result) { for (GBaseJJD item : result) {
RiskPersonal person = createPerson(item); RiskPersonal person = createPerson(item);
if(person.getIdCode() != null) { if (person.getIdCode() != null) {
personals.add(person); personals.add(person);
List<GBaseJJD> jjd = Optional.ofNullable(jjdMap.get(person.getIdCode())).orElse(new ArrayList<>()); jjdMap.computeIfAbsent(item.getBjrzjhm(), k -> new ArrayList<>()).add(item);
jjd.add(item);
jjdMap.put(person.getIdCode(), jjd);
idCodes1.add(person.getIdCode()); idCodes1.add(person.getIdCode());
continue; continue;
} }
String idCards = PatternUtil.takeIdCard(item.getCjqk()); String idCards = PatternUtil.takeIdCard(item.getCjqk());
if(!idCards.isEmpty()) { if (!idCards.isEmpty()) {
person.setIdCode(idCards); person.setIdCode(idCards);
String [] strs = idCards.split(","); String[] strs = idCards.split(",");
for (String s : strs) { for (String s : strs) {
idCodes1.add(s); idCodes1.add(s);
List<GBaseJJD> jjd = Optional.ofNullable(jjdMap.get(s)).orElse(new ArrayList<>()); jjdMap.computeIfAbsent(item.getBjrzjhm(), k -> new ArrayList<>()).add(item);
jjd.add(item);
jjdMap.put(person.getIdCode(), jjd);
} }
} else if(item.getBjrlxdh() == null) { } else if (item.getBjrlxdh() == null) {
noneCount++;
continue; continue;
} else { } else {
mobiles1.add(item.getBjrlxdh()); mobiles1.add(item.getBjrlxdh());
List<GBaseJJD> jjd = Optional.ofNullable(jjdMap.get(item.getBjrlxdh())).orElse(new ArrayList<>()); jjdMap.computeIfAbsent(item.getBjrzjhm(), k -> new ArrayList<>()).add(item);
jjd.add(item);
jjdMMap.put(item.getBjrlxdh(), jjd);
} }
personals.add(person); personals.add(person);
} }
@ -111,142 +124,146 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
List<GBaseSYRKXX> sFms = new ArrayList<>(); List<GBaseSYRKXX> sFms = new ArrayList<>();
// 手机号查到的人 // 手机号查到的人
List<GBaseSYRKXX> lXfs = new ArrayList<>(); List<GBaseSYRKXX> lXfs = new ArrayList<>();
for (List<String> idCode : idCodes) { CompletableFuture.allOf(
List<GBaseSYRKXX> list = gBaseSYRKXXRepository.list(new LambdaQueryWrapper<GBaseSYRKXX>() CompletableFutureUtil.runSyncObject(() -> sFms.addAll(getByIdCode(idCodes))),
.in(GBaseSYRKXX::getGmsfhm, idCode)); CompletableFutureUtil.runSyncObject(() -> lXfs.addAll(getByMobiles(mobiles)))
sFms.addAll(list); ).join();
count++; Map<String, GBaseSYRKXX> idCodeMap = sFms.stream().collect(Collectors.toMap(GBaseSYRKXX::getGmsfhm, Function.identity(), (oldValue, newValue) -> newValue));
log.info("身份证进度 | {}", count);
}
log.info("开始根据手机号实用人口信息补全 =》 {}", mobiles.size());
for (List<String> mobile : mobiles) {
List<GBaseSYRKXX> list = gBaseSYRKXXRepository.list(new LambdaQueryWrapper<GBaseSYRKXX>()
.in(GBaseSYRKXX::getLxdh, mobile));
lXfs.addAll(list);
count++;
log.info("手机号进度 | {}", count);
}
Map<String, GBaseSYRKXX> idCodeMap = sFms.stream().collect(Collectors.toMap(GBaseSYRKXX::getGmsfhm, Function.identity(), (oldValue, newValue) -> newValue));
Map<String, List<GBaseSYRKXX>> mobileMap = lXfs.stream().collect(Collectors.groupingBy(GBaseSYRKXX::getLxdh)); Map<String, List<GBaseSYRKXX>> mobileMap = lXfs.stream().collect(Collectors.groupingBy(GBaseSYRKXX::getLxdh));
// 开始补全 // 开始补全
LocalDate today = LocalDate.now(); LocalDate today = LocalDate.now();
GBaseSYRKXX info = null; GBaseSYRKXX info = null;
List<GBaseSYRKXX> xxxInfo; List<GBaseSYRKXX> xxxInfo;
for (RiskPersonal personal : personals) { for (RiskPersonal personal : personals) {
if(personal.getIdCode() != null) { if (personal.getIdCode() != null) {
// 多张身份证存入异常信息 // 多张身份证存入异常信息
String [] strs = personal.getIdCode().split(",");
personal.setIdCode(null); personal.setIdCode(null);
xxxInfo = new ArrayList<>(); xxxInfo = Arrays.stream(personal.getIdCode().split(","))
for (String str : strs) { .map(idCodeMap::get)
info = idCodeMap.get(str); .filter(Objects::nonNull)
if(info != null) { .collect(Collectors.toList());
xxxInfo.add(info); if (!xxxInfo.isEmpty()) {
}
}
if(strs.length ==1 && !xxxInfo.isEmpty()) {
info = xxxInfo.getFirst(); info = xxxInfo.getFirst();
} else { } else {
info = compare(xxxInfo, personal.getName()); info = compare(xxxInfo, personal.getName());
} }
if(info == null) { if (info == null) {
personal.setErrorMsg(personal.getIdCode()); personal.setErrorMsg(personal.getIdCode());
} }
} }
if(personal.getMobileNumber() != null && info == null) { if (personal.getMobileNumber() != null && info == null) {
xxxInfo = mobileMap.get(personal.getMobileNumber()); xxxInfo = mobileMap.get(personal.getMobileNumber());
if(xxxInfo == null || xxxInfo.isEmpty()) { if (xxxInfo == null || xxxInfo.isEmpty()) {
infoCount ++;
} else { } else {
info = compare(xxxInfo, personal.getName()); info = compare(xxxInfo, personal.getName());
} }
if(info == null && xxxInfo != null) { if (info == null && xxxInfo != null) {
StringBuilder tmp = new StringBuilder(); StringBuilder tmp = new StringBuilder();
for (GBaseSYRKXX gBaseSYRKXX : xxxInfo) { for (GBaseSYRKXX gBaseSYRKXX : xxxInfo) {
if(gBaseSYRKXX.getGmsfhm()!= null) { if (gBaseSYRKXX.getGmsfhm() != null) {
tmp.append(gBaseSYRKXX.getGmsfhm()).append("\n"); tmp.append(gBaseSYRKXX.getGmsfhm()).append("\n");
} }
} }
personal.setErrorMsg(tmp.substring(0, tmp.length()-1)); personal.setErrorMsg(tmp.substring(0, tmp.length() - 1));
} }
} }
if(info != null) { if (info != null) {
personal.setName(info.getXm()); personal = refreshPersonal(personal, info, today);
personal.setIdCode(info.getGmsfhm()); if (info.getSspcsdm() != null) {
personal.setMobileNumber(info.getLxdh()); PointOrg org = orgCodeMap.get(info.getSspcsdm());
personal.setGender(info.getXbdm()); org = findOrg(org, orgIdMap);
personal.setAge(Optional.ofNullable(IdCodeUtil.idCard2Age(personal.getIdCode(), LocalDate.now())).orElse(-1)); if (org != null) {
if(personal.getAge() == null ){ SupExternalDepart depart = pointExternalDepart.get(org.getDm());
try { if (depart != null) {
LocalDate localDate = info.getCsrq().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); personal.setControlDepartId(depart.getInternalId());
int age = localDate.until(today).getYears(); personal.setControlDepartName(depart.getInternalName());
personal.setAge(age); personal.setControlDepartType(DepartType.HUMAN.getType());
} catch (Exception e) { personal.setControlTime(LocalDateTime.now());
log.error("发现一例没有出生日期"); personal.setCreateTime(personal.getControlTime());
personal.setAge(-1); }
} }
} }
ok++;
} }
} }
for (RiskPersonal personal : personals) { for (RiskPersonal personal : personals) {
List<GBaseJJD> jjds = jjdMap.get(personal.getIdCode()); if (personal.getControlDepartType() != null && personal.getControlDepartType() >= DepartType.HUMAN.getType()) {
if(jjds == null) { continue;
jjds = jjdMMap.get(Optional.ofNullable(personal.getMobileNumber()).orElse(""));
} }
if(jjds == null) { List<GBaseJJD> jjds = Optional.ofNullable(jjdMap.get(personal.getIdCode())).orElse(jjdMMap.get(Optional.ofNullable(personal.getMobileNumber()).orElse("")));
if (jjds == null || jjds.isEmpty()) {
continue; continue;
} }
GBaseJJD tmp = null; GBaseJJD tmp = jjds.getFirst();
jjds.remove(0);
for (GBaseJJD jjd : jjds) { for (GBaseJJD jjd : jjds) {
if(tmp == null) {
tmp = jjd;
continue;
}
try { try {
LocalDateTime time = jjd.getBjsj().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); LocalDateTime time = jjd.getBjsj().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
if(time.isAfter(jjd.getBjsj().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime())) { if (time.isAfter(jjd.getBjsj().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime())) {
tmp = jjd; tmp = jjd;
} }
} catch (Exception e) { } catch (Exception e) {
log.info("报警时间处理异常"); log.info("报警时间处理异常");
} }
} }
if(tmp == null) { if (tmp == null || tmp.getGxdwdm() == null) {
personal.setControlDepartId(null);
personal.setControlDepartName(null);
continue; continue;
} }
personal.setControlDepartId(tmp.getGxdwdm()); PointOrg org = orgCodeMap.get(info.getSspcsdm());
personal.setControlDepartName(tmp.getGxdwmc()); org = findOrg(org, orgIdMap);
SupExternalDepart depart = Optional.ofNullable(org).map(PointOrg::getDm).map(item -> jqExternalDepart.get(item)).orElse(null);
if (depart == null) {
personal.setControlDepartId(null);
personal.setControlDepartName(null);
continue;
}
personal.setControlDepartId(depart.getInternalId());
personal.setControlDepartName(depart.getInternalName());
personal.setControlDepartType(DepartType.OTHER.getType());
// 如果有报警时间,暂时填报警时间 处理标签回正 // 如果有报警时间,暂时填报警时间 处理标签回正
try { try {
LocalDateTime time = tmp.getBjsj().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); LocalDateTime time = tmp.getBjsj().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
personal.setCreateTime(time); personal.setCreateTime(time);
personal.setControlTime(time); personal.setControlTime(time);
} catch (Exception e) { } catch (Exception e) {
personal.setCreateTime(LocalDateTime.now());
log.info("报警时间处理异常"); log.info("报警时间处理异常");
} }
} }
riskPersonalService.formatAndSave(personals, Default.BIG_TAG_JJD); riskPersonalService.formatAndSave(personals, Default.BIG_TAG_JJD);
log.info("未提取信息人数: {}\n异常信息人数: {}\nok人数: {}", noneCount, infoCount, ok); log.info("人数: {}", personals.size());
} }
/** /**
* 多身份证对比名称 * 多身份证对比名称
*
* @param infos 信息 * @param infos 信息
* @param name 名称 * @param name 名称
* @return 正确信息 * @return 正确信息
*/ */
GBaseSYRKXX compare(List<GBaseSYRKXX> infos, String name) { GBaseSYRKXX compare(List<GBaseSYRKXX> infos, String name) {
GBaseSYRKXX info = null; GBaseSYRKXX info = null;
for (GBaseSYRKXX gBaseSYRKXX : infos) { for (GBaseSYRKXX gBaseSYRKXX : infos) {
if(gBaseSYRKXX.getXm().equals(name)) { if (gBaseSYRKXX.getXm().equals(name)) {
info=gBaseSYRKXX; info = gBaseSYRKXX;
break; break;
} }
} }
return info; return info;
} }
PointOrg findOrg(PointOrg org, Map<String, PointOrg> orgIdMap) {
if (org == null) {
return null;
}
if (org.getPcs() == null || !org.getPcs().equals("1")) {
return findOrg(orgIdMap.get(org.getPid()), orgIdMap);
}
return org;
}
RiskPersonal createPerson(GBaseJJD item) { RiskPersonal createPerson(GBaseJJD item) {
RiskPersonal person = new RiskPersonal(); RiskPersonal person = new RiskPersonal();
person.setName(item.getBjrxm()); person.setName(item.getBjrxm());
@ -255,16 +272,74 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
person.setControlDepartName(item.getGxdwmc()); person.setControlDepartName(item.getGxdwmc());
person.setGender(item.getBjrxb()); person.setGender(item.getBjrxb());
person.setIdCode(item.getBjrzjhm()); person.setIdCode(item.getBjrzjhm());
person.setControlDepartType(DepartType.OTHER.getType());
// 如果有报警时间,暂时填报警时间 处理标签回正 // 如果有报警时间,暂时填报警时间 处理标签回正
try { try {
LocalDateTime time = item.getBjsj().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); LocalDateTime time = item.getBjsj().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
person.setCreateTime(time); person.setCreateTime(time);
person.setControlTime(time); person.setControlTime(time);
} catch (Exception e) { } catch (Exception e) {
person.setCreateTime(LocalDateTime.now());
log.info("报警时间处理异常"); log.info("报警时间处理异常");
} }
// 这里暂时将小标签放到预览属性 处理标签回正 // 这里暂时将小标签放到预览属性 处理标签回正
person.setTags(item.getJqxzmc()); person.setTags(item.getJqxzmc());
return person; return person;
} }
RiskPersonal refreshPersonal(RiskPersonal personal, GBaseSYRKXX info, LocalDate today) {
personal.setName(info.getXm());
personal.setIdCode(info.getGmsfhm());
personal.setMobileNumber(info.getLxdh());
personal.setGender(IdCodeUtil.idCard2Gender(personal.getIdCode()));
personal.setAge(Optional.ofNullable(IdCodeUtil.idCard2Age(personal.getIdCode(), LocalDate.now())).orElse(-1));
if (personal.getAge() == null) {
try {
LocalDate localDate = info.getCsrq().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
int age = localDate.until(today).getYears();
personal.setAge(age);
} catch (Exception e) {
log.error("发现一例没有出生日期");
personal.setAge(-1);
}
}
if (personal.getGender() == null) {
personal.setGender(info.getXbdm());
}
return personal;
}
/**
* 通过身份证号查询实有人口
*
* @param idCodes 身份证
* @return 实有人口信息
*/
List<GBaseSYRKXX> getByIdCode(List<List<String>> idCodes) {
List<GBaseSYRKXX> tmp = new ArrayList<>();
for (int i = 0, len = idCodes.size(); i < len; i++) {
tmp.addAll(gBaseSYRKXXRepository.list(new LambdaQueryWrapper<GBaseSYRKXX>()
.select(GBaseSYRKXX::getGmsfhm, GBaseSYRKXX::getXm, GBaseSYRKXX::getLxdh, GBaseSYRKXX::getSspcsdm, GBaseSYRKXX::getCsrq)
.in(GBaseSYRKXX::getGmsfhm, idCodes.get(i))));
log.info("证件查询进度:{}", i);
}
return tmp;
}
/**
* 通过手机号查询实有人口信息
*
* @param mobiles 手机号
* @return 查到的实有人口数据
*/
List<GBaseSYRKXX> getByMobiles(List<List<String>> mobiles) {
List<GBaseSYRKXX> tmp = new ArrayList<>();
for (int i = 0, len = mobiles.size(); i < len; i++) {
tmp.addAll(gBaseSYRKXXRepository.list(new LambdaQueryWrapper<GBaseSYRKXX>()
.select(GBaseSYRKXX::getGmsfhm, GBaseSYRKXX::getXm, GBaseSYRKXX::getLxdh, GBaseSYRKXX::getSspcsdm, GBaseSYRKXX::getCsrq)
.in(GBaseSYRKXX::getLxdh, mobiles.get(i))));
log.info("手机号查询进度:{}", i);
}
return tmp;
}
} }

102
src/main/java/com/biutag/supervisiondata/service/impl/GBaseSHRWFRServiceImpl.java

@ -3,15 +3,15 @@ package com.biutag.supervisiondata.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.biutag.supervisiondata.common.interfaces.CompletableFutureUtil; import com.biutag.supervisiondata.common.interfaces.CompletableFutureUtil;
import com.biutag.supervisiondata.pojo.constants.Default; import com.biutag.supervisiondata.pojo.constants.Default;
import com.biutag.supervisiondata.pojo.database.PointOrg;
import com.biutag.supervisiondata.pojo.entity.ads.GBaseSYRKXX; import com.biutag.supervisiondata.pojo.entity.ads.GBaseSYRKXX;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseAJJBXX; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseAJJBXX;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseSHRXX; 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 com.biutag.supervisiondata.pojo.entity.mine.RiskPersonal; import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonal;
import com.biutag.supervisiondata.repository.GBaseAJJBXXRepository; import com.biutag.supervisiondata.pojo.entity.mine.SupExternalDepart;
import com.biutag.supervisiondata.repository.GBaseSHRXXRepository; import com.biutag.supervisiondata.pojo.enums.DepartType;
import com.biutag.supervisiondata.repository.GBaseSYRKXXRepository; import com.biutag.supervisiondata.repository.*;
import com.biutag.supervisiondata.repository.GBaseWFRXXRepository;
import com.biutag.supervisiondata.service.GBaseSHRWFRService; import com.biutag.supervisiondata.service.GBaseSHRWFRService;
import com.biutag.supervisiondata.service.RiskPersonalService; import com.biutag.supervisiondata.service.RiskPersonalService;
import com.biutag.supervisiondata.util.IdCodeUtil; import com.biutag.supervisiondata.util.IdCodeUtil;
@ -49,8 +49,28 @@ public class GBaseSHRWFRServiceImpl implements GBaseSHRWFRService {
private final RiskPersonalService riskPersonalService; private final RiskPersonalService riskPersonalService;
private final GBaseZDRYRepository zdryRepository;
private final SupExternalDepartRepository externalDepartRepository;
@Override @Override
public void pullAndSave(LocalDateTime start, LocalDateTime end) { public void pullAndSave(LocalDateTime start, LocalDateTime end) {
List<PointOrg> orgs = zdryRepository.getBaseMapper().selectOrg();
List<SupExternalDepart> supDeparts = externalDepartRepository.list(new LambdaQueryWrapper<SupExternalDepart>()
.select(SupExternalDepart::getExternalId, SupExternalDepart::getInternalId, SupExternalDepart::getInternalName, SupExternalDepart::getSource)
.in(SupExternalDepart::getSource, List.of("重点人员", "情指行")));
Map<String, List<SupExternalDepart>> amp = supDeparts.stream().collect(Collectors.groupingBy(SupExternalDepart::getSource));
Map<String, SupExternalDepart> pointExternalDepart = amp.get("重点人员").stream().collect(Collectors.toMap(SupExternalDepart::getExternalId, Function.identity(), (val, old) -> val));
Map<String, SupExternalDepart> jqExternalDepart = amp.get("情指行").stream().collect(Collectors.toMap(SupExternalDepart::getExternalId, Function.identity(), (val, old) -> val));
Map<String, PointOrg> orgIdMap = new WeakHashMap<>();
Map<String, PointOrg> orgCodeMap = new WeakHashMap<>();
for (PointOrg org : orgs) {
orgIdMap.put(org.getId(), org);
orgCodeMap.put(org.getDm(), org);
}
List<GBaseSHRXX> shrList = new ArrayList<>(); List<GBaseSHRXX> shrList = new ArrayList<>();
List<GBaseWFRXX> wxrList = new ArrayList<>(); List<GBaseWFRXX> wxrList = new ArrayList<>();
@ -126,6 +146,7 @@ public class GBaseSHRWFRServiceImpl implements GBaseSHRWFRService {
log.info("身份证开始: {}", idCode.size()); log.info("身份证开始: {}", idCode.size());
for (List<String> arr : idCode) { for (List<String> arr : idCode) {
List<GBaseSYRKXX> list = gBaseSYRKXXRepository.list(new LambdaQueryWrapper<GBaseSYRKXX>() List<GBaseSYRKXX> list = gBaseSYRKXXRepository.list(new LambdaQueryWrapper<GBaseSYRKXX>()
.select(GBaseSYRKXX::getLxdh, GBaseSYRKXX::getGmsfhm, GBaseSYRKXX::getXm, GBaseSYRKXX::getXbdm, GBaseSYRKXX::getSspcsdm)
.in(GBaseSYRKXX::getGmsfhm, arr)); .in(GBaseSYRKXX::getGmsfhm, arr));
sFms.addAll(list); sFms.addAll(list);
count++; count++;
@ -140,6 +161,7 @@ public class GBaseSHRWFRServiceImpl implements GBaseSHRWFRService {
log.info("手机号开始: {}", mobile.size()); log.info("手机号开始: {}", mobile.size());
for (List<String> arr : mobile) { for (List<String> arr : mobile) {
List<GBaseSYRKXX> list = gBaseSYRKXXRepository.list(new LambdaQueryWrapper<GBaseSYRKXX>() List<GBaseSYRKXX> list = gBaseSYRKXXRepository.list(new LambdaQueryWrapper<GBaseSYRKXX>()
.select(GBaseSYRKXX::getLxdh, GBaseSYRKXX::getGmsfhm, GBaseSYRKXX::getXm, GBaseSYRKXX::getXbdm, GBaseSYRKXX::getSspcsdm)
.in(GBaseSYRKXX::getLxdh, arr)); .in(GBaseSYRKXX::getLxdh, arr));
lXfs.addAll(list); lXfs.addAll(list);
count++; count++;
@ -170,6 +192,21 @@ public class GBaseSHRWFRServiceImpl implements GBaseSHRWFRService {
} }
if(rkxx != null) { if(rkxx != null) {
RiskPersonal person = createPerson(Default.SHR_TAG, ajjbxx, rkxx); RiskPersonal person = createPerson(Default.SHR_TAG, ajjbxx, rkxx);
if (rkxx.getSspcsdm() != null) {
PointOrg org = orgCodeMap.get(rkxx.getSspcsdm());
org = findOrg(org, orgIdMap);
if (org != null) {
SupExternalDepart depart = pointExternalDepart.get(org.getDm());
if (depart != null) {
person.setControlDepartId(depart.getInternalId());
person.setControlDepartName(depart.getInternalName());
person.setControlDepartType(DepartType.HUMAN.getType());
person.setControlTime(LocalDateTime.now());
person.setCreateTime(person.getControlTime());
}
}
}
if(person.getIdCode() != null) { if(person.getIdCode() != null) {
List<GBaseAJJBXX> tmp = Optional.ofNullable(shrMap.get(person.getIdCode())).orElse(new ArrayList<>()); List<GBaseAJJBXX> tmp = Optional.ofNullable(shrMap.get(person.getIdCode())).orElse(new ArrayList<>());
tmp.add(ajjbxx); tmp.add(ajjbxx);
@ -195,6 +232,21 @@ public class GBaseSHRWFRServiceImpl implements GBaseSHRWFRService {
} }
if(rkxx != null) { if(rkxx != null) {
RiskPersonal person = createPerson(Default.WFR_TAG, ajjbxx, rkxx); RiskPersonal person = createPerson(Default.WFR_TAG, ajjbxx, rkxx);
if (rkxx.getSspcsdm() != null) {
PointOrg org = orgCodeMap.get(rkxx.getSspcsdm());
org = findOrg(org, orgIdMap);
if (org != null) {
SupExternalDepart depart = pointExternalDepart.get(org.getDm());
if (depart != null) {
person.setControlDepartId(depart.getInternalId());
person.setControlDepartName(depart.getInternalName());
person.setControlDepartType(DepartType.HUMAN.getType());
person.setControlTime(LocalDateTime.now());
person.setCreateTime(person.getControlTime());
}
}
}
List<GBaseAJJBXX> tmp = Optional.ofNullable(shrMap.get(person.getIdCode())).orElse(new ArrayList<>()); List<GBaseAJJBXX> tmp = Optional.ofNullable(shrMap.get(person.getIdCode())).orElse(new ArrayList<>());
tmp.add(ajjbxx); tmp.add(ajjbxx);
shrMap.put(person.getIdCode(), tmp); shrMap.put(person.getIdCode(), tmp);
@ -202,6 +254,9 @@ public class GBaseSHRWFRServiceImpl implements GBaseSHRWFRService {
} }
} }
for (RiskPersonal personal : personals) { for (RiskPersonal personal : personals) {
if (personal.getControlDepartType() != null && personal.getControlDepartType() >= DepartType.HUMAN.getType()) {
continue;
}
List<GBaseAJJBXX> tmp = shrMap.get(personal.getIdCode()); List<GBaseAJJBXX> tmp = shrMap.get(personal.getIdCode());
if(tmp == null || tmp.isEmpty()) { if(tmp == null || tmp.isEmpty()) {
continue; continue;
@ -221,17 +276,33 @@ public class GBaseSHRWFRServiceImpl implements GBaseSHRWFRService {
log.info("报警时间处理异常"); log.info("报警时间处理异常");
} }
} }
if(jjx == null) { if(jjx == null || jjx.getBadwiddm() == null) {
personal.setControlDepartId(null);
personal.setControlDepartName(null);
personal.setControlTime(null);
personal.setControlDepartType(null);
continue;
}
PointOrg org = orgCodeMap.get(jjx.getBadwiddm());
org = findOrg(org, orgIdMap);
SupExternalDepart depart = Optional.ofNullable(org).map(PointOrg::getDm).map(item -> jqExternalDepart.get(item)).orElse(null);
if (depart == null) {
personal.setControlDepartId(null);
personal.setControlDepartName(null);
personal.setControlTime(null);
personal.setControlDepartType(null);
continue; continue;
} }
personal.setControlDepartId(jjx.getBadwiddm()); personal.setControlDepartId(depart.getInternalId());
personal.setControlDepartName(jjx.getBadwidmc()); personal.setControlDepartName(depart.getInternalName());
personal.setControlDepartType(DepartType.OTHER.getType());
// 如果有报警时间,暂时填报警时间 处理标签回正 // 如果有报警时间,暂时填报警时间 处理标签回正
try { try {
LocalDateTime time = jjx.getBarq().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); LocalDateTime time = jjx.getBarq().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
personal.setCreateTime(time); personal.setCreateTime(time);
personal.setControlTime(time); personal.setControlTime(time);
} catch (Exception e) { } catch (Exception e) {
personal.setCreateTime(LocalDateTime.now());
log.info("报警时间处理异常"); log.info("报警时间处理异常");
} }
} }
@ -260,16 +331,21 @@ public class GBaseSHRWFRServiceImpl implements GBaseSHRWFRService {
RiskPersonal personal = new RiskPersonal(); RiskPersonal personal = new RiskPersonal();
personal.setIdCode(rkxx.getGmsfhm()); personal.setIdCode(rkxx.getGmsfhm());
personal.setName(rkxx.getXm()); personal.setName(rkxx.getXm());
personal.setGender(rkxx.getXbdm());
personal.setMobileNumber(rkxx.getLxdh()); personal.setMobileNumber(rkxx.getLxdh());
personal.setControlDepartId(ajjbxx.getBadwiddm()); personal.setControlDepartId(ajjbxx.getBadwiddm());
personal.setControlDepartName(ajjbxx.getBadwidmc()); personal.setControlDepartName(ajjbxx.getBadwidmc());
personal.setGender(IdCodeUtil.idCard2Gender(rkxx.getGmsfhm()));
if(personal.getGender() == null ){
personal.setGender(rkxx.getXbdm());
}
personal.setControlDepartType(DepartType.OTHER.getType());
// 如果有报警时间,暂时填报警时间 处理标签回正 // 如果有报警时间,暂时填报警时间 处理标签回正
try { try {
LocalDateTime time = ajjbxx.getBarq().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); LocalDateTime time = ajjbxx.getBarq().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
personal.setCreateTime(time); personal.setCreateTime(time);
personal.setControlTime(time); personal.setControlTime(time);
} catch (Exception e) { } catch (Exception e) {
personal.setCreateTime(LocalDateTime.now());
log.info("报警时间处理异常"); log.info("报警时间处理异常");
} }
personal.setAge(Optional.ofNullable(IdCodeUtil.idCard2Age(personal.getIdCode(), LocalDate.now())).orElse(-1)); personal.setAge(Optional.ofNullable(IdCodeUtil.idCard2Age(personal.getIdCode(), LocalDate.now())).orElse(-1));
@ -278,4 +354,14 @@ public class GBaseSHRWFRServiceImpl implements GBaseSHRWFRService {
return personal; return personal;
} }
PointOrg findOrg(PointOrg org, Map<String, PointOrg> orgIdMap) {
if (org == null) {
return null;
}
if (org.getPcs() == null || !org.getPcs().equals("1")) {
return findOrg(orgIdMap.get(org.getPid()), orgIdMap);
}
return org;
}
} }

40
src/main/java/com/biutag/supervisiondata/service/impl/HabitServiceImpl.java

@ -170,26 +170,26 @@ public class HabitServiceImpl implements HabitService {
toInsert.add(createClue(task.getModelId(), 1, task.getId(), clueData)); toInsert.add(createClue(task.getModelId(), 1, task.getId(), clueData));
} }
// 修改人员当前管控单位 // 修改人员当前管控单位
if(!records.isEmpty()) { // if(!records.isEmpty()) {
RiskPersonalControlRecord last = null; // RiskPersonalControlRecord last = null;
for (RiskPersonalControlRecord record : records) { // for (RiskPersonalControlRecord record : records) {
if(last == null) { // if(last == null) {
last = record; // last = record;
continue; // continue;
} // }
if(last.getControlTime().isBefore(record.getControlTime())) { // if(last.getControlTime().isBefore(record.getControlTime())) {
last = record; // last = record;
} // }
} // }
if(last != null && last.getId() == null) { // if(last != null && last.getId() == null) {
RiskPersonal person = new RiskPersonal(); // RiskPersonal person = new RiskPersonal();
person.setId(clue.getPersonId()); // person.setId(clue.getPersonId());
person.setControlDepartId(last.getControlDepartId()); // person.setControlDepartId(last.getControlDepartId());
person.setControlDepartName(last.getControlDepartName()); // person.setControlDepartName(last.getControlDepartName());
person.setControlTime(last.getControlTime()); // person.setControlTime(last.getControlTime());
toUpdatePersonal.add(person); // toUpdatePersonal.add(person);
} // }
} // }
} }
log.info("开始进行数据库操作"); log.info("开始进行数据库操作");
if(!toInsert.isEmpty()) { if(!toInsert.isEmpty()) {

40
src/main/java/com/biutag/supervisiondata/service/impl/PersonalServiceImpl.java

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.biutag.supervisiondata.common.interfaces.CompletableFutureUtil; import com.biutag.supervisiondata.common.interfaces.CompletableFutureUtil;
import com.biutag.supervisiondata.pojo.constants.Default; import com.biutag.supervisiondata.pojo.constants.Default;
import com.biutag.supervisiondata.pojo.database.Contradiction; import com.biutag.supervisiondata.pojo.database.Contradiction;
import com.biutag.supervisiondata.pojo.database.PointOrg;
import com.biutag.supervisiondata.pojo.entity.ads.GBaseSYRKXX; import com.biutag.supervisiondata.pojo.entity.ads.GBaseSYRKXX;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseTbDZdrylb; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseTbDZdrylb;
@ -289,20 +290,27 @@ public class PersonalServiceImpl implements PersonalService {
@Override @Override
public void syncOrg() { public void syncOrg() {
List<GBaseSYRKXX> xxInfo = gBaseSYRKXXRepository.getBaseMapper().selectOrg(); List<GBaseSYRKXX> xxInfo = gBaseSYRKXXRepository.getBaseMapper().selectOrg();
List<PointOrg> orgs = zdryRepository.getBaseMapper().selectOrg();
List<SupExternalDepart> externalDeparts = new ArrayList<>(); Map<String, PointOrg> orgIdMap = new WeakHashMap<>();
Map<String, Integer> supExternalDepartMap = new WeakHashMap<>(); Map<String, PointOrg> orgCodeMap = new WeakHashMap<>();
for (GBaseSYRKXX syrkxx : xxInfo) { for (PointOrg org : orgs) {
SupExternalDepart externalDepart = new SupExternalDepart(); orgIdMap.put(org.getId(), org);
externalDepart.setExternalId(syrkxx.getSspcsdm()); orgCodeMap.put(org.getDm(), org);
externalDepart.setExternalName(syrkxx.getSspcsmc());
externalDepart.setSource("实有人口信息");
externalDeparts.add(externalDepart);
supExternalDepartMap.put(syrkxx.getSspcsdm(), 1);
} }
if (!externalDeparts.isEmpty()) { int a = 0;
supExternalDepartRepository.saveBatch(externalDeparts); int b = 0;
for (GBaseSYRKXX syrkxx : xxInfo) {
PointOrg org = orgCodeMap.get(syrkxx.getSspcsdm());
org = findOrg(org, orgIdMap);
if(org== null) {
a++;
continue;
}
b++;
} }
log.info("ok{} | notOk{}", b, a);
} }
private final RiskTestRepository riskTestRepository; private final RiskTestRepository riskTestRepository;
@ -317,6 +325,16 @@ public class PersonalServiceImpl implements PersonalService {
riskTestRepository.getBaseMapper().truncateTable(); riskTestRepository.getBaseMapper().truncateTable();
} }
PointOrg findOrg(PointOrg org, Map<String, PointOrg> orgIdMap) {
if(org == null) {
return null;
}
if(org.getPcs() == null || !org.getPcs().equals("1")) {
return findOrg(orgIdMap.get(org.getPid()), orgIdMap);
}
return org;
}
/** /**
* 通过身份证号查询实有人口 * 通过身份证号查询实有人口
* *

118
src/main/java/com/biutag/supervisiondata/service/impl/PetitionServiceImpl.java

@ -4,9 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.biutag.supervisiondata.common.interfaces.CompletableFutureUtil; import com.biutag.supervisiondata.common.interfaces.CompletableFutureUtil;
import com.biutag.supervisiondata.pojo.ClueData; import com.biutag.supervisiondata.pojo.ClueData;
import com.biutag.supervisiondata.pojo.constants.Default; import com.biutag.supervisiondata.pojo.constants.Default;
import com.biutag.supervisiondata.pojo.database.PointOrg;
import com.biutag.supervisiondata.pojo.domain.TaskParamDomain; import com.biutag.supervisiondata.pojo.domain.TaskParamDomain;
import com.biutag.supervisiondata.pojo.entity.ads.GBaseSYRKXX; import com.biutag.supervisiondata.pojo.entity.ads.GBaseSYRKXX;
import com.biutag.supervisiondata.pojo.entity.mine.*; import com.biutag.supervisiondata.pojo.entity.mine.*;
import com.biutag.supervisiondata.pojo.enums.DepartType;
import com.biutag.supervisiondata.repository.*; import com.biutag.supervisiondata.repository.*;
import com.biutag.supervisiondata.service.PetitionService; import com.biutag.supervisiondata.service.PetitionService;
import com.biutag.supervisiondata.service.RiskModelTaskClueService; import com.biutag.supervisiondata.service.RiskModelTaskClueService;
@ -51,6 +53,10 @@ public class PetitionServiceImpl implements PetitionService {
private final RiskModelTaskClueRepository clueRepository; private final RiskModelTaskClueRepository clueRepository;
private final SupExternalDepartRepository externalDepartRepository;
private final GBaseZDRYRepository zdryRepository;
@Override @Override
public void personPullAndSave(LocalDateTime start, LocalDateTime end) { public void personPullAndSave(LocalDateTime start, LocalDateTime end) {
List<RiskPersonal> personals1 = new ArrayList<>(); List<RiskPersonal> personals1 = new ArrayList<>();
@ -59,6 +65,20 @@ public class PetitionServiceImpl implements PetitionService {
List<String> idCards = new ArrayList<>(); List<String> idCards = new ArrayList<>();
List<String> idCards_b = new ArrayList<>(); List<String> idCards_b = new ArrayList<>();
List<String> mobiles = new ArrayList<>(); List<String> mobiles = new ArrayList<>();
List<SupExternalDepart> supDeparts = externalDepartRepository.list(new LambdaQueryWrapper<SupExternalDepart>()
.select(SupExternalDepart::getExternalId, SupExternalDepart::getInternalId, SupExternalDepart::getInternalName, SupExternalDepart::getSource)
.eq(SupExternalDepart::getSource, "重点人员"));
Map<String, SupExternalDepart> jqExternalDepart = supDeparts.stream().collect(Collectors.toMap(SupExternalDepart::getExternalId, Function.identity(), (val, old) -> val));
List<PointOrg> orgs = zdryRepository.getBaseMapper().selectOrg();
Map<String, PointOrg> orgIdMap = new WeakHashMap<>();
Map<String, PointOrg> orgCodeMap = new WeakHashMap<>();
for (PointOrg org : orgs) {
orgIdMap.put(org.getId(), org);
orgCodeMap.put(org.getDm(), org);
}
CompletableFuture.allOf( CompletableFuture.allOf(
CompletableFutureUtil.runSyncObject(() -> { CompletableFutureUtil.runSyncObject(() -> {
List<DataPetition12337> list = petition12337Repository.list(new LambdaQueryWrapper<DataPetition12337>() List<DataPetition12337> list = petition12337Repository.list(new LambdaQueryWrapper<DataPetition12337>()
@ -70,9 +90,9 @@ public class PetitionServiceImpl implements PetitionService {
person.setName(data.getName()); person.setName(data.getName());
person.setMobileNumber(data.getPhone()); person.setMobileNumber(data.getPhone());
person.setTags(Default.PETITION_12337_TAG); person.setTags(Default.PETITION_12337_TAG);
person.setControlDepartId(data.getThirdDepartId()); // person.setControlDepartId(data.getThirdDepartId());
person.setControlDepartName(data.getThirdDepartName()); // person.setControlDepartName(data.getThirdDepartName());
person.setControlTime(data.getDiscoverTime()); // person.setControlTime(data.getDiscoverTime());
personals1.add(person); personals1.add(person);
idCards.add(data.getIdCode()); idCards.add(data.getIdCode());
} }
@ -87,9 +107,9 @@ public class PetitionServiceImpl implements PetitionService {
person.setName(data.getResponderName()); person.setName(data.getResponderName());
person.setMobileNumber(data.getResponderPhone()); person.setMobileNumber(data.getResponderPhone());
person.setTags(Default.PETITION_TAG); person.setTags(Default.PETITION_TAG);
person.setControlDepartId(data.getThirdDepartId()); // person.setControlDepartId(data.getThirdDepartId());
person.setControlDepartName(data.getThirdDepartName()); // person.setControlDepartName(data.getThirdDepartName());
person.setControlTime(data.getDiscoveryTime()); // person.setControlTime(data.getDiscoveryTime());
personals2.add(person); personals2.add(person);
idCards_b.add(data.getResponderIdCode()); idCards_b.add(data.getResponderIdCode());
} }
@ -103,9 +123,9 @@ public class PetitionServiceImpl implements PetitionService {
person.setName(data.getResponderName()); person.setName(data.getResponderName());
person.setMobileNumber(data.getResponderPhone()); person.setMobileNumber(data.getResponderPhone());
person.setTags(Default.PETITION_CASE_TAG); person.setTags(Default.PETITION_CASE_TAG);
person.setControlDepartId(data.getThirdDepartId()); // person.setControlDepartId(data.getThirdDepartId());
person.setControlDepartName(data.getThirdDepartName()); // person.setControlDepartName(data.getThirdDepartName());
person.setControlTime(data.getDiscoveryTime()); // person.setControlTime(data.getDiscoveryTime());
personals3.add(person); personals3.add(person);
mobiles.add(data.getResponderPhone()); mobiles.add(data.getResponderPhone());
} }
@ -130,7 +150,7 @@ public class PetitionServiceImpl implements PetitionService {
for (List<String> idCode : idCodes) { for (List<String> idCode : idCodes) {
count--; count--;
xxList.addAll(syrkxxRepository.list(new LambdaQueryWrapper<GBaseSYRKXX>() xxList.addAll(syrkxxRepository.list(new LambdaQueryWrapper<GBaseSYRKXX>()
.select(GBaseSYRKXX::getLxdh, GBaseSYRKXX::getXlmc, GBaseSYRKXX::getGmsfhm, GBaseSYRKXX::getXm, GBaseSYRKXX::getCsrq, GBaseSYRKXX::getXbdm) .select(GBaseSYRKXX::getLxdh, GBaseSYRKXX::getGmsfhm, GBaseSYRKXX::getXm, GBaseSYRKXX::getXbdm, GBaseSYRKXX::getSspcsdm)
.in(GBaseSYRKXX::getGmsfhm, idCode))); .in(GBaseSYRKXX::getGmsfhm, idCode)));
log.info("身份证进度 | {}", count); log.info("身份证进度 | {}", count);
} }
@ -144,7 +164,7 @@ public class PetitionServiceImpl implements PetitionService {
for (List<String> phone : phones) { for (List<String> phone : phones) {
count--; count--;
xxMobileList.addAll(syrkxxRepository.list(new LambdaQueryWrapper<GBaseSYRKXX>() xxMobileList.addAll(syrkxxRepository.list(new LambdaQueryWrapper<GBaseSYRKXX>()
.select(GBaseSYRKXX::getLxdh, GBaseSYRKXX::getXlmc, GBaseSYRKXX::getGmsfhm, GBaseSYRKXX::getXm, GBaseSYRKXX::getCsrq, GBaseSYRKXX::getXbdm) .select(GBaseSYRKXX::getLxdh, GBaseSYRKXX::getGmsfhm, GBaseSYRKXX::getXm, GBaseSYRKXX::getXbdm, GBaseSYRKXX::getSspcsdm)
.in(GBaseSYRKXX::getLxdh, phone))); .in(GBaseSYRKXX::getLxdh, phone)));
log.info("手机进度 | {}", count); log.info("手机进度 | {}", count);
} }
@ -162,7 +182,10 @@ public class PetitionServiceImpl implements PetitionService {
} }
continue; continue;
} }
personal.setGender(xx.getXbdm()); personal.setGender(IdCodeUtil.idCard2Gender(personal.getIdCode()));
if(personal == null) {
personal.setGender(xx.getXbdm());
}
if(xx.getLxdh() != null) { if(xx.getLxdh() != null) {
personal.setMobileNumber(xx.getLxdh()); personal.setMobileNumber(xx.getLxdh());
} }
@ -171,6 +194,17 @@ public class PetitionServiceImpl implements PetitionService {
if(personal.getAge() <= 6) { if(personal.getAge() <= 6) {
continue; continue;
} }
if(xx.getSspcsdm()!= null) {
PointOrg org = orgCodeMap.get(xx.getSspcsdm());
org = findOrg(org, orgIdMap);
SupExternalDepart depart = Optional.ofNullable(org).map(PointOrg::getDm).map(item -> jqExternalDepart.get(item)).orElse(null);
if (depart != null) {
personal.setControlDepartId(depart.getInternalId());
personal.setControlDepartName(depart.getInternalName());
personal.setControlDepartType(DepartType.HUMAN.getType());
personal.setControlTime(LocalDateTime.now());
}
}
toInsert.add(personal); toInsert.add(personal);
} }
for (RiskPersonal personal : personals2) { for (RiskPersonal personal : personals2) {
@ -191,6 +225,17 @@ public class PetitionServiceImpl implements PetitionService {
if(personal.getAge() <= 6) { if(personal.getAge() <= 6) {
continue; continue;
} }
if(xx.getSspcsdm()!= null) {
PointOrg org = orgCodeMap.get(xx.getSspcsdm());
org = findOrg(org, orgIdMap);
SupExternalDepart depart = Optional.ofNullable(org).map(PointOrg::getDm).map(item -> jqExternalDepart.get(item)).orElse(null);
if (depart != null) {
personal.setControlDepartId(depart.getInternalId());
personal.setControlDepartName(depart.getInternalName());
personal.setControlDepartType(DepartType.HUMAN.getType());
personal.setControlTime(LocalDateTime.now());
}
}
toInsert.add(personal); toInsert.add(personal);
} }
for (RiskPersonal personal : personals3) { for (RiskPersonal personal : personals3) {
@ -217,6 +262,17 @@ public class PetitionServiceImpl implements PetitionService {
if(personal.getAge() <= 6) { if(personal.getAge() <= 6) {
continue; continue;
} }
if(info.getSspcsdm()!= null) {
PointOrg org = orgCodeMap.get(info.getSspcsdm());
org = findOrg(org, orgIdMap);
SupExternalDepart depart = Optional.ofNullable(org).map(PointOrg::getDm).map(item -> jqExternalDepart.get(item)).orElse(null);
if (depart != null) {
personal.setControlDepartId(depart.getInternalId());
personal.setControlDepartName(depart.getInternalName());
personal.setControlDepartType(DepartType.HUMAN.getType());
personal.setControlTime(LocalDateTime.now());
}
}
toInsert.add(personal); toInsert.add(personal);
} }
@ -356,23 +412,23 @@ public class PetitionServiceImpl implements PetitionService {
// 找不到旧编号才继续 // 找不到旧编号才继续
if(oldClueMap.get(BhUtil.petBh(clueData.getId())) == null) { if(oldClueMap.get(BhUtil.petBh(clueData.getId())) == null) {
winner.add(createClue(task.getModelId(), 2, task.getId(), clueData)); winner.add(createClue(task.getModelId(), 2, task.getId(), clueData));
if(person.getControlTime() != null && person.getControlTime().isBefore(clueData.getEventTime())) { // if(person.getControlTime() != null && person.getControlTime().isBefore(clueData.getEventTime())) {
updatePeople = true; // updatePeople = true;
person.setControlTime(clueData.getEventTime()); // person.setControlTime(clueData.getEventTime());
person.setControlDepartId(clueData.getDepartId()); // person.setControlDepartId(clueData.getDepartId());
person.setControlDepartName(clueData.getDepartName()); // person.setControlDepartName(clueData.getDepartName());
} // }
toInsertRecrod.add(createControlRecord(clueData)); toInsertRecrod.add(createControlRecord(clueData));
} }
} }
if(updatePeople) { // if(updatePeople) {
RiskPersonal updatePerson = new RiskPersonal(); // RiskPersonal updatePerson = new RiskPersonal();
updatePerson.setId(person.getId()); // updatePerson.setId(person.getId());
updatePerson.setControlTime(person.getControlTime()); // updatePerson.setControlTime(person.getControlTime());
updatePerson.setControlDepartId(person.getControlDepartId()); // updatePerson.setControlDepartId(person.getControlDepartId());
updatePerson.setControlDepartName(person.getControlDepartName()); // updatePerson.setControlDepartName(person.getControlDepartName());
touUpdatePerson.add(updatePerson); // touUpdatePerson.add(updatePerson);
} // }
// - 结合新旧数据,从新计算季度,季度最晚的算分 // - 结合新旧数据,从新计算季度,季度最晚的算分
oldClues.addAll(winner); oldClues.addAll(winner);
Map<Integer, List<RiskModelTaskClue>> winnerMap = new WeakHashMap<>(); Map<Integer, List<RiskModelTaskClue>> winnerMap = new WeakHashMap<>();
@ -569,4 +625,14 @@ public class PetitionServiceImpl implements PetitionService {
} }
return personal; return personal;
} }
PointOrg findOrg(PointOrg org, Map<String, PointOrg> orgIdMap) {
if (org == null) {
return null;
}
if (org.getPcs() == null || !org.getPcs().equals("1")) {
return findOrg(orgIdMap.get(org.getPid()), orgIdMap);
}
return org;
}
} }

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

@ -719,7 +719,7 @@ public class PointServiceImpl implements PointService {
List<GBaseTbDZdrylb> lbList = zdrylbRepository.list(new LambdaQueryWrapper<GBaseTbDZdrylb>() List<GBaseTbDZdrylb> lbList = zdrylbRepository.list(new LambdaQueryWrapper<GBaseTbDZdrylb>()
.select(GBaseTbDZdrylb::getCode, GBaseTbDZdrylb::getDefine)); .select(GBaseTbDZdrylb::getCode, GBaseTbDZdrylb::getDefine));
List<SupExternalDepart> supDeparts = externalDepartRepository.list(new LambdaQueryWrapper<SupExternalDepart>() List<SupExternalDepart> supDeparts = externalDepartRepository.list(new LambdaQueryWrapper<SupExternalDepart>()
.select(SupExternalDepart::getExternalId, SupExternalDepart::getInternalId, SupExternalDepart::getInternalName) .select(SupExternalDepart::getExternalId, SupExternalDepart::getInternalId, SupExternalDepart::getInternalName, SupExternalDepart::getSource)
.eq(SupExternalDepart::getSource, "重点人员")); .eq(SupExternalDepart::getSource, "重点人员"));
List<PointOrg> orgs = zdryRepository.getBaseMapper().selectOrg(); List<PointOrg> orgs = zdryRepository.getBaseMapper().selectOrg();

6
src/main/java/com/biutag/supervisiondata/service/impl/PoliceServiceImpl.java

@ -165,9 +165,9 @@ public class PoliceServiceImpl implements PoliceService {
private static RiskPersonal getRiskPersonal(RiskPersonal person, RiskPersonalControlRecord tmpRecord) { private static RiskPersonal getRiskPersonal(RiskPersonal person, RiskPersonalControlRecord tmpRecord) {
RiskPersonal personToUpdate = new RiskPersonal(); RiskPersonal personToUpdate = new RiskPersonal();
personToUpdate.setId(person.getId()); personToUpdate.setId(person.getId());
personToUpdate.setControlTime(tmpRecord.getControlTime()); // personToUpdate.setControlTime(tmpRecord.getControlTime());
personToUpdate.setControlDepartName(tmpRecord.getControlDepartName()); // personToUpdate.setControlDepartName(tmpRecord.getControlDepartName());
personToUpdate.setControlDepartId(tmpRecord.getControlDepartId()); // personToUpdate.setControlDepartId(tmpRecord.getControlDepartId());
if(person.getTags().indexOf(Default.BIG_TAG_TRUBO) == -1) { if(person.getTags().indexOf(Default.BIG_TAG_TRUBO) == -1) {
personToUpdate.setTags(person.getTags().concat(",".concat(Default.BIG_TAG_TRUBO))); personToUpdate.setTags(person.getTags().concat(",".concat(Default.BIG_TAG_TRUBO)));
} }

69
src/main/java/com/biutag/supervisiondata/service/impl/RiskTaskServiceImpl.java

@ -7,6 +7,7 @@ import com.biutag.supervisiondata.common.interfaces.CompletableFutureUtil;
import com.biutag.supervisiondata.pojo.ClueData; import com.biutag.supervisiondata.pojo.ClueData;
import com.biutag.supervisiondata.pojo.ClueInfo; import com.biutag.supervisiondata.pojo.ClueInfo;
import com.biutag.supervisiondata.pojo.constants.Default; import com.biutag.supervisiondata.pojo.constants.Default;
import com.biutag.supervisiondata.pojo.database.PointOrg;
import com.biutag.supervisiondata.pojo.domain.FightMan; import com.biutag.supervisiondata.pojo.domain.FightMan;
import com.biutag.supervisiondata.pojo.domain.TaskParamDomain; import com.biutag.supervisiondata.pojo.domain.TaskParamDomain;
import com.biutag.supervisiondata.pojo.entity.ads.GBaseSYRKXX; import com.biutag.supervisiondata.pojo.entity.ads.GBaseSYRKXX;
@ -15,6 +16,7 @@ import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseWFRXX; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseWFRXX;
import com.biutag.supervisiondata.pojo.entity.mine.*; import com.biutag.supervisiondata.pojo.entity.mine.*;
import com.biutag.supervisiondata.pojo.enums.Charge; import com.biutag.supervisiondata.pojo.enums.Charge;
import com.biutag.supervisiondata.pojo.enums.DepartType;
import com.biutag.supervisiondata.pojo.enums.Edu; import com.biutag.supervisiondata.pojo.enums.Edu;
import com.biutag.supervisiondata.repository.*; import com.biutag.supervisiondata.repository.*;
import com.biutag.supervisiondata.service.RiskModelTaskClueService; import com.biutag.supervisiondata.service.RiskModelTaskClueService;
@ -316,15 +318,15 @@ public class RiskTaskServiceImpl implements RiskTaskService {
last = riskPersonalControlRecord; last = riskPersonalControlRecord;
} }
} }
if (last != null && last.getId() == null) { // if (last != null && last.getId() == null) {
// 说明不是老数据 修改风险人员管控 // // 说明不是老数据 修改风险人员管控
RiskPersonal p = new RiskPersonal(); // RiskPersonal p = new RiskPersonal();
p.setId(person.getId()); // p.setId(person.getId());
p.setControlDepartName(last.getControlDepartName()); // p.setControlDepartName(last.getControlDepartName());
p.setControlDepartId(last.getControlDepartId()); // p.setControlDepartId(last.getControlDepartId());
p.setControlTime(last.getControlTime()); // p.setControlTime(last.getControlTime());
toUpdatePerson.add(p); // toUpdatePerson.add(p);
} // }
// 记录中的案件编号 // 记录中的案件编号
RiskModelTaskClue old = oldMap.get(person.getIdCode()); RiskModelTaskClue old = oldMap.get(person.getIdCode());
String caseIds = Optional.ofNullable(old).map(RiskModelTaskClue::getCaseIds).orElse(""); String caseIds = Optional.ofNullable(old).map(RiskModelTaskClue::getCaseIds).orElse("");
@ -571,6 +573,10 @@ public class RiskTaskServiceImpl implements RiskTaskService {
riskTaskRepository.updateById(endTask); riskTaskRepository.updateById(endTask);
} }
private final SupExternalDepartRepository externalDepartRepository;
private final GBaseZDRYRepository zdryRepository;
@Override @Override
public void heightFight(TaskParamDomain domain) { public void heightFight(TaskParamDomain domain) {
// 战斗过的用户 // 战斗过的用户
@ -578,6 +584,19 @@ public class RiskTaskServiceImpl implements RiskTaskService {
log.info("用户数 : {}", xxList.size()); log.info("用户数 : {}", xxList.size());
Map<String, GBaseSYRKXX> syrkxxMap = xxList.stream().collect(Collectors.toMap(GBaseSYRKXX::getGmsfhm, Function.identity(), (oldValue, newValue) -> newValue)); Map<String, GBaseSYRKXX> syrkxxMap = xxList.stream().collect(Collectors.toMap(GBaseSYRKXX::getGmsfhm, Function.identity(), (oldValue, newValue) -> newValue));
List<SupExternalDepart> supDeparts = externalDepartRepository.list(new LambdaQueryWrapper<SupExternalDepart>()
.select(SupExternalDepart::getExternalId, SupExternalDepart::getInternalId, SupExternalDepart::getInternalName, SupExternalDepart::getSource)
.eq(SupExternalDepart::getSource, "重点人员"));
Map<String, SupExternalDepart> jqExternalDepart = supDeparts.stream().collect(Collectors.toMap(SupExternalDepart::getExternalId, Function.identity(), (val, old) -> val));
List<PointOrg> orgs = zdryRepository.getBaseMapper().selectOrg();
Map<String, PointOrg> orgIdMap = new WeakHashMap<>();
Map<String, PointOrg> orgCodeMap = new WeakHashMap<>();
for (PointOrg org : orgs) {
orgIdMap.put(org.getId(), org);
orgCodeMap.put(org.getDm(), org);
}
RiskTask task = createTask(xxList.size(), 42); RiskTask task = createTask(xxList.size(), 42);
riskTaskRepository.save(task); riskTaskRepository.save(task);
@ -628,7 +647,7 @@ public class RiskTaskServiceImpl implements RiskTaskService {
List<GBaseSYRKXX> list = syrkxxRepository.list(new LambdaQueryWrapper<GBaseSYRKXX>() List<GBaseSYRKXX> list = syrkxxRepository.list(new LambdaQueryWrapper<GBaseSYRKXX>()
.select(GBaseSYRKXX::getGmsfhm, GBaseSYRKXX::getXm, GBaseSYRKXX::getLxdh, GBaseSYRKXX::getSspcsmc, GBaseSYRKXX::getSspcsdm) .select(GBaseSYRKXX::getGmsfhm, GBaseSYRKXX::getXm, GBaseSYRKXX::getLxdh, GBaseSYRKXX::getSspcsdm)
.in(GBaseSYRKXX::getGmsfhm, manList)); .in(GBaseSYRKXX::getGmsfhm, manList));
Map<String, GBaseSYRKXX> map = list.stream().collect(Collectors.toMap(GBaseSYRKXX::getGmsfhm, Function.identity(), (oldValue, newValue) -> newValue)); Map<String, GBaseSYRKXX> map = list.stream().collect(Collectors.toMap(GBaseSYRKXX::getGmsfhm, Function.identity(), (oldValue, newValue) -> newValue));
@ -640,7 +659,7 @@ public class RiskTaskServiceImpl implements RiskTaskService {
if(xx == null) { if(xx == null) {
continue; continue;
} }
RiskPersonal personal = createPerson(xx, Default.FIGHT_MUCH); RiskPersonal personal = createPerson(xx, Default.FIGHT_MUCH,orgCodeMap,orgIdMap, jqExternalDepart);
toInsertPeople.add(personal); toInsertPeople.add(personal);
RiskModelTaskClue clue = createClue(task.getModelId(),3, personal,task.getId(), s.getValue().getFightCount()+"起纠纷", "该人员在近期发生"+s.getValue().getFightCount()+"起矛盾纠纷,属于高频次矛盾纠纷发生人员,增加风险分3分"); RiskModelTaskClue clue = createClue(task.getModelId(),3, personal,task.getId(), s.getValue().getFightCount()+"起纠纷", "该人员在近期发生"+s.getValue().getFightCount()+"起矛盾纠纷,属于高频次矛盾纠纷发生人员,增加风险分3分");
@ -843,13 +862,24 @@ public class RiskTaskServiceImpl implements RiskTaskService {
return null; return null;
} }
RiskPersonal createPerson(GBaseSYRKXX xx, String tag) { RiskPersonal createPerson(GBaseSYRKXX xx, String tag, Map<String, PointOrg> orgCodeMap, Map<String, PointOrg> orgIdMap,Map<String, SupExternalDepart> jqExternalDepart) {
RiskPersonal person = new RiskPersonal(); RiskPersonal person = new RiskPersonal();
person.setName(xx.getXm()); person.setName(xx.getXm());
person.setMobileNumber(xx.getLxdh()); person.setMobileNumber(xx.getLxdh());
person.setIdCode(xx.getGmsfhm()); person.setIdCode(xx.getGmsfhm());
person.setControlDepartId(xx.getSspcsdm());
person.setControlDepartName(xx.getSspcsmc()); if(xx.getSspcsdm()!= null) {
PointOrg org = orgCodeMap.get(xx.getSspcsdm());
org = findOrg(org, orgIdMap);
SupExternalDepart depart = Optional.ofNullable(org).map(PointOrg::getDm).map(item -> jqExternalDepart.get(item)).orElse(null);
if (depart != null) {
person.setControlDepartId(depart.getInternalId());
person.setControlDepartName(depart.getInternalName());
person.setControlDepartType(DepartType.HUMAN.getType());
person.setControlTime(LocalDateTime.now());
}
}
try{ try{
int age = IdCodeUtil.idCard2Age(person.getIdCode(), LocalDate.now()); int age = IdCodeUtil.idCard2Age(person.getIdCode(), LocalDate.now());
if(age <= 6) { if(age <= 6) {
@ -869,8 +899,17 @@ public class RiskTaskServiceImpl implements RiskTaskService {
} }
} }
person.setCreateTime(LocalDateTime.now()); person.setCreateTime(LocalDateTime.now());
person.setControlTime(LocalDateTime.now());
person.setTags(tag); person.setTags(tag);
return person; return person;
} }
PointOrg findOrg(PointOrg org, Map<String, PointOrg> orgIdMap) {
if (org == null) {
return null;
}
if (org.getPcs() == null || !org.getPcs().equals("1")) {
return findOrg(orgIdMap.get(org.getPid()), orgIdMap);
}
return org;
}
} }

Loading…
Cancel
Save