Ver Fonte

LY 苯乙烯

ly há 2 anos atrás
pai
commit
55807013a7

+ 138 - 90
master/src/main/java/com/ruoyi/framework/task/PlantproglistTask.java

@@ -3,12 +3,15 @@ package com.ruoyi.framework.task;
 import com.alibaba.fastjson.JSON;
 import com.ruoyi.common.sendEmail.IMailService;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.framework.config.RuoYiConfig;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.project.document.domain.TPlantproglist;
 import com.ruoyi.project.document.service.ITPlantproglistService;
+import com.ruoyi.project.system.domain.SysUser;
 import com.ruoyi.project.system.domain.TAlarmPrincipal;
 import com.ruoyi.project.system.domain.TAlarmhistory;
 import com.ruoyi.project.system.domain.TAlarmtype;
+import com.ruoyi.project.system.service.ISysUserService;
 import com.ruoyi.project.system.service.ITAlarmPrincipalService;
 import com.ruoyi.project.system.service.ITAlarmhistoryService;
 import com.ruoyi.project.system.service.ITAlarmtypeService;
@@ -25,8 +28,7 @@ import java.util.List;
  * @author ruoyi
  */
 @Component
-public class PlantproglistTask extends BaseController
-{
+public class PlantproglistTask extends BaseController {
     /**
      * 注入发送邮件的接口
      */
@@ -55,13 +57,18 @@ public class PlantproglistTask extends BaseController
      */
     @Autowired
     private ITPlantproglistService plantproglistService;
+    //注入用户接口
+    @Autowired
+    private ISysUserService sysUserService;
+    //系统基础配置
+    @Autowired
+    private RuoYiConfig ruoyiConfig;
 
     /**
      * 下次回顾日期预警
      */
-    public void ReviewTask()
-    {
-        List<TPlantproglist> plantproglists = plantproglistService.selectList(new TPlantproglist());
+    public void ReviewTask() {
+
         TAlarmtype alarmtype = alarmtypeService.selectTAlarmtypeById(Long.parseLong("1050"));
         //判断报警是否开启
         if (alarmtype.getIsOpen() == 1) {
@@ -69,45 +76,67 @@ public class PlantproglistTask extends BaseController
             Long firstLevel = Math.round(Double.POSITIVE_INFINITY);
             Long secondLevel = Math.round(Double.POSITIVE_INFINITY);
             Long thirdLevel = Math.round(Double.POSITIVE_INFINITY);
-            if (alarmtype.getFirstlevel() != null) { firstLevel = alarmtype.getFirstlevel() * 24 * 3600 * 1000; }
-            if (alarmtype.getSecondlevel() != null) { secondLevel = alarmtype.getSecondlevel() * 24 * 3600 * 1000; }
-            if (alarmtype.getThirdlevel() != null) { thirdLevel = alarmtype.getThirdlevel() * 24 * 3600 * 1000; }
+            if (alarmtype.getFirstlevel() != null) {
+                firstLevel = alarmtype.getFirstlevel();
+            }
+            if (alarmtype.getSecondlevel() != null) {
+                secondLevel = alarmtype.getSecondlevel();
+            }
+            if (alarmtype.getThirdlevel() != null) {
+                thirdLevel = alarmtype.getThirdlevel();
+            }
             TAlarmPrincipal alarmPrincipal = new TAlarmPrincipal();
             //预警类型对应负责人
             alarmPrincipal.setTypeId(Long.parseLong("1050"));
             List<TAlarmPrincipal> alarmPrincipals = alarmPrincipalService.selectList(alarmPrincipal);
             System.out.println(JSON.toJSONString(alarmPrincipals));
-            String firstwarningContent = "";
-            String secondwarningContent = "";
-            String thirdwarningContent = "";
+
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-            for (TPlantproglist t : plantproglists) {
-                if (t.getNextreviewdate() != null) {
-                    long reviewDifference = t.getNextreviewdate().getTime() - new Date().getTime();
-                    if (reviewDifference <= firstLevel) {
-                        if (alarmtype.getFirstlevel() != null) {
-                            firstwarningContent = alarmLevelContent(firstwarningContent, t.getFileno(), t.getFilename(), sdf.format(t.getNextreviewdate()));
-                        }
-                    }else if (reviewDifference <= secondLevel) {
-                        if (alarmtype.getSecondlevel() != null) {
-                            secondwarningContent = alarmLevelContent(secondwarningContent, t.getFileno(), t.getFilename(), sdf.format(t.getNextreviewdate()));
-                        }
-                    }else if (reviewDifference <= thirdLevel) {
-                        if (alarmtype.getThirdlevel() != null) {
-                            thirdwarningContent = alarmLevelContent(thirdwarningContent, t.getFileno(), t.getFilename(), sdf.format(t.getNextreviewdate()));
+            for (TAlarmPrincipal t : alarmPrincipals) {
+                SysUser user = this.sysUserService.selectUserByStaffId(t.getStaffid());
+                if (user != null) {
+                    logger.info("发送人" + user.getNickName() + "--发送邮箱:" + user.getEmail());
+                    t.setPrincipalName(user.getNickName());
+                    t.setPrincipalEmail(user.getEmail());
+                }
+            }
+            for (TAlarmPrincipal o : alarmPrincipals) {
+                TPlantproglist queryParam = new TPlantproglist();
+                queryParam.setDeptId(o.getDeptId());
+                List<TPlantproglist> plantproglists = plantproglistService.selectList(queryParam);
+                String firstwarningContent = "";
+                String secondwarningContent = "";
+                String thirdwarningContent = "";
+                for (TPlantproglist t : plantproglists) {
+                    if (t.getNextreviewdate() != null) {
+                        long now = System.currentTimeMillis();
+                        long diff = t.getNexteditdate().getTime() - now;
+                        long nd = 1000 * 24 * 60 * 60;
+                        long reviewDifference = diff / nd;
+                        if (reviewDifference <= firstLevel) {
+                            if (alarmtype.getFirstlevel() != null) {
+                                firstwarningContent = alarmLevelContent(firstwarningContent, t.getFileno(), t.getFilename(), sdf.format(t.getNextreviewdate()));
+                            }
+                        } else if (reviewDifference <= secondLevel) {
+                            if (alarmtype.getSecondlevel() != null) {
+                                secondwarningContent = alarmLevelContent(secondwarningContent, t.getFileno(), t.getFilename(), sdf.format(t.getNextreviewdate()));
+                            }
+                        } else if (reviewDifference <= thirdLevel) {
+                            if (alarmtype.getThirdlevel() != null) {
+                                thirdwarningContent = alarmLevelContent(thirdwarningContent, t.getFileno(), t.getFilename(), sdf.format(t.getNextreviewdate()));
+                            }
                         }
                     }
                 }
+                levelSendEmail(firstwarningContent, secondwarningContent, thirdwarningContent, o, "装置程序清单", "plantproglist", "(文件编号,文件名称,下次回顾日期)", "1050");
             }
-            levelSendEmail(firstwarningContent, secondwarningContent, thirdwarningContent, alarmPrincipals, "装置程序清单", "plantproglist", "(文件编号,文件名称,下次回顾日期)", "1050");
         }
     }
 
     /**
      * 下次修改日期预警
      */
-    public void EditTask()
-    {
+    public void EditTask() {
         List<TPlantproglist> plantproglists = plantproglistService.selectList(new TPlantproglist());
         TAlarmtype alarmtype = alarmtypeService.selectTAlarmtypeById(Long.parseLong("1051"));
         //判断报警是否开启
@@ -116,47 +145,68 @@ public class PlantproglistTask extends BaseController
             Long firstLevel = Math.round(Double.POSITIVE_INFINITY);
             Long secondLevel = Math.round(Double.POSITIVE_INFINITY);
             Long thirdLevel = Math.round(Double.POSITIVE_INFINITY);
-            if (alarmtype.getFirstlevel() != null) { firstLevel = alarmtype.getFirstlevel() * 24 * 3600 * 1000; }
-            if (alarmtype.getSecondlevel() != null) { secondLevel = alarmtype.getSecondlevel() * 24 * 3600 * 1000; }
-            if (alarmtype.getThirdlevel() != null) { thirdLevel = alarmtype.getThirdlevel() * 24 * 3600 * 1000; }
+            if (alarmtype.getFirstlevel() != null) {
+                firstLevel = alarmtype.getFirstlevel();
+            }
+            if (alarmtype.getSecondlevel() != null) {
+                secondLevel = alarmtype.getSecondlevel();
+            }
+            if (alarmtype.getThirdlevel() != null) {
+                thirdLevel = alarmtype.getThirdlevel();
+            }
             TAlarmPrincipal alarmPrincipal = new TAlarmPrincipal();
             //预警类型对应负责人
             alarmPrincipal.setTypeId(Long.parseLong("1051"));
             List<TAlarmPrincipal> alarmPrincipals = alarmPrincipalService.selectList(alarmPrincipal);
-            String firstwarningContent = "";
-            String secondwarningContent = "";
-            String thirdwarningContent = "";
+            //查询用户表赋值邮箱
+            for (TAlarmPrincipal t : alarmPrincipals) {
+                SysUser user = this.sysUserService.selectUserByStaffId(t.getStaffid());
+                if (user != null) {
+                    logger.info("发送人" + user.getNickName() + "--发送邮箱:" + user.getEmail());
+                    t.setPrincipalName(user.getNickName());
+                    t.setPrincipalEmail(user.getEmail());
+                }
+            }
+
+
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-            for (TPlantproglist t : plantproglists) {
-                if (t.getNexteditdate() != null) {
-                    long editDifference = t.getNexteditdate().getTime() - new Date().getTime();
-                    if (editDifference <= firstLevel) {
-                        if (alarmtype.getFirstlevel() != null) {
-                            firstwarningContent = alarmLevelContent(firstwarningContent, t.getFileno(), t.getFilename(), sdf.format(t.getNexteditdate()));
-                        }
-                    }else if (editDifference <= secondLevel) {
-                        if (alarmtype.getSecondlevel() != null) {
-                            secondwarningContent = alarmLevelContent(secondwarningContent, t.getFileno(), t.getFilename(), sdf.format(t.getNexteditdate()));
-                        }
-                    }else if (editDifference <= thirdLevel) {
-                        if (alarmtype.getThirdlevel() != null) {
-                            thirdwarningContent = alarmLevelContent(thirdwarningContent, t.getFileno(), t.getFilename(), sdf.format(t.getNexteditdate()));
+            for (TAlarmPrincipal o : alarmPrincipals) {
+                String firstwarningContent = "";
+                String secondwarningContent = "";
+                String thirdwarningContent = "";
+                for (TPlantproglist t : plantproglists) {
+                    if (t.getNexteditdate() != null) {
+                        long now = System.currentTimeMillis();
+                        long diff = t.getNexteditdate().getTime() - now;
+                        long nd = 1000 * 24 * 60 * 60;
+                        long editDifference = diff / nd;
+                        if (editDifference <= firstLevel) {
+                            if (alarmtype.getFirstlevel() != null) {
+                                firstwarningContent = alarmLevelContent(firstwarningContent, t.getFileno(), t.getFilename(), sdf.format(t.getNexteditdate()));
+                            }
+                        } else if (editDifference <= secondLevel) {
+                            if (alarmtype.getSecondlevel() != null) {
+                                secondwarningContent = alarmLevelContent(secondwarningContent, t.getFileno(), t.getFilename(), sdf.format(t.getNexteditdate()));
+                            }
+                        } else if (editDifference <= thirdLevel) {
+                            if (alarmtype.getThirdlevel() != null) {
+                                thirdwarningContent = alarmLevelContent(thirdwarningContent, t.getFileno(), t.getFilename(), sdf.format(t.getNexteditdate()));
+                            }
                         }
                     }
                 }
+                levelSendEmail(firstwarningContent, secondwarningContent, thirdwarningContent, o, "装置程序清单", "plantproglist", "(文件编号,文件名称,下次修改日期)", "1051");
             }
-            levelSendEmail(firstwarningContent, secondwarningContent, thirdwarningContent, alarmPrincipals, "装置程序清单", "plantproglist", "(文件编号,文件名称,下次修改日期)", "1051");
         }
     }
 
     /**
      * 预警内容拼接
      */
-    public String alarmLevelContent(String alarmContent, String fieleOne, String fieldSecond, String fieldThird)
-    {
+    public String alarmLevelContent(String alarmContent, String fieleOne, String fieldSecond, String fieldThird) {
         if (alarmContent == "") {
             alarmContent = fieleOne + ", " + fieldSecond + ", " + fieldThird;
-        }else {
+        } else {
             alarmContent = alarmContent + ";<br>" + fieleOne + ", " + fieldSecond + ", " + fieldThird;
         }
         return alarmContent;
@@ -165,8 +215,7 @@ public class PlantproglistTask extends BaseController
     /**
      * 分级预警
      */
-    public void levelSendEmail(String content1, String content2, String content3, List<TAlarmPrincipal> alarmPrincipals, String alarmType, String alarmTypeEn, String contenFormat, String typeId)
-    {
+    public void levelSendEmail(String content1, String content2, String content3, TAlarmPrincipal alarmPrincipals, String alarmType, String alarmTypeEn, String contenFormat, String typeId) {
         if (content1 != "") {
             sendEmail(alarmPrincipals, alarmType, "1级预警", content1, alarmTypeEn, contenFormat, typeId);
         }
@@ -181,8 +230,7 @@ public class PlantproglistTask extends BaseController
     /**
      * 发送预警邮件
      */
-    public void sendEmail(List<TAlarmPrincipal> alarmPrincipals, String alarmType, String warningLevel, String warningContent, String alarmTypeEn, String contenFormat, String typeId)
-    {
+    public void sendEmail(TAlarmPrincipal alarmPrincipal, String alarmType, String warningLevel, String warningContent, String alarmTypeEn, String contenFormat, String typeId) {
         //写html开始内容
         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\"" +
@@ -193,40 +241,40 @@ public class PlantproglistTask extends BaseController
         String end = "</tbody></table></div></body></html>";
         String username = "";
         String email = "";
-        for (TAlarmPrincipal a : alarmPrincipals) {
-            username = a.getPrincipalName();
-            email = a.getPrincipalEmail();
+        username = alarmPrincipal.getPrincipalName();
+        email = alarmPrincipal.getPrincipalEmail();
 //            email = "924846500@qq.com";
-            //表html中间内容
-            String prime = "";
-            String firstcenter = "<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</font><br><font style=\"line-height: 22px; \" size=\"4\">" +
-                    "<p>您有一条预警信息:<br>" +
-                    "预警类型:<b>alarmType</b><br>" +
-                    "预警等级:<b>warningLevel</b><br>" +
-                    "预警内容contenFormat:<b>warningContent</b><br>" +
-                    "请前往<a href=\"http://47.114.101.16:8080/cpms/index.html#/document/alarmTypeEn\">alarmType</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>此为系统邮件,请勿回复<br>This e-Mail is an automatic reminder sent by CPMS, please do not reply</p>" +
-                    "</div></div></div></td></tr>";
-            String one = firstcenter.replaceFirst("username", username);
-            String two = one.replaceFirst("alarmType", alarmType);
-            String three = two.replaceFirst("warningLevel", warningLevel);
-            String four = three.replaceFirst("contenFormat", contenFormat);
-            String five = four.replaceFirst("warningContent", warningContent);
-            String six = five.replaceFirst("alarmTypeEn", alarmTypeEn);
-            String seven = six.replaceFirst("alarmType", alarmType);
-            String result = seven.replaceFirst("date", String.valueOf(new Date()));
-            prime = prime + result;
-            //拼接html
-            String html = start + prime + end;
-            mailService.sendHtmlMail(email, "CPMS:您有一条预警信息", html);
-            String level = warningLevel.substring(0,1);
-            insertHistory(a, level, warningContent, typeId, alarmType);
-        }
+        //表html中间内容
+        String prime = "";
+        String firstcenter = "<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</font><br><font style=\"line-height: 22px; \" size=\"4\">" +
+                "<p>您有一条预警信息:<br>" +
+                "预警类型:<b>alarmType</b><br>" +
+                "预警等级:<b>warningLevel</b><br>" +
+                "预警内容contenFormat:<b>warningContent</b><br>" +
+                "请前往<a href=\"requestJumpPath/document/alarmTypeEn\">alarmType</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>此为系统邮件,请勿回复<br>This e-Mail is an automatic reminder sent by CPMS, please do not reply</p>" +
+                "</div></div></div></td></tr>";
+        String one = firstcenter.replaceFirst("username", username);
+        String two = one.replaceFirst("alarmType", alarmType);
+        String three = two.replaceFirst("warningLevel", warningLevel);
+        String four = three.replaceFirst("contenFormat", contenFormat);
+        String five = four.replaceFirst("warningContent", warningContent);
+        String six = five.replaceFirst("alarmTypeEn", alarmTypeEn);
+        String seven = six.replaceFirst("alarmType", alarmType);
+        String eight = seven.replace("requestJumpPath", this.ruoyiConfig.getRequestJumpPath());
+        String result = eight.replaceFirst("date", String.valueOf(new Date()));
+        prime = prime + result;
+        //拼接html
+        String html = start + prime + end;
+        mailService.sendHtmlMail(email, "CPMS:您有一条预警信息", html);
+        String level = warningLevel.substring(0, 1);
+        insertHistory(alarmPrincipal, level, warningContent, typeId, alarmType);
+
     }
 
     /**
@@ -245,7 +293,7 @@ public class PlantproglistTask extends BaseController
         String[] content = StringUtils.remove(warningContent, "<br>").split(";");
         if (content.length == 0) {
             alarmhistory.setAlarmNum(Long.parseLong(String.valueOf("1")));
-        }else {
+        } else {
             alarmhistory.setAlarmNum(Long.parseLong(String.valueOf(content.length)));
         }
         alarmhistory.setSendTime(new Date());

+ 1 - 1
master/src/main/resources/mybatis/document/TPlantproglistMapper.xml

@@ -77,9 +77,9 @@
         <include refid="selectTPlantproglistVo"/>
         <where>
             and d.del_flag = 0
+            <if test="deptId != null "> and d.dept_id = #{deptId}</if>
         </where>
         <!-- 数据范围过滤 -->
-        ${params.dataScope}
         order by d.fileno asc
     </select>
 

+ 2 - 2
ui/src/views/plant/organization/index.vue

@@ -133,7 +133,7 @@ export default {
       },
       units: [],
       teams: [],
-      actualposts: ["24", "26", "14", "16", "18", "20", "12", "10", "34", "36"],
+      actualposts: ["24", "26", "14", "16", "18", "20", "12", "10", "34", "36","15"],
       dragMove: true,
       drawer: false,
       info: {},
@@ -662,7 +662,7 @@ export default {
             map[item.pId].secretary ? map[item.pId].secretary[0].push(item) : map[item.pId].secretary[0] = [item];
           } else if (item.post == '生产主管' || item.post == '工长') {
             map[item.pId].secretary[1].push(item)
-          }else if (item.post == '资深工程师' && map[item.pId].pId == 0) { //直属装置经理的资深工程师
+          }else if ((item.post == '资深工程师' || item.post == '工程师') && map[item.pId].pId == 0) { //直属装置经理的资深工程师
             map[item.pId].secretary ? map[item.pId].secretary[0].push(item) : map[item.pId].secretary[0] = [item];
           } else {
             map[item.pId].children ? map[item.pId].children.push(item) : map[item.pId].children = [item];