Browse Source

Merge remote-tracking branch 'origin/master'

master
kami 1 year ago
parent
commit
7733e28d77
  1. 1
      src/main/java/com/biutag/supervisiondata/event/ApplicationEvent.java
  2. 19
      src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseJszxxbMapper.java
  3. 2
      src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java
  4. 44
      src/main/java/com/biutag/supervisiondata/pojo/entity/dwd/GBaseJszxxb.java
  5. 15
      src/main/java/com/biutag/supervisiondata/repository/GBaseJszxxbRepository.java
  6. 3
      src/main/java/com/biutag/supervisiondata/service/PointService.java
  7. 92
      src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java

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

@ -164,6 +164,7 @@ public class ApplicationEvent {
// pointService.syncIsSpecialPeople(initDomain(List.of(129))); // pointService.syncIsSpecialPeople(initDomain(List.of(129)));
// pointService.syncSpecialPeopleType(initDomain(List.of(130))); // pointService.syncSpecialPeopleType(initDomain(List.of(130)));
// pointService.syncParentsRelationship(initDomain(List.of(131))); // pointService.syncParentsRelationship(initDomain(List.of(131)));
pointService.syncMentalDiseaseDriver(initDomain(List.of(132)));
// *********暂时不要********** // *********暂时不要**********
// riskTaskService.heightFight(initDomain(List.of(42))); // riskTaskService.heightFight(initDomain(List.of(42)));
// pointService.syncKillSelf(initDomain(List.of(46))); // pointService.syncKillSelf(initDomain(List.of(46)));

19
src/main/java/com/biutag/supervisiondata/mapper/dwd/GBaseJszxxbMapper.java

@ -0,0 +1,19 @@
package com.biutag.supervisiondata.mapper.dwd;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJszxxb;
import org.apache.ibatis.annotations.Select;
import java.util.List;
public interface GBaseJszxxbMapper extends BaseMapper<GBaseJszxxb> {
@Select("<script>"
+ "select sfzmhm, jgmc, yxqs, yxqz from dwd_ry_jtqbglpt_jszxxb where (jdcjszztdmdm = 'A' OR jdcjszztdmdm = 'H') AND sfzmhm in "
+ "<foreach item='item' index='index' collection='list' open='(' separator=',' close=')'>"
+ "#{item}"
+ "</foreach>"
+ "</script>")
List<GBaseJszxxb> selectByIdNos(List<String> idNos);
}

2
src/main/java/com/biutag/supervisiondata/pojo/constants/Default.java

@ -145,4 +145,6 @@ public class Default {
public static final String SPECIALPEOPLETYPE = "特殊人群类型"; public static final String SPECIALPEOPLETYPE = "特殊人群类型";
public static final String PARENTSRELATIONSHIP = "父母关系状况"; public static final String PARENTSRELATIONSHIP = "父母关系状况";
public static final String MENTALDISEASEDRIVER = "精神疾病患者驾照未注销";
} }

44
src/main/java/com/biutag/supervisiondata/pojo/entity/dwd/GBaseJszxxb.java

@ -0,0 +1,44 @@
package com.biutag.supervisiondata.pojo.entity.dwd;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 案件基本信息
* @author kami on 2024-11-10 14:47:22
* @version 0.0.1
* @since 1.8
*/
@Data
@TableName("dwd_ry_jtqbglpt_jszxxb")
public class GBaseJszxxb implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 身份证号
*/
@TableField("sfzmhm")
String sfzmhm;
/**
* 单位名
*/
@TableField("jgmc")
String jgmc;
/**
* 有效期始
*/
@TableField("yxqs")
Date yxqs;
/**
* 有效期止
*/
@TableField("yxqz")
Date yxqz;
}

15
src/main/java/com/biutag/supervisiondata/repository/GBaseJszxxbRepository.java

@ -0,0 +1,15 @@
package com.biutag.supervisiondata.repository;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.biutag.supervisiondata.mapper.dwd.GBaseJszxxbMapper;
import com.biutag.supervisiondata.pojo.entity.dwd.GBaseJszxxb;
import org.springframework.stereotype.Service;
/**
* @author kami on 2024-11-13 15:18:16
* @version 0.0.1
* @since 1.8
*/
@Service
public class GBaseJszxxbRepository extends ServiceImpl<GBaseJszxxbMapper, GBaseJszxxb> {
}

3
src/main/java/com/biutag/supervisiondata/service/PointService.java

@ -128,4 +128,7 @@ public interface PointService {
// 父母关系状况 // 父母关系状况
void syncParentsRelationship(TaskParamDomain domain); void syncParentsRelationship(TaskParamDomain domain);
// 精神疾病患者驾照未注销
void syncMentalDiseaseDriver(TaskParamDomain domain);
} }

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

@ -91,6 +91,9 @@ public class PointServiceImpl implements PointService {
private final ModelClueDataMapper modelClueDataMapper; private final ModelClueDataMapper modelClueDataMapper;
private final GBaseJszxxbRepository jszxxbRepository;
private final RiskModelTaskClueRepository riskModelTaskClueRepository;
@Override @Override
public void personPullAndSave(LocalDateTime start, LocalDateTime end) { public void personPullAndSave(LocalDateTime start, LocalDateTime end) {
riskPersonalService.formatAndSave(getPersons(), Default.POINT_POEPLE); riskPersonalService.formatAndSave(getPersons(), Default.POINT_POEPLE);
@ -969,6 +972,63 @@ public class PointServiceImpl implements PointService {
taskRepository.updateById(updateTask); taskRepository.updateById(updateTask);
} }
@Override
public void syncMentalDiseaseDriver(TaskParamDomain domain) {
RiskTask task = createTask(domain.getPersons().size(), 132);
taskRepository.save(task);
Map<String, RiskModelTaskClue> oldMap = domain.getOldMap(task.getModelId(), true);
Map<String, Integer> idCode = new HashMap<>();
List<String> mentalDiseaseIds = riskModelTaskClueRepository.list(new LambdaQueryWrapper<RiskModelTaskClue>().select(RiskModelTaskClue::getIdCode).eq(RiskModelTaskClue::getModelId, 59)).stream().map(RiskModelTaskClue::getIdCode).toList();
log.info("模型132开始查询");
List<GBaseJszxxb> list = new ArrayList<>();
// 切割 每次查10000条
List<List<String>> mentalDiseaseIdsParts = IntStream.range(0, (mentalDiseaseIds.size() + 9999) / 10000)
.mapToObj(i -> mentalDiseaseIds.subList(i * 10000, Math.min((i + 1) * 10000, mentalDiseaseIds.size())))
.toList();
for (List<String> mentalDiseaseIdsPart : mentalDiseaseIdsParts) {
list.addAll(jszxxbRepository.getBaseMapper().selectByIdNos(mentalDiseaseIdsPart));
}
log.info("模型132查询结果数:{}", list.size());
Map<String, RiskPersonal> personalMap = domain.getPersons().stream().collect(Collectors.toMap(RiskPersonal::getIdCode, Function.identity(), (old, newVal) -> newVal));
List<RiskModelTaskClue> toInsert = new ArrayList<>();
for (GBaseJszxxb domicileType : list) {
RiskPersonal personal = personalMap.get(domicileType.getSfzmhm());
if (personal == null) continue;
if (idCode.get(domicileType.getSfzmhm()) != null) continue;
if (oldMap.get(domicileType.getSfzmhm()) != null) continue;
idCode.put(domicileType.getSfzmhm(), 1);
String context = "";
if (domicileType.getJgmc() != null) {
context = ",责任单位为" + domicileType.getJgmc();
}
ClueData data = ClueData.builder()
.name(personal.getName())
.id(personal.getId().toString())
.idCode(personal.getIdCode())
.tag("精神疾病患者驾照未注销")
.eventTime(LocalDateTime.now())
.personId(personal.getId())
.sourceData("发现该人员为精神疾病患者,但驾照未注销" + context
+ ",驾照有效期为“" + getDateString(domicileType.getYxqs()) + "至"
+ getDateString(domicileType.getYxqz()) + "”,增加风险分5分")
.build();
toInsert.add(createClue(task.getModelId(), 5, task.getId(), data));
}
if (!toInsert.isEmpty()) {
modelTaskClueService.saveClues(toInsert, Default.MENTALDISEASEDRIVER);
}
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 @Override
public void syncParentsRelationship(TaskParamDomain domain) { public void syncParentsRelationship(TaskParamDomain domain) {
RiskTask task = createTask(domain.getPersons().size(), 131); RiskTask task = createTask(domain.getPersons().size(), 131);
@ -2236,6 +2296,38 @@ public class PointServiceImpl implements PointService {
return " 无时间数据 "; return " 无时间数据 ";
} }
private static String getDateString(Object param) {
if (param != null) {
String time = null;
try {
time = String.valueOf(param);
LocalDateTime localDateTime = LocalDateTime.parse(time, DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss"));
return localDateTime.format(DateTimeFormatter.ofPattern("yyyy年MM月dd日"));
} catch (Exception e) {
try {
time = String.valueOf(param);
LocalDateTime localDateTime = LocalDateTime.parse(time, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.S"));
return localDateTime.format(DateTimeFormatter.ofPattern("yyyy年MM月dd日"));
} catch (Exception ex) {
try {
time = String.valueOf(param);
LocalDateTime localDateTime = LocalDateTime.parse(time, DateTimeFormatter.ofPattern("yyyyMMddHHmmss"));
return localDateTime.format(DateTimeFormatter.ofPattern("yyyy年MM月dd日"));
} catch (Exception exx) {
try {
time = String.valueOf(param);
LocalDateTime localDateTime = LocalDateTime.parse(time, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
return localDateTime.format(DateTimeFormatter.ofPattern("yyyy年MM月dd日"));
} catch (Exception exxx) {
System.out.println("时间" + time + "解析失败" + ex);
}
}
}
}
}
return " 无时间数据 ";
}
private static String getDateMinuteString(Object param) { private static String getDateMinuteString(Object param) {
if (param != null) { if (param != null) {
String time = null; String time = null;

Loading…
Cancel
Save