From 94957a09881d41800588afeb6b357c29d2f2cdc3 Mon Sep 17 00:00:00 2001
From: aijinhui <aijinhui>
Date: 星期三, 06 九月 2023 15:14:41 +0800
Subject: [PATCH] 设备健康列表

---
 ard-work/pom.xml                                                                   |    6 +
 ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java         |    5 +
 ard-work/src/main/java/com/ruoyi/utils/soap/ARDSoapUtil.java                       |   64 +++++++++++++++++++++
 ard-work/src/main/java/com/ruoyi/health/controller/HealthController.java           |   65 +++++++++++++++++++++
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java |   10 +++
 5 files changed, 149 insertions(+), 1 deletions(-)

diff --git a/ard-work/pom.xml b/ard-work/pom.xml
index cb68f01..a0196e6 100644
--- a/ard-work/pom.xml
+++ b/ard-work/pom.xml
@@ -181,7 +181,11 @@
             <artifactId>javax.xml.rpc-api</artifactId>
             <version>1.1.1</version>
         </dependency>
-
+        <dependency>
+            <groupId>commons-discovery</groupId>
+            <artifactId>commons-discovery</artifactId>
+            <version>0.2</version>
+        </dependency>
     </dependencies>
 
 
diff --git a/ard-work/src/main/java/com/ruoyi/health/controller/HealthController.java b/ard-work/src/main/java/com/ruoyi/health/controller/HealthController.java
new file mode 100644
index 0000000..fa34022
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/health/controller/HealthController.java
@@ -0,0 +1,65 @@
+package com.ruoyi.health.controller;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.system.service.ISysConfigService;
+import com.ruoyi.utils.result.Results;
+import com.ruoyi.utils.soap.ARDSoapUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author Administrator
+ */
+@RestController
+@RequestMapping("/health")
+@Api(tags = "璁惧鍋ュ悍绠$悊")
+public class HealthController {
+
+    @Autowired
+    ISysConfigService configService;
+
+    @PreAuthorize("@ss.hasPermi('sy:syCar:getSDKCarPositionByRight')")
+    @ApiOperation("鑾峰彇璁惧鍒楄〃")
+    @GetMapping("getEquipmentList")
+    public Results getEquipmentList(){
+        String url = configService.getHealth();
+        JSONObject j = new JSONObject();
+
+        Map<String, Object> map = new HashMap();
+        String result = ARDSoapUtil.postSoapResult(url, "GetEquipmentList", map);
+        if ("".equals(result)) {
+            //杩斿洖缁撴灉涓虹┖
+            return Results.error("鏌ヨ澶辫触锛�");
+        }
+        Map<String, Object> mapResult = (Map<String, Object>) JSON.parse((String) result);
+        if ((int) mapResult.get("code") == 200) {
+            j.put("code", mapResult.get("code"));
+            List<Map<String, Object>> listResult = (List<Map<String, Object>>) JSON.parse((String) mapResult.get("resdata"));
+            for (int i = 0; i < listResult.size(); i++) {
+                Map<String, Object> mapTemp = listResult.get(i);
+                int id = (Integer) mapTemp.get("id");  //涓婚敭id
+                String equipKey = (String) mapTemp.get("EquipKey");  //璁惧Key
+                String equipNumber = (String) mapTemp.get("EquipNumber");  //璁惧缂栧彿
+                String equipName = (String) mapTemp.get("EquipName");   //璁惧鍚嶇О
+                String equipLevel = (String) mapTemp.get("EquipLevel");  //璁惧鎶ヨ绛夌骇 0姝e父 1娉ㄦ剰 2涓ラ噸
+                String measureDate = (String) mapTemp.get("MeasureDate");  //鏈�杩戜竴娆℃祴閲忔椂闂�
+                j.put(id + "", mapTemp);
+            }
+        } else {
+            //閿欒鎻愮ず
+            j.put("errmsg", mapResult.get("errmsg"));
+            j.put("code", mapResult.get("code"));
+        }
+        return Results.succeed(j);
+    }
+}
diff --git a/ard-work/src/main/java/com/ruoyi/utils/soap/ARDSoapUtil.java b/ard-work/src/main/java/com/ruoyi/utils/soap/ARDSoapUtil.java
new file mode 100644
index 0000000..bce2914
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/utils/soap/ARDSoapUtil.java
@@ -0,0 +1,64 @@
+package com.ruoyi.utils.soap;
+
+import org.apache.axis.client.Call;
+import org.apache.axis.client.Service;
+import org.apache.axis.encoding.XMLType;
+
+import javax.xml.namespace.QName;
+import java.util.HashMap;
+import java.util.Map;
+
+
+/**璁惧鍋ュ悍鎺ュ彛
+ * 20221130
+ * zj
+ * */
+public class ARDSoapUtil {
+	private static String  url = "http://221.1.80.74:15024/ZX/ZX2WebService.asmx";
+	
+	/**post鏂规硶鑾峰彇鏁版嵁
+	 * String url ,
+	 * **/
+	public static String  postSoapResult(String url , String method ,Map<String , Object> map){
+		try {
+			//瀛楃闆�
+			String encodingStyle = "utf-8";
+			//WSDL鐨勫湴鍧�
+            String endpoint = url + "?wsdl";  
+            //鍛藉悕绌洪棿锛屽湪WSDL涓搴旂殑鏍囩鏄細鍙傝璇存槑绗�3鏉�                                    
+            String targetNamespace = "http://tempuri.org/";
+            //鍏蜂綋鏂规硶鐨勮皟鐢║RI锛屽湪WSDL涓搴旂殑鏍囩鏄細鍙傝璇存槑绗�4鏉�
+            String soapActionURI = "http://tempuri.org/" + method;
+            //鍏蜂綋璋冪敤鐨勬柟娉曞悕锛屽湪WSDL涓搴旂殑鏍囩鏄細鍙傝璇存槑绗�5鏉�
+           
+            Service service = new Service();  
+            Call call = (Call) service.createCall(); 
+            call.setSOAPActionURI(soapActionURI);
+            call.setTargetEndpointAddress(new java.net.URL(endpoint));  //璁剧疆鐩爣鎺ュ彛鐨勫湴鍧�
+            call.setEncodingStyle(encodingStyle);//璁剧疆浼犲叆鏈嶅姟绔殑瀛楃闆嗘牸寮忓utf-8绛�
+            call.setOperationName(new QName(targetNamespace,method));// 鍏蜂綋璋冪敤鐨勬柟娉曞悕锛屽彲浠ョ敱鎺ュ彛鎻愪緵鏂瑰憡璇変綘锛屼篃鍙互鑷繁浠嶹SDL涓壘  
+            call.setUseSOAPAction(true);
+//			call.setReturnType(XMLType.XSD_STRING);
+            Object[] o = new Object[map.size()];
+            int i=0;
+            for (String key :map.keySet() ){
+            	 call.addParameter(new QName(targetNamespace , key),
+                 		XMLType.XSD_INTEGER,
+                 		javax.xml.rpc.ParameterMode.IN);
+            	 o[i] = map.get(key);
+            	 i++;
+            }
+            String  result =  (String) call.invoke(o);
+            // 鎵撳嵃杩斿洖鍊�
+            System.out.println("result is :"+result);
+            return result;
+		} catch (Exception e) {
+			e.printStackTrace();
+			return "";
+		}
+		
+	}
+
+}
+
+	
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java
index 6aebca6..6305d48 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java
@@ -93,4 +93,9 @@
      */
     String getSYURL();
 
+    /**
+     * 璁惧鍋ュ悍绠$悊
+     * @return
+     */
+    String getHealth();
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
index 3a42b75..95141d2 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
@@ -240,4 +240,14 @@
             return "";
         }
     }
+
+    @Override
+    public String getHealth() {
+        List<SysConfig> result = configMapper.selectByType("health");
+        if(result.size() > 0){
+            return result.get(0).getConfigValue();
+        }else{
+            return "";
+        }
+    }
 }

--
Gitblit v1.9.3