Browse Source

优化代码

master
kami 1 year ago
parent
commit
70a7bfda4a
  1. 16
      src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java
  2. 21
      src/main/java/com/biutag/supervisiondata/pojo/enums/OrgType.java
  3. 48
      src/main/java/com/biutag/supervisiondata/service/impl/GBaseJJDServiceImpl.java
  4. 48
      src/main/java/com/biutag/supervisiondata/service/impl/GBaseSHRWFRServiceImpl.java
  5. 51
      src/main/java/com/biutag/supervisiondata/service/impl/PersonalServiceImpl.java
  6. 90
      src/main/java/com/biutag/supervisiondata/service/impl/PetitionServiceImpl.java
  7. 44
      src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java
  8. 71
      src/main/java/com/biutag/supervisiondata/service/impl/RiskTaskServiceImpl.java
  9. 72
      src/main/java/com/biutag/supervisiondata/util/DepartUtil.java
  10. 25
      src/main/java/com/biutag/supervisiondata/util/OrgUtil.java

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

@ -6,11 +6,9 @@ import com.biutag.supervisiondata.config.cache.RedisDao;
import com.biutag.supervisiondata.pojo.domain.TaskParamDomain; import com.biutag.supervisiondata.pojo.domain.TaskParamDomain;
import com.biutag.supervisiondata.pojo.entity.mine.RiskModelTaskClue; import com.biutag.supervisiondata.pojo.entity.mine.RiskModelTaskClue;
import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonal; import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonal;
import com.biutag.supervisiondata.repository.RiskModelTaskClueRepository; import com.biutag.supervisiondata.repository.*;
import com.biutag.supervisiondata.repository.RiskPersonalRepository;
import com.biutag.supervisiondata.repository.RiskPersonalTagRepository;
import com.biutag.supervisiondata.repository.RiskTestRepository;
import com.biutag.supervisiondata.service.*; import com.biutag.supervisiondata.service.*;
import com.biutag.supervisiondata.util.DepartUtil;
import jakarta.annotation.PreDestroy; import jakarta.annotation.PreDestroy;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -31,8 +29,8 @@ import java.util.stream.Collectors;
* @version 0.0.1 * @version 0.0.1
* @since 1.8 * @since 1.8
*/ */
@Component
@Slf4j @Slf4j
@Component
public class ApplicationEvent { public class ApplicationEvent {
@Resource @Resource
@ -95,10 +93,16 @@ public class ApplicationEvent {
@Resource @Resource
private WdpcGrjdJsbryService jsbryService; private WdpcGrjdJsbryService jsbryService;
@Resource
private GBaseZDRYRepository ryRepository;
@Resource
SupExternalDepartRepository departRepository;
@EventListener(ApplicationReadyEvent.class) @EventListener(ApplicationReadyEvent.class)
public void serviceReady() { public void serviceReady() {
RedisDao.getInstance().init(redisTemplate); RedisDao.getInstance().init(redisTemplate);
DepartUtil.init(ryRepository, departRepository);
LocalDateTime end = LocalDate.now().minusDays(1).atTime(23,59,59); LocalDateTime end = LocalDate.now().minusDays(1).atTime(23,59,59);
CompletableFutureUtil.runSync(() -> { CompletableFutureUtil.runSync(() -> {
// personalService.init(List.of()); // personalService.init(List.of());
@ -129,7 +133,7 @@ public class ApplicationEvent {
// jsbryService.syncPys(initDomain(List.of(59))); // jsbryService.syncPys(initDomain(List.of(59)));
// gBaseSHRWFRService.combatCrime(initDomain(List.of(63))); // gBaseSHRWFRService.combatCrime(initDomain(List.of(63)));
// gBaseJJDService.warningInstance(initDomain(List.of(64))); // gBaseJJDService.warningInstance(initDomain(List.of(64)));
gBaseJJDService.syncHomeViolence(initDomain(List.of(65,66))); // gBaseJJDService.syncHomeViolence(initDomain(List.of(65,66)));
// pointService.syncPointType(initDomain(List.of(67))); // pointService.syncPointType(initDomain(List.of(67)));
// gBaseSHRWFRService.hadWork(initDomain(List.of(68))); // gBaseSHRWFRService.hadWork(initDomain(List.of(68)));
// gBaseJJDService.syncParentRelation(initDomain(List.of(69,70))); // gBaseJJDService.syncParentRelation(initDomain(List.of(69,70)));

21
src/main/java/com/biutag/supervisiondata/pojo/enums/OrgType.java

@ -0,0 +1,21 @@
package com.biutag.supervisiondata.pojo.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
/**
* @author kami on 2024-11-25 16:54:01
* @version 0.0.1
* @since 1.8
*/
@AllArgsConstructor
@Getter
@Slf4j
public enum OrgType {
POINT( "重点人员"),
INSTANCE( "情指行");
private final String type;
}

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

@ -8,7 +8,6 @@ import com.biutag.supervisiondata.common.utils.StreamUtil;
import com.biutag.supervisiondata.config.cache.RedisDao; import com.biutag.supervisiondata.config.cache.RedisDao;
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.Contradict; import com.biutag.supervisiondata.pojo.domain.Contradict;
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;
@ -18,6 +17,7 @@ import com.biutag.supervisiondata.pojo.entity.mine.RiskPersonal;
import com.biutag.supervisiondata.pojo.entity.mine.RiskTask; import com.biutag.supervisiondata.pojo.entity.mine.RiskTask;
import com.biutag.supervisiondata.pojo.entity.mine.SupExternalDepart; import com.biutag.supervisiondata.pojo.entity.mine.SupExternalDepart;
import com.biutag.supervisiondata.pojo.enums.DepartType; import com.biutag.supervisiondata.pojo.enums.DepartType;
import com.biutag.supervisiondata.pojo.enums.OrgType;
import com.biutag.supervisiondata.repository.*; import com.biutag.supervisiondata.repository.*;
import com.biutag.supervisiondata.service.GBaseJJDService; import com.biutag.supervisiondata.service.GBaseJJDService;
import com.biutag.supervisiondata.service.RiskModelTaskClueService; import com.biutag.supervisiondata.service.RiskModelTaskClueService;
@ -53,10 +53,6 @@ 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) {
// 获取接警数据 // 获取接警数据
@ -64,21 +60,6 @@ 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<SupExternalDepart> supDeparts = externalDepartRepository.list(new LambdaQueryWrapper<SupExternalDepart>()
.select(SupExternalDepart::getExternalId, SupExternalDepart::getInternalId, SupExternalDepart::getInternalShortName, 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));
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);
}
List<RiskPersonal> personals = new ArrayList<>(); List<RiskPersonal> personals = new ArrayList<>();
// 过滤数据 // 过滤数据
List<String> idCodes1 = new ArrayList<>(); List<String> idCodes1 = new ArrayList<>();
@ -177,19 +158,13 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
} }
if (info != null) { if (info != null) {
personal = refreshPersonal(personal, info, today); personal = refreshPersonal(personal, info, today);
if (info.getSspcsdm() != null) { SupExternalDepart depart = DepartUtil.findLevelThereOrg(info.getSspcsdm(), OrgType.POINT);
PointOrg org = orgCodeMap.get(info.getSspcsdm()); if (depart != null) {
org = OrgUtil.findOrg(org, orgIdMap); personal.setControlDepartId(depart.getInternalId());
if (org != null) { personal.setControlDepartName(depart.getInternalShortName());
SupExternalDepart depart = pointExternalDepart.get(org.getDm()); personal.setControlDepartType(DepartType.HUMAN.getType());
if (depart != null) { personal.setControlTime(LocalDateTime.now());
personal.setControlDepartId(depart.getInternalId()); personal.setCreateTime(personal.getControlTime());
personal.setControlDepartName(depart.getInternalShortName());
personal.setControlDepartType(DepartType.HUMAN.getType());
personal.setControlTime(LocalDateTime.now());
personal.setCreateTime(personal.getControlTime());
}
}
} }
toInsert.add(personal); toInsert.add(personal);
} }
@ -225,12 +200,7 @@ public class GBaseJJDServiceImpl implements GBaseJJDService {
personal.setControlDepartName(null); personal.setControlDepartName(null);
continue; continue;
} }
SupExternalDepart depart = hope.get(tmp.getGxdwdm()); SupExternalDepart depart = DepartUtil.findLevelThereOrg(tmp.getGxdwdm(), OrgType.INSTANCE);
if (depart == null) {
PointOrg org = orgCodeMap.get(tmp.getGxdwdm());
org = OrgUtil.findOrg(org, orgIdMap);
depart = Optional.ofNullable(org).map(PointOrg::getDm).map(jqExternalDepart::get).orElse(null);
}
if (depart == null) { if (depart == null) {
personal.setControlDepartId(null); personal.setControlDepartId(null);
personal.setControlDepartName(null); personal.setControlDepartName(null);

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

@ -18,11 +18,13 @@ import com.biutag.supervisiondata.pojo.entity.mine.RiskTask;
import com.biutag.supervisiondata.pojo.entity.mine.SupExternalDepart; import com.biutag.supervisiondata.pojo.entity.mine.SupExternalDepart;
import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdZblx; import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdZblx;
import com.biutag.supervisiondata.pojo.enums.DepartType; import com.biutag.supervisiondata.pojo.enums.DepartType;
import com.biutag.supervisiondata.pojo.enums.OrgType;
import com.biutag.supervisiondata.repository.*; import com.biutag.supervisiondata.repository.*;
import com.biutag.supervisiondata.service.GBaseSHRWFRService; import com.biutag.supervisiondata.service.GBaseSHRWFRService;
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.DataUtil; import com.biutag.supervisiondata.util.DataUtil;
import com.biutag.supervisiondata.util.DepartUtil;
import com.biutag.supervisiondata.util.IdCodeUtil; import com.biutag.supervisiondata.util.IdCodeUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -58,23 +60,8 @@ public class GBaseSHRWFRServiceImpl implements GBaseSHRWFRService {
private final GBaseZDRYRepository zdryRepository; 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::getInternalShortName, SupExternalDepart::getSource)
.in(SupExternalDepart::getSource, List.of("情指行")));
Map<String, SupExternalDepart> externalDepart = supDeparts.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<WFSHPerson> shrTmp = new ArrayList<>(); List<WFSHPerson> shrTmp = new ArrayList<>();
List<WFSHPerson> wfrTmp = new ArrayList<>(); List<WFSHPerson> wfrTmp = new ArrayList<>();
// 分别拉取受害人和违法人信息 // 分别拉取受害人和违法人信息
@ -128,8 +115,8 @@ public class GBaseSHRWFRServiceImpl implements GBaseSHRWFRService {
Map<String, GBaseSYRKXX> idCodeMap = xxList.stream().collect(Collectors.toMap(GBaseSYRKXX::getGmsfhm, Function.identity(), (oldValue, newValue) -> newValue)); Map<String, GBaseSYRKXX> idCodeMap = xxList.stream().collect(Collectors.toMap(GBaseSYRKXX::getGmsfhm, Function.identity(), (oldValue, newValue) -> newValue));
List<RiskPersonal> toInsert1 = createInsertData(Default.WFR_TAG, wfrTmp, tmpMap, idCodeMap, orgCodeMap, orgIdMap, externalDepart); List<RiskPersonal> toInsert1 = createInsertData(Default.WFR_TAG, wfrTmp, tmpMap, idCodeMap);
List<RiskPersonal> toInsert2 = createInsertData(Default.SHR_TAG, shrTmp, tmpMap, idCodeMap, orgCodeMap, orgIdMap, externalDepart); List<RiskPersonal> toInsert2 = createInsertData(Default.SHR_TAG, shrTmp, tmpMap, idCodeMap);
log.info("违法人数: {}", toInsert1.size()); log.info("违法人数: {}", toInsert1.size());
riskPersonalService.formatAndSave(toInsert1, Default.BIG_TAG_SHWFR); riskPersonalService.formatAndSave(toInsert1, Default.BIG_TAG_SHWFR);
@ -482,11 +469,11 @@ public class GBaseSHRWFRServiceImpl implements GBaseSHRWFRService {
return personal; return personal;
} }
List<RiskPersonal> createInsertData(String tag, List<WFSHPerson> list, Map<String, WFSHPerson> tmpMap, Map<String, GBaseSYRKXX> idCodeMap, List<RiskPersonal> createInsertData(String tag, List<WFSHPerson> list, Map<String, WFSHPerson> tmpMap, Map<String, GBaseSYRKXX> idCodeMap) {
Map<String, PointOrg> orgCodeMap, Map<String, PointOrg> orgIdMap, Map<String, SupExternalDepart> externalDepart) {
Map<String, SupExternalDepart> departMap = new WeakHashMap<>();
Map<String, Byte[]> exist = new WeakHashMap<>(); Map<String, Byte[]> exist = new WeakHashMap<>();
List<RiskPersonal> toInsert = new ArrayList<>(); List<RiskPersonal> toInsert = new ArrayList<>();
Map<String, SupExternalDepart> hope = new WeakHashMap<>();
for (WFSHPerson person : list) { for (WFSHPerson person : list) {
if (exist.get(person.getIdCode()) != null) { if (exist.get(person.getIdCode()) != null) {
continue; continue;
@ -511,32 +498,15 @@ public class GBaseSHRWFRServiceImpl implements GBaseSHRWFRService {
toInsert.add(personal); toInsert.add(personal);
continue; continue;
} }
SupExternalDepart depart = departMap.get(departId); SupExternalDepart depart = Optional.ofNullable(hope.get(departId)).orElse(DepartUtil.findLevelThereOrg(departId, OrgType.INSTANCE));
if (depart == null) {
PointOrg org = orgCodeMap.get(departId);
org = findOrg(org, orgIdMap);
if (org != null) {
depart = externalDepart.get(org.getDm());
departMap.put(departId, depart);
}
}
if (depart != null) { if (depart != null) {
personal.setControlDepartId(depart.getInternalId()); personal.setControlDepartId(depart.getInternalId());
personal.setControlDepartName(depart.getInternalShortName()); personal.setControlDepartName(depart.getInternalShortName());
hope.put(departId, depart);
} }
toInsert.add(personal); toInsert.add(personal);
exist.put(person.getIdCode(), new Byte[0]); exist.put(person.getIdCode(), new Byte[0]);
} }
return toInsert; return toInsert;
} }
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;
}
} }

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

@ -5,7 +5,6 @@ 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.constants.Media; import com.biutag.supervisiondata.pojo.constants.Media;
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.domain.PersonImageInfo; import com.biutag.supervisiondata.pojo.domain.PersonImageInfo;
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;
@ -17,12 +16,13 @@ import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdXfsj;
import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdXfsjCs; import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdXfsjCs;
import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcRyLgXX; import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcRyLgXX;
import com.biutag.supervisiondata.pojo.enums.DepartType; import com.biutag.supervisiondata.pojo.enums.DepartType;
import com.biutag.supervisiondata.pojo.enums.OrgType;
import com.biutag.supervisiondata.repository.*; import com.biutag.supervisiondata.repository.*;
import com.biutag.supervisiondata.service.PersonalService; import com.biutag.supervisiondata.service.PersonalService;
import com.biutag.supervisiondata.service.RiskPersonalService; import com.biutag.supervisiondata.service.RiskPersonalService;
import com.biutag.supervisiondata.util.DepartUtil;
import com.biutag.supervisiondata.util.IdCodeUtil; import com.biutag.supervisiondata.util.IdCodeUtil;
import com.biutag.supervisiondata.util.ImageUtil; import com.biutag.supervisiondata.util.ImageUtil;
import com.biutag.supervisiondata.util.OrgUtil;
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;
@ -330,20 +330,6 @@ public class PersonalServiceImpl implements PersonalService {
.mapToObj(i -> idCards.subList(i * 10000, Math.min((i + 1) * 10000, idCards.size()))) .mapToObj(i -> idCards.subList(i * 10000, Math.min((i + 1) * 10000, idCards.size())))
.toList(); .toList();
List<SupExternalDepart> supDeparts = externalDepartRepository.list(new LambdaQueryWrapper<SupExternalDepart>()
.select(SupExternalDepart::getExternalId, SupExternalDepart::getInternalId, SupExternalDepart::getInternalShortName, SupExternalDepart::getSource)
.eq(SupExternalDepart::getSource, "重点人员"));
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);
}
Map<String, SupExternalDepart> supExternalDepartMap = supDeparts.stream().collect(Collectors.toMap(SupExternalDepart::getExternalId, Function.identity(), (val, old) -> val));
List<GBaseSYRKXX> xxList = new ArrayList<>(getByIdCode(idCards2)); List<GBaseSYRKXX> xxList = new ArrayList<>(getByIdCode(idCards2));
// 去重 // 去重
List<RiskPersonal> personals = new ArrayList<>(); List<RiskPersonal> personals = new ArrayList<>();
@ -358,13 +344,7 @@ public class PersonalServiceImpl implements PersonalService {
if (personal == null) { if (personal == null) {
continue; continue;
} }
SupExternalDepart depart = hope.get(xx.getSspcsdm()); SupExternalDepart depart = Optional.ofNullable(hope.get(xx.getSspcsdm())).orElse(DepartUtil.findLevelThereOrg(xx.getSspcsdm(), OrgType.POINT));
if (depart == null) {
personal.setMobileNumber(xx.getLxdh());
PointOrg org = orgCodeMap.get(xx.getSspcsdm());
org = OrgUtil.findOrg(org, orgIdMap);
depart = Optional.ofNullable(org).map(PointOrg::getDm).map(supExternalDepartMap::get).orElse(null);
}
if (depart != null) { if (depart != null) {
hope.put(xx.getSspcsdm(), depart); hope.put(xx.getSspcsdm(), depart);
personal.setControlDepartId(depart.getInternalId()); personal.setControlDepartId(depart.getInternalId());
@ -410,8 +390,6 @@ public class PersonalServiceImpl implements PersonalService {
private final WdpcGrjdJsbryRepository jsbryRepository; private final WdpcGrjdJsbryRepository jsbryRepository;
private final SupExternalDepartRepository externalDepartRepository;
@Override @Override
public void pullPsychosis() { public void pullPsychosis() {
List<WdpcGrjdJsbry> jsbryList = jsbryRepository.list(new LambdaQueryWrapper<WdpcGrjdJsbry>() List<WdpcGrjdJsbry> jsbryList = jsbryRepository.list(new LambdaQueryWrapper<WdpcGrjdJsbry>()
@ -426,19 +404,6 @@ public class PersonalServiceImpl implements PersonalService {
List<GBaseSYRKXX> xxList = new ArrayList<>(getByIdCode(idCards2)); List<GBaseSYRKXX> xxList = new ArrayList<>(getByIdCode(idCards2));
Map<String, GBaseSYRKXX> xxMap = xxList.stream().collect(Collectors.toMap(GBaseSYRKXX::getGmsfhm, Function.identity(), (val, old) -> val)); Map<String, GBaseSYRKXX> xxMap = xxList.stream().collect(Collectors.toMap(GBaseSYRKXX::getGmsfhm, Function.identity(), (val, old) -> val));
List<SupExternalDepart> supDeparts = externalDepartRepository.list(new LambdaQueryWrapper<SupExternalDepart>()
.select(SupExternalDepart::getExternalId, SupExternalDepart::getInternalId, SupExternalDepart::getInternalShortName, SupExternalDepart::getSource)
.eq(SupExternalDepart::getSource, "重点人员"));
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);
}
Map<String, SupExternalDepart> supExternalDepartMap = supDeparts.stream().collect(Collectors.toMap(SupExternalDepart::getExternalId, Function.identity(), (val, old) -> val));
Map<String, Byte[]> map = new WeakHashMap<>(); Map<String, Byte[]> map = new WeakHashMap<>();
List<RiskPersonal> personals = new ArrayList<>(); List<RiskPersonal> personals = new ArrayList<>();
@ -459,14 +424,9 @@ public class PersonalServiceImpl implements PersonalService {
person.setCreateTime(LocalDateTime.now()); person.setCreateTime(LocalDateTime.now());
person.setControlTime(LocalDateTime.now()); person.setControlTime(LocalDateTime.now());
person.setControlDepartType(DepartType.OTHER.getType()); person.setControlDepartType(DepartType.OTHER.getType());
person.setTags(Default.PSYCHOSIS_TAG);
if (xx != null) { if (xx != null) {
SupExternalDepart depart = hope.get(xx.getSspcsdm()); SupExternalDepart depart = Optional.ofNullable(hope.get(xx.getSspcsdm())).orElse(DepartUtil.findLevelThereOrg(xx.getSspcsdm(), OrgType.POINT));
if (depart == null) {
person.setMobileNumber(xx.getLxdh());
PointOrg org = orgCodeMap.get(xx.getSspcsdm());
org = OrgUtil.findOrg(org, orgIdMap);
depart = Optional.ofNullable(org).map(PointOrg::getDm).map(supExternalDepartMap::get).orElse(null);
}
if (depart != null) { if (depart != null) {
hope.put(xx.getSspcsdm(), depart); hope.put(xx.getSspcsdm(), depart);
person.setControlDepartId(depart.getInternalId()); person.setControlDepartId(depart.getInternalId());
@ -474,7 +434,6 @@ public class PersonalServiceImpl implements PersonalService {
person.setControlDepartType(DepartType.HUMAN.getType()); person.setControlDepartType(DepartType.HUMAN.getType());
} }
} }
person.setTags(Default.PSYCHOSIS_TAG);
personals.add(person); personals.add(person);
} }
if (!personals.isEmpty()) { if (!personals.isEmpty()) {

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

@ -10,11 +10,13 @@ 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.pojo.enums.DepartType;
import com.biutag.supervisiondata.pojo.enums.OrgType;
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;
import com.biutag.supervisiondata.service.RiskPersonalService; import com.biutag.supervisiondata.service.RiskPersonalService;
import com.biutag.supervisiondata.util.DataUtil; import com.biutag.supervisiondata.util.DataUtil;
import com.biutag.supervisiondata.util.DepartUtil;
import com.biutag.supervisiondata.util.IdCodeUtil; import com.biutag.supervisiondata.util.IdCodeUtil;
import com.biutag.supervisiondata.util.BhUtil; import com.biutag.supervisiondata.util.BhUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -54,10 +56,6 @@ public class PetitionServiceImpl implements PetitionService {
private final RiskModelTaskClueService riskModelTaskClueService; private final RiskModelTaskClueService riskModelTaskClueService;
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<>();
@ -67,19 +65,6 @@ public class PetitionServiceImpl implements PetitionService {
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::getInternalShortName, 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>()
@ -183,6 +168,8 @@ public class PetitionServiceImpl implements PetitionService {
Map<String, GBaseSYRKXX> map = xxList.stream().collect(Collectors.toMap(GBaseSYRKXX::getGmsfhm, Function.identity(), (oldValue, newValue) -> newValue)); Map<String, GBaseSYRKXX> map = xxList.stream().collect(Collectors.toMap(GBaseSYRKXX::getGmsfhm, Function.identity(), (oldValue, newValue) -> newValue));
Map<String, List<GBaseSYRKXX>> mobileMap = xxMobileList.stream().collect(Collectors.groupingBy(GBaseSYRKXX::getLxdh)); Map<String, List<GBaseSYRKXX>> mobileMap = xxMobileList.stream().collect(Collectors.groupingBy(GBaseSYRKXX::getLxdh));
List<RiskPersonal> toInsert = new ArrayList<>(); List<RiskPersonal> toInsert = new ArrayList<>();
Map<String, SupExternalDepart> hope = new WeakHashMap<>();
for (RiskPersonal personal : personals1) { for (RiskPersonal personal : personals1) {
GBaseSYRKXX xx = map.get(personal.getIdCode()); GBaseSYRKXX xx = map.get(personal.getIdCode());
if (xx == null) { if (xx == null) {
@ -204,16 +191,13 @@ public class PetitionServiceImpl implements PetitionService {
if (personal.getAge() <= 6) { if (personal.getAge() <= 6) {
continue; continue;
} }
if (xx.getSspcsdm() != null) { SupExternalDepart depart = Optional.ofNullable(hope.get(xx.getSspcsdm())).orElse(DepartUtil.findLevelThereOrg(xx.getSspcsdm(), OrgType.POINT));
PointOrg org = orgCodeMap.get(xx.getSspcsdm()); if (depart != null) {
org = findOrg(org, orgIdMap); personal.setControlDepartId(depart.getInternalId());
SupExternalDepart depart = Optional.ofNullable(org).map(PointOrg::getDm).map(jqExternalDepart::get).orElse(null); personal.setControlDepartName(depart.getInternalShortName());
if (depart != null) { personal.setControlDepartType(DepartType.HUMAN.getType());
personal.setControlDepartId(depart.getInternalId()); personal.setControlTime(LocalDateTime.now());
personal.setControlDepartName(depart.getInternalShortName()); hope.put(xx.getSspcsdm(), depart);
personal.setControlDepartType(DepartType.HUMAN.getType());
personal.setControlTime(LocalDateTime.now());
}
} }
toInsert.add(personal); toInsert.add(personal);
} }
@ -235,16 +219,13 @@ public class PetitionServiceImpl implements PetitionService {
if (personal.getAge() <= 6) { if (personal.getAge() <= 6) {
continue; continue;
} }
if (xx.getSspcsdm() != null) { SupExternalDepart depart = Optional.ofNullable(hope.get(xx.getSspcsdm())).orElse(DepartUtil.findLevelThereOrg(xx.getSspcsdm(), OrgType.POINT));
PointOrg org = orgCodeMap.get(xx.getSspcsdm()); if (depart != null) {
org = findOrg(org, orgIdMap); personal.setControlDepartId(depart.getInternalId());
SupExternalDepart depart = Optional.ofNullable(org).map(PointOrg::getDm).map(jqExternalDepart::get).orElse(null); personal.setControlDepartName(depart.getInternalShortName());
if (depart != null) { personal.setControlDepartType(DepartType.HUMAN.getType());
personal.setControlDepartId(depart.getInternalId()); personal.setControlTime(LocalDateTime.now());
personal.setControlDepartName(depart.getInternalShortName()); hope.put(xx.getSspcsdm(), depart);
personal.setControlDepartType(DepartType.HUMAN.getType());
personal.setControlTime(LocalDateTime.now());
}
} }
toInsert.add(personal); toInsert.add(personal);
} }
@ -272,16 +253,13 @@ public class PetitionServiceImpl implements PetitionService {
if (personal.getAge() <= 6) { if (personal.getAge() <= 6) {
continue; continue;
} }
if (info.getSspcsdm() != null) { SupExternalDepart depart = Optional.ofNullable(hope.get(info.getSspcsdm())).orElse(DepartUtil.findLevelThereOrg(info.getSspcsdm(), OrgType.POINT));
PointOrg org = orgCodeMap.get(info.getSspcsdm()); if (depart != null) {
org = findOrg(org, orgIdMap); personal.setControlDepartId(depart.getInternalId());
SupExternalDepart depart = Optional.ofNullable(org).map(PointOrg::getDm).map(jqExternalDepart::get).orElse(null); personal.setControlDepartName(depart.getInternalShortName());
if (depart != null) { personal.setControlDepartType(DepartType.HUMAN.getType());
personal.setControlDepartId(depart.getInternalId()); personal.setControlTime(LocalDateTime.now());
personal.setControlDepartName(depart.getInternalShortName()); hope.put(info.getSspcsdm(), depart);
personal.setControlDepartType(DepartType.HUMAN.getType());
personal.setControlTime(LocalDateTime.now());
}
} }
toInsert.add(personal); toInsert.add(personal);
} }
@ -312,8 +290,8 @@ public class PetitionServiceImpl implements PetitionService {
Map<String, RiskModelTaskClue> oldMap = oldList.stream().collect(Collectors.toMap(RiskModelTaskClue::getCaseIds, Function.identity(), (val, old) -> val)); Map<String, RiskModelTaskClue> oldMap = oldList.stream().collect(Collectors.toMap(RiskModelTaskClue::getCaseIds, Function.identity(), (val, old) -> val));
// List<RiskModelTaskClue> toInsert1 = new ArrayList<>(createClues(dataList1, oldMap, idCodeMan, task, Default.PETITION_CASE_TAG)); // List<RiskModelTaskClue> toInsert1 = new ArrayList<>(createClues(dataList1, oldMap, idCodeMan, task, Default.PETITION_CASE_TAG));
List<RiskModelTaskClue> toInsert2 = new ArrayList<>(createClues(dataList2, oldMap, idCodeMan, task, Default.PETITION_TAG)); List<RiskModelTaskClue> toInsert2 = new ArrayList<>(createClues(dataList2, oldMap, idCodeMan, task, "存在上访"));
List<RiskModelTaskClue> toInsert3 = new ArrayList<>(createClues(dataList3, oldMap, idCodeMan, task, Default.PETITION_12337_TAG)); List<RiskModelTaskClue> toInsert3 = new ArrayList<>(createClues(dataList3, oldMap, idCodeMan, task, "存在上访"));
toInsert2.addAll(toInsert3); toInsert2.addAll(toInsert3);
Map<String, List<RiskModelTaskClue>> map = toInsert2.stream().collect(Collectors.groupingBy(RiskModelTaskClue::getIdCode)); Map<String, List<RiskModelTaskClue>> map = toInsert2.stream().collect(Collectors.groupingBy(RiskModelTaskClue::getIdCode));
@ -321,7 +299,7 @@ public class PetitionServiceImpl implements PetitionService {
for (Map.Entry<String, List<RiskModelTaskClue>> entry : map.entrySet()) { for (Map.Entry<String, List<RiskModelTaskClue>> entry : map.entrySet()) {
toInsert.add(entry.getValue().getFirst()); toInsert.add(entry.getValue().getFirst());
} }
if(!toInsert.isEmpty()) { if (!toInsert.isEmpty()) {
riskModelTaskClueService.saveClues(toInsert, "B20是否上访"); riskModelTaskClueService.saveClues(toInsert, "B20是否上访");
} }
riskTaskRepository.updateTask(task.getId(), toInsert.size(), 0); riskTaskRepository.updateTask(task.getId(), toInsert.size(), 0);
@ -341,7 +319,7 @@ public class PetitionServiceImpl implements PetitionService {
.id("") .id("")
.score(5) .score(5)
.personId(person.getId()) .personId(person.getId())
.tags(List.of("存在上访")) .tags(List.of(tag))
.sourceData("该人员存在上访行为") .sourceData("该人员存在上访行为")
.name(person.getName()) .name(person.getName())
.idCode(person.getIdCode()) .idCode(person.getIdCode())
@ -382,14 +360,4 @@ 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;
}
} }

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

@ -9,7 +9,6 @@ import com.biutag.supervisiondata.mapper.dwd.ModelClueDataMapper;
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.MuchCall; import com.biutag.supervisiondata.pojo.database.MuchCall;
import com.biutag.supervisiondata.pojo.database.PointOrg;
import com.biutag.supervisiondata.pojo.database.SecurityMan; import com.biutag.supervisiondata.pojo.database.SecurityMan;
import com.biutag.supervisiondata.pojo.domain.*; import com.biutag.supervisiondata.pojo.domain.*;
import com.biutag.supervisiondata.pojo.entity.dwd.*; import com.biutag.supervisiondata.pojo.entity.dwd.*;
@ -17,14 +16,12 @@ 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.wdpc.WdpcGrjdZblx; import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdZblx;
import com.biutag.supervisiondata.pojo.entity.wdpc2.*; import com.biutag.supervisiondata.pojo.entity.wdpc2.*;
import com.biutag.supervisiondata.pojo.enums.OrgType;
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.BhUtil; import com.biutag.supervisiondata.util.*;
import com.biutag.supervisiondata.util.DataUtil;
import com.biutag.supervisiondata.util.IdCodeUtil;
import com.biutag.supervisiondata.util.PatternUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -242,8 +239,6 @@ public class PointServiceImpl implements PointService {
List<Violence> list = zdryRepository.getBaseMapper().syncViolencePerson(); List<Violence> list = zdryRepository.getBaseMapper().syncViolencePerson();
Map<String, List<Violence>> violenceMap = list.stream().collect(Collectors.groupingBy(Violence::getZjhm)); Map<String, List<Violence>> violenceMap = list.stream().collect(Collectors.groupingBy(Violence::getZjhm));
Map<String, Map<String, Integer>> map = new HashMap<>();
List<RiskModelTaskClue> olds = Optional.ofNullable(domain.getMap().get(task.getId())).orElse(new ArrayList<>()); List<RiskModelTaskClue> olds = Optional.ofNullable(domain.getMap().get(task.getId())).orElse(new ArrayList<>());
Map<String, List<RiskModelTaskClue>> maps = olds.stream().collect(Collectors.groupingBy(RiskModelTaskClue::getIdCode)); Map<String, List<RiskModelTaskClue>> maps = olds.stream().collect(Collectors.groupingBy(RiskModelTaskClue::getIdCode));
List<RiskModelTaskClue> toInsert = new ArrayList<>(); List<RiskModelTaskClue> toInsert = new ArrayList<>();
@ -2144,21 +2139,8 @@ public class PointServiceImpl implements PointService {
List<RiskPersonal> getPersons() { List<RiskPersonal> getPersons() {
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>()
.select(SupExternalDepart::getExternalId, SupExternalDepart::getInternalId, SupExternalDepart::getInternalShortName, SupExternalDepart::getSource)
.eq(SupExternalDepart::getSource, "重点人员"));
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);
}
Map<Integer, String> lbMap = new WeakHashMap<>(); Map<Integer, String> lbMap = new WeakHashMap<>();
Map<String, SupExternalDepart> supExternalDepartMap = supDeparts.stream().collect(Collectors.toMap(SupExternalDepart::getExternalId, Function.identity(), (val, old) -> val));
for (GBaseTbDZdrylb lb : lbList) { for (GBaseTbDZdrylb lb : lbList) {
if (lb.getCode().startsWith("0")) { if (lb.getCode().startsWith("0")) {
@ -2176,6 +2158,7 @@ public class PointServiceImpl implements PointService {
int zdCount = 0; int zdCount = 0;
int noDepartCount = 0; int noDepartCount = 0;
int noOrgCount = 0; int noOrgCount = 0;
Map<String, SupExternalDepart> hope = new WeakHashMap<>();
for (GBaseZDRY ry : list) { for (GBaseZDRY ry : list) {
List<Integer> codes = PatternUtil.takeMarkPosition(ry.getZdrylbbj()); List<Integer> codes = PatternUtil.takeMarkPosition(ry.getZdrylbbj());
if (codes.isEmpty()) { if (codes.isEmpty()) {
@ -2195,17 +2178,12 @@ public class PointServiceImpl implements PointService {
zdCount++; zdCount++;
sb = sb.stream().distinct().toList(); sb = sb.stream().distinct().toList();
Map<String, Integer> tmp = Optional.ofNullable(map.get(ry.getSfzh())).orElse(new HashMap<>()); Map<String, Integer> tmp = Optional.ofNullable(map.get(ry.getSfzh())).orElse(new HashMap<>());
PointOrg org = orgCodeMap.get(ry.getGxdwjgdm());
org = findOrg(org, orgIdMap); SupExternalDepart depart = Optional.ofNullable(hope.get(ry.getGxdwjgdm())).orElse(DepartUtil.findLevelThereOrg(ry.getGxdwjgdm(), OrgType.POINT));
if (org == null) {
noOrgCount++;
continue;
}
SupExternalDepart depart = supExternalDepartMap.get(org.getDm());
if (depart == null) { if (depart == null) {
noDepartCount++;
continue; continue;
} }
hope.put(ry.getGxdwjgdm(), depart);
for (String s : sb) { for (String s : sb) {
if (tmp.get(s) != null) { if (tmp.get(s) != null) {
continue; continue;
@ -2254,16 +2232,6 @@ public class PointServiceImpl implements PointService {
return personals; return personals;
} }
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;
}
private static String getDateString(String dateString) { private static String getDateString(String dateString) {
if (dateString != null) { if (dateString != null) {
try { try {

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

@ -12,7 +12,6 @@ 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.dwd.GBaseJJD; import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJJD;
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.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;
@ -460,26 +459,15 @@ public class RiskTaskServiceImpl implements RiskTaskService {
.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));
for (Map.Entry<String, FightMan> s : fightManMap.entrySet()) { for (RiskPersonal person : domain.getPersons()) {
GBaseSYRKXX xx = map.get(s.getKey()); FightMan fightMan = fightManMap.get(person.getIdCode());
if (xx == null) { if(fightMan == null) {
xx = syrkxxMap.get(s.getKey());
}
if (xx == null) {
continue; continue;
} }
RiskPersonal personal = createPerson(xx, Default.FIGHT_MUCH, orgCodeMap, orgIdMap, jqExternalDepart); RiskModelTaskClue clue = createClue(task.getModelId(), 3, person, task.getId(), fightMan.getFightCount() + "起纠纷", "该人员在近期发生" + fightMan.getFightCount() + "起矛盾纠纷,属于高频次矛盾纠纷发生人员");
toInsertPeople.add(personal);
RiskModelTaskClue clue = createClue(task.getModelId(), 3, personal, task.getId(), s.getValue().getFightCount() + "起纠纷", "该人员在近期发生" + s.getValue().getFightCount() + "起矛盾纠纷,属于高频次矛盾纠纷发生人员");
toInsert.add(clue); toInsert.add(clue);
} }
if (!toInsertPeople.isEmpty()) {
log.info("新增人员 | {}", toInsertPeople.size());
riskPersonalService.formatAndSave(toInsertPeople, Default.FIGHT_MUCH);
}
if (!toUpdates.isEmpty()) { if (!toUpdates.isEmpty()) {
log.info("修改线索 | {}", toUpdates.size()); log.info("修改线索 | {}", toUpdates.size());
clueRepository.updateBatchById(toUpdates); clueRepository.updateBatchById(toUpdates);
@ -649,55 +637,4 @@ public class RiskTaskServiceImpl implements RiskTaskService {
clue.setRiskReason(data.getTag()); clue.setRiskReason(data.getTag());
return clue; return clue;
} }
RiskPersonal createPerson(GBaseSYRKXX xx, String tag, Map<String, PointOrg> orgCodeMap, Map<String, PointOrg> orgIdMap, Map<String, SupExternalDepart> jqExternalDepart) {
RiskPersonal person = new RiskPersonal();
person.setName(xx.getXm());
person.setMobileNumber(xx.getLxdh());
person.setIdCode(xx.getGmsfhm());
if (xx.getSspcsdm() != null) {
PointOrg org = orgCodeMap.get(xx.getSspcsdm());
org = findOrg(org, orgIdMap);
SupExternalDepart depart = Optional.ofNullable(org).map(PointOrg::getDm).map(jqExternalDepart::get).orElse(null);
if (depart != null) {
person.setControlDepartId(depart.getInternalId());
person.setControlDepartName(depart.getInternalShortName());
person.setControlDepartType(DepartType.HUMAN.getType());
person.setControlTime(LocalDateTime.now());
}
}
try {
int age = IdCodeUtil.idCard2Age(person.getIdCode(), LocalDate.now());
if (age <= 6) {
return null;
}
person.setAge(age);
} catch (Exception e) {
return null;
}
if (person.getGender() == null) {
try {
int gender = person.getIdCode().length() == 18 ? Integer.valueOf(person.getIdCode().substring(16, 17)) : Integer.valueOf(person.getIdCode().substring(14, 15));
// 结果0男1女 余数偶女奇男
person.setGender(gender % 2 == 0 ? "2" : "1");
} catch (Exception e) {
return null;
}
}
person.setCreateTime(LocalDateTime.now());
person.setTags(tag);
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;
}
} }

72
src/main/java/com/biutag/supervisiondata/util/DepartUtil.java

@ -0,0 +1,72 @@
package com.biutag.supervisiondata.util;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.biutag.supervisiondata.pojo.database.PointOrg;
import com.biutag.supervisiondata.pojo.entity.mine.SupExternalDepart;
import com.biutag.supervisiondata.pojo.enums.OrgType;
import com.biutag.supervisiondata.repository.GBaseZDRYRepository;
import com.biutag.supervisiondata.repository.SupExternalDepartRepository;
import lombok.experimental.UtilityClass;
import java.util.List;
import java.util.Map;
import java.util.WeakHashMap;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* @author kami on 2024-12-18 15:42
* @version 1.0
* @since 1.8
*/
@UtilityClass
public class DepartUtil {
static Map<String, PointOrg> orgIdMap = new WeakHashMap<>();
static Map<String, PointOrg> orgCodeMap = new WeakHashMap<>();
static Map<String, SupExternalDepart> pointExternalDepart = new WeakHashMap<>();
static Map<String, SupExternalDepart> jqExternalDepart = new WeakHashMap<>();
public static void init(GBaseZDRYRepository ryRepository, SupExternalDepartRepository externalDepartRepository) {
List<PointOrg> orgList = ryRepository.getBaseMapper().selectOrg();
for (PointOrg org : orgList) {
orgIdMap.put(org.getId(), org);
orgCodeMap.put(org.getDm(), org);
}
List<SupExternalDepart> supDeparts = externalDepartRepository.list(new LambdaQueryWrapper<SupExternalDepart>()
.select(SupExternalDepart::getExternalId, SupExternalDepart::getInternalId, SupExternalDepart::getInternalShortName, SupExternalDepart::getSource)
.in(SupExternalDepart::getSource, List.of(OrgType.POINT.getType(), OrgType.INSTANCE.getType())));
Map<String, List<SupExternalDepart>> amp = supDeparts.stream().collect(Collectors.groupingBy(SupExternalDepart::getSource));
pointExternalDepart.putAll(amp.get(OrgType.POINT.getType()).stream().collect(Collectors.toMap(SupExternalDepart::getExternalId, Function.identity(), (val, old) -> val)));
jqExternalDepart.putAll(amp.get(OrgType.INSTANCE.getType()).stream().collect(Collectors.toMap(SupExternalDepart::getExternalId, Function.identity(), (val, old) -> val)));
}
public static SupExternalDepart findLevelThereOrg(String dm, OrgType type) {
if(dm == null) {
return null;
}
PointOrg org = orgCodeMap.get(dm);
org = findOrg(org);
if (org == null) {
return null;
}
SupExternalDepart depart = null;
switch (type) {
case OrgType.POINT -> depart = pointExternalDepart.get(org.getDm());
case OrgType.INSTANCE -> depart = jqExternalDepart.get(org.getDm());
}
return depart;
}
private static PointOrg findOrg(PointOrg org) {
if (org == null) {
return null;
}
if (org.getPcs() == null || !org.getPcs().equals("1")) {
return findOrg(orgIdMap.get(org.getPid()));
}
return org;
}
}

25
src/main/java/com/biutag/supervisiondata/util/OrgUtil.java

@ -1,25 +0,0 @@
package com.biutag.supervisiondata.util;
import com.biutag.supervisiondata.pojo.database.PointOrg;
import lombok.experimental.UtilityClass;
import java.util.Map;
/**
* @author kami on 2024-12-06 10:43:55
* @version 0.0.1
* @since 1.8
*/
@UtilityClass
public class OrgUtil {
public static 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