Browse Source

【博思达】【定时任务时间点修改测试】

samhoo 3 years ago
parent
commit
7fc953659f

+ 35 - 32
src/main/java/com/uas/eis/task/SyncProductStockTask.java

@@ -32,40 +32,43 @@ public class SyncProductStockTask {
 
     private final Logger logger = LoggerFactory.getLogger(this.getClass());
 
-    @Scheduled(cron = "0 0 8,13,17,20 * * ?")
+    @Scheduled(cron = "0 0 0/1 * * ?")
     public void SyncProductStock() {
-        X5JsonHttpClient x5JsonHttpClient = new X5JsonHttpClient(configuration.getX5appid(),configuration.getX5appkey(),configuration.getX5ProductStockUrl());
-        Map<String,Object> data = new HashMap<>();
-        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        String format = sf.format(new Date());
-        data.put("request_time",format);
-        List<Map<String,Object>> list = new ArrayList<>();
-        String Sql="select * from (select rownum rn, A.* from (select ct_id,ct_code,CUSTOMTABLEDETAIL.* from CUSTOMTABLE left join CUSTOMTABLEDETAIL on ct_id=cd_ctid " +
-                "                 where  ct_caller='XiaoMiProduct' and ct_id= " +
-                "                 (select ct_id from (select ct_id from CUSTOMTABLE where ct_caller='XiaoMiProduct' and trunc(ct_recorddate)=trunc(sysdate) and ct_statuscode='AUDITED' and nvl(CT_SENDSTATUS,' ')<>'已上传' order by ct_id desc) where rownum=1)" +
-                "                 order by cd_detno) A) where rn<=1000";
-        SqlRowList rs = baseDao.queryForRowSet(Sql);
-        baseDao.execute("insert into XIAOMIDOCKINGLOG(ML_ID,ML_DATE,ML_CONTENT,ML_RESULT,ML_TYPE)" +
-                "values(XIAOMIDOCKINGLOG_seq.nextval,sysdate,'1上传失败!',to_char(sysdate,'yyyy-mm-dd HH24:mi:ss'),'')");
-        while (rs.next()){
-            Map<String,Object> map = new HashMap<>();
-            map.put("factory_code",configuration.getX5vendercode());
-            map.put("component_code",rs.getGeneralString("cd_varchar50_3"));
-            map.put("product_code",rs.getGeneralString("cd_varchar50_2"));
-            map.put("product_desc",rs.getGeneralString("cd_varchar200_1"));
-            map.put("product_class",rs.getGeneralString("cd_varchar50_4"));
-            map.put("product_level",rs.getInt("cd_number_1"));
-            map.put("common_status",rs.getGeneralString("cd_varchar50_6"));
-            map.put("stock_num",rs.getGeneralDouble("cd_number_2"));
-            map.put("stock_unit",rs.getGeneralString("cd_varchar50_5"));
-            map.put("ct_id",rs.getGeneralInt("ct_id"));
-            list.add(map);
-        }
-        data.put("data",list);
-        if(list.size()>0){
+        SqlRowList rs2 = baseDao.queryForRowSet("select TO_CHAR(SYSDATE,'HH24') v_hour,TO_CHAR(SYSDATE,'MI') v_mi from dual");
+        if("08".equals(rs2.getGeneralString("v_hour")) || "20".equals(rs2.getGeneralString("v_hour"))){
+            X5JsonHttpClient x5JsonHttpClient = new X5JsonHttpClient(configuration.getX5appid(),configuration.getX5appkey(),configuration.getX5ProductStockUrl());
+            Map<String,Object> data = new HashMap<>();
+            SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            String format = sf.format(new Date());
+            data.put("request_time",format);
+            List<Map<String,Object>> list = new ArrayList<>();
+            String Sql="select * from (select rownum rn, A.* from (select ct_id,ct_code,CUSTOMTABLEDETAIL.* from CUSTOMTABLE left join CUSTOMTABLEDETAIL on ct_id=cd_ctid " +
+                    "                 where  ct_caller='XiaoMiProduct' and ct_id= " +
+                    "                 (select ct_id from (select ct_id from CUSTOMTABLE where ct_caller='XiaoMiProduct' and trunc(ct_recorddate)=trunc(sysdate) and ct_statuscode='AUDITED' and nvl(CT_SENDSTATUS,' ')<>'已上传' order by ct_id desc) where rownum=1)" +
+                    "                 order by cd_detno) A) where rn<=1000";
+            SqlRowList rs = baseDao.queryForRowSet(Sql);
             baseDao.execute("insert into XIAOMIDOCKINGLOG(ML_ID,ML_DATE,ML_CONTENT,ML_RESULT,ML_TYPE)" +
-                    "values(XIAOMIDOCKINGLOG_seq.nextval,sysdate,'2上传失败!',to_char(sysdate,'yyyy-mm-dd HH24:mi:ss'),'')");
-            x5JsonHttpClient.post(data, configuration, baseDao, "ProductStock");
+                    "values(XIAOMIDOCKINGLOG_seq.nextval,sysdate,'1上传失败!',to_char(sysdate,'yyyy-mm-dd HH24:mi:ss'),'')");
+            while (rs.next()){
+                Map<String,Object> map = new HashMap<>();
+                map.put("factory_code",configuration.getX5vendercode());
+                map.put("component_code",rs.getGeneralString("cd_varchar50_3"));
+                map.put("product_code",rs.getGeneralString("cd_varchar50_2"));
+                map.put("product_desc",rs.getGeneralString("cd_varchar200_1"));
+                map.put("product_class",rs.getGeneralString("cd_varchar50_4"));
+                map.put("product_level",rs.getInt("cd_number_1"));
+                map.put("common_status",rs.getGeneralString("cd_varchar50_6"));
+                map.put("stock_num",rs.getGeneralDouble("cd_number_2"));
+                map.put("stock_unit",rs.getGeneralString("cd_varchar50_5"));
+                map.put("ct_id",rs.getGeneralInt("ct_id"));
+                list.add(map);
+            }
+            data.put("data",list);
+            if(list.size()>0){
+                baseDao.execute("insert into XIAOMIDOCKINGLOG(ML_ID,ML_DATE,ML_CONTENT,ML_RESULT,ML_TYPE)" +
+                        "values(XIAOMIDOCKINGLOG_seq.nextval,sysdate,'2上传失败!',to_char(sysdate,'yyyy-mm-dd HH24:mi:ss'),'')");
+                x5JsonHttpClient.post(data, configuration, baseDao, "ProductStock");
+            }
         }
     }
 }

+ 38 - 33
src/main/java/com/uas/eis/task/SyncProductWIPTask.java

@@ -33,41 +33,46 @@ public class SyncProductWIPTask {
     private final Logger logger = LoggerFactory.getLogger(this.getClass());
 
     //@Scheduled(cron = "0 0 2,8,14,20 * * ?")
-    @Scheduled(cron = "0 0 2,8,13,14,17,20 * * ?")
+    //@Scheduled(cron = "0 0 2,8,13,14,17,20 * * ?")
+    @Scheduled(cron = "0 0 0/1 * * ?")
     public void SyncProductWIP() {
-        X5JsonHttpClient x5JsonHttpClient = new X5JsonHttpClient(configuration.getX5appid(),configuration.getX5appkey(),configuration.getX5ProductWIPUrl());
-        Map<String,Object> data = new HashMap<>();
-        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        String format = sf.format(new Date());
-        data.put("request_time",format);
-        List<Map<String,Object>> list = new ArrayList<>();
-        String Sql="select * from (select rownum rn,to_char(cd_date_1,'yyyy-mm-dd hh24:mi:ss') cd_date_ywfs, A.* from (select ct_id,ct_code,CUSTOMTABLEDETAIL.* from CUSTOMTABLE left join CUSTOMTABLEDETAIL on ct_id=cd_ctid " +
-                " where  ct_caller='XiaoMiProductWIP' and ct_id= " +
-                " (select ct_id from (select ct_id from CUSTOMTABLE where ct_caller='XiaoMiProductWIP' and trunc(ct_recorddate)=trunc(sysdate) and ct_statuscode='AUDITED' and nvl(CT_SENDSTATUS,' ')<>'已上传' order by ct_id desc) where rownum=1)" +
-                " order by cd_detno) A) where rn<=1000";
-        SqlRowList rs = baseDao.queryForRowSet(Sql);
-        baseDao.execute("insert into XIAOMIDOCKINGLOG(ML_ID,ML_DATE,ML_CONTENT,ML_RESULT,ML_TYPE)" +
-                "values(XIAOMIDOCKINGLOG_seq.nextval,sysdate,'11上传失败!',to_char(sysdate,'yyyy-mm-dd HH24:mi:ss'),'')");
-        x5JsonHttpClient.post(data, configuration, baseDao, "ProductStock");
-        while (rs.next()){
-            Map<String,Object> map = new HashMap<>();
-            map.put("factory_code",configuration.getX5vendercode());
-            map.put("component_code",rs.getGeneralString("cd_varchar50_1"));
-            map.put("process",rs.getGeneralString("cd_varchar50_2"));
-            map.put("line_id",rs.getGeneralString("cd_varchar50_3"));
-            map.put("site_name",rs.getGeneralString("cd_varchar50_4"));
-            map.put("wip_num",rs.getInt("cd_number_1"));
-            map.put("project_name",rs.getGeneralString("cd_varchar50_5"));
-            map.put("product_code",rs.getGeneralString("cd_varchar50_6"));
-            map.put("fact_date",rs.getGeneralString("cd_date_ywfs"));
-            map.put("ct_id",rs.getGeneralInt("ct_id"));
-            list.add(map);
-        }
-        data.put("data",list);
-        if(list.size()>0){
+        SqlRowList rs2 = baseDao.queryForRowSet("select TO_CHAR(SYSDATE,'HH24') v_hour,TO_CHAR(SYSDATE,'MI') v_mi from dual");
+        if("02".equals(rs2.getGeneralString("v_hour")) || "08".equals(rs2.getGeneralString("v_hour"))
+                || "14".equals(rs2.getGeneralString("v_hour")) || "20".equals(rs2.getGeneralString("v_hour"))){
+            X5JsonHttpClient x5JsonHttpClient = new X5JsonHttpClient(configuration.getX5appid(),configuration.getX5appkey(),configuration.getX5ProductWIPUrl());
+            Map<String,Object> data = new HashMap<>();
+            SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            String format = sf.format(new Date());
+            data.put("request_time",format);
+            List<Map<String,Object>> list = new ArrayList<>();
+            String Sql="select * from (select rownum rn,to_char(cd_date_1,'yyyy-mm-dd hh24:mi:ss') cd_date_ywfs, A.* from (select ct_id,ct_code,CUSTOMTABLEDETAIL.* from CUSTOMTABLE left join CUSTOMTABLEDETAIL on ct_id=cd_ctid " +
+                    " where  ct_caller='XiaoMiProductWIP' and ct_id= " +
+                    " (select ct_id from (select ct_id from CUSTOMTABLE where ct_caller='XiaoMiProductWIP' and trunc(ct_recorddate)=trunc(sysdate) and ct_statuscode='AUDITED' and nvl(CT_SENDSTATUS,' ')<>'已上传' order by ct_id desc) where rownum=1)" +
+                    " order by cd_detno) A) where rn<=1000";
+            SqlRowList rs = baseDao.queryForRowSet(Sql);
             baseDao.execute("insert into XIAOMIDOCKINGLOG(ML_ID,ML_DATE,ML_CONTENT,ML_RESULT,ML_TYPE)" +
-                    "values(XIAOMIDOCKINGLOG_seq.nextval,sysdate,'22上传失败!',to_char(sysdate,'yyyy-mm-dd HH24:mi:ss'),'')");
-            x5JsonHttpClient.post(data, configuration, baseDao, "ProductWIP");
+                    "values(XIAOMIDOCKINGLOG_seq.nextval,sysdate,'11上传失败!',to_char(sysdate,'yyyy-mm-dd HH24:mi:ss'),'')");
+            x5JsonHttpClient.post(data, configuration, baseDao, "ProductStock");
+            while (rs.next()){
+                Map<String,Object> map = new HashMap<>();
+                map.put("factory_code",configuration.getX5vendercode());
+                map.put("component_code",rs.getGeneralString("cd_varchar50_1"));
+                map.put("process",rs.getGeneralString("cd_varchar50_2"));
+                map.put("line_id",rs.getGeneralString("cd_varchar50_3"));
+                map.put("site_name",rs.getGeneralString("cd_varchar50_4"));
+                map.put("wip_num",rs.getInt("cd_number_1"));
+                map.put("project_name",rs.getGeneralString("cd_varchar50_5"));
+                map.put("product_code",rs.getGeneralString("cd_varchar50_6"));
+                map.put("fact_date",rs.getGeneralString("cd_date_ywfs"));
+                map.put("ct_id",rs.getGeneralInt("ct_id"));
+                list.add(map);
+            }
+            data.put("data",list);
+            if(list.size()>0){
+                baseDao.execute("insert into XIAOMIDOCKINGLOG(ML_ID,ML_DATE,ML_CONTENT,ML_RESULT,ML_TYPE)" +
+                        "values(XIAOMIDOCKINGLOG_seq.nextval,sysdate,'22上传失败!',to_char(sysdate,'yyyy-mm-dd HH24:mi:ss'),'')");
+                x5JsonHttpClient.post(data, configuration, baseDao, "ProductWIP");
+            }
         }
     }
 }