From 55b0cb49a929591ebb18df62aa5d68636d4c7e9c Mon Sep 17 00:00:00 2001
From: 懒羊羊 <15939171744@163.com>
Date: 星期一, 22 一月 2024 16:22:23 +0800
Subject: [PATCH] 定时任务

---
 jcdm-quartz/src/main/java/com/jcdm/quartz/task/RyTask.java                      |   60 +++++++++++++++
 jcdm-main/src/main/java/com/jcdm/main/webservice/service/ReportingForWork.java  |   78 +++++++++++++++++++
 jcdm-quartz/pom.xml                                                             |    5 +
 jcdm-main/src/main/java/com/jcdm/main/webservice/service/ReceivingServices.java |   66 +++++++++++++--
 4 files changed, 198 insertions(+), 11 deletions(-)

diff --git a/jcdm-main/src/main/java/com/jcdm/main/webservice/service/ReceivingServices.java b/jcdm-main/src/main/java/com/jcdm/main/webservice/service/ReceivingServices.java
index af08e28..7bcd85e 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/webservice/service/ReceivingServices.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/webservice/service/ReceivingServices.java
@@ -2,6 +2,9 @@
 
 
 import cn.hutool.json.JSONObject;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.gson.Gson;
 import com.google.gson.JsonObject;
 import com.jcdm.main.da.collectionParamConf.service.IDaCollectionParamConfService;
@@ -40,16 +43,28 @@
 //        test1();
 
 //        String serviceUrl = "http://podqapp.cfmoto.com.cn:50200/XISOAPAdapter/MessageServlet?senderParty=&senderService=BC_MES&receiverParty=&receiverService=&interface=SI_ZPP_CF_MES_005_SYN_OUT&interfaceNamespace=http://cfmoto.com/xi/MES";
-//
+//        String serviceUrl = "http://podqapp.cfmoto.com.cn:50200/XISOAPAdapter/MessageServlet?senderParty=&senderService=BC_MES&receiverParty=&receiverService=&interface=SI_ZPP_CF_BC_001_SYN_OUT&interfaceNamespace=http://cfmoto.com/xi/MES";
+////        String content = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:urn=\"urn:sap-com:document:sap:rfc:functions\">\n" +
+////                "   <soapenv:Header/>\n" +
+////                "   <soapenv:Body>\n" +
+////                "      <urn:ZPP_CF_MES_005>\n" +
+////                "         <!--Optional:-->\n" +
+////                "         <IV_WERKS>1000</IV_WERKS>\n" +
+////                "         <!--Optional:-->\n" +
+////                "         <IV_ZSCTZD>A0055577</IV_ZSCTZD>\n" +
+////                "      </urn:ZPP_CF_MES_005>\n" +
+////                "   </soapenv:Body>\n" +
+////                "</soapenv:Envelope>";
 //        String content = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:urn=\"urn:sap-com:document:sap:rfc:functions\">\n" +
 //                "   <soapenv:Header/>\n" +
 //                "   <soapenv:Body>\n" +
-//                "      <urn:ZPP_CF_MES_005>\n" +
-//                "         <!--Optional:-->\n" +
-//                "         <IV_WERKS>1000</IV_WERKS>\n" +
-//                "         <!--Optional:-->\n" +
-//                "         <IV_ZSCTZD>A0055577</IV_ZSCTZD>\n" +
-//                "      </urn:ZPP_CF_MES_005>\n" +
+//                "      <urn:ZPP_BC_001>\n" +
+//                "         <IV_AUFNR>000010569212</IV_AUFNR>\n" +
+//                "          <IV_VORNR>0010</IV_VORNR>\n" +
+//                "           <IV_LMNGA>1</IV_LMNGA>\n" +
+//                "           <IV_XMNGA>0</IV_XMNGA>   \n" +
+//                "         <IV_STATU>1</IV_STATU>  \n" +
+//                "      </urn:ZPP_BC_001>\n" +
 //                "   </soapenv:Body>\n" +
 //                "</soapenv:Envelope>";
 //        // HttpClient鍙戦�丼OAP璇锋眰
