|
|
|
@ -2,6 +2,7 @@ package com.biutag.supervisiondata.service.impl; |
|
|
|
|
|
|
|
|
|
|
|
import com.alibaba.fastjson2.JSON; |
|
|
|
import com.alibaba.fastjson2.JSON; |
|
|
|
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.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.domain.TaskParamDomain; |
|
|
|
import com.biutag.supervisiondata.pojo.domain.TaskParamDomain; |
|
|
|
@ -21,9 +22,12 @@ import lombok.AllArgsConstructor; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import java.time.LocalDate; |
|
|
|
import java.time.LocalDateTime; |
|
|
|
import java.time.LocalDateTime; |
|
|
|
import java.time.ZoneId; |
|
|
|
import java.time.ZoneId; |
|
|
|
|
|
|
|
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; |
|
|
|
@ -44,172 +48,137 @@ public class HabitServiceImpl implements HabitService { |
|
|
|
|
|
|
|
|
|
|
|
private final RiskTaskRepository riskTaskRepository; |
|
|
|
private final RiskTaskRepository riskTaskRepository; |
|
|
|
|
|
|
|
|
|
|
|
private final RiskPersonalControlRecordService recordRepository; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private final RiskModelTaskClueService riskModelTaskClueService; |
|
|
|
private final RiskModelTaskClueService riskModelTaskClueService; |
|
|
|
|
|
|
|
|
|
|
|
private final RiskPersonalService riskPersonalService; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private final RiskPersonalControlRecordService controlRecordService; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private final RiskPersonalRepository personalRepository; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public void habitModelTask(TaskParamDomain domain) { |
|
|
|
public void habitModelTask(LocalDateTime targetTime, TaskParamDomain domain) { |
|
|
|
RiskTask task = createTask(domain.getPersons().size(), 36); |
|
|
|
List<GBaseAJJBXX> ajjbxxList = gBaseAJJBXXRepository.getBaseMapper().selectHabit(targetTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); |
|
|
|
riskTaskRepository.save(task); |
|
|
|
|
|
|
|
Date d = Date.from(LocalDateTime.of(2024, 1, 1, 0, 0, 0).atZone(ZoneId.systemDefault()).toInstant()); |
|
|
|
LocalDateTime limit = LocalDateTime.now().minusYears(1); |
|
|
|
List<GBaseAJJBXX> ajjbxxList = gBaseAJJBXXRepository.list(new LambdaQueryWrapper<GBaseAJJBXX>() |
|
|
|
|
|
|
|
.select(GBaseAJJBXX::getAjbh, GBaseAJJBXX::getBadwidmc, GBaseAJJBXX::getBadwiddm, GBaseAJJBXX::getBarq, GBaseAJJBXX::getAjlbmc) |
|
|
|
|
|
|
|
.ge(GBaseAJJBXX::getBarq, d)); |
|
|
|
|
|
|
|
log.info("总案件数:{}", ajjbxxList.size()); |
|
|
|
log.info("总案件数:{}", ajjbxxList.size()); |
|
|
|
// 过滤案件类别
|
|
|
|
// 酒
|
|
|
|
List<GBaseAJJBXX> targetAjList = new ArrayList<>(); |
|
|
|
List<GBaseAJJBXX> targetAjList = new ArrayList<>(); |
|
|
|
List<String> ajNos = new ArrayList<>(); |
|
|
|
List<String> ajNos = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 赌博
|
|
|
|
|
|
|
|
List<GBaseAJJBXX> targetAjList2 = new ArrayList<>(); |
|
|
|
|
|
|
|
List<String> ajNos2 = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 其他行为
|
|
|
|
|
|
|
|
List<GBaseAJJBXX> targetAjList3 = new ArrayList<>(); |
|
|
|
|
|
|
|
List<String> ajNos3 = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (GBaseAJJBXX gBaseAJJBXX : ajjbxxList) { |
|
|
|
for (GBaseAJJBXX gBaseAJJBXX : ajjbxxList) { |
|
|
|
if (gBaseAJJBXX.getAjlbmc() == null) { |
|
|
|
if (gBaseAJJBXX.getAjlbmc() == null) { |
|
|
|
continue; |
|
|
|
continue; |
|
|
|
} |
|
|
|
} |
|
|
|
if (gBaseAJJBXX.getAjlbmc().contains("酒后驾驶") || gBaseAJJBXX.getAjlbmc().contains("赌博") |
|
|
|
if (gBaseAJJBXX.getAjlbmc().contains("酒")){ |
|
|
|
|| gBaseAJJBXX.getAjlbmc().contains("嫖娼") || gBaseAJJBXX.getAjlbmc().contains("招嫖") |
|
|
|
targetAjList.add(gBaseAJJBXX); |
|
|
|
|
|
|
|
ajNos.add(gBaseAJJBXX.getAjbh()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (gBaseAJJBXX.getAjlbmc().contains("赌博")) { |
|
|
|
|
|
|
|
targetAjList2.add(gBaseAJJBXX); |
|
|
|
|
|
|
|
ajNos2.add(gBaseAJJBXX.getAjbh()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (gBaseAJJBXX.getAjlbmc().contains("嫖娼") || gBaseAJJBXX.getAjlbmc().contains("招嫖") |
|
|
|
|| gBaseAJJBXX.getAjlbmc().contains("嫖宿")) { |
|
|
|
|| gBaseAJJBXX.getAjlbmc().contains("嫖宿")) { |
|
|
|
if (gBaseAJJBXX.getAjlbmc().contains("幼女")) { |
|
|
|
if (gBaseAJJBXX.getAjlbmc().contains("幼女")) { |
|
|
|
continue; |
|
|
|
continue; |
|
|
|
} |
|
|
|
} |
|
|
|
targetAjList.add(gBaseAJJBXX); |
|
|
|
targetAjList3.add(gBaseAJJBXX); |
|
|
|
ajNos.add(gBaseAJJBXX.getAjbh()); |
|
|
|
ajNos3.add(gBaseAJJBXX.getAjbh()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
log.info("共计案件:{}条", ajNos.size()); |
|
|
|
RiskTask task = createTask(ajNos.size(), 36); |
|
|
|
|
|
|
|
riskTaskRepository.save(task); |
|
|
|
|
|
|
|
RiskTask task2 = createTask(ajNos2.size(), 60); |
|
|
|
|
|
|
|
riskTaskRepository.save(task2); |
|
|
|
|
|
|
|
RiskTask task3 = createTask(ajNos2.size(), 61); |
|
|
|
|
|
|
|
riskTaskRepository.save(task3); |
|
|
|
|
|
|
|
log.info("共计案件:{} | {} | {}", ajNos.size(), ajNos2.size(), ajNos3.size()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<RiskModelTaskClue> toInsert = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<RiskModelTaskClue> toInsert1 = new ArrayList<>(); |
|
|
|
|
|
|
|
List<RiskModelTaskClue> toInsert2 = new ArrayList<>(); |
|
|
|
|
|
|
|
List<RiskModelTaskClue> toInsert3 = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CompletableFuture.allOf( |
|
|
|
|
|
|
|
CompletableFutureUtil.runSyncObject(() -> toInsert1.addAll(findBadHabit(ajNos, targetAjList, task, domain, "酗酒行为"))), |
|
|
|
|
|
|
|
CompletableFutureUtil.runSyncObject(() -> toInsert2.addAll(findBadHabit(ajNos2, targetAjList2, task2, domain, "赌博行为"))), |
|
|
|
|
|
|
|
CompletableFutureUtil.runSyncObject(() -> toInsert3.addAll(findBadHabit(ajNos3, targetAjList3, task3, domain, "其它成瘾行为"))) |
|
|
|
|
|
|
|
).join(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
log.info("开始进行数据库操作"); |
|
|
|
|
|
|
|
toInsert.addAll(toInsert1); |
|
|
|
|
|
|
|
toInsert.addAll(toInsert2); |
|
|
|
|
|
|
|
toInsert.addAll(toInsert3); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(!toInsert.isEmpty()) { |
|
|
|
|
|
|
|
riskModelTaskClueService.saveClues(toInsert, Default.HABBIT_IG); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
updateTask(task.getId(), toInsert1.size()); |
|
|
|
|
|
|
|
updateTask(task2.getId(), toInsert2.size()); |
|
|
|
|
|
|
|
updateTask(task3.getId(), toInsert3.size()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<RiskModelTaskClue> findBadHabit(List<String> ajNos, List<GBaseAJJBXX> targetAjList, RiskTask task, TaskParamDomain domain, String tag) { |
|
|
|
List<List<String>> ajNo = IntStream.range(0, (ajNos.size() + 9999) / 10000) |
|
|
|
List<List<String>> ajNo = IntStream.range(0, (ajNos.size() + 9999) / 10000) |
|
|
|
.mapToObj(i -> ajNos.subList(i * 10000, Math.min((i + 1) * 10000, ajNos.size()))) |
|
|
|
.mapToObj(i -> ajNos.subList(i * 10000, Math.min((i + 1) * 10000, ajNos.size()))) |
|
|
|
.toList(); |
|
|
|
.toList(); |
|
|
|
|
|
|
|
|
|
|
|
List<GBaseWFRXX> wfrList = new ArrayList<>(); |
|
|
|
List<GBaseWFRXX> wfrList = new ArrayList<>(); |
|
|
|
for (List<String> aj : ajNo) { |
|
|
|
ajNo.forEach(aj -> wfrList.addAll(gBaseWFRXXRepository.list(new LambdaQueryWrapper<GBaseWFRXX>() |
|
|
|
wfrList.addAll(gBaseWFRXXRepository.list(new LambdaQueryWrapper<GBaseWFRXX>() |
|
|
|
|
|
|
|
.select(GBaseWFRXX::getAjbh, GBaseWFRXX::getZjhm) |
|
|
|
.select(GBaseWFRXX::getAjbh, GBaseWFRXX::getZjhm) |
|
|
|
.in(GBaseWFRXX::getAjbh, aj))); |
|
|
|
.in(GBaseWFRXX::getAjbh, aj)))); |
|
|
|
} |
|
|
|
|
|
|
|
// 违法信息
|
|
|
|
// 违法信息
|
|
|
|
Map<String, List<GBaseWFRXX>> wfrMap = wfrList.stream().filter(it -> it.getZjhm() != null).collect(Collectors.groupingBy(GBaseWFRXX::getZjhm)); |
|
|
|
Map<String, List<GBaseWFRXX>> wfrMap = wfrList.stream().filter(it -> it.getZjhm() != null).collect(Collectors.groupingBy(GBaseWFRXX::getZjhm)); |
|
|
|
// 案件信息
|
|
|
|
// 案件信息
|
|
|
|
Map<String, GBaseAJJBXX> ajMap = targetAjList.stream().collect(Collectors.toMap(GBaseAJJBXX::getAjbh, Function.identity(), (oldValue, newValue) -> newValue)); |
|
|
|
Map<String, GBaseAJJBXX> ajMap = targetAjList.stream().collect(Collectors.toMap(GBaseAJJBXX::getAjbh, Function.identity(), (oldValue, newValue) -> newValue)); |
|
|
|
|
|
|
|
|
|
|
|
List<RiskModelTaskClue> oldList = Optional.ofNullable(domain.getMap().get(36)).orElse(new ArrayList<>()); |
|
|
|
List<RiskModelTaskClue> oldList = Optional.ofNullable(domain.getMap().get(36)).orElse(new ArrayList<>()); |
|
|
|
// 人员的旧线索
|
|
|
|
// 人员的旧线索
|
|
|
|
Map<String, List<RiskModelTaskClue>> clueMap = oldList.stream().collect(Collectors.groupingBy(RiskModelTaskClue::getIdCode)); |
|
|
|
Map<String, List<RiskModelTaskClue>> clueMap = oldList.stream().collect(Collectors.groupingBy(RiskModelTaskClue::getIdCode)); |
|
|
|
|
|
|
|
|
|
|
|
log.info("开始遍历人员"); |
|
|
|
|
|
|
|
List<RiskModelTaskClue> clues; |
|
|
|
List<RiskModelTaskClue> clues; |
|
|
|
Map<String, RiskModelTaskClue> clueTmpMap; |
|
|
|
Map<String, RiskModelTaskClue> clueTmpMap; |
|
|
|
List<ClueData> dataList; |
|
|
|
// 创建新数据
|
|
|
|
// 新增数据源
|
|
|
|
List<RiskModelTaskClue> toInsert = new ArrayList<>(); |
|
|
|
Map<String, List<ClueData>> insertDataMap = new HashMap<>(); |
|
|
|
log.info("开始遍历人员", wfrMap.size()); |
|
|
|
// 管控记录需要的id
|
|
|
|
|
|
|
|
List<String> controlIdCodes = new ArrayList<>(); |
|
|
|
|
|
|
|
log.info("map大小:{}", wfrMap.size()); |
|
|
|
|
|
|
|
for (RiskPersonal person : domain.getPersons()) { |
|
|
|
for (RiskPersonal person : domain.getPersons()) { |
|
|
|
List<GBaseWFRXX> wfTmp = wfrMap.get(person.getIdCode()); |
|
|
|
List<GBaseWFRXX> wfTmp = Optional.ofNullable(wfrMap.get(person.getIdCode())).orElse(new ArrayList<>()); |
|
|
|
if (wfTmp == null) { |
|
|
|
|
|
|
|
continue; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
// 该人员旧的线索
|
|
|
|
// 该人员旧的线索
|
|
|
|
clues = Optional.ofNullable(clueMap.get(person.getIdCode())).orElse(new ArrayList<>()); |
|
|
|
clues = Optional.ofNullable(clueMap.get(person.getIdCode())).orElse(new ArrayList<>()); |
|
|
|
clueTmpMap = clues.stream().collect(Collectors.toMap(RiskModelTaskClue::getCaseIds, Function.identity(), (oldValue, newValue) -> newValue)); |
|
|
|
clueTmpMap = clues.stream().collect(Collectors.toMap(RiskModelTaskClue::getCaseIds, Function.identity(), (oldValue, newValue) -> newValue)); |
|
|
|
dataList = new ArrayList<>(); |
|
|
|
|
|
|
|
for (GBaseWFRXX gBaseWFRXX : wfTmp) { |
|
|
|
for (GBaseWFRXX gBaseWFRXX : wfTmp) { |
|
|
|
GBaseAJJBXX aj = ajMap.get(gBaseWFRXX.getAjbh()); |
|
|
|
GBaseAJJBXX aj = ajMap.get(gBaseWFRXX.getAjbh()); |
|
|
|
if (aj == null) { |
|
|
|
if (aj == null) { |
|
|
|
continue; |
|
|
|
continue; |
|
|
|
} |
|
|
|
} |
|
|
|
// 通过案件编号获取查看是否有入库记录
|
|
|
|
// 通过案件编号获取查看是否有入库记录
|
|
|
|
RiskModelTaskClue clue = clueTmpMap.get(BhUtil.ajBh(aj.getAjbh())); |
|
|
|
if (clueTmpMap.get(BhUtil.ajBh(aj.getAjbh())) != null) { |
|
|
|
if (clue != null) { |
|
|
|
|
|
|
|
continue; |
|
|
|
continue; |
|
|
|
} |
|
|
|
} |
|
|
|
// 没有旧记录
|
|
|
|
// 没有旧记录
|
|
|
|
ClueData data = ClueData.builder() |
|
|
|
ClueData data = ClueData.builder() |
|
|
|
.id(aj.getAjbh()) |
|
|
|
.id(aj.getAjbh()) |
|
|
|
.departId(aj.getBadwiddm()) |
|
|
|
|
|
|
|
.departName(aj.getBadwidmc()) |
|
|
|
|
|
|
|
.name(person.getName()) |
|
|
|
.name(person.getName()) |
|
|
|
.idCode(person.getIdCode()) |
|
|
|
.idCode(person.getIdCode()) |
|
|
|
.tag("不良嗜好-"+aj.getAjlbmc()) |
|
|
|
.tag(tag) |
|
|
|
.personId(person.getId()) |
|
|
|
.personId(person.getId()) |
|
|
|
.sourceData("结合案件信息和违法人信息相关数据,发现该人员有:"+aj.getAjlbmc()+"类型的案件,案件编号为:"+aj.getAjbh()+",属于存在不良嗜好,增加风险分1分(存在涉赌、涉酒、涉黄不良嗜好的,每项+1分,最高3分)") |
|
|
|
.sourceData("结合案件信息和违法人信息相关数据,发现该人员有:"+aj.getAjlbmc()+"类型的案件,案件编号为:"+aj.getAjbh()+",存在"+tag+",增加风险分5分") |
|
|
|
.build(); |
|
|
|
.build(); |
|
|
|
try { |
|
|
|
try { |
|
|
|
data.setEventTime(aj.getBarq().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime()); |
|
|
|
data.setEventTime(aj.getBarq().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime()); |
|
|
|
} catch (Exception e) { |
|
|
|
} catch (Exception e) { |
|
|
|
log.error("报案日期转LocalDateTime异常"); |
|
|
|
log.error("报案日期转LocalDateTime异常"); |
|
|
|
} |
|
|
|
} |
|
|
|
dataList.add(data); |
|
|
|
toInsert.add(createClue(task.getModelId(), 5, task.getId(), data)); |
|
|
|
} |
|
|
|
|
|
|
|
if (!dataList.isEmpty()) { |
|
|
|
|
|
|
|
insertDataMap.put(person.getIdCode(), dataList); |
|
|
|
|
|
|
|
controlIdCodes.add(person.getIdCode()); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
// 创建新数据
|
|
|
|
return toInsert; |
|
|
|
List<RiskModelTaskClue> toInsert = new ArrayList<>(); |
|
|
|
|
|
|
|
List<RiskPersonal> toUpdatePersonal = new ArrayList<>(); |
|
|
|
|
|
|
|
List<RiskPersonalControlRecord> toInsertRecord = new ArrayList<>(); |
|
|
|
|
|
|
|
List<RiskPersonalControlRecord> oldRecords = recordRepository.list(new LambdaQueryWrapper<RiskPersonalControlRecord>() |
|
|
|
|
|
|
|
.select(RiskPersonalControlRecord::getIdCode, RiskPersonalControlRecord::getControlTime) |
|
|
|
|
|
|
|
.in(RiskPersonalControlRecord::getIdCode, controlIdCodes)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Map<String, List<RiskPersonalControlRecord>> oldRecordMap = oldRecords.stream().collect(Collectors.groupingBy(RiskPersonalControlRecord::getIdCode)); |
|
|
|
|
|
|
|
// 遍历生成实体
|
|
|
|
|
|
|
|
for (Map.Entry<String, List<ClueData>> entry : insertDataMap.entrySet()) { |
|
|
|
|
|
|
|
List<RiskPersonalControlRecord> records = Optional.ofNullable(oldRecordMap.get(entry.getKey())).orElse(new ArrayList<>()); |
|
|
|
|
|
|
|
ClueData clue = entry.getValue().getFirst(); |
|
|
|
|
|
|
|
for (ClueData clueData : entry.getValue()) { |
|
|
|
|
|
|
|
// 理论上说之前过滤过clue,不需要再判断control是否存在了
|
|
|
|
|
|
|
|
toInsertRecord.add(createControlRecord(clueData)); |
|
|
|
|
|
|
|
toInsert.add(createClue(task.getModelId(), 1, task.getId(), clueData)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
// 修改人员当前管控单位
|
|
|
|
|
|
|
|
// if(!records.isEmpty()) {
|
|
|
|
|
|
|
|
// RiskPersonalControlRecord last = null;
|
|
|
|
|
|
|
|
// for (RiskPersonalControlRecord record : records) {
|
|
|
|
|
|
|
|
// if(last == null) {
|
|
|
|
|
|
|
|
// last = record;
|
|
|
|
|
|
|
|
// continue;
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// if(last.getControlTime().isBefore(record.getControlTime())) {
|
|
|
|
|
|
|
|
// last = record;
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// if(last != null && last.getId() == null) {
|
|
|
|
|
|
|
|
// RiskPersonal person = new RiskPersonal();
|
|
|
|
|
|
|
|
// person.setId(clue.getPersonId());
|
|
|
|
|
|
|
|
// person.setControlDepartId(last.getControlDepartId());
|
|
|
|
|
|
|
|
// person.setControlDepartName(last.getControlDepartName());
|
|
|
|
|
|
|
|
// person.setControlTime(last.getControlTime());
|
|
|
|
|
|
|
|
// toUpdatePersonal.add(person);
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
log.info("开始进行数据库操作"); |
|
|
|
|
|
|
|
if(!toInsert.isEmpty()) { |
|
|
|
|
|
|
|
riskModelTaskClueService.saveClues(toInsert, Default.HABBIT_IG); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if(!toInsertRecord.isEmpty()) { |
|
|
|
|
|
|
|
controlRecordService.batchInsert(toInsertRecord); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if(!toUpdatePersonal.isEmpty()) { |
|
|
|
|
|
|
|
log.info("修改人数: {}", toUpdatePersonal.size()); |
|
|
|
|
|
|
|
personalRepository.updateBatchById(toUpdatePersonal); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RiskTask updateTask = new RiskTask(); |
|
|
|
|
|
|
|
updateTask.setId(task.getId()); |
|
|
|
|
|
|
|
updateTask.setInsertSize(toInsert.size()); |
|
|
|
|
|
|
|
updateTask.setUpdateSize(toUpdatePersonal.size()); |
|
|
|
|
|
|
|
updateTask.setState(1); |
|
|
|
|
|
|
|
updateTask.setEndTime(LocalDateTime.now()); |
|
|
|
|
|
|
|
riskTaskRepository.updateById(updateTask); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
RiskTask createTask(Integer size, Integer modelId) { |
|
|
|
RiskTask createTask(Integer size, Integer modelId) { |
|
|
|
@ -221,19 +190,17 @@ public class HabitServiceImpl implements HabitService { |
|
|
|
return task; |
|
|
|
return task; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
RiskPersonalControlRecord createControlRecord(ClueData data) { |
|
|
|
void updateTask(Integer taskId, Integer size) { |
|
|
|
RiskPersonalControlRecord controlRecord = new RiskPersonalControlRecord(); |
|
|
|
RiskTask updateTask = new RiskTask(); |
|
|
|
controlRecord.setName(data.getName()); |
|
|
|
updateTask.setId(taskId); |
|
|
|
controlRecord.setIdCode(data.getIdCode()); |
|
|
|
updateTask.setInsertSize(size); |
|
|
|
controlRecord.setCreateTime(LocalDateTime.now()); |
|
|
|
updateTask.setUpdateSize(0); |
|
|
|
controlRecord.setControlTime(data.getEventTime()); |
|
|
|
updateTask.setState(1); |
|
|
|
controlRecord.setControlDepartId(data.getDepartId()); |
|
|
|
updateTask.setEndTime(LocalDateTime.now()); |
|
|
|
controlRecord.setControlDepartName(data.getDepartName()); |
|
|
|
riskTaskRepository.updateById(updateTask); |
|
|
|
controlRecord.setControlTag(data.getTag()); |
|
|
|
|
|
|
|
controlRecord.setCaseId(BhUtil.ajBh(data.getId())); |
|
|
|
|
|
|
|
return controlRecord; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RiskModelTaskClue createClue(Integer modelId, Integer score, Integer taskId, ClueData data) { |
|
|
|
RiskModelTaskClue createClue(Integer modelId, Integer score, Integer taskId, ClueData data) { |
|
|
|
RiskModelTaskClue clue = new RiskModelTaskClue(); |
|
|
|
RiskModelTaskClue clue = new RiskModelTaskClue(); |
|
|
|
clue.setModelId(modelId); |
|
|
|
clue.setModelId(modelId); |
|
|
|
|