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 f55020eb3..ebc506b1a 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 @@ -46,6 +46,7 @@ import com.zhgd.xmgl.modules.worker.entity.WorkerInfo; import com.zhgd.xmgl.modules.worker.mapper.WorkerInfoMapper; import com.zhgd.xmgl.modules.xz.entity.XzAiDeductRule; import com.zhgd.xmgl.modules.xz.entity.XzDeductScoreRecord; +import com.zhgd.xmgl.modules.xz.mapper.XzAiDeductRuleMapper; import com.zhgd.xmgl.modules.xz.mapper.XzDeductScoreRecordMapper; import com.zhgd.xmgl.modules.xz.service.impl.XzAiDeductRuleServiceImpl; import com.zhgd.xmgl.security.entity.UserInfo; @@ -54,7 +55,6 @@ import com.zhgd.xmgl.util.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.MapUtils; import org.apache.commons.lang3.StringUtils; -import org.jetbrains.annotations.Nullable; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -75,6 +75,8 @@ import java.util.stream.Collectors; @Service @Slf4j public class AiAnalyseHardWareAlarmRecordServiceImpl extends ServiceImpl implements IAiAnalyseHardWareAlarmRecordService { + @Autowired + XzAiDeductRuleMapper xzAiDeductRuleMapper; @Autowired AiAnalyseHardWareRecordServiceImpl aiAnalyseHardWareRecordService; @Autowired @@ -460,8 +462,8 @@ public class AiAnalyseHardWareAlarmRecordServiceImpl extends ServiceImpl workerInfoList = taskProgressMaterialRel.getWorkerInfoList(); + private void deductScoreIf(AiAnalyseHardWareAlarmRecord alarmRecord, AiAnalyseHardWareAlarmRecord record) { + List workerInfoList = alarmRecord.getWorkerInfoList(); if (CollUtil.isNotEmpty(workerInfoList)) { for (WorkerInfo workerInfo : workerInfoList) { WorkerInfoToAiAnalyseHardWareAlarmRecord entity = new WorkerInfoToAiAnalyseHardWareAlarmRecord(); @@ -471,16 +473,28 @@ public class AiAnalyseHardWareAlarmRecordServiceImpl extends ServiceImpl() .eq(WorkerInfoToAiAnalyseHardWareAlarmRecord::getWorkerInfoId, id) - .eq(WorkerInfoToAiAnalyseHardWareAlarmRecord::getAiAnalyseHardWareAlarmRecordId, taskProgressMaterialRel.getId()) + .eq(WorkerInfoToAiAnalyseHardWareAlarmRecord::getAiAnalyseHardWareAlarmRecordId, alarmRecord.getId()) ); if (c != 0) { return; } entity.setWorkerInfoId(id); - entity.setAiAnalyseHardWareAlarmRecordId(taskProgressMaterialRel.getId()); + entity.setAiAnalyseHardWareAlarmRecordId(alarmRecord.getId()); workerInfoToAiAnalyseHardWareAlarmRecordMapper.insert(entity); + String projectSn = alarmRecord.getProjectSn(); + DictionaryItem dict = dictionaryItemService.getDict(DictionaryConstant.AI_ANALYSE_HARD_WARE_ALARM_RECORD_TYPE, alarmRecord.getAlarmType() + "", projectSn); + if (dict == null) { + return; + } + XzAiDeductRule rule = xzAiDeductRuleMapper.selectOne(new LambdaQueryWrapper() + .eq(XzAiDeductRule::getProjectSn, projectSn) + .eq(XzAiDeductRule::getDictionaryItemId, dict.getId()) + ); + if (rule == null) { + return; + } //扣分 - Double deductScore = taskProgressMaterialRel.getDeductScore(); + Double deductScore = rule.getDeductScore(); if (deductScore == null || deductScore == 0) { return; } @@ -504,12 +518,12 @@ public class AiAnalyseHardWareAlarmRecordServiceImpl extends ServiceImpl noticeUserIds = aiAnalyseHardWareRecordService.getUserIdsByAiAnalyseHardId(taskProgressMaterialRel.getHardwareId()); + List noticeUserIds = aiAnalyseHardWareRecordService.getUserIdsByAiAnalyseHardId(alarmRecord.getHardwareId()); for (String noticeUserId : noticeUserIds) { noticeService.addUserNotice(Long.valueOf(noticeUserId), vo.getDeductReason(), "Al违章扣分通知", "8"); } @@ -616,7 +630,7 @@ public class AiAnalyseHardWareAlarmRecordServiceImpl extends ServiceImpl