Просмотр исходного кода

【bug8239】金山设备维护推送周末会自动推送周五问题修复

WuYi 1 неделя назад
Родитель
Сommit
227a8fdabb

+ 72 - 34
ibps-provider-root/modules/provider-platform/src/main/java/com/lc/ibps/platform/plan/job/EquipmentMaintenancePlanJob.java

@@ -269,40 +269,78 @@ public class EquipmentMaintenancePlanJob  extends AbstractJob {
     }
 
     private List<Map<String, Object>> fetchRecords(String[] queryParam) {
-        String querySql = "SELECT * FROM (SELECT YEAR(#{p0}) AS ji_hua_nian_du_ , " +
-                "    CASE device.wei_hu_lei_xing_" +
-                "    WHEN '日保养' THEN DATE_FORMAT(#{p0}, '%j')  " +
-                "    WHEN '周保养' THEN DATE_FORMAT(#{p0}, '%u')  " +
-                "    WHEN '月保养' THEN MONTH(#{p0})  " +
-                "    WHEN '季度保养' THEN QUARTER(#{p0})  " +
-                "    WHEN '半年保养' THEN IF(MONTH(#{p0})-6>0,2,1) " +
-                "    WHEN '年保养' THEN YEAR(#{p0})  " +
-                "    WHEN '间隔保养' THEN DATEDIFF(#{p0},startDate)/(ri_qi_shu_zi_+1)" +
-                "    ELSE CONCAT (DATE_FORMAT(#{p0}, '%u'),'.',WEEKDAY(#{p0})+1) " +
-                "    END AS period_num,device.wei_hu_ri_qi_ AS zhu_zhou_qi_ ,device.id_ AS she_bei_bian_hao_,device.bian_zhi_bu_men_,  " +
-                "    device.gui_ge_xing_hao_, " +   //增加规格型号字段到设备使用与维护表(t_mjsbwhbyjlby)
-                "    device.she_bei_ming_cheng_ AS she_bei_ming_chen,device.she_bei_shi_bie_h AS ri_qi_,device.cun_fang_di_dian_ AS sheng_xiao_ri_qi_,  " +
-                "    jhb.id_ AS ji_hua_zong_wai_j,jhzb.id_  AS ji_hua_wai_jian_ ,device.wei_hu_fang_shi_ AS wei_hu_gang_wei_ ,  " +
-                "    device.di_dian_ ,device.wei_hu_lei_xing_,device.yuan_she_bei_bian AS original_device_n ,'' as ke_tui_song_ren_  " +
-                "    FROM `t_mjsbwhjhb` jhb,`t_mjsbwhjhzb` jhzb,`v_device_devicemaintenance` device  " +
-                "    WHERE jhb.shi_fou_guo_shen_='已完成'  AND jhb.zhi_xing_zhuang_t='正常'  " +
-                "    AND jhb.id_ = jhzb.parent_id_  " +
-                "    AND device.wei_hu_lei_xing_ IS NOT NULL" +
-                "    AND jhzb.she_bei_bian_hao_ = device.id_ AND device.id_  NOT IN  " +
-                "   (SELECT id_ FROM v_device_devicemaintenance WHERE " +
-                "   (wei_hu_lei_xing_ ='日保养' AND FIND_IN_SET(WEEKDAY(#{p0})+1,ri_qi_shu_zi_)=0 ) OR" +
-                "   (wei_hu_lei_xing_ ='周保养' AND ri_qi_shu_zi_ - WEEKDAY(#{p0})  >1 ) OR" +
-                "   (wei_hu_lei_xing_ ='周保养' AND DATE_FORMAT(#{p0}, '%u') ='01' AND  ri_qi_shu_zi_ - WEEKDAY(#{p0})  <1 ) OR" +
-                "   (wei_hu_lei_xing_ ='月保养' AND ri_qi_shu_zi_ - DAY(#{p0})  >0 ) OR" +
-                "   (wei_hu_lei_xing_ ='季度保养' AND ri_qi_shu_zi_ MOD 3 <> MONTH(#{p0}) MOD 3 ) OR" +
-                "   (wei_hu_lei_xing_ ='半年保养' AND ri_qi_shu_zi_ MOD 6 <> MONTH(#{p0}) MOD 6  ) OR" +
-                "   (wei_hu_lei_xing_ ='年保养' AND ri_qi_shu_zi_ - MONTH(#{p0})  >0 ) OR" +
-                "   (wei_hu_lei_xing_='间隔保养' AND (DATEDIFF(#{p0},startDate)<0 OR MOD(DATEDIFF(#{p0},startDate),ri_qi_shu_zi_+1)<>0))" +
-                "   )) plan  " +
-                "    WHERE NOT EXISTS (SELECT 1 FROM `t_mjsbwhbyjlby` jlb WHERE jlb.she_bei_bian_hao_ = plan.she_bei_bian_hao_ " +
-                "    AND jlb.period_num = plan.period_num AND jlb.ji_hua_nian_du_=plan.ji_hua_nian_du_)" +
-                "       ORDER BY she_bei_bian_hao_,ji_hua_zong_wai_j DESC";
-
+        String querySql ="";
+
+        String setting = getSetting();
+        if(setting.contains("金山")){
+            querySql = "SELECT * FROM (SELECT YEAR(#{p0}) AS ji_hua_nian_du_ , " +
+                    "    CASE device.wei_hu_lei_xing_" +
+                    "    WHEN '日保养' THEN DATE_FORMAT(#{p0}, '%j')  " +
+                    "    WHEN '周保养' THEN DATE_FORMAT(#{p0}, '%u')  " +
+                    "    WHEN '月保养' THEN MONTH(#{p0})  " +
+                    "    WHEN '季度保养' THEN QUARTER(#{p0})  " +
+                    "    WHEN '半年保养' THEN IF(MONTH(#{p0})-6>0,2,1) " +
+                    "    WHEN '年保养' THEN YEAR(#{p0})  " +
+                    "    WHEN '间隔保养' THEN DATEDIFF(#{p0},startDate)/(ri_qi_shu_zi_+1)" +
+                    "    ELSE CONCAT (DATE_FORMAT(#{p0}, '%u'),'.',WEEKDAY(#{p0})+1) " +
+                    "    END AS period_num,device.wei_hu_ri_qi_ AS zhu_zhou_qi_ ,device.id_ AS she_bei_bian_hao_,device.bian_zhi_bu_men_,  " +
+                    "    device.gui_ge_xing_hao_, " +   //增加规格型号字段到设备使用与维护表(t_mjsbwhbyjlby)
+                    "    device.she_bei_ming_cheng_ AS she_bei_ming_chen,device.she_bei_shi_bie_h AS ri_qi_,device.cun_fang_di_dian_ AS sheng_xiao_ri_qi_,  " +
+                    "    jhb.id_ AS ji_hua_zong_wai_j,jhzb.id_  AS ji_hua_wai_jian_ ,device.wei_hu_fang_shi_ AS wei_hu_gang_wei_ ,  " +
+                    "    device.di_dian_ ,device.wei_hu_lei_xing_,device.yuan_she_bei_bian AS original_device_n ,'' as ke_tui_song_ren_  " +
+                    "    FROM `t_mjsbwhjhb` jhb,`t_mjsbwhjhzb` jhzb,`v_device_devicemaintenance` device  " +
+                    "    WHERE jhb.shi_fou_guo_shen_='已完成'  AND jhb.zhi_xing_zhuang_t='正常'  " +
+                    "    AND jhb.id_ = jhzb.parent_id_  " +
+                    "    AND device.wei_hu_lei_xing_ IS NOT NULL" +
+                    "    AND jhzb.she_bei_bian_hao_ = device.id_ AND device.id_  NOT IN  " +
+                    "   (SELECT id_ FROM v_device_devicemaintenance WHERE " +
+                    "   (wei_hu_lei_xing_ ='日保养' AND FIND_IN_SET(WEEKDAY(#{p0})+1,ri_qi_shu_zi_)=0 ) OR" +
+                    "   (wei_hu_lei_xing_ ='周保养' AND ri_qi_shu_zi_ <> (WEEKDAY(#{p0}) + 1) ) OR"  +
+                    "   (wei_hu_lei_xing_ ='月保养' AND ri_qi_shu_zi_ - DAY(#{p0})  >0 ) OR" +
+                    "   (wei_hu_lei_xing_ ='季度保养' AND ri_qi_shu_zi_ MOD 3 <> MONTH(#{p0}) MOD 3 ) OR" +
+                    "   (wei_hu_lei_xing_ ='半年保养' AND ri_qi_shu_zi_ MOD 6 <> MONTH(#{p0}) MOD 6  ) OR" +
+                    "   (wei_hu_lei_xing_ ='年保养' AND ri_qi_shu_zi_ - MONTH(#{p0})  >0 ) OR" +
+                    "   (wei_hu_lei_xing_='间隔保养' AND (DATEDIFF(#{p0},startDate)<0 OR MOD(DATEDIFF(#{p0},startDate),ri_qi_shu_zi_+1)<>0))" +
+                    "   )) plan  " +
+                    "    WHERE NOT EXISTS (SELECT 1 FROM `t_mjsbwhbyjlby` jlb WHERE jlb.she_bei_bian_hao_ = plan.she_bei_bian_hao_ " +
+                    "    AND jlb.period_num = plan.period_num AND jlb.ji_hua_nian_du_=plan.ji_hua_nian_du_)" +
+                    "       ORDER BY she_bei_bian_hao_,ji_hua_zong_wai_j DESC";
+
+        }else {
+             querySql = "SELECT * FROM (SELECT YEAR(#{p0}) AS ji_hua_nian_du_ , " +
+                    "    CASE device.wei_hu_lei_xing_" +
+                    "    WHEN '日保养' THEN DATE_FORMAT(#{p0}, '%j')  " +
+                    "    WHEN '周保养' THEN DATE_FORMAT(#{p0}, '%u')  " +
+                    "    WHEN '月保养' THEN MONTH(#{p0})  " +
+                    "    WHEN '季度保养' THEN QUARTER(#{p0})  " +
+                    "    WHEN '半年保养' THEN IF(MONTH(#{p0})-6>0,2,1) " +
+                    "    WHEN '年保养' THEN YEAR(#{p0})  " +
+                    "    WHEN '间隔保养' THEN DATEDIFF(#{p0},startDate)/(ri_qi_shu_zi_+1)" +
+                    "    ELSE CONCAT (DATE_FORMAT(#{p0}, '%u'),'.',WEEKDAY(#{p0})+1) " +
+                    "    END AS period_num,device.wei_hu_ri_qi_ AS zhu_zhou_qi_ ,device.id_ AS she_bei_bian_hao_,device.bian_zhi_bu_men_,  " +
+                    "    device.gui_ge_xing_hao_, " +   //增加规格型号字段到设备使用与维护表(t_mjsbwhbyjlby)
+                    "    device.she_bei_ming_cheng_ AS she_bei_ming_chen,device.she_bei_shi_bie_h AS ri_qi_,device.cun_fang_di_dian_ AS sheng_xiao_ri_qi_,  " +
+                    "    jhb.id_ AS ji_hua_zong_wai_j,jhzb.id_  AS ji_hua_wai_jian_ ,device.wei_hu_fang_shi_ AS wei_hu_gang_wei_ ,  " +
+                    "    device.di_dian_ ,device.wei_hu_lei_xing_,device.yuan_she_bei_bian AS original_device_n ,'' as ke_tui_song_ren_  " +
+                    "    FROM `t_mjsbwhjhb` jhb,`t_mjsbwhjhzb` jhzb,`v_device_devicemaintenance` device  " +
+                    "    WHERE jhb.shi_fou_guo_shen_='已完成'  AND jhb.zhi_xing_zhuang_t='正常'  " +
+                    "    AND jhb.id_ = jhzb.parent_id_  " +
+                    "    AND device.wei_hu_lei_xing_ IS NOT NULL" +
+                    "    AND jhzb.she_bei_bian_hao_ = device.id_ AND device.id_  NOT IN  " +
+                    "   (SELECT id_ FROM v_device_devicemaintenance WHERE " +
+                    "   (wei_hu_lei_xing_ ='日保养' AND FIND_IN_SET(WEEKDAY(#{p0})+1,ri_qi_shu_zi_)=0 ) OR" +
+                    "   (wei_hu_lei_xing_ ='周保养' AND ri_qi_shu_zi_ - WEEKDAY(#{p0})  >1 ) OR" +
+                    "   (wei_hu_lei_xing_ ='周保养' AND DATE_FORMAT(#{p0}, '%u') ='01' AND  ri_qi_shu_zi_ - WEEKDAY(#{p0})  <1 ) OR" +
+                    "   (wei_hu_lei_xing_ ='月保养' AND ri_qi_shu_zi_ - DAY(#{p0})  >0 ) OR" +
+                    "   (wei_hu_lei_xing_ ='季度保养' AND ri_qi_shu_zi_ MOD 3 <> MONTH(#{p0}) MOD 3 ) OR" +
+                    "   (wei_hu_lei_xing_ ='半年保养' AND ri_qi_shu_zi_ MOD 6 <> MONTH(#{p0}) MOD 6  ) OR" +
+                    "   (wei_hu_lei_xing_ ='年保养' AND ri_qi_shu_zi_ - MONTH(#{p0})  >0 ) OR" +
+                    "   (wei_hu_lei_xing_='间隔保养' AND (DATEDIFF(#{p0},startDate)<0 OR MOD(DATEDIFF(#{p0},startDate),ri_qi_shu_zi_+1)<>0))" +
+                    "   )) plan  " +
+                    "    WHERE NOT EXISTS (SELECT 1 FROM `t_mjsbwhbyjlby` jlb WHERE jlb.she_bei_bian_hao_ = plan.she_bei_bian_hao_ " +
+                    "    AND jlb.period_num = plan.period_num AND jlb.ji_hua_nian_du_=plan.ji_hua_nian_du_)" +
+                    "       ORDER BY she_bei_bian_hao_,ji_hua_zong_wai_j DESC";
+        }
 
         List<Map<String, Object>> list = (List<Map<String, Object>>) commonDao.query(querySql, queryParam);
         Iterator<Map<String, Object>> iterator = list.iterator();