@@ -79,10 +94,10 @@
 //            InputStream is = postMethod.getResponseBodyAsStream();
 //            // 鑾峰彇璇锋眰缁撴灉瀛楃涓�
 //            String result = IOUtils.toString(is);
-//            String jsonStr = xmlToJSON2(result);
-//            Gson gson = new Gson();
-//            // 灏唈son瀛楃涓茶浆鎹㈡垚瀵硅薄
-//            ItemList itemList = gson.fromJson(jsonStr, ItemList.class);
+////            String jsonStr = xmlToJSON2(result);
+////            Gson gson = new Gson();
+////            // 灏唈son瀛楃涓茶浆鎹㈡垚瀵硅薄
+////            ItemList itemList = gson.fromJson(jsonStr, ItemList.class);
 //            System.out.println("杩斿洖缁撴灉:" + result);
 //        } else {
 //            System.out.println("閿欒浠g爜锛�" + status + ":" + postMethod.getResponseBodyAsString());
@@ -195,4 +210,33 @@
         return etData.toString();
     }
 
+    /**
+     * 鏂瑰紡--璐�
+     * 浣跨敤hutool宸ュ叿鍖呬腑鐨勫伐鍏疯浆鍖�
+     * @param xmlStr
+     * @return
+     */
+    public static String xmlToJSON3(String xmlStr){
+        String status = "";
+        if(xmlStr.contains("EV_STATUS")){
+            JSONObject jsonObject1 = cn.hutool.json.XML.toJSONObject(xmlStr, true);
+
+            ObjectMapper objectMapper = new ObjectMapper();
+            JsonNode rootNode = null;
+            try {
+                rootNode = objectMapper.readTree(String.valueOf(jsonObject1));
+            } catch (JsonProcessingException e) {
+                throw new RuntimeException(e);
+            }
+            String evStatus = rootNode
+                    .path("SOAP:Envelope")
+                    .path("SOAP:Body")
+                    .path("n0:ZPP_BC_001.Response")
+                    .path("EV_STATUS")
+                    .asText();
+            status = evStatus;
+        }
+        return status;
+    }
+
 }
