From f17a4df30ac63445ed0c0dd89e1c58826b02e703 Mon Sep 17 00:00:00 2001 From: sjh Date: Thu, 5 Dec 2024 18:19:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A8=A1=E5=9E=8B=E5=AE=9A?= =?UTF-8?q?=E6=97=B6=E4=BB=BB=E5=8A=A1-=E5=8F=96=E6=B6=88=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ModelClueServiceImpl.java | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/biutag/supervisiondata/service/impl/ModelClueServiceImpl.java b/src/main/java/com/biutag/supervisiondata/service/impl/ModelClueServiceImpl.java index d47308c..1d42a80 100644 --- a/src/main/java/com/biutag/supervisiondata/service/impl/ModelClueServiceImpl.java +++ b/src/main/java/com/biutag/supervisiondata/service/impl/ModelClueServiceImpl.java @@ -118,8 +118,6 @@ public class ModelClueServiceImpl implements ModelClueService { } else if (modelId == 22) { // 22号模型:执法记录仪使用不规范问题 getModelCluesForModel22(sql, modelClues); return modelClues; - } else if (modelId == 23) { // 23号模型:保安员预警 - modelClueMapper.delete(Wrappers.lambdaUpdate().eq(ModelClue::getModelId, 23)); } else if (modelId == 25) { // 25号模型:重点人员管控人数过多 getModelCluesForModel25(sql, modelClues); return modelClues; @@ -160,7 +158,14 @@ public class ModelClueServiceImpl implements ModelClueService { if (needsInsertIds.isEmpty()) { return new ArrayList<>(); } - List needsInsertModelClues = modelClues.stream().filter(item -> needsInsertIds.contains(item.getUniqueKey())).toList(); + List needsInsertModelClues; + if (modelId == 23) { + List oldModelClues = modelClueMapper.selectList(Wrappers.lambdaQuery().eq(ModelClue::getModelId, 25)); + List oldModelClueKeys = oldModelClues.stream().map(ModelClue::getUniqueKey).toList(); + needsInsertModelClues = modelClues.stream().filter(item -> needsInsertIds.contains(item.getUniqueKey()) && !oldModelClueKeys.contains(item.getUniqueKey())).toList(); + } else { + needsInsertModelClues = modelClues.stream().filter(item -> needsInsertIds.contains(item.getUniqueKey())).toList(); + } String newSql = generateNewSql(sql, needsInsertIds, modelId); System.out.println("开始查询新sql" + newSql); List> allData = modelClueDataMapper.selectByUniqueKeys(newSql); @@ -911,7 +916,8 @@ public class ModelClueServiceImpl implements ModelClueService { } private void getModelCluesForModel25(String sql, List modelClues) { - modelClueMapper.delete(Wrappers.lambdaUpdate().eq(ModelClue::getModelId, 25)); + List oldModelClues = modelClueMapper.selectList(Wrappers.lambdaQuery().eq(ModelClue::getModelId, 25)); + List oldModelClueKeys = oldModelClues.stream().map(ModelClue::getUniqueKey).toList(); System.out.println("模型25开始查询数据库"); List> sqlList = modelClueDataMapper.selectByUniqueKeys(sql); System.out.println("模型25查询数据库完毕,结果数量:" + sqlList.size()); @@ -951,6 +957,9 @@ public class ModelClueServiceImpl implements ModelClueService { } } newModelClue.setUniqueKey(gxdwjgdm + xzdzrr); + if (oldModelClueKeys.contains(newModelClue.getUniqueKey())) { + continue; + } newModelClue.setNegativeIdEx(gxdwjgdm + xzdzrr); newModelClue.setInvolveDepartName(gxdw); if (newModelClue.getInvolveDepartId() != null) { @@ -1090,7 +1099,8 @@ public class ModelClueServiceImpl implements ModelClueService { } private void getModelCluesForModel105(String sql, List modelClues) { - modelClueMapper.delete(Wrappers.lambdaUpdate().eq(ModelClue::getModelId, 105)); + List oldModelClues = modelClueMapper.selectList(Wrappers.lambdaQuery().eq(ModelClue::getModelId, 105)); + List oldModelClueKeys = oldModelClues.stream().map(ModelClue::getUniqueKey).toList(); System.out.println("模型105开始查询数据库"); List> sqlList = modelClueMapper.selectByUniqueKeys(sql); System.out.println("模型105查询数据库完毕,结果数量:" + sqlList.size()); @@ -1100,6 +1110,9 @@ public class ModelClueServiceImpl implements ModelClueService { for (Map map : sqlList) { ModelClue newModelClue = new ModelClue(); newModelClue.setUniqueKey((String) map.get("blameId")); + if (oldModelClueKeys.contains(newModelClue.getUniqueKey())) { + continue; + } newModelClue.setNegativeIdEx((String) map.get("blameId")); newModelClue.setInvolveDepartName(map.get("involveDepartName") == null ? "" : (String) map.get("involveDepartName")); newModelClue.setInvolveDepartId(map.get("involveDepartId") == null ? "" : (String) map.get("involveDepartId"));