diff --git a/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java b/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java index a9e908e..f208471 100644 --- a/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java +++ b/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java @@ -166,6 +166,7 @@ public class ApplicationEvent { pointService.syncMedicalPressure(initDomain(List.of(125))); pointService.syncSeriousIllness(initDomain(List.of(126))); pointService.syncFamilySeriousIllness(initDomain(List.of(127))); + pointService.syncPetitionDissatisfied(initDomain(List.of(128))); // *********暂时不要********** // riskTaskService.caseModelTask(initDomain(List.of(35))); diff --git a/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcXfsjCsDetailMapper.java b/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcXfsjCsDetailMapper.java index 9d91cea..555de97 100644 --- a/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcXfsjCsDetailMapper.java +++ b/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcXfsjCsDetailMapper.java @@ -47,4 +47,15 @@ public interface WdpcXfsjCsDetailMapper extends BaseMapper { + " group by id_code" + "") List selectPetitionContent2(List idNos); + + @Select("") + List selectPetitionDissatisfied(List idNos); } diff --git a/src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java b/src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java index c170eac..933970d 100644 --- a/src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java +++ b/src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java @@ -138,4 +138,5 @@ public class Default { public static final String FAMILYSERIOUSILLNESS = "家人患严重疾病"; + public static final String PETITIONDISSATISFIED = "上访是否满意解决"; } diff --git a/src/main/java/com/biutag/supervisiondata/service/PointService.java b/src/main/java/com/biutag/supervisiondata/service/PointService.java index 64482f5..4b71801 100644 --- a/src/main/java/com/biutag/supervisiondata/service/PointService.java +++ b/src/main/java/com/biutag/supervisiondata/service/PointService.java @@ -116,4 +116,7 @@ public interface PointService { // 家人患严重疾病 void syncFamilySeriousIllness(TaskParamDomain domain); + + // 上访是否满意解决 + void syncPetitionDissatisfied(TaskParamDomain domain); } diff --git a/src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java b/src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java index 03db776..53b4eab 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java @@ -1183,6 +1183,51 @@ public class PointServiceImpl implements PointService { }; } + + @Override + public void syncPetitionDissatisfied(TaskParamDomain domain) { + RiskTask task = createTask(domain.getPersons().size(), 128); + taskRepository.save(task); + + Map oldMap = domain.getOldMap(task.getModelId(), true); + Map idCode = new HashMap<>(); + List list = new ArrayList<>(); + for (List idCard : domain.getIdCards()) { + list.addAll(xfsjCsDetailRepository.getBaseMapper().selectPetitionDissatisfied(idCard)); + } + log.info("模型128查询总结果数:{}", list.size()); + Map personalMap = domain.getPersons().stream().collect(Collectors.toMap(RiskPersonal::getIdCode, Function.identity(), (old, newVal) -> newVal)); + List toInsert = new ArrayList<>(); + for (WdpcXfsjCsDetail xfMan : list) { + RiskPersonal personal = personalMap.get(xfMan.getIdCode()); + if (personal == null) continue; + if (idCode.get(xfMan.getIdCode()) != null) continue; + if (oldMap.get(xfMan.getIdCode()) != null) continue; + + idCode.put(xfMan.getIdCode(), 1); + ClueData data = ClueData.builder() + .name(personal.getName()) + .id(personal.getId().toString()) + .idCode(personal.getIdCode()) + .tag("上访是否满意解决") + .eventTime(LocalDateTime.now()) + .personId(personal.getId()) + .sourceData("发现该人员有过上访经历,且上访没有满意解决,增加风险分5分") + .build(); + toInsert.add(createClue(task.getModelId(), 5, task.getId(), data)); + } + if (!toInsert.isEmpty()) { + modelTaskClueService.saveClues(toInsert, Default.PETITIONDISSATISFIED); + } + RiskTask updateTask = new RiskTask(); + updateTask.setId(task.getId()); + updateTask.setInsertSize(toInsert.size()); + updateTask.setUpdateSize(0); + updateTask.setState(1); + updateTask.setEndTime(LocalDateTime.now()); + taskRepository.updateById(updateTask); + } + @Override public void syncIsPetition(TaskParamDomain domain) { RiskTask task = createTask(domain.getPersons().size(), 111);