瀏覽代碼

定时任务修改

elis 2 年之前
父節點
當前提交
10e13562fc

+ 3 - 1
nngkxxdp/src/main/java/com/example/nngkxxdp/dao/SmsMessageDao.java

@@ -47,7 +47,7 @@ public interface SmsMessageDao {
 	List<Map<String, Object>> getOfficialAccountByPaging(Map<String, Object> map);
 
 	List<Map<String, Object>> getAllJRTT();
-	
+
 	/**
 	 * @Title: getArticleFrequencyList
 	 * @Description: 获取超时文章未更新通知主要领导、分管领导、工作人员
@@ -59,6 +59,8 @@ public interface SmsMessageDao {
 	 */
 	List<Map<String, Object>> getArticleFrequencyList(Map<String, Object> map);
 
+	List<Map<String, Object>> getArticleFrequencyListNew(Map<String, Object> map);
+
 	List<Map<String, Object>> getRegionAllOfa(Integer type);
 
 	List<Map<String, Object>> getRegionAllOfaList(String official, Integer num);

+ 3 - 3
nngkxxdp/src/main/java/com/example/nngkxxdp/util/ArticleSmsUtil.java

@@ -47,17 +47,17 @@ public class ArticleSmsUtil {
 	public void task() {
 		Map<String, Object> queryMap = new HashMap<>();
 		queryMap.put("day", 0);
-		List<Map<String, Object>> zyldList = smsMessageDao.getArticleFrequencyList(queryMap);
+		List<Map<String, Object>> zyldList = smsMessageDao.getArticleFrequencyListNew(queryMap);
 		if (Blank.notBlank(zyldList)) {
 			setAndSendSms(1, zyldList);
 		}
 		queryMap.put("day", 2);
-		List<Map<String, Object>> fgldList = smsMessageDao.getArticleFrequencyList(queryMap);
+		List<Map<String, Object>> fgldList = smsMessageDao.getArticleFrequencyListNew(queryMap);
 		if (Blank.notBlank(fgldList)) {
 			setAndSendSms(2, fgldList);
 		}
 		queryMap.put("day", 4);
-		List<Map<String, Object>> gzryList = smsMessageDao.getArticleFrequencyList(queryMap);
+		List<Map<String, Object>> gzryList = smsMessageDao.getArticleFrequencyListNew(queryMap);
 		if (Blank.notBlank(gzryList)) {
 			setAndSendSms(3, gzryList);
 		}

+ 36 - 0
nngkxxdp/src/main/resources/mapper/SmsMessageDao.xml

@@ -226,6 +226,42 @@
 			) = c.frequency - #{day}
 		ORDER BY d.DOCRELTIME DESC
     </select>
+
+
+    <select id="getArticleFrequencyListNew" resultType="java.util.Map" parameterType="java.util.Map">
+        select a.*,d.chnlidname,d.DOCRELTIME,c.frequency
+        from (
+                 SELECT
+                     t.deptid,
+                     t.deptname,
+                     t.main_leader,
+                     t.main_leader_phone,
+                     t.leaderperson,
+                     t.leaderphone,
+                     t.workperson,
+                     t.workphone,
+                     p.chnlid
+                 FROM
+                     t_dept t
+                         LEFT JOIN t_dept_chnlid p ON t.deptid = p.deptid
+                 WHERE
+                     p.chnlid IS NOT NULL AND t.is_deleted=0 AND p.is_deleted=0
+             ) a
+                 inner JOIN column_relation c ON a.CHNLID = c.CHNLID AND c.frequency > 0
+                 inner JOIN (
+            SELECT
+                column_id CHNLID, column_name chnlidname, MAX(article_date) AS DOCRELTIME
+            FROM c_article
+            GROUP BY column_id,column_name
+        ) d ON d.CHNLID = a.chnlid
+        where
+                TIMESTAMPDIFF(
+                        DAY,
+                        DATE_FORMAT(d.DOCRELTIME, '%Y-%m-%d'),
+                        DATE_FORMAT(now(), '%Y-%m-%d')
+                    ) = c.frequency - #{day}
+        ORDER BY d.DOCRELTIME DESC
+    </select>
     <select id="getSortAticleAccount" resultType="java.lang.Integer">
         SELECT COUNT(*)
         FROM sort_article