diff --git a/jcdm-main/src/main/java/com/jcdm/main/webservice/service/ReportingForWork.java b/jcdm-main/src/main/java/com/jcdm/main/webservice/service/ReportingForWork.java
new file mode 100644
index 0000000..9447ace
--- /dev/null
+++ b/jcdm-main/src/main/java/com/jcdm/main/webservice/service/ReportingForWork.java
@@ -0,0 +1,78 @@
+package com.jcdm.main.webservice.service;
+
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.UsernamePasswordCredentials;
+import org.apache.commons.httpclient.auth.AuthScope;
+import org.apache.commons.httpclient.methods.PostMethod;
+import org.apache.commons.httpclient.methods.RequestEntity;
+import org.apache.commons.httpclient.methods.StringRequestEntity;
+import org.apache.commons.io.IOUtils;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+
+public class ReportingForWork {
+    public static void main(String[] args) throws IOException {
+        String serviceUrl = "http://podqapp.cfmoto.com.cn:50200/XISOAPAdapter/MessageServlet?senderParty=&senderService=BC_MES&receiverParty=&receiverService=&interface=SI_ZPP_CF_BC_001_SYN_OUT&interfaceNamespace=http://cfmoto.com/xi/MES";
+//        String content = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:urn=\"urn:sap-com:document:sap:rfc:functions\">\n" +
+//                "   <soapenv:Header/>\n" +
+//                "   <soapenv:Body>\n" +
+//                "      <urn:ZPP_CF_MES_005>\n" +
+//                "         <!--Optional:-->\n" +
+//                "         <IV_WERKS>1000</IV_WERKS>\n" +
+//                "         <!--Optional:-->\n" +
+//                "         <IV_ZSCTZD>A0055577</IV_ZSCTZD>\n" +
+//                "      </urn:ZPP_CF_MES_005>\n" +
+//                "   </soapenv:Body>\n" +
+//                "</soapenv:Envelope>";
+        String content = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:urn=\"urn:sap-com:document:sap:rfc:functions\">\n" +
+                "   <soapenv:Header/>\n" +
+                "   <soapenv:Body>\n" +
+                "      <urn:ZPP_BC_001>\n" +
+                "         <IV_AUFNR>000010569212</IV_AUFNR>\n" +
+                "          <IV_VORNR>0010</IV_VORNR>\n" +
+                "           <IV_LMNGA>1</IV_LMNGA>\n" +
+                "           <IV_XMNGA>0</IV_XMNGA>   \n" +
+                "         <IV_STATU>1</IV_STATU>  \n" +
+                "      </urn:ZPP_BC_001>\n" +
+                "   </soapenv:Body>\n" +
+                "</soapenv:Envelope>";
+        // HttpClient鍙戦�丼OAP璇锋眰
+        int timeout = 10000;
+        HttpClient client = new HttpClient();
+        //濡傛灉闇�瑕佺敤鎴峰悕瀵嗙爜楠岃瘉锛涗笉闇�瑕侀獙璇佺櫥褰曞垯涓嶉渶瑕佷互涓�4琛�
+        String username = "POMESUSER";
+        String password = "12345tgb";
+        UsernamePasswordCredentials creds = new UsernamePasswordCredentials(username, password);
+        client.getState().setCredentials(AuthScope.ANY, creds);
+
+        PostMethod postMethod = new PostMethod(serviceUrl);
+        // 璁剧疆杩炴帴瓒呮椂
+        client.getHttpConnectionManager().getParams().setConnectionTimeout(timeout);
+        // 璁剧疆璇诲彇鏃堕棿瓒呮椂
+        client.getHttpConnectionManager().getParams().setSoTimeout(timeout);
+        // 鐒跺悗鎶奡oap璇锋眰鏁版嵁娣诲姞鍒癙ostMethod涓�
+        RequestEntity requestEntity = new StringRequestEntity(content, "text/xml", "UTF-8");
+
+        // 璁剧疆璇锋眰澶撮儴锛屽惁鍒欏彲鑳戒細鎶� 鈥渘o SOAPAction header鈥� 鐨勯敊璇�
+        postMethod.setRequestHeader("SOAPAction", "");
+        // 璁剧疆璇锋眰浣�
+        postMethod.setRequestEntity(requestEntity);
+        int status = client.executeMethod(postMethod);
+
+        if (status == 200) {// 鎴愬姛
+            InputStream is = postMethod.getResponseBodyAsStream();
+            // 鑾峰彇璇锋眰缁撴灉瀛楃涓�
+            String result = IOUtils.toString(is);
+//            String jsonStr = xmlToJSON2(result);
+//            Gson gson = new Gson();
+//            // 灏唈son瀛楃涓茶浆鎹㈡垚瀵硅薄
+//            ItemList itemList = gson.fromJson(jsonStr, ItemList.class);
+            System.out.println("杩斿洖缁撴灉:" + result);
+        } else {
+            System.out.println("閿欒浠g爜锛�" + status + ":" + postMethod.getResponseBodyAsString());
+        }
+    }
+}
+
diff --git a/jcdm-quartz/pom.xml b/jcdm-quartz/pom.xml
index 145876e..fd2d43a 100644
--- a/jcdm-quartz/pom.xml
+++ b/jcdm-quartz/pom.xml
@@ -35,6 +35,11 @@
             <artifactId>jcdm-common</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>com.jcdm</groupId>
+            <artifactId>jcdm-main</artifactId>
+        </dependency>
+
     </dependencies>
 
 </project>
