diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ISystemUserService.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ISystemUserService.java index a349fe266..77e6acd61 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ISystemUserService.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ISystemUserService.java @@ -344,11 +344,10 @@ public interface ISystemUserService extends IService { /** * 根据用户id获取【用户名称】 - * - * @param changeId + * @param userId * @return */ - String getFrameUserName(Long changeId); + String getFrameUserName(Long userId); /** * 根据用户ids获取【用户名称s】 @@ -373,4 +372,5 @@ public interface ISystemUserService extends IService { * @param workerName */ void updateRealNameFromWorker(Long workerId, String workerName); + } diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/NoticeServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/NoticeServiceImpl.java index 4f870e776..2fa65aa74 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/NoticeServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/NoticeServiceImpl.java @@ -161,12 +161,12 @@ public class NoticeServiceImpl extends ServiceImpl impleme @Override public void addProjectLevelNoticeAndApp(String projectSn, String title, String msg, String type, Object jsonPayload) { -// final SerializeConfig config = new SerializeConfig(); -// config.put(Long.class, ToStringSerializer.instance); -// List systemUsers = systemUserService.getSystemUsersBySn(new MapBuilder().put(Cts.SN, projectSn).put(Cts.QUERY_TYPE, Cts.PROJECT_LEVEL).build()); -// for (SystemUser systemUser : systemUsers) { -// addUserNoticeAndApp(systemUser.getUserId(), title, msg, type, jsonPayload != null ? JSONObject.toJSONString(jsonPayload, config) : null); -// } + final SerializeConfig config = new SerializeConfig(); + config.put(Long.class, ToStringSerializer.instance); + List systemUsers = systemUserService.getSystemUsersBySn(new MapBuilder().put(Cts.SN, projectSn).put(Cts.QUERY_TYPE, Cts.PROJECT_LEVEL).build()); + for (SystemUser systemUser : systemUsers) { + addUserNoticeAndApp(systemUser.getUserId(), title, msg, type, jsonPayload != null ? JSONObject.toJSONString(jsonPayload, config) : null); + } } @Override diff --git a/src/main/java/com/zhgd/xmgl/modules/checking/enums/XzCheckingRouteFrequencyTypeEnum.java b/src/main/java/com/zhgd/xmgl/modules/checking/enums/XzCheckingRouteFrequencyTypeEnum.java index d6a831df5..c1c3cb27f 100644 --- a/src/main/java/com/zhgd/xmgl/modules/checking/enums/XzCheckingRouteFrequencyTypeEnum.java +++ b/src/main/java/com/zhgd/xmgl/modules/checking/enums/XzCheckingRouteFrequencyTypeEnum.java @@ -11,23 +11,23 @@ public enum XzCheckingRouteFrequencyTypeEnum implements BaseEnum { /** * 次 */ - TIME(1, "次"), + TIME(1, "1次"), /** * 日 */ - DAY(2, "日"), + DAY(2, "1次/日"), /** * 周 */ - WEEK(3, "周"), + WEEK(3, "1次/周"), /** * 月 */ - MONTH(4, "月"), + MONTH(4, "1次/月"), /** * 年 */ - YEAR(5, "年"), + YEAR(5, "1次/年"), ; private Integer value; @@ -57,4 +57,13 @@ public enum XzCheckingRouteFrequencyTypeEnum implements BaseEnum { public void setDesc(String desc) { this.desc = desc; } + + public static XzCheckingRouteFrequencyTypeEnum getEnumByCode(Integer value) { + for (XzCheckingRouteFrequencyTypeEnum e : XzCheckingRouteFrequencyTypeEnum.values()) { + if (e.value.equals(value)) { + return e; + } + } + return null; + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/checking/service/impl/CheckingPointAlarmServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/checking/service/impl/CheckingPointAlarmServiceImpl.java index 3af20636a..78a34c70d 100644 --- a/src/main/java/com/zhgd/xmgl/modules/checking/service/impl/CheckingPointAlarmServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/checking/service/impl/CheckingPointAlarmServiceImpl.java @@ -9,6 +9,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.zhgd.xmgl.async.AsyncCheckingPoint; +import com.zhgd.xmgl.modules.basicdata.service.INoticeService; +import com.zhgd.xmgl.modules.basicdata.service.impl.SystemUserServiceImpl; import com.zhgd.xmgl.modules.checking.entity.CheckingPoint; import com.zhgd.xmgl.modules.checking.entity.CheckingPointAlarm; import com.zhgd.xmgl.modules.checking.entity.dto.PointIdCountDTO; @@ -18,6 +20,7 @@ import com.zhgd.xmgl.modules.checking.mapper.CheckingPointAlarmMapper; import com.zhgd.xmgl.modules.checking.mapper.CheckingPointInfoMapper; import com.zhgd.xmgl.modules.checking.service.CheckingPointAlarmService; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -39,15 +42,17 @@ import java.util.stream.Collectors; @Service("checkingPointAlarmService") @Slf4j public class CheckingPointAlarmServiceImpl extends ServiceImpl implements CheckingPointAlarmService { - @Resource - private CheckingPointAlarmMapper checkingPointAlarmMapper; - @Resource CheckingPointInfoMapper checkingPointInfoMapper; - @Resource @Lazy AsyncCheckingPoint asyncCheckingPoint; + @Resource + private CheckingPointAlarmMapper checkingPointAlarmMapper; + @Autowired + private INoticeService noticeService; + @Autowired + private SystemUserServiceImpl systemUserService; @Override public IPage selectPageInfo(Page page, CheckingPointAlarmQO checkingPointAlarmQo) { @@ -73,7 +78,6 @@ public class CheckingPointAlarmServiceImpl extends ServiceImpl selectCheckingPointInfoPage(CheckingPointInfoPageDto dto) { @@ -138,13 +143,18 @@ public class CheckingPointInfoServiceImpl extends ServiceImpl userIds = StrUtil.split(noticeUserIds, ","); + String title = "巡检点记录新增"; + String projectMsg = String.format("新增巡检点记录,巡检点名称为%s,巡检位置为%s,巡检时间为%s,巡检人员为%s,巡检状态为%s,请注意。", + checkingPoint.getCheckingPointName(), checkingPoint.getPosition(), DateUtil.formatDateTime(checkingPoint.getCreateDate()), systemUserService.getUserNamesByUserIds(userIds), getStatus(info.getStatus())); for (String userId : userIds) { SystemUser systemUser = systemUserMapper.selectById(userId); + String msg = String.format("新增巡检点记录,巡检点名称为%s,巡检位置为%s,巡检时间为%s,巡检人员为%s,巡检状态为%s,请注意。", + checkingPoint.getCheckingPointName(), checkingPoint.getPosition(), DateUtil.formatDateTime(checkingPoint.getCreateDate()), systemUser.getRealName(), getStatus(info.getStatus())); noticeService.addUserNotice(Long.valueOf(userId), - "巡检点记录新增", String.format("新增巡检点记录,巡检点名称为%s,巡检位置为%s,巡检时间为%s,巡检人员为%s,巡检状态为%s,请注意。", - checkingPoint.getCheckingPointName(), checkingPoint.getPosition(), DateUtil.formatDateTime(checkingPoint.getCreateDate()), systemUser.getRealName(), getStatus(info.getStatus())), + title, msg, "19"); } + noticeService.addProjectLevelNotice(checkingPoint.getProjectSn(), title, systemUserService.getFrameUserNames(noticeUserIds) + projectMsg, "19", null); } private void checkDuplicateAndPointExist(CheckingPointInfo checkingPointInfo) { @@ -177,13 +187,18 @@ public class CheckingPointInfoServiceImpl extends ServiceImpl userIds = StrUtil.split(checkingPoint.getInspectUserIds(), ","); + String projectMsg = String.format("编辑巡检点记录,巡检点名称为%s,巡检位置为%s,巡检时间为%s,巡检人员为%s,巡检状态为%s,请注意。", + checkingPoint.getCheckingPointName(), checkingPoint.getPosition(), DateUtil.formatDateTime(cpi.getCreateDate()), systemUserService.getUserNamesByUserIds(userIds), getStatus(cpi.getStatus())); + String title = "巡检点记录编辑"; for (String userId : userIds) { SystemUser systemUser = systemUserMapper.selectById(userId); + String msg = String.format("编辑巡检点记录,巡检点名称为%s,巡检位置为%s,巡检时间为%s,巡检人员为%s,巡检状态为%s,请注意。", + checkingPoint.getCheckingPointName(), checkingPoint.getPosition(), DateUtil.formatDateTime(cpi.getCreateDate()), systemUser.getRealName(), getStatus(cpi.getStatus())); noticeService.addUserNotice(Long.valueOf(userId), - "巡检点记录编辑", String.format("编辑巡检点记录,巡检点名称为%s,巡检位置为%s,巡检时间为%s,巡检人员为%s,巡检状态为%s,请注意。", - checkingPoint.getCheckingPointName(), checkingPoint.getPosition(), DateUtil.formatDateTime(cpi.getCreateDate()), systemUser.getRealName(), getStatus(cpi.getStatus())), + title, msg, "19"); } + noticeService.addProjectLevelNotice(checkingPoint.getProjectSn(), title, systemUserService.getFrameUserNames(checkingPoint.getInspectUserIds()) + projectMsg, "19", null); } @Override @@ -195,13 +210,18 @@ public class CheckingPointInfoServiceImpl extends ServiceImpl userIds = StrUtil.split(checkingPoint.getInspectUserIds(), ","); + String projectMsg = String.format("删除巡检点记录,巡检点名称为%s,巡检位置为%s,巡检时间为%s,巡检人员为%s,巡检状态为%s,请注意。", + checkingPoint.getCheckingPointName(), checkingPoint.getPosition(), DateUtil.formatDateTime(cpi.getCreateDate()), systemUserService.getUserNamesByUserIds(userIds), getStatus(cpi.getStatus())); + String title = "巡检点记录删除"; for (String userId : userIds) { SystemUser systemUser = systemUserMapper.selectById(userId); + String msg = String.format("删除巡检点记录,巡检点名称为%s,巡检位置为%s,巡检时间为%s,巡检人员为%s,巡检状态为%s,请注意。", + checkingPoint.getCheckingPointName(), checkingPoint.getPosition(), DateUtil.formatDateTime(cpi.getCreateDate()), systemUser.getRealName(), getStatus(cpi.getStatus())); noticeService.addUserNotice(Long.valueOf(userId), - "巡检点记录删除", String.format("删除巡检点记录,巡检点名称为%s,巡检位置为%s,巡检时间为%s,巡检人员为%s,巡检状态为%s,请注意。", - checkingPoint.getCheckingPointName(), checkingPoint.getPosition(), DateUtil.formatDateTime(cpi.getCreateDate()), systemUser.getRealName(), getStatus(cpi.getStatus())), + title, msg, "19"); } + noticeService.addProjectLevelNotice(checkingPoint.getProjectSn(), title, systemUserService.getFrameUserNames(checkingPoint.getInspectUserIds()) + projectMsg, "19", null); } private String getStatus(Integer status) { diff --git a/src/main/java/com/zhgd/xmgl/modules/checking/service/impl/CheckingPointServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/checking/service/impl/CheckingPointServiceImpl.java index 17263114e..02c96394c 100644 --- a/src/main/java/com/zhgd/xmgl/modules/checking/service/impl/CheckingPointServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/checking/service/impl/CheckingPointServiceImpl.java @@ -17,6 +17,7 @@ import com.zhgd.jeecg.common.execption.OpenAlertException; import com.zhgd.jeecg.common.execption.OpenPromptException; import com.zhgd.xmgl.constant.Cts; import com.zhgd.xmgl.modules.basicdata.service.INoticeService; +import com.zhgd.xmgl.modules.basicdata.service.impl.SystemUserServiceImpl; import com.zhgd.xmgl.modules.checking.entity.CheckingPoint; import com.zhgd.xmgl.modules.checking.entity.CheckingPointInfo; import com.zhgd.xmgl.modules.checking.entity.XzCheckingRouteTask; @@ -63,6 +64,9 @@ public class CheckingPointServiceImpl extends ServiceImpl selectCheckingPointPage(ProjectSnQO projectSnQo) { @@ -122,11 +126,14 @@ public class CheckingPointServiceImpl extends ServiceImpl userIds = getNoticeUserIds(checkingPoint); + String title = "巡检点新增"; + String msg = String.format("新增巡检点,巡检点名称为%s,巡检位置为%s,巡检创建时间为%s,请注意。", checkingPoint.getCheckingPointName(), checkingPoint.getPosition(), DateUtil.formatDateTime(cp.getCreateDate())); for (String userId : userIds) { noticeService.addUserNotice(Long.valueOf(userId), - "巡检点新增", String.format("新增巡检点,巡检点名称为%s,巡检位置为%s,巡检创建时间为%s,请注意。", checkingPoint.getCheckingPointName(), checkingPoint.getPosition(), DateUtil.formatDateTime(cp.getCreateDate())), + title, msg, "19"); } + noticeService.addProjectLevelNotice(checkingPoint.getProjectSn(), title, systemUserService.getFrameUserNames(checkingPoint.getInspectUserIds()) + msg, "19", null); } private List getNoticeUserIds(CheckingPoint checkingPoint) { @@ -152,11 +159,14 @@ public class CheckingPointServiceImpl extends ServiceImpl userIds = getNoticeUserIds(checkingPoint); + String title = "巡检点修改"; + String msg = String.format("修改巡检点,巡检点名称为%s,巡检位置为%s,巡检创建时间为%s,请注意。", checkingPoint.getCheckingPointName(), checkingPoint.getPosition(), DateUtil.formatDateTime(checkingPoint.getCreateDate())); for (String userId : userIds) { noticeService.addUserNotice(Long.valueOf(userId), - "巡检点修改", String.format("修改巡检点,巡检点名称为%s,巡检位置为%s,巡检创建时间为%s,请注意。", checkingPoint.getCheckingPointName(), checkingPoint.getPosition(), DateUtil.formatDateTime(checkingPoint.getCreateDate())), + title, msg, "19"); } + noticeService.addProjectLevelNotice(checkingPoint.getProjectSn(), title, systemUserService.getFrameUserNames(checkingPoint.getInspectUserIds()) + msg, "19", null); } @Override @@ -170,11 +180,14 @@ public class CheckingPointServiceImpl extends ServiceImpl userIds = getNoticeUserIds(checkingPoint); + String title = "巡检点删除"; + String msg = String.format("删除巡检点,巡检点名称为%s,巡检位置为%s,巡检创建时间为%s,请注意。", checkingPoint.getCheckingPointName(), checkingPoint.getPosition(), DateUtil.formatDateTime(checkingPoint.getCreateDate())); for (String userId : userIds) { noticeService.addUserNotice(Long.valueOf(userId), - "巡检点删除", String.format("删除巡检点,巡检点名称为%s,巡检位置为%s,巡检创建时间为%s,请注意。", checkingPoint.getCheckingPointName(), checkingPoint.getPosition(), DateUtil.formatDateTime(checkingPoint.getCreateDate())), + title, msg, "19"); } + noticeService.addProjectLevelNotice(checkingPoint.getProjectSn(), title, systemUserService.getFrameUserNames(checkingPoint.getInspectUserIds()) + msg, "19", null); } @Override diff --git a/src/main/java/com/zhgd/xmgl/modules/checking/service/impl/XzCheckingRouteServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/checking/service/impl/XzCheckingRouteServiceImpl.java index 88f2e985e..948e698b4 100644 --- a/src/main/java/com/zhgd/xmgl/modules/checking/service/impl/XzCheckingRouteServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/checking/service/impl/XzCheckingRouteServiceImpl.java @@ -19,6 +19,15 @@ import com.zhgd.xmgl.modules.checking.mapper.XzCheckingRouteMapper; import com.zhgd.xmgl.modules.checking.mapper.XzCheckingRouteTaskMapper; import com.zhgd.xmgl.modules.checking.mapper.XzCheckingRouteToPointMapper; import com.zhgd.xmgl.modules.checking.service.CheckingPointInfoService; +import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService; +import com.zhgd.xmgl.modules.basicdata.service.impl.NoticeServiceImpl; +import com.zhgd.xmgl.modules.checking.entity.XzCheckingRoute; +import com.zhgd.xmgl.modules.checking.entity.XzCheckingRouteTask; +import com.zhgd.xmgl.modules.checking.entity.XzCheckingRouteToPoint; +import com.zhgd.xmgl.modules.checking.enums.XzCheckingRouteFrequencyTypeEnum; +import com.zhgd.xmgl.modules.checking.mapper.XzCheckingRouteMapper; +import com.zhgd.xmgl.modules.checking.mapper.XzCheckingRouteTaskMapper; +import com.zhgd.xmgl.modules.checking.mapper.XzCheckingRouteToPointMapper; import com.zhgd.xmgl.modules.checking.service.IXzCheckingRouteService; import com.zhgd.xmgl.modules.checking.service.IXzCheckingRouteTaskService; import com.zhgd.xmgl.modules.checking.service.IXzCheckingRouteToPointService; @@ -61,6 +70,12 @@ public class XzCheckingRouteServiceImpl extends ServiceImpl queryPageList(HashMap paramMap) { @@ -97,11 +112,22 @@ public class XzCheckingRouteServiceImpl extends ServiceImpl userIds = StrUtil.split(noticeUserIds, ","); + String title = "巡检路线新增"; + String msg = StrUtil.format("新增巡检路线,路线名称为{},计划检查时间{},检查频次{},请注意。", route.getRouteName(), DateUtil.formatDateTime(route.getStartTime()), XzCheckingRouteFrequencyTypeEnum.getEnumByCode(route.getFrequencyType()).getDesc()); + for (String userId : userIds) { + noticeService.addUserNotice(Long.valueOf(userId), + title, msg, + "19"); + } + noticeService.addProjectLevelNotice(route.getProjectSn(), title, systemUserService.getFrameUserNames(noticeUserIds) + msg, "19", null); } private void saveTask(XzCheckingRoute xzCheckingRoute) { diff --git a/src/main/java/com/zhgd/xmgl/modules/quality/service/impl/QualityInspectionRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/quality/service/impl/QualityInspectionRecordServiceImpl.java index 5510d9dd7..296ff7dbc 100644 --- a/src/main/java/com/zhgd/xmgl/modules/quality/service/impl/QualityInspectionRecordServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/quality/service/impl/QualityInspectionRecordServiceImpl.java @@ -292,7 +292,7 @@ public class QualityInspectionRecordServiceImpl extends ServiceImpl selectWorkerInfoAuditList(Map map) { @@ -155,6 +163,10 @@ public class WorkerInfoAuditRecordServiceImpl extends ServiceImpl x.getUserId()).collect(Collectors.toList())); collect.add(Long.valueOf(paramMap.getString("startUser"))); WorkerInfoAuditRecord wia = workerInfoAuditRecordService.getById(split[0]); + String title = "人员审批数据同步失败"; + String msg = StrUtil.format("人员同步异常,原因:{},姓名:{},身份证号:{}", split[1], wia.getWorkerName(), wia.getIdCard()); for (Long userId : collect) { - noticeService.addUserNotice(userId, "人员审批数据同步失败", StrUtil.format("人员同步异常,原因:{},姓名:{},身份证号:{}", split[1], wia.getWorkerName(), wia.getIdCard()), "1"); + noticeService.addUserNotice(userId, title, msg, "1"); } + noticeService.addProjectLevelNotice(paramMap.getString("projectSn"), title, msg, "1", null); } } } diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/emergency/service/impl/XzEmergencyRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/xz/emergency/service/impl/XzEmergencyRecordServiceImpl.java index 515b87847..7a8f80535 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/emergency/service/impl/XzEmergencyRecordServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/emergency/service/impl/XzEmergencyRecordServiceImpl.java @@ -219,15 +219,22 @@ public class XzEmergencyRecordServiceImpl extends ServiceImpl noticeList = new ArrayList<>(); for (String userId : userIds) { if (StringUtils.isNotBlank(userId)) { - Notice notice = new Notice(); - notice.setType("35"); -// 事件:xxx【企业名称】已连续被检查到xxx【隐患的描述】x次,请提醒责任人xxx【责任人姓名】及时整改并加强对此风险的管控措施。 - notice.setMsg(StrUtil.format("事件:【{}】已连续被检查到【{}】{}次,请提醒责任人【{}】及时整改并加强对此风险的管控措施", - workerInfo.getEnterpriseName(), desc, num, workerInfo.getWorkerName())); - notice.setTitle("人员安全履职预警提醒"); - notice.setIsRead(0); - notice.setAccountId(Long.valueOf(userId)); - notice.setSendTime(DateUtil.formatDateTime(new Date())); + Notice notice = getNotice(StrUtil.format("事件:【{}】已连续被检查到【{}】{}次,请提醒责任人【{}】及时整改并加强对此风险的管控措施", + workerInfo.getEnterpriseName(), desc, num, workerInfo.getWorkerName()), Long.valueOf(userId)); + noticeList.add(notice); + } + } + if (CollUtil.isNotEmpty(userIds)) { + List systemUsers = systemUserService.list(Wrappers.lambdaQuery() + .in(SystemUser::getUserId, userIds)); + String names = StrUtil.join(",", systemUsers.stream().map(SystemUser::getRealName).collect(Collectors.toList())); + List noticeUsers = systemUserService.getSystemUsersBySn(new MapBuilder().put(Cts.SN, projectSn).put(Cts.QUERY_TYPE, Cts.PROJECT_LEVEL).build()); + for (SystemUser user : noticeUsers) { + Notice notice = getNotice(StrUtil.format("【{}】事件:【{}】已连续被检查到【{}】{}次,请提醒责任人【{}】及时整改并加强对此风险的管控措施", + names, workerInfo.getEnterpriseName(), desc, num, workerInfo.getWorkerName()), user.getUserId()); noticeList.add(notice); } } @@ -105,4 +110,17 @@ public class XzWorkerSafeWatchConfigServiceImpl extends ServiceImpl projects = projectMapper.selectList(Wrappers.lambdaQuery().eq(Project::getStatus, 2)); for (Project project : projects) { if (project.getEnableWorkerSafeWatch() != null && project.getEnableWorkerSafeWatch() == 1) { + List projectLevelUsers = systemUserService.getSystemUsersBySn(new MapBuilder().put(Cts.SN, project.getProjectSn()).put(Cts.QUERY_TYPE, Cts.PROJECT_LEVEL).build()); List list = xzWorkerSafeWatchConfigService.list(Wrappers.lambdaQuery() .eq(XzWorkerSafeWatchConfig::getProjectSn, project.getProjectSn())); - workerSafeWatchAlarmForHidden(list, project); + //安全履职预警增加规则 + this.workerSafeWatchAlarmForHidden(list, project, projectLevelUsers); if (StringUtils.isNotBlank(project.getWorkerSafeWatchTime()) && DateUtil.format(new Date(), "HH:mm").equals( DateUtil.format(DateUtil.parseTime(project.getWorkerSafeWatchTime()), "HH:mm"))) { @@ -470,15 +474,28 @@ public class WorkerTask { List userIds = Arrays.asList(xzWorkerSafeWatchManagerService.list(Wrappers.lambdaQuery() .eq(XzWorkerSafeWatchManager::getWatchConfigId, id)) .stream().map(l -> l.getUserId()).collect(Collectors.joining(",")).split(",")); + userIds = userIds.stream().filter(s -> StringUtils.isNotBlank(s)).collect(Collectors.toList()); + String msg = StrUtil.format("事件:{},人员名称:{},身份证号:{}", + typeName[Integer.parseInt(type) - 1] + dayNum + "天未履职", workerInfo.getWorkerName(), workerInfo.getIdCard()); for (String userId : userIds) { - if (StringUtils.isNotBlank(userId)) { + Notice notice = new Notice(); + notice.setType("35"); + notice.setMsg(msg); + notice.setTitle("人员安全履职预警提醒"); + notice.setIsRead(0); + notice.setAccountId(Long.valueOf(userId)); + notice.setSendTime(DateUtil.formatDateTime(new Date())); + noticeList.add(notice); + } + if (CollUtil.isNotEmpty(userIds)) { + String frameUserNames = systemUserService.getFrameUserNames(StrUtil.join(",", userIds))+ msg; + for (SystemUser user : projectLevelUsers) { Notice notice = new Notice(); notice.setType("35"); - notice.setMsg(StrUtil.format("事件:{},人员名称:{},身份证号:{}", - typeName[Integer.parseInt(type) - 1] + dayNum + "天未履职", workerInfo.getWorkerName(), workerInfo.getIdCard())); + notice.setMsg(frameUserNames); notice.setTitle("人员安全履职预警提醒"); notice.setIsRead(0); - notice.setAccountId(Long.valueOf(userId)); + notice.setAccountId(user.getUserId()); notice.setSendTime(DateUtil.formatDateTime(new Date())); noticeList.add(notice); } @@ -494,7 +511,7 @@ public class WorkerTask { } - private void workerSafeWatchAlarmForHidden(List list, Project project) { + private void workerSafeWatchAlarmForHidden(List list, Project project, List projectLevelUsers) { //(定制)安全履职预警增加规则,一、二、三、四级安全隐患预警规则,分级对未整改、未复查、未核验超过多少时间进行循环通知。 List alarmList = new ArrayList<>(); List noticeList = new ArrayList<>(); @@ -528,16 +545,27 @@ public class WorkerTask { HashSet noticeUserIds = configIdToNoticeUserIdsMap.get(config.getId()); String now = DateUtil.now(); if (CollUtil.isNotEmpty(noticeUserIds)) { + String msg = StrUtil.format("有一条{}{}安全隐患预警,设置的预警时间是{}分钟,现在已超时{}分钟", getLevelName(level), getStatusName(status), minute, safeWatchAlarmExceedMinute); for (String userId : noticeUserIds) { //报警 Notice notice = new Notice(); notice.setType("35"); - notice.setMsg(StrUtil.format("有一条{}{}安全隐患预警,设置的预警时间是{}分钟,现在已超时{}分钟", getLevelName(level), getStatusName(status), minute, safeWatchAlarmExceedMinute)); + notice.setMsg(msg); notice.setAccountId(Long.valueOf(userId)); notice.setTitle("安全隐患预警"); notice.setSendTime(now); noticeList.add(notice); } + String frameUserNames = systemUserService.getFrameUserNames(StrUtil.join(",", noticeUserIds))+ msg; + for (SystemUser user : projectLevelUsers) { + Notice notice = new Notice(); + notice.setType("35"); + notice.setMsg(frameUserNames); + notice.setTitle("安全隐患预警"); + notice.setAccountId(user.getUserId()); + notice.setSendTime(now); + noticeList.add(notice); + } } XzWorkerSafeWatchAlarm alarm = new XzWorkerSafeWatchAlarm();