Kaynağa Gözat

feat(issue): 增加任务到期提醒功能并优化问题清单- 新增任务到期提醒邮件发送功能
- 修复邮件发送异常捕获机制
- 增加无权限过滤的问题清单查询方法
- 更新问题清单页面区域选项

jiangbiao 1 gün önce
ebeveyn
işleme
7e7b79fc58

+ 4 - 3
master/src/main/java/com/ruoyi/framework/task/IssueTodoTask.java

@@ -39,7 +39,7 @@ public class IssueTodoTask extends BaseController {
             tPlantIssuelist.setStartDate(new Date());
             tPlantIssuelist.setEndDate(fifteenDaysLater);
             Set<Long> userIds = new HashSet<>();
-            for (TPlantIssuelist plantIssuelist : tPlantIssuelistService.selectTPlantIssuelistList(tPlantIssuelist)) {
+            for (TPlantIssuelist plantIssuelist : tPlantIssuelistService.selectTPlantIssuelistListNoPermission(tPlantIssuelist)) {
                 if (plantIssuelist.getResponsiblePerson() != null) {
                     userIds.add(plantIssuelist.getResponsiblePerson());
                 }
@@ -55,7 +55,7 @@ public class IssueTodoTask extends BaseController {
                         "<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>";
+                        "<font face=\"微软雅黑\" size=\"5\" style=\"color: rgb(255, 255, 255); \">任务到期提醒</font><font face=\"微软雅黑\" size=\"3\" style=\"color: rgb(255, 255, 255); \"></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\">" +
@@ -76,7 +76,8 @@ public class IssueTodoTask extends BaseController {
                 logger.info("html:" + html);
                 mailService.sendHtmlMail(email, "任务到期提醒", html);
             }
-        } catch (Exception ignored) {
+        } catch (Exception e) {
+            e.printStackTrace();
         }
     }
 }

+ 1 - 0
master/src/main/java/com/ruoyi/project/issue/mapper/TPlantIssuelistMapper.java

@@ -28,6 +28,7 @@ public interface TPlantIssuelistMapper
      */
     @DataScope(deptAlias = "d")
     public List<TPlantIssuelist> selectTPlantIssuelistList(TPlantIssuelist tPlantIssuelist);
+    public List<TPlantIssuelist> selectTPlantIssuelistListNoPermission(TPlantIssuelist tPlantIssuelist);
 
     /**
      * 新增装置问题滚动清单

+ 1 - 0
master/src/main/java/com/ruoyi/project/issue/service/ITPlantIssuelistService.java

@@ -26,6 +26,7 @@ public interface ITPlantIssuelistService
      * @return 装置问题滚动清单集合
      */
     public List<TPlantIssuelist> selectTPlantIssuelistList(TPlantIssuelist tPlantIssuelist);
+    public List<TPlantIssuelist> selectTPlantIssuelistListNoPermission(TPlantIssuelist tPlantIssuelist);
 
     /**
      * 新增装置问题滚动清单

+ 4 - 0
master/src/main/java/com/ruoyi/project/issue/service/impl/TPlantIssuelistServiceImpl.java

@@ -41,6 +41,10 @@ public class TPlantIssuelistServiceImpl implements ITPlantIssuelistService
     public List<TPlantIssuelist> selectTPlantIssuelistList(TPlantIssuelist tPlantIssuelist)
     {
         return tPlantIssuelistMapper.selectTPlantIssuelistList(tPlantIssuelist);
+    }@Override
+    public List<TPlantIssuelist> selectTPlantIssuelistListNoPermission(TPlantIssuelist tPlantIssuelist)
+    {
+        return tPlantIssuelistMapper.selectTPlantIssuelistListNoPermission(tPlantIssuelist);
     }
 
     /**

+ 31 - 1
master/src/main/resources/mybatis/issue/TPlantIssuelistMapper.xml

@@ -68,7 +68,37 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         ${params.dataScope}
         order by current_states desc,expected_date asc,id desc
     </select>
-    
+    <select id="selectTPlantIssuelistListNoPermission" parameterType="TPlantIssuelist" resultMap="TPlantIssuelistResult">
+        <include refid="selectTPlantIssuelistVo"/>
+        <where>
+            <if test="plant != null  and plant != ''"> and plant = #{plant}</if>
+            <if test="area != null  and area != ''"> and area = #{area}</if>
+            <if test="identifiedDate != null "> and identified_date = #{identifiedDate}</if>
+            <if test="startDate != null  and endDate != null"> and expected_date between #{startDate} and #{endDate}</if>
+            <if test="identifiedDateStr != null "> and to_char(identified_date,'YYYY') = #{identifiedDateStr}</if>
+            <if test="issueSource != null  and issueSource != ''"> and issue_source = #{issueSource}</if>
+            <if test="issueIdentified != null  and issueIdentified != ''"> and issue_identified like concat('%',concat(#{issueIdentified},'%'))</if>
+            <if test="actionsTaken != null  and actionsTaken != ''"> and actions_taken = #{actionsTaken}</if>
+            <if test="issueClass != null  and issueClass != ''"> and issue_class = #{issueClass}</if>
+            <if test="responsiblePerson != null  and responsiblePerson != ''"> and responsible_person = #{responsiblePerson}</if>
+            <if test="responsibleUnit != null  and responsibleUnit != ''"> and responsible_unit = #{responsibleUnit}</if>
+            <if test="currentStates != null  and currentStates != ''"> and current_states = #{currentStates}</if>
+            <if test="expectedDate != null  and expectedDate != ''"> and expected_date = #{expectedDate}</if>
+            <if test="completionDate != null  and completionDate != ''"> and completion_date = #{completionDate}</if>
+            <if test="additionalDeadline != null  and additionalDeadline != ''"> and additional_deadline = #{additionalDeadline}</if>
+            <if test="createrCode != null  and createrCode != ''"> and creater_code = #{createrCode}</if>
+            <if test="createdate != null "> and createdate = #{createdate}</if>
+            <if test="updaterCode != null  and updaterCode != ''"> and updater_code = #{updaterCode}</if>
+            <if test="updatedate != null "> and updatedate = #{updatedate}</if>
+            <if test="deptId != null "> and dept_id = #{deptId}</if>
+            <if test="remarks != null  and remarks != ''"> and remarks = #{remarks}</if>
+            and d.del_flag = 0
+        </where>
+        <!-- 数据范围过滤 -->
+        ${params.dataScope}
+        order by current_states desc,expected_date asc,id desc
+    </select>
+
     <select id="selectTPlantIssuelistById" parameterType="Long" resultMap="TPlantIssuelistResult">
         <include refid="selectTPlantIssuelistVo"/>
         where id = #{id}

+ 2 - 0
ui/src/views/issue/issuelist/bd.vue

@@ -9,6 +9,7 @@
           <el-option value="溶剂精制单元" laabel="溶剂精制单元"></el-option>
           <el-option value="辅助单元" laabel="辅助单元"></el-option>
           <el-option value="公用工程单元" laabel="公用工程单元"></el-option>
+          <el-option value="其他" laabel="其他"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item label="提出日期" prop="queryDate">
@@ -192,6 +193,7 @@
             <el-option value="溶剂精制单元" laabel="溶剂精制单元"></el-option>
             <el-option value="辅助单元" laabel="辅助单元"></el-option>
             <el-option value="公用工程单元" laabel="公用工程单元"></el-option>
+            <el-option value="其他" laabel="其他"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="提出日期" prop="identifiedDate">

+ 20 - 12
ui/src/views/issue/issuelist/ebsm.vue

@@ -3,12 +3,16 @@
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
       <el-form-item label="区域" prop="area">
         <el-select  v-model="queryParams.area" @change="handleQuery" placeholder="请选择区域" clearable>
-          <el-option value="第一萃取精馏单元" laabel="第一萃取精馏单元"></el-option>
-          <el-option value="第二萃取精馏单元" laabel="第二萃取精馏单元"></el-option>
-          <el-option value="丁二烯精馏单元" laabel="丁二烯精馏单元"></el-option>
-          <el-option value="溶剂精制单元" laabel="溶剂精制单元"></el-option>
-          <el-option value="辅助单元" laabel="辅助单元"></el-option>
-          <el-option value="公用工程单元" laabel="公用工程单元"></el-option>
+          <el-option value="1100#单元" laabel="1100#单元"></el-option>
+          <el-option value="1200#单元" laabel="1200#单元"></el-option>
+          <el-option value="2300#单元" laabel="2300#单元"></el-option>
+          <el-option value="2400#单元" laabel="2400#单元"></el-option>
+          <el-option value="8200#单元" laabel="8200#单元"></el-option>
+          <el-option value="8500#单元" laabel="8500#单元"></el-option>
+          <el-option value="8900#单元" laabel="8900#单元"></el-option>
+          <el-option value="8800#单元" laabel="8800#单元"></el-option>
+          <el-option value="9000#单元" laabel="9000#单元"></el-option>
+          <el-option value="其他" laabel="其他"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item label="提出日期" prop="queryDate">
@@ -186,12 +190,16 @@
       <el-form ref="form" :model="form" :rules="rules" label-width="180px">
         <el-form-item label="区域" prop="area">
           <el-select  v-model="form.area" placeholder="请选择区域" clearable style="width: 100%">
-            <el-option value="第一萃取精馏单元" laabel="第一萃取精馏单元"></el-option>
-            <el-option value="第二萃取精馏单元" laabel="第二萃取精馏单元"></el-option>
-            <el-option value="丁二烯精馏单元" laabel="丁二烯精馏单元"></el-option>
-            <el-option value="溶剂精制单元" laabel="溶剂精制单元"></el-option>
-            <el-option value="辅助单元" laabel="辅助单元"></el-option>
-            <el-option value="公用工程单元" laabel="公用工程单元"></el-option>
+            <el-option value="1100#单元" laabel="1100#单元"></el-option>
+            <el-option value="1200#单元" laabel="1200#单元"></el-option>
+            <el-option value="2300#单元" laabel="2300#单元"></el-option>
+            <el-option value="2400#单元" laabel="2400#单元"></el-option>
+            <el-option value="8200#单元" laabel="8200#单元"></el-option>
+            <el-option value="8500#单元" laabel="8500#单元"></el-option>
+            <el-option value="8900#单元" laabel="8900#单元"></el-option>
+            <el-option value="8800#单元" laabel="8800#单元"></el-option>
+            <el-option value="9000#单元" laabel="9000#单元"></el-option>
+            <el-option value="其他" laabel="其他"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="提出日期" prop="identifiedDate">

+ 14 - 12
ui/src/views/issue/issuelist/ib.vue

@@ -3,12 +3,13 @@
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
       <el-form-item label="区域" prop="area">
         <el-select  v-model="queryParams.area" @change="handleQuery" placeholder="请选择区域" clearable>
-          <el-option value="第一萃取精馏单元" laabel="第一萃取精馏单元"></el-option>
-          <el-option value="第二萃取精馏单元" laabel="第二萃取精馏单元"></el-option>
-          <el-option value="丁二烯精馏单元" laabel="丁二烯精馏单元"></el-option>
-          <el-option value="溶剂精制单元" laabel="溶剂精制单元"></el-option>
-          <el-option value="辅助单元" laabel="辅助单元"></el-option>
-          <el-option value="公用工程单元" laabel="公用工程单元"></el-option>
+          <el-option value="醚合成单元" laabel="醚合成单元"></el-option>
+          <el-option value="抽余液2分离单元" laabel="抽余液2分离单元"></el-option>
+          <el-option value="抽余液2净化单元" laabel="抽余液2净化单元"></el-option>
+          <el-option value="醚裂化单元" laabel="醚裂化单元"></el-option>
+          <el-option value="异丁烯分离单元" laabel="异丁烯分离单元"></el-option>
+          <el-option value="副产品分离单元" laabel="副产品分离单元"></el-option>
+          <el-option value="其他" laabel="其他"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item label="提出日期" prop="queryDate">
@@ -186,12 +187,13 @@
       <el-form ref="form" :model="form" :rules="rules" label-width="180px">
         <el-form-item label="区域" prop="area">
           <el-select  v-model="form.area" placeholder="请选择区域" clearable style="width: 100%">
-            <el-option value="第一萃取精馏单元" laabel="第一萃取精馏单元"></el-option>
-            <el-option value="第二萃取精馏单元" laabel="第二萃取精馏单元"></el-option>
-            <el-option value="丁二烯精馏单元" laabel="丁二烯精馏单元"></el-option>
-            <el-option value="溶剂精制单元" laabel="溶剂精制单元"></el-option>
-            <el-option value="辅助单元" laabel="辅助单元"></el-option>
-            <el-option value="公用工程单元" laabel="公用工程单元"></el-option>
+            <el-option value="醚合成单元" laabel="醚合成单元"></el-option>
+            <el-option value="抽余液2分离单元" laabel="抽余液2分离单元"></el-option>
+            <el-option value="抽余液2净化单元" laabel="抽余液2净化单元"></el-option>
+            <el-option value="醚裂化单元" laabel="醚裂化单元"></el-option>
+            <el-option value="异丁烯分离单元" laabel="异丁烯分离单元"></el-option>
+            <el-option value="副产品分离单元" laabel="副产品分离单元"></el-option>
+            <el-option value="其他" laabel="其他"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="提出日期" prop="identifiedDate">