|
@@ -131,61 +131,84 @@ public class SaveCheckItemServiceImpl implements SaveCheckItemService {
|
|
|
log.debug("检查结果为正常或无发现项,无需生成检查任务");
|
|
|
}
|
|
|
// 获取所有部门ID
|
|
|
- List<String> deptIdList = aspCheckDiscoveryItemDos.stream().map(AspCheckDiscoveryItemDo::getDeptid).filter(StringUtils::isNotBlank).distinct().collect(Collectors.toList());
|
|
|
+// List<String> deptIdList = aspCheckDiscoveryItemDos.stream().map(AspCheckDiscoveryItemDo::getDeptid).filter(StringUtils::isNotBlank).distinct().collect(Collectors.toList());
|
|
|
// 获取安全管理员
|
|
|
SysUserDo safetyManager = saveCheckCommonDao.getSafetyManager();
|
|
|
// 获取车间安全促进员
|
|
|
- List<UserMailOrgVo> safetyPromoter = saveCheckCommonDao.getSafetyPromoter(deptIdList);
|
|
|
+// List<UserMailOrgVo> safetyPromoter = saveCheckCommonDao.getSafetyPromoter(deptIdList);
|
|
|
// 获取安全管理员
|
|
|
List<HiddenDangerTrackDo> addList = new ArrayList<>();
|
|
|
aspCheckDiscoveryItemDos.forEach(info -> {
|
|
|
HiddenDangerTrackDo hiddenDangerTrack = new HiddenDangerTrackDo();
|
|
|
hiddenDangerTrack.setId(SecurityUtil.getUUID());
|
|
|
- hiddenDangerTrack.setThemecheckid(checkItemDo.getThemecheckid());
|
|
|
- hiddenDangerTrack.setThemecheckname(checkItemDo.getThemecheckname());
|
|
|
- //隐患来源 检查录入
|
|
|
+ //风险分析对象编码
|
|
|
+ hiddenDangerTrack.setRiskanalysisobjectcode(info.getRiskunitcode());
|
|
|
+ //隐患等级hazardlevel
|
|
|
+ hiddenDangerTrack.setHazardlevel(info.getGrade());
|
|
|
+ //隐患来源
|
|
|
hiddenDangerTrack.setDangersource(MlConstants.DANGER_SOURCE_THEMECHECK);
|
|
|
- hiddenDangerTrack.setRelationid(checkItemDo.getId());
|
|
|
- hiddenDangerTrack.setFinduser(info.getFinduser());
|
|
|
- hiddenDangerTrack.setFindusername(info.getFindusername());
|
|
|
- hiddenDangerTrack.setFindtime(checkItemDo.getCreatedate());
|
|
|
- hiddenDangerTrack.setActualchecktime(checkItemDo.getActualchecktime());
|
|
|
- hiddenDangerTrack.setStatus(MlConstants.HIDDEN_DANGER_STATUS_NOTCLOSE);
|
|
|
- hiddenDangerTrack.setTenantid(checkItemDo.getTenantid());
|
|
|
+ //治理类型
|
|
|
+ hiddenDangerTrack.setGovernancetype(info.getGovernancetype());
|
|
|
+ //隐患类别
|
|
|
+ hiddenDangerTrack.setHiddendangerleibie(info.getClassification());
|
|
|
+ //隐患类型
|
|
|
+ hiddenDangerTrack.setHiddendangertype(info.getType());
|
|
|
+ //隐患状态 默认整改中
|
|
|
+ hiddenDangerTrack.setHazardstate("0");
|
|
|
+ //隐患名称
|
|
|
+ hiddenDangerTrack.setHazardname(info.getName());
|
|
|
+ //隐患描述
|
|
|
+ if (StringUtils.isNotBlank(info.getHazarddescription())) {
|
|
|
+ hiddenDangerTrack.setHazarddescription(info.getHazarddescription());
|
|
|
+ }
|
|
|
+ //整改责任人
|
|
|
+ hiddenDangerTrack.setResponsiblepersonforrectification(info.getTrackuser());
|
|
|
+ //责任人 id
|
|
|
+ hiddenDangerTrack.setTrackuserid(info.getTrackuserid());
|
|
|
+ //检查任务id
|
|
|
+ hiddenDangerTrack.setCheckid(info.getId());
|
|
|
+ //创建人
|
|
|
+ hiddenDangerTrack.setCreateusername(info.getModifyusername());
|
|
|
+ hiddenDangerTrack.setCreateuserid(info.getModifyuserid());
|
|
|
+ hiddenDangerTrack.setModifyusername(info.getModifyusername());
|
|
|
+ hiddenDangerTrack.setModifyuserid(info.getModifyuserid());
|
|
|
+ hiddenDangerTrack.setModifydate(new Date());
|
|
|
+ //创建时间当前时间
|
|
|
+ hiddenDangerTrack.setCreatedate(new Date());
|
|
|
|
|
|
- // 点检编号
|
|
|
+//
|
|
|
+// hiddenDangerTrack.setThemecheckid(checkItemDo.getThemecheckid());
|
|
|
+// hiddenDangerTrack.setThemecheckname(checkItemDo.getThemecheckname());
|
|
|
+// hiddenDangerTrack.setRelationid(checkItemDo.getId());
|
|
|
+//
|
|
|
+// hiddenDangerTrack.setFindtime(checkItemDo.getCreatedate());
|
|
|
+// hiddenDangerTrack.setActualchecktime(checkItemDo.getActualchecktime());
|
|
|
+// hiddenDangerTrack.setStatus(MlConstants.HIDDEN_DANGER_STATUS_NOTCLOSE);
|
|
|
+// hiddenDangerTrack.setTenantid(checkItemDo.getTenantid());
|
|
|
|
|
|
- String pointcheckcode = streamCodeGeneration("asp_hidden_danger_track_code_aq",
|
|
|
- "@{date:yyyyMMdd}@{serialNumber:#000000}", "date:yyyy", themeCheck.getTenantid());
|
|
|
+// String pointcheckcode = streamCodeGeneration("asp_hidden_danger_track_code_aq",
|
|
|
+// "@{date:yyyyMMdd}@{serialNumber:#000000}", "date:yyyy", themeCheck.getTenantid());
|
|
|
|
|
|
- hiddenDangerTrack.setCode(pointcheckcode);
|
|
|
+// hiddenDangerTrack.setCode(pointcheckcode);
|
|
|
|
|
|
- hiddenDangerTrack.setHiddendangertype(info.getType());
|
|
|
- hiddenDangerTrack.setHiddendangerclassify(info.getClassification());
|
|
|
- hiddenDangerTrack.setTrackuserid(info.getTrackuserid());
|
|
|
- hiddenDangerTrack.setTrackusername(info.getTrackuser());
|
|
|
- hiddenDangerTrack.setRectificationdate(info.getDeadline());
|
|
|
- hiddenDangerTrack.setHiddendangercontent(info.getContent());
|
|
|
- hiddenDangerTrack.setCheckphoto(checkItemDo.getCheckphoto());
|
|
|
- hiddenDangerTrack.setStatus(MlConstants.HIDDEN_DANGER_STATUS_NOTCLOSE);
|
|
|
- hiddenDangerTrack.setDiscoveryitemid(info.getId());
|
|
|
- hiddenDangerTrack.setCreatedate(new Date());
|
|
|
- hiddenDangerTrack.setCreateusername("日常检查自动生成");
|
|
|
- hiddenDangerTrack.setModifyusername("日常检查自动生成");
|
|
|
- hiddenDangerTrack.setModifydate(new Date());
|
|
|
- hiddenDangerTrack.setWorkshop(emptyStrReplace(info.getDept()));
|
|
|
- hiddenDangerTrack.setWorkshopid(emptyStrReplace(info.getDeptid()));
|
|
|
- hiddenDangerTrack.setDangerworkpark(emptyStrReplace(info.getSectionid()));
|
|
|
- hiddenDangerTrack.setDangerworkparkname(emptyStrReplace(info.getSection()));
|
|
|
- hiddenDangerTrack.setRectificationfund(info.getRectificationfund());
|
|
|
- hiddenDangerTrack.setMeasure(info.getMeasure());
|
|
|
- UserMailOrgVo userMailOrgVo = safetyPromoter.stream().filter(data -> data.getOrgId().equals(info.getDeptid())).findFirst().orElse(null);
|
|
|
- // 车间促进员
|
|
|
- hiddenDangerTrack.setShopfacilitator(userMailOrgVo == null ? "" : userMailOrgVo.getName());
|
|
|
- hiddenDangerTrack.setShopfacilitatorid(userMailOrgVo == null ? "" : userMailOrgVo.getId());
|
|
|
+// hiddenDangerTrack.setHiddendangertype(info.getType());
|
|
|
+// hiddenDangerTrack.setTrackuserid(info.getTrackuserid());
|
|
|
+// hiddenDangerTrack.setTrackusername(info.getTrackuser());
|
|
|
+// hiddenDangerTrack.setRectificationdate(info.getDeadline());
|
|
|
+// hiddenDangerTrack.setHiddendangercontent(info.getHazarddescription());
|
|
|
+// hiddenDangerTrack.setCheckphoto(checkItemDo.getCheckphoto());
|
|
|
+// hiddenDangerTrack.setStatus(MlConstants.HIDDEN_DANGER_STATUS_NOTCLOSE);
|
|
|
+// hiddenDangerTrack.setDiscoveryitemid(info.getId());
|
|
|
+// hiddenDangerTrack.setCreatedate(new Date());
|
|
|
+// hiddenDangerTrack.setCreateusername("日常检查自动生成");
|
|
|
+// hiddenDangerTrack.setModifyusername("日常检查自动生成");
|
|
|
+// hiddenDangerTrack.setModifydate(new Date());
|
|
|
+//
|
|
|
+// hiddenDangerTrack.setRectificationfund(info.getRectificationfund());
|
|
|
+// hiddenDangerTrack.setMeasure(info.getMeasure());
|
|
|
// 安全管理员
|
|
|
- hiddenDangerTrack.setSafetypromoter(safetyManager == null ? "" : safetyManager.getName());
|
|
|
- hiddenDangerTrack.setSafetypromoterid(safetyManager == null ? "" : safetyManager.getId());
|
|
|
+// hiddenDangerTrack.setSafetypromoter(safetyManager == null ? "" : safetyManager.getName());
|
|
|
+// hiddenDangerTrack.setSafetypromoterid(safetyManager == null ? "" : safetyManager.getId());
|
|
|
addList.add(hiddenDangerTrack);
|
|
|
});
|
|
|
hiddenDangerTrackService.saveBatch(addList);
|
|
@@ -200,83 +223,83 @@ public class SaveCheckItemServiceImpl implements SaveCheckItemService {
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
|
- @Async
|
|
|
- public void sendDiscoveryMail(ThemeCheckItemDo checkItemDo, ThemeCheckDo themeCheck,
|
|
|
- List<AspCheckDiscoveryItemDo> aspCheckDiscoveryItemDos) {
|
|
|
- log.info("开始执行异步邮件发送方法");
|
|
|
- if (aspCheckDiscoveryItemDos.isEmpty()) {
|
|
|
- return;
|
|
|
- }
|
|
|
- // 获取拥有领导角色的员工
|
|
|
- // 获取安全管理员
|
|
|
- List<UserMailOrgVo> leaderUserMialList = saveCheckCommonDao.getUserInfoByDeptCode("code-leader");
|
|
|
- // 获取邮件发送人
|
|
|
- List<String> mailsenduserids = StringUtils.isBlank(checkItemDo.getMailsenduserids()) ? new ArrayList<String>()
|
|
|
- : Arrays.asList(checkItemDo.getMailsenduserids().split(","));
|
|
|
- // 邮件发送人信息
|
|
|
- List<SysUserDo> mailSender = mailsenduserids.isEmpty() ? new ArrayList<SysUserDo>() :
|
|
|
- sysUserService.list(new LambdaQueryWrapper<SysUserDo>().in(SysUserDo::getId, mailsenduserids));
|
|
|
- // 获取检查项中对应部门的部门经理
|
|
|
- List<String> deptIds = aspCheckDiscoveryItemDos.stream()
|
|
|
- .map(AspCheckDiscoveryItemDo::getDeptid)
|
|
|
- .filter(StringUtils::isNotBlank)
|
|
|
- .distinct()
|
|
|
- .collect(Collectors.toList());
|
|
|
- // 部门经理以及邮箱信息
|
|
|
- List<UserMailOrgVo> deptUserList = saveCheckCommonDao.getUserInfoByOrgIdAndRoleCode(deptIds, DEPT_MANAGE_CODE);
|
|
|
- // 获取所有的工段主管
|
|
|
- List<String> sectionIds = aspCheckDiscoveryItemDos.stream()
|
|
|
- .map(AspCheckDiscoveryItemDo::getSectionid)
|
|
|
- .filter(StringUtils::isNotBlank)
|
|
|
- .distinct()
|
|
|
- .collect(Collectors.toList());
|
|
|
- List<UserMailOrgVo> sectionUserList = saveCheckCommonDao.getUserInfoByOrgIdAndRoleCode(sectionIds, SECTION_SUPERVISOR_CODE);
|
|
|
- // 获取所有的指派跟踪人
|
|
|
- List<String> trackUserIds = aspCheckDiscoveryItemDos.stream()
|
|
|
- .map(AspCheckDiscoveryItemDo::getTrackuserid)
|
|
|
- .filter(StringUtils::isNotBlank)
|
|
|
- .distinct()
|
|
|
- .collect(Collectors.toList());
|
|
|
- List<SysUserDo> trackUserInfo = sysUserService.list(new LambdaQueryWrapper<SysUserDo>().in(SysUserDo::getId, trackUserIds));
|
|
|
- // 邮件发送人 整改所有发现项发出
|
|
|
- List<UserMailOrgVo> senderMailUser = mailSender.stream().map(info -> {
|
|
|
- UserMailOrgVo userMailOrgVo = new UserMailOrgVo();
|
|
|
- userMailOrgVo.setId(info.getId());
|
|
|
- userMailOrgVo.setEmail(info.getEmail());
|
|
|
- return userMailOrgVo;
|
|
|
- }).collect(Collectors.toList());
|
|
|
- // 部门经理 需要将已在邮件发送人中存在的部门经理踢出
|
|
|
- deptUserList = userMailDistinct(senderMailUser, deptUserList);
|
|
|
- // 工段主管的邮箱 需要排除部门经理和邮件发送人
|
|
|
- List<UserMailOrgVo> sectionUserMail = userMailDistinct(Stream.of(deptUserList, senderMailUser)
|
|
|
- .flatMap(Collection::stream)
|
|
|
- .collect(Collectors.toList()), sectionUserList);
|
|
|
- // 指派跟踪人邮箱 需要排除部门经理和邮件发送人和工段主管
|
|
|
- List<UserMailOrgVo> trackUserMail = userDistinct(Stream.of(senderMailUser, deptUserList, sectionUserMail)
|
|
|
- .flatMap(Collection::stream)
|
|
|
- .collect(Collectors.toList()), trackUserInfo);
|
|
|
- /*******************邮件相关信息**************************************/
|
|
|
- String mailSubject = THEMECHECK_TYPE_SPECIALCHECK.equals(themeCheck.getChecktype()) ? SPECIALCHECK_MAIL_SUBJECT : TYPE_DAYCHECK_MAIL_SUBJECT;
|
|
|
- String checkSubject = checkItemDo.getThemecheckname();
|
|
|
- String groupLeaderName = checkItemDo.getGroupleadername();
|
|
|
- String groupUserNames = checkItemDo.getGroupusernames();
|
|
|
- Date startTime = checkItemDo.getPlanstarttime();
|
|
|
- Date endTime = checkItemDo.getPlanendtime();
|
|
|
- String inspectionStation = checkItemDo.getChargeorgname();
|
|
|
- List<SysDictDo> sysDictDos = sysDictService.getDictsByType(HIDDEN_DANGER_CLASSIFY);
|
|
|
- /********************开始发送对应的邮件信息*****************************/
|
|
|
- log.info("开始发送检查结构邮件,邮件发送人:{},部门经理:{},工段主管:{},指派跟踪人:{}", senderMailUser, deptUserList, sectionUserMail, trackUserMail);
|
|
|
- sendDiscoveryItemMail(leaderUserMialList, aspCheckDiscoveryItemDos, 0
|
|
|
- , sysDictDos, mailSubject, checkSubject, groupLeaderName, groupUserNames, startTime, endTime, inspectionStation);
|
|
|
- sendDiscoveryItemMail(senderMailUser, aspCheckDiscoveryItemDos, 0
|
|
|
- , sysDictDos, mailSubject, checkSubject, groupLeaderName, groupUserNames, startTime, endTime, inspectionStation);
|
|
|
- sendDiscoveryItemMail(deptUserList, aspCheckDiscoveryItemDos, 1
|
|
|
- , sysDictDos, mailSubject, checkSubject, groupLeaderName, groupUserNames, startTime, endTime, inspectionStation);
|
|
|
- sendDiscoveryItemMail(sectionUserMail, aspCheckDiscoveryItemDos, 2
|
|
|
- , sysDictDos, mailSubject, checkSubject, groupLeaderName, groupUserNames, startTime, endTime, inspectionStation);
|
|
|
- sendDiscoveryItemMail(trackUserMail, aspCheckDiscoveryItemDos, 3
|
|
|
- , sysDictDos, mailSubject, checkSubject, groupLeaderName, groupUserNames, startTime, endTime, inspectionStation);
|
|
|
- }
|
|
|
+// @Async
|
|
|
+// public void sendDiscoveryMail(ThemeCheckItemDo checkItemDo, ThemeCheckDo themeCheck,
|
|
|
+// List<AspCheckDiscoveryItemDo> aspCheckDiscoveryItemDos) {
|
|
|
+// log.info("开始执行异步邮件发送方法");
|
|
|
+// if (aspCheckDiscoveryItemDos.isEmpty()) {
|
|
|
+// return;
|
|
|
+// }
|
|
|
+// // 获取拥有领导角色的员工
|
|
|
+// // 获取安全管理员
|
|
|
+// List<UserMailOrgVo> leaderUserMialList = saveCheckCommonDao.getUserInfoByDeptCode("code-leader");
|
|
|
+// // 获取邮件发送人
|
|
|
+// List<String> mailsenduserids = StringUtils.isBlank(checkItemDo.getMailsenduserids()) ? new ArrayList<String>()
|
|
|
+// : Arrays.asList(checkItemDo.getMailsenduserids().split(","));
|
|
|
+// // 邮件发送人信息
|
|
|
+// List<SysUserDo> mailSender = mailsenduserids.isEmpty() ? new ArrayList<SysUserDo>() :
|
|
|
+// sysUserService.list(new LambdaQueryWrapper<SysUserDo>().in(SysUserDo::getId, mailsenduserids));
|
|
|
+// // 获取检查项中对应部门的部门经理
|
|
|
+// List<String> deptIds = aspCheckDiscoveryItemDos.stream()
|
|
|
+// .map(AspCheckDiscoveryItemDo::getDeptid)
|
|
|
+// .filter(StringUtils::isNotBlank)
|
|
|
+// .distinct()
|
|
|
+// .collect(Collectors.toList());
|
|
|
+// // 部门经理以及邮箱信息
|
|
|
+// List<UserMailOrgVo> deptUserList = saveCheckCommonDao.getUserInfoByOrgIdAndRoleCode(deptIds, DEPT_MANAGE_CODE);
|
|
|
+// // 获取所有的工段主管
|
|
|
+// List<String> sectionIds = aspCheckDiscoveryItemDos.stream()
|
|
|
+// .map(AspCheckDiscoveryItemDo::getSectionid)
|
|
|
+// .filter(StringUtils::isNotBlank)
|
|
|
+// .distinct()
|
|
|
+// .collect(Collectors.toList());
|
|
|
+// List<UserMailOrgVo> sectionUserList = saveCheckCommonDao.getUserInfoByOrgIdAndRoleCode(sectionIds, SECTION_SUPERVISOR_CODE);
|
|
|
+// // 获取所有的指派跟踪人
|
|
|
+// List<String> trackUserIds = aspCheckDiscoveryItemDos.stream()
|
|
|
+// .map(AspCheckDiscoveryItemDo::getTrackuserid)
|
|
|
+// .filter(StringUtils::isNotBlank)
|
|
|
+// .distinct()
|
|
|
+// .collect(Collectors.toList());
|
|
|
+// List<SysUserDo> trackUserInfo = sysUserService.list(new LambdaQueryWrapper<SysUserDo>().in(SysUserDo::getId, trackUserIds));
|
|
|
+// // 邮件发送人 整改所有发现项发出
|
|
|
+// List<UserMailOrgVo> senderMailUser = mailSender.stream().map(info -> {
|
|
|
+// UserMailOrgVo userMailOrgVo = new UserMailOrgVo();
|
|
|
+// userMailOrgVo.setId(info.getId());
|
|
|
+// userMailOrgVo.setEmail(info.getEmail());
|
|
|
+// return userMailOrgVo;
|
|
|
+// }).collect(Collectors.toList());
|
|
|
+// // 部门经理 需要将已在邮件发送人中存在的部门经理踢出
|
|
|
+// deptUserList = userMailDistinct(senderMailUser, deptUserList);
|
|
|
+// // 工段主管的邮箱 需要排除部门经理和邮件发送人
|
|
|
+// List<UserMailOrgVo> sectionUserMail = userMailDistinct(Stream.of(deptUserList, senderMailUser)
|
|
|
+// .flatMap(Collection::stream)
|
|
|
+// .collect(Collectors.toList()), sectionUserList);
|
|
|
+// // 指派跟踪人邮箱 需要排除部门经理和邮件发送人和工段主管
|
|
|
+// List<UserMailOrgVo> trackUserMail = userDistinct(Stream.of(senderMailUser, deptUserList, sectionUserMail)
|
|
|
+// .flatMap(Collection::stream)
|
|
|
+// .collect(Collectors.toList()), trackUserInfo);
|
|
|
+// /*******************邮件相关信息**************************************/
|
|
|
+// String mailSubject = THEMECHECK_TYPE_SPECIALCHECK.equals(themeCheck.getChecktype()) ? SPECIALCHECK_MAIL_SUBJECT : TYPE_DAYCHECK_MAIL_SUBJECT;
|
|
|
+// String checkSubject = checkItemDo.getThemecheckname();
|
|
|
+// String groupLeaderName = checkItemDo.getGroupleadername();
|
|
|
+// String groupUserNames = checkItemDo.getGroupusernames();
|
|
|
+// Date startTime = checkItemDo.getPlanstarttime();
|
|
|
+// Date endTime = checkItemDo.getPlanendtime();
|
|
|
+// String inspectionStation = checkItemDo.getChargeorgname();
|
|
|
+// List<SysDictDo> sysDictDos = sysDictService.getDictsByType(HIDDEN_DANGER_CLASSIFY);
|
|
|
+// /********************开始发送对应的邮件信息*****************************/
|
|
|
+// log.info("开始发送检查结构邮件,邮件发送人:{},部门经理:{},工段主管:{},指派跟踪人:{}", senderMailUser, deptUserList, sectionUserMail, trackUserMail);
|
|
|
+// sendDiscoveryItemMail(leaderUserMialList, aspCheckDiscoveryItemDos, 0
|
|
|
+// , sysDictDos, mailSubject, checkSubject, groupLeaderName, groupUserNames, startTime, endTime, inspectionStation);
|
|
|
+// sendDiscoveryItemMail(senderMailUser, aspCheckDiscoveryItemDos, 0
|
|
|
+// , sysDictDos, mailSubject, checkSubject, groupLeaderName, groupUserNames, startTime, endTime, inspectionStation);
|
|
|
+// sendDiscoveryItemMail(deptUserList, aspCheckDiscoveryItemDos, 1
|
|
|
+// , sysDictDos, mailSubject, checkSubject, groupLeaderName, groupUserNames, startTime, endTime, inspectionStation);
|
|
|
+// sendDiscoveryItemMail(sectionUserMail, aspCheckDiscoveryItemDos, 2
|
|
|
+// , sysDictDos, mailSubject, checkSubject, groupLeaderName, groupUserNames, startTime, endTime, inspectionStation);
|
|
|
+// sendDiscoveryItemMail(trackUserMail, aspCheckDiscoveryItemDos, 3
|
|
|
+// , sysDictDos, mailSubject, checkSubject, groupLeaderName, groupUserNames, startTime, endTime, inspectionStation);
|
|
|
+// }
|
|
|
|
|
|
/**
|
|
|
* 发送发现项邮件
|
|
@@ -286,79 +309,79 @@ public class SaveCheckItemServiceImpl implements SaveCheckItemService {
|
|
|
* @param type 区分 1 部门经理邮件 2 工段主管邮件 3 工段主管邮件 0 邮件发送人
|
|
|
* @param mailSubject 邮件主题
|
|
|
*/
|
|
|
- public void sendDiscoveryItemMail(List<UserMailOrgVo> trackUserMail,
|
|
|
- List<AspCheckDiscoveryItemDo> aspCheckDiscoveryItemDos,
|
|
|
- int type,
|
|
|
- List<SysDictDo> sysDictDos,
|
|
|
- String mailSubject,
|
|
|
- String checkSubject,
|
|
|
- String groupLeaderName,
|
|
|
- String groupUserNames,
|
|
|
- Date startTime,
|
|
|
- Date endTime,
|
|
|
- String inspectionStation) {
|
|
|
- // 为空直接返回
|
|
|
- if (trackUserMail.isEmpty()) {
|
|
|
- log.debug("邮件接收人为空");
|
|
|
- return;
|
|
|
- }
|
|
|
- // 筛选出邮箱不为空的数据
|
|
|
- trackUserMail = trackUserMail.stream().filter(info -> StringUtils.isNotBlank(info.getEmail())).collect(Collectors.toList());
|
|
|
- if (trackUserMail.isEmpty()) {
|
|
|
- log.debug("邮件接收人:{}邮箱为空", trackUserMail);
|
|
|
- return;
|
|
|
- }
|
|
|
- // 按照邮箱分组
|
|
|
- Map<String, List<UserMailOrgVo>> groupByEmail = trackUserMail.stream().collect(Collectors.groupingBy(UserMailOrgVo::getEmail));
|
|
|
- // 根据不同的邮箱发送
|
|
|
- groupByEmail.forEach((k, v) -> {
|
|
|
- List<AspCheckDiscoveryItemDo> mailCkeckItem;
|
|
|
- StringBuffer discoveryItems = new StringBuffer();
|
|
|
- if (type == 0) {
|
|
|
- mailCkeckItem = aspCheckDiscoveryItemDos;
|
|
|
- } else if (type == 1) {
|
|
|
- List<String> orgIds = v.stream().map(UserMailOrgVo::getOrgId).collect(Collectors.toList());
|
|
|
- mailCkeckItem = aspCheckDiscoveryItemDos.stream()
|
|
|
- .filter(data -> orgIds.contains(data.getDeptid())).
|
|
|
- collect(Collectors.toList());
|
|
|
- } else if (type == 2) {
|
|
|
- List<String> orgIds = v.stream().map(UserMailOrgVo::getOrgId).collect(Collectors.toList());
|
|
|
- mailCkeckItem = aspCheckDiscoveryItemDos.stream()
|
|
|
- .filter(data -> orgIds.contains(data.getSectionid())).
|
|
|
- collect(Collectors.toList());
|
|
|
- } else {
|
|
|
- List<String> orgIds = v.stream().map(UserMailOrgVo::getId).collect(Collectors.toList());
|
|
|
- mailCkeckItem = aspCheckDiscoveryItemDos.stream()
|
|
|
- .filter(data -> orgIds.contains(data.getTrackuserid())).
|
|
|
- collect(Collectors.toList());
|
|
|
- }
|
|
|
- int index = 1;
|
|
|
- for (int i = 0; i < mailCkeckItem.size(); i++) {
|
|
|
- AspCheckDiscoveryItemDo aspCheckDiscoveryItemDo = mailCkeckItem.get(i);
|
|
|
- discoveryItems.append(String.format(DISCOVERY_ITEM_CONTENT, index++, emptyStrReplace(aspCheckDiscoveryItemDo.getDept()),
|
|
|
- emptyStrReplace(aspCheckDiscoveryItemDo.getSection()),
|
|
|
- emptyStrReplace(aspCheckDiscoveryItemDo.getContent()),
|
|
|
- getDictNameByDictValue(aspCheckDiscoveryItemDo.getClassification(), sysDictDos),
|
|
|
- DateUtil.format(aspCheckDiscoveryItemDo.getDeadline(), "yyyy-MM-dd")));
|
|
|
- }
|
|
|
- // 邮件发送
|
|
|
- MailDo mail = new MailDo();
|
|
|
- mail.setSubject(mailSubject);
|
|
|
- mail.setReceiveEmail(new String[]{k});
|
|
|
- mail.setNeedTransReceive(false);
|
|
|
- mail.setContent(String.format(DISCOVERY_ITEM_MAIL_CONTENT, emptyStrReplace(checkSubject),
|
|
|
- emptyStrReplace(groupLeaderName), emptyStrReplace(groupUserNames), emptyStrReplace(inspectionStation),
|
|
|
- startTime, startTime, endTime, endTime, emptyStrReplace(discoveryItems.toString())));
|
|
|
- try {
|
|
|
- // 邮件发送服务调用
|
|
|
- sysConfigFeignService.sendTextMail(mail);
|
|
|
- } catch (Exception e) {
|
|
|
- log.error("邮件发送失败!类型:{}( 1.部门经理邮件 2.工段主管邮件 3.工段主管邮件 0.邮件发送人)", type);
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- });
|
|
|
+// public void sendDiscoveryItemMail(List<UserMailOrgVo> trackUserMail,
|
|
|
+// List<AspCheckDiscoveryItemDo> aspCheckDiscoveryItemDos,
|
|
|
+// int type,
|
|
|
+// List<SysDictDo> sysDictDos,
|
|
|
+// String mailSubject,
|
|
|
+// String checkSubject,
|
|
|
+// String groupLeaderName,
|
|
|
+// String groupUserNames,
|
|
|
+// Date startTime,
|
|
|
+// Date endTime,
|
|
|
+// String inspectionStation) {
|
|
|
+// // 为空直接返回
|
|
|
+// if (trackUserMail.isEmpty()) {
|
|
|
+// log.debug("邮件接收人为空");
|
|
|
+// return;
|
|
|
+// }
|
|
|
+// // 筛选出邮箱不为空的数据
|
|
|
+// trackUserMail = trackUserMail.stream().filter(info -> StringUtils.isNotBlank(info.getEmail())).collect(Collectors.toList());
|
|
|
+// if (trackUserMail.isEmpty()) {
|
|
|
+// log.debug("邮件接收人:{}邮箱为空", trackUserMail);
|
|
|
+// return;
|
|
|
+// }
|
|
|
+// // 按照邮箱分组
|
|
|
+// Map<String, List<UserMailOrgVo>> groupByEmail = trackUserMail.stream().collect(Collectors.groupingBy(UserMailOrgVo::getEmail));
|
|
|
+// // 根据不同的邮箱发送
|
|
|
+// groupByEmail.forEach((k, v) -> {
|
|
|
+// List<AspCheckDiscoveryItemDo> mailCkeckItem;
|
|
|
+// StringBuffer discoveryItems = new StringBuffer();
|
|
|
+// if (type == 0) {
|
|
|
+// mailCkeckItem = aspCheckDiscoveryItemDos;
|
|
|
+// } else if (type == 1) {
|
|
|
+// List<String> orgIds = v.stream().map(UserMailOrgVo::getOrgId).collect(Collectors.toList());
|
|
|
+// mailCkeckItem = aspCheckDiscoveryItemDos.stream()
|
|
|
+// .filter(data -> orgIds.contains(data.getDeptid())).
|
|
|
+// collect(Collectors.toList());
|
|
|
+// } else if (type == 2) {
|
|
|
+// List<String> orgIds = v.stream().map(UserMailOrgVo::getOrgId).collect(Collectors.toList());
|
|
|
+// mailCkeckItem = aspCheckDiscoveryItemDos.stream()
|
|
|
+// .filter(data -> orgIds.contains(data.getSectionid())).
|
|
|
+// collect(Collectors.toList());
|
|
|
+// } else {
|
|
|
+// List<String> orgIds = v.stream().map(UserMailOrgVo::getId).collect(Collectors.toList());
|
|
|
+// mailCkeckItem = aspCheckDiscoveryItemDos.stream()
|
|
|
+// .filter(data -> orgIds.contains(data.getTrackuserid())).
|
|
|
+// collect(Collectors.toList());
|
|
|
+// }
|
|
|
+// int index = 1;
|
|
|
+// for (int i = 0; i < mailCkeckItem.size(); i++) {
|
|
|
+// AspCheckDiscoveryItemDo aspCheckDiscoveryItemDo = mailCkeckItem.get(i);
|
|
|
+// discoveryItems.append(String.format(DISCOVERY_ITEM_CONTENT, index++, emptyStrReplace(aspCheckDiscoveryItemDo.getDept()),
|
|
|
+// emptyStrReplace(aspCheckDiscoveryItemDo.getSection()),
|
|
|
+// emptyStrReplace(aspCheckDiscoveryItemDo.getContent()),
|
|
|
+// getDictNameByDictValue(aspCheckDiscoveryItemDo.getClassification(), sysDictDos),
|
|
|
+// DateUtil.format(aspCheckDiscoveryItemDo.getDeadline(), "yyyy-MM-dd")));
|
|
|
+// }
|
|
|
+// // 邮件发送
|
|
|
+// MailDo mail = new MailDo();
|
|
|
+// mail.setSubject(mailSubject);
|
|
|
+// mail.setReceiveEmail(new String[]{k});
|
|
|
+// mail.setNeedTransReceive(false);
|
|
|
+// mail.setContent(String.format(DISCOVERY_ITEM_MAIL_CONTENT, emptyStrReplace(checkSubject),
|
|
|
+// emptyStrReplace(groupLeaderName), emptyStrReplace(groupUserNames), emptyStrReplace(inspectionStation),
|
|
|
+// startTime, startTime, endTime, endTime, emptyStrReplace(discoveryItems.toString())));
|
|
|
+// try {
|
|
|
+// // 邮件发送服务调用
|
|
|
+// sysConfigFeignService.sendTextMail(mail);
|
|
|
+// } catch (Exception e) {
|
|
|
+// log.error("邮件发送失败!类型:{}( 1.部门经理邮件 2.工段主管邮件 3.工段主管邮件 0.邮件发送人)", type);
|
|
|
+// e.printStackTrace();
|
|
|
+// }
|
|
|
+// });
|
|
|
|
|
|
- }
|
|
|
+// }
|
|
|
|
|
|
/**
|
|
|
* 对于用户信息进行去重
|