\ No newline at end of file
diff --git a/jcdm-quartz/src/main/java/com/jcdm/quartz/task/RyTask.java b/jcdm-quartz/src/main/java/com/jcdm/quartz/task/RyTask.java
index d0f1e89..5752e5b 100644
--- a/jcdm-quartz/src/main/java/com/jcdm/quartz/task/RyTask.java
+++ b/jcdm-quartz/src/main/java/com/jcdm/quartz/task/RyTask.java
@@ -1,7 +1,13 @@
 package com.jcdm.quartz.task;
 
+import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling;
+import com.jcdm.main.bs.orderScheduling.service.IBsOrderSchedulingService;
+import com.jcdm.main.webservice.service.ReceivingServices;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import com.jcdm.common.utils.StringUtils;
+
+import java.util.List;
 
 /**
  * 瀹氭椂浠诲姟璋冨害娴嬭瘯
@@ -25,4 +31,58 @@
     {
         System.out.println("鎵ц鏃犲弬鏂规硶");
     }
+
+    @Autowired
+    private IBsOrderSchedulingService bsOrderSchedulingService;
+    String url = "http://podqapp.cfmoto.com.cn:50200/XISOAPAdapter/MessageServlet?senderParty=&senderService=BC_MES&receiverParty=&receiverService=&interface=SI_ZPP_CF_BC_001_SYN_OUT&interfaceNamespace=http://cfmoto.com/xi/MES";
+    public void workReportingTasks(){
+        report10();
+        report20();
+    }
+
+    public void report10(){
+        BsOrderScheduling bsOrderScheduling = new BsOrderScheduling();
+        bsOrderScheduling.setReport10("0");
+        List<BsOrderScheduling> bsOrderSchedulings = bsOrderSchedulingService.selectBsOrderSchedulingList(bsOrderScheduling);
+        for (BsOrderScheduling orderScheduling : bsOrderSchedulings) {
+            String xmlResult = ReceivingServices.getInterfaceInformationXml(url, getProductionPlanInformationXml(orderScheduling.getOrderNo(), "0010"));
+            String status = ReceivingServices.xmlToJSON3(xmlResult);
+            if(status.equals("1")){
+                orderScheduling.setReport10("1");
+                int i = bsOrderSchedulingService.updateBsOrderScheduling(orderScheduling);
+                System.out.println("鏇存柊鐘舵�佹垚鍔�");
+            }
+        }
+    }
+
+    public void report20(){
+        BsOrderScheduling bsOrderScheduling = new BsOrderScheduling();
+        bsOrderScheduling.setReport20("0");
+        List<BsOrderScheduling> bsOrderSchedulings = bsOrderSchedulingService.selectBsOrderSchedulingList(bsOrderScheduling);
+        for (BsOrderScheduling orderScheduling : bsOrderSchedulings) {
+            String xmlResult = ReceivingServices.getInterfaceInformationXml(url, getProductionPlanInformationXml(orderScheduling.getOrderNo(), "0790"));
+            String status = ReceivingServices.xmlToJSON3(xmlResult);
+            if(status.equals("1")){
+                orderScheduling.setReport10("1");
+                int i = bsOrderSchedulingService.updateBsOrderScheduling(orderScheduling);
+                System.out.println("鏇存柊鐘舵�佹垚鍔�");
+            }
+        }
+    }
+
+    public static String getProductionPlanInformationXml(String orderNo,String location){
+        String content = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:urn=\"urn:sap-com:document:sap:rfc:functions\">\n" +
+                "   <soapenv:Header/>\n" +
+                "   <soapenv:Body>\n" +
+                "      <urn:ZPP_BC_001>\n" +
+                "         <IV_AUFNR>"+orderNo+"</IV_AUFNR>\n" +
+                "          <IV_VORNR>"+location+"</IV_VORNR>\n" +
+                "           <IV_LMNGA>1</IV_LMNGA>\n" +
+                "           <IV_XMNGA>0</IV_XMNGA>   \n" +
+                "         <IV_STATU>1</IV_STATU>  \n" +
+                "      </urn:ZPP_BC_001>\n" +
+                "   </soapenv:Body>\n" +
+                "</soapenv:Envelope>";
+        return content;
+    }
 }

--
Gitblit v1.9.3