Parcourir la source

增加wsdl服务的调用

尚正平 il y a 2 ans
Parent
commit
e85d6113d5
2 fichiers modifiés avec 156 ajouts et 26 suppressions
  1. 6 6
      pom.xml
  2. 150 20
      src/main/java/com/diagbot/facade/BehospitalInfoFacade.java

+ 6 - 6
pom.xml

@@ -203,13 +203,13 @@
             <artifactId>easypoi-spring-boot-starter</artifactId>
             <version>${easypoi.version}</version>
         </dependency>
-
+<!--
         <dependency>
             <groupId>com.oracle</groupId>
             <artifactId>ojdbc6</artifactId>
             <version>11.2.0.3</version>
         </dependency>
-
+-->
         <dependency>
             <groupId>com.microsoft.sqlserver</groupId>
             <artifactId>mssql-jdbc</artifactId>
@@ -282,7 +282,7 @@
 
 
 
-    <!-- 私有仓库 -->
+    <!-- 私有仓库 
     <repositories>
         <repository>
             <id>nexus-releases</id>
@@ -294,8 +294,8 @@
             <name>Nexus Snapshot Repository</name>
             <url>http://192.168.2.236:8081/repository/maven-snapshots/</url>
         </repository>
-    </repositories>
-    <!-- 私有仓库 -->
+    </repositories>-->
+    <!-- 私有仓库 
     <pluginRepositories>
         <pluginRepository>
             <id>nexus-releases</id>
@@ -314,7 +314,7 @@
             </snapshots>
         </pluginRepository>
     </pluginRepositories>
-
+-->
     <distributionManagement>
         <repository>
             <id>nexus-releases</id>

+ 150 - 20
src/main/java/com/diagbot/facade/BehospitalInfoFacade.java

@@ -1,12 +1,97 @@
 package com.diagbot.facade;
 
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.axis.client.Call;
+import org.apache.axis.client.Service;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.util.EntityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.TypeReference;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.client.AuthServiceClient;
-import com.diagbot.dto.*;
-import com.diagbot.entity.*;
+import com.diagbot.dto.AlgorithmDTO;
+import com.diagbot.dto.AnalyzeDTO;
+import com.diagbot.dto.AnalyzeRunDTO;
+import com.diagbot.dto.BehosDTO;
+import com.diagbot.dto.BehospitalInfoDTO;
+import com.diagbot.dto.ExportExcelBehospitalDTO;
+import com.diagbot.dto.ExportExcelDTO;
+import com.diagbot.dto.ExportExcelWideBehospitalDTO;
+import com.diagbot.dto.ExportWideExcelDTO;
+import com.diagbot.dto.MedLisResultDTO;
+import com.diagbot.dto.MedPacsResultDTO;
+import com.diagbot.dto.MedicalRecordDTO;
+import com.diagbot.dto.MsgApiDTO;
+import com.diagbot.dto.MsgDTO;
+import com.diagbot.dto.OutputInfo;
+import com.diagbot.dto.QcCasesEntryDTO;
+import com.diagbot.dto.QcModeDTO;
+import com.diagbot.dto.QcResultApiDTO;
+import com.diagbot.dto.QcResultDTO;
+import com.diagbot.dto.QuestionEntryDTO;
+import com.diagbot.dto.RecordContentDTO;
+import com.diagbot.dto.Response;
+import com.diagbot.entity.BehospitalInfo;
+import com.diagbot.entity.DoctorAdvice;
+import com.diagbot.entity.HomeDiagnoseInfo;
+import com.diagbot.entity.HomeOperationInfo;
+import com.diagbot.entity.HomePage;
+import com.diagbot.entity.MedCheckInfo;
+import com.diagbot.entity.MedCrisisInfo;
+import com.diagbot.entity.MedNurse;
+import com.diagbot.entity.MedTransferRecord;
+import com.diagbot.entity.MedicalRecord;
+import com.diagbot.entity.RePlaceData;
+import com.diagbot.entity.StrAdmissionNote;
+import com.diagbot.entity.StrBloodResult;
+import com.diagbot.entity.StrBloodTransfusion;
+import com.diagbot.entity.StrConsultationApply;
+import com.diagbot.entity.StrConsultationNote;
+import com.diagbot.entity.StrConsultationRecord;
+import com.diagbot.entity.StrConsultationResult;
+import com.diagbot.entity.StrCrisisNote;
+import com.diagbot.entity.StrDeathDiscussion;
+import com.diagbot.entity.StrDeathNote;
+import com.diagbot.entity.StrDifficultCase;
+import com.diagbot.entity.StrFirstRecord;
+import com.diagbot.entity.StrIllCritically;
+import com.diagbot.entity.StrIllSeriousl;
+import com.diagbot.entity.StrInvasiveOperativeNote;
+import com.diagbot.entity.StrLeaveHospital;
+import com.diagbot.entity.StrOperativeFirstRecord;
+import com.diagbot.entity.StrOperativeNote;
+import com.diagbot.entity.StrPeriodConclusion;
+import com.diagbot.entity.StrPreoperativeDiscussion;
+import com.diagbot.entity.StrRescueNote;
+import com.diagbot.entity.StrTransferInNote;
+import com.diagbot.entity.StrTransferOutNote;
+import com.diagbot.entity.StrWardRecord;
+import com.diagbot.entity.SysHospitalSet;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
@@ -21,7 +106,6 @@ import com.diagbot.util.MapUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.util.SysUserUtils;
 import com.diagbot.vo.AlgorithmVO;
-import com.diagbot.vo.AnalyzeApiVO;
 import com.diagbot.vo.AnalyzeCdsVO;
 import com.diagbot.vo.AnalyzeCodeVO;
 import com.diagbot.vo.AnalyzeRunVO;
@@ -38,19 +122,6 @@ import com.diagbot.vo.TaskVO;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
-import org.apache.commons.lang3.StringUtils;
-import org.apache.poi.ss.formula.functions.T;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Component;
-
-import javax.servlet.http.HttpServletResponse;
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.time.LocalDateTime;
-import java.util.*;
-import java.util.stream.Collectors;
-
 /**
  * @Description:
  * @author: zhoutg
@@ -469,7 +540,8 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         );
 
         // 有创操作记录
-        List<StrInvasiveOperativeNote> strInvasiveOperativeNoteList = strInvasiveOperativeNoteFacade.list(new QueryWrapper<StrInvasiveOperativeNote>()
+        List<StrInvasiveOperativeNote> strInvasiveOperativeNoteList = strInvasiveOperativeNoteFacade.list(
+        		new QueryWrapper<StrInvasiveOperativeNote>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("hospital_id", hospitalId)
                 .eq("behospital_code", analyzeVO.getBehospitalCode())
@@ -1625,13 +1697,71 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
 	        else resMapData.put("details", EntityUtil.makeEntityListMap(msgApiDTOList, "modelName"));
         }
         
-        
+        if(msgDTOList.size() >0) {
+//        	StringBuffer sb =new StringBuffer();
+//        	sb.append("strHospitalID=xmdwyy&");
+//        	sb.append("strPatientID="+behospitalInfo.getFileCode()+"&");
+//        	sb.append("strVisitNo="+ analyzeVO.getBehospitalCode()+"&");
+//        	sb.append("strVisitType=2&");
+//        	sb.append("strUserID="+behospitalInfo.getBehDoctorId()+"&");
+//        	StringBuffer sbb = new StringBuffer();
+//        	for (MsgDTO dto : msgDTOList) {
+//        		sbb.append(dto.getModelName()+"因"+dto.getMsg()+"扣了"+dto.getScore()+"\n");
+//        	}
+//        	sb.append("strMessageContent="+sbb.toString()+"&");
+//        	sb.append("strMessageType=&");
+//        	sb.append("strSourceName=lantone&");
+//        	sb.append("strToken=54A1CE1F-397A-413D-9E63-59595BA07726");
+//        	
+//        	HttpPost httpPost = new HttpPost("http://192.168.12.210/kemr.service.pub/VisitService.asmx");
+//        	httpPost.setHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
+//        	httpPost.setEntity(new StringEntity(sb.toString(),"utf-8"));
+//        	
+//    		CloseableHttpResponse response2 = HttpClients.createDefault().execute(httpPost);
+//    		System.out.println(response2.getStatusLine().getStatusCode());
+//        	String result = EntityUtils.toString(response2.getEntity());
+//        	System.out.println(result);
+        	
+        	
+        	try {
+        	
+	        	 String endpoint = "http://192.168.12.210/kemr.service.pub/VisitService.asmx?wsdl";  
+	             // 直接引用远程的wsdl文件  
+	             // 以下都是套路  
+	             Service service = new Service();  
+	             Call call = (Call) service.createCall();  
+	             call.setTargetEndpointAddress(endpoint);  
+	             call.setOperationName("SendMessage");// WSDL里面描述的接口名称  
+	             
+	         	call.addParameter("strHospitalID",  org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);// 接口的参数  
+	         	call.addParameter("strPatientID",  org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);// 接口的参数  
+	         	call.addParameter("strVisitNo",  org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);// 接口的参数  
+	         	call.addParameter("strVisitType",  org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);// 接口的参数  
+	         	call.addParameter("strUserID",  org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);// 接口的参数  
+	         	call.addParameter("strMessageContent",  org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);// 接口的参数  
+	         	call.addParameter("strMessageType",  org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);// 接口的参数 
+	         	call.addParameter("strSourceName",  org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);// 接口的参数 
+	         	call.addParameter("strToken",  org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);// 接口的参数 
+	             
+	         	StringBuffer sbb = new StringBuffer();
+	         	for (MsgDTO dto : msgDTOList) {
+	         		sbb.append(dto.getModelName()+"因"+dto.getMsg()+"扣了"+dto.getScore()+"分值;\n");
+	         	}
+	             call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);// 设置返回类型  
+	             String result = (String) call.invoke(new Object[] {"xmdwyy",behospitalInfo.getFileCode(),analyzeVO.getBehospitalCode(),"2",behospitalInfo.getBehDoctorId(),behospitalInfo.getBehDoctorId()
+	            		 ,sbb.toString(),"","lantone","54A1CE1F-397A-413D-9E63-59595BA07726" 
+	             });  
+	             // 给方法传递参数,并且调用方法  
+	             log.error("wsdl调用结果是:"+result);
+        	}catch(Exception e) {
+        		log.error("wsdl调用异常",e);
+        		
+        	}
+        }
         return resMapData;
     }
 
 
-
-
     /**
      * 获取明细api
      *