From e7b1634cab3795dea318deafe4355fce1fc288c3 Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Tue, 21 May 2024 11:36:49 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BA=A2=E7=A0=81=E4=B8=8D=E8=83=BD=E9=80=9A?= =?UTF-8?q?=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/zhgd/xmgl/async/AsyncHikvision.java | 10 +- .../HiddenDangerInspectRecordServiceImpl.java | 32 ++--- .../impl/ProjectUfaceConfigServiceImpl.java | 116 ++++++++++-------- .../QualityInspectionRecordServiceImpl.java | 13 +- ...AnalyseHardWareAlarmRecordServiceImpl.java | 6 +- .../worker/service/IWorkerInfoService.java | 7 ++ .../service/impl/WorkerInfoServiceImpl.java | 8 ++ ...ityQualityInspectionRecordServiceImpl.java | 7 +- .../java/com/zhgd/xmgl/util/NumberUtils.java | 9 ++ 9 files changed, 124 insertions(+), 84 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java b/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java index 0869abe54..4bd72673e 100644 --- a/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java +++ b/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java @@ -452,18 +452,18 @@ public class AsyncHikvision { * 删除 * * @param workerInfo - * @param devSn + * @param devSns */ - public void deletePersonAuth(WorkerInfo workerInfo, String devSn) { - if (StringUtils.isBlank(devSn)) { + public void deletePersonAuth(WorkerInfo workerInfo, String devSns) { + if (StringUtils.isBlank(devSns)) { return; } Date now = ThreadLocalUtil.getNotNull().getDate("now"); - String[] devSnArr = StringUtils.split(devSn, ","); + String[] devSnArr = StringUtils.split(devSns, ","); for (String ds : devSnArr) { xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(workerInfo.getProjectSn()).setType(3).setOperate(3).setWhoId(workerInfo.getId()).setDeviceSn(ds).setCreateDate(now)); } - asyncHikvision.deletePersonAuthAsync(workerInfo, devSn, now); + asyncHikvision.deletePersonAuthAsync(workerInfo, devSns, now); } @Async("hikvisionExecutor") diff --git a/src/main/java/com/zhgd/xmgl/modules/dangerous/service/impl/HiddenDangerInspectRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/dangerous/service/impl/HiddenDangerInspectRecordServiceImpl.java index f562dd144..0b1eea4e5 100644 --- a/src/main/java/com/zhgd/xmgl/modules/dangerous/service/impl/HiddenDangerInspectRecordServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/dangerous/service/impl/HiddenDangerInspectRecordServiceImpl.java @@ -37,6 +37,7 @@ import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo; import com.zhgd.xmgl.modules.worker.entity.WorkerInfo; import com.zhgd.xmgl.modules.worker.mapper.EnterpriseInfoMapper; import com.zhgd.xmgl.modules.worker.mapper.WorkerInfoMapper; +import com.zhgd.xmgl.modules.worker.service.impl.WorkerInfoServiceImpl; import com.zhgd.xmgl.modules.xz.entity.XzDeductScoreRecord; import com.zhgd.xmgl.modules.xz.mapper.XzDeductScoreRecordMapper; import com.zhgd.xmgl.util.DateUtils; @@ -71,6 +72,10 @@ public class HiddenDangerInspectRecordServiceImpl extends ServiceImpl() - .eq(EnterpriseInfo::getEnterpriseSn, enterpriseSn)); + EnterpriseInfo enterpriseInfo = enterpriseInfoMapper.selectOne(new LambdaQueryWrapper().eq(EnterpriseInfo::getEnterpriseSn, enterpriseSn)); hiddenDangerInspectRecord.setEnterpriseId(String.valueOf(enterpriseInfo.getId())); } hiddenDangerInspectRecordMapper.insert(hiddenDangerInspectRecord); @@ -222,7 +223,7 @@ public class HiddenDangerInspectRecordServiceImpl extends ServiceImpl map = new HashMap<>(); map.put("id", workerInfo.getId()); map.put("deductScore", ds); - workerInfoMapper.updateScore(map); + workerInfoService.updateScoreSendAuth(map); //存记录 XzDeductScoreRecord vo = new XzDeductScoreRecord(); @@ -246,9 +247,7 @@ public class HiddenDangerInspectRecordServiceImpl extends ServiceImpl() - .eq(HiddenDangerInspectionStatistics::getProjectSn, projectSn) - .eq(HiddenDangerInspectionStatistics::getCreateTime, DateUtil.formatDate(createTime))); + hiddenDangerInspectionStatisticsService.remove(new LambdaQueryWrapper().eq(HiddenDangerInspectionStatistics::getProjectSn, projectSn).eq(HiddenDangerInspectionStatistics::getCreateTime, DateUtil.formatDate(createTime))); hiddenDangerInspectionStatisticsService.save(statistics); } @@ -349,8 +348,7 @@ public class HiddenDangerInspectRecordServiceImpl extends ServiceImpl hiddenDangerInspectRecordList = hiddenDangerInspectRecordMapper.selectList(Wrappers.lambdaQuery(HiddenDangerInspectRecord.class) - .eq(HiddenDangerInspectRecord::getProjectSn, projectSn).last("limit 20")); + List hiddenDangerInspectRecordList = hiddenDangerInspectRecordMapper.selectList(Wrappers.lambdaQuery(HiddenDangerInspectRecord.class).eq(HiddenDangerInspectRecord::getProjectSn, projectSn).last("limit 20")); allTodayDataHdir.setHiddenDangerInspectRecordList(hiddenDangerInspectRecordList); return allTodayDataHdir; } @@ -516,8 +513,7 @@ public class HiddenDangerInspectRecordServiceImpl extends ServiceImpl hiddenDangerInspectRecordList = hiddenDangerInspectRecordMapper.selectList(Wrappers.lambdaQuery(HiddenDangerInspectRecord.class) - .eq(HiddenDangerInspectRecord::getProjectSn, projectSn).last("limit 20")); + List hiddenDangerInspectRecordList = hiddenDangerInspectRecordMapper.selectList(Wrappers.lambdaQuery(HiddenDangerInspectRecord.class).eq(HiddenDangerInspectRecord::getProjectSn, projectSn).last("limit 20")); totalAndWeekHiddenDanger.setHiddenDangerInspectRecordList(hiddenDangerInspectRecordList); return totalAndWeekHiddenDanger; @@ -544,11 +540,7 @@ public class HiddenDangerInspectRecordServiceImpl extends ServiceImpl - lambdaQuery().eq(HiddenDangerInspectionStatistics::getProjectSn, MapUtils.getString(map, "projectSn")) - .between(HiddenDangerInspectionStatistics::getCreateTime, - DateUtil.beginOfDay(DateUtil.offsetDay(new Date(), offsetDay)), - DateUtil.endOfDay(DateUtil.offsetDay(new Date(), -1)))); + return hiddenDangerInspectionStatisticsMapper.selectList(Wrappers.lambdaQuery().eq(HiddenDangerInspectionStatistics::getProjectSn, MapUtils.getString(map, "projectSn")).between(HiddenDangerInspectionStatistics::getCreateTime, DateUtil.beginOfDay(DateUtil.offsetDay(new Date(), offsetDay)), DateUtil.endOfDay(DateUtil.offsetDay(new Date(), -1)))); } @Override diff --git a/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectUfaceConfigServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectUfaceConfigServiceImpl.java index fc4044531..4dacce2b2 100644 --- a/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectUfaceConfigServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectUfaceConfigServiceImpl.java @@ -245,59 +245,69 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl existList = ufaceDevMapper.selectList(new LambdaQueryWrapper() - .eq(UfaceDev::getProjectSn, workerInfo.getProjectSn()) - .in(UfaceDev::getId, StrUtil.split(devSns, ",")) - ); - List notExistList = ufaceDevMapper.selectList(new LambdaQueryWrapper() - .eq(UfaceDev::getProjectSn, workerInfo.getProjectSn()) - .notIn(UfaceDev::getId, StrUtil.split(devSns, ",")) - ); - if (CollUtil.isNotEmpty(notExistList)) { - notDevSns = StrUtil.join(",", notExistList.stream().map(UfaceDev::getDevSn).collect(Collectors.toList())); - asyncHikvision.deletePersonAuth(workerInfo, notDevSns); - } - if (CollUtil.isNotEmpty(existList)) { - devSns = StrUtil.join(",", existList.stream().map(UfaceDev::getDevSn).collect(Collectors.toList())); - asyncHikvision.addPersonAuth(workerInfo, devSns); - } - } else { - //只删除 - List notExistList = ufaceDevMapper.selectList(new LambdaQueryWrapper() - .eq(UfaceDev::getProjectSn, workerInfo.getProjectSn())); - if (CollUtil.isNotEmpty(notExistList)) { - notDevSns = StrUtil.join(",", notExistList.stream().map(UfaceDev::getDevSn).collect(Collectors.toList())); - asyncHikvision.deletePersonAuth(workerInfo, notDevSns); - } + if (NumberUtils.lt(workerInfo.getSafeScore(), 80D)) { + //红码不能通行 + List allList = ufaceDevMapper.selectList(new LambdaQueryWrapper() + .eq(UfaceDev::getProjectSn, workerInfo.getProjectSn())); + if (CollUtil.isNotEmpty(allList)) { + String devSns = StrUtil.join(",", allList.stream().map(UfaceDev::getDevSn).collect(Collectors.toList())); + asyncHikvision.deletePersonAuth(workerInfo, devSns); } - } else if (Objects.equals(workerInfo.getDevType(), 2)) { - //设备分组情况! - String ufaceDevGroupId = workerInfo.getUfaceDevGroupId(); - if (StrUtil.isNotBlank(ufaceDevGroupId)) { - List listForIsc = ufaceDevMapper.getUfaceDevListForIsc(StrUtil.split(ufaceDevGroupId, ","), workerInfo.getProjectSn()); - List notExistList = ufaceDevMapper.getUfaceDevListForIscNotExist(StrUtil.split(ufaceDevGroupId, ","), workerInfo.getProjectSn()); - if (CollUtil.isNotEmpty(notExistList)) { - notDevSns = StrUtil.join(",", notExistList.stream().map(UfaceDev::getDevSn).collect(Collectors.toList())); - asyncHikvision.deletePersonAuth(workerInfo, notDevSns); + } else { + //海康门禁isc + String devSns = ""; + String notDevSns = ""; + if (Objects.equals(workerInfo.getDevType(), 1)) { + devSns = workerInfo.getUfaceDevId(); + if (StrUtil.isNotBlank(devSns)) { + List existList = ufaceDevMapper.selectList(new LambdaQueryWrapper() + .eq(UfaceDev::getProjectSn, workerInfo.getProjectSn()) + .in(UfaceDev::getId, StrUtil.split(devSns, ",")) + ); + List notExistList = ufaceDevMapper.selectList(new LambdaQueryWrapper() + .eq(UfaceDev::getProjectSn, workerInfo.getProjectSn()) + .notIn(UfaceDev::getId, StrUtil.split(devSns, ",")) + ); + if (CollUtil.isNotEmpty(notExistList)) { + notDevSns = StrUtil.join(",", notExistList.stream().map(UfaceDev::getDevSn).collect(Collectors.toList())); + asyncHikvision.deletePersonAuth(workerInfo, notDevSns); + } + if (CollUtil.isNotEmpty(existList)) { + devSns = StrUtil.join(",", existList.stream().map(UfaceDev::getDevSn).collect(Collectors.toList())); + asyncHikvision.addPersonAuth(workerInfo, devSns); + } + } else { + //只删除 + List notExistList = ufaceDevMapper.selectList(new LambdaQueryWrapper() + .eq(UfaceDev::getProjectSn, workerInfo.getProjectSn())); + if (CollUtil.isNotEmpty(notExistList)) { + notDevSns = StrUtil.join(",", notExistList.stream().map(UfaceDev::getDevSn).collect(Collectors.toList())); + asyncHikvision.deletePersonAuth(workerInfo, notDevSns); + } } - if (CollUtil.isNotEmpty(listForIsc)) { - devSns = StrUtil.join(",", listForIsc.stream().map(UfaceDev::getDevSn).collect(Collectors.toList())); - asyncHikvision.addPersonAuth(workerInfo, devSns); - } - } else { - //只删除 - List notExistList = ufaceDevMapper.selectList(new LambdaQueryWrapper() - .eq(UfaceDev::getProjectSn, workerInfo.getProjectSn()) - ); - if (CollUtil.isNotEmpty(notExistList)) { - notDevSns = StrUtil.join(",", notExistList.stream().map(UfaceDev::getDevSn).collect(Collectors.toList())); - asyncHikvision.deletePersonAuth(workerInfo, notDevSns); + } else if (Objects.equals(workerInfo.getDevType(), 2)) { + //设备分组情况! + String ufaceDevGroupId = workerInfo.getUfaceDevGroupId(); + if (StrUtil.isNotBlank(ufaceDevGroupId)) { + List listForIsc = ufaceDevMapper.getUfaceDevListForIsc(StrUtil.split(ufaceDevGroupId, ","), workerInfo.getProjectSn()); + List notExistList = ufaceDevMapper.getUfaceDevListForIscNotExist(StrUtil.split(ufaceDevGroupId, ","), workerInfo.getProjectSn()); + if (CollUtil.isNotEmpty(notExistList)) { + notDevSns = StrUtil.join(",", notExistList.stream().map(UfaceDev::getDevSn).collect(Collectors.toList())); + asyncHikvision.deletePersonAuth(workerInfo, notDevSns); + } + if (CollUtil.isNotEmpty(listForIsc)) { + devSns = StrUtil.join(",", listForIsc.stream().map(UfaceDev::getDevSn).collect(Collectors.toList())); + asyncHikvision.addPersonAuth(workerInfo, devSns); + } + } else { + //只删除 + List notExistList = ufaceDevMapper.selectList(new LambdaQueryWrapper() + .eq(UfaceDev::getProjectSn, workerInfo.getProjectSn()) + ); + if (CollUtil.isNotEmpty(notExistList)) { + notDevSns = StrUtil.join(",", notExistList.stream().map(UfaceDev::getDevSn).collect(Collectors.toList())); + asyncHikvision.deletePersonAuth(workerInfo, notDevSns); + } } } } @@ -475,6 +485,10 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl map = new HashMap<>(); map.put("id", workerInfo.getId()); map.put("deductScore", ds); - workerInfoMapper.updateScore(map); + workerInfoService.updateScoreSendAuth(map); + //存记录 XzDeductScoreRecord vo = new XzDeductScoreRecord(); @@ -518,7 +522,6 @@ public class QualityInspectionRecordServiceImpl extends ServiceImpl map = new HashMap<>(); map.put("id", workerInfo.getId()); map.put("deductScore", ds * -1); - workerInfoMapper.updateScore(map); + workerInfoService.updateScoreSendAuth(map); //不能超过100分 WorkerInfo w1 = workerInfoMapper.selectById(systemUser.getWorkerId()); diff --git a/src/main/java/com/zhgd/xmgl/modules/video/service/impl/AiAnalyseHardWareAlarmRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/video/service/impl/AiAnalyseHardWareAlarmRecordServiceImpl.java index ebc506b1a..2a9f01b13 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/service/impl/AiAnalyseHardWareAlarmRecordServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/video/service/impl/AiAnalyseHardWareAlarmRecordServiceImpl.java @@ -44,6 +44,7 @@ import com.zhgd.xmgl.modules.video.mapper.WorkerInfoToAiAnalyseHardWareAlarmReco import com.zhgd.xmgl.modules.video.service.IAiAnalyseHardWareAlarmRecordService; import com.zhgd.xmgl.modules.worker.entity.WorkerInfo; import com.zhgd.xmgl.modules.worker.mapper.WorkerInfoMapper; +import com.zhgd.xmgl.modules.worker.service.impl.WorkerInfoServiceImpl; import com.zhgd.xmgl.modules.xz.entity.XzAiDeductRule; import com.zhgd.xmgl.modules.xz.entity.XzDeductScoreRecord; import com.zhgd.xmgl.modules.xz.mapper.XzAiDeductRuleMapper; @@ -82,6 +83,8 @@ public class AiAnalyseHardWareAlarmRecordServiceImpl extends ServiceImpl map = new HashMap<>(); map.put("id", id); map.put("deductScore", deductScore); - workerInfoMapper.updateScore(map); + workerInfoService.updateScoreSendAuth(map); + WorkerInfo wi = workerInfoMapper.selectById(id); List dictList = dictionaryItemService.getDictList(DictionaryConstant.AI_ANALYSE_HARD_WARE_ALARM_RECORD_TYPE, record.getProjectSn()); try { diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerInfoService.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerInfoService.java index b79e05eaa..cc5d9f23a 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerInfoService.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerInfoService.java @@ -141,4 +141,11 @@ public interface IWorkerInfoService extends IService { List statsEnterpriseRisk(Map map); WorkerInfo queryById(Map map); + + /** + * 更新安全分数,并重新下发通行权限 + * + * @param map + */ + void updateScoreSendAuth(HashMap map); } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java index 2a289826a..aa2bdd88e 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java @@ -2164,6 +2164,14 @@ public class WorkerInfoServiceImpl extends ServiceImpl map) { + workerInfoMapper.updateScore(map); + String id = MapUtils.getString(map, "id"); + WorkerInfo workerInfo = baseMapper.selectById(id); + projectUfaceConfigService.updateWorkerInfo(workerInfo, workerInfo); + } + /** * 真正递归的方法 * diff --git a/src/main/java/com/zhgd/xmgl/modules/xz.security/service/impl/XzSecurityXzSecurityQualityInspectionRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/xz.security/service/impl/XzSecurityXzSecurityQualityInspectionRecordServiceImpl.java index 9e3fd0f63..1f4d1a099 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz.security/service/impl/XzSecurityXzSecurityQualityInspectionRecordServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz.security/service/impl/XzSecurityXzSecurityQualityInspectionRecordServiceImpl.java @@ -36,6 +36,7 @@ import com.zhgd.xmgl.modules.worker.entity.WorkerInfoAuditRecord; import com.zhgd.xmgl.modules.worker.mapper.EnterpriseInfoMapper; import com.zhgd.xmgl.modules.worker.mapper.WorkerInfoAuditRecordMapper; import com.zhgd.xmgl.modules.worker.mapper.WorkerInfoMapper; +import com.zhgd.xmgl.modules.worker.service.impl.WorkerInfoServiceImpl; import com.zhgd.xmgl.modules.xz.entity.XzDeductScoreRecord; import com.zhgd.xmgl.modules.xz.entity.XzTaskProgressContent; import com.zhgd.xmgl.modules.xz.mapper.XzDeductScoreRecordMapper; @@ -97,6 +98,8 @@ public class XzSecurityXzSecurityQualityInspectionRecordServiceImpl extends Serv @Autowired XzSecurityDangerItemRecordMapper dangerItemRecordMapper; @Autowired + WorkerInfoServiceImpl workerInfoService; + @Autowired private QualityRegionMapper qualityRegionMapper; @Autowired private EnterpriseInfoMapper enterpriseInfoMapper; @@ -353,7 +356,7 @@ public class XzSecurityXzSecurityQualityInspectionRecordServiceImpl extends Serv HashMap map = new HashMap<>(); map.put("id", workerInfo.getId()); map.put("deductScore", ds); - workerInfoMapper.updateScore(map); + workerInfoService.updateScoreSendAuth(map); //存记录 XzDeductScoreRecord vo = new XzDeductScoreRecord(); @@ -840,7 +843,7 @@ public class XzSecurityXzSecurityQualityInspectionRecordServiceImpl extends Serv HashMap map = new HashMap<>(); map.put("id", workerInfo.getId()); map.put("deductScore", ds * -1); - workerInfoMapper.updateScore(map); + workerInfoService.updateScoreSendAuth(map); //不能超过100分 WorkerInfo w1 = workerInfoMapper.selectById(systemUser.getWorkerId()); diff --git a/src/main/java/com/zhgd/xmgl/util/NumberUtils.java b/src/main/java/com/zhgd/xmgl/util/NumberUtils.java index 4357d14bd..600ac5e5b 100644 --- a/src/main/java/com/zhgd/xmgl/util/NumberUtils.java +++ b/src/main/java/com/zhgd/xmgl/util/NumberUtils.java @@ -74,6 +74,15 @@ public class NumberUtils { return b1 != null && b2 != null && b1 <= b2; } + /** + * 小于 + * + * @return + */ + public static boolean lt(Double b1, Double b2) { + return b1 != null && b2 != null && b1 < b2; + } + /** * description: 使用 String.format 格式化数字,实现左侧补 0 *