|
@@ -0,0 +1,82 @@
|
|
|
+package com.ruoyi.framework.task;
|
|
|
+
|
|
|
+import com.github.stuxuhai.jpinyin.PinyinFormat;
|
|
|
+import com.github.stuxuhai.jpinyin.PinyinHelper;
|
|
|
+import com.ruoyi.common.sendEmail.IMailService;
|
|
|
+import com.ruoyi.common.utils.DateUtils;
|
|
|
+import com.ruoyi.common.utils.SpringContextUtils;
|
|
|
+import com.ruoyi.framework.web.controller.BaseController;
|
|
|
+import com.ruoyi.project.issue.domain.TPlantIssuelist;
|
|
|
+import com.ruoyi.project.issue.service.ITPlantIssuelistService;
|
|
|
+import com.ruoyi.project.system.domain.SysUser;
|
|
|
+import com.ruoyi.project.system.service.ISysUserService;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+
|
|
|
+import java.util.Calendar;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.HashSet;
|
|
|
+import java.util.Set;
|
|
|
+
|
|
|
+
|
|
|
+@Component("issueTodoTask")
|
|
|
+public class IssueTodoTask extends BaseController {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ISysUserService sysUserService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ITPlantIssuelistService tPlantIssuelistService;
|
|
|
+
|
|
|
+ public void execute() {
|
|
|
+ IMailService mailService = (IMailService) SpringContextUtils.getBean("mailService");
|
|
|
+ try {
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ calendar.add(Calendar.DAY_OF_MONTH, +15);
|
|
|
+ Date fifteenDaysLater = calendar.getTime();
|
|
|
+ TPlantIssuelist tPlantIssuelist = new TPlantIssuelist();
|
|
|
+ tPlantIssuelist.setCurrentStates("未完成");
|
|
|
+ tPlantIssuelist.setStartDate(new Date());
|
|
|
+ tPlantIssuelist.setEndDate(fifteenDaysLater);
|
|
|
+ Set<Long> userIds = new HashSet<>();
|
|
|
+ for (TPlantIssuelist plantIssuelist : tPlantIssuelistService.selectTPlantIssuelistList(tPlantIssuelist)) {
|
|
|
+ if (plantIssuelist.getResponsiblePerson() != null) {
|
|
|
+ userIds.add(plantIssuelist.getResponsiblePerson());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (Long userId : userIds) {
|
|
|
+ SysUser user = sysUserService.selectUserById(userId);
|
|
|
+ //logger.info("==========================任务列表:{}",taskList);
|
|
|
+ String username = user.getNickName();
|
|
|
+ String loginName = user.getUserName();
|
|
|
+ String usernameEN = PinyinHelper.convertToPinyinString(username, " ", PinyinFormat.WITHOUT_TONE);
|
|
|
+ String email = user.getEmail();
|
|
|
+ String start = "<!DOCTYPE html><html><head><meta charset=\"utf-8\"><title></title></head><body><div style=\"background-color:#ECECEC; padding: 35px;\">" +
|
|
|
+ "<table cellpadding=\"0\" align=\"center\"" +
|
|
|
+ "style=\"width: 600px; margin: 0px auto; text-align: left; position: relative; border-top-left-radius: 5px; border-top-right-radius: 5px; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; font-size: 14px; font-family:微软雅黑, 黑体; line-height: 1.5; box-shadow: rgb(153, 153, 153) 0px 0px 5px; border-collapse: collapse; background-position: initial initial; background-repeat: initial initial;background:#fff;\">" +
|
|
|
+ "<tbody><tr><th valign=\"middle\" style=\"height: 25px; line-height: 25px; padding: 15px 35px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #42a3d3; background-color: #49bcff; border-top-left-radius: 5px; border-top-right-radius: 5px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px;\">" +
|
|
|
+ "<font face=\"微软雅黑\" size=\"5\" style=\"color: rgb(255, 255, 255); \">任务到期提醒</font><font face=\"微软雅黑\" size=\"3\" style=\"color: rgb(255, 255, 255); \">To-Do Task</font></th></tr>";
|
|
|
+ //表html中间内容
|
|
|
+ String center = "<tr><td><div style=\"padding:25px 35px 40px; background-color:#fff;\"><h2 style=\"margin: 5px 0px; \">" +
|
|
|
+ "<font color=\"#333333\" style=\"line-height: 20px; \"><font style=\"line-height: 22px; \" size=\"4\">" +
|
|
|
+ "亲爱的 username(loginName)</font><br><font style=\"line-height: 22px; \" size=\"4\">" +
|
|
|
+ "<p>您的装置问题滚动清单有未完成的任务,请在预计完成日期前处理。<br>" +
|
|
|
+ "请登录<a href=\"https://cpms.basf-ypc.net.cn/cpms/#/process/issuelist\">装置问题滚动清单</a>查看。<br>" +
|
|
|
+ "<p align=\"right\">date</p>" +
|
|
|
+ "<div style=\"width:700px;margin:0 auto;\">" +
|
|
|
+ "<div style=\"padding:10px 10px 0;border-top:1px solid #ccc;color:#747474;margin-bottom:20px;line-height:1.3em;font-size:12px;\">" +
|
|
|
+ "<p>此为系统邮件,请勿回复</p>" +
|
|
|
+ "</div></div></div></td></tr>";
|
|
|
+ String one = center.replaceFirst("username", username);
|
|
|
+ String three = one.replace("loginName", loginName);
|
|
|
+ String result = three.replaceFirst("date", DateUtils.getDate());
|
|
|
+ String end = "</tbody></table></div></body></html>";
|
|
|
+ //拼接html
|
|
|
+ String html = start + result + end;
|
|
|
+ logger.info("html:" + html);
|
|
|
+ mailService.sendHtmlMail(email, "任务到期提醒", html);
|
|
|
+ }
|
|
|
+ } catch (Exception ignored) {
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|