Bläddra i källkod

【盛威尔-华润微-按过账日期对接】

DINGYL 1 månad sedan
förälder
incheckning
3f45c2648a

+ 1 - 0
src/main/java/com/uas/eis/service/ERPService.java

@@ -18,4 +18,5 @@ import java.util.Map;
 public interface ERPService {
     Map<String, Object> sendProdIO(String master, int id,String action) throws Exception;
     void dockProdIoSale(String master) throws Exception;
+    void dockProdIoSale_deal(String master,int dockid) throws Exception;
 }

+ 40 - 0
src/main/java/com/uas/eis/service/Impl/ERPServiceImpl.java

@@ -205,6 +205,7 @@ public class ERPServiceImpl implements ERPService {
             TreeMap<String, String> publicParams = buildPublicParams(time_Stamp);
             // 3. 生成签名
             String sign = generateSign(publicParams, reqData);
+            publicParams.put("Sign", sign);
             String ssdp = buildSsdp(publicParams);
             String url=API_URL+"?ssdp="+ssdp;
             HttpUtil.Response response = HttpUtil.doPost(url, reqData, false, null);
@@ -228,4 +229,43 @@ public class ERPServiceImpl implements ERPService {
             logger.info("DockProdIoSale-"+master+"  n=0 {}",sdf.format(new Date()));
         }
     }
+
+    @Override
+    public void dockProdIoSale_deal(String master, int dockid_) throws Exception {
+        SpObserver.putSp(master);
+        int n=baseDao.getCount("select count(1) from PRODIO_DOCK_BYDATE_REC where DOCKID_="+dockid_);
+        if(n>0){
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
+            sdf.setTimeZone(TimeZone.getTimeZone("GMT+8"));
+            String time_Stamp= sdf.format(new Date());
+            // 1. 构造业务数据
+            JSONArray businessData = buildBusinessDataByDate(dockid_);
+            String reqData = com.alibaba.fastjson.JSONArray.toJSONString(businessData);
+            // 2. 构造公共参数
+            TreeMap<String, String> publicParams = buildPublicParams(time_Stamp);
+            // 3. 生成签名
+            String sign = generateSign(publicParams, reqData);
+            publicParams.put("Sign", sign);
+            String ssdp = buildSsdp(publicParams);
+            String url=API_URL+"?ssdp="+ssdp;
+            HttpUtil.Response response = HttpUtil.doPost(url, reqData, false, null);
+            if (response.getStatusCode() == HttpStatus.OK.value()){
+                String res=response.getResponseText();
+                if(StringUtil.hasText(res)){
+                    String logSql="insert into dockProdSaleLog(id_,date_,count_,time_Stamp,sign,ssdp,reqData,res,dockid_) " +
+                            " values(DOCKPRODIOLOG_SEQ.nextval,sysdate,"+n+",'"+time_Stamp+"','"+sign+"','"+ssdp+"','"+reqData+"','"+res+"',"+dockid_+")";
+                    baseDao.execute(logSql);
+                }else{
+                    String logSql="insert into dockProdSaleLog(id_,date_,count_,time_Stamp,sign,ssdp,reqData,dockid_) " +
+                            " values(DOCKPRODIOLOG_SEQ.nextval,sysdate,"+n+",'"+time_Stamp+"','"+sign+"','"+ssdp+"','"+reqData+"',"+dockid_+")";
+                    baseDao.execute(logSql);
+                }
+            }else{
+                String logSql="insert into dockProdSaleLog(id_,date_,count_,time_Stamp,sign,ssdp,reqData,dockid_,res,dockid_) " +
+                        " values(DOCKPRODIOLOG_SEQ.nextval,sysdate,"+n+",'"+time_Stamp+"','"+sign+"','"+ssdp+"','"+reqData+"','"+response.getStatusCode()+"',"+dockid_+")";
+                baseDao.execute(logSql);
+            }
+        }
+
+    }
 }

+ 1 - 1
src/test/java/com/uas/eis/UasEisApplicationTests.java

@@ -28,7 +28,7 @@ public class UasEisApplicationTests {
 	@Test
 	public void Test1() throws Exception {
 		String master="SENGWILL";
-		erpService.dockProdIoSale(master);
+		erpService.dockProdIoSale_deal(master,21);
 
 	}