ServiceGateWay.java 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. package com.yihu.wsgw.webservice;
  2. import com.yihu.ehr.model.WSReturnModel;
  3. import com.yihu.ehr.util.operator.StringUtil;
  4. import com.yihu.ehr.ws.ExcuteService;
  5. import org.dom4j.Document;
  6. import org.dom4j.DocumentHelper;
  7. import org.dom4j.Element;
  8. import javax.xml.namespace.QName;
  9. import java.util.regex.Matcher;
  10. import java.util.regex.Pattern;
  11. /**
  12. * Created by Administrator on 2016/5/19.
  13. */
  14. @javax.jws.WebService(endpointInterface = "com.yihu.wsgw.webservice.ServiceGateWayPortType",
  15. targetNamespace = "http://com.yihu.wsgw/ServiceGateWay",
  16. serviceName = "ServiceGateWay",
  17. portName = "ServiceGateWayHttpPort")
  18. public class ServiceGateWay implements ServiceGateWayPortType {
  19. private ExcuteService excuteService = new ExcuteService();
  20. /**
  21. * 执行sql语句
  22. *
  23. * @param sql
  24. * @return
  25. */
  26. public String excuteSQL(String TransactionCode,
  27. String sql) {
  28. return excuteService.excuteSQL(TransactionCode, sql);
  29. }
  30. public static String replaceBlank(String str) {
  31. String dest = "";
  32. if (str != null) {
  33. Pattern p = Pattern.compile("\\s*|\t|\r|\n");
  34. Matcher m = p.matcher(str);
  35. dest = m.replaceAll("");
  36. }
  37. return dest;
  38. }
  39. public String service(String authInfo, String sequenceNo, String api, String param, int paramType, int outType, String v) {
  40. System.out.println("authInfo:" + authInfo);
  41. System.out.println("sequenceNo:" + sequenceNo);
  42. System.out.println("api,:" + api);
  43. System.out.println("param:" + param);
  44. System.out.println("paramType:" + paramType);
  45. System.out.println("outType:" + outType);
  46. System.out.println("v:" + v);
  47. WSReturnModel wsReturnModel = new WSReturnModel();
  48. String xml = "";
  49. try {
  50. switch (api) {
  51. case "basic.BasicApi.QueryUserInfo": {
  52. Document document = DocumentHelper.parseText(param.trim());
  53. Element root = document.getRootElement();
  54. Element data = root.element("Data");
  55. xml = excuteService.QueryUserInfo(
  56. StringUtil.isEmpty(root.element("TransactionCode").getText()) ? "" : root.element("TransactionCode").getText(),
  57. StringUtil.isEmpty(data.element("CardType").getText()) ? "" : data.element("CardType").getText(),
  58. StringUtil.isEmpty(data.element("CardNo").getText()) ? "" : data.element("CardNo").getText(),
  59. StringUtil.isEmpty(data.element("Mobile").getText()) ? "" : data.element("Mobile").getText(),
  60. StringUtil.isEmpty(data.element("PatientId").getText()) ? "" : data.element("PatientId").getText());
  61. break;
  62. }
  63. case "report.ReportWs.GetReportInfo": {
  64. Document document = DocumentHelper.parseText(param.trim());
  65. Element root = document.getRootElement();
  66. Element data = root.element("Data");
  67. xml = excuteService.GetReportInfo(
  68. StringUtil.isEmpty(root.element("TransactionCode").getText()) ? "" : root.element("TransactionCode").getText(),
  69. StringUtil.isEmpty(data.element("ReportId").getText()) ? "" : data.element("ReportId").getText(),
  70. StringUtil.isEmpty(data.element("ReportType").getText()) ? "" : data.element("ReportType").getText()
  71. );
  72. break;
  73. }
  74. case "yy.yygh.QueryRegInfo": {
  75. Document document = DocumentHelper.parseText(param.trim());
  76. Element root = document.getRootElement();
  77. Element data = root.element("Data");
  78. xml = excuteService.QueryRegInfo(
  79. StringUtil.isEmpty(root.element("TransactionCode").getText()) ? "" : root.element("TransactionCode").getText(),
  80. StringUtil.isEmpty(data.element("CardType").getText()) ? "" : data.element("CardType").getText(),
  81. StringUtil.isEmpty(data.element("CardNo").getText()) ? "" : data.element("CardNo").getText(),
  82. StringUtil.isEmpty(data.element("IdCardNo").getText()) ? "" : data.element("IdCardNo").getText(),
  83. StringUtil.isEmpty(data.element("OrderId").getText()) ? "" : data.element("OrderId").getText(),
  84. StringUtil.isEmpty(data.element("ClinicCard").getText()) ? "" : data.element("ClinicCard").getText(),
  85. StringUtil.isEmpty(data.element("TimeSlice").getText()) ? "" : data.element("TimeSlice").getText(),
  86. StringUtil.isEmpty(data.element("StartTime").getText()) ? "" : data.element("StartTime").getText(),
  87. StringUtil.isEmpty(data.element("EndTime").getText()) ? "" : data.element("EndTime").getText(),
  88. StringUtil.isEmpty(data.element("RegFlag").getText()) ? "" : data.element("RegFlag").getText()
  89. );
  90. break;
  91. }
  92. case "report.ReportWs.GetReportList": {
  93. Document document = DocumentHelper.parseText(param.trim());
  94. Element root = document.getRootElement();
  95. Element data = root.element("Data");
  96. xml = excuteService.GetReportList(
  97. StringUtil.isEmpty(root.element("TransactionCode").getText()) ? "" : root.element("TransactionCode").getText(),
  98. StringUtil.isEmpty(data.element("CardType").getText()) ? "" : data.element("CardType").getText(),
  99. StringUtil.isEmpty(data.element("CardNo").getText()) ? "" : data.element("CardNo").getText(),
  100. StringUtil.isEmpty(data.element("EndDate").getText()) ? "" : data.element("EndDate").getText(),
  101. StringUtil.isEmpty(data.element("Mobile").getText()) ? "" : data.element("Mobile").getText(),
  102. StringUtil.isEmpty(data.element("PatientName").getText()) ? "" : data.element("PatientName").getText(),
  103. StringUtil.isEmpty(data.element("ReportType").getText()) ? "" : data.element("ReportType").getText());
  104. break;
  105. }
  106. default: {
  107. wsReturnModel.setTransactionCode("-10000");
  108. wsReturnModel.setRespMessage("没有对应的API");
  109. xml = "<Resp> \n" +
  110. "<TransactionCode>" + api + "</TransactionCode> \n" +
  111. "<RespCode>-10000</RespCode>\n" +
  112. "<RespMessage>没有对应的API</RespMessage>\n" +
  113. "</Resp>";
  114. }
  115. }
  116. } catch (Throwable e) {
  117. e.printStackTrace();
  118. return "<Resp> \n" +
  119. "<TransactionCode>" + api + "</TransactionCode> \n" +
  120. "<RespCode>-10000</RespCode>\n" +
  121. "<RespMessage>参数错误:" + e.getMessage() + "</RespMessage>\n" +
  122. "</Resp>";
  123. }
  124. return xml;
  125. }
  126. public static void main(String[] args) throws Exception {
  127. /*
  128. JaxWsDynamicClientFactory factory = JaxWsDynamicClientFactory.newInstance();
  129. Client client = factory.createClient("http://172.19.103.71:8080/service/sql?wsdl");
  130. //Client client = factory.createClient("http://localhost:8080/service/sql?wsdl");
  131. try {
  132. Object[] result = client.invoke("ExcuteSQL", "10000", "select count(1) as COUNT,max(to_number(HDSD03_01_031)) as MAX_KEYVALUE from HDSC01_02 where 1=1 order by to_number(HDSD03_01_031)"); // 按照方法的参数来提供值
  133. if (result != null && result.length > 0) {
  134. System.out.println(result[0]); // 通过getUsername来获取对象的username属性
  135. }
  136. } catch (Exception e) {
  137. e.printStackTrace();
  138. }*/
  139. }
  140. }