esb vor 9 Jahren
Ursprung
Commit
7657755824

+ 7 - 0
Hos-Resource-WS/Hos-Resource-WS.iml

@ -22,6 +22,13 @@
    </content>
    <orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="library" name="Maven: com.google.guava:guava:12.0.1" level="project" />
    <orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:1.3.9" level="project" />
    <orderEntry type="library" name="Maven: asm:asm:3.3.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.neethi:neethi:3.0.3" level="project" />
    <orderEntry type="library" name="Maven: com.thoughtworks.xstream:xstream:1.4.8" level="project" />
    <orderEntry type="library" name="Maven: xmlpull:xmlpull:1.1.3.1" level="project" />
    <orderEntry type="library" name="Maven: xpp3:xpp3_min:1.1.4c" level="project" />
    <orderEntry type="library" name="Maven: com.yihu.core:ehr-dbhelper:1.1.8" level="project" />
    <orderEntry type="library" name="Maven: mysql:mysql-connector-java:5.1.38" level="project" />
    <orderEntry type="library" name="Maven: com.oracle:ojdbc6:11.2.0.3.0" level="project" />

+ 3 - 6
Hos-Resource-WS/src/main/java/com.yihu.ehr/service/SystemManager.java

@ -2,7 +2,6 @@ package com.yihu.ehr.service;
import com.yihu.ehr.common.config.SysConfig;
import com.yihu.ehr.common.config.ThreadConfig;
import com.yihu.ehr.dbhelper.common.enums.CommonEnum;
import com.yihu.ehr.dbhelper.jdbc.DBDriver;
import com.yihu.ehr.dbhelper.jdbc.DBHelper;
import com.yihu.ehr.framework.model.Result;
@ -14,7 +13,7 @@ import com.yihu.ehr.service.thread.StandardUpdateThread;
import com.yihu.ehr.service.thread.ThreadManage;
import com.yihu.ehr.util.httpclient.EsbHttp;
import com.yihu.ehr.util.httpclient.Response;
import com.yihu.ehr.ws.SQLWebService;
import com.yihu.ehr.ws.ExcuteService;
import org.apache.commons.dbcp2.BasicDataSource;
import org.json.JSONObject;
import org.springframework.jdbc.core.JdbcTemplate;
@ -23,9 +22,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpSession;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.util.Enumeration;
import java.util.List;
import java.util.UUID;
@ -183,8 +180,8 @@ public class SystemManager implements ISystemManager {
                System.out.println("password:" + s2[1].split("=")[1]);
            }
            SQLWebService.jdbcTemplate = new JdbcTemplate();
            SQLWebService.jdbcTemplate.setDataSource(dasicDataSource);
            ExcuteService.jdbcTemplate = new JdbcTemplate();
            ExcuteService.jdbcTemplate.setDataSource(dasicDataSource);
            return Result.success("保存成功!");
        } else {
            return Result.error(db.errorMessage);

+ 45 - 29
Hos-Resource-WS/src/main/java/com.yihu.ehr/ws/SQLWebService.java

@ -3,27 +3,18 @@ package com.yihu.ehr.ws;
import com.yihu.ehr.dbhelper.jdbc.DBHelper;
import com.yihu.ehr.model.DataSource;
import com.yihu.ehr.model.WSReturnModel;
import com.yihu.ehr.ws.inf.ISQLWebService;
import com.yihu.ehr.util.operator.StringUtil;
import org.apache.commons.dbcp2.BasicDataSource;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.jws.WebService;
/**
 * Created by Administrator on 2016/5/19.
 */
@WebService(endpointInterface = "com.yihu.ehr.ws.inf.ISQLWebService", targetNamespace = "com.yihu.ehr.ws.inf")
public class SQLWebService implements ISQLWebService {
public class ExcuteService {
    public static JdbcTemplate jdbcTemplate = null;
    public void initJDBC() throws Exception{
    public void initJDBC() throws Exception {
        if (jdbcTemplate == null) {
            //jdbc:oracle:thin:hos/hos@//172.19.103.71:1521/orcl
            //jdbc:mysql://172.19.103.71:1521/orcl?user=hos&password=hos&useUnicode=true&characterEncoding=UTF-8
@ -95,8 +86,7 @@ public class SQLWebService implements ISQLWebService {
     * @param reportType
     * @return
     */
    @Override
    public String getReportList(
    public String GetReportList(
            String TransactionCode,
            String cardType,
            String cardNo,
@ -107,17 +97,17 @@ public class SQLWebService implements ISQLWebService {
        WSReturnModel wsReturnModel = new WSReturnModel();
        wsReturnModel.setTransactionCode(TransactionCode);
        try {
            initJDBC();
            StringBuffer sb = new StringBuffer("select * from HDSD01_01 where 1=1 ");
            if (!StringUtils.isEmpty(endDate)) {
                sb.append(" and HDSD00_05_026 < '" + endDate + "'");
            }
            if (!StringUtils.isEmpty(startDate)) {
                sb.append(" and HDSD00_01_001 > '" + startDate + "'");
            }
            //initJDBC();
            // StringBuffer sb = new StringBuffer("select * from HDSD01_01 where 1=1 ");
            //if (!StringUtils.isEmpty(endDate)) {
            //    sb.append(" and HDSD00_05_026 < '" + endDate + "'");
            // }
            //if (!StringUtils.isEmpty(startDate)) {
            //    sb.append(" and HDSD00_01_001 > '" + startDate + "'");
            // }
            wsReturnModel.setData(jdbcTemplate.queryForList(sb.toString()));
           // return WSReturnModel.toXml(wsReturnModel);
            //wsReturnModel.setData(jdbcTemplate.queryForList(sb.toString()));
            // return WSReturnModel.toXml(wsReturnModel);
            return "<Resp> \n" +
                    "<TransactionCode></TransactionCode> \n" +
                    "<RespMessage>成功</RespMessage>\n" +
@ -162,7 +152,6 @@ public class SQLWebService implements ISQLWebService {
     * @param reportType
     * @return
     */
    @Override
    public String getReportInfo(
            String TransactionCode,
            String reportId,
@ -172,14 +161,14 @@ public class SQLWebService implements ISQLWebService {
        try {
            initJDBC();
            StringBuffer sb = new StringBuffer("select * from HDSD01_01 where 1=1 ");
            if (!StringUtils.isEmpty(reportId)) {
            if (!StringUtil.isEmpty(reportId)) {
                sb.append(" and HDSD00_05_026 < '" + reportId + "'");
            }
            if (!StringUtils.isEmpty(reportType)) {
            if (!StringUtil.isEmpty(reportType)) {
                sb.append(" and HDSD00_01_001 > '" + reportType + "'");
            }
          //  wsReturnModel.setData(jdbcTemplate.queryForList(sb.toString()));
            //  wsReturnModel.setData(jdbcTemplate.queryForList(sb.toString()));
            return "<Resp> \n" +
                    "<TransactionCode></TransactionCode> \n" +
                    "<RespMessage>成功</RespMessage>\n" +
@ -238,8 +227,35 @@ public class SQLWebService implements ISQLWebService {
        }
    }
    public String QueryUserInfo(String TransactionCode, String CardType, String CardNo, String Mobile, String PatientId) {
        return "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n" +
                "<Resp>\n" +
                "<TransactionCode></TransactionCode>\n" +
                "<RespMessage>成功</RespMessage>\n" +
                "<RespCode>10000</RespCode>\n" +
                "<Data>\n" +
                "<PatientId>病人id</PatientId>\n" +
                "<ClinicCard>就诊卡号</ClinicCard>\n" +
                "<Name>用户姓名</Name>\n" +
                "<Mobile>手机号码</Mobile>\n" +
                "<McardNo>医保卡</McardNo>\n" +
                "<Address>家庭住址</Address>\n" +
                "<Sex>性别</Sex>\n" +
                "<Fee>就诊卡余额</Fee>\n" +
                "<BirthDay>出生日期</BirthDay>\n" +
                "<Country>国籍</Country>\n" +
                "<Nation>民族</Nation>\n" +
                "<BloodCode1>血型代码:ABO</BloodCode1>\n" +
                "<BloodCode2>HR血型代码</BloodCode2>\n" +
                "<Allergens>过敏源</Allergens>\n" +
                "<IdCardId>身份证</IdCardId>\n" +
                "</Data>\n" +
                "</Resp>";
    }
    public static void main(String[] args) throws Exception {
        /*
        JaxWsDynamicClientFactory factory = JaxWsDynamicClientFactory.newInstance();
        Client client = factory.createClient("http://172.19.103.71:8080/service/sql?wsdl");
        //Client client = factory.createClient("http://localhost:8080/service/sql?wsdl");
@ -250,7 +266,7 @@ public class SQLWebService implements ISQLWebService {
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        }*/
    }

+ 0 - 35
Hos-Resource-WS/src/main/java/com.yihu.ehr/ws/inf/ISQLWebService.java

@ -1,35 +0,0 @@
package com.yihu.ehr.ws.inf;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
/**
 * Created by Administrator on 2016/5/19.
 */
@WebService(targetNamespace = "com.yihu.ehr.ws.inf")
public interface ISQLWebService {
    @WebMethod(operationName = "ExcuteSQL")
    public String excuteSQL(
            @WebParam(name = "TransactionCode") String TransactionCode,
            @WebParam(name = "sql") String sql);
    @WebMethod(operationName = "GetReportList")
    public String getReportList(
            @WebParam(name = "TransactionCode") String TransactionCode,
            @WebParam(name = "CardType") String CardType,
            @WebParam(name = "CardNo") String cardNo,
            @WebParam(name = "StartDate") String startDate,
            @WebParam(name = "EndDate") String endDate,
            @WebParam(name = "Mobile") String mobile,
            @WebParam(name = "ReportType ") String ReportType
    );
    @WebMethod(operationName = "GetReportInfo")
    public String getReportInfo(
            @WebParam(name = "TransactionCode") String TransactionCode,
            @WebParam(name = "ReportId") String reportId,
            @WebParam(name = "ReportType") String reportType);
}

+ 119 - 0
Hos-Resource-WS/src/main/java/com/yihu/wsgw/webservice/ServiceGateWay.java

@ -0,0 +1,119 @@
package com.yihu.wsgw.webservice;
import com.yihu.ehr.model.WSReturnModel;
import com.yihu.ehr.util.operator.StringUtil;
import com.yihu.ehr.ws.ExcuteService;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
/**
 * Created by Administrator on 2016/5/19.
 */
@javax.jws.WebService(endpointInterface = "com.yihu.wsgw.webservice.ServiceGateWayPortType",
        targetNamespace = "http://com.yihu.wsgw/ServiceGateWay",
        serviceName = "ServiceGateWay",
        portName = "ServiceGateWayHttpPort")
public class ServiceGateWay implements ServiceGateWayPortType {
    private ExcuteService excuteService = new ExcuteService();
    /**
     * 执行sql语句
     *
     * @param sql
     * @return
     */
    public String excuteSQL(String TransactionCode,
                            String sql) {
        return excuteService.excuteSQL(TransactionCode, sql);
    }
    public String service(String authInfo, String sequenceNo, String api, String param, int paramType, int outType, String v) {
        System.out.println("authInfo:" + authInfo);
        System.out.println("sequenceNo:" + sequenceNo);
        System.out.println("api,:" + api);
        System.out.println("param:" + param);
        System.out.println("paramType:" + paramType);
        System.out.println("outType:" + outType);
        System.out.println("v:" + v);
        WSReturnModel wsReturnModel = new WSReturnModel();
        String xml = "";
        try {
            switch (api) {
                case "user.UserApi.QueryUserInfo": {
                    Document document = DocumentHelper.parseText(param.toString());
                    Element root = document.getRootElement();
                    Element data = root.element("Data");
                    xml = excuteService.QueryUserInfo(
                            StringUtil.isEmpty(root.element("TransactionCode").getText()) ? "" : root.element("TransactionCode").getText(),
                            StringUtil.isEmpty(data.element("CardType").getText()) ? "" : data.element("CardType").getText(),
                            StringUtil.isEmpty(data.element("CardNo").getText()) ? "" : data.element("CardNo").getText(),
                            StringUtil.isEmpty(data.element("Mobile").getText()) ? "" : data.element("Mobile").getText(),
                            StringUtil.isEmpty(data.element("PatientId").getText()) ? "" : data.element("PatientId").getText());
                    break;
                }
                case "report.ReportWs.GetReportInfo": {
                    Document document = DocumentHelper.parseText(param.toString());
                    Element root = document.getRootElement();
                    Element data = root.element("Data");
                    xml = excuteService.getReportInfo(
                            StringUtil.isEmpty(root.element("TransactionCode").getText()) ? "" : root.element("TransactionCode").getText(),
                            StringUtil.isEmpty(data.element("ReportId").getText()) ? "" : data.element("ReportId").getText(),
                            StringUtil.isEmpty(data.element("ReportType").getText()) ? "" : data.element("ReportType").getText()
                    );
                    break;
                }
                case "report.ReportWs.GetReportList": {
                    Document document = DocumentHelper.parseText(param.toString());
                    Element root = document.getRootElement();
                    Element data = root.element("Data");
                    xml = excuteService.GetReportList(
                            StringUtil.isEmpty(root.element("TransactionCode").getText()) ? "" : root.element("TransactionCode").getText(),
                            StringUtil.isEmpty(data.element("CardType").getText()) ? "" : data.element("CardType").getText(),
                            StringUtil.isEmpty(data.element("CardNo").getText()) ? "" : data.element("CardNo").getText(),
                            StringUtil.isEmpty(data.element("EndDate").getText()) ? "" : data.element("EndDate").getText(),
                            StringUtil.isEmpty(data.element("Mobile").getText()) ? "" : data.element("Mobile").getText(),
                            StringUtil.isEmpty(data.element("PatientName").getText()) ? "" : data.element("PatientName").getText(),
                            StringUtil.isEmpty(data.element("ReportType").getText()) ? "" : data.element("ReportType").getText());
                    break;
                }
                default: {
                    wsReturnModel.setTransactionCode("-10000");
                    wsReturnModel.setRespMessage("没有对应的API");
                    xml = "<Resp> \n" +
                            "<TransactionCode>" + api + "</TransactionCode> \n" +
                            "<RespCode>-10000</RespCode>\n" +
                            "<RespMessage>没有对应的API</RespMessage>\n" +
                            "</Resp>";
                }
            }
        } catch (Throwable e) {
            e.printStackTrace();
            return "<Resp> \n" +
                    "<TransactionCode>" + api + "</TransactionCode> \n" +
                    "<RespCode>-10000</RespCode>\n" +
                    "<RespMessage>" + e.getMessage() + "</RespMessage>\n" +
                    "</Resp>";
        }
        return xml;
    }
    public static void main(String[] args) throws Exception {
        /*
        JaxWsDynamicClientFactory factory = JaxWsDynamicClientFactory.newInstance();
        Client client = factory.createClient("http://172.19.103.71:8080/service/sql?wsdl");
        //Client client = factory.createClient("http://localhost:8080/service/sql?wsdl");
        try {
            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)"); // 按照方法的参数来提供值
            if (result != null && result.length > 0) {
                System.out.println(result[0]); // 通过getUsername来获取对象的username属性
            }
        } catch (Exception e) {
            e.printStackTrace();
        }*/
    }
}

+ 36 - 0
Hos-Resource-WS/src/main/java/com/yihu/wsgw/webservice/ServiceGateWayPortType.java

@ -0,0 +1,36 @@
package com.yihu.wsgw.webservice;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper;
/**
 * Created by Administrator on 2016/5/19.
 */
@WebService(name = "ServiceGateWayPortType", targetNamespace = "http://com.yihu.wsgw/ServiceGateWay")
public interface ServiceGateWayPortType {
    @WebMethod(operationName = "ExcuteSQL")
    public String excuteSQL(
            @WebParam(name = "TransactionCode") String TransactionCode,
            @WebParam(name = "sql") String sql);
    @WebMethod(operationName = "service")
    @WebResult(name = "out", targetNamespace = "http://com.yihu.wsgw/ServiceGateWay")
    @RequestWrapper(localName = "service", targetNamespace = "http://com.yihu.wsgw/ServiceGateWay", className = "com.yihu.yuyue.service.client.screnmingyy.servicegateway.Service")
    @ResponseWrapper(localName = "serviceResponse", targetNamespace = "http://com.yihu.wsgw/ServiceGateWay", className = "com.yihu.yuyue.service.client.screnmingyy.servicegateway.ServiceResponse")
    public String service(
            @WebParam(name = "authInfo", targetNamespace = "http://com.yihu.wsgw/ServiceGateWay") String authInfo,
            @WebParam(name = "sequenceNo", targetNamespace = "http://com.yihu.wsgw/ServiceGateWay") String sequenceNo,
            @WebParam(name = "api", targetNamespace = "http://com.yihu.wsgw/ServiceGateWay") String api,
            @WebParam(name = "param", targetNamespace = "http://com.yihu.wsgw/ServiceGateWay") String param,
            @WebParam(name = "paramType", targetNamespace = "http://com.yihu.wsgw/ServiceGateWay") int paramType,
            @WebParam(name = "outType", targetNamespace = "http://com.yihu.wsgw/ServiceGateWay") int outType,
            @WebParam(name = "v", targetNamespace = "http://com.yihu.wsgw/ServiceGateWay") String v
    );
}

+ 1 - 1
Hos-Resource-WS/src/main/resources/spring/spring-cxf.xml

@ -10,6 +10,6 @@
    <import resource="classpath:META-INF/cxf/cxf.xml"/>
    <import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>
    <jaxws:endpoint id="/sqlService" implementor="com.yihu.ehr.ws.SQLWebService" address="/sql"/>
    <jaxws:endpoint id="/ServiceGateWay" implementor="com.yihu.wsgw.webservice.ServiceGateWay" address="/ServiceGateWay"/>
</beans>