Переглянути джерело

【博思达】【小米物料WIP对接 修改】

samhoo 3 роки тому
батько
коміт
28a737b84b

+ 7 - 11
src/main/java/com/uas/eis/task/SyncProductStockTask.java

@@ -1,6 +1,5 @@
 package com.uas.eis.task;
 
-import com.alibaba.fastjson.JSON;
 import com.uas.eis.dao.BaseDao;
 import com.uas.eis.dao.SqlRowList;
 import com.uas.eis.task.httpclient.X5JsonHttpClient;
@@ -35,18 +34,16 @@ public class SyncProductStockTask {
 
     @Scheduled(cron = "0 0/1 * * * ?")
     public void SyncProductStock() {
-        System.out.println("13434");
         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());
-        System.out.println("format:"+format);
         data.put("request_time",format);
         List<Map<String,Object>> list = new ArrayList<>();
-        String Sql="select * from (select rownum rn, A.* from (select ct_code,CUSTOMTABLEDETAIL.*,nvl(remain_sum,0) remain_sum,nvl(pr_unit,'PCS') pr_unit from CUSTOMTABLE left join CUSTOMTABLEDETAIL on ct_id=cd_ctid " +
-                "                 left join (select ba_prodcode,sum(ba_remain) remain_sum from batch where nvl(ba_remain,0)>0 group by ba_prodcode) A on ba_prodcode=cd_varchar50_1 " +
-                "                 left join product on cd_varchar50_1=pr_code " +
-                "                 where 1=2 and ct_caller='XiaoMiProduct' order by cd_detno) A) where rn<=5 and rn>4";
+        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);
         while (rs.next()){
             Map<String,Object> map = new HashMap<>();
@@ -57,13 +54,12 @@ public class SyncProductStockTask {
             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("remain_sum"));
-            map.put("stock_unit",rs.getGeneralString("pr_unit"));
+            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);
-        System.out.println("1啊"+data);
-        System.out.println("2啊"+ JSON.toJSONString(data));
         if(list.size()>0){
             x5JsonHttpClient.post(data, configuration, baseDao, "ProductStock");
         }

+ 2 - 4
src/main/java/com/uas/eis/task/SyncProductWIPTask.java

@@ -1,6 +1,5 @@
 package com.uas.eis.task;
 
-import com.alibaba.fastjson.JSON;
 import com.uas.eis.dao.BaseDao;
 import com.uas.eis.dao.SqlRowList;
 import com.uas.eis.task.httpclient.X5JsonHttpClient;
@@ -39,12 +38,11 @@ public class SyncProductWIPTask {
         Map<String,Object> data = new HashMap<>();
         SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         String format = sf.format(new Date());
-        System.out.println("format:"+format);
         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_code,CUSTOMTABLEDETAIL.* from CUSTOMTABLE left join CUSTOMTABLEDETAIL on ct_id=cd_ctid " +
+        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 ct_statuscode='AUDITED' and nvl(CT_SENDSTATUS, ' ')<>'已上传' order by ct_id desc) where rownum=1)" +
+                " (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);
         while (rs.next()){

+ 5 - 6
src/main/java/com/uas/eis/task/httpclient/X5JsonHttpClient.java

@@ -18,7 +18,6 @@ import org.slf4j.LoggerFactory;
 
 import javax.xml.bind.DatatypeConverter;
 import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -54,7 +53,6 @@ public class X5JsonHttpClient extends X5HttpClient {
             bodyString = JSON.toJSONString(body);
         }
         String sign = upperCase(DigestUtils.md5Hex(appid + bodyString + appkey));
-        System.out.println("3啊"+sign);
         //拼装header信息
         X5RequestHeader header = new X5RequestHeader();
         header.setAppid(appid);
@@ -66,7 +64,6 @@ public class X5JsonHttpClient extends X5HttpClient {
         x5Request.setBody(bodyString);
         //构造请求参数
         String data = X5StringUtils.encodeBase64(JSON.toJSONString(x5Request));
-        System.out.println("4啊"+data);
         String encoding = null;
         String account=configuration.getX5username()+":"+configuration.getX5password();
         try {
@@ -74,11 +71,9 @@ public class X5JsonHttpClient extends X5HttpClient {
         } catch (UnsupportedEncodingException e) {
             e.printStackTrace();
         }
-        System.out.println("5啊"+encoding);
         try {
             Response executeResult = Request.Post(url).addHeader("Content-Type", "application/x-www-form-urlencoded").setHeader("Authorization","Basic " + encoding).connectTimeout(DEFAULT_COMMECT_TIMEOUT).socketTimeout(DEFAULT_SOCKET_TIMEOUT).bodyForm(Form.form().add("data", data).build()).execute();
             HttpResponse httpResponse = executeResult.returnResponse();
-            System.out.println("6啊"+httpResponse);
             StatusLine statusLine = httpResponse.getStatusLine();
             int statusCode = statusLine.getStatusCode();
             String responseContent = EntityUtils.toString(httpResponse.getEntity(), "utf-8");
@@ -90,12 +85,16 @@ public class X5JsonHttpClient extends X5HttpClient {
                 Map<String,Object> datas = (Map<String,Object>) body;
                 List<Map<String,Object>> list = (List<Map<String,Object>>) datas.get("data");
                 if(list.size()>0){
-                    System.out.println("112233啊:update CUSTOMTABLE set CT_SENDSTATUS='已上传' where ct_id="+list.get(0).get("ct_id"));
                     baseDao.execute("update CUSTOMTABLE set CT_SENDSTATUS='已上传',ct_senddate=sysdate where ct_id="+list.get(0).get("ct_id"));
                 }
             } else {
                 baseDao.execute("insert into XIAOMIDOCKINGLOG(ML_ID,ML_DATE,ML_CONTENT,ML_RESULT,ML_TYPE)" +
                         "values(XIAOMIDOCKINGLOG_seq.nextval,sysdate,'上传失败!','"+statusLine.getStatusCode() + " " + statusLine.getReasonPhrase()+"','"+kind+"')");
+                Map<String,Object> datas = (Map<String,Object>) body;
+                List<Map<String,Object>> list = (List<Map<String,Object>>) datas.get("data");
+                if(list.size()>0){
+                    baseDao.execute("update CUSTOMTABLE set CT_ERROR='状态码:"+statusLine.getStatusCode()+"错误:"+statusLine.getReasonPhrase()+"',ct_senddate=sysdate where ct_id="+list.get(0).get("ct_id"));
+                }
                 logger.info("时间:"+new Date()+"状态码:"+statusLine.getStatusCode()+"错误:"+statusLine.getReasonPhrase());
                 throw new HttpResponseException(statusLine.getStatusCode(), statusLine.getStatusCode() + " " + statusLine.getReasonPhrase());
             }