| ard-work/pom.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ard-work/src/main/java/com/ruoyi/health/controller/HealthController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ard-work/src/main/java/com/ruoyi/utils/soap/ARDSoapUtil.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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> 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正常 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); } } 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/"; //具体方法的调用URI,在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));// 具体调用的方法名,可以由接口提供方告诉你,也可以自己从WSDL中找 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 ""; } } } ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java
@@ -93,4 +93,9 @@ */ String getSYURL(); /** * 设备健康管理 * @return */ String getHealth(); } 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 ""; } } }