From bd42473435fe733079c0c990e5959e999ec74b33 Mon Sep 17 00:00:00 2001 From: pengjie <17373303529@163.com> Date: Sun, 2 Jun 2024 12:23:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=89=E5=85=A8=E5=B1=A5=E8=81=8C=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ityQualityInspectionRecordServiceImpl.java | 9 +- .../java/com/zhgd/xmgl/task/WorkerTask.java | 83 ++++++++++++++++--- 2 files changed, 78 insertions(+), 14 deletions(-) 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 24fc6bea6..751300e2d 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 @@ -318,11 +318,12 @@ public class XzSecurityXzSecurityQualityInspectionRecordServiceImpl extends Serv noticeBigScreen("31", record, record.getInspectTime(), StrUtil.format("{}检查到一条{}的{}安全隐患问题,请注意监督整改!", record.getRegionName(), enterpriseInfo.getEnterpriseName(), StrUtil.subAfter(record.getDangerItemContent(), "/", true))); } - Integer count = xzSecurityQualityInspectionRecordMapper.selectCount(Wrappers.lambdaQuery() - .eq(XzSecurityQualityInspectionRecord::getRecordType, 1) - .eq(XzSecurityQualityInspectionRecord::getDangerItemId, record.getDangerItemId())); +// Integer count = xzSecurityQualityInspectionRecordMapper.selectCount(Wrappers.lambdaQuery() +// .eq(XzSecurityQualityInspectionRecord::getRecordType, 1) +// .eq(XzSecurityQualityInspectionRecord::getEnterpriseSn, record.getEnterpriseSn()) +// .eq(XzSecurityQualityInspectionRecord::getDangerItemId, record.getDangerItemId())); //安全履职记录 - xzWorkerSafeWatchConfigService.saveInfo(record.getProjectSn(), 5, count, record.getChangeId().toString(), record.getDangerItemContent()); +// xzWorkerSafeWatchConfigService.saveInfo(record.getProjectSn(), 5, count, record.getChangeId().toString(), record.getDangerItemContent()); } else if (record.getRecordType() == 2) { XzSecurityDangerItemRecord dangerItemRecord = dangerItemRecordMapper.selectById(record.getDangerItemId()); record.setLevel(dangerItemRecord.getLevel()); diff --git a/src/main/java/com/zhgd/xmgl/task/WorkerTask.java b/src/main/java/com/zhgd/xmgl/task/WorkerTask.java index 0043412aa..17a9e7760 100644 --- a/src/main/java/com/zhgd/xmgl/task/WorkerTask.java +++ b/src/main/java/com/zhgd/xmgl/task/WorkerTask.java @@ -43,6 +43,7 @@ import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityInspectTaskRecord; import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityQualityInspectionRecord; import com.zhgd.xmgl.modules.xz.security.mapper.XzSecurityInspectTaskItemRecordMapper; import com.zhgd.xmgl.modules.xz.security.mapper.XzSecurityInspectTaskRecordMapper; +import com.zhgd.xmgl.modules.xz.security.mapper.XzSecurityQualityInspectionRecordMapper; import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityQualityInspectionRecordService; import com.zhgd.xmgl.modules.xz.service.IXzWorkerSafeWatchAlarmService; import com.zhgd.xmgl.modules.xz.service.IXzWorkerSafeWatchConfigService; @@ -106,6 +107,9 @@ public class WorkerTask { @Autowired private IWorkerMonthAttendanceStatisticsService workerMonthAttendanceStatisticsService; + + @Autowired + private XzSecurityQualityInspectionRecordMapper xzSecurityQualityInspectionRecordMapper; @Autowired private IWorkerAttendanceService workerAttendanceService; @@ -327,16 +331,18 @@ public class WorkerTask { XzSecurityInspectTaskRecord xzSecurityInspectTaskRecord = xzSecurityInspectTaskRecords.stream().filter(s -> s.getId().toString().equals(data.getTaskId().toString())).collect(Collectors.toList()).get(0); SystemUser systemUser = systemUserMapper.selectById(xzSecurityInspectTaskRecord.getInspectUser()); WorkerInfo workerInfo = workerInfoMapper.selectById(systemUser.getWorkerId()); - int count = 0; - if (xzSecurityInspectTaskRecord.getType() == 1) { - count = hiddenDangerInspectRecordService.count(Wrappers.lambdaQuery() - .eq(HiddenDangerInspectRecord::getInspectHiddenDangerItemRecordId, data.getId())); - } else { - count = qualityInspectionRecordService.count(Wrappers.lambdaQuery() - .eq(XzSecurityQualityInspectionRecord::getItemId, data.getId())); - } - if (count == 0) { - personSn.add(workerInfo.getPersonSn()); + if(workerInfo != null) { + int count = 0; + if (xzSecurityInspectTaskRecord.getType() == 1) { + count = hiddenDangerInspectRecordService.count(Wrappers.lambdaQuery() + .eq(HiddenDangerInspectRecord::getInspectHiddenDangerItemRecordId, data.getId())); + } else { + count = qualityInspectionRecordService.count(Wrappers.lambdaQuery() + .eq(XzSecurityQualityInspectionRecord::getItemId, data.getId())); + } + if (count == 0) { + personSn.add(workerInfo.getPersonSn()); + } } } } @@ -382,6 +388,63 @@ public class WorkerTask { } } } + if (type.equals("5")) { + List xzSecurityQualityInspectionRecords = xzSecurityQualityInspectionRecordMapper.selectList(Wrappers.lambdaQuery() + .eq(XzSecurityQualityInspectionRecord::getRecordType, 1) + .orderByDesc(XzSecurityQualityInspectionRecord::getCreateTime)); + Set ids = new HashSet<>(); + for (XzSecurityQualityInspectionRecord xzSecurityQualityInspectionRecord : xzSecurityQualityInspectionRecords) { + String id = xzSecurityQualityInspectionRecord.getEnterpriseSn() + "-" + xzSecurityQualityInspectionRecord.getDangerItemId(); + ids.add(id); + } + for (String id : ids) { + String[] split = id.split("-"); + List collect = xzSecurityQualityInspectionRecords.stream().filter(x -> x.getEnterpriseSn().equals(split[0]) && x.getDangerItemId().toString().equals(split[1])).collect(Collectors.toList()); + if (collect.size() >= dayNum) { + XzSecurityQualityInspectionRecord xzSecurityQualityInspectionRecord = collect.get(0); + SystemUser systemUser = systemUserMapper.selectById(xzSecurityQualityInspectionRecord.getChangeId()); + Map requestParam = new HashMap<>(); + requestParam.put("id", systemUser.getWorkerId()); + requestParam.put("inserviceType", 1); + List workerInfoList = workerInfoMapper.selectWorkerInfoList(new Page<>(-1, -1), requestParam); + if (workerInfoList.size() > 0) { + WorkerInfo workerInfo = workerInfoList.get(0); + XzWorkerSafeWatchAlarm xzWorkerSafeWatchAlarm = new XzWorkerSafeWatchAlarm(); + xzWorkerSafeWatchAlarm.setWorkerId(workerInfo.getId()); + xzWorkerSafeWatchAlarm.setWorkerName(workerInfo.getWorkerName()); + String deptName = workerInfo.getDepartmentName() == null ? "" : workerInfo.getDepartmentName(); + String teamName = workerInfo.getTeamName() == null ? "" : workerInfo.getTeamName(); + xzWorkerSafeWatchAlarm.setDeptName(deptName + teamName); + xzWorkerSafeWatchAlarm.setEnterpriseName(workerInfo.getEnterpriseName()); + xzWorkerSafeWatchAlarm.setAlarmTime(new Date()); + xzWorkerSafeWatchAlarm.setType(type.toString()); + xzWorkerSafeWatchAlarm.setProjectSn(xzSecurityQualityInspectionRecord.getProjectSn()); + xzWorkerSafeWatchAlarm.setDayNum(dayNum); + xzWorkerSafeWatchAlarm.setEnterpriseId(workerInfo.getEnterpriseId()); + alarmList.add(xzWorkerSafeWatchAlarm); + + List userIds = Arrays.asList(xzWorkerSafeWatchManagerService.list(Wrappers.lambdaQuery() + .eq(XzWorkerSafeWatchManager::getWatchConfigId, xzWorkerSafeWatchConfig.getId())) + .stream().map(l -> l.getUserId()).collect(Collectors.joining(",")).split(",")); + for (String userId : userIds) { + if (StringUtils.isNotBlank(userId)) { + Notice notice = new Notice(); + notice.setType("35"); + notice.setMsg(StrUtil.format("事件:【{}】已连续被检查到【{}】{}次,请提醒责任人【{}】及时整改并加强对此风险的管控措施", + workerInfo.getEnterpriseName(), xzSecurityQualityInspectionRecord.getDangerItemContent(), + collect.size(), workerInfo.getWorkerName())); + notice.setTitle("人员安全履职预警提醒"); + notice.setIsRead(0); + notice.setAccountId(Long.valueOf(userId)); + notice.setSendTime(DateUtil.formatDateTime(new Date())); + noticeList.add(notice); + } + } + } + } + } + + } if (personSn.size() > 0) { Map requestParam = new HashMap<>(); requestParam.put("personSns", personSn);