Browse Source

买油

master
kami 1 year ago
parent
commit
e2e8da3dfe
  1. 31
      src/main/java/com/biutag/supervisiondata/service/impl/PointServiceImpl.java

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

@ -458,6 +458,9 @@ public class PointServiceImpl implements PointService {
if (oldMap.get(BhUtil.oilBh(item.getXh())) != null) { if (oldMap.get(BhUtil.oilBh(item.getXh())) != null) {
continue; continue;
} }
if (carMt.get(person.getIdCode()) != null) {
continue;
}
ClueData data = ClueData.builder() ClueData data = ClueData.builder()
.name(person.getName()) .name(person.getName())
.id(BhUtil.oilBh(item.getXh())) .id(BhUtil.oilBh(item.getXh()))
@ -472,15 +475,10 @@ public class PointServiceImpl implements PointService {
data.setEventTime(LocalDateTime.now()); data.setEventTime(LocalDateTime.now());
log.error("散装油时间转化异常"); log.error("散装油时间转化异常");
} }
if(carMt.get(person.getIdCode()) == null) {
data.setTag(Default.NO_CAR_OIL_BUY); data.setTag(Default.NO_CAR_OIL_BUY);
data.setSourceData("发现该人员属于无车人员,于" + item.getTime() + "在" + item.getCompanyName() + "购买容量为" + item.getNumber() + "L的" + item.getType() + ",用作" + item.getUseTo() + ",风险分增加3分"); data.setSourceData("发现该人员属于无车人员,于" + item.getTime() + "在" + item.getCompanyName() + "购买容量为" + item.getNumber() + "L的" + item.getType() + ",用作" + item.getUseTo() + ",风险分增加3分");
toInsert.add(createClue(task.getModelId(), 3, task.getId(), data)); toInsert.add(createClue(task.getModelId(), 3, task.getId(), data));
} else {
data.setTag(Default.OIL_BUY);
data.setSourceData("发现该人员于"+item.getTime()+"在"+item.getCompanyName()+"购买容量为"+item.getNumber()+"L的"+item.getType()+",用作"+item.getUseTo()+",风险分增加2分");
toInsert.add(createClue(task.getModelId(), 2, task.getId(), data));
}
} }
} }
@ -489,26 +487,22 @@ public class PointServiceImpl implements PointService {
modelTaskClueService.saveClues(toInsert, Default.GOODS_IG); modelTaskClueService.saveClues(toInsert, Default.GOODS_IG);
} }
Map<String, List<RiskModelTaskClue>> tmp = oldList.stream().collect(Collectors.groupingBy(RiskModelTaskClue::getRiskReason));
int count = 0;
for (Map.Entry<String, List<RiskModelTaskClue>> entry : tmp.entrySet()) {
List<RiskModelTaskClue> toDelete = new ArrayList<>(); List<RiskModelTaskClue> toDelete = new ArrayList<>();
Map<String, Byte[]> deletePerson = new WeakHashMap<>(); Map<String, Byte[]> deletePerson = new WeakHashMap<>();
Map<String, Byte[]> livePerson = new WeakHashMap<>(); Map<String, Byte[]> livePerson = new WeakHashMap<>();
for (RiskModelTaskClue entry : oldList) {
// 删除记录 // 删除记录
for (RiskModelTaskClue clue : entry.getValue()) { if (entry.getEventTime().isBefore(currentTime)) {
if(clue.getEventTime().isBefore(currentTime)){
RiskModelTaskClue delete = new RiskModelTaskClue(); RiskModelTaskClue delete = new RiskModelTaskClue();
delete.setId(clue.getId()); delete.setId(entry.getId());
delete.setDel(1); delete.setDel(1);
toDelete.add(delete); toDelete.add(delete);
deletePerson.put(clue.getIdCode(), new Byte[0]); deletePerson.put(entry.getIdCode(), new Byte[0]);
count++;
} else { } else {
livePerson.put(clue.getIdCode(), new Byte[0]); livePerson.put(entry.getIdCode(), new Byte[0]);
} }
} }
List<String> idCodes = new ArrayList<>(); List<String> idCodes = new ArrayList<>();
// 删除标签 从deletePerson遍历,存活中没有,新增没有,说明该标签就没了 // 删除标签 从deletePerson遍历,存活中没有,新增没有,说明该标签就没了
for (String s : deletePerson.keySet()) { for (String s : deletePerson.keySet()) {
@ -518,15 +512,14 @@ public class PointServiceImpl implements PointService {
} }
if (!toDelete.isEmpty()) { if (!toDelete.isEmpty()) {
modelTaskClueService.deleteCluesAndDeleteTag(toDelete, idCodes, entry.getKey()); modelTaskClueService.deleteCluesAndDeleteTag(toDelete, idCodes, Default.NO_CAR_OIL_BUY);
}
} }
RiskTask updateTask = new RiskTask(); RiskTask updateTask = new RiskTask();
updateTask.setId(task.getId()); updateTask.setId(task.getId());
updateTask.setInsertSize(toInsert.size()); updateTask.setInsertSize(toInsert.size());
updateTask.setUpdateSize(count); updateTask.setUpdateSize(toDelete.size());
updateTask.setState(1); updateTask.setState(1);
updateTask.setEndTime(LocalDateTime.now()); updateTask.setEndTime(LocalDateTime.now());
taskRepository.updateById(updateTask); taskRepository.updateById(updateTask);

Loading…
Cancel
Save