瀏覽代碼

정신건강 미입력자 발송 대상 쿼리 수정

jksong 4 年之前
父節點
當前提交
fd1d6fa357

+ 9 - 9
src/main/java/com/lemon/lifecenter/scheduler/common/HomeController.java

@@ -79,19 +79,19 @@ public class HomeController {
      * 16초 46초
      * 매분 지정한 초 마다
      */
-    @Scheduled(cron = "16 * * * * *", zone = "Asia/Seoul")
+    @Scheduled(cron = "*/5 * * * * *", zone = "Asia/Seoul")
     public void sendTask1() {
         pushController.selectSendPushList();
         pushController.everyDayPushSend();
     }
     
-    /**
-     * 매분 지정한 초 마다
-     */
-    @Scheduled(cron = "47 * * * * *", zone = "Asia/Seoul")
-    public void sendTask2() {
-        pushController.selectSendPushList();
-        pushController.everyDayPushSend();
-    }
+//    /**
+//     * 매분 지정한 초 마다
+//     */
+//    @Scheduled(cron = "47 * * * * *", zone = "Asia/Seoul")
+//    public void sendTask2() {
+//        pushController.selectSendPushList();
+//        pushController.everyDayPushSend();
+//    }
     
 }

+ 11 - 5
src/main/resources/mybatis/mapper/push/push.xml

@@ -232,13 +232,19 @@
             SELECT PC.PATIENT_IDX              AS patientIdx,
                    IFNULL(PDI.DEVICE_TYPE, '') AS deviceType,
                    IFNULL(PDI.DEVICE_KEY, '')  AS deviceToken
-              FROM MENTAL_HEALTH_TOTAL MH
-              LEFT JOIN PATIENT_CARE PC
-                ON PC.PATIENT_IDX = MH.PATIENT_IDX
+              FROM patient_care PC
+              LEFT JOIN ( SELECT patient_idx, DATEDIFF(NOW(), A.create_date) AS dif
+                            FROM mental_health_total A, 
+                                ( SELECT MAX(idx) AS idx
+                                    FROM mental_health_total
+                                   GROUP BY patient_idx ) B
+                                   WHERE A.idx = B.idx )  MH
+                ON PC.patient_idx = MH.patient_idx
               LEFT JOIN PUSH_DEVICE_INFO PDI
                 ON PC.PATIENT_IDX = PDI.PATIENT_IDX
-             WHERE PC.CENTER_CODE = #{centerCode}
-               AND DATEDIFF(NOW(), MH.CREATE_DATE) >= 6
+             WHERE PC.center_code = #{centerCode}
+               AND PC.state = 'H'
+               AND ( MH.dif IS NULL OR MH.dif >= 6 )
         ]]>
     </select>