Bläddra i källkod

Merge branch 'master' of http://192.168.1.220:10080/esb/esb

lingfeng 9 år sedan
förälder
incheckning
34c4f88ab2
47 ändrade filer med 1228 tillägg och 298 borttagningar
  1. 22 0
      Hos-Framework-dependencies/pom.xml
  2. 1 1
      Hos-Framework/pom.xml
  3. 11 0
      Hos-Framework/src/main/java/com/yihu/ehr/framework/util/sql/SqlCreator.java
  4. 58 0
      Hos-Framework/src/main/java/com/yihu/ehr/framework/util/webservice/WebserviceUtil.java
  5. 17 7
      Hos-Resource-WS/Hos-Resource-WS.iml
  6. 12 1
      Hos-Resource-WS/pom.xml
  7. 17 12
      Hos-Resource-WS/src/main/java/com.yihu.ehr/common/ApplicationStart.java
  8. 104 0
      Hos-Resource-WS/src/main/java/com.yihu.ehr/model/WSReturnModel.java
  9. 3 6
      Hos-Resource-WS/src/main/java/com.yihu.ehr/service/SystemManager.java
  10. 10 0
      Hos-Resource-WS/src/main/java/com.yihu.ehr/util/operator/TreeNode.java
  11. 232 0
      Hos-Resource-WS/src/main/java/com.yihu.ehr/ws/ExcuteService.java
  12. 0 88
      Hos-Resource-WS/src/main/java/com.yihu.ehr/ws/SQLWebService.java
  13. 0 14
      Hos-Resource-WS/src/main/java/com.yihu.ehr/ws/inf/ISQLWebService.java
  14. 134 0
      Hos-Resource-WS/src/main/java/com/yihu/wsgw/webservice/ServiceGateWay.java
  15. 36 0
      Hos-Resource-WS/src/main/java/com/yihu/wsgw/webservice/ServiceGateWayPortType.java
  16. 10 9
      Hos-Resource-WS/src/main/resources/spring/spring-cxf.xml
  17. 1 1
      Hos-resource/Hos-Resource.iml
  18. 18 47
      Hos-resource/pom.xml
  19. 7 7
      Hos-resource/src/main/java/com/yihu/ehr/datacollect/service/DatacollectManager.java
  20. 232 2
      Hos-resource/src/main/java/com/yihu/ehr/datacollect/service/DatacollectService.java
  21. 13 10
      Hos-resource/src/main/java/com/yihu/ehr/job/service/ArchiveUploadJob.java
  22. 1 1
      Hos-resource/src/main/java/com/yihu/ehr/resource/controller/RsCategoryController.java
  23. 7 5
      Hos-resource/src/main/java/com/yihu/ehr/resource/controller/RsResourceController.java
  24. 2 0
      Hos-resource/src/main/java/com/yihu/ehr/resource/service/IStdService.java
  25. 4 2
      Hos-resource/src/main/java/com/yihu/ehr/resource/service/impl/RsCategoryServiceImpl.java
  26. 8 6
      Hos-resource/src/main/java/com/yihu/ehr/resource/service/impl/RsResourceServiceImpl.java
  27. 5 0
      Hos-resource/src/main/java/com/yihu/ehr/resource/service/impl/StdService.java
  28. 3 3
      Hos-resource/src/main/java/com/yihu/ehr/standard/service/standard/StandardService.java
  29. 62 7
      Hos-resource/src/main/java/com/yihu/ehr/standard/service/standard/StdDatasetService.java
  30. 1 1
      Hos-resource/src/main/java/com/yihu/ehr/standard/service/standard/StdDictEntryService.java
  31. 49 2
      Hos-resource/src/main/java/com/yihu/ehr/standard/service/standard/StdDictService.java
  32. 35 20
      Hos-resource/src/main/java/com/yihu/ehr/standard/service/standard/StdMetadataService.java
  33. 1 1
      Hos-resource/src/main/resources/log4j2.xml
  34. 5 1
      Hos-resource/src/main/resources/spring/applicationContext.xml
  35. 0 1
      Hos-resource/src/main/webapp/WEB-INF/dispatcher-servlet.xml
  36. 7 7
      Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/datacollect/editorJob.jsp
  37. 25 10
      Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/datacollect/editorJobJs.jsp
  38. 26 15
      Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/datacollect/trackJobJs.jsp
  39. 2 2
      Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/resource/category/rsCategoryInfoDialog.jsp
  40. 1 2
      Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/resource/category/rsCategoryInfoDialogJs.jsp
  41. 1 1
      Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/resource/resourceregister/rsResourceAuthorizeJs.jsp
  42. 1 2
      Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/resource/resourceregister/rsResourceImportDatasetDialogJs.jsp
  43. 1 0
      Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/resource/resourceregister/rsResourceInfoDialog.jsp
  44. 7 2
      Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/standard/integration/configurationJs.jsp
  45. 6 1
      Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/standard/integration/dataset/updateMetadataJs.jsp
  46. 6 1
      Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/standard/integration/dict/updateDictEntryJs.jsp
  47. 24 0
      Hos-resource/src/main/webapp/develop/lib/ligerui/custom/ligerOverwrite.js

+ 22 - 0
Hos-Framework-dependencies/pom.xml

@ -339,6 +339,12 @@
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-kernel</artifactId>
            <version>1.6.3</version>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.ws.commons.schema</groupId>
                    <artifactId>XmlSchema</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
@ -688,5 +694,21 @@
            <artifactId>commons-net</artifactId>
            <version>3.3</version>
        </dependency>
        <!-- =============WEBSERVICE调用====================-->
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxws</artifactId>
            <version>3.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http</artifactId>
            <version>3.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-bindings-soap</artifactId>
            <version>3.0.0</version>
        </dependency>
    </dependencies>
</project>

+ 1 - 1
Hos-Framework/pom.xml

@ -6,7 +6,7 @@
    <groupId>com.yihu.hos.resource</groupId>
    <artifactId>Hos-Framework</artifactId>
    <version>1.0.1</version>
    <version>1.0.2</version>
    <parent>
        <groupId>com.yihu.core</groupId>
        <artifactId>Hos-Framework-dependencies</artifactId>

+ 11 - 0
Hos-Framework/src/main/java/com/yihu/ehr/framework/util/sql/SqlCreator.java

@ -104,6 +104,17 @@ public class SqlCreator {
        return selectData();
    }
    public String selectSingleData(String tabelName) {
        setTableName(tabelName);
        itemList.clear();
        for(Object key : transformer.columnToProperty.keySet()){
            itemList.add(StringUtil.toString(key));
        }
        return selectData();
    }
    public String selectData() {
        StringBuilder sqlBuffer = new StringBuilder();

+ 58 - 0
Hos-Framework/src/main/java/com/yihu/ehr/framework/util/webservice/WebserviceUtil.java

@ -0,0 +1,58 @@
package com.yihu.ehr.framework.util.webservice;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
/**
 * Created by hzp on 2016/5/23.
 * webservice调用通用类
 */
public class WebserviceUtil {
    /**
     * 获取SOAP协议ws
     */
    public static String request(String url,String method,Object[] objs) throws Exception{
        /*JaxWsDynamicClientFactory factory = JaxWsDynamicClientFactory.newInstance();
        org.apache.cxf.endpoint.Client client = factory.createClient(url);
        // 下面一段处理 WebService接口和实现类namespace不同的情况
        // CXF动态客户端在处理此问题时,会报No operation was found with the name的异常
        Endpoint endpoint = client.getEndpoint();
        QName opName = new QName(endpoint.getService().getName().getNamespaceURI(), method);
        BindingInfo bindingInfo = endpoint.getEndpointInfo().getBinding();
        if (bindingInfo.getOperation(opName) == null) {
            for (BindingOperationInfo operationInfo : bindingInfo.getOperations()) {
                if (method.equals(operationInfo.getName().getLocalPart())) {
                    opName = operationInfo.getName();
                    break;
                }
            }
        }*/
        JaxWsDynamicClientFactory factory = JaxWsDynamicClientFactory.newInstance();
        Client client = factory.createClient(url);
        Object[] result = client.invoke(method, objs); // 按照方法的参数来提供值
        if (result != null && result.length > 0) {
            System.out.println(result[0]);
            return result[0].toString();
        }
        else{
            return "";
        }
    }
    public static void main(String[] args) throws Exception{
        //namespace是命名空间,methodName是方法名
        String sql = "select * from stde_adapter_metadata";
        //调用web Service//输出调用结果
        System.out.println(WebserviceUtil.request("http://192.168.131.6:8080/service/sql?wsdl","ExcuteSQL",new Object[]{"",sql}));
    }
}

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

@ -20,8 +20,15 @@
      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
      <excludeFolder url="file://$MODULE_DIR$/target" />
    </content>
    <orderEntry type="inheritedJdk" />
    <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" />
@ -114,6 +121,12 @@
    <orderEntry type="library" name="Maven: org.codehaus.woodstox:woodstox-core-asl:4.3.0" level="project" />
    <orderEntry type="library" name="Maven: org.codehaus.woodstox:stax2-api:3.1.4" level="project" />
    <orderEntry type="library" name="Maven: org.apache.ws.xmlschema:xmlschema-core:2.1.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-bindings-xml:3.0.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-frontend-simple:3.0.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-ws-addr:3.0.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-ws-policy:3.0.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.neethi:neethi:3.0.3" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-transports-http:3.0.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-bindings-soap:3.0.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-wsdl:3.0.0" level="project" />
    <orderEntry type="library" name="Maven: wsdl4j:wsdl4j:1.6.3" level="project" />
@ -122,11 +135,8 @@
    <orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-core:2.2.7" level="project" />
    <orderEntry type="library" name="Maven: com.sun.istack:istack-commons-runtime:2.16" level="project" />
    <orderEntry type="library" name="Maven: com.sun.xml.fastinfoset:FastInfoset:1.2.12" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-bindings-xml:3.0.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-frontend-simple:3.0.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-ws-addr:3.0.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-ws-policy:3.0.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.neethi:neethi:3.0.3" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-transports-http:3.0.0" 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" />
  </component>
</module>

+ 12 - 1
Hos-Resource-WS/pom.xml

@ -7,7 +7,7 @@
    <groupId>ehr</groupId>
    <artifactId>Hos-Resource-WS</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>
    <properties>
        <aspectj.version>1.8.7</aspectj.version>
        <jackson.version>2.4.6</jackson.version>
@ -313,6 +313,17 @@
            <artifactId>cxf-rt-transports-http</artifactId>
            <version>3.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-bindings-soap</artifactId>
            <version>3.0.0</version>
        </dependency>
        <dependency>
            <groupId>com.thoughtworks.xstream</groupId>
            <artifactId>xstream</artifactId>
            <version>1.4.8</version>
        </dependency>
        <!--=============httpclient end=============-->
    </dependencies>

+ 17 - 12
Hos-Resource-WS/src/main/java/com.yihu.ehr/common/ApplicationStart.java

@ -11,6 +11,7 @@ import com.yihu.ehr.util.log.LogUtil;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.xml.stream.XMLInputFactory;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
@ -28,8 +29,8 @@ public class ApplicationStart implements ServletContextListener {
    @Override
    public void contextInitialized(ServletContextEvent context) {
        try {
            String home = System.getProperty("catalina.home").replace('\\','/');
            String homeUrl = home.substring(0,home.lastIndexOf('/')+1);
            String home = System.getProperty("catalina.home").replace('\\', '/');
            String homeUrl = home.substring(0, home.lastIndexOf('/') + 1);
            dbConfig(homeUrl);
            sslConfig(homeUrl);
@ -41,33 +42,35 @@ public class ApplicationStart implements ServletContextListener {
    /**
     * 修改微服务连接ssl文件
     *
     * @param homeUrl
     */
    private void sslConfig(String homeUrl) throws Exception {
        InputStream in = this.getClass().getResourceAsStream("/config/http.properties");
        prop.load(in);
        String configPath = this.getClass().getClassLoader().getResource("/").getPath()+ "config/http.properties";
        String configPath = this.getClass().getClassLoader().getResource("/").getPath() + "config/http.properties";
        OutputStream fos = new FileOutputStream(configPath);
        String url = homeUrl+"ssl/tomcat.keystore";
        prop.setProperty("sslKeystore",url);
        prop.store(fos,"last update");
        String url = homeUrl + "ssl/tomcat.keystore";
        prop.setProperty("sslKeystore", url);
        prop.store(fos, "last update");
        in.close();
        fos.close();
    }
    /**
     * 修改数据库连接字符串
     *
     * @param homeUrl
     */
    private void dbConfig(String homeUrl) throws Exception {
        InputStream in = this.getClass().getResourceAsStream("/config/dbhelper.properties");
        prop.load(in);
        String configPath = this.getClass().getClassLoader().getResource("/").getPath()+ "config/dbhelper.properties";
        String configPath = this.getClass().getClassLoader().getResource("/").getPath() + "config/dbhelper.properties";
        OutputStream fos = new FileOutputStream(configPath);
        String url = homeUrl+"db/localDB.db";
        prop.setProperty("defaultName","miniResourceDB");
        prop.setProperty("defaultUri","jdbc:sqlite://"+url);
        prop.store(fos,"last update");
        String url = homeUrl + "db/localDB.db";
        prop.setProperty("defaultName", "miniResourceDB");
        prop.setProperty("defaultUri", "jdbc:sqlite://" + url);
        prop.store(fos, "last update");
        in.close();
        fos.close();
    }
@ -75,7 +78,9 @@ public class ApplicationStart implements ServletContextListener {
    @Override
    public void contextDestroyed(ServletContextEvent context) {
    }
    public static void main(String[] args) {
        System.out.println(520 / 3);
    }
}

+ 104 - 0
Hos-Resource-WS/src/main/java/com.yihu.ehr/model/WSReturnModel.java

@ -0,0 +1,104 @@
package com.yihu.ehr.model;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.springframework.util.StringUtils;
import javax.xml.bind.annotation.XmlElement;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
 * Created by Administrator on 2016/5/23.
 */
public class WSReturnModel {
    private String TransactionCode;
    private List<Map<String, Object>> Data=new ArrayList<Map<String, Object>>();
    private String RespMessage = "成功";
    public String getTransactionCode() {
        return TransactionCode;
    }
    public void setTransactionCode(String transactionCode) {
        TransactionCode = transactionCode;
    }
    public List<Map<String, Object>> getData() {
        return Data;
    }
    public void setData(List<Map<String, Object>> data) {
        Data = data;
    }
    public String getRespMessage() {
        return RespMessage;
    }
    public void setRespMessage(String respMessage) {
        RespMessage = respMessage;
    }
    public static String toXml(WSReturnModel wsReturnModel) {
        String root = "Resg";
        String transactionCode = "TransactionCode";
        String respMessage = "RespMessage";
        String data = "Data";
        Document document = DocumentHelper.createDocument();
        Element rootElement = DocumentHelper.createElement(root);
        //添加TransactionCode
        Element transactionCodeElement = DocumentHelper.createElement(transactionCode);
        transactionCodeElement.addText(wsReturnModel.getTransactionCode());
        rootElement.add(transactionCodeElement);
        //添加RespMessage
        Element respMessageElement = DocumentHelper.createElement(respMessage);
        respMessageElement.addText(wsReturnModel.getRespMessage());
        rootElement.add(respMessageElement);
        //添加Data
        for (Map<String, Object> map : wsReturnModel.getData()) {
            Element dataElement = DocumentHelper.createElement(data);
            for (Map.Entry<String, Object> e : map.entrySet()) {
                if ("data_1".equals(e.getKey().toLowerCase())) {
                    //判断是否是data1
                    Element elemenData1Temp = DocumentHelper.createElement("Data_1");
                    for (Map.Entry<String, Object> dataE : ((Map<String, Object>) e.getValue()).entrySet()) {
                        Element elemenData1TempElement = DocumentHelper.createElement(toUpperCaseFirstOne(dataE.getKey()));
                        if (!StringUtils.isEmpty(e.getValue())) {
                            elemenData1TempElement.addText(dataE.getValue().toString());
                        }
                        elemenData1Temp.add(elemenData1TempElement);
                    }
                    dataElement.add(elemenData1Temp);
                } else {
                    Element elemenTemp = DocumentHelper.createElement(toUpperCaseFirstOne(e.getKey()));
                    if (!StringUtils.isEmpty(e.getValue())) {
                        elemenTemp.addText(e.getValue().toString());
                    }
                    dataElement.add(elemenTemp);
                }
            }
            rootElement.add(dataElement);
        }
        document.setRootElement(rootElement);
        return document.asXML();
    }
    public static String toUpperCaseFirstOne(String name) {
        char[] ch = name.toCharArray();
        for (int i = 0; i < ch.length; i++) {
            if (i == 0) {
                ch[0] = Character.toUpperCase(ch[0]);
            } else {
                ch[i] = Character.toLowerCase(ch[i]);
            }
        }
        StringBuffer a = new StringBuffer();
        a.append(ch);
        return a.toString();
    }
}

+ 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);

+ 10 - 0
Hos-Resource-WS/src/main/java/com.yihu.ehr/util/operator/TreeNode.java

@ -1,5 +1,13 @@
package com.yihu.ehr.util.operator;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.endpoint.Endpoint;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
import org.apache.cxf.service.model.BindingInfo;
import org.apache.cxf.service.model.BindingOperationInfo;
import org.apache.xerces.xni.QName;
/**
 * 树类
 *
@ -50,4 +58,6 @@ public class TreeNode {
    public void setIschecked(Boolean ischecked) {
        this.ischecked = ischecked;
    }
}

+ 232 - 0
Hos-Resource-WS/src/main/java/com.yihu.ehr/ws/ExcuteService.java

@ -0,0 +1,232 @@
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.util.operator.StringUtil;
import org.apache.commons.dbcp2.BasicDataSource;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.util.ResourceUtils;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
/**
 * Created by Administrator on 2016/5/19.
 */
public class ExcuteService {
    public static JdbcTemplate jdbcTemplate = null;
    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
            //jdbc:sqlserver://172.19.103.71:1521/orcl?user=hos&password=hos
            DBHelper dbTemp = new DBHelper();
            DataSource source = dbTemp.load(DataSource.class, "select * from system_datasource");
            String config = source.getConfig();
            BasicDataSource dasicDataSource = new BasicDataSource();
            if (config.contains("oracle")) {
                //oracle数据库
                dasicDataSource.setUrl(source.getConfig());
                dasicDataSource.setDriverClassName("oracle.jdbc.driver.OracleDriver");
                String[] s1 = config.split("@");
                String[] s2 = s1[0].split(":");
                String[] s3 = s2[3].split("/");
                dasicDataSource.setUsername(s3[0]);
                dasicDataSource.setPassword(s3[1]);
            } else if (config.contains("mysql")) {
                //mysql数据库
                dasicDataSource.setUrl(source.getConfig());
                dasicDataSource.setDriverClassName("com.mysql.jdbc.Driver");
                String[] s1 = config.split("\\?");
                String[] s2 = s1[1].split("&");
                dasicDataSource.setUsername(s2[0].split("=")[1]);
                dasicDataSource.setPassword(s2[1].split("=")[1]);
            } else if (config.contains("sqlserver")) {
                //sqlserver数据库
                dasicDataSource.setUrl(source.getConfig());
                dasicDataSource.setDriverClassName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
                String[] s1 = config.split("\\?");
                String[] s2 = s1[1].split("&");
                dasicDataSource.setUsername(s2[0].split("=")[1]);
                dasicDataSource.setPassword(s2[1].split("=")[1]);
            }
            jdbcTemplate = new JdbcTemplate();
            jdbcTemplate.setDataSource(dasicDataSource);
        }
    }
    /**
     * 执行sql语句
     *
     * @param sql
     * @return
     */
    public String excuteSQL(String TransactionCode,
                            String sql) {
        WSReturnModel wsReturnModel = new WSReturnModel();
        wsReturnModel.setTransactionCode(TransactionCode);
        try {
            initJDBC();
            wsReturnModel.setData(jdbcTemplate.queryForList(sql));
            return WSReturnModel.toXml(wsReturnModel);
        } catch (Exception e1) {
            wsReturnModel.setTransactionCode("-30000");
            wsReturnModel.setRespMessage(e1.getMessage());
            return WSReturnModel.toXml(wsReturnModel);
        }
    }
    /**
     * 获取检查报告单的列表
     *
     * @param cardType
     * @param cardNo
     * @param startDate
     * @param endDate
     * @param mobile
     * @param reportType
     * @return
     */
    public String GetReportList(
            String TransactionCode,
            String cardType,
            String cardNo,
            String startDate,
            String endDate,
            String mobile,
            String reportType) {
        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 + "'");
            // }
            //wsReturnModel.setData(jdbcTemplate.queryForList(sb.toString()));
            // return WSReturnModel.toXml(wsReturnModel);
            return getFileByPath("C:\\Documents and Settings\\Administrator\\桌面\\data\\GetReportList.xml");
        } catch (Exception e) {
            wsReturnModel.setTransactionCode("-30000");
            wsReturnModel.setRespMessage(e.getMessage());
            return WSReturnModel.toXml(wsReturnModel);
        }
    }
    /**
     * 检查报告单/检验报告单明细
     *
     * @param reportId
     * @param reportType
     * @return
     */
    public String GetReportInfo(
            String TransactionCode,
            String reportId,
            String reportType) {
        WSReturnModel wsReturnModel = new WSReturnModel();
        wsReturnModel.setTransactionCode(TransactionCode);
        try {
            /*
            initJDBC();
            StringBuffer sb = new StringBuffer("select * from HDSD01_01 where 1=1 ");
            if (!StringUtil.isEmpty(reportId)) {
                sb.append(" and HDSD00_05_026 < '" + reportId + "'");
            }
            if (!StringUtil.isEmpty(reportType)) {
                sb.append(" and HDSD00_01_001 > '" + reportType + "'");
            }*/
            //  wsReturnModel.setData(jdbcTemplate.queryForList(sb.toString()));
            return getFileByPath("C:\\Documents and Settings\\Administrator\\桌面\\data\\GetReportInfo.xml");
        } catch (Exception e) {
            wsReturnModel.setTransactionCode("-30000");
            wsReturnModel.setRespMessage(e.getMessage());
            return WSReturnModel.toXml(wsReturnModel);
        }
    }
    public String QueryUserInfo(String TransactionCode, String CardType, String CardNo, String Mobile, String PatientId) {
        WSReturnModel wsReturnModel = new WSReturnModel();
        wsReturnModel.setTransactionCode(TransactionCode);
        try {
            /*
            initJDBC();
            StringBuffer sb = new StringBuffer("select * from HDSD01_01 where 1=1 ");
            if (!StringUtil.isEmpty(reportId)) {
                sb.append(" and HDSD00_05_026 < '" + reportId + "'");
            }
            if (!StringUtil.isEmpty(reportType)) {
                sb.append(" and HDSD00_01_001 > '" + reportType + "'");
            }*/
            //  wsReturnModel.setData(jdbcTemplate.queryForList(sb.toString()));
            return getFileByPath("C:\\Documents and Settings\\Administrator\\桌面\\data\\QueryUserInfo.xml");
        } catch (Exception e) {
            wsReturnModel.setTransactionCode("-30000");
            wsReturnModel.setRespMessage(e.getMessage());
            return WSReturnModel.toXml(wsReturnModel);
        }
    }
    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();
        }*/
        System.out.println(getFileByPath("C:\\Users\\Administrator\\Desktop\\getReportInfo.xml"));
    }
    public static String getFileByPath(String path) {
        BufferedReader reader = null;
        FileReader fileReader = null;
        try {
            File cfgFile = ResourceUtils.getFile(path);
            fileReader=new FileReader(cfgFile);
            reader = new BufferedReader(fileReader);
            String line;
            String strContent = "";
            while ((line = reader.readLine()) != null) {
                strContent += line;
            }
            return strContent;
        } catch (Exception e) {
            return "";
        } finally {
            if(reader!=null){
                try {
                    reader.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if(fileReader!=null){
                try {
                    fileReader.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

+ 0 - 88
Hos-Resource-WS/src/main/java/com.yihu.ehr/ws/SQLWebService.java

@ -1,88 +0,0 @@
package com.yihu.ehr.ws;
import com.yihu.ehr.dbhelper.jdbc.DBHelper;
import com.yihu.ehr.model.DataSource;
import com.yihu.ehr.ws.inf.ISQLWebService;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.xml.XMLSerializer;
import org.apache.commons.dbcp2.BasicDataSource;
import org.springframework.jdbc.core.JdbcTemplate;
import javax.jws.WebService;
/**
 * Created by Administrator on 2016/5/19.
 */
@WebService(endpointInterface = "com.yihu.ehr.ws.inf.ISQLWebService", serviceName = "testWS")
public class SQLWebService implements ISQLWebService {
    public static JdbcTemplate jdbcTemplate = null;
    @Override
    public String excuteSQL(String sql) {
        try {
            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
                //jdbc:sqlserver://172.19.103.71:1521/orcl?user=hos&password=hos
                DBHelper dbTemp = new DBHelper();
                DataSource source = dbTemp.load(DataSource.class, "select * from system_datasource");
                String config = source.getConfig();
                BasicDataSource dasicDataSource = new BasicDataSource();
                if (config.contains("oracle")) {
                    //oracle数据库
                    dasicDataSource.setUrl(source.getConfig());
                    dasicDataSource.setDriverClassName("oracle.jdbc.driver.OracleDriver");
                    String[] s1 = config.split("@");
                    String[] s2 = s1[0].split(":");
                    String[] s3 = s2[3].split("/");
                    dasicDataSource.setUsername(s3[0]);
                    dasicDataSource.setPassword(s3[1]);
                    System.out.println("config:" + config);
                    System.out.println("username:" + s3[0]);
                    System.out.println("password:" + s3[1]);
                } else if (config.contains("mysql")) {
                    //mysql数据库
                    dasicDataSource.setUrl(source.getConfig());
                    dasicDataSource.setDriverClassName("com.mysql.jdbc.Driver");
                    String[] s1 = config.split("\\?");
                    String[] s2 = s1[1].split("&");
                    dasicDataSource.setUsername(s2[0].split("=")[1]);
                    dasicDataSource.setPassword(s2[1].split("=")[1]);
                    System.out.println("config:" + config);
                    System.out.println("username:" + s2[0].split("=")[1]);
                    System.out.println("password:" + s2[1].split("=")[1]);
                } else if (config.contains("sqlserver")) {
                    //sqlserver数据库
                    dasicDataSource.setUrl(source.getConfig());
                    dasicDataSource.setDriverClassName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
                    String[] s1 = config.split("\\?");
                    String[] s2 = s1[1].split("&");
                    dasicDataSource.setUsername(s2[0].split("=")[1]);
                    dasicDataSource.setPassword(s2[1].split("=")[1]);
                    System.out.println("config:" + config);
                    System.out.println("username:" + s2[0].split("=")[1]);
                    System.out.println("password:" + s2[1].split("=")[1]);
                }
                jdbcTemplate = new JdbcTemplate();
                jdbcTemplate.setDataSource(dasicDataSource);
            }
            System.out.println(jdbcTemplate.queryForMap("select 1 from dual"));
            System.out.println(jdbcTemplate.queryForList(sql));
            JSONArray jo = JSONArray.fromObject(jdbcTemplate.queryForList(sql));
            XMLSerializer xmlSerializer = new XMLSerializer();
            xmlSerializer.setRootName("req");
            xmlSerializer.setElementName("data");
           xmlSerializer.setTypeHintsEnabled(false);//设置data class="object"  没有class
           // xmlSerializer.setForceTopLevelObject(false);
           // xmlSerializer.setRemoveNamespacePrefixFromElements(false);
            String xml = xmlSerializer.write(jo);
            return xml;
        } catch (Exception e1) {
            e1.printStackTrace();
            return "false";
        }
    }
}

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

@ -1,14 +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
public interface ISQLWebService {
    @WebMethod
    public String excuteSQL(@WebParam(name = "sql") String sql);
}

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

@ -0,0 +1,134 @@
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;
import javax.xml.namespace.QName;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
 * 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 static String replaceBlank(String str) {
        String dest = "";
        if (str != null) {
            Pattern p = Pattern.compile("\\s*|\t|\r|\n");
            Matcher m = p.matcher(str);
            dest = m.replaceAll("");
        }
        return dest;
    }
    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 "basic.BasicApi.QueryUserInfo": {
                    Document document = DocumentHelper.parseText(param.trim());
                    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
    );
}

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

@ -1,15 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
	xsi:schemaLocation="
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
       xsi:schemaLocation="
 http://www.springframework.org/schema/beans 
 http://www.springframework.org/schema/beans/spring-beans.xsd 
 http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
 http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
 ">
	<import resource="classpath:META-INF/cxf/cxf.xml"/>
	<import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>
	<jaxws:endpoint id="/testWebService"
		implementor="com.yihu.ehr.ws.SQLWebService"
		address="/testWS" />
		
    <import resource="classpath:META-INF/cxf/cxf.xml"/>
    <import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>
    <jaxws:endpoint id="/ServiceGateWay"
                    implementor="com.yihu.wsgw.webservice.ServiceGateWay"
                    address="/ServiceGateWay"  publishedEndpointUrl="http://27.154.56.142:8082/service/ServiceGateWay" /><!---->
</beans> 

+ 1 - 1
Hos-resource/Hos-Resource.iml

@ -39,7 +39,7 @@
    <orderEntry type="library" name="Maven: com.oracle:ojdbc6:11.2.0.3.0" level="project" />
    <orderEntry type="library" name="Maven: commons-dbutils:commons-dbutils:1.6" level="project" />
    <orderEntry type="library" name="Maven: net.sourceforge.jexcelapi:jxl:2.6.10" level="project" />
    <orderEntry type="library" name="Maven: com.yihu.core:ehr-dbhelper:1.1.7" level="project" />
    <orderEntry type="library" name="Maven: com.yihu.core:ehr-dbhelper:1.1.8" level="project" />
    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.5.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.3" level="project" />

+ 18 - 47
Hos-resource/pom.xml

@ -58,58 +58,12 @@
            <version>3.1.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-redis</artifactId>
            <version>1.6.0.RELEASE</version>
            <exclusions>
                <exclusion>
                    <groupId>com.fasterxml.jackson.core</groupId>
                    <artifactId>jackson-databind</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-solr</artifactId>
            <version>1.5.0.RELEASE</version>
            <exclusions>
                <exclusion>
                    <groupId>com.fasterxml.jackson.core</groupId>
                    <artifactId>jackson-databind</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.httpcomponents</groupId>
                    <artifactId>httpclient</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.httpcomponents</groupId>
                    <artifactId>httpmime</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-commons</artifactId>
            <version>1.11.0.RELEASE</version>
            <exclusions>
                <exclusion>
                    <groupId>com.fasterxml.jackson.core</groupId>
                    <artifactId>jackson-databind</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>2.7.3</version>
        </dependency>
        <dependency>
            <groupId>com.yihu.hos.resource</groupId>
            <artifactId>Hos-Framework</artifactId>
            <version>1.0.1</version>
            <version>1.0.2</version>
        </dependency>
        <!--<dependency>-->
        <!--<groupId>com.yihu.ehr</groupId>-->
@ -151,6 +105,23 @@
            <artifactId>ehr-dbhelper</artifactId>
            <version>1.1.8</version>
        </dependency>
        <!-- =============WEBSERVICE调用====================-->
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxws</artifactId>
            <version>3.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http</artifactId>
            <version>3.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-bindings-soap</artifactId>
            <version>3.0.0</version>
        </dependency>
    </dependencies>
    <build>

+ 7 - 7
Hos-resource/src/main/java/com/yihu/ehr/datacollect/service/DatacollectManager.java

@ -74,31 +74,31 @@ public class DatacollectManager implements IDatacollectManager {
                        String WeekDay = day;
                        if(day.equals("1"))
                        {
                            WeekDay = "一";
                            WeekDay = "日";
                        }
                        else if(day.equals("2"))
                        {
                            WeekDay = "二";
                            WeekDay = "一";
                        }
                        else if(day.equals("3"))
                        {
                            WeekDay = "三";
                            WeekDay = "二";
                        }
                        else if(day.equals("4"))
                        {
                            WeekDay = "四";
                            WeekDay = "三";
                        }
                        else if(day.equals("5"))
                        {
                            WeekDay = "五";
                            WeekDay = "四";
                        }
                        else if(day.equals("6"))
                        {
                            WeekDay = "六";
                            WeekDay = "五";
                        }
                        else if(day.equals("7"))
                        {
                            WeekDay = "日";
                            WeekDay = "六";
                        }
                        re+="星期" + WeekDay +",";

+ 232 - 2
Hos-resource/src/main/java/com/yihu/ehr/datacollect/service/DatacollectService.java

@ -1,5 +1,6 @@
package com.yihu.ehr.datacollect.service;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.ehr.common.Services;
@ -18,13 +19,26 @@ import com.yihu.ehr.framework.model.ActionResult;
import com.yihu.ehr.framework.util.httpclient.HttpHelper;
import com.yihu.ehr.framework.util.httpclient.HttpResponse;
import com.yihu.ehr.framework.util.log.LogService;
import com.yihu.ehr.framework.util.webservice.WebserviceUtil;
import com.yihu.ehr.resource.service.IStdService;
import org.apache.axis.client.Call;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.json.JSONObject;
import org.json.JSONArray;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.xml.sax.InputSource;
import javax.annotation.Resource;
import javax.xml.namespace.QName;
import java.io.ByteArrayInputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.*;
/**
@ -462,10 +476,217 @@ public class DatacollectService implements IDatacollectService {
        return message;
    }
    /**
     * webservice采集
     * XML转JSONList
     * @return
     */
    private List<JSONObject> getListFromXml(String xml) throws Exception
    {
        SAXReader reader = new SAXReader();
        Document doc = reader.read(new ByteArrayInputStream(xml.getBytes("UTF-8")));
        Element root = doc.getRootElement();
        List<JSONObject> re = new ArrayList<>();
        //xml数据列表
        Iterator iter = root.elementIterator("Data");
        while (iter.hasNext())
        {
            JSONObject obj = new JSONObject();
            Element el =(Element)iter.next();
            Iterator cols = el.elementIterator();
            while (cols.hasNext())
            {
                Element col =(Element)cols.next();
                obj.put(col.getName().toUpperCase(),col.getStringValue());
            }
            re.add(obj);
        }
        return re;
    }
    /**
     * 数据库表采集
     * @return
     */
    private String collectWebservice(DtoJobDataset ds,String schemeVersion,String logId) throws Exception
    {
        String message = "";
        String datasetId = ds.getJobDatasetId();
        String jobDatasetName = ds.getJobDatasetName();
        String condition=ds.getJobDatasetCondition();
        String key=ds.getJobDatasetKey();
        String keytype=ds.getJobDatasetKeytype();
        String keyvalue=ds.getJobDatasetKeyvalue();
        String orgCode = ds.getOrgCode();
        String datasourceId = ds.getDatasourceId();
        String config = ds.getConfig(); //数据库连接
        DBType dbType = DBType.Oracle;//********** 先定死Oracle ****************************
        //webservice地址
        ObjectMapper objectMapper = new ObjectMapper();
        Map<String,String> mapConfig = objectMapper.readValue(config,Map.class);
        if(mapConfig.containsKey("protocol") && mapConfig.containsKey("url")) {
            String url = mapConfig.get("protocol") + "://" + mapConfig.get("url");
            //获取数据集映射
            List datasetString = stdService.getDatasetByScheme(schemeVersion, datasetId);
            JSONArray datasetList = new JSONArray(datasetString);
            if (datasetList != null && datasetList.length() > 0) {
                String stdTableName = datasetList.getJSONObject(0).optString("stdDatasetCode");
                String adapterTableName = datasetList.getJSONObject(0).optString("adapterDatasetCode");
                //获取数据集字段映射结构
                List colString = stdService.getDatacolByScheme(schemeVersion, datasetId);
                JSONArray colList = new JSONArray(colString);
                if (colList != null && colList.length() > 0) {
                    //拼接查询sql
                    String strSql = "Select '" + orgCode + "' as RSCOM_ORG_CODE";
                    for (int i = 0; i < colList.length(); i++) {
                        JSONObject col = colList.getJSONObject(i);
                        String adapterMetadataCode = col.optString("adapterMetadataCode");
                        if (adapterMetadataCode.length() > 0) {
                            strSql += "," + adapterMetadataCode + " as " + col.optString("stdMetadataCode");
                        }
                    }
                    strSql += " from " + adapterTableName;
                    String strWhere = " where 1=1";
                    //采集范围
                    if (condition != null && condition.length() > 0) {
                        strWhere += getCondition(dbType, condition);
                    }
                    //增量采集
                    String maxKey = "0";
                    String keyValue = ds.getJobDatasetKeyvalue();
                    if (key != null && key.length() > 0 && (keyValue != null && !keyValue.equals("null"))) {
                        maxKey = key;
                        if (keytype.toUpperCase().equals("DATE")) //时间类型
                        {
                            Date keyDate = new Date();
                            if (keyvalue != null && keyvalue.length() > 0) {
                                //字符串转时间
                                keyDate = DateConvert.toDate(keyvalue);
                            }
                            //根据数据库类型获取时间sql
                            strWhere += " and " + key + ">'" + getDateSqlByDBType(dbType, keyDate) + "'";
                            strWhere += " order by " + key;
                        } else if (keytype.toUpperCase().equals("VARCHAR")) //字符串类型
                        {
                            maxKey = getToNumberSqlByDBType(dbType, key);
                            if (keyvalue != null && keyvalue.length() > 0) {
                                strWhere += " and " + maxKey + ">'" + keyvalue + "'";
                            }
                            strWhere += " order by " + maxKey;
                        } else {
                            if (keyvalue != null && keyvalue.length() > 0) {
                                strWhere += " and " + key + ">'" + keyvalue + "'";
                            }
                            strWhere += " order by " + key;
                        }
                    }
                    strSql += strWhere;
                    //总条数和最大值查询
                    String sqlCount = "select count(1) as COUNT,max(" + maxKey + ") as MAX_KEYVALUE from " + adapterTableName + strWhere;
                    //webservice获取数据//获取总条数和最大值
                    String strCount = WebserviceUtil.request(url,"ExcuteSQL",new Object[]{"",sqlCount});
                    List<JSONObject> dataCount = getListFromXml(strCount);
                    if (dataCount!=null &&dataCount.size()>0) {
                        Integer count = Integer.parseInt(dataCount.get(0).getString("COUNT"));
                        if (count == 0) //0条记录,无需采集
                        {
                            message = "0条记录,无需采集。";
                        }
                        else {
                            int successCount = 0;
                            String maxKeyvalue = dataCount.get(0).getString("MAX_KEYVALUE");
                            int countPage = 1;
                            if (count > maxNum) //分页采集
                            {
                                countPage = count / maxNum + 1;
                            }
                            for (int i = 0; i < countPage; i++) {
                                int rows = maxNum;
                                if (i + 1 == countPage) {
                                    rows = count - i * maxNum;
                                }
                                String sql = getPageSqlByDBType(dbType, strSql, i * maxNum, rows); //获取分页sql语句
                                RsJobLogDetail detail = new RsJobLogDetail();
                                detail.setStartTime(new Date());
                                detail.setJobLogId(logId);
                                detail.setDatasourceId(datasourceId);
                                detail.setConfig(config);
                                detail.setStdDatasetCode(stdTableName);
                                detail.setJobDatasetId(datasetId);
                                detail.setJobDatasetName(ds.getJobDatasetName());
                                detail.setJobId(ds.getJobId());
                                detail.setJobSql(sql);
                                detail.setJobNum(i + 1);
                                detail.setJobDatasetRows(rows);
                                detail.setSchemeVersion(schemeVersion);
                                String msg = "";
                                try {
                                    //获取分页数据
                                    String strList = WebserviceUtil.request(url, "ExcuteSQL", new Object[]{"", sql});
                                    List<JSONObject> list = getListFromXml(strList);
                                    if (list != null) {
                                        msg = intoMongodb(list, schemeVersion, stdTableName, colList); //返回信息
                                    } else {
                                        msg = "查询数据为空!";
                                    }
                                    if (msg.length() > 0) {
                                        //任务日志细表异常操作
                                        detail.setJobStatus("0");
                                        detail.setJobContent(msg);
                                        LogService.getLogger().info(msg); //文本日志
                                    } else {
                                        detail.setJobStatus("1");
                                        detail.setJobContent("采集成功!");
                                        successCount += rows;
                                    }
                                }
                                catch (Exception ex)
                                {
                                    msg=ex.getMessage();
                                }
                                detail.setEndTime(new Date());
                                datacollectLogDao.saveEntity(detail);
                            }
                            //修改最大值
                            if (maxKeyvalue != null && maxKeyvalue.length() > 0) {
                                datacollectLogDao.updateJobDatasetKeyvalue(ds.getId(), maxKeyvalue);
                                LogService.getLogger().info("修改任务数据集最大值为" + maxKeyvalue + "。"); //文本日志
                            }
                            message = jobDatasetName + "采集成功" + successCount + "条数据,总条数" + count + "条。";
                        }
                    }
                } else {
                    throw new Exception(jobDatasetName + "数据集字段映射为空!");
                }
            } else {
                throw new Exception(jobDatasetName + "数据集映射为空!");
            }
        }
        else{
            throw new Exception("非法webservice路径!");
        }
        LogService.getLogger().info(message);
        return message;
    }
    /**
     * webservice采集(参数)
     *//*
    private String collectWebservice(DtoJobDataset ds,String schemeVersion,String logId) throws Exception
    {
        String message = "";
        String datasetId = ds.getJobDatasetId();
@ -650,7 +871,7 @@ public class DatacollectService implements IDatacollectService {
        LogService.getLogger().info(message);
        return message;
    }
    }*/
@ -717,6 +938,7 @@ public class DatacollectService implements IDatacollectService {
            }
        } catch (Exception ex) {
            ex.printStackTrace();
            LogService.getLogger().info("异常:" + ex.getMessage());
            logStr.append(ex.getMessage() + "\n");
            logStr.append("/*********** 出现异常,中断采集 *******************/\n");
@ -793,4 +1015,12 @@ public class DatacollectService implements IDatacollectService {
            return new ActionResult(true,"补采成功!");
        }
    }
    public static void main(String[] args) throws Exception{
        //namespace是命名空间,methodName是方法名
        String sql = "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)";
        //调用web Service//输出调用结果
        System.out.println(WebserviceUtil.request("http://172.19.103.71:8080/service/sql?wsdl", "ExcuteSQL", new Object[]{"", sql}));
    }
}

+ 13 - 10
Hos-resource/src/main/java/com/yihu/ehr/job/service/ArchiveUploadJob.java

@ -32,15 +32,16 @@ public class ArchiveUploadJob implements IBaseJob {
        Map<String, Object> condition = new HashMap<>();
        Date begin = job.getRepeatStartTime();
        Date end = job.getRepeatEndTime();
        if (end == null) {
            //调整截止时间,当前时间-偏移量
            end = DateUtil.addDate(-job.getDelayTime(), DateUtil.getSysDateTime());
        if (!job.getJobType().equals("0")) {
            if (end == null) {
                //调整截止时间,当前时间-偏移量
                end = DateUtil.addDate(-job.getDelayTime(), DateUtil.getSysDateTime());
            }
            if ((end.getTime() - begin.getTime()) <= 0) {
                return; //结束时间小于开始时间时,不获取
            }
        }
        if ((end.getTime() - begin.getTime()) <= 0) {
            return; //结束时间小于开始时间时,不获取
        }
        condition.put("beginDate", begin);
        condition.put("endDate", end);
@ -48,8 +49,10 @@ public class ArchiveUploadJob implements IBaseJob {
        condition.put("datasetList", result.getDetailModelList());
        CrawlerManager.getInstance().dataCrawler(condition);
        job.setRepeatStartTime(end);
        job.setRepeatEndTime(DateUtil.formatYMDToYMDHMS(DateUtil.getSysDateTime().toString()));
        if (!job.getJobType().equals("0")) {
            job.setRepeatStartTime(end);
            job.setRepeatEndTime(DateUtil.formatYMDToYMDHMS(DateUtil.getSysDateTime().toString()));
        }
        datacollect.updateJob(job);
        return;
    }

+ 1 - 1
Hos-resource/src/main/java/com/yihu/ehr/resource/controller/RsCategoryController.java

@ -64,7 +64,7 @@ public class RsCategoryController extends BaseController {
                        s1.append(s.charAt(i));
                }
            }
            rrrd.setRemark(s1.toString());
           // rrrd.setRemark(s1.toString());
            model.addAttribute("model", rrrd);
            model.addAttribute("contentPage", "resource/category/rsCategoryInfoDialog");
        } catch (Exception e) {

+ 7 - 5
Hos-resource/src/main/java/com/yihu/ehr/resource/controller/RsResourceController.java

@ -437,8 +437,8 @@ public class RsResourceController extends BaseController {
            String rate = request.getParameter("rate");
            String code = request.getParameter("code");
            String name = request.getParameter("name");
            String supportType = request.getParameter("supportType");
            String type = request.getParameter("type");
            String supportType = request.getParameter("inp_resource_support_type");
            String type = request.getParameter("inp_resource_type");
            String id = request.getParameter("id");
            RsResource rs = new RsResource();
            rs.setId(id);
@ -470,8 +470,8 @@ public class RsResourceController extends BaseController {
            String rate = request.getParameter("rate");
            String code = request.getParameter("code");
            String name = request.getParameter("name");
            String supportType = request.getParameter("supportType");
            String type = request.getParameter("type");
            String supportType = request.getParameter("inp_resource_support_type");
            String type = request.getParameter("inp_resource_type");
            RsResource rs = new RsResource();
            rs.setCode(code);
            rs.setType(type);
@ -509,9 +509,11 @@ public class RsResourceController extends BaseController {
            String datasetId = request.getParameter("datasetId");
            String name = request.getParameter("name");
            String page = request.getParameter("page");
            String rsResourceImportDatasetDialogName = request.getParameter("rsResourceImportDatasetDialogName");
            String rows = request.getParameter("rows");
            params.put("datasetId", datasetId);
            params.put("name", name);
            params.put("rsResourceImportDatasetDialogName", rsResourceImportDatasetDialogName);
            params.put("page", page);
            params.put("rows", rows);
            return resourceService.getDataSet(params);
@ -661,7 +663,7 @@ public class RsResourceController extends BaseController {
    public Result getMetaDataByDatasetId(HttpServletRequest request) {
        try {
            String datasetCode = request.getParameter("datasetCode");
            String datasetId = request.getParameter("datasetId");
                String datasetId = request.getParameter("datasetId");
            return resourceService.getMetaDataByDatasetId(datasetCode, datasetId);
        } catch (Exception e) {
            e.printStackTrace();

+ 2 - 0
Hos-resource/src/main/java/com/yihu/ehr/resource/service/IStdService.java

@ -63,4 +63,6 @@ public interface IStdService {
    public List<StdMetaDataModel> metadatasAllVersionList(Map<String, Object> params) throws Exception;
    public List<StdDataSetModel> datasetsAllVersionList() throws Exception;
    public List datasetVersionListByName(String rsResourceImportDatasetDialogName)throws Exception;
}

+ 4 - 2
Hos-resource/src/main/java/com/yihu/ehr/resource/service/impl/RsCategoryServiceImpl.java

@ -37,6 +37,7 @@ public class RsCategoryServiceImpl implements IRsCategoryService {
    @Transactional
    public Result createCategory(RsResourceCategory rrc) throws Exception {
        RsResourceCategory rrcTemp = rsCategoryDao.getCategoryByNameAndPid(rrc.getName(), rrc.getPid());
       // rrc.setRemark(rrc.getRemark().replace("\n","</br>"));
        if (rrcTemp == null)
            rsCategoryDao.saveEntity(rrc);
        else
@ -47,6 +48,7 @@ public class RsCategoryServiceImpl implements IRsCategoryService {
    @Transactional
    public Result updateCategory(RsResourceCategory rrc) throws Exception {
        RsResourceCategory rrcTemp = rsCategoryDao.getCategoryByNameAndPidWithOutThis(rrc.getName(), rrc.getPid(), rrc.getId());
    //    rrc.setRemark(rrc.getRemark().replace("\n","</br>"));
        if (rrcTemp != null)
            return Result.error("分类名称重复");
        RsResourceCategory rc = rsCategoryDao.getEntity(RsResourceCategory.class, rrc.getId());
@ -66,13 +68,13 @@ public class RsCategoryServiceImpl implements IRsCategoryService {
        List<RsResourceCategory> categoryList = rsCategoryDao.getCategoryByPid(id);
        if(categoryList==null || categoryList.size()>0)
        {
            return Result.error("存在子节点,不允许删除!");
            return Result.error("该分类包含子分类,不可直接删除!");
        }
        //判断是否存在资源
        List<RsResource> resourceList =  rsResourceDao.getAllRsResourceByCategory(id);
        if(resourceList==null || resourceList.size()>0)
        {
            return Result.error("存在所属资源,不允许删除!");
            return Result.error("该分类包含注册资源,不可直接删除!");
        }
        RsResourceCategory rc = rsCategoryDao.getEntity(RsResourceCategory.class, id);

+ 8 - 6
Hos-resource/src/main/java/com/yihu/ehr/resource/service/impl/RsResourceServiceImpl.java

@ -167,12 +167,14 @@ public class RsResourceServiceImpl implements IRsResourceService {
        DataGridResult re = new DataGridResult();
        if (StringUtils.isEmpty(params.get("datasetId"))) {
            if(params.get("name")!=null)
            {
                return resourceDatasetDao.getDataSet(params);
            }
            else {
                re.setDetailModelList(stdService.datasetsAllVersionList());
            if (params.get("rsResourceImportDatasetDialogName") != null) {
                re.setDetailModelList(stdService.datasetVersionListByName(params.get("rsResourceImportDatasetDialogName").toString()));
            } else {
                if (params.get("name") != null) {
                    return resourceDatasetDao.getDataSet(params);
                } else {
                    re.setDetailModelList(stdService.datasetsAllVersionList());
                }
            }
        } else {
            RsResourceDataset rd = resourceDatasetDao.getEntity(RsResourceDataset.class, (String) params.get("datasetId"));

+ 5 - 0
Hos-resource/src/main/java/com/yihu/ehr/resource/service/impl/StdService.java

@ -166,4 +166,9 @@ public class StdService implements IStdService {
    public List<StdDataSetModel> datasetsAllVersionList() throws Exception {
        return stdDatasetService.getAllVersionDatasetList();
    }
    @Override
    public List datasetVersionListByName(String rsResourceImportDatasetDialogName) throws Exception {
        return stdDatasetService.datasetVersionListByName(rsResourceImportDatasetDialogName);
    }
}

+ 3 - 3
Hos-resource/src/main/java/com/yihu/ehr/standard/service/standard/StandardService.java

@ -181,10 +181,10 @@ public class StandardService extends SQLGeneralDAO {
            existNameFlg = standardNameValidate(standardModel.getId(), standardModel.getName());
            if (!existCodeFlg && !existNameFlg) {
                this.update(standardModel);
                standardModel.setSuccessFlg(true);
                standardModel.setMessage("修改标准成功");
                return standardModel;
            }
            standardModel.setSuccessFlg(true);
            standardModel.setMessage("修改标准成功");
            return standardModel;
        } catch (Exception e) {
            e.printStackTrace();
        }

+ 62 - 7
Hos-resource/src/main/java/com/yihu/ehr/standard/service/standard/StdDatasetService.java

@ -14,16 +14,17 @@ import com.yihu.ehr.framework.util.sql.BeanTransformer;
import com.yihu.ehr.framework.util.sql.RequestParamTransformer;
import com.yihu.ehr.framework.util.sql.SqlCreator;
import com.yihu.ehr.standard.model.Select2;
import com.yihu.ehr.standard.model.standard.StandardVersionModel;
import com.yihu.ehr.standard.model.standard.StdDataSetModel;
import com.yihu.ehr.standard.model.standard.StdDictionaryModel;
import com.yihu.ehr.standard.model.standard.StdMetaDataModel;
import com.yihu.ehr.standard.model.standard.*;
import com.yihu.ehr.standard.model.standard.resultModel.StandardParamResultModel;
import com.yihu.ehr.standard.service.bo.StandardVersion;
import jxl.Sheet;
import jxl.Workbook;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -31,6 +32,7 @@ import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -45,6 +47,8 @@ import java.util.*;
public class StdDatasetService extends SQLGeneralDAO {
    public static final String BEAN_ID = "StdDatasetService";
    @Autowired
    StandardService standardService;
    public StdDatasetService() {
    }
@ -339,10 +343,21 @@ public class StdDatasetService extends SQLGeneralDAO {
    }
    public List getAllVersionDatasetList() {
        // 导入的数据集列表应该只取集成标准已发布各版本的并集去重 @modify by yingjie chen
        Criteria criteria = getCurrentSession().createCriteria(StandardModel.class);
        StandardParamResultModel standardParam = standardService.getStandardParam(Constants.STANDARD);
        String code = standardParam.getCode();
        criteria.add(Restrictions.eq("code", code));
        List<StandardModel> standardModelList = criteria.list();
        List<Integer> idList = standardModelList.stream().map(StandardModel::getId).collect(Collectors.toList());
        try {
            String hql = "FROM StandardVersionModel WHERE publishTime is not null order by publishTime";
            Query query = getCurrentSession().createQuery(hql);
            List<StandardVersionModel> versionModelList = query.list();
            List<StandardVersionModel> versionModelList = new ArrayList<>();
            if (!CollectionUtil.isEmpty(idList)) {
                String hql = "FROM StandardVersionModel WHERE publishTime is not null AND standardId IN :idList order by publishTime";
                Query query = getCurrentSession().createQuery(hql);
                query.setParameterList("idList", idList);
                versionModelList = query.list();
            }
            String sql = Constants.EMPTY;
            BeanTransformer transformer = new BeanTransformer(StdDataSetModel.class);
            for (StandardVersionModel versionModel : versionModelList) {
@ -537,5 +552,45 @@ public class StdDatasetService extends SQLGeneralDAO {
        }
    }
    public List datasetVersionListByName(String rsResourceImportDatasetDialogName) {
        try {
            String hql = "FROM StandardVersionModel WHERE publishTime is not null order by publishTime";
            Query query = getCurrentSession().createQuery(hql);
            List<StandardVersionModel> versionModelList = query.list();
            String sql = Constants.EMPTY;
            BeanTransformer transformer = new BeanTransformer(StdDataSetModel.class);
            for (StandardVersionModel versionModel : versionModelList) {
                SqlCreator sqlCreator = new SqlCreator(StdDataSetModel.class);
                StandardVersion version = new StandardVersion(versionModel.getVersion());
                sql = sql + sqlCreator.selectData(version.getDataSetTableName())  + Constants.UNION;
            }
            if (!StringUtil.isEmpty(sql)) {
                sql = sql.substring(0, sql.length() - Constants.UNION.length());
                SQLQuery sqlQuery = getCurrentSession().createSQLQuery(sql);
                sqlQuery.setResultTransformer(transformer);
                List<StdDataSetModel> modelList = sqlQuery.list();
                List<StdDataSetModel> distinctModelList = new ArrayList<>();
                Map<String, StdDataSetModel> datasetModelMap = new HashMap<>();
                for (StdDataSetModel model : modelList) {
                    datasetModelMap.put(model.getCode(), model);
                }
                for (String key : datasetModelMap.keySet()) {
                    StdDataSetModel s=datasetModelMap.get(key);
                    if(s.getName().contains(rsResourceImportDatasetDialogName)){
                        distinctModelList.add(datasetModelMap.get(key));
                    }
                }
                return distinctModelList;
            } else {
                return new ArrayList<>();
            }
        } catch (Exception e) {
            e.printStackTrace();
            throw new ApiException(ErrorCode.GetDataSetListFailed);
        }
    }
}

+ 1 - 1
Hos-resource/src/main/java/com/yihu/ehr/standard/service/standard/StdDictEntryService.java

@ -183,7 +183,7 @@ public class StdDictEntryService extends SQLGeneralDAO {
        query.executeUpdate();
    }
    private void add(StandardVersion standardVersion, StdDictionaryEntryModel stdDictionaryEntryModel) throws IOException {
    public void add(StandardVersion standardVersion, StdDictionaryEntryModel stdDictionaryEntryModel) throws IOException {
        Session session = getCurrentSession();
        String dictEntryTableName = standardVersion.getDictEntryTableName();

+ 49 - 2
Hos-resource/src/main/java/com/yihu/ehr/standard/service/standard/StdDictService.java

@ -17,12 +17,12 @@ import com.yihu.ehr.framework.util.sql.BeanTransformer;
import com.yihu.ehr.framework.util.sql.RequestParamTransformer;
import com.yihu.ehr.framework.util.sql.SqlCreator;
import com.yihu.ehr.standard.model.Select2;
import com.yihu.ehr.standard.model.adapter.AdapterDictModel;
import com.yihu.ehr.standard.model.standard.StdDataSetModel;
import com.yihu.ehr.standard.model.standard.StdDictionaryEntryModel;
import com.yihu.ehr.standard.model.standard.StdDictionaryModel;
import com.yihu.ehr.standard.service.bo.StandardVersion;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -39,6 +39,8 @@ import java.util.*;
public class StdDictService extends SQLGeneralDAO {
    public static final String BEAN_ID = "StdDictService";
    @Autowired
    StdDictEntryService stdDictEntryService;
    public StdDictService() {
    }
@ -70,6 +72,31 @@ public class StdDictService extends SQLGeneralDAO {
            existFlg = dictCodeValidate(standardVersion, stdDictionaryModel.getCode());
            if (!existFlg) {
                this.add(standardVersion, stdDictionaryModel);
                //取得新增字典表记录
                Map<String, Object> query = new HashMap<>();
                Map<String, String> order = new HashMap<>();
                query.put("code", stdDictionaryModel.getCode());
                List<StdDictionaryModel> list = this.getList(standardVersion, query, order, 1, 0);
                Integer id = list.get(0).getId();
                Integer parentId = list.get(0).getParentId();
                if (parentId != null) {
                    Map<String, Object> query1 = new HashMap<>();
                    Map<String, String> order1 = new HashMap<>();
                    query1.put("dictId", parentId);
                    List<StdDictionaryEntryModel> dicEntryList = this.getDicEntryList(standardVersion,query1,order,null,null);
                    for (StdDictionaryEntryModel entryModel : dicEntryList) {
                        StdDictionaryEntryModel model =  new StdDictionaryEntryModel();
                        model.setDictId(id);
                        model.setstandardId(entryModel.getstandardId());
                        model.setCode(entryModel.getCode());
                        model.setValue(entryModel.getValue());
                        model.setDescription(entryModel.getDescription());
                        stdDictEntryService.add(standardVersion,model);
                    }
                }
                stdDictionaryModel.setSuccessFlg(true);
                stdDictionaryModel.setMessage("保存标准字典成功");
                return stdDictionaryModel;
@ -236,6 +263,26 @@ public class StdDictService extends SQLGeneralDAO {
        return (List<StdDictionaryModel>) sessionQuery.list();
    }
    private List<StdDictionaryEntryModel> getDicEntryList(StandardVersion standardVersion, Map<String, Object> query, Map<String, String> order, Integer limit, Integer offset) {
        SqlCreator sqlCreator = new SqlCreator(StdDictionaryEntryModel.class);
        for (String key : query.keySet()) {
            sqlCreator.equalCondition(key, query.get(key));
        }
        for (String key : order.keySet()) {
            sqlCreator.order(key, order.get(key));
        }
        String sql = sqlCreator.selectData(standardVersion.getDictEntryTableName());
        Query sessionQuery = getQuery(sqlCreator, sql);
        if (limit != null) {
            sessionQuery.setMaxResults(limit);
            if (offset != null) {
                sessionQuery.setFirstResult((offset - 1) * limit);
            }
        }
        return (List<StdDictionaryEntryModel>) sessionQuery.list();
    }
    public DictionaryResult getDictionaryList(String stdVersion, String query, String order, Integer rows, Integer page) {
        try {
            List<StdDictionaryModel> stdDictionaryModelList = getList(stdVersion, query, order, rows, page);

+ 35 - 20
Hos-resource/src/main/java/com/yihu/ehr/standard/service/standard/StdMetadataService.java

@ -2,7 +2,6 @@ package com.yihu.ehr.standard.service.standard;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.ehr.common.ReflectUtil;
import com.yihu.ehr.framework.common.dao.SQLGeneralDAO;
import com.yihu.ehr.framework.constrant.Constants;
import com.yihu.ehr.framework.constrant.ErrorCode;
@ -16,20 +15,21 @@ import com.yihu.ehr.framework.util.sql.RequestParamTransformer;
import com.yihu.ehr.framework.util.sql.SqlCreator;
import com.yihu.ehr.standard.model.Select2;
import com.yihu.ehr.standard.model.adapter.AdapterMetadataModel;
import com.yihu.ehr.standard.model.standard.StandardVersionModel;
import com.yihu.ehr.standard.model.standard.StdDataSetModel;
import com.yihu.ehr.standard.model.standard.StdDictionaryEntryModel;
import com.yihu.ehr.standard.model.standard.StdMetaDataModel;
import com.yihu.ehr.standard.model.standard.*;
import com.yihu.ehr.standard.model.standard.resultModel.StandardParamResultModel;
import com.yihu.ehr.standard.service.bo.StandardVersion;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.IOException;
import java.lang.reflect.Field;
import java.util.*;
import java.util.stream.Collectors;
/**
 * 数据元管理接口实现。
@ -43,6 +43,8 @@ import java.util.*;
public class StdMetadataService extends SQLGeneralDAO {
    public static final String BEAN_ID = "StdMetadataService";
    @Autowired
    StandardService standardService;
    public StdMetadataService() {
    }
@ -323,8 +325,9 @@ public class StdMetadataService extends SQLGeneralDAO {
    }
    public List getAllVersionMetadataList(String condition) {
        //数据元列表应该是所选择的数据集列表的数据元并集去重 @modify by yingjie chen
        try {
            Map<Integer, String> versionMap = new HashMap<>();
            List<String>  versionList = new ArrayList<>();
            String sql = Constants.EMPTY;
            ObjectMapper objectMapper = new ObjectMapper();
            String code = Constants.EMPTY;
@ -333,17 +336,26 @@ public class StdMetadataService extends SQLGeneralDAO {
                code = jsonNode.get("code").asText();
            }
            String hql = "FROM StandardVersionModel WHERE publishTime is not null order by publishTime";
            Query query = getCurrentSession().createQuery(hql);
            List<StandardVersionModel> versionModelList = query.list();
            for (StandardVersionModel versionModel : versionModelList) {
                SqlCreator sqlDatasetCreator = new SqlCreator(StdDataSetModel.class);
                StandardVersion version = new StandardVersion(versionModel.getVersion());
                versionMap.put(versionModel.getStandardId(), versionModel.getVersion());
                sqlDatasetCreator.equalCondition("code", code);
                sql = sql + sqlDatasetCreator.selectData(version.getDataSetTableName()) + Constants.UNION;
            Criteria criteria = getCurrentSession().createCriteria(StandardModel.class);
            StandardParamResultModel standardParam = standardService.getStandardParam(Constants.STANDARD);
            String VersionCode = standardParam.getCode();
            criteria.add(Restrictions.eq("code", VersionCode));
            List<StandardModel> standardModelList = criteria.list();
            List<Integer> idList = standardModelList.stream().map(StandardModel::getId).collect(Collectors.toList());
            List<StandardVersionModel> versionModelList;
            if (!CollectionUtil.isEmpty(idList)) {
                String hql = "FROM StandardVersionModel WHERE publishTime is not null AND standardId IN :idList order by publishTime";
                Query query = getCurrentSession().createQuery(hql);
                query.setParameterList("idList", idList);
                versionModelList = query.list();
                for (StandardVersionModel versionModel : versionModelList) {
                    SqlCreator sqlDatasetCreator = new SqlCreator(StdDataSetModel.class);
                    StandardVersion version = new StandardVersion(versionModel.getVersion());
                    versionList.add(versionModel.getVersion());
                    sqlDatasetCreator.equalCondition("code", code);
                    sql = sql + sqlDatasetCreator.selectData(version.getDataSetTableName()) + Constants.UNION;
                }
            }
            BeanTransformer datasetTransformer = new BeanTransformer(StdDataSetModel.class);
            if (!StringUtil.isEmpty(sql)) {
                sql = sql.substring(0, sql.length() - Constants.UNION.length());
@ -354,12 +366,15 @@ public class StdMetadataService extends SQLGeneralDAO {
                sql = Constants.EMPTY;
                Integer count = 1;
                Map<Integer, String> datasetIdMap = new HashMap<>();
                for (StdDataSetModel model : modelList) {
                    SqlCreator sqlMetadataCreator = new SqlCreator(StdMetaDataModel.class);
                    StandardVersion version = new StandardVersion(versionMap.get(model.getstandardId()));
                    datasetIdMap.put(count++, StringUtil.toString(model.getId()));
                    sqlMetadataCreator.equalConditionQue("datasetId", model.getId());
                    sql = sql + sqlMetadataCreator.selectData(version.getMetaDataTableName()) + Constants.UNION;
                    for (String versionKey : versionList) {
                        datasetIdMap.put(count++, StringUtil.toString(model.getId()));
                        StandardVersion version = new StandardVersion(versionKey);
                        sql = sql + sqlMetadataCreator.selectSingleData(version.getMetaDataTableName()) + Constants.UNION;
                    }
                }
                BeanTransformer metadataTransformer = new BeanTransformer(StdMetaDataModel.class);

+ 1 - 1
Hos-resource/src/main/resources/log4j2.xml

@ -4,7 +4,7 @@
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss}[xxxxxxxxxxxx][%-5p][%t][%c]: %m%n"/>
            <PatternLayout charset="UTF-8" pattern="%d{HH:mm:ss}[%-5p][%t][%c]: %m%n"/>
        </Console>
        <RollingFile name="RollingFile" filename="D:/log4j2/log/CrunchifyTest.log"
                     filepattern="D:/log4j2/rolling/%d{yyyyMMddHHmmss}-fargo.log">

+ 5 - 1
Hos-resource/src/main/resources/spring/applicationContext.xml

@ -42,6 +42,10 @@
        <property name="username" value="fujian"/>
        <property name="password" value="fujian"/>
        -->
        <!--<property name="url"-->
                  <!--value="jdbc:mysql://172.19.103.71:3306/esb?useUnicode=true&amp;characterEncoding=UTF-8"/>-->
        <!--<property name="username" value="hos"/>-->
        <!--<property name="password" value="hos"/>-->
        <property name="url"
                  value="jdbc:mysql://172.19.103.71:3306/esb?useUnicode=true&amp;characterEncoding=UTF-8"/>
        <property name="username" value="hos"/>
@ -142,7 +146,7 @@
    <bean id="hibernateTemplate" class="org.springframework.orm.hibernate4.HibernateTemplate">
        <property name="sessionFactory" ref="sessionFactory"></property>
    </bean>
    <bean id="quartzScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <bean id="quartzScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" scope="singleton">
        <property name="dataSource" ref="dataSource"/>
        <property name="configLocation" value="classpath:/config/quartz.properties" />
        <property name="autoStartup" value="true"/>

+ 0 - 1
Hos-resource/src/main/webapp/WEB-INF/dispatcher-servlet.xml

@ -58,5 +58,4 @@
        </mvc:message-converters>
    </mvc:annotation-driven>
</beans>

+ 7 - 7
Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/datacollect/editorJob.jsp

@ -157,13 +157,13 @@
                    <div class="label-left">每隔</div><input type="text" id="txtD" /><div class="label-left">天</div>
                </div>
                <div id="divIntervalOption3" class="divIntervalOption">
                    <input type="checkbox" name="week_day" value="1"/>周一
                    <input type="checkbox" name="week_day" value="2"/>周二
                    <input type="checkbox" name="week_day" value="3"/>周三
                    <input type="checkbox" name="week_day" value="4"/>周四
                    <input type="checkbox" name="week_day" value="5"/>周五<br/>
                    <input type="checkbox" name="week_day" value="6"/>周六
                    <input type="checkbox" name="week_day" value="7"/>周日
                    <input type="checkbox" name="week_day" value="2"/>周一
                    <input type="checkbox" name="week_day" value="3"/>周二
                    <input type="checkbox" name="week_day" value="4"/>周三
                    <input type="checkbox" name="week_day" value="5"/>周四
                    <input type="checkbox" name="week_day" value="6"/>周五<br/>
                    <input type="checkbox" name="week_day" value="7"/>周六
                    <input type="checkbox" name="week_day" value="1"/>周日
                </div>
                <div id="divIntervalOption4" class="divIntervalOption">
                    <div class="m-form-group">

+ 25 - 10
Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/datacollect/editorJobJs.jsp

@ -21,8 +21,9 @@
            $("#div_form").show().steps({
                //transitionEffect: "fade",
                onStepChanging:function(d,from,to){
                    if(from>to){
                        return true
                        return true;
                    }
                    else{
                        return me.verify(to);
@ -64,7 +65,10 @@
                            me.$listDataset.reload();
                            me.needReload=false;
                        }
                        else{
                        if(me.needRender)
                        {
                            alert(1);
                            me.$listDataset.setData($("#txtJobDataset").val());
                            me.$listDataset.reRender();
                        }
                    }
@ -101,7 +105,13 @@
            $("a[href='#cancel']").addClass("l-button-no");
            //业务类型
            $('#jobContentClass').ligerComboBox({dict:true,dictName:'JOB_CONTENT_CLASS'});
            $('#jobContentClass').ligerComboBox({
                dict:true,
                dictName:'JOB_CONTENT_CLASS',
                onChange:function(){
                    me.needRender = true;
                }
            });
            $('input[name="jobContentType"]').ligerRadio();
            $(document).on('click','input[name="jobContentType"]',function(){
@ -205,6 +215,10 @@
                        data.checked ="0";
                    editorJob.setCheckVal();
                },
                //全选事件
                onCheckAllRow:function(){
                    me.setCheckVal();
                },
                //加载完成后赋值$("#txtJobDataset")
                onAfterShowData:function(grid)
                {
@ -698,7 +712,8 @@
            var val = "";
            //解析cron表达式
            var interval_type =  $('input[name="interval_type"]').ligerRadio("getValue");
            var cronTime  = new Date($("#dateNextTime").ligerDateEditor('getValue'));
            var minute = cronTime.getMinutes(),hour = cronTime.getHours();
            if(interval_type =="0") //分钟
            {
@ -710,36 +725,36 @@
            else if(interval_type =="1"){ //时钟
                var num = $("#txtH").val();
                if(num!=null && num.length>0) {
                    val = "0 0 0/" + num + " * * ?";
                    val = "0 "+ minute +" 0/" + num + " * * ?";
                }
            }
            else if(interval_type =="2"){ //天
                var num = $("#txtD").val();
                if(num!=null && num.length>0) {
                    val = "0 0 0 1/" + num + " * ?";
                    val = "0 "+ minute +" "+ hour +" 1/" + num + " * ?";
                }
            }
            else if(interval_type =="3"){ //周
                var week_day = $('input[name="week_day"]').ligerCheckBox("getValue");
                if(week_day!=null && week_day.length>0) {
                    val = "0 0 0 ? * " + week_day;
                    val = "0 "+ minute +" "+ hour +" ? * " + week_day;
                }
            }
            else if(interval_type =="4"){ //月
                var month_day = $('input[name="month_day"]').ligerRadio("getValue");
                if(month_day == "0") //每月第一天
                {
                    val = "0 0 0 1 * ?";
                    val = "0 "+ minute +" "+ hour +" 1 * ?";
                }
                else if(month_day == "1") //每月最后一天
                {
                    val = "0 0 0 L * ?";
                    val = "0 "+ minute +" "+ hour +" L * ?";
                }
                else{
                    var num = $("#txtMD").val();
                    if(num!=null && num.length>0)
                    {
                        val = "0 0 0 "+num+" * ?";
                        val = "0 "+ minute +" "+ hour +" "+num+" * ?";
                    }
                }
            }

+ 26 - 15
Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/datacollect/trackJobJs.jsp

@ -32,21 +32,7 @@
                    }
                }
            });
            //开关控件
            var changeCheckbox = document.querySelector('#jobStatusSwitch');
            me.switchery = new Switchery(changeCheckbox, { disabled: true,size: 'large' });
            changeCheckbox.onchange = function() {
                 var jobId = $("#selJob").ligerComboBox("getValue");
                 if(!changeCheckbox.checked)
                 {
                    me.valid(jobId,"0");
                 }
                 else{
                    me.valid(jobId,"1");
                 }
            };
            me.initSwitcher();
            me.chart=echarts.init(document.getElementById("echarts-bar-chart"));
            //列表控件
@ -111,6 +97,25 @@
            });
        },
        initSwitcher:function(){
            var me = this;
            //开关控件
            var changeCheckbox = document.querySelector('#jobStatusSwitch');
            me.switchery = new Switchery(changeCheckbox, { disabled: true,size: 'large' });
            changeCheckbox.onchange = function() {
                debugger
                var a = me.switchery;
                var jobId = $("#selJob").ligerComboBox("getValue");
                if(!changeCheckbox.checked)
                {
                    me.valid(jobId,"0");
                }
                else{
                    me.valid(jobId,"1");
                }
            };
        },
        repeat:function() {
                parent.indexPage.openMenuByText("任务补采", {jobId: $("#selJob").ligerComboBox("getValue")}, false);
        },
@ -120,8 +125,10 @@
        },
        //获取任务相关数据
        search:function(jobId){
            debugger
            var me = this;
            me.clearTop();
            me.initSwitcher();
            if(jobId!="" && jobId.length>0)
            {
                //获取运行状态
@ -205,6 +212,10 @@
        //上部数据情况
        clearTop:function(){
            var me = this;
            var parent = $("#jobStatusSwitch").parent();
            $("#jobStatusSwitch").next().remove();
            $("#jobStatusSwitch").remove();
            $('<input type="checkbox" class="js-switch" id="jobStatusSwitch" checked />').appendTo(parent);
            $("#divCount").html("-");
            $("#divSuccess").html("-");
            $("#divPercent").html("-");

+ 2 - 2
Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/resource/category/rsCategoryInfoDialog.jsp

@ -29,8 +29,8 @@
            <div class="m-form-control">
                        <textarea rows="10" name="remark" data-type="text"  class="l-textarea"
                                  style="width:350px;height: 200px"
                        ></textarea>
                                  style="width:350px;height: 170px"
                        >${model.remark}</textarea>
            </div>
        </div>
    <div class="m-form-bottom">

+ 1 - 2
Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/resource/category/rsCategoryInfoDialogJs.jsp

@ -29,8 +29,7 @@
            var data = {
                name: '${model.name}',
                pid: '${model.pid}',
                status: '${model.status}',
                remark: '${model.remark}'
                status: '${model.status}'
            };
            if(data.pid!=""){

+ 1 - 1
Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/resource/resourceregister/rsResourceAuthorizeJs.jsp

@ -26,7 +26,7 @@
                        pid: "3",
                        text: "资源注册",
                        treedataindex: "10",
                        url: "/resource/resource/initial"
                        url: "${contextRoot}/resource/resource/initial"
                    }
                });
            });

+ 1 - 2
Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/resource/resourceregister/rsResourceImportDatasetDialogJs.jsp

@ -160,7 +160,7 @@
                width: 180, onClick: function (value) {
                    //rsResourceImportDatasetDialog.$leftDG.queryByText("name", value);
                    rsResourceImportDatasetDialog.$leftDG.set({
                        parms: {name:rsResourceImportDatasetDialog.$searchBtn.val()}
                        parms: {rsResourceImportDatasetDialogName:rsResourceImportDatasetDialog.$searchBtn.val()}
                    });
                    rsResourceImportDatasetDialog.$leftDG.reload();
@ -179,7 +179,6 @@
                ],
                validate: true,
                rownumbers: false,
                checkbox: true,
                parms: {datasetId: rsResourceImportDatasetDialog.datasetId},
                allowAdjustColWidth: false,
                width: 240,

+ 1 - 0
Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/resource/resourceregister/rsResourceInfoDialog.jsp

@ -6,6 +6,7 @@
    <div class="m-form-group">
        <label><span class="red">*&nbsp;</span>资源名称:</label>
        <div class="l-text-wrapper m-form-control">
            <input type="hidden" name="id"/>
            <input type="text" id="inp_resource_name" class="required f-w240" placeholder="请输入资源类别名称"  required-title="该项为必输项!" name="name"/>
        </div>
    </div>

+ 7 - 2
Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/standard/integration/configurationJs.jsp

@ -375,7 +375,7 @@
          this.bindEvents();
        },
        reloadGrid: function (parentId) {
          
          var searchNmEntry = $("#searchNmEntry").val();
          var values = {
@ -449,6 +449,11 @@
          }
          $.ligerDialog.confirm('确认删除所选数据?', function (r) {
            var row = master.grid.getSelectedRow();
            var parentId = "";
            if(row){
              parentId = row.id;
            }
            if(r){
              $.ajax({
                url: '${contextRoot}'+cfg[cfgModel].right.delLs,
@ -458,7 +463,7 @@
                success: function (data) {
                  if(data.successFlg){
                    $.ligerDialog.success( data.message);
                    entryMaster.reloadGrid();
                    entryMaster.reloadGrid(parentId);
                  }else{
                    $.ligerDialog.error(data.message);
                  }

+ 6 - 1
Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/standard/integration/dataset/updateMetadataJs.jsp

@ -163,7 +163,12 @@
              success: function (data) {
                if(data.successFlg){
                  $.ligerDialog.alert(data.message, "提示", "success", function () {
                    parent.entryMaster.reloadGrid();
                    var row = parent.master.grid.getSelectedRow();
                    var parentId = "";
                    if(row){
                      parentId = row.id;
                    }
                    parent.entryMaster.reloadGrid(parentId);
                    parent.entryMaster.entryInfoDialog.close();
                  }, null);
                }else{

+ 6 - 1
Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/standard/integration/dict/updateDictEntryJs.jsp

@ -94,7 +94,12 @@
            
            if(data.successFlg){
              $.ligerDialog.alert(data.message, "提示", "success", function () {
                parent.entryMaster.reloadGrid();
                var row = parent.master.grid.getSelectedRow();
                var parentId = "";
                if(row){
                  parentId = row.id;
                }
                parent.entryMaster.reloadGrid(parentId);
                parent.entryMaster.entryInfoDialog.close();
              }, null);
            }else{

+ 24 - 0
Hos-resource/src/main/webapp/develop/lib/ligerui/custom/ligerOverwrite.js

@ -100,6 +100,7 @@
    };
    /******************************************************/
    //重写条件选择控件 add by hzp at 20160119
    $.extend($.ligerui.controls.Filter.prototype, {
        getValue: function () {
@ -1830,6 +1831,29 @@
                value = parseFloat(value).toFixed(p.decimalplace);
            }
            this.inputText.val(value)
        },
        _init: function ()
        {
            $.ligerui.controls.Spinner.base._init.call(this);
            var p = this.options;
            if (p.type == 'float')
            {
                p.step = 0.1;
                p.interval = 300;
            } else if (p.type == 'int')
            {
                p.step = 1;
                p.interval = 300;
            } else if (p.type == 'time')
            {
                p.step = 1;
                p.interval = 300;
            } else
            {
                p.type = "int";
                p.step = 1;
                p.interval = 300;
            }
        }
    });