From fd684ad060ae234a39e01b413dc6b8a7834ecba9 Mon Sep 17 00:00:00 2001 From: sjh Date: Wed, 11 Dec 2024 17:03:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=98=AF=E5=90=A6=E7=89=B9=E6=AE=8A=E4=BA=BA?= =?UTF-8?q?=E7=BE=A4=EF=BC=8C=E7=89=B9=E6=AE=8A=E4=BA=BA=E7=BE=A4=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../event/ApplicationEvent.java | 2 + .../mapper/wdpc2/WdpcGrjdJsbryMapper.java | 11 + .../mapper/wdpc2/WdpcJZJLBMapper.java | 4 + .../mapper/wdpc2/WdpcSqjzryMapper.java | 22 ++ .../mapper/wdpc2/WdpcXmsfryMapper.java | 22 ++ .../pojo/constants/Default.java | 4 + .../pojo/entity/wdpc2/WdpcSqjzry.java | 35 ++ .../pojo/entity/wdpc2/WdpcXmsfry.java | 35 ++ .../repository/WdpcSqjzryRepository.java | 15 + .../repository/WdpcXmsfryRepository.java | 15 + .../supervisiondata/service/PointService.java | 6 + .../service/impl/PointServiceImpl.java | 302 +++++++++++++++++- 12 files changed, 469 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcSqjzryMapper.java create mode 100644 src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcXmsfryMapper.java create mode 100644 src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcSqjzry.java create mode 100644 src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcXmsfry.java create mode 100644 src/main/java/com/biutag/supervisiondata/repository/WdpcSqjzryRepository.java create mode 100644 src/main/java/com/biutag/supervisiondata/repository/WdpcXmsfryRepository.java diff --git a/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java b/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java index 06a9b15..25c5a95 100644 --- a/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java +++ b/src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java @@ -162,6 +162,8 @@ public class ApplicationEvent { pointService.syncSeriousIllness(initDomain(List.of(126))); pointService.syncFamilySeriousIllness(initDomain(List.of(127))); pointService.syncPetitionDissatisfied(initDomain(List.of(128))); + pointService.syncIsSpecialPeople(initDomain(List.of(129))); + pointService.syncSpecialPeopleType(initDomain(List.of(130))); // *********暂时不要********** // riskTaskService.caseModelTask(initDomain(List.of(35))); diff --git a/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcGrjdJsbryMapper.java b/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcGrjdJsbryMapper.java index 03ea439..29cdfdb 100644 --- a/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcGrjdJsbryMapper.java +++ b/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcGrjdJsbryMapper.java @@ -2,6 +2,9 @@ package com.biutag.supervisiondata.mapper.wdpc2; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcGrjdJsbry; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** * @author kami on 2024-12-06 10:23:13 @@ -9,4 +12,12 @@ import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcGrjdJsbry; * @since 1.8 */ public interface WdpcGrjdJsbryMapper extends BaseMapper { + + @Select("") + List selectByIdNos(List idNos); } diff --git a/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcJZJLBMapper.java b/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcJZJLBMapper.java index 75b7c95..028e0d6 100644 --- a/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcJZJLBMapper.java +++ b/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcJZJLBMapper.java @@ -17,4 +17,8 @@ public interface WdpcJZJLBMapper extends BaseMapper { + "or disease_name like '%精神病%' or disease_name like '%严重%' or disease_name like '%脑中风%' " + "or disease_name like '%急性心肌梗塞%' or (disease_name like '%脑损伤%' and '%重%'))") List selectSeriousIllness(); + + @Select("select id_code from wdpc_grjd_jzjlb " + + "where (disease_name like '%艾滋%'") + List selectForModel129(); } diff --git a/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcSqjzryMapper.java b/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcSqjzryMapper.java new file mode 100644 index 0000000..d53ed68 --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcSqjzryMapper.java @@ -0,0 +1,22 @@ +package com.biutag.supervisiondata.mapper.wdpc2; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcSqjzry; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author kami on 2024-12-06 10:23:13 + * @version 0.0.1 + * @since 1.8 + */ +public interface WdpcSqjzryMapper extends BaseMapper { + @Select("") + List selectByIdNos(List idNos); +} diff --git a/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcXmsfryMapper.java b/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcXmsfryMapper.java new file mode 100644 index 0000000..5538149 --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/mapper/wdpc2/WdpcXmsfryMapper.java @@ -0,0 +1,22 @@ +package com.biutag.supervisiondata.mapper.wdpc2; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcXmsfry; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author kami on 2024-12-06 10:23:13 + * @version 0.0.1 + * @since 1.8 + */ +public interface WdpcXmsfryMapper extends BaseMapper { + @Select("") + List selectByIdNos(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 933970d..dad3cd0 100644 --- a/src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java +++ b/src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java @@ -139,4 +139,8 @@ public class Default { public static final String FAMILYSERIOUSILLNESS = "家人患严重疾病"; public static final String PETITIONDISSATISFIED = "上访是否满意解决"; + + public static final String ISSPECIALPEOPLE = "是否特殊人群"; + + public static final String SPECIALPEOPLETYPE = "特殊人群类型"; } diff --git a/src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcSqjzry.java b/src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcSqjzry.java new file mode 100644 index 0000000..f647cd9 --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcSqjzry.java @@ -0,0 +1,35 @@ +package com.biutag.supervisiondata.pojo.entity.wdpc2; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +@Data +@TableName("`wdpc_grjd_sqjzry`") +public class WdpcSqjzry implements Serializable { + // 身份证 + @TableField("id_code") + String idCode; + + // 社区矫正决定单位 + @TableField("sentence_organization_name") + String sentenceOrganizationName; + + // 社区矫正结束日期 + @TableField("correct_end_time") + String correctEndTime; + + // 社区矫正开始日期 + @TableField("correct_begin_time") + String correctBeginTime; + + // 执行地 + @TableField("action_place") + String actionPlace; + + // 主要犯罪事实 + @TableField("crime_describe") + String crimeDescribe; +} diff --git a/src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcXmsfry.java b/src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcXmsfry.java new file mode 100644 index 0000000..ae826dc --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/pojo/entity/wdpc2/WdpcXmsfry.java @@ -0,0 +1,35 @@ +package com.biutag.supervisiondata.pojo.entity.wdpc2; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +@Data +@TableName("`wdpc_grjd_xmsfry`") +public class WdpcXmsfry implements Serializable { + // 身份证 + @TableField("id_code") + String idCode; + + // 罪名 + @TableField("crime_name") + String crimeName; + + // 判决日期 + @TableField("sentence_time") + String sentenceTime; + + // 服刑开始日期 + @TableField("prison_begin") + String prisonBegin; + + // 服刑结束日期 + @TableField("prison_end") + String prisonEnd; + + // 服刑单位 + @TableField("prison_organization") + String prisonOrganization; +} diff --git a/src/main/java/com/biutag/supervisiondata/repository/WdpcSqjzryRepository.java b/src/main/java/com/biutag/supervisiondata/repository/WdpcSqjzryRepository.java new file mode 100644 index 0000000..fee73b7 --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/repository/WdpcSqjzryRepository.java @@ -0,0 +1,15 @@ +package com.biutag.supervisiondata.repository; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.biutag.supervisiondata.mapper.wdpc2.WdpcSqjzryMapper; +import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcSqjzry; +import org.springframework.stereotype.Service; + +/** + * @author kami on 2024-12-03 16:48:30 + * @version 0.0.1 + * @since 1.8 + */ +@Service +public class WdpcSqjzryRepository extends ServiceImpl { +} diff --git a/src/main/java/com/biutag/supervisiondata/repository/WdpcXmsfryRepository.java b/src/main/java/com/biutag/supervisiondata/repository/WdpcXmsfryRepository.java new file mode 100644 index 0000000..28418b2 --- /dev/null +++ b/src/main/java/com/biutag/supervisiondata/repository/WdpcXmsfryRepository.java @@ -0,0 +1,15 @@ +package com.biutag.supervisiondata.repository; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.biutag.supervisiondata.mapper.wdpc2.WdpcXmsfryMapper; +import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcXmsfry; +import org.springframework.stereotype.Service; + +/** + * @author kami on 2024-12-03 16:48:30 + * @version 0.0.1 + * @since 1.8 + */ +@Service +public class WdpcXmsfryRepository extends ServiceImpl { +} diff --git a/src/main/java/com/biutag/supervisiondata/service/PointService.java b/src/main/java/com/biutag/supervisiondata/service/PointService.java index 4b71801..3e1d24b 100644 --- a/src/main/java/com/biutag/supervisiondata/service/PointService.java +++ b/src/main/java/com/biutag/supervisiondata/service/PointService.java @@ -119,4 +119,10 @@ public interface PointService { // 上访是否满意解决 void syncPetitionDissatisfied(TaskParamDomain domain); + + // 是否特殊人群 + void syncIsSpecialPeople(TaskParamDomain domain); + + // 特殊人群类型 + void syncSpecialPeopleType(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 b4f60f0..a8aa73f 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java @@ -16,10 +16,7 @@ import com.biutag.supervisiondata.pojo.entity.dwd.*; import com.biutag.supervisiondata.pojo.entity.mine.*; import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdXfsj; import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdZblx; -import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcHZCRYXX; -import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcJZJLB; -import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcXdry; -import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcXfsjCsDetail; +import com.biutag.supervisiondata.pojo.entity.wdpc2.*; import com.biutag.supervisiondata.repository.*; import com.biutag.supervisiondata.service.PointService; import com.biutag.supervisiondata.service.RiskModelTaskClueService; @@ -83,6 +80,12 @@ public class PointServiceImpl implements PointService { private final WdpcJZJLBRepository jZJLBRepository; + private final WdpcGrjdJsbryRepository jsbryRepository; + + private final WdpcSqjzryRepository sqjzryRepository; + + private final WdpcXmsfryRepository xmsfryRepository; + @Override public void personPullAndSave(LocalDateTime start, LocalDateTime end) { riskPersonalService.formatAndSave(getPersons(), Default.POINT_POEPLE); @@ -670,6 +673,297 @@ public class PointServiceImpl implements PointService { taskRepository.updateById(updateTask); } + @Override + public void syncIsSpecialPeople(TaskParamDomain domain) { + RiskTask task = createTask(domain.getPersons().size(), 129); + taskRepository.save(task); + + Map oldMap = domain.getOldMap(task.getModelId(), true); + Map idCode = new HashMap<>(); + log.info("模型129开始查询"); + List list1 = new ArrayList<>(); + List list2 = jZJLBRepository.getBaseMapper().selectForModel129();; + List list3 = new ArrayList<>(); + List list4 = new ArrayList<>(); + List list5 = new ArrayList<>(); + for (List idCard : domain.getIdCards()) { + list1.addAll(jsbryRepository.getBaseMapper().selectByIdNos(idCard)); + list3.addAll(xdryRepository.getBaseMapper().selectXIDU(idCard)); + list4.addAll(sqjzryRepository.getBaseMapper().selectByIdNos(idCard)); + list5.addAll(xmsfryRepository.getBaseMapper().selectByIdNos(idCard)); + } + log.info("模型129查询结果数:{},{},{},{},{}", list1.size(), list2.size(), list3.size(), list4.size(), list5.size()); + Map personalMap = domain.getPersons().stream().collect(Collectors.toMap(RiskPersonal::getIdCode, Function.identity(), (old, newVal) -> newVal)); + List toInsert = new ArrayList<>(); + for (WdpcGrjdJsbry domicileType : list1) { + RiskPersonal personal = personalMap.get(domicileType.getIdCode()); + if (personal == null) continue; + if (idCode.get(domicileType.getIdCode()) != null) continue; + if (oldMap.get(domicileType.getIdCode()) != null) continue; + + idCode.put(domicileType.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)); + } + for (WdpcJZJLB domicileType : list2) { + RiskPersonal personal = personalMap.get(domicileType.getIdCode()); + if (personal == null) continue; + if (idCode.get(domicileType.getIdCode()) != null) continue; + if (oldMap.get(domicileType.getIdCode()) != null) continue; + + idCode.put(domicileType.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)); + } + for (WdpcXdry domicileType : list3) { + RiskPersonal personal = personalMap.get(domicileType.getSfzh()); + if (personal == null) continue; + if (idCode.get(domicileType.getSfzh()) != null) continue; + if (oldMap.get(domicileType.getSfzh()) != null) continue; + + idCode.put(domicileType.getSfzh(), 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)); + } + for (WdpcSqjzry domicileType : list4) { + RiskPersonal personal = personalMap.get(domicileType.getIdCode()); + if (personal == null) continue; + if (idCode.get(domicileType.getIdCode()) != null) continue; + if (oldMap.get(domicileType.getIdCode()) != null) continue; + + idCode.put(domicileType.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)); + } + for (WdpcXmsfry domicileType : list5) { + RiskPersonal personal = personalMap.get(domicileType.getIdCode()); + if (personal == null) continue; + if (idCode.get(domicileType.getIdCode()) != null) continue; + if (oldMap.get(domicileType.getIdCode()) != null) continue; + + idCode.put(domicileType.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.ISSPECIALPEOPLE); + } + 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 syncSpecialPeopleType(TaskParamDomain domain) { + RiskTask task = createTask(domain.getPersons().size(), 130); + taskRepository.save(task); + + Map oldMap = domain.getOldMap(task.getModelId(), true); + Map idCode = new HashMap<>(); + log.info("模型130开始查询"); + List list1 = new ArrayList<>(); + List list2 = jZJLBRepository.getBaseMapper().selectForModel129();; + List list3 = new ArrayList<>(); + List list4 = new ArrayList<>(); + List list5 = new ArrayList<>(); + for (List idCard : domain.getIdCards()) { + list1.addAll(jsbryRepository.getBaseMapper().selectByIdNos(idCard)); + list3.addAll(xdryRepository.getBaseMapper().selectXIDU(idCard)); + list4.addAll(sqjzryRepository.getBaseMapper().selectByIdNos(idCard)); + list5.addAll(xmsfryRepository.getBaseMapper().selectByIdNos(idCard)); + } + log.info("模型130查询结果数:{},{},{},{},{}", list1.size(), list2.size(), list3.size(), list4.size(), list5.size()); + Map personalMap = domain.getPersons().stream().collect(Collectors.toMap(RiskPersonal::getIdCode, Function.identity(), (old, newVal) -> newVal)); + List toInsert = new ArrayList<>(); + for (WdpcGrjdJsbry domicileType : list1) { + RiskPersonal personal = personalMap.get(domicileType.getIdCode()); + if (personal == null) continue; + if (idCode.get(domicileType.getIdCode()) != null) continue; + if (oldMap.get(domicileType.getIdCode()) != null) continue; + + idCode.put(domicileType.getIdCode(), 1); + + ClueData data = ClueData.builder() + .name(personal.getName()) + .id(personal.getId().toString()) + .idCode(personal.getIdCode()) + .tag("特殊人群类型") + .eventTime(LocalDateTime.now()) + .personId(personal.getId()) + .sourceData("发现该人员于" + getDateString(domicileType.getActualTime()) + + "确诊为为“" + domicileType.getActualId() + "”精神障碍患者,增加风险分1分") + .build(); + toInsert.add(createClue(task.getModelId(), 1, task.getId(), data)); + } + for (WdpcJZJLB domicileType : list2) { + RiskPersonal personal = personalMap.get(domicileType.getIdCode()); + if (personal == null) continue; + if (idCode.get(domicileType.getIdCode()) != null) continue; + if (oldMap.get(domicileType.getIdCode()) != null) continue; + + idCode.put(domicileType.getIdCode(), 1); + + ClueData data = ClueData.builder() + .name(personal.getName()) + .id(personal.getId().toString()) + .idCode(personal.getIdCode()) + .tag("特殊人群类型") + .eventTime(LocalDateTime.now()) + .personId(personal.getId()) + .sourceData("发现该人员为艾滋人员,增加风险分2分") + .build(); + toInsert.add(createClue(task.getModelId(), 2, task.getId(), data)); + } + for (WdpcXdry domicileType : list3) { + RiskPersonal personal = personalMap.get(domicileType.getSfzh()); + if (personal == null) continue; + if (idCode.get(domicileType.getSfzh()) != null) continue; + if (oldMap.get(domicileType.getSfzh()) != null) continue; + + idCode.put(domicileType.getSfzh(), 1); + + ClueData data = ClueData.builder() + .name(personal.getName()) + .id(personal.getId().toString()) + .idCode(personal.getIdCode()) + .tag("特殊人群类型") + .eventTime(LocalDateTime.now()) + .personId(personal.getId()) + .sourceData("发现该人员为吸毒人员,增加风险分3分") + .build(); + toInsert.add(createClue(task.getModelId(), 3, task.getId(), data)); + } + for (WdpcSqjzry domicileType : list4) { + RiskPersonal personal = personalMap.get(domicileType.getIdCode()); + if (personal == null) continue; + if (idCode.get(domicileType.getIdCode()) != null) continue; + if (oldMap.get(domicileType.getIdCode()) != null) continue; + + idCode.put(domicileType.getIdCode(), 1); + + String context = ""; + if (domicileType.getSentenceOrganizationName() != null) { + context = context + ",社区矫正决定单位为" + domicileType.getSentenceOrganizationName(); + } + if (domicileType.getCorrectBeginTime() != null) { + context = context + ",社区矫正开始日期为" + getDateString(domicileType.getCorrectBeginTime()); + } + if (domicileType.getCorrectEndTime() != null) { + context = context + ",社区矫正结束日期为" + getDateString(domicileType.getCorrectEndTime()); + } + if (domicileType.getActionPlace() != null) { + context = context + ",执行地为" + domicileType.getActionPlace(); + } + if (domicileType.getCrimeDescribe() != null) { + context = context + ",主要犯罪事实为“" + domicileType.getCrimeDescribe() + "”"; + } + ClueData data = ClueData.builder() + .name(personal.getName()) + .id(personal.getId().toString()) + .idCode(personal.getIdCode()) + .tag("特殊人群类型") + .eventTime(LocalDateTime.now()) + .personId(personal.getId()) + .sourceData("发现该人员为社区矫正人员" + context + ",增加风险分4分") + .build(); + toInsert.add(createClue(task.getModelId(), 4, task.getId(), data)); + } + for (WdpcXmsfry domicileType : list5) { + RiskPersonal personal = personalMap.get(domicileType.getIdCode()); + if (personal == null) continue; + if (idCode.get(domicileType.getIdCode()) != null) continue; + if (oldMap.get(domicileType.getIdCode()) != null) continue; + + idCode.put(domicileType.getIdCode(), 1); + + String context = ""; + if (domicileType.getCrimeName() != null) { + context = context + ",罪名为" + domicileType.getCrimeName(); + } + if (domicileType.getSentenceTime() != null) { + context = context + ",判决日期为" + getDateString(domicileType.getSentenceTime()); + } + if (domicileType.getPrisonBegin() != null) { + context = context + ",服刑开始日期为" + getDateString(domicileType.getPrisonBegin()); + } + if (domicileType.getPrisonEnd() != null) { + context = context + ",服刑结束日期为" + getDateString(domicileType.getPrisonEnd()); + } + if (domicileType.getPrisonOrganization() != null) { + context = context + ",服刑单位为" + domicileType.getPrisonOrganization(); + } + ClueData data = ClueData.builder() + .name(personal.getName()) + .id(personal.getId().toString()) + .idCode(personal.getIdCode()) + .tag("特殊人群类型") + .eventTime(LocalDateTime.now()) + .personId(personal.getId()) + .sourceData("发现该人员为刑释解教人员" + context + ",增加风险分5分") + .build(); + toInsert.add(createClue(task.getModelId(), 5, task.getId(), data)); + } + if (!toInsert.isEmpty()) { + modelTaskClueService.saveClues(toInsert, Default.SPECIALPEOPLETYPE); + } + 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 syncXIDU(TaskParamDomain domain) { RiskTask task = createTask(domain.getPersons().size(), 122);