Browse Source

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

# Conflicts:
#	hos-broker/src/main/java/com/yihu/hos/models/BusinessLog.java
Airhead 8 years ago
parent
commit
81d77450e5
100 changed files with 7633 additions and 52 deletions
  1. 455 0
      hos-broker/src/main/java/com/yihu/hos/common/appender/JMSAppender.java
  2. 3 2
      hos-broker/src/main/java/com/yihu/hos/common/classLoader/DynamicClassLoader.java
  3. 31 0
      hos-broker/src/main/java/com/yihu/hos/common/configuration/GatewayConfiguration.java
  4. 1 3
      hos-broker/src/main/java/com/yihu/hos/common/constants/Constant.java
  5. 3 3
      hos-broker/src/main/java/com/yihu/hos/common/format/PatternLayout.java
  6. 5 4
      hos-broker/src/main/java/com/yihu/hos/common/listener/ApplicationStartListener.java
  7. 57 0
      hos-broker/src/main/java/com/yihu/hos/controllers/GatewayController.java
  8. 37 0
      hos-broker/src/main/java/com/yihu/hos/models/GatewayRequsetResult.java
  9. 86 0
      hos-broker/src/main/java/com/yihu/hos/models/GatewayResponseResult.java
  10. 16 15
      hos-broker/src/main/java/com/yihu/hos/services/ESBCamelService.java
  11. 42 0
      hos-broker/src/main/java/com/yihu/hos/services/GatewayService.java
  12. 4 2
      hos-broker/src/main/resources/application.yml
  13. 10 4
      hos-broker/src/main/resources/log4j.properties
  14. 13 0
      hos-core/src/main/java/com/yihu/hos/core/constants/CoreConstant.java
  15. 28 0
      hos-core/src/main/java/com/yihu/hos/core/constants/ExceptionConstant.java
  16. 43 0
      hos-core/src/main/java/com/yihu/hos/core/exception/ESBException.java
  17. 7 0
      hos-core/src/main/java/com/yihu/hos/core/http/HttpClientUtil.java
  18. 119 8
      hos-rest/hos-rest.iml
  19. 51 11
      hos-rest/pom.xml
  20. 15 0
      hos-rest/src/main/java/com/yihu/hos/rest/common/configuration/BeanConfiguration.java
  21. 71 0
      hos-rest/src/main/java/com/yihu/hos/rest/common/configuration/CrawlerConfiguration.java
  22. 51 0
      hos-rest/src/main/java/com/yihu/hos/rest/common/configuration/QLCConfiguration.java
  23. 40 0
      hos-rest/src/main/java/com/yihu/hos/rest/common/dao/CrawlerDatasetDao.java
  24. 40 0
      hos-rest/src/main/java/com/yihu/hos/rest/common/dao/CrawlerFlowDao.java
  25. 32 0
      hos-rest/src/main/java/com/yihu/hos/rest/common/dao/CrawlerFlowHeadDao.java
  26. 259 0
      hos-rest/src/main/java/com/yihu/hos/rest/common/dao/DatacollectDao.java
  27. 76 0
      hos-rest/src/main/java/com/yihu/hos/rest/common/dao/DatacollectLogDao.java
  28. 46 0
      hos-rest/src/main/java/com/yihu/hos/rest/common/dao/DtoDatasetCol.java
  29. 48 0
      hos-rest/src/main/java/com/yihu/hos/rest/common/dao/DtoDictCol.java
  30. 35 0
      hos-rest/src/main/java/com/yihu/hos/rest/common/dao/DtoJobConfig.java
  31. 74 0
      hos-rest/src/main/java/com/yihu/hos/rest/common/dao/DtoJobDataset.java
  32. 36 0
      hos-rest/src/main/java/com/yihu/hos/rest/common/dao/DtoJobLog.java
  33. 58 0
      hos-rest/src/main/java/com/yihu/hos/rest/common/dao/RsDatapushLog.java
  34. 155 0
      hos-rest/src/main/java/com/yihu/hos/rest/common/dao/RsJobConfig.java
  35. 117 0
      hos-rest/src/main/java/com/yihu/hos/rest/common/dao/RsJobDataset.java
  36. 86 0
      hos-rest/src/main/java/com/yihu/hos/rest/common/dao/RsJobLog.java
  37. 190 0
      hos-rest/src/main/java/com/yihu/hos/rest/common/dao/RsJobLogDetail.java
  38. 95 0
      hos-rest/src/main/java/com/yihu/hos/rest/common/format/AdapterBase.java
  39. 72 0
      hos-rest/src/main/java/com/yihu/hos/rest/common/format/AdapterScheme.java
  40. 159 0
      hos-rest/src/main/java/com/yihu/hos/rest/common/format/DataSetTransformer.java
  41. 51 0
      hos-rest/src/main/java/com/yihu/hos/rest/common/format/DocumentTransformer.java
  42. 27 0
      hos-rest/src/main/java/com/yihu/hos/rest/common/format/IDataTransformer.java
  43. 263 0
      hos-rest/src/main/java/com/yihu/hos/rest/controllers/CrawlerController.java
  44. 41 0
      hos-rest/src/main/java/com/yihu/hos/rest/controllers/DataPushController.java
  45. 416 0
      hos-rest/src/main/java/com/yihu/hos/rest/controllers/QLCController.java
  46. 108 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/adapter/AdapterDataSet.java
  47. 47 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/adapter/AdapterDict.java
  48. 14 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/adapter/AdapterDictEntry.java
  49. 62 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/adapter/AdapterMetaData.java
  50. 198 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/config/SysConfig.java
  51. 63 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/flow/CrawlerDataSetModel.java
  52. 53 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/flow/CrawlerFlowHeadModel.java
  53. 93 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/flow/CrawlerFlowModel.java
  54. 20 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/flow/resultModel/CrawlerDatasetResultDetailModel.java
  55. 22 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/flow/resultModel/CrawlerDatasetResultModel.java
  56. 30 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/flow/resultModel/FlowEntrance.java
  57. 48 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/flow/resultModel/FlowLines.java
  58. 40 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/flow/resultModel/FlowMapping.java
  59. 47 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/flow/resultModel/MappingDataset.java
  60. 36 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/flow/resultModel/MappingMetadata.java
  61. 103 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/patient/Patient.java
  62. 59 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/patient/PatientIdentity.java
  63. 110 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/patient/PatientIndex.java
  64. 40 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/standard/StdDict.java
  65. 36 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/standard/StdMetaData.java
  66. 9 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/transform/DictDataType.java
  67. 65 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/transform/EhrCondition.java
  68. 15 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/transform/IVerifier.java
  69. 12 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/transform/LogicValues.java
  70. 45 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/transform/MetaDataType.java
  71. 37 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/transform/MetaDataVerify.java
  72. 21 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/transform/TransformType.java
  73. 37 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/qlc/QLCResponseResult.java
  74. 65 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/standard/SystemParam.java
  75. 98 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/standard/adapter/AdapterDatasetModel.java
  76. 68 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/standard/adapter/AdapterDatasetRelationModel.java
  77. 118 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/standard/adapter/AdapterDictEntryModel.java
  78. 98 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/standard/adapter/AdapterDictModel.java
  79. 148 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/standard/adapter/AdapterMetadataModel.java
  80. 52 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/standard/adapter/AdapterSchemeDispatchModel.java
  81. 122 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/standard/adapter/AdapterSchemeModel.java
  82. 107 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/standard/adapter/AdapterSchemeVersionModel.java
  83. 115 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/standard/adapter/resultModel/AdapterDictEntryResultDetailModel.java
  84. 133 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/standard/adapter/resultModel/AdapterMetadataResultDetailModel.java
  85. 144 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/standard/adapter/resultModel/AdapterSchemeResultDetailModel.java
  86. 42 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/standard/adapter/resultModel/AdapterSchemeResultModel.java
  87. 105 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/standard/adapter/resultModel/AdapterSchemeVersionResultDetailModel.java
  88. 142 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/standard/adapter/resultModel/ApiMetadataResultDetailModel.java
  89. 51 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/standard/bo/AdapterVersion.java
  90. 184 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/standard/bo/ObjectVersion.java
  91. 58 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/standard/bo/StandardVersion.java
  92. 119 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/standard/standard/StandardModel.java
  93. 132 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/standard/standard/StandardVersionModel.java
  94. 83 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/standard/standard/StdCDACatalogModel.java
  95. 50 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/standard/standard/StdCDADatasetModel.java
  96. 94 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/standard/standard/StdCDAModel.java
  97. 105 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/standard/standard/StdDataSetModel.java
  98. 85 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/standard/standard/StdDatasetCatalogModel.java
  99. 81 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/standard/standard/StdDictionaryEntryModel.java
  100. 0 0
      hos-rest/src/main/java/com/yihu/hos/rest/models/standard/standard/StdDictionaryModel.java

+ 455 - 0
hos-broker/src/main/java/com/yihu/hos/common/appender/JMSAppender.java

@ -0,0 +1,455 @@
/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.yihu.hos.common.appender;
import com.yihu.hos.core.constants.CoreConstant;
import com.yihu.hos.core.datatype.DateUtil;
import com.yihu.hos.core.datatype.StringUtil;
import net.sf.json.JSONObject;
import org.apache.log4j.AppenderSkeleton;
import org.apache.log4j.helpers.LogLog;
import org.apache.log4j.spi.ErrorCode;
import org.apache.log4j.spi.LoggingEvent;
import javax.jms.JMSException;
import javax.jms.ObjectMessage;
import javax.jms.Session;
import javax.jms.Topic;
import javax.jms.TopicConnection;
import javax.jms.TopicConnectionFactory;
import javax.jms.TopicPublisher;
import javax.jms.TopicSession;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NameNotFoundException;
import javax.naming.NamingException;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
/**
 * A simple appender that publishes events to a JMS Topic. The events
 * are serialized and transmitted as JMS message type {@link
 * ObjectMessage}.
 * <p>JMS {@link Topic topics} and {@link TopicConnectionFactory topic
 * connection factories} are administered objects that are retrieved
 * using JNDI messaging which in turn requires the retrieval of a JNDI
 * {@link Context}.
 * <p>There are two common methods for retrieving a JNDI {@link
 * Context}. If a file resource named <em>jndi.properties</em> is
 * available to the JNDI API, it will use the information found
 * therein to retrieve an initial JNDI context. To obtain an initial
 * context, your code will simply call:
   <pre>
   InitialContext jndiContext = new InitialContext();
   </pre>
  
 * <p>Calling the no-argument <code>InitialContext()</code> method
 * will also work from within Enterprise Java Beans (EJBs) because it
 * is part of the EJB contract for application servers to provide each
 * bean an environment naming context (ENC).
    
 * <p>In the second approach, several predetermined properties are set
 * and these properties are passed to the <code>InitialContext</code>
 * constructor to connect to the naming service provider. For example,
 * to connect to JBoss naming service one would write:
<pre>
   Properties env = new Properties( );
   env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
   env.put(Context.PROVIDER_URL, "jnp://hostname:1099");
   env.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
   InitialContext jndiContext = new InitialContext(env);
</pre>
   * where <em>hostname</em> is the host where the JBoss application
   * server is running.
   *
   * <p>To connect to the the naming service of Weblogic application
   * server one would write:
<pre>
   Properties env = new Properties( );
   env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
   env.put(Context.PROVIDER_URL, "t3://localhost:7001");
   InitialContext jndiContext = new InitialContext(env);
</pre>
  * <p>Other JMS providers will obviously require different values.
  * 
  * The initial JNDI context can be obtained by calling the
  * no-argument <code>InitialContext()</code> method in EJBs. Only
  * clients running in a separate JVM need to be concerned about the
  * <em>jndi.properties</em> file and calling {@link
  * InitialContext#InitialContext()} or alternatively correctly
  * setting the different properties before calling {@link
  * InitialContext#InitialContext(java.util.Hashtable)} method.
   @author Ceki G&uuml;lc&uuml; */
public class JMSAppender extends AppenderSkeleton {
  String securityPrincipalName;
  String securityCredentials;
  String initialContextFactoryName;
  String urlPkgPrefixes;
  String providerURL;
  String topicBindingName;
  String tcfBindingName;
  String userName;
  String password;
  boolean locationInfo;
  TopicConnection  topicConnection;
  TopicSession topicSession;
  TopicPublisher  topicPublisher;
  public
  JMSAppender() {
  }
  /**
     The <b>TopicConnectionFactoryBindingName</b> option takes a
     string value. Its value will be used to lookup the appropriate
     <code>TopicConnectionFactory</code> from the JNDI context.
   */
  public
  void setTopicConnectionFactoryBindingName(String tcfBindingName) {
    this.tcfBindingName = tcfBindingName;
  }
  /**
     Returns the value of the <b>TopicConnectionFactoryBindingName</b> option.
   */
  public
  String getTopicConnectionFactoryBindingName() {
    return tcfBindingName;
  }
  /**
     The <b>TopicBindingName</b> option takes a
     string value. Its value will be used to lookup the appropriate
     <code>Topic</code> from the JNDI context.
   */
  public
  void setTopicBindingName(String topicBindingName) {
    this.topicBindingName = topicBindingName;
  }
  /**
     Returns the value of the <b>TopicBindingName</b> option.
   */
  public
  String getTopicBindingName() {
    return topicBindingName;
  }
  /**
     Returns value of the <b>LocationInfo</b> property which
     determines whether location (stack) info is sent to the remote
     subscriber. */
  public
  boolean getLocationInfo() {
    return locationInfo;
  }
  /**
   *  Options are activated and become effective only after calling
   *  this method.*/
  public void activateOptions() {
    TopicConnectionFactory  topicConnectionFactory;
    try {
      Context jndi;
      LogLog.debug("Getting initial context.");
      if(initialContextFactoryName != null) {
	Properties env = new Properties( );
	env.put(Context.INITIAL_CONTEXT_FACTORY, initialContextFactoryName);
	if(providerURL != null) {
	  env.put(Context.PROVIDER_URL, providerURL);
	} else {
	  LogLog.warn("You have set InitialContextFactoryName option but not the "
		     +"ProviderURL. This is likely to cause problems.");
	}
	if(urlPkgPrefixes != null) {
	  env.put(Context.URL_PKG_PREFIXES, urlPkgPrefixes);
	}
	
	if(securityPrincipalName != null) {
	  env.put(Context.SECURITY_PRINCIPAL, securityPrincipalName);
	  if(securityCredentials != null) {
	    env.put(Context.SECURITY_CREDENTIALS, securityCredentials);
	  } else {
	    LogLog.warn("You have set SecurityPrincipalName option but not the "
			+"SecurityCredentials. This is likely to cause problems.");
	  }
	}	
	jndi = new InitialContext(env);
      } else {
	jndi = new InitialContext();
      }
      LogLog.debug("Looking up ["+tcfBindingName+"]");
      topicConnectionFactory = (TopicConnectionFactory) lookup(jndi, tcfBindingName);
      LogLog.debug("About to create TopicConnection.");
      if(userName != null) {
	topicConnection = topicConnectionFactory.createTopicConnection(userName, 
								       password); 
      } else {
	topicConnection = topicConnectionFactory.createTopicConnection();
      }
      LogLog.debug("Creating TopicSession, non-transactional, "
		   +"in AUTO_ACKNOWLEDGE mode.");
      topicSession = topicConnection.createTopicSession(false,
							Session.AUTO_ACKNOWLEDGE);
      LogLog.debug("Looking up topic name ["+topicBindingName+"].");
      Topic topic = (Topic) lookup(jndi, topicBindingName);
      LogLog.debug("Creating TopicPublisher.");
      topicPublisher = topicSession.createPublisher(topic);
      
      LogLog.debug("Starting TopicConnection.");
      topicConnection.start();
      jndi.close();
    } catch(JMSException e) {
      errorHandler.error("Error while activating options for appender named ["+name+
			 "].", e, ErrorCode.GENERIC_FAILURE);
    } catch(NamingException e) {
      errorHandler.error("Error while activating options for appender named ["+name+
			 "].", e, ErrorCode.GENERIC_FAILURE);
    } catch(RuntimeException e) {
      errorHandler.error("Error while activating options for appender named ["+name+
			 "].", e, ErrorCode.GENERIC_FAILURE);
    }
  }
  protected Object lookup(Context ctx, String name) throws NamingException {
    try {
      return ctx.lookup(name);
    } catch(NameNotFoundException e) {
      LogLog.error("Could not find name ["+name+"].");
      throw e;
    }
  }
  protected boolean checkEntryConditions() {
    String fail = null;
    if(this.topicConnection == null) {
      fail = "No TopicConnection";
    } else if(this.topicSession == null) {
      fail = "No TopicSession";
    } else if(this.topicPublisher == null) {
      fail = "No TopicPublisher";
    }
    if(fail != null) {
      errorHandler.error(fail +" for JMSAppender named ["+name+"].");
      return false;
    } else {
      return true;
    }
  }
  /**
     Close this JMSAppender. Closing releases all resources used by the
     appender. A closed appender cannot be re-opened. */
  public synchronized void close() {
    // The synchronized modifier avoids concurrent append and close operations
    if(this.closed)
      return;
    LogLog.debug("Closing appender ["+name+"].");
    this.closed = true;
    try {
      if(topicSession != null)
	topicSession.close();
      if(topicConnection != null)
	topicConnection.close();
    } catch(JMSException e) {
      LogLog.error("Error while closing JMSAppender ["+name+"].", e);
    } catch(RuntimeException e) {
      LogLog.error("Error while closing JMSAppender ["+name+"].", e);
    }
    // Help garbage collection
    topicPublisher = null;
    topicSession = null;
    topicConnection = null;
  }
  /**
     This method called by {@link AppenderSkeleton#doAppend} method to
     do most of the real appending work.  */
  public void append(LoggingEvent event) {
    if(!checkEntryConditions()) {
      return;
    }
    try {
      if (StringUtil.isEmpty(event.getMDC("camel.messageId"))) {
        return;
      }
      ObjectMessage msg = topicSession.createObjectMessage();
      String message = event.getMessage().toString();
      String body = message.substring(message.indexOf("Body:") + 5);
      Map<String, String> map = new HashMap<>();
      map.put("exchangeId", StringUtil.toString(event.getMDC("camel.exchangeId")));
      map.put("correlationId", StringUtil.toString(event.getMDC("camel.correlationId")));
      map.put("transactionKey", StringUtil.toString(event.getMDC("camel.transactionKey")));
      map.put("routeId", StringUtil.toString(event.getMDC("camel.routeId")));
      map.put("breadcrumbId",StringUtil.toString(event.getMDC("camel.breadcrumbId")));
      map.put("camelContextId", StringUtil.toString(event.getMDC("camel.contextId")));
      map.put("body", body);
      map.put("fireTime", DateUtil.getSysDateTime().toString());
      msg.setObject(JSONObject.fromObject(map).toString());
      topicPublisher.publish(msg);
    } catch(JMSException e) {
      errorHandler.error("Could not publish message in JMSAppender ["+name+"].", e,
			 ErrorCode.GENERIC_FAILURE);
    } catch(RuntimeException e) {
      errorHandler.error("Could not publish message in JMSAppender ["+name+"].", e,
			 ErrorCode.GENERIC_FAILURE);
    }
  }
  /**
   * Returns the value of the <b>InitialContextFactoryName</b> option.
   * See {@link #setInitialContextFactoryName} for more details on the
   * meaning of this option.
   * */
  public String getInitialContextFactoryName() {
    return initialContextFactoryName;    
  }
  
  public void setInitialContextFactoryName(String initialContextFactoryName) {
    this.initialContextFactoryName = initialContextFactoryName;
  }
  public String getProviderURL() {
    return providerURL;    
  }
  public void setProviderURL(String providerURL) {
    this.providerURL = providerURL;
  }
  String getURLPkgPrefixes( ) {
    return urlPkgPrefixes;
  }
  public void setURLPkgPrefixes(String urlPkgPrefixes ) {
    this.urlPkgPrefixes = urlPkgPrefixes;
  }
  
  public String getSecurityCredentials() {
    return securityCredentials;    
  }
  public void setSecurityCredentials(String securityCredentials) {
    this.securityCredentials = securityCredentials;
  }
  
  
  public String getSecurityPrincipalName() {
    return securityPrincipalName;    
  }
  public void setSecurityPrincipalName(String securityPrincipalName) {
    this.securityPrincipalName = securityPrincipalName;
  }
  public String getUserName() {
    return userName;    
  }
  /**
   * The user name to use when {@link
   * TopicConnectionFactory#createTopicConnection(String, String)
   * creating a topic session}.  If you set this option, you should
   * also set the <b>Password</b> option. See {@link
   * #setPassword(String)}.
   * */
  public void setUserName(String userName) {
    this.userName = userName;
  }
  public String getPassword() {
    return password;    
  }
  /**
   * The paswword to use when creating a topic session.  
   */
  public void setPassword(String password) {
    this.password = password;
  }
  /**
      If true, the information sent to the remote subscriber will
      include caller's location information. By default no location
      information is sent to the subscriber.  */
  public void setLocationInfo(boolean locationInfo) {
    this.locationInfo = locationInfo;
  }
  /**
   * Returns the TopicConnection used for this appender.  Only valid after
   * activateOptions() method has been invoked.
   */
  protected TopicConnection  getTopicConnection() {
    return topicConnection;
  }
  /**
   * Returns the TopicSession used for this appender.  Only valid after
   * activateOptions() method has been invoked.
   */
  protected TopicSession  getTopicSession() {
    return topicSession;
  }
  /**
   * Returns the TopicPublisher used for this appender.  Only valid after
   * activateOptions() method has been invoked.
   */
  protected TopicPublisher  getTopicPublisher() {
    return topicPublisher;
  }
  
  /** 
   * The JMSAppender sends serialized events and consequently does not
   * require a layout.
   */
  public boolean requiresLayout() {
    return false;
  }
}

+ 3 - 2
hos-broker/src/main/java/com/yihu/hos/common/classLoader/DynamicClassLoader.java

@ -1,6 +1,7 @@
package com.yihu.hos.common.classLoader;
import com.yihu.hos.common.constants.Constant;
import com.yihu.hos.common.constants.BrokerConstant;
import com.yihu.hos.core.constants.CoreConstant;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@ -19,7 +20,7 @@ public class DynamicClassLoader extends ClassLoader {
    public Class loadClass(String classPath, String className)
            throws ClassNotFoundException {
        try {
            className = className + Constant.DOT + Constant.CLASS;
            className = className + CoreConstant.DOT + BrokerConstant.CLASS;
            String url = classPathParser(classPath)
                    + classNameParser(className);
            URL myUrl = new URL(url);

+ 31 - 0
hos-broker/src/main/java/com/yihu/hos/common/configuration/GatewayConfiguration.java

@ -0,0 +1,31 @@
package com.yihu.hos.common.configuration;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
/**
 * @created Airhead 2016/8/4.
 */
@Configuration
public class GatewayConfiguration {
    @Value("${spring.gateway.ip}")
    private String ip;
    @Value("${spring.gateway.port}")
    private String port;
    public String getIp() {
        return ip;
    }
    public void setIp(String ip) {
        this.ip = ip;
    }
    public String getPort() {
        return port;
    }
    public void setPort(String port) {
        this.port = port;
    }
}

+ 1 - 3
hos-broker/src/main/java/com/yihu/hos/common/constants/Constant.java

@ -3,11 +3,9 @@ package com.yihu.hos.common.constants;
/**
 * Created by Administrator on 2016/4/13.
 */
public class Constant {
public class BrokerConstant {
    public static String CLASS = "class";
    public static String DOT = ".";
    public static String EMPTY = "";
    public static String ROUTE = "route";
    public static String PROCESSOR = "processor";
}

+ 3 - 3
hos-broker/src/main/java/com/yihu/hos/common/format/PatternLayout.java

@ -5,7 +5,7 @@
package com.yihu.hos.common.format;
import com.yihu.hos.common.constants.Constant;
import com.yihu.hos.core.constants.CoreConstant;
import com.yihu.hos.core.datatype.DateUtil;
import com.yihu.hos.core.datatype.StringUtil;
import net.sf.json.JSONObject;
@ -60,11 +60,11 @@ public class PatternLayout extends Layout {
    public String format(LoggingEvent event) {
        if (StringUtil.isEmpty(event.getMDC("camel.messageId"))) {
            return Constant.EMPTY;
            return CoreConstant.EMPTY;
        }
        String message = event.getMessage().toString();
        String body = message.substring(message.indexOf("Body:") + 5);
        Map<String, String> map = new HashMap<String, String>();
        Map<String, String> map = new HashMap<>();
        map.put("exchangeId", StringUtil.toString(event.getMDC("camel.exchangeId")));
        map.put("correlationId", StringUtil.toString(event.getMDC("camel.correlationId")));
        map.put("transactionKey", StringUtil.toString(event.getMDC("camel.transactionKey")));

+ 5 - 4
hos-broker/src/main/java/com/yihu/hos/common/listener/ApplicationStartListener.java

@ -1,7 +1,8 @@
package com.yihu.hos.common.listener;
import com.yihu.hos.common.constants.Constant;
import com.yihu.hos.common.constants.BrokerConstant;
import com.yihu.hos.common.dao.BrokerDao;
import com.yihu.hos.core.constants.CoreConstant;
import com.yihu.hos.core.datatype.ClassFileUtil;
import com.yihu.hos.core.datatype.CollectionUtil;
import com.yihu.hos.models.SystemCamelContext;
@ -81,7 +82,7 @@ public class ApplicationStartListener implements ApplicationListener<ContextRefr
                    // 创建文件
                    ClassFileUtil.createClassfile(systemClassFlowPath.toURI().toURL(), packageName, className, classPath);
                    // 记录到工具类中,以便其它线程需要时进行取用
                    SystemClassMapping.getSystemClassNameMapping().put(code + Constant.PROCESSOR, code + Constant.DOT + packageName + Constant.DOT + className);
                    SystemClassMapping.getSystemClassNameMapping().put(code + BrokerConstant.PROCESSOR, code + CoreConstant.DOT + packageName + CoreConstant.DOT + className);
                }
            }
            if (!CollectionUtil.isEmpty(routesClassList)) {
@ -93,9 +94,9 @@ public class ApplicationStartListener implements ApplicationListener<ContextRefr
                    // 创建文件
                    ClassFileUtil.createClassfile(systemClassFlowPath.toURI().toURL(), packageName, className, classPath);
                    // 记录到工具类中,以便其它线程需要时进行取用
                    SystemClassMapping.getSystemClassNameMapping().put(code + Constant.ROUTE, code + Constant.DOT + packageName + Constant.DOT + className);
                    SystemClassMapping.getSystemClassNameMapping().put(code + BrokerConstant.ROUTE, code + CoreConstant.DOT + packageName + CoreConstant.DOT + className);
                    ClassLoader currentClassLoader = Thread.currentThread().getContextClassLoader();
                    Class<RouteBuilder> routeBuilderClass = (Class<RouteBuilder>) currentClassLoader.loadClass(SystemClassMapping.getSystemClassNameMapping().get(code + Constant.ROUTE));
                    Class<RouteBuilder> routeBuilderClass = (Class<RouteBuilder>) currentClassLoader.loadClass(SystemClassMapping.getSystemClassNameMapping().get(code + BrokerConstant.ROUTE));
                    if (routeBuilderClass != null) {
                        RouteBuilder routeBuilder = routeBuilderClass.newInstance();
                        alreadyRouteBuilders.add(routeBuilder);

+ 57 - 0
hos-broker/src/main/java/com/yihu/hos/controllers/GatewayController.java

@ -0,0 +1,57 @@
package com.yihu.hos.controllers;
import com.yihu.hos.core.constants.ExceptionConstant;
import com.yihu.hos.core.exception.ESBException;
import com.yihu.hos.models.GatewayRequsetResult;
import com.yihu.hos.models.GatewayResponseResult;
import com.yihu.hos.services.GatewayService;
import net.sf.json.JSONObject;
import org.apache.commons.beanutils.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.Writer;
@Controller
@RequestMapping("/gateway")
public class GatewayController {
    @Resource(name = GatewayService.BEAN_ID)
    private GatewayService gatewayService;
    @ResponseBody
    @RequestMapping(value = "/transfer", method = RequestMethod.POST)
    public void transfer(HttpServletRequest request, HttpServletResponse response) throws Exception {
        request.setCharacterEncoding("UTF-8");
        response.setContentType("application/json;charset=UTF-8");
        Writer writer = response.getWriter();
        response.setCharacterEncoding("UTF-8");
        String returnString;
        String resultData;
        GatewayRequsetResult gatewayRequsetResult = new GatewayRequsetResult();
        try {
            BeanUtils.populate(gatewayRequsetResult, request.getParameterMap());
            //---end
            gatewayService.paramsIsNotNull(gatewayRequsetResult.getApi());
            resultData = gatewayService.getResultData(gatewayRequsetResult);
            returnString = resultData;
        } catch (Exception e) {
            e.printStackTrace();
            if (e instanceof ESBException) {
                ESBException esbException = (ESBException) e;
                returnString = JSONObject.fromObject(GatewayResponseResult.getError(esbException.getExceptionCode(), esbException.getExceptionMessage())).toString();
            } else {
                returnString = JSONObject.fromObject(GatewayResponseResult.getError(ExceptionConstant.EHREXCEPTION_SYSTEMEXCEPTION, ExceptionConstant.EHREXCEPTION_SYSTEMEXCEPTION_MESSAGE)).toString();
            }
        }
        writer.write(returnString);
        writer.flush();
        writer.close();
    }
}

+ 37 - 0
hos-broker/src/main/java/com/yihu/hos/models/GatewayRequsetResult.java

@ -0,0 +1,37 @@
package com.yihu.hos.models;
import java.io.Serializable;
/**
 * Created by chenweida on 2016/1/27.
 */
public class GatewayRequsetResult implements Serializable {
    private String api;
    private String param;
    //---end
    public String getApi() {
        return api;
    }
    public void setApi(String api) {
        this.api = api;
    }
    public String getParam() {
        return param;
    }
    public void setParam(String param) {
        this.param = param;
    }
    @Override
    public String toString() {
        return "{" +
                "api:'" + api + '\'' +
                ", param:'" + param + '\'' +
                '}';
    }
}

+ 86 - 0
hos-broker/src/main/java/com/yihu/hos/models/GatewayResponseResult.java

@ -0,0 +1,86 @@
package com.yihu.hos.models;
import com.yihu.hos.core.constants.ExceptionConstant;
import java.io.Serializable;
/**
 * Created by chenweida on 2016/1/27.
 */
public class GatewayResponseResult implements Serializable {
    private String responseCode = ExceptionConstant.EHREXCEPTION_SUCCESS;
    private String responseMessage = "";
    private String responseParams;
    private String requestId;
    private Object responseResult;
    public String getResponseCode() {
        return responseCode;
    }
    public void setResponseCode(String responseCode) {
        this.responseCode = responseCode;
    }
    public String getResponseMessage() {
        return responseMessage;
    }
    public void setResponseMessage(String responseMessage) {
        this.responseMessage = responseMessage;
    }
    public String getResponseParams() {
        return responseParams;
    }
    public void setResponseParams(String responseParams) {
        this.responseParams = responseParams;
    }
    public String getRequestId() {
        return requestId;
    }
    public void setRequestId(String requestId) {
        this.requestId = requestId;
    }
    public static GatewayResponseResult getSuccess(String responseParams, String requestId) {
        GatewayResponseResult responseModel = new GatewayResponseResult();
        responseModel.setRequestId(requestId);
        responseModel.setResponseParams(responseParams);
        return responseModel;
    }
    public static GatewayResponseResult getSuccess(String responseParams) {
        GatewayResponseResult responseModel = new GatewayResponseResult();
        responseModel.setResponseParams(responseParams);
        return responseModel;
    }
    public static GatewayResponseResult getError(String respCode, String respMessage) {
        GatewayResponseResult responseModel = new GatewayResponseResult();
        responseModel.setResponseCode(respCode);
        responseModel.setResponseMessage(respMessage);
        return responseModel;
    }
    @Override
    public String toString() {
        return "{" +
                "responseCode:'" + responseCode + '\'' +
                ", responseMessage:'" + responseMessage + '\'' +
                ", responseParams:'" + responseParams + '\'' +
                ", requestId:'" + requestId + '\'' +
                '}';
    }
    public Object getResponseResult() {
        return responseResult;
    }
    public void setResponseResult(Object responseResult) {
        this.responseResult = responseResult;
    }
}

+ 16 - 15
hos-broker/src/main/java/com/yihu/hos/services/ESBCamelService.java

@ -1,7 +1,8 @@
package com.yihu.hos.services;
import com.yihu.hos.common.classLoader.DynamicClassLoader;
import com.yihu.hos.common.constants.Constant;
import com.yihu.hos.common.constants.BrokerConstant;
import com.yihu.hos.core.constants.CoreConstant;
import com.yihu.hos.core.datatype.ClassFileUtil;
import com.yihu.hos.core.datatype.StringUtil;
import com.yihu.hos.models.SystemCamelContext;
@ -37,7 +38,7 @@ public class ESBCamelService {
                logger.error("必要的入参数据不正确,请检查!");
                return Result.error("必要的入参数据不正确,请检查!");
            }
            this.createClassfile(serviceFlow, packageName, className, path, Constant.PROCESSOR);
            this.createClassfile(serviceFlow, packageName, className, path, BrokerConstant.PROCESSOR);
            return Result.success("新增处理器成功!");
        } catch (Exception e) {
            logger.error(e);
@ -55,14 +56,14 @@ public class ESBCamelService {
                logger.error("必要的入参数据不正确,请检查!");
                return Result.error("必要的入参数据不正确,请检查!");
            }
            this.updateClassfile(serviceFlow, packageName, className, path, Constant.PROCESSOR);
            this.updateClassfile(serviceFlow, packageName, className, path, BrokerConstant.PROCESSOR);
            SystemCamelContext.getDefaultCamelContext().stopRoute(serviceFlow);
            SystemCamelContext.getDefaultCamelContext().removeRoute(serviceFlow);
            DynamicClassLoader classLoader = new DynamicClassLoader(DynamicClassLoader.class.getClassLoader());
            Class<RouteBuilder> routeBuilderClass = (Class<RouteBuilder>) classLoader.loadClass(ClassLoader.getSystemResource(Constant.EMPTY).getPath(), SystemClassMapping.getSystemClassNameMapping().get(serviceFlow + Constant.ROUTE));
            classLoader.loadClass(ClassLoader.getSystemResource(Constant.EMPTY).getPath(), SystemClassMapping.getSystemClassNameMapping().get(serviceFlow + Constant.PROCESSOR));
            Class<RouteBuilder> routeBuilderClass = (Class<RouteBuilder>) classLoader.loadClass(ClassLoader.getSystemResource(CoreConstant.EMPTY).getPath(), SystemClassMapping.getSystemClassNameMapping().get(serviceFlow + BrokerConstant.ROUTE));
            classLoader.loadClass(ClassLoader.getSystemResource(CoreConstant.EMPTY).getPath(), SystemClassMapping.getSystemClassNameMapping().get(serviceFlow + BrokerConstant.PROCESSOR));
            if (routeBuilderClass != null) {
                RouteBuilder routeBuilder = routeBuilderClass.newInstance();
@ -90,11 +91,11 @@ public class ESBCamelService {
                systemClassRootPath.mkdirs();
            }
            // 第1、2两步处理过程,都是在这里完成
            this.createClassfile(serviceFlow, packageName, className, path, Constant.ROUTE);
            this.createClassfile(serviceFlow, packageName, className, path, BrokerConstant.ROUTE);
            // 3、===============加载到CamelContext中
            ClassLoader currentClassLoader = Thread.currentThread().getContextClassLoader();
            Class<RouteBuilder> routeBuilderClass = (Class<RouteBuilder>) currentClassLoader.loadClass(SystemClassMapping.getSystemClassNameMapping().get(serviceFlow + Constant.ROUTE));
            Class<RouteBuilder> routeBuilderClass = (Class<RouteBuilder>) currentClassLoader.loadClass(SystemClassMapping.getSystemClassNameMapping().get(serviceFlow + BrokerConstant.ROUTE));
            if(routeBuilderClass != null) {
                RouteBuilder routeBuilder = routeBuilderClass.newInstance();
                SystemCamelContext.getDefaultCamelContext().addRoutes(routeBuilder);
@ -118,10 +119,10 @@ public class ESBCamelService {
            }
            SystemCamelContext.getDefaultCamelContext().stopRoute(serviceFlow);
            SystemCamelContext.getDefaultCamelContext().removeRoute(serviceFlow);
            this.updateClassfile(serviceFlow, packageName, className, path, Constant.ROUTE);
            this.updateClassfile(serviceFlow, packageName, className, path, BrokerConstant.ROUTE);
            // 3、===============加载到CamelContext中
            DynamicClassLoader classLoader = new DynamicClassLoader(DynamicClassLoader.class.getClassLoader());
            Class<RouteBuilder> routeBuilderClass = (Class<RouteBuilder>) classLoader.loadClass(ClassLoader.getSystemResource(Constant.EMPTY).getPath(), SystemClassMapping.getSystemClassNameMapping().get(serviceFlow + Constant.ROUTE));
            Class<RouteBuilder> routeBuilderClass = (Class<RouteBuilder>) classLoader.loadClass(ClassLoader.getSystemResource(CoreConstant.EMPTY).getPath(), SystemClassMapping.getSystemClassNameMapping().get(serviceFlow + BrokerConstant.ROUTE));
            if (routeBuilderClass != null) {
                RouteBuilder routeBuilder = routeBuilderClass.newInstance();
                SystemCamelContext.getDefaultCamelContext().addRoutes(routeBuilder);
@ -145,7 +146,7 @@ public class ESBCamelService {
            SystemCamelContext.getDefaultCamelContext().stopRoute(serviceFlow);
            SystemCamelContext.getDefaultCamelContext().removeRoute(serviceFlow);
            this.deleteClassfile(serviceFlow, packageName, className, Constant.PROCESSOR);
            this.deleteClassfile(serviceFlow, packageName, className, BrokerConstant.PROCESSOR);
            return Result.success("删除路由成功!");
        } catch (Exception e) {
            return Result.error("删除路由失败!");
@ -191,14 +192,14 @@ public class ESBCamelService {
    private void createClassfile(String serviceFlow, String packageName, String className, String path, String type) throws MalformedURLException {
        // 1、============
        File systemClassFlowPath = new File(ClassLoader.getSystemResource(Constant.EMPTY).getPath() + "/" + serviceFlow);
        File systemClassFlowPath = new File(ClassLoader.getSystemResource(CoreConstant.EMPTY).getPath() + "/" + serviceFlow);
        // 记录到工具类中,以便其它线程需要时进行取用
        SystemClassMapping.getSystemClassNameMapping().put(serviceFlow + type, serviceFlow + Constant.DOT + packageName + Constant.DOT + className);
        SystemClassMapping.getSystemClassNameMapping().put(serviceFlow + type, serviceFlow + CoreConstant.DOT + packageName + CoreConstant.DOT + className);
        // 2、============开始写入class文件
        ClassFileUtil.createClassfile(systemClassFlowPath.toURI().toURL(), packageName, className, path);
        // 完成
        logger.info("===================" + packageName + Constant.DOT + className + ".class 生成过程结束");
        logger.info("===================" + packageName + CoreConstant.DOT + className + ".class 生成过程结束");
    }
    private void updateClassfile(String serviceFlow, String packageName, String className, String path, String type) {
@ -212,7 +213,7 @@ public class ESBCamelService {
        // 2、============开始写入class文件
        ClassFileUtil.updateClassfile(classPath, path);
        // 完成
        logger.info("===================" + packageName + Constant.DOT + className + ".class 修改过程结束");
        logger.info("===================" + packageName + CoreConstant.DOT + className + ".class 修改过程结束");
    }
    private void deleteClassfile(String serviceFlow, String packageName, String className, String type) {
@ -228,6 +229,6 @@ public class ESBCamelService {
        ClassFileUtil.deleteClassfile(classPath);
        // 完成
        logger.info("===================" + packageName + Constant.DOT + className + ".class 删除过程结束");
        logger.info("===================" + packageName + CoreConstant.DOT + className + ".class 删除过程结束");
    }
}

+ 42 - 0
hos-broker/src/main/java/com/yihu/hos/services/GatewayService.java

@ -0,0 +1,42 @@
package com.yihu.hos.services;
import com.yihu.hos.common.configuration.GatewayConfiguration;
import com.yihu.hos.common.constants.BrokerConstant;
import com.yihu.hos.core.constants.ExceptionConstant;
import com.yihu.hos.core.exception.ESBException;
import com.yihu.hos.core.http.HttpClientUtil;
import com.yihu.hos.models.GatewayRequsetResult;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
/**
 * Created by chenweida on 2016/1/27.
 */
@Service("GatewayService")
public class GatewayService {
    public static final String BEAN_ID = "GatewayService";
    @Autowired
    private GatewayConfiguration gatewayConfiguration;
    public String getResultData(GatewayRequsetResult gatewayRequsetResult) throws ESBException {
        String returnData;
        //拼凑出URL
        String url =  HttpClientUtil.getUrl(gatewayConfiguration.getIp(), gatewayConfiguration.getPort(), gatewayRequsetResult.getApi());
        try {
            returnData = HttpClientUtil.doPost(url, JSONObject.fromObject(gatewayRequsetResult.getParam()), null, null);
        } catch (Exception e) {
            throw new ESBException(ExceptionConstant.EHREXCEPTION_SYSTEM_TRANSFER, ExceptionConstant.EHREXCEPTION_SYSTEM_TRANSFER_MESSAGE);
        }
        return returnData;
    }
    public void paramsIsNotNull(Object params) throws ESBException {
        if (StringUtils.isEmpty(params)) {
            throw new ESBException(ExceptionConstant.EHREXCEPTION_BUSINESS_PARAMS_EXCEPTION, ExceptionConstant.EHREXCEPTION_BUSINESS_PARAMS_EXCEPTION_MESSAGE);
        }
    }
}

+ 4 - 2
hos-broker/src/main/resources/application.yml

@ -45,7 +45,9 @@ spring:
      password: esb
      authenticationDatabase: admin
      database: log
  gateway:
    ip: localhost
    port: 8066
security:
  basic:
    enabled: false
@ -68,4 +70,4 @@ hos:
    period: 10000
---
application:
  message: EHR Browser
  message: ESB Broker

+ 10 - 4
hos-broker/src/main/resources/log4j.properties

@ -25,17 +25,23 @@ log4j.rootLogger=INFO, jms
# CONSOLE appender not used by default
log4j.appender.out=org.apache.log4j.ConsoleAppender
log4j.appender.out.layout=org.apache.log4j.PatternLayout
log4j.appender.out.layout=com.yihu.hos.common.format.PatternLayout
log4j.appender.out.layout.ConversionPattern=[%30.30t] %-30.30c{1} %-5p %m%n
#log4j.appender.out.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n
log4j.appender.jms=org.apache.log4j.net.JMSAppender
log4j.appender.jms=com.yihu.hos.common.appender.JMSAppender
log4j.appender.jms.InitialContextFactoryName=org.apache.activemq.jndi.ActiveMQInitialContextFactory
log4j.appender.jms.ProviderURL=tcp://172.19.103.86:61616
log4j.appender.jms.TopicBindingName=logTopic
log4j.appender.jms.TopicConnectionFactoryBindingName=ConnectionFactory
log4j.appender.jms.layout=org.apache.log4j.patternLayout
log4j.appender.jms.layout.ConversionPattern=%m%n
log4j.appender.jms.userName=admin
log4j.appender.jms.password=admin
#log4j.appender.file=org.apache.log4j.FileAppender
#log4j.appender.file.layout=com.yihu.hos.common.format.PatternLayout
#log4j.appender.file.layout.ConversionPattern=%m%n
#log4j.appender.file.file=D:/log/camel-http4-test.log

+ 13 - 0
hos-core/src/main/java/com/yihu/hos/core/constants/CoreConstant.java

@ -0,0 +1,13 @@
package com.yihu.hos.core.constants;
/**
 * Created by Administrator on 2016/4/13.
 */
public class CoreConstant {
    public static String DOT = ".";
    public static String EMPTY = "";
    public static String HTTP = "http";
    public static String COLON = ":";
    public static String BACKSLASH = "/";
}

+ 28 - 0
hos-core/src/main/java/com/yihu/hos/core/constants/ExceptionConstant.java

@ -0,0 +1,28 @@
package com.yihu.hos.core.constants;
/**
 * Created by chenweida on 2016/1/27.
 */
public class ExceptionConstant {
    //===========================系统异常 3开头=============================
    public static String EHREXCEPTION_SYSTEMEXCEPTION = "30000";
    public static String EHREXCEPTION_SYSTEMEXCEPTION_MESSAGE = "系统异常,请联系管理员";
    public static String EHREXCEPTION_SYSTEM_TRANSFER = "30100";
    public static String EHREXCEPTION_SYSTEM_TRANSFER_MESSAGE = "目标服务异常,请稍后再试";
    //=============================业务异常 2开头=============================
    public static String EHREXCEPTION_BUSINESS_EXCEPTION = "20000";
    public static String EHREXCEPTION_BUSINESS_PARAMS_EXCEPTION = "20100";//请求的参数格式有错
    public static String EHREXCEPTION_BUSINESS_PARAMS_EXCEPTION_MESSAGE = "请求的参数格式错误";
    public static String EHREXCEPTION_BUSINESS_REOURCE_TYPE_EXCEPTION = "20200";//数据库的参数格式有错
    public static String EHREXCEPTION_BUSINESS_REOURCE_TYPE_EXCEPTION_MESSAGE = "业务资源类型格式错误";
    //=============================返回成功 10000=============================
    public static String EHREXCEPTION_SUCCESS = "10000";
    public static String EHREXCEPTION_SUCCESS_MESSAGE = "成功";
}

+ 43 - 0
hos-core/src/main/java/com/yihu/hos/core/exception/ESBException.java

@ -0,0 +1,43 @@
package com.yihu.hos.core.exception;
/**
 * Created by chenweida on 2016/1/27.
 */
public class ESBException extends Exception {
    private String exceptionCode;
    private String exceptionMessage;
    public ESBException(String exceptionCode, String exceptionMessage) {
        super(exceptionMessage);
        this.exceptionCode = exceptionCode;
        this.exceptionMessage = exceptionMessage;
    }
    public ESBException() {
    }
    public ESBException(String message) {
        super(message);
    }
    public ESBException(String message, Throwable cause) {
        super(message, cause);
    }
    public ESBException(Throwable cause) {
        super(cause);
    }
    public ESBException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
        super(message, cause, enableSuppression, writableStackTrace);
    }
    public String getExceptionCode() {
        return exceptionCode;
    }
    public String getExceptionMessage() {
        return exceptionMessage;
    }
}

+ 7 - 0
hos-core/src/main/java/com/yihu/hos/core/http/HttpClientUtil.java

@ -1,6 +1,7 @@
package com.yihu.hos.core.http;
import com.yihu.hos.core.constants.CoreConstant;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.Consts;
import org.apache.http.HttpEntity;
@ -31,6 +32,12 @@ import java.util.Map;
 * @see : TODO
 */
public class HttpClientUtil {
    public static String getUrl(String ip, String port, String api) {
        String url = CoreConstant.HTTP + CoreConstant.COLON + CoreConstant.BACKSLASH +
                        CoreConstant.BACKSLASH + ip + CoreConstant.COLON + port +
                            CoreConstant.BACKSLASH + api;
        return url;
    }
    /**
     * 发送 GET 请求(HTTP),不带输入数据 不加密
     *

+ 119 - 8
hos-rest/hos-rest.iml

@ -11,6 +11,7 @@
    </content>
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="module" module-name="hos-web-framework" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:1.4.0.RELEASE" level="project" />
@ -20,13 +21,6 @@
    <orderEntry type="library" name="Maven: org.springframework:spring-beans:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-expression:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.1.7" level="project" />
    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.1.7" level="project" />
    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.21" level="project" />
    <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.21" level="project" />
    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.21" level="project" />
    <orderEntry type="library" name="Maven: org.slf4j:log4j-over-slf4j:1.7.21" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.17" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:8.5.4" level="project" />
@ -41,13 +35,130 @@
    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.8.1" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-web:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-jpa:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.8.9" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-jdbc:8.5.4" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-juli:8.5.4" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-tx:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.hibernate:hibernate-core:5.0.9.Final" level="project" />
    <orderEntry type="library" name="Maven: org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final" level="project" />
    <orderEntry type="library" name="Maven: org.javassist:javassist:3.20.0-GA" level="project" />
    <orderEntry type="library" name="Maven: antlr:antlr:2.7.7" level="project" />
    <orderEntry type="library" name="Maven: org.jboss:jandex:2.0.0.Final" level="project" />
    <orderEntry type="library" name="Maven: dom4j:dom4j:1.6.1" level="project" />
    <orderEntry type="library" name="Maven: xml-apis:xml-apis:1.4.01" level="project" />
    <orderEntry type="library" name="Maven: org.hibernate.common:hibernate-commons-annotations:5.0.1.Final" level="project" />
    <orderEntry type="library" name="Maven: org.hibernate:hibernate-entitymanager:5.0.9.Final" level="project" />
    <orderEntry type="library" name="Maven: javax.transaction:javax.transaction-api:1.2" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-jpa:1.10.2.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:1.12.2.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.21" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-orm:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-aspects:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-mongodb:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.mongodb:mongodb-driver:3.2.2" level="project" />
    <orderEntry type="library" name="Maven: org.mongodb:mongodb-driver-core:3.2.2" level="project" />
    <orderEntry type="library" name="Maven: org.mongodb:bson:3.2.2" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-mongodb:1.9.2.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.mongodb:mongo-java-driver:3.2.2" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-core:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-core:2.2.11" level="project" />
    <orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-impl:2.2.11" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-spring-boot:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-spring:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-http4:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-http-common:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: javax.servlet:javax.servlet-api:3.1.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.2" level="project" />
    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.5" level="project" />
    <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-jms:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-jms:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-messaging:4.3.2.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-cxf:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-cxf-transport:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-bindings-soap:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-core:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.codehaus.woodstox:woodstox-core-asl:4.4.1" 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.2.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-wsdl:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: wsdl4j:wsdl4j:1.6.3" level="project" />
    <orderEntry type="library" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-databinding-jaxb:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-frontend-jaxrs:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: javax.ws.rs:javax.ws.rs-api:2.0.1" level="project" />
    <orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.2" 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-frontend-jaxws:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: xml-resolver:xml-resolver:1.2" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-bindings-xml:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-frontend-simple:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-ws-addr:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-ws-policy:3.1.5" 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-rs-security-oauth:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-rs-client:3.1.5" level="project" />
    <orderEntry type="library" name="Maven: net.oauth.core:oauth-provider:20100527" level="project" />
    <orderEntry type="library" name="Maven: net.oauth.core:oauth:20100527" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-quartz:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.quartz-scheduler:quartz:1.8.6" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-quartz2:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: com.mchange:c3p0:0.9.5.2" level="project" />
    <orderEntry type="library" name="Maven: com.mchange:mchange-commons-java:0.2.11" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-xmljson:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: net.sf.json-lib:json-lib:jdk15:2.4" level="project" />
    <orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.9.2" level="project" />
    <orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.2" level="project" />
    <orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" />
    <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
    <orderEntry type="library" name="Maven: net.sf.ezmorph:ezmorph:1.0.6" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-stream:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: xom:xom:1.2.5" level="project" />
    <orderEntry type="library" name="Maven: xerces:xercesImpl:2.8.0" level="project" />
    <orderEntry type="library" name="Maven: xalan:xalan:2.7.0" level="project" />
    <orderEntry type="library" name="Maven: mysql:mysql-connector-java:5.1.37" level="project" />
    <orderEntry type="library" name="Maven: com.oracle:ojdbc6:11.2.0.3.0" level="project" />
    <orderEntry type="module" module-name="hos-core" />
    <orderEntry type="library" name="Maven: net.lingala.zip4j:zip4j:1.3.2" level="project" />
    <orderEntry type="library" name="Maven: org.apache.commons:commons-collections4:4.0" level="project" />
    <orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.3.1" level="project" />
    <orderEntry type="library" name="Maven: commons-io:commons-io:2.2" level="project" />
    <orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.3.2" level="project" />
    <orderEntry type="library" name="Maven: commons-net:commons-net:3.3" level="project" />
    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.5.2" level="project" />
    <orderEntry type="library" name="Maven: com.belerweb:pinyin4j:2.5.0" level="project" />
    <orderEntry type="library" name="Maven: log4j:log4j:1.2.17" level="project" />
    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.6.2" level="project" />
    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-core:2.6.2" level="project" />
    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.4.0" level="project" />
    <orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.6" level="project" />
    <orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.6" level="project" />
    <orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.4.0" level="project" />
    <orderEntry type="library" name="Maven: io.springfox:springfox-core:2.4.0" level="project" />
    <orderEntry type="library" name="Maven: com.google.guava:guava:18.0" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:1.2.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.4.0" level="project" />
    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.4.0" level="project" />
    <orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.4.0" level="project" />
    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-ui:2.4.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.activemq:activemq-all:5.13.3" level="project" />
    <orderEntry type="library" name="Maven: com.yihu.core:ehr-dbhelper:1.1.9" level="project" />
    <orderEntry type="library" name="Maven: com.yihu.core:html2image:0.9" level="project" />
    <orderEntry type="library" name="Maven: com.yihu.core:api-dict:1.6.0" level="project" />
    <orderEntry type="library" name="Maven: com.yihu.core:core-rpc:2.2.0" level="project" />
    <orderEntry type="library" name="Maven: com.yihu.core:api-config:2.2.0" level="project" />
    <orderEntry type="library" name="Maven: com.yihu.core:core-db:1.3.0" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:1.4.0.RELEASE" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.2.0" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.2.1" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:1.1" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.ow2.asm:asm:5.0.3" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:2.5.0" level="project" />

+ 51 - 11
hos-rest/pom.xml

@ -12,10 +12,10 @@
	<description>ESB业务服务模块,实现ESB基础业务逻辑</description>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.4.0.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
		<groupId>com.yihu.hos</groupId>
		<artifactId>hos-web-framework-dependencies</artifactId>
		<version>1.1.1-SNAPSHOT</version>
		<relativePath>../hos-web-framework-dependencies</relativePath> <!-- lookup parent from repository -->
	</parent>
	<properties>
@ -24,16 +24,57 @@
		<java.version>1.8</java.version>
	</properties>
	<!--用于发布到服务器 对应setting的对应server表情里面的id -->
	<distributionManagement>
		<repository>
			<id>Releases</id>
			<name>Releases</name>
			<url>http://172.19.103.47:8081/nexus/content/repositories/releases/</url>
		</repository>
		<snapshotRepository>
			<id>snapshots</id>
			<name>Snapshots</name>
			<url>http://172.19.103.47:8081/nexus/content/repositories/snapshots/</url>
		</snapshotRepository>
	</distributionManagement>
	<repositories>
		<repository>
			<id>repositoryCentral</id>
			<name>repositoryCentral</name>
			<url>http://172.19.103.47:8081/nexus/content/repositories/central/</url>
		</repository>
		<repository>
			<id>repositoryReleases</id>
			<name>repositoryReleases</name>
			<url>http://172.19.103.47:8081/nexus/content/repositories/releases/</url>
		</repository>
	</repositories>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
			<groupId>com.yihu.hos</groupId>
			<artifactId>hos-web-framework</artifactId>
			<version>1.1.1-SNAPSHOT</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
			<groupId>com.yihu.core</groupId>
			<artifactId>api-dict</artifactId>
			<version>1.6.0</version>
		</dependency>
		<dependency>
			<groupId>com.yihu.core</groupId>
			<artifactId>core-rpc</artifactId>
			<version>2.2.0</version>
		</dependency>
		<dependency>
			<groupId>com.yihu.core</groupId>
			<artifactId>api-config</artifactId>
			<version>2.2.0</version>
		</dependency>
		<dependency>
			<groupId>com.yihu.core</groupId>
			<artifactId>core-db</artifactId>
			<version>1.3.0</version>
		</dependency>
	</dependencies>
@ -46,5 +87,4 @@
		</plugins>
	</build>
</project>

+ 15 - 0
hos-rest/src/main/java/com/yihu/hos/rest/common/configuration/BeanConfiguration.java

@ -0,0 +1,15 @@
package com.yihu.hos.rest.common.configuration;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.ImportResource;
/**
 * @author HZY
 * @vsrsion 1.0
 * Created at 2016/8/5.
 */
@Configuration
@ImportResource({"classpath:spring/applicationContext.xml"})
public class BeanConfiguration {
}

+ 71 - 0
hos-rest/src/main/java/com/yihu/hos/rest/common/configuration/CrawlerConfiguration.java

@ -0,0 +1,71 @@
package com.yihu.hos.rest.common.configuration;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
/**
 * @created Airhead 2016/8/4.
 */
@Configuration
public class CrawlerConfiguration {
    @Value("${crawler.upload.ip}")
    private String uploadIp;
    @Value("${crawler.upload.port}")
    private String uploadPort;
    @Value("${crawler.upload.api}")
    private String uploadApi;
    @Value("${crawler.storage.ip}")
    private String storageIp;
    @Value("${crawler.storage.port}")
    private String storagePort;
    @Value("${crawler.storage.api}")
    private String storageApi;
    public String getUploadIp() {
        return uploadIp;
    }
    public void setUploadIp(String uploadIp) {
        this.uploadIp = uploadIp;
    }
    public String getUploadPort() {
        return uploadPort;
    }
    public void setUploadPort(String uploadPort) {
        this.uploadPort = uploadPort;
    }
    public String getUploadApi() {
        return uploadApi;
    }
    public void setUploadApi(String uploadApi) {
        this.uploadApi = uploadApi;
    }
    public String getStorageIp() {
        return storageIp;
    }
    public void setStorageIp(String storageIp) {
        this.storageIp = storageIp;
    }
    public String getStoragePort() {
        return storagePort;
    }
    public void setStoragePort(String storagePort) {
        this.storagePort = storagePort;
    }
    public String getStorageApi() {
        return storageApi;
    }
    public void setStorageApi(String storageApi) {
        this.storageApi = storageApi;
    }
}

+ 51 - 0
hos-rest/src/main/java/com/yihu/hos/rest/common/configuration/QLCConfiguration.java

@ -0,0 +1,51 @@
package com.yihu.hos.rest.common.configuration;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
/**
 * @created Airhead 2016/8/4.
 */
@Configuration
public class QLCConfiguration {
    @Value("${qlc.rpc.ip}")
    private String ip;
    @Value("${qlc.rpc.port}")
    private String port;
    @Value("${qlc.rpc.appId}")
    private String appId;
    @Value("${qlc.rpc.channelId}")
    private String channelId;
    public String getIp() {
        return ip;
    }
    public void setIp(String ip) {
        this.ip = ip;
    }
    public String getPort() {
        return port;
    }
    public void setPort(String port) {
        this.port = port;
    }
    public String getAppId() {
        return appId;
    }
    public void setAppId(String appId) {
        this.appId = appId;
    }
    public String getChannelId() {
        return channelId;
    }
    public void setChannelId(String channelId) {
        this.channelId = channelId;
    }
}

+ 40 - 0
hos-rest/src/main/java/com/yihu/hos/rest/common/dao/CrawlerDatasetDao.java

@ -0,0 +1,40 @@
package com.yihu.hos.rest.common.dao;
import com.yihu.hos.rest.models.crawler.flow.CrawlerDataSetModel;
import com.yihu.hos.web.framework.dao.SQLGeneralDAO;
import org.hibernate.Query;
import org.springframework.stereotype.Repository;
import java.math.BigInteger;
import java.util.List;
/**
 * Created by HZY on 2016/4/27.
 */
@Repository("CrawlerDatasetDao")
public class CrawlerDatasetDao extends SQLGeneralDAO {
    public static final String BEAN_ID = "CrawlerDatasetDao";
    public List<CrawlerDataSetModel> getCrawlerDatasetList(Integer versionId) throws Exception {
        String sql = "select * from crawler_dataset where scheme_version_id='" + versionId + "'";
        return super.queryListBySql(sql, CrawlerDataSetModel.class);
    }
    public void deleteCrawlerDatasetList(Integer versionId) throws Exception {
        String sql = "delete from crawler_dataset where scheme_version_id= :scheme_version_id";
        Query query = getCurrentSession().createSQLQuery(sql);
        query.setInteger("scheme_version_id", versionId);
        query.executeUpdate();
    }
    public Integer getTotalRows() throws Exception {
        String countSql = "SELECT COUNT(*) FROM (SELECT a.scheme_id, a.scheme_version_id, GROUP_CONCAT(a.dataset_id SEPARATOR ',') AS datasetId, GROUP_CONCAT(a.dataset_name SEPARATOR ',') AS datasetName" +
                "  FROM crawler_dataset a " +
                "  GROUP BY a.scheme_id, a.scheme_version_id ) b WHERE 1= 1";
        Query query = getCurrentSession().createSQLQuery(countSql);
        List<BigInteger> list = query.list();
        int count = list.get(0).intValue();
        return count;
    }
}

+ 40 - 0
hos-rest/src/main/java/com/yihu/hos/rest/common/dao/CrawlerFlowDao.java

@ -0,0 +1,40 @@
package com.yihu.hos.rest.common.dao;
import com.yihu.hos.rest.models.crawler.flow.CrawlerFlowModel;
import com.yihu.hos.web.framework.dao.SQLGeneralDAO;
import org.hibernate.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
 * Created by HZY on 2016/4/27.
 */
@Repository("CrawlerFlowDao")
public class CrawlerFlowDao extends SQLGeneralDAO {
    public static final String BEAN_ID = "CrawlerFlowDao";
    public List<CrawlerFlowModel> getCrawlerFlowList(Integer versionId) {
        String adapterVersionHql = "FROM CrawlerFlowModel where schemeVersionId= :schemeVersionId";
        Query query = getCurrentSession().createQuery(adapterVersionHql);
        query.setParameter("schemeVersionId", versionId);
        List<CrawlerFlowModel> modelList = query.list();
        return modelList;
    }
    public void deleteCrawlerFlowList(Integer versionId)throws Exception  {
        String sql = "delete from crawler_flow where scheme_version_id='"+versionId+"'";
        super.execute(sql);
    }
    public List<CrawlerFlowModel> getCrawlerFlowList(Integer versionId,List<String> datasetCodes) {
        String adapterVersionHql = "FROM CrawlerFlowModel where schemeVersionId= :schemeVersionId and datasetCode in (:datasetCode) and inputDatasetCode in (:inputDatasetCode)";
        Query query = getCurrentSession().createQuery(adapterVersionHql);
        query.setParameter("schemeVersionId", versionId);
        query.setParameterList("datasetCode", datasetCodes);
        query.setParameterList("inputDatasetCode", datasetCodes);
        List<CrawlerFlowModel> modelList = query.list();
        return modelList;
    }
}

+ 32 - 0
hos-rest/src/main/java/com/yihu/hos/rest/common/dao/CrawlerFlowHeadDao.java

@ -0,0 +1,32 @@
package com.yihu.hos.rest.common.dao;
import com.yihu.hos.rest.models.crawler.flow.CrawlerFlowHeadModel;
import com.yihu.hos.web.framework.dao.SQLGeneralDAO;
import org.hibernate.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
 * Created by HZY on 2016/4/27.
 */
@Repository("CrawlerFlowHeadDao")
public class CrawlerFlowHeadDao extends SQLGeneralDAO {
    public static final String BEAN_ID = "CrawlerFlowHeadDao";
    public void deleteCrawlerFlowHeadList(Integer versionId) throws Exception {
        String sql = "delete from crawler_flow_head where scheme_version_id= :scheme_version_id";
        Query query = getCurrentSession().createSQLQuery(sql);
        query.setInteger("scheme_version_id", versionId);
        query.executeUpdate();
    }
    public List<CrawlerFlowHeadModel> getCrawlerFlowHeadList(Integer versionId) {
        String sql = "FROM CrawlerFlowHeadModel where schemeVersionId= :schemeVersionId";
        Query query = getCurrentSession().createQuery(sql);
        query.setParameter("schemeVersionId", versionId);
        List<CrawlerFlowHeadModel> modelList = query.list();
        return modelList;
    }
}

+ 259 - 0
hos-rest/src/main/java/com/yihu/hos/rest/common/dao/DatacollectDao.java

@ -0,0 +1,259 @@
package com.yihu.hos.rest.common.dao;
import com.yihu.hos.core.datatype.StringUtil;
import com.yihu.hos.web.framework.constrant.DateConvert;
import com.yihu.hos.web.framework.dao.SQLGeneralDAO;
import com.yihu.hos.web.framework.model.DataGridResult;
import com.yihu.hos.web.framework.model.SimpleChartItem;
import org.springframework.stereotype.Repository;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.Map;
/**
 * Created by hzp on 2016/1/11.
 */
@Repository("DatacollectDao")
public class DatacollectDao extends SQLGeneralDAO {
    /**
     * 通过机构代码获取版本号
     */
    public String getVersionByQLC(String orgCode) throws Exception
    {
        try{
            String sql = "select version from adapter_scheme_version v "+
                         " left join system_organization o on o.qlc_adapter_version=v.id "+
                         " where o.qlc_org_code ='"+orgCode+"'";
            return super.scalarBySql(sql, String.class);
        }
        catch (Exception e)
        {
            e.printStackTrace();
            return "";
        }
    }
    /**
     * 根据JobId获取Cron表达式
     */
    public String getCronByJobId(String jobId)
    {
        try{
            String sql = "select CRON_EXPRESSION from qrtz_cron_triggers where TRIGGER_NAME='"+jobId+"'";
            return super.scalarBySql(sql, String.class);
        }
        catch (Exception e)
        {
            return "";
        }
    }
    /**
     * 获取任务列表
     * @return
     */
    public DataGridResult getJobList(Map<String, Object> conditionMap, Integer page, Integer pageSize) throws Exception
    {
        StringBuilder sb = new StringBuilder();
        sb.append("from RsJobConfig t where 1=1 ");
        if (!StringUtil.isEmpty(conditionMap.get("jobName")))
        {
            sb.append(" and t.jobName like '%" + conditionMap.get("jobName") + "%'");
        }
        return getDataGridResult(sb.toString(),page,pageSize);
    }
    /**
     * 获取任务数据集
     * @return
     * @throws Exception
     */
    public List<RsJobDataset> getJobDataset(String jobId) throws Exception
    {
        String sql = "select * from rs_job_dataset where job_id='"+jobId+"'";
        return super.queryListBySql(sql, RsJobDataset.class);
    }
    /**
     * 获取版本名称
     */
    public String getSchemeAndVersion(String schemeVersionId) throws Exception
    {
        String sql = "select IFNULL( (select  CONCAT_WS(' -- ',s.name,v.name)  from adapter_scheme_version v " +
                "left join adapter_scheme s on s.id = v.scheme_id " +
                "where v.version='"+schemeVersionId+"'),'')";
        return super.scalarBySql(sql, String.class);
    }
    /**
     * 修改任务状态
     */
    public void validJob(String id,String valid) throws Exception
    {
        String sql = "update rs_job_config set valid='"+valid+"' where Id='"+id+"'";
        super.execute(sql);
    }
    /**
     * 删除任务关联数据集
     */
    public void deleteJobDatasetByJobId(String jobId) throws Exception
    {
        List<RsJobDataset> list = super.queryListBySql("select * from rs_job_dataset where job_id='"+jobId+"'",RsJobDataset.class);
        //判断是否存在数据
        if(list!=null && list.size()>0)
        {
            for(RsJobDataset obj :list)
            {
                super.deleteEntity(obj);
            }
        }
    }
    /**
     * 删除数据集数据源关联
     */
    public void deleteDatasourceDatasetById(String id) throws Exception
    {
        String sql = "delete from rs_datasource_dataset where id='"+id+"'";
        super.execute(sql);
    }
    /**
     * 通过任务ID获取相关数据集
     */
    public List<DtoJobDataset> getDatacollectDataset(String jobId) throws Exception
    {
        //通过jobId获取机构版本号
        String sqlVersion ="select a.adapter_std_version\n" +
                "from rs_job_config c,(SELECT s.adapter_std_version,v.version from adapter_scheme s,adapter_scheme_version v where s.id=v.scheme_id) a\n" +
                "where a.version = c.scheme_version\n" +
                "and c.id='"+jobId+"'";
        String version = super.scalarBySql(sqlVersion,String.class);
        String sql = "select d.*,\n" +
                "t.datasource_id,t.datasource_name,t.config,t.type,t.org_code\n" +
                "from rs_job_dataset d\n" +
                "LEFT JOIN (select s.dataset_id,s.datasource_id,ss.name as datasource_name,ss.config,ss.type,ss.org_code \n" +
                "\tfrom rs_datasource_dataset s,(select ds.id,ds.name,ds.config,ds.type,o.code as org_code from system_datasource ds,system_organization o where ds.org_id=o.id) ss where s.datasource_id=ss.id and s.Std_version='"+version+"') t \n" +
                "on d.job_dataset_id = t.dataset_id \n" +
                "where d.job_id='"+jobId+"'\n" +
                "order by d.sort";
        return super.queryListBySql(sql,DtoJobDataset.class);
    }
    /**
     * 获取任务详细日志列表
     */
    public DataGridResult getJobLogDetail(Map<String, Object> conditionMap, Integer page, Integer pageSize) throws Exception
    {
        StringBuilder sb = new StringBuilder();
        sb.append("from RsJobLogDetail where 1=1 ");
        if (!StringUtil.isEmpty(conditionMap.get("jobId"))) {
            sb.append(" and job_id ='"+conditionMap.get("jobId")+"'");
        }
        if (!StringUtil.isEmpty(conditionMap.get("jobDatasetId"))) {
            sb.append(" and job_dataset_id ='"+conditionMap.get("jobDatasetId")+"'");
        }
        if (!StringUtil.isEmpty(conditionMap.get("jobStatus"))) {
            sb.append(" and jobStatus ='"+conditionMap.get("jobStatus")+"'");
        }
        if (!StringUtil.isEmpty(conditionMap.get("jobTimeFrom"))) {
            Date time = DateConvert.toDate(conditionMap.get("jobTimeFrom").toString());
            time.setHours(0);
            time.setMinutes(0);
            time.setSeconds(0);
            sb.append(" and startTime >= '"+DateConvert.toString(time)+"'");
        }
        if (!StringUtil.isEmpty(conditionMap.get("jobTimeTo"))) {
            Date time = DateConvert.toDate(conditionMap.get("jobTimeTo").toString());
            time.setHours(0);
            time.setMinutes(0);
            time.setSeconds(0);
            GregorianCalendar gc=new GregorianCalendar();
            gc.setTime(time);
            gc.add(5, 1);
            sb.append(" and startTime < '"+DateConvert.toString(gc.getTime())+"'");
        }
        sb.append("order by startTime desc");
        return getDataGridResult(sb.toString(),page,pageSize);
    }
    /**
     * 获取任务日志列表
     */
    public DataGridResult getJobLog(Map<String, Object> conditionMap, Integer page, Integer pageSize) throws Exception
    {
        StringBuilder sb = new StringBuilder();
        sb.append("from RsJobLog where 1=1 ");
        if (!StringUtil.isEmpty(conditionMap.get("jobId"))) {
            sb.append(" and jobId ='"+conditionMap.get("jobId")+"'");
        }
        sb.append("order by jobStartTime desc");
        return getDataGridResult(sb.toString(),page,pageSize);
    }
    /**
     * 获取采集日志统计
     */
    public List<Map<String, Object>> getJobLogCount(String logId) throws Exception
    {
        String sql ="select d.job_log_id,sum(d.Job_dataset_rows) as count,\n" +
                "sum(case d.job_status\n" +
                "    when '1' THEN\n" +
                "         d.Job_dataset_rows\n" +
                "    ELSE\n" +
                "         0\n" +
                "    END) as success,\n" +
                "sum(case d.job_status\n" +
                "    when '3' THEN\n" +
                "         d.Job_dataset_rows\n" +
                "    ELSE\n" +
                "         0\n" +
                "    END) as repeat_num\n" +
                "from rs_job_log_detail d\n";
        if(logId!=null && logId.length()>0)
        {
            sql += "where d.job_log_id ='"+logId+"'\n";
        }
        sql+="group by d.job_log_id ";
        return super.queryListBySql(sql);
    }
    /**
     * 任务详细根据数据集分组
     */
    public List<SimpleChartItem> getJobLogDataset(String logId) throws Exception
    {
        String sql ="select d.job_dataset_name as x,sum(d.Job_dataset_rows) as y1,\n" +
                "                sum(case d.job_status\n" +
                "                    when '1' THEN\n" +
                "                         d.Job_dataset_rows\n" +
                "                    ELSE\n" +
                "                         0\n" +
                "                    END) as y2,\n" +
                "                sum(case d.job_status\n" +
                "                    when '3' THEN\n" +
                "                         d.Job_dataset_rows\n" +
                "                    ELSE\n" +
                "                         0\n" +
                "                    END) as y3\n" +
                "                from rs_job_log_detail d\n" +
                "where d.job_log_id = '"+logId+"'\n" +
                "GROUP BY d.Job_dataset_name";
        return super.queryListBySql(sql,SimpleChartItem.class);
    }
}

+ 76 - 0
hos-rest/src/main/java/com/yihu/hos/rest/common/dao/DatacollectLogDao.java

@ -0,0 +1,76 @@
package com.yihu.hos.rest.common.dao;
import com.yihu.hos.core.datatype.StringUtil;
import com.yihu.hos.web.framework.constrant.DateConvert;
import com.yihu.hos.web.framework.dao.SQLGeneralDAO;
import com.yihu.hos.web.framework.model.DataGridResult;
import org.springframework.stereotype.Repository;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Map;
/**
 * Created by hzp on 2016/1/11.
 */
@Repository("DatacollectLogDao")
public class DatacollectLogDao extends SQLGeneralDAO {
    /**
     * 修改轮询字段
     */
    public void updateJobDatasetKeyvalue(String id,String jobDatasetKeyvalue) throws Exception
    {
        String sql = "update rs_job_dataset set job_dataset_keyvalue='"+jobDatasetKeyvalue+"' where id='"+id+"'";
        super.execute(sql);
    }
    /******************************** 推模式日志 ***************************************/
    /**
     * 推数据新增日志
     */
    public void addDataPushLog(String type,String success,String content) throws Exception
    {
        RsDatapushLog log = new RsDatapushLog();
        log.setType(type);
        log.setSuccess(success);
        log.setContent(content);
        log.setDatetime(new Date());
        this.saveEntity(log);
    }
    /**
     * 获取日志列表
     */
    public DataGridResult queryDataPushLog(Map<String, Object> conditionMap, Integer page, Integer pageSize) throws Exception
    {
        StringBuilder sb = new StringBuilder();
        sb.append("from RsDatapushLog where 1=1 ");
        if (!StringUtil.isEmpty(conditionMap.get("type"))) {
            sb.append(" and type ='"+conditionMap.get("type")+"'");
        }
        if (!StringUtil.isEmpty(conditionMap.get("datetimeFrom"))) {
            Date time = DateConvert.toDate(conditionMap.get("datetimeFrom").toString());
            time.setHours(0);
            time.setMinutes(0);
            time.setSeconds(0);
            sb.append(" and datetime >= '"+ DateConvert.toString(time)+"'");
        }
        if (!StringUtil.isEmpty(conditionMap.get("datetimeTo"))) {
            Date time = DateConvert.toDate(conditionMap.get("datetimeTo").toString());
            time.setHours(0);
            time.setMinutes(0);
            time.setSeconds(0);
            GregorianCalendar gc=new GregorianCalendar();
            gc.setTime(time);
            gc.add(5, 1);
            sb.append(" and datetime < '"+DateConvert.toString(gc.getTime())+"'");
        }
        sb.append("order by datetime desc");
        return getDataGridResult(sb.toString(),page,pageSize);
    }
}

+ 46 - 0
hos-rest/src/main/java/com/yihu/hos/rest/common/dao/DtoDatasetCol.java

@ -0,0 +1,46 @@
package com.yihu.hos.rest.common.dao;
/**
 * 数据集字段
 */
public class DtoDatasetCol implements java.io.Serializable {
	private String code;
	private String text;
	private String type;
	private String dict;
	public String getCode() {
		return code;
	}
	public void setCode(String code) {
		this.code = code;
	}
	public String getText() {
		return text;
	}
	public void setText(String text) {
		this.text = text;
	}
	public String getType() {
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}
	public String getDict() {
		return dict;
	}
	public void setDict(String dict) {
		this.dict = dict;
	}
}

+ 48 - 0
hos-rest/src/main/java/com/yihu/hos/rest/common/dao/DtoDictCol.java

@ -0,0 +1,48 @@
package com.yihu.hos.rest.common.dao;
import org.json.JSONArray;
/**
 * 数据源关联字典
 */
public class DtoDictCol implements java.io.Serializable {
    private String stdMetadataCode;
    private String adapterDataType;
    private String stdDictId;
    private JSONArray dictList;
    public String getStdMetadataCode() {
        return stdMetadataCode;
    }
    public void setStdMetadataCode(String stdMetadataCode) {
        this.stdMetadataCode = stdMetadataCode;
    }
    public String getAdapterDataType() {
        return adapterDataType;
    }
    public void setAdapterDataType(String adapterDataType) {
        this.adapterDataType = adapterDataType;
    }
    public String getStdDictId() {
        return stdDictId;
    }
    public void setStdDictId(String stdDictId) {
        this.stdDictId = stdDictId;
    }
    public JSONArray getDictList() {
        return dictList;
    }
    public void setDictList(JSONArray dictList) {
        this.dictList = dictList;
    }
}

+ 35 - 0
hos-rest/src/main/java/com/yihu/hos/rest/common/dao/DtoJobConfig.java

@ -0,0 +1,35 @@
package com.yihu.hos.rest.common.dao;
/**
 * RsJobConfig entity. @author MyEclipse Persistence Tools
 */
public class DtoJobConfig extends RsJobConfig implements java.io.Serializable {
	private String schemeAndVersion;
	private String jobDataset;
	private String jobPlan;
	public String getSchemeAndVersion() {
		return schemeAndVersion;
	}
	public void setSchemeAndVersion(String schemeAndVersion) {
		this.schemeAndVersion = schemeAndVersion;
	}
	public String getJobDataset() {
		return jobDataset;
	}
	public void setJobDataset(String jobDataset) {
		this.jobDataset = jobDataset;
	}
	public String getJobPlan() {
		return jobPlan;
	}
	public void setJobPlan(String jobPlan) {
		this.jobPlan = jobPlan;
	}
}

+ 74 - 0
hos-rest/src/main/java/com/yihu/hos/rest/common/dao/DtoJobDataset.java

@ -0,0 +1,74 @@
package com.yihu.hos.rest.common.dao;
/**
 * RsJobDataset entity. @author MyEclipse Persistence Tools
 */
public class DtoJobDataset extends RsJobDataset implements java.io.Serializable {
	private String checked;
	private String jobDatasetCode;
	/** 数据源相关 **/
	private String orgCode;
	private String datasourceId;
	private String datasourceName;
	private String config;
	private String type;
	public String getOrgCode() {
		return orgCode;
	}
	public void setOrgCode(String orgCode) {
		this.orgCode = orgCode;
	}
	public String getChecked() {
		return checked;
	}
	public void setChecked(String checked) {
		this.checked = checked;
	}
	public String getJobDatasetCode() {
		return jobDatasetCode;
	}
	public void setJobDatasetCode(String jobDatasetCode) {
		this.jobDatasetCode = jobDatasetCode;
	}
	public String getDatasourceId() {
		return datasourceId;
	}
	public void setDatasourceId(String datasourceId) {
		this.datasourceId = datasourceId;
	}
	public String getDatasourceName() {
		return datasourceName;
	}
	public void setDatasourceName(String datasourceName) {
		this.datasourceName = datasourceName;
	}
	public String getConfig() {
		return config;
	}
	public void setConfig(String config) {
		this.config = config;
	}
	public String getType() {
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}
}

+ 36 - 0
hos-rest/src/main/java/com/yihu/hos/rest/common/dao/DtoJobLog.java

@ -0,0 +1,36 @@
package com.yihu.hos.rest.common.dao;
/**
 * add by hzp at 20160204
 */
public class DtoJobLog extends RsJobLog implements java.io.Serializable {
	private Integer count;
	private Integer success;
	private Integer repeatNum;
	public Integer getCount() {
		return count;
	}
	public void setCount(Integer count) {
		this.count = count;
	}
	public Integer getSuccess() {
		return success;
	}
	public void setSuccess(Integer success) {
		this.success = success;
	}
	public Integer getRepeatNum() {
		return repeatNum;
	}
	public void setRepeatNum(Integer repeatNum) {
		this.repeatNum = repeatNum;
	}
}

+ 58 - 0
hos-rest/src/main/java/com/yihu/hos/rest/common/dao/RsDatapushLog.java

@ -0,0 +1,58 @@
package com.yihu.hos.rest.common.dao;
import java.util.Date;
/**
 * RsJobLog entity. @author MyEclipse Persistence Tools
 */
public class RsDatapushLog implements java.io.Serializable {
	// Fields
	private String id;
	private String type;
	private String success;
	private String content;
	private Date datetime;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getType() {
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}
	public String getSuccess() {
		return success;
	}
	public void setSuccess(String success) {
		this.success = success;
	}
	public String getContent() {
		return content;
	}
	public void setContent(String content) {
		this.content = content;
	}
	public Date getDatetime() {
		return datetime;
	}
	public void setDatetime(Date datetime) {
		this.datetime = datetime;
	}
}

+ 155 - 0
hos-rest/src/main/java/com/yihu/hos/rest/common/dao/RsJobConfig.java

@ -0,0 +1,155 @@
package com.yihu.hos.rest.common.dao;
import java.util.Date;
/**
 * RsJobConfig entity. @author MyEclipse Persistence Tools
 */
public class RsJobConfig implements java.io.Serializable {
	// Fields
	private String id;
	private String jobName;
	private String jobInfo;
	private String jobType;
	private String schemeId;
	private String schemeVersion;
	private Date jobNextTime;
	private String valid;
	private String jobContent;
	private String jobContentType;
	private Date repeatStartTime;
	private Date repeatEndTime;
	private Integer delayTime;
	// Constructors
	/** default constructor */
	public RsJobConfig() {
	}
	public String getJobContent() {
		return jobContent;
	}
	public void setJobContent(String jobContent) {
		this.jobContent = jobContent;
	}
	public String getJobContentType() {
		return jobContentType;
	}
	public void setJobContentType(String jobContentType) {
		this.jobContentType = jobContentType;
	}
	/** minimal constructor */
	public RsJobConfig(String jobName, String valid) {
		this.jobName = jobName;
		this.valid = valid;
	}
	/** full constructor */
	public RsJobConfig(String jobName, String jobInfo, String jobType, String schemeId,String schemeVersion, String jobTimeInterval, Date jobNextTime, String valid) {
		this.jobName = jobName;
		this.jobInfo = jobInfo;
		this.jobType = jobType;
		this.schemeId = schemeId;
		this.schemeVersion = schemeVersion;
		this.jobNextTime = jobNextTime;
		this.valid = valid;
	}
	// Property accessors
	public String getId() {
		return this.id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getJobName() {
		return this.jobName;
	}
	public void setJobName(String jobName) {
		this.jobName = jobName;
	}
	public String getJobInfo() {
		return this.jobInfo;
	}
	public void setJobInfo(String jobInfo) {
		this.jobInfo = jobInfo;
	}
	public String getJobType() {
		return this.jobType;
	}
	public void setJobType(String jobType) {
		this.jobType = jobType;
	}
	public String getSchemeId() {
		return schemeId;
	}
	public void setSchemeId(String schemeId) {
		this.schemeId = schemeId;
	}
	public String getSchemeVersion() {
		return schemeVersion;
	}
	public void setSchemeVersion(String schemeVersion) {
		this.schemeVersion = schemeVersion;
	}
	public Date getJobNextTime() {
		return this.jobNextTime;
	}
	public void setJobNextTime(Date jobNextTime) {
		this.jobNextTime = jobNextTime;
	}
	public String getValid() {
		return this.valid;
	}
	public void setValid(String valid) {
		this.valid = valid;
	}
	public Date getRepeatStartTime() {
		return repeatStartTime;
	}
	public void setRepeatStartTime(Date repeatStartTime) {
		this.repeatStartTime = repeatStartTime;
	}
	public Date getRepeatEndTime() {
		return repeatEndTime;
	}
	public void setRepeatEndTime(Date repeatEndTime) {
		this.repeatEndTime = repeatEndTime;
	}
	public Integer getDelayTime() {
		return delayTime;
	}
	public void setDelayTime(Integer delayTime) {
		this.delayTime = delayTime;
	}
}

+ 117 - 0
hos-rest/src/main/java/com/yihu/hos/rest/common/dao/RsJobDataset.java

@ -0,0 +1,117 @@
package com.yihu.hos.rest.common.dao;
/**
 * RsJobDataset entity. @author MyEclipse Persistence Tools
 */
public class RsJobDataset implements java.io.Serializable {
	// Fields
	private String id;
	private String jobId;
	private String jobDatasetId;
	private String jobDatasetName;
	private String jobDatasetKey;
	private String jobDatasetKeytype;
	private String jobDatasetKeyvalue;
	private String jobDatasetCondition;
	private Integer sort;
	// Constructors
	/** default constructor */
	public RsJobDataset() {
	}
	public String getJobDatasetKey() {
		return jobDatasetKey;
	}
	public void setJobDatasetKey(String jobDatasetKey) {
		this.jobDatasetKey = jobDatasetKey;
	}
	public String getJobDatasetKeytype() {
		return jobDatasetKeytype;
	}
	public void setJobDatasetKeytype(String jobDatasetKeytype) {
		this.jobDatasetKeytype = jobDatasetKeytype;
	}
	/** minimal constructor */
	public RsJobDataset(String jobId, String jobDatasetId) {
		this.jobId = jobId;
		this.jobDatasetId = jobDatasetId;
	}
	/** full constructor */
	public RsJobDataset(String jobId, String jobDatasetId, String jobDatasetName, String jobDatasetKeyvalue, String jobDatasetCondition, Integer sort) {
		this.jobId = jobId;
		this.jobDatasetId = jobDatasetId;
		this.jobDatasetName = jobDatasetName;
		this.jobDatasetKeyvalue = jobDatasetKeyvalue;
		this.jobDatasetCondition = jobDatasetCondition;
		this.sort = sort;
	}
	// Property accessors
	public String getId() {
		return this.id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getJobId() {
		return this.jobId;
	}
	public void setJobId(String jobId) {
		this.jobId = jobId;
	}
	public String getJobDatasetId() {
		return this.jobDatasetId;
	}
	public void setJobDatasetId(String jobDatasetId) {
		this.jobDatasetId = jobDatasetId;
	}
	public String getJobDatasetName() {
		return this.jobDatasetName;
	}
	public void setJobDatasetName(String jobDatasetName) {
		this.jobDatasetName = jobDatasetName;
	}
	public String getJobDatasetKeyvalue() {
		return this.jobDatasetKeyvalue;
	}
	public void setJobDatasetKeyvalue(String jobDatasetKeyvalue) {
		this.jobDatasetKeyvalue = jobDatasetKeyvalue;
	}
	public String getJobDatasetCondition() {
		return this.jobDatasetCondition;
	}
	public void setJobDatasetCondition(String jobDatasetCondition) {
		this.jobDatasetCondition = jobDatasetCondition;
	}
	public Integer getSort() {
		return this.sort;
	}
	public void setSort(Integer sort) {
		this.sort = sort;
	}
}

+ 86 - 0
hos-rest/src/main/java/com/yihu/hos/rest/common/dao/RsJobLog.java

@ -0,0 +1,86 @@
package com.yihu.hos.rest.common.dao;
import java.util.Date;
/**
 * RsJobLog entity. @author MyEclipse Persistence Tools
 */
public class RsJobLog implements java.io.Serializable {
	// Fields
	private String id;
	private Date jobStartTime;
	private Date jobEndTime;
	private String jobId;
	private String jobContent;
	private Integer jobDatasetCount;
	private Integer jobDatasetSuccess;
	// Constructors
	/** default constructor */
	public RsJobLog() {
	}
	// Property accessors
	public String getId() {
		return this.id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public Date getJobStartTime() {
		return jobStartTime;
	}
	public void setJobStartTime(Date jobStartTime) {
		this.jobStartTime = jobStartTime;
	}
	public Date getJobEndTime() {
		return jobEndTime;
	}
	public void setJobEndTime(Date jobEndTime) {
		this.jobEndTime = jobEndTime;
	}
	public Integer getJobDatasetCount() {
		return jobDatasetCount;
	}
	public void setJobDatasetCount(Integer jobDatasetCount) {
		this.jobDatasetCount = jobDatasetCount;
	}
	public Integer getJobDatasetSuccess() {
		return jobDatasetSuccess;
	}
	public void setJobDatasetSuccess(Integer jobDatasetSuccess) {
		this.jobDatasetSuccess = jobDatasetSuccess;
	}
	public String getJobId() {
		return this.jobId;
	}
	public void setJobId(String jobId) {
		this.jobId = jobId;
	}
	public String getJobContent() {
		return this.jobContent;
	}
	public void setJobContent(String jobContent) {
		this.jobContent = jobContent;
	}
}

+ 190 - 0
hos-rest/src/main/java/com/yihu/hos/rest/common/dao/RsJobLogDetail.java

@ -0,0 +1,190 @@
package com.yihu.hos.rest.common.dao;
import java.util.Date;
/**
 * RsJobLogDetail entity. @author MyEclipse Persistence Tools
 */
public class RsJobLogDetail implements java.io.Serializable {
	// Fields
	private String id;
	private Date startTime;
	private Date endTime;
	private String jobLogId;
	private String jobStatus;
	private String jobContent;
	private String datasourceId;
	private String config;
	private String stdDatasetCode;
	private String jobDatasetId;
	private String jobId;
	private String jobDatasetName;
	private String jobSql;
	private Integer jobNum;
	private Date repeatStartTime;
	private Date repeatEndTime;
	private String repeatJobContent;
	private String schemeVersion;
	private Integer jobDatasetRows;
	// Constructors
	/** default constructor */
	public RsJobLogDetail() {
	}
	// Property accessors
	public String getId() {
		return this.id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public Date getStartTime() {
		return this.startTime;
	}
	public void setStartTime(Date startTime) {
		this.startTime = startTime;
	}
	public Date getEndTime() {
		return this.endTime;
	}
	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}
	public String getJobLogId() {
		return jobLogId;
	}
	public void setJobLogId(String jobLogId) {
		this.jobLogId = jobLogId;
	}
	public String getJobStatus() {
		return jobStatus;
	}
	public void setJobStatus(String jobStatus) {
		this.jobStatus = jobStatus;
	}
	public String getJobContent() {
		return this.jobContent;
	}
	public void setJobContent(String jobContent) {
		this.jobContent = jobContent;
	}
	public String getDatasourceId() {
		return datasourceId;
	}
	public void setDatasourceId(String datasourceId) {
		this.datasourceId = datasourceId;
	}
	public String getConfig() {
		return config;
	}
	public void setConfig(String config) {
		this.config = config;
	}
	public String getStdDatasetCode() {
		return stdDatasetCode;
	}
	public void setStdDatasetCode(String stdDatasetCode) {
		this.stdDatasetCode = stdDatasetCode;
	}
	public String getJobDatasetId() {
		return jobDatasetId;
	}
	public void setJobDatasetId(String jobDatasetId) {
		this.jobDatasetId = jobDatasetId;
	}
	public String getJobId() {
		return jobId;
	}
	public void setJobId(String jobId) {
		this.jobId = jobId;
	}
	public String getJobDatasetName() {
		return jobDatasetName;
	}
	public void setJobDatasetName(String jobDatasetName) {
		this.jobDatasetName = jobDatasetName;
	}
	public String getJobSql() {
		return jobSql;
	}
	public void setJobSql(String jobSql) {
		this.jobSql = jobSql;
	}
	public Integer getJobNum() {
		return jobNum;
	}
	public void setJobNum(Integer jobNum) {
		this.jobNum = jobNum;
	}
	public Date getRepeatStartTime() {
		return repeatStartTime;
	}
	public void setRepeatStartTime(Date repeatStartTime) {
		this.repeatStartTime = repeatStartTime;
	}
	public Date getRepeatEndTime() {
		return repeatEndTime;
	}
	public void setRepeatEndTime(Date repeatEndTime) {
		this.repeatEndTime = repeatEndTime;
	}
	public String getRepeatJobContent() {
		return repeatJobContent;
	}
	public void setRepeatJobContent(String repeatJobContent) {
		this.repeatJobContent = repeatJobContent;
	}
	public String getSchemeVersion() {
		return schemeVersion;
	}
	public void setSchemeVersion(String schemeVersion) {
		this.schemeVersion = schemeVersion;
	}
	public Integer getJobDatasetRows() {
		return jobDatasetRows;
	}
	public void setJobDatasetRows(Integer jobDatasetRows) {
		this.jobDatasetRows = jobDatasetRows;
	}
}

+ 95 - 0
hos-rest/src/main/java/com/yihu/hos/rest/common/format/AdapterBase.java

@ -0,0 +1,95 @@
package com.yihu.hos.rest.common.format;
import com.yihu.hos.rest.models.standard.adapter.AdapterSchemeVersionModel;
import com.yihu.hos.rest.models.standard.bo.AdapterVersion;
import com.yihu.hos.rest.services.standard.adapter.*;
import com.yihu.hos.rest.services.standard.standard.StdDictEntryService;
import com.yihu.hos.rest.services.standard.standard.StdDictService;
import com.yihu.hos.web.framework.util.springutil.SpringBeanUtil;
import javax.annotation.Resource;
/**
 * 适配器基类,DAO缓存
 *
 * @created Created by Air on 2015/6/10.
 */
public class AdapterBase {
    @Resource(name = AdapterDatasetService.BEAN_ID)
    private AdapterDatasetService adapterDatasetService;
    @Resource(name = AdapterSchemeVersionService.BEAN_ID)
    private AdapterSchemeVersionService adapterSchemeVersionService;
    @Resource(name = AdapterMetadataService.BEAN_ID)
    private AdapterMetadataService adapterMetadataService;
    @Resource(name = AdapterDictEntryService.BEAN_ID)
    private AdapterDictEntryService adapterDictEntryService;
    @Resource(name = AdapterDictService.BEAN_ID)
    private AdapterDictService adapterDictService;
    @Resource(name = StdDictEntryService.BEAN_ID )
    private StdDictEntryService stdDictEntryService;
    @Resource(name = StdDictService.BEAN_ID )
    private StdDictService stdDictService;
    protected AdapterVersion adapterVersion;
    public AdapterVersion getAdapterVersion() {
        AdapterSchemeVersionModel adapterSchemeVersionModel = getAdapterSchemeVersionService().getEhrAdapterVersionLasted();
        if (adapterSchemeVersionModel == null) {
            adapterSchemeVersionModel=new AdapterSchemeVersionModel();
        }
        String version = adapterSchemeVersionModel.getVersion();
         adapterVersion = new AdapterVersion(version);
        return adapterVersion;
    }
    public AdapterDatasetService getAdapterDatasetService() {
        if (adapterDatasetService == null) {
            adapterDatasetService = SpringBeanUtil.getService(AdapterDatasetService.BEAN_ID);
        }
        return adapterDatasetService;
    }
    public AdapterSchemeVersionService getAdapterSchemeVersionService() {
        if (adapterSchemeVersionService == null) {
            adapterSchemeVersionService = SpringBeanUtil.getService(AdapterSchemeVersionService.BEAN_ID);
        }
        return adapterSchemeVersionService;
    }
    public AdapterMetadataService getAdapterMetadataService() {
        if (adapterMetadataService == null) {
            adapterMetadataService = SpringBeanUtil.getService(AdapterMetadataService.BEAN_ID);
        }
        return adapterMetadataService;
    }
    public AdapterDictService getAdapterDictService() {
        if (adapterDictService == null) {
            adapterDictService = SpringBeanUtil.getService(AdapterDictService.BEAN_ID);
        }
        return adapterDictService;
    }
    public AdapterDictEntryService getAdapterDictEntryService() {
        if (adapterDictEntryService == null) {
            adapterDictEntryService = SpringBeanUtil.getService(AdapterDictEntryService.BEAN_ID);
        }
        return adapterDictEntryService;
    }
    public StdDictEntryService getStdDictEntryService() {
        if (stdDictEntryService == null) {
            stdDictEntryService = SpringBeanUtil.getService(StdDictEntryService.BEAN_ID);
        }
        return stdDictEntryService;
    }
    public StdDictService getStdDictService() {
        if (stdDictService == null) {
            stdDictService = SpringBeanUtil.getService(StdDictService.BEAN_ID);
        }
        return stdDictService;
    }
}

+ 72 - 0
hos-rest/src/main/java/com/yihu/hos/rest/common/format/AdapterScheme.java

@ -0,0 +1,72 @@
package com.yihu.hos.rest.common.format;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.hos.rest.models.standard.adapter.AdapterDatasetModel;
import com.yihu.hos.rest.models.standard.adapter.AdapterMetadataModel;
import com.yihu.hos.rest.models.standard.adapter.AdapterSchemeVersionModel;
import com.yihu.hos.rest.models.standard.bo.AdapterVersion;
import com.yihu.hos.rest.services.standard.adapter.AdapterDatasetService;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * 适配方案
 * 一个适配方案可能有一到多个机构要采集数据
 *
 * @created Created by Air on 2015/6/3.
 */
public class AdapterScheme  extends AdapterBase{
    @Resource(name = AdapterDatasetService.BEAN_ID)
    private AdapterDatasetService adapterDatasetService;
    private HashMap<String, List<AdapterMetadataModel>> adapterMetaDataMap;
    public AdapterScheme() {
    }
    public synchronized HashMap<String, List<AdapterMetadataModel>> getAdapterMetaDataMap() {
        if (adapterMetaDataMap ==null){
            AdapterSchemeVersionModel adapterSchemeVersionModel = getAdapterSchemeVersionService().getEhrAdapterVersionLasted();
            if (adapterSchemeVersionModel == null) {
                adapterSchemeVersionModel=new AdapterSchemeVersionModel();
            }
            String version = adapterSchemeVersionModel.getVersion();
            AdapterVersion adapterVersion = new AdapterVersion(version);
            adapterMetaDataMap =new HashMap<>();
            Map<String, String> condition = new HashMap<>();
            condition.put("column", "adapter_dataset_code");
            String conditionStr ="";
            ObjectMapper mapper = new ObjectMapper();
            try {
                conditionStr = mapper.writeValueAsString(condition);
            } catch (JsonProcessingException e) {
                e.printStackTrace();
            }
            List<AdapterDatasetModel> adapterDataSets = adapterDatasetService.getAdapterDatasetNotNullList(adapterVersion, conditionStr);
            for (AdapterDatasetModel adapterDataSet:adapterDataSets){
                List<AdapterMetadataModel> adapterMetaDataTList = getAdapterMetadataService().getAdapterMetadataByDataset(version, adapterDataSet.getId());
                if (adapterMetaDataTList!=null && adapterMetaDataTList.size()>0){
                    adapterMetaDataMap.put(adapterDataSet.getStdDatasetCode(), adapterMetaDataTList);
                }
            }
        }
        return adapterMetaDataMap;
    }
    public List<AdapterMetadataModel> getAdapterMetaDatas(String dataSetCode){
        if (dataSetCode==null){
            return new ArrayList<>();
        }
        return getAdapterMetaDataMap().get(dataSetCode);
    }
}

+ 159 - 0
hos-rest/src/main/java/com/yihu/hos/rest/common/format/DataSetTransformer.java

@ -0,0 +1,159 @@
package com.yihu.hos.rest.common.format;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.yihu.ehr.dbhelper.jdbc.DBHelper;
import com.yihu.hos.core.datatype.StringUtil;
import com.yihu.hos.rest.models.crawler.adapter.AdapterDataSet;
import com.yihu.hos.rest.models.crawler.adapter.AdapterDict;
import com.yihu.hos.rest.models.crawler.adapter.AdapterMetaData;
import com.yihu.hos.rest.models.crawler.patient.Patient;
import com.yihu.hos.rest.models.crawler.transform.DictDataType;
import com.yihu.hos.rest.models.crawler.transform.TransformType;
import com.yihu.hos.web.framework.constrant.SqlConstants;
import java.util.Iterator;
import java.util.Map;
/**
 * 目前只处理json格式
 * <p>
 * json 格式
 * {
 * "inner_version":"xxxxx",
 * "patient_id":"xxxx",
 * "event_no":"xxxx",
 * "code":"dataset_code",
 * "org_code":"xxxx"
 * "data":
 * [{"metadata_code1":"5","metadata_code2":"6"},
 * [{"metadata_code1":"1","metadata_code2":"2"}]}
 * <p>
 * Created by Air on 2015/6/4.
 */
public class DataSetTransformer implements IDataTransformer{
    private JsonNode jsonObject;
    private Patient patient;
    private static DBHelper db;
    public JsonNode getJsonObject() {
        return jsonObject;
    }
    public DataSetTransformer() {
        if (db == null) {
            db = new DBHelper();
        }
    }
    public boolean transfer(Map<String, AdapterDataSet> dataSetMap) {
        if (jsonObject != null) {
            String dataSetCode = jsonObject.get("code").asText();
            ArrayNode jsonArray = (ArrayNode) jsonObject.get("data");
            AdapterDataSet adapterDataSet = dataSetMap.get(dataSetCode);
            boolean transfer = transferJson(jsonArray, adapterDataSet);
            return transfer;
        }
        return false;
    }
    public String getData() {
        //确保文档有版本信息
        return jsonObject.asText();
    }
    public void setData(JsonNode data) {
        jsonObject = data;
        setPatient();
    }
    @Override
    public Patient getPatient() {
        return patient;
    }
    public TransformType getTransformType() {
        return TransformType.DATA_SET_JSON;
    }
    /**
     * json 格式
     * {
     * "inner_version":"xxxxx",
     * "patient_id":"xxxx",
     * "event_no":"xxxx",
     * "code":"dataset_code",
     * "data":
     * [{"metadata_code1":"5","metadata_code2":"6"},
     * [{"metadata_code1":"1","metadata_code2":"2"}]}
     *
     * @param jsonArray
     * @param adapterDataSet
     * @return
     */
    public boolean transferJson(ArrayNode jsonArray, AdapterDataSet adapterDataSet) {
        for (Object objectRow : jsonArray) {
            if (objectRow instanceof JsonNode) {
                transferJsonRow((ObjectNode) objectRow, adapterDataSet);
            }
        }
        return false;
    }
    public void transferJsonRow(ObjectNode jsonObject, AdapterDataSet adapterDataSet) {
        Iterator<Map.Entry<String, JsonNode>> fields = jsonObject.fields();
        while (fields.hasNext()) {
            Map.Entry<String, JsonNode> next = fields.next();
            String key = next.getKey();
            JsonNode jsonNode = next.getValue();
            String value = jsonNode.asText();
            String stdValue = transferElem(adapterDataSet, key, value);
            if (jsonNode instanceof ObjectNode) {
                ObjectNode objectNode = (ObjectNode) next;
                objectNode.put(key, stdValue);
            }
        }
    }
    /**
     * @param adapterDataSet 数据集编码
     * @param code        数据元编码
     * @param esbData        数据
     * @return String 标准值
     * @modify 2015.09.16 airhead 增加值与编码转换
     */
    public String transferElem(AdapterDataSet adapterDataSet, String code, String esbData) {
        Map<String, AdapterMetaData> adapterMetaDataMap = adapterDataSet.getAdapterMetaDataMap();
        AdapterMetaData adapterMetaData = adapterMetaDataMap.get(code);
        AdapterDict adapterDict = adapterMetaData.getAdapterDict();
        if (adapterDict == null) {
            return esbData;
        }
        String ehrData = null;
        DictDataType adapterDictDataType = adapterMetaData.getAdapterDictDataType();
        if (adapterDictDataType == DictDataType.VALUE) {
            ehrData = adapterDict.getAdapterValueToCodeMap().get(esbData);
        } else if (adapterDictDataType == DictDataType.CODE) {
            ehrData = adapterDict.getAdapterCodeToCodeMap().get(esbData);
        }
        if (StringUtil.isEmpty(ehrData)) {
            return SqlConstants.EMPTY;
        }
        return ehrData;
    }
    /**
     * 根据DataSet信息构造Patient
     */
    private void setPatient() {
        patient = new Patient();
        patient.setPatientId(jsonObject.get("patient_id").asText());
        patient.setEventNo(jsonObject.get("event_no").asText());
        patient.setOrgCode(jsonObject.get("org_code").asText());
    }
}

+ 51 - 0
hos-rest/src/main/java/com/yihu/hos/rest/common/format/DocumentTransformer.java

@ -0,0 +1,51 @@
package com.yihu.hos.rest.common.format;
import com.fasterxml.jackson.databind.JsonNode;
import com.yihu.hos.rest.models.crawler.adapter.AdapterDataSet;
import com.yihu.hos.rest.models.crawler.patient.Patient;
import com.yihu.hos.rest.models.crawler.transform.TransformType;
import java.util.Map;
/**
 * Created by Administrator on 2015/10/15.
 */
public class DocumentTransformer implements IDataTransformer  {
    private JsonNode jsonObject;
    protected AdapterScheme adapterScheme;
    protected Patient patient;
    public DocumentTransformer(AdapterScheme adapterScheme) {
        this.adapterScheme = adapterScheme;
    }
    @Override
    public Patient getPatient() {
        return patient;
    }
    /**
     * 非结构化的不需要转换
     *
     * @return
     */
    public boolean transfer(Map<String, AdapterDataSet> dataSetMap) {
        return true;
    }
    public JsonNode getJsonObject() {
        return jsonObject;
    }
    public String getData() {
        return jsonObject.asText();
    }
    public void setData(JsonNode data) {
        jsonObject = data;
    }
    public TransformType getTransformType() {
        return TransformType.DOCUMENT;
    }
}

+ 27 - 0
hos-rest/src/main/java/com/yihu/hos/rest/common/format/IDataTransformer.java

@ -0,0 +1,27 @@
package com.yihu.hos.rest.common.format;
import com.fasterxml.jackson.databind.JsonNode;
import com.yihu.hos.rest.models.crawler.adapter.AdapterDataSet;
import com.yihu.hos.rest.models.crawler.patient.Patient;
import com.yihu.hos.rest.models.crawler.transform.TransformType;
import java.util.Map;
/**
 * @author Airhead
 * @version 1.0
 * @created 22-5月-2015 11:24:26
 */
public interface IDataTransformer {
    boolean transfer(Map<String, AdapterDataSet> dataSetMap);
    String getData();
    void setData(JsonNode data);
    Patient getPatient();
    TransformType getTransformType();
}

+ 263 - 0
hos-rest/src/main/java/com/yihu/hos/rest/controllers/CrawlerController.java

@ -0,0 +1,263 @@
package com.yihu.hos.rest.controllers;
import com.yihu.hos.core.datatype.StringUtil;
import com.yihu.hos.rest.models.crawler.patient.Patient;
import com.yihu.hos.rest.services.crawler.CrawlerManager;
import com.yihu.hos.rest.services.crawler.CrawlerService;
import com.yihu.hos.rest.services.standard.adapter.AdapterSchemeService;
import com.yihu.hos.web.framework.model.ActionResult;
import com.yihu.hos.web.framework.model.DetailModelResult;
import com.yihu.hos.web.framework.model.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import java.io.IOException;
/**
 * 目前版本只需要采集,上传和注册病人档案就可了。
 * <p>
 * Created by Airhead on 2015/12/16.
 */
@RequestMapping("/crawler")
@Controller("crawlerController")
@Api(protocols = "http", value = "CrawlerController", description = "档案采集接口", tags = {"采集"})
public class CrawlerController {
    @Resource
    CrawlerService crawlerService;
    @Resource(name = AdapterSchemeService.BEAN_ID)
    private AdapterSchemeService adapterSchemeService;
    /**
    任务编排
    */
    @RequestMapping("jobLayout")
    public String jobLayout(Model model) {
        model.addAttribute("contentPage", "/crawler/jobLayout");
        return "partView";
    }
    /*
   任务编排数据映射
    */
    @RequestMapping("jobDataMapping")
    public String jobDataMapping(Model model, Integer versionId, String datasetIdStr) {
        try {
            model.addAttribute("versionId", versionId);
            model.addAttribute("datasetIdStr", datasetIdStr);
            model.addAttribute("contentPage", "/crawler/dataMapping");
            return "pageView";
        } catch (Exception ex) {
            model.addAttribute("contentPage", "/crawler/dataMapping");
            return "pageView";
        }
    }
    @RequestMapping("datasetDetail")
    public String datasetDetail(Model model, Integer schemeId, String schemeNm, String cacheDatasetId, String versionId) {
        model.addAttribute("contentPage", "/crawler/datasetDetail");
        model.addAttribute("schemeId", schemeId);
        model.addAttribute("versionId", versionId);
        model.addAttribute("schemeNm", schemeNm);
        model.addAttribute("cacheDatasetId", cacheDatasetId);
        return "pageView";
    }
    @RequestMapping(value = "patient", method = RequestMethod.POST)
    @ApiOperation(value = "采集病人健康档案", produces = "application/json", notes = "采集病人健康档案")
    @ResponseBody
    public Result crawler(
            @ApiParam(name = "patient", value = "病人索引信息", required = true)
            @RequestParam(value = "patient") String patientInfo) {
        CrawlerManager crawlerManager = new CrawlerManager();
        Patient patient = crawlerManager.parsePatient(patientInfo);
        if (patient != null) {
            Boolean result = crawlerManager.collectProcess(patient);
            if (result) {
                return Result.success("采集上传成功");
            } else {
                return Result.error("采集上传失败");
            }
        } else {
            return Result.error("参数转换病人实体失败");
        }
    }
    /**
     * 保存任务编排数据
     */
    @RequestMapping(value = "saveDateSet", method = RequestMethod.POST)
    @ApiOperation(value = "保存任务编排", produces = "application/json", notes = "保存任务编排")
    @ResponseBody
    public Result saveJobData(
            @ApiParam(name = "job", value = "任务编排信息", required = true)
            @RequestParam(value = "job") String jobInfo,
            @ApiParam(name = "rows", value = "当前行数", required = true)
            @RequestParam(value = "rows") Integer rows,
            @ApiParam(name = "page", value = "当前页数", required = true)
            @RequestParam(value = "page") Integer page) {
        try {
            crawlerService.saveJobData(jobInfo, rows, page);
        } catch (Exception e) {
            e.printStackTrace();
            return Result.error("保存失败");
        }
        return Result.success("保存成功");
    }
    /**
     * 获取适配方案 数据集关系
     *
     * @param versionId 适配方案版本ID
     * @return
     */
    @RequestMapping("getSchemeDataSets")
    @ResponseBody
    public DetailModelResult getSchemeDataSets(
            @RequestParam(value = "versionId", required = true) Integer versionId,
            @RequestParam(value = "name", required = false) String name
    ) {
        try {
            return crawlerService.getSchemeDataset(versionId, name);
        } catch (Exception e) {
            e.printStackTrace();
            return new DetailModelResult();
        }
    }
    /**
     * 保存适配方案 数据映射关系
     *
     * @param version
     * @param data    映射关系
     * @return
     */
    @RequestMapping("saveSchemeRelation")
    @ResponseBody
    public ActionResult addSchemeRelation(
            @RequestParam(value = "version", required = true) String version,
            @RequestParam(value = "data", required = true) String data
    ) {
        try {
            return crawlerService.saveDataSetRelation(version, data);
        } catch (Exception ex) {
            ex.printStackTrace();
            return new ActionResult();
        }
    }
    @RequestMapping("getRelations")
    @ResponseBody
    public String getRelations(
            @RequestParam(value = "versionId", required = true) Integer versionId,
            @RequestParam(value = "datasetIdStr", required = false) String datasetIdStr,
            @RequestParam(value = "lines", required = false) String lines) {
        try {
            return crawlerService.getRelations(versionId, datasetIdStr, lines);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
    @RequestMapping("setRelationsCache")
    @ResponseBody
    public Result setRelationsCache(
            @RequestParam(value = "versionId", required = true) Integer versionId,
            @RequestParam(value = "lines", required = false) String lines
    ) {
        try {
            crawlerService.setLinesCache(versionId, lines);
            return Result.success("缓存映射关系成功");
        } catch (IOException e) {
            e.printStackTrace();
        }
        return Result.error("缓存映射关系失败");
    }
    /**
     * 删除任务编排数据
     */
    @RequestMapping(value = "deleteDateSet", method = RequestMethod.POST)
    @ApiOperation(value = "删除任务编排", produces = "application/json", notes = "删除任务编排")
    @ResponseBody
    public Result deleteJobData(
            @ApiParam(name = "version", value = "版本号", required = true)
            @RequestParam(value = "version") String version) {
        if (version != null) {
            String message = crawlerService.deleteJobData(version);
            if (StringUtil.isEmpty(message)) {
                return Result.success("删除成功");
            } else {
                return Result.error(message);
            }
        } else {
            return Result.error("删除失败");
        }
    }
    /**
     * 分页显示任务编排数据
     */
    @RequestMapping(value = "list", method = RequestMethod.POST)
    @ApiOperation(value = "分页显示任务编排", produces = "application/json", notes = "分页显示任务编排")
    @ResponseBody
    public DetailModelResult listJobData(
            @ApiParam(name = "rows", value = "Limit the size of result set. Must be an integer")
            @RequestParam(value = "rows", required = false) Integer rows,
            @ApiParam(name = "page", value = "Start position of result set. Must be an integer")
            @RequestParam(value = "page", required = false) Integer page) throws Exception {
        return crawlerService.getDataSetResult(rows, page);
    }
    @RequestMapping(value = "getSchemeList", method = RequestMethod.POST)
    @ApiOperation(value = "获取适配方案-方案版本下拉框", produces = "application/json", notes = "获取适配方案-方案版本下拉框")
    @ResponseBody
    public DetailModelResult getSchemeList() {
        DetailModelResult result = adapterSchemeService.getAdapterSchemeResultModelList();
        return result;
    }
    /**
     * 获取任务编排保存数据集
     */
    @RequestMapping(value = "savedJobData", method = RequestMethod.POST)
    @ApiOperation(value = "获取保存的数据集",produces = "application/json", notes = "保存的数据集")
    @ResponseBody
    public DetailModelResult ListSavedJobData(
            @ApiParam(name = "version", value = "版本号", required = true)
            @RequestParam(value = "version") Integer version
    ) {
        return crawlerService.getDataSetSavedResult(version);
    }
    /**
     * 获取任务编排保存适配方案-方案版本
     */
    @RequestMapping(value = "savedSchemeList", method = RequestMethod.POST)
    @ApiOperation(value = "获取保存的适配方案",produces = "application/json", notes = "保存的适配方案")
    @ResponseBody
    public DetailModelResult SavedSchemeList() {
        return crawlerService.getSchemeSavedResult();
    }
}

+ 41 - 0
hos-rest/src/main/java/com/yihu/hos/rest/controllers/DataPushController.java

@ -0,0 +1,41 @@
package com.yihu.hos.rest.controllers;
import com.yihu.hos.rest.services.crawler.DatapushService;
import com.yihu.hos.web.framework.model.Result;
import com.yihu.hos.web.framework.util.controller.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
 * 数据采集配置页面
 * Created by hzp on 2015/8/12.
 */
@RequestMapping("/datapush")
@Controller("dataPushController")
public class DataPushController extends BaseController {
    @Autowired
    DatapushService datapushService;
    /**************************** 推送数据 ************************************************/
    /*
    全流程推数据
     */
    @RequestMapping("datapush")
    @ResponseBody
    public Result datapush(String dataset,String data,String orgCode) {
        try {
            return datapushService.pushData(dataset, data,orgCode);
        }
        catch (Exception ex)
        {
            return Result.error(ex.getMessage());
        }
    }
}

File diff suppressed because it is too large
+ 416 - 0
hos-rest/src/main/java/com/yihu/hos/rest/controllers/QLCController.java


+ 108 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/adapter/AdapterDataSet.java

@ -0,0 +1,108 @@
package com.yihu.hos.rest.models.crawler.adapter;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.hos.core.datatype.CollectionUtil;
import com.yihu.hos.rest.models.crawler.patient.PatientIdentity;
import com.yihu.hos.rest.models.standard.adapter.AdapterDatasetModel;
import com.yihu.hos.rest.models.standard.adapter.AdapterDictEntryModel;
import com.yihu.hos.rest.models.standard.adapter.AdapterMetadataModel;
import com.yihu.hos.rest.models.standard.bo.AdapterVersion;
import com.yihu.hos.rest.services.standard.adapter.AdapterMetadataService;
import com.yihu.hos.web.framework.util.springutil.SpringBeanUtil;
import java.util.*;
/**
 * @author Air
 * @version 1.0
 * @created 2015.08.11 11:29
 */
public class AdapterDataSet {
    private List<AdapterMetaData> adapterMetaDataList;
    private AdapterDatasetModel adapterDatasetModel;
    private Map<String, AdapterMetaData> adapterMetaDataMap;
    private String eventNoCode;
    private AdapterVersion adapterVersion;
    public AdapterDataSet(AdapterDatasetModel adapterDatasetModel, AdapterVersion adapterVersion, Map<Integer, List<AdapterDictEntryModel>> entryMap) {
        this.adapterDatasetModel = adapterDatasetModel;
        this.adapterVersion = adapterVersion;
        prepareData(entryMap);
    }
    public AdapterDatasetModel getAdapterDataSetT() {
        return adapterDatasetModel;
    }
    public void prepareData(Map<Integer, List<AdapterDictEntryModel>> entryMap) {
        try {
            adapterMetaDataList = new ArrayList<>();
            adapterMetaDataMap = new HashMap<>();
            Map<String, Object> condition = new HashMap<>();
            condition.put("column", "adapter_metadata_code");
            ObjectMapper objectMapper = new ObjectMapper();
            AdapterMetadataService metadataService = SpringBeanUtil.getService(AdapterMetadataService.BEAN_ID);
            List<AdapterMetadataModel> adapterMetaDataModelList = metadataService.getAdapterMetadataNotNullList(adapterVersion, adapterDatasetModel.getStdDatasetId(),objectMapper.writeValueAsString(condition));
            List<Integer> stdMetaDataIdList = new ArrayList<>();
            if (!CollectionUtil.isEmpty(adapterMetaDataModelList)) {
                for (AdapterMetadataModel adapterMetadataModel : adapterMetaDataModelList) {
                    stdMetaDataIdList.add(adapterMetadataModel.getStdMetadataId());
                }
                for (AdapterMetadataModel adapterMetadataModel : adapterMetaDataModelList) {
                    AdapterMetaData adapterMetaData = new AdapterMetaData(adapterMetadataModel, adapterVersion, entryMap);
                    adapterMetaDataList.add(adapterMetaData);
                    adapterMetaDataMap.put(adapterMetadataModel.getStdMetadataCode().toUpperCase(), adapterMetaData);
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public Map<String, AdapterMetaData> getAdapterMetaDataMap() {
        return adapterMetaDataMap;
    }
    public List<AdapterMetaData> getAdapterMetaDataList() {
        return adapterMetaDataList;
    }
    public boolean isHavePatientID() {
        return findPatientIdentity(PatientIdentity.getPatientIDCode());
    }
    public boolean isHaveEventNo() {
        Set<String> eventNoSet = PatientIdentity.getEventNoSet();
        for (String eventNo : eventNoSet) {
            if (findPatientIdentity(eventNo)) {
                eventNoCode = eventNo;
                return true;
            }
        }
        return false;
    }
    public boolean isHaveLocalCardNo() {
        return findPatientIdentity(PatientIdentity.getLocalCardNoCode());
    }
    public boolean isHaveIdCard() {
        return findPatientIdentity(PatientIdentity.getIdCardCode());
    }
    public boolean findPatientIdentity(String code) {
        if (getAdapterMetaDataMap().get(code) == null) {
            return false;
        }
        return true;
    }
    public String getEventNoCode() {
        return eventNoCode;
    }
}

+ 47 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/adapter/AdapterDict.java

@ -0,0 +1,47 @@
package com.yihu.hos.rest.models.crawler.adapter;
import com.yihu.hos.rest.common.format.AdapterBase;
import com.yihu.hos.rest.models.standard.adapter.AdapterDictEntryModel;
import com.yihu.hos.rest.models.standard.adapter.AdapterDictModel;
import com.yihu.hos.rest.models.standard.bo.AdapterVersion;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * @author Air
 * @version 1.0
 * @created 2015.08.11 11:31
 */
public class AdapterDict extends AdapterBase {
    private AdapterDictModel adapterDictModel;
    private AdapterDictModel adapterDictT;
    private Map<String, String> adapterValueToCodeMap;
    private Map<String, String> adapterCodeToCodeMap;
    public AdapterDict(AdapterDictModel adapterDictModel, AdapterVersion adapterVersion, Map<Integer, List<AdapterDictEntryModel>> entryMap) {
        this.adapterDictModel = adapterDictModel;
        this.adapterDictT = adapterDictModel;
        prepareData(entryMap);
    }
    public void prepareData(Map<Integer, List<AdapterDictEntryModel>> entryMap) {
        adapterValueToCodeMap = new HashMap<>();
        adapterCodeToCodeMap = new HashMap<>();
        List<AdapterDictEntryModel> adapterDictEntryModelList = entryMap.get(adapterDictModel.getStdDictId());
        for (AdapterDictEntryModel adapterDictEntryModel : adapterDictEntryModelList) {
            adapterValueToCodeMap.put(adapterDictEntryModel.getStdEntryValue(), adapterDictEntryModel.getAdapterEntryCode());
            adapterCodeToCodeMap.put(adapterDictEntryModel.getStdEntryCode(), adapterDictEntryModel.getAdapterEntryCode());
        }
    }
    public Map<String, String> getAdapterValueToCodeMap() {
        return adapterValueToCodeMap;
    }
    public Map<String, String> getAdapterCodeToCodeMap() {
        return adapterCodeToCodeMap;
    }
}

+ 14 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/adapter/AdapterDictEntry.java

@ -0,0 +1,14 @@
package com.yihu.hos.rest.models.crawler.adapter;
import com.yihu.hos.rest.models.standard.adapter.AdapterDictEntryModel;
public class AdapterDictEntry {
    private AdapterDictEntryModel adapterDictEntryModel;
    private String version;
    public AdapterDictEntry(AdapterDictEntryModel adapterDictEntryModel, String version) {
        this.adapterDictEntryModel = adapterDictEntryModel;
        this.version = version;
    }
}

+ 62 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/adapter/AdapterMetaData.java

@ -0,0 +1,62 @@
package com.yihu.hos.rest.models.crawler.adapter;
import com.yihu.hos.core.datatype.NumberUtil;
import com.yihu.hos.rest.models.crawler.transform.DictDataType;
import com.yihu.hos.rest.models.standard.adapter.AdapterDictEntryModel;
import com.yihu.hos.rest.models.standard.adapter.AdapterDictModel;
import com.yihu.hos.rest.models.standard.adapter.AdapterMetadataModel;
import com.yihu.hos.rest.models.standard.bo.AdapterVersion;
import com.yihu.hos.rest.services.standard.adapter.AdapterDictService;
import com.yihu.hos.web.framework.util.springutil.SpringBeanUtil;
import java.util.List;
import java.util.Map;
/**
 * @author Air
 * @version 1.0
 * @created 2015.08.11 11:31
 */
public class AdapterMetaData {
    private AdapterMetadataModel adapterMetadataModel;
    private AdapterDict adapterDict;
    private AdapterVersion adapterVersion;
    public AdapterMetaData(AdapterMetadataModel adapterMetadataModel, AdapterVersion adapterVersion, Map<Integer, List<AdapterDictEntryModel>> entryMap) {
        this.adapterMetadataModel = adapterMetadataModel;
        this.adapterVersion = adapterVersion;
        prepareData(entryMap);
    }
    public AdapterMetadataModel getAdapterMetadataModel() {
        return adapterMetadataModel;
    }
    public void prepareData(Map<Integer, List<AdapterDictEntryModel>> entryMap) {
        if (!NumberUtil.isZero(adapterMetadataModel.getStdDictId())) {
            AdapterDictService adapterDictService = SpringBeanUtil.getService(AdapterDictService.BEAN_ID);
            /**
             * 默认适配字典的id与数据元的标准id一致
             */
            AdapterDictModel adapterDictModel = (AdapterDictModel) adapterDictService.get(AdapterDictModel.class, adapterVersion.getDictTableName(), adapterMetadataModel.getStdDictId());
            if (adapterDictModel != null) {
                adapterDict = new AdapterDict(adapterDictModel, adapterVersion, entryMap);
            }
        }
    }
    public AdapterDict getAdapterDict() {
        return adapterDict;
    }
    public DictDataType getAdapterDictDataType() {
        Integer orgDictDataType = adapterMetadataModel.getAdapterDataType();
        if (orgDictDataType == null){
            return DictDataType.VALUE;
        }
        return DictDataType.values()[orgDictDataType];
    }
}

+ 198 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/config/SysConfig.java

@ -0,0 +1,198 @@
package com.yihu.hos.rest.models.crawler.config;
import com.yihu.hos.core.datatype.StringUtil;
import com.yihu.hos.core.log.Logger;
import com.yihu.hos.core.log.LoggerFactory;
import com.yihu.hos.rest.models.crawler.patient.PatientIdentity;
import com.yihu.hos.rest.models.crawler.patient.PatientIndex;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class SysConfig {
    private static Logger logger = LoggerFactory.getLogger(SysConfig.class);
    public static final String HOS_RESOURCES_CONFIG = "/config/sys.config.xml";
    private static volatile SysConfig instance = null;
    private HashMap<String, PatientIdentity> patientIdentityHashMap;
    private Map<String, PatientIndex> patientIndexMap;//病人摘要信息内容
    private Map<String, String> publicKeyMap;
    private Map<String, String> versionMap;
    public static String tempFile;
    public static String orgcode;
    public static String registerDataSet;
    public static String registerIdCardNo;
    private SysConfig() {
        patientIdentityHashMap = new HashMap<>();
        patientIndexMap = new HashMap<>();
        publicKeyMap = new HashMap<>();
        versionMap = new HashMap<>();
        init();
    }
    public static SysConfig getInstance() {
        if (instance == null) {
            synchronized (SysConfig.class) {
                if (instance == null) {
                    try {
                        instance = new SysConfig();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
        }
        return instance;
    }
    public void finalize() throws Throwable {
    }
    public String getTempFile() {
        return this.tempFile;
    }
    public void setTempFile(String tempFile) {
        this.tempFile = tempFile;
    }
    public PatientIdentity getPatientIdentity(String dataSetCode) {
        return patientIdentityHashMap.get(dataSetCode);
    }
    public HashMap<String, PatientIdentity> getPatientIdentityHashMap() {
        return patientIdentityHashMap;
    }
    public String getRegisterDataSet() {
        return registerDataSet;
    }
    public String getRegisterIdCardNo() {
        return registerIdCardNo;
    }
    public Map<String, PatientIndex> getPatientIndexMap() {
        return patientIndexMap;
    }
    public Map<String, String> getPublicKeyMap() {
        return publicKeyMap;
    }
    public Map<String, String> getVersionMap() {
        return versionMap;
    }
    public void setVersionMap(Map<String, String> versionMap) {
        this.versionMap = versionMap;
    }
    private Document getDocument() throws DocumentException {
        SAXReader reader = new SAXReader();
        Document document = null;
        try {
            InputStream inputStream = SysConfig.class.getResourceAsStream(HOS_RESOURCES_CONFIG);
            document = reader.read(inputStream);
            return document;
        } catch (DocumentException de) {
            logger.info("读取classpath下的xml文档路径发生异常");
            return null;
        }
    }
    private void init() {
        try {
            Document document = this.getDocument();
            Element rootElement = null;
            if (document != null) {
                rootElement = document.getRootElement();
            }
            if (rootElement == null) {
                return;
            }
            this.initCrawler(rootElement);
            this.initEventNo(rootElement);
            this.initVersion(rootElement);
//            this.initPatientIndex(rootElement);
        } catch (Exception e) {
            logger.error(e.getCause().toString());
        }
    }
    private void initVersion(Element rootElement){
        String tempFile = rootElement.elementTextTrim("temp_file");
        if (!StringUtil.isEmpty(tempFile)) {
            this.tempFile = tempFile;
        } else {
            String home = System.getProperty("catalina.home").replace('\\','/');
            String homeUrl = home.substring(0,home.lastIndexOf('/')+1);
            this.tempFile = homeUrl + "temp";
        }
        List queueDataSets = rootElement.element("ehr_version").elements("org_code");
        for (Object obj : queueDataSets) {
            if (obj instanceof Element) {
                Element element = (Element) obj;
                String dataSetCode = element.attributeValue("code");
                String version = element.elementTextTrim("version");
                String ehrVersion=new String(version);
                versionMap.put(dataSetCode,ehrVersion);
            }
        }
        Element registerDataSet = rootElement.element("register").element("dataset");
        this.registerDataSet = registerDataSet.attributeValue("code");
        this.registerIdCardNo = registerDataSet.elementTextTrim("id_card");
    }
    private void initCrawler(Element rootElement) {
        String tempFile = rootElement.elementTextTrim("temp_file");
        if (!StringUtil.isEmpty(tempFile)) {
            this.tempFile = tempFile;
        } else {
            String home = System.getProperty("catalina.home").replace('\\','/');
            String homeUrl = home.substring(0,home.lastIndexOf('/')+1);
            this.tempFile = homeUrl + "temp";
        }
        List queueDataSets = rootElement.element("patient_queue").elements("dataset");
        for (Object obj : queueDataSets) {
            if (obj instanceof Element) {
                Element element = (Element) obj;
                String dataSetCode = element.attributeValue("code");
                String eventNo = element.elementTextTrim("event_no");
                String refTime = element.elementTextTrim("ref_time");
                PatientIdentity patientIdentity = new PatientIdentity(eventNo, refTime);
                patientIdentityHashMap.put(dataSetCode, patientIdentity);
            }
        }
        Element registerDataSet = rootElement.element("register").element("dataset");
        this.registerDataSet = registerDataSet.attributeValue("code");
        this.registerIdCardNo = registerDataSet.elementTextTrim("id_card");
    }
    private void initEventNo(Element rootElement) {
        List eventItems = rootElement.element("event_no").elements("item");
        for (Object obj : eventItems) {
            if (obj instanceof Element) {
                Element element = (Element) obj;
                String eventNoCode = element.getTextTrim();
                PatientIdentity.addEventNoCode(eventNoCode);
            }
        }
    }
}//end SysConfig

+ 63 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/flow/CrawlerDataSetModel.java

@ -0,0 +1,63 @@
package com.yihu.hos.rest.models.crawler.flow;
import com.yihu.hos.web.framework.model.Result;
import java.io.Serializable;
/**
 * 任务编排-数据集关系
 *
 * @created HZY 2016/4/27.
 */
public class CrawlerDataSetModel extends Result implements Serializable {
    private Integer schemeId;
    private Integer schemeVersionId;
    private Integer datasetId;
    private String datasetCode;
    private String datasetName;
    public Integer getSchemeId() {
        return schemeId;
    }
    public void setSchemeId(Integer schemeId) {
        this.schemeId = schemeId;
    }
    public Integer getSchemeVersionId() {
        return schemeVersionId;
    }
    public void setSchemeVersionId(Integer schemeVersionId) {
        this.schemeVersionId = schemeVersionId;
    }
    public Integer getDatasetId() {
        return datasetId;
    }
    public void setDatasetId(Integer datasetId) {
        this.datasetId = datasetId;
    }
    public String getDatasetCode() {
        return datasetCode;
    }
    public void setDatasetCode(String datasetCode) {
        this.datasetCode = datasetCode;
    }
    public String getDatasetName() {
        return datasetName;
    }
    public void setDatasetName(String datasetName) {
        this.datasetName = datasetName;
    }
}

+ 53 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/flow/CrawlerFlowHeadModel.java

@ -0,0 +1,53 @@
package com.yihu.hos.rest.models.crawler.flow;
import com.yihu.hos.web.framework.model.Result;
import java.io.Serializable;
/**
 * 标准基本信息
 *
 * @created Airhead 2015/12/23.
 */
public class CrawlerFlowHeadModel extends Result implements Serializable {
    private Integer schemeVersionId;
    private String datasetCode;
    private String metadataCode;
    private String identityCode;
    public Integer getSchemeVersionId() {
        return schemeVersionId;
    }
    public void setSchemeVersionId(Integer schemeVersionId) {
        this.schemeVersionId = schemeVersionId;
    }
    public String getDatasetCode() {
        return datasetCode;
    }
    public void setDatasetCode(String datasetCode) {
        this.datasetCode = datasetCode;
    }
    public String getMetadataCode() {
        return metadataCode;
    }
    public void setMetadataCode(String metadataCode) {
        this.metadataCode = metadataCode;
    }
    public String getIdentityCode() {
        return identityCode;
    }
    public void setIdentityCode(String identityCode) {
        this.identityCode = identityCode;
    }
}

+ 93 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/flow/CrawlerFlowModel.java

@ -0,0 +1,93 @@
package com.yihu.hos.rest.models.crawler.flow;
import com.yihu.hos.web.framework.model.Result;
import java.io.Serializable;
/**
 * 标准基本信息
 *
 * @created Airhead 2015/12/23.
 */
public class CrawlerFlowModel extends Result implements Serializable {
    private Integer id;
    private Integer schemeVersionId;
    private String datasetCode;
    private String metadataCode;
    private String inputDatasetCode;
    private String inputMetadataCode;
    private String inputMetadataCode2;
    private String inputDefaultValue;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public Integer getSchemeVersionId() {
        return schemeVersionId;
    }
    public void setSchemeVersionId(Integer schemeVersionId) {
        this.schemeVersionId = schemeVersionId;
    }
    public String getDatasetCode() {
        return datasetCode;
    }
    public void setDatasetCode(String datasetCode) {
        this.datasetCode = datasetCode;
    }
    public String getMetadataCode() {
        return metadataCode;
    }
    public void setMetadataCode(String metadataCode) {
        this.metadataCode = metadataCode;
    }
    public String getInputDatasetCode() {
        return inputDatasetCode;
    }
    public void setInputDatasetCode(String inputDatasetCode) {
        this.inputDatasetCode = inputDatasetCode;
    }
    public String getInputMetadataCode() {
        return inputMetadataCode;
    }
    public void setInputMetadataCode(String inputMetadataCode) {
        this.inputMetadataCode = inputMetadataCode;
    }
    public String getInputMetadataCode2() {
        return inputMetadataCode2;
    }
    public void setInputMetadataCode2(String inputMetadataCode2) {
        this.inputMetadataCode2 = inputMetadataCode2;
    }
    public String getInputDefaultValue() {
        return inputDefaultValue;
    }
    public void setInputDefaultValue(String inputDefaultValue) {
        this.inputDefaultValue = inputDefaultValue;
    }
}

+ 20 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/flow/resultModel/CrawlerDatasetResultDetailModel.java

@ -0,0 +1,20 @@
package com.yihu.hos.rest.models.crawler.flow.resultModel;
import com.yihu.hos.rest.models.crawler.flow.CrawlerDataSetModel;
/**
 * 任务编排数据集关联
 */
public class CrawlerDatasetResultDetailModel extends CrawlerDataSetModel implements java.io.Serializable {
	private String checked;
	public String getChecked() {
		return checked;
	}
	public void setChecked(String checked) {
		this.checked = checked;
	}
}

+ 22 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/flow/resultModel/CrawlerDatasetResultModel.java

@ -0,0 +1,22 @@
package com.yihu.hos.rest.models.crawler.flow.resultModel;
import com.yihu.hos.rest.models.standard.adapter.AdapterSchemeVersionModel;
import java.io.Serializable;
/**
 * @author HZY
 * @vsrsion 1.0
 * Created at 2016/4/27.
 */
public class CrawlerDatasetResultModel extends AdapterSchemeVersionModel implements Serializable {
    private String dataSets;
    public String getDataSets() {
        return dataSets;
    }
    public void setDataSets(String dataSets) {
        this.dataSets = dataSets;
    }
}

+ 30 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/flow/resultModel/FlowEntrance.java

@ -0,0 +1,30 @@
package com.yihu.hos.rest.models.crawler.flow.resultModel;
import java.io.Serializable;
/**
 *  编排入口
 * @author HZY
 * @vsrsion 1.0
 * Created at 2016/4/27.
 */
public class FlowEntrance implements Serializable {
    private String dataSet;
    private String meta;
    public String getDataSet() {
        return dataSet;
    }
    public void setDataSet(String dataSet) {
        this.dataSet = dataSet;
    }
    public String getMeta() {
        return meta;
    }
    public void setMeta(String meta) {
        this.meta = meta;
    }
}

+ 48 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/flow/resultModel/FlowLines.java

@ -0,0 +1,48 @@
package com.yihu.hos.rest.models.crawler.flow.resultModel;
import java.io.Serializable;
/**
 *  编排映射关系
 * @author HZY
 * @vsrsion 1.0
 * Created at 2016/4/27.
 */
public class FlowLines implements Serializable {
    private String from;
    private String to;
    private String fromPort;
    private String toPort;
    public String getFrom() {
        return from;
    }
    public void setFrom(String from) {
        this.from = from;
    }
    public String getTo() {
        return to;
    }
    public void setTo(String to) {
        this.to = to;
    }
    public String getFromPort() {
        return fromPort;
    }
    public void setFromPort(String fromPort) {
        this.fromPort = fromPort;
    }
    public String getToPort() {
        return toPort;
    }
    public void setToPort(String toPort) {
        this.toPort = toPort;
    }
}

+ 40 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/flow/resultModel/FlowMapping.java

@ -0,0 +1,40 @@
package com.yihu.hos.rest.models.crawler.flow.resultModel;
import java.io.Serializable;
import java.util.List;
/**
 * 适配方案映射数据类
 * @author HZY
 * @vsrsion 1.0
 * Created at 2016/4/28.
 */
public class FlowMapping implements Serializable {
    private List<FlowEntrance> entrances;
    private List<FlowLines> lines;
    private Integer schemeVersionId;
    public List<FlowEntrance> getEntrances() {
        return entrances;
    }
    public void setEntrances(List<FlowEntrance> entrances) {
        this.entrances = entrances;
    }
    public List<FlowLines> getLines() {
        return lines;
    }
    public void setLines(List<FlowLines> lines) {
        this.lines = lines;
    }
    public Integer getSchemeVersionId() {
        return schemeVersionId;
    }
    public void setSchemeVersionId(Integer schemeVersionId) {
        this.schemeVersionId = schemeVersionId;
    }
}

+ 47 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/flow/resultModel/MappingDataset.java

@ -0,0 +1,47 @@
package com.yihu.hos.rest.models.crawler.flow.resultModel;
import java.util.List;
/**
 * @author HZY
 * @vsrsion 1.0
 * Created at 2016/4/29.
 */
public class MappingDataset {
    private Integer id;
    private String code;
    private String name;
    private List<MappingMetadata> data;
    public List<MappingMetadata> getData() {
        return data;
    }
    public void setData(List<MappingMetadata> data) {
        this.data = data;
    }
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

+ 36 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/flow/resultModel/MappingMetadata.java

@ -0,0 +1,36 @@
package com.yihu.hos.rest.models.crawler.flow.resultModel;
/**
 * @author HZY
 * @vsrsion 1.0
 * Created at 2016/4/29.
 */
public class MappingMetadata {
    private Integer id;
    private String code;
    private String name;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

+ 103 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/patient/Patient.java

@ -0,0 +1,103 @@
package com.yihu.hos.rest.models.crawler.patient;
/**
 * @author Air
 * @version 1.0
 * @created 2015.08.14 10:12
 */
public class Patient {
    private String patientId;
    private String eventNo;
    private String localCardNo;
    private String idCard;
    private String orgCode;
    private String latestTime;
    private String referenceTime;
    private String reUploadFlg;
    private String jobTimeStamp;
    private String failType; //采集失败类型
    public Patient() {
    }
    public String getPatientId() {
        return patientId;
    }
    public void setPatientId(String patientId) {
        this.patientId = patientId;
    }
    public String getEventNo() {
        return eventNo;
    }
    public void setEventNo(String eventNo) {
        this.eventNo = eventNo;
    }
    public String getLocalCardNo() {
        return localCardNo;
    }
    public void setLocalCardNo(String localCardNo) {
        this.localCardNo = localCardNo;
    }
    public String getIdCard() {
        return idCard;
    }
    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }
    public String getOrgCode() {
        return orgCode;
    }
    public void setOrgCode(String orgCode) {
        this.orgCode = orgCode;
    }
    public String getLatestTime() {
        return latestTime;
    }
    public void setLatestTime(String latestTime) {
        this.latestTime = latestTime;
    }
    public String getReferenceTime() {
        return referenceTime;
    }
    public void setReferenceTime(String referenceTime) {
        this.referenceTime = referenceTime;
    }
    public String getJobTimeStamp() {
        return jobTimeStamp;
    }
    public void setJobTimeStamp(String jobTimeStamp) {
        this.jobTimeStamp = jobTimeStamp;
    }
    public String getReUploadFlg() {
        return reUploadFlg;
    }
    public void setReUploadFlg(String reUploadFlg) {
        this.reUploadFlg = reUploadFlg;
    }
    public String getFailType() {
        return failType;
    }
    public void setFailType(String failType) {
        this.failType = failType;
    }
}

+ 59 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/patient/PatientIdentity.java

@ -0,0 +1,59 @@
package com.yihu.hos.rest.models.crawler.patient;
import java.util.HashSet;
import java.util.Set;
/**
 * 病人身份标识
 * 病人ID, 事件号(门诊号,住院号等),卡号,身份证号
 * 目前使用的是病人ID和事件号
 *
 * @author Air
 * @version 1.0
 * @created 2015.06.16 16:29
 */
public class PatientIdentity {
    public static final String PATIENT_ID = "PATIENT_ID";
    public static final String LOCAL_CARD_NO = "CARD_NO";
    public static final String ID_CARD = "DE02_01_030_00";
    public static Set<String> EVENT_NO_SET = new HashSet<>();
    private String eventNoCode;
    private String refTimeCode;
    public PatientIdentity(String eventNoCode, String refTimeCode) {
        this.eventNoCode = eventNoCode;
        this.refTimeCode = refTimeCode;
        EVENT_NO_SET.add(eventNoCode);
    }
    public static String getPatientIDCode() {
        return PATIENT_ID;
    }
    public static String getLocalCardNoCode() {
        return LOCAL_CARD_NO;
    }
    public static String getIdCardCode() {
        return ID_CARD;
    }
    public static Set<String> getEventNoSet() {
        return EVENT_NO_SET;
    }
    public static void addEventNoCode(String eventNoCode) {
        EVENT_NO_SET.add(eventNoCode);
    }
    public String getEventNoCode() {
        return eventNoCode;
    }
    public String getRefTimeCode() {
        return refTimeCode;
    }
}

+ 110 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/patient/PatientIndex.java

@ -0,0 +1,110 @@
package com.yihu.hos.rest.models.crawler.patient;
/**
 * 病人摘要标识
 *
 *
 * @author HXY
 * @version 1.0
 * @created 2016.03.01 13:50
 */
public class PatientIndex {
    public static final String PATIENT_ID = "PATIENT_ID";
    private String eventNoCode;
    private String refTimeCode;
//    private String organization;
    private String officeCode;
    private String officeName;
    private String leaveTime;
    private String diagDataSet;
    private String diagCode;
    private String diagName;
    private String diagType;
    public PatientIndex() {
    }
    public String getDiagType() {
        return diagType;
    }
    public void setDiagType(String diagType) {
        this.diagType = diagType;
    }
    public static String getPatientId() {
        return PATIENT_ID;
    }
    public String getEventNoCode() {
        return eventNoCode;
    }
    public void setEventNoCode(String eventNoCode) {
        this.eventNoCode = eventNoCode;
    }
    public String getRefTimeCode() {
        return refTimeCode;
    }
    public void setRefTimeCode(String refTimeCode) {
        this.refTimeCode = refTimeCode;
    }
//    public String getOrganization() {
//        return organization;
//    }
//
//    public void setOrganization(String organization) {
//        this.organization = organization;
//    }
    public String getOfficeCode() {
        return officeCode;
    }
    public void setOfficeCode(String officeCode) {
        this.officeCode = officeCode;
    }
    public String getOfficeName() {
        return officeName;
    }
    public void setOfficeName(String officeName) {
        this.officeName = officeName;
    }
    public String getLeaveTime() {
        return leaveTime;
    }
    public void setLeaveTime(String leaveTime) {
        this.leaveTime = leaveTime;
    }
    public String getDiagDataSet() {
        return diagDataSet;
    }
    public void setDiagDataSet(String diagDataSet) {
        this.diagDataSet = diagDataSet;
    }
    public String getDiagCode() {
        return diagCode;
    }
    public void setDiagCode(String diagCode) {
        this.diagCode = diagCode;
    }
    public String getDiagName() {
        return diagName;
    }
    public void setDiagName(String diagName) {
        this.diagName = diagName;
    }
}

+ 40 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/standard/StdDict.java

@ -0,0 +1,40 @@
package com.yihu.hos.rest.models.crawler.standard;
import com.yihu.hos.rest.common.format.AdapterBase;
import com.yihu.hos.rest.models.standard.standard.StdDictionaryEntryModel;
import com.yihu.hos.rest.models.standard.standard.StdDictionaryModel;
/**
 * @author Air
 * @version 1.0
 * @created 2015.08.11 15:25
 */
public class StdDict extends AdapterBase {
    private StdDictionaryModel stdDictT;
    public StdDict(StdDictionaryModel stdDictT) {
        this.stdDictT = stdDictT;
    }
    public StdDictionaryModel getStdDictT() {
        return stdDictT;
    }
    public String toValue(String code) {
        StdDictionaryEntryModel entryModel=getStdDictEntryService().getStEntryValueByCode(adapterVersion.getVersion(), stdDictT.getId(), code);
        if (entryModel==null){
            return null;
        }else {
            return entryModel.getValue();
        }
    }
    public String toCode(String value) {
        StdDictionaryEntryModel entryModel=getStdDictEntryService().getStEntryValueByCode(adapterVersion.getVersion(), stdDictT.getId(), value);
        if (entryModel==null){
            return null;
        }else {
            return entryModel.getCode();
        }
    }
}

+ 36 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/standard/StdMetaData.java

@ -0,0 +1,36 @@
package com.yihu.hos.rest.models.crawler.standard;
import com.yihu.hos.rest.common.format.AdapterBase;
import com.yihu.hos.rest.models.crawler.transform.DictDataType;
import com.yihu.hos.rest.models.standard.standard.StdMetaDataModel;
import static com.yihu.hos.rest.models.crawler.transform.MetaDataType.S2;
import static com.yihu.hos.rest.models.crawler.transform.MetaDataType.S3;
/**
 * @author Air
 * @version 1.0
 * @created 2015.08.11 15:25
 */
public class StdMetaData extends AdapterBase {
    private StdMetaDataModel stdMetaDataT;
    public StdMetaData(StdMetaDataModel stdMetaDataT) {
        this.stdMetaDataT = stdMetaDataT;
    }
    public StdMetaDataModel getStdMetaDataT() {
        return stdMetaDataT;
    }
    public DictDataType getDictDataType() {
        Integer dict = stdMetaDataT.getDictId();
        String type = stdMetaDataT.getType();
        int dictValueType;
        if (dict!=null && (type.equals(S2.name()) || type.equals(S3.name()))) {
            dictValueType = DictDataType.CODE.ordinal();
        } else {
            dictValueType = DictDataType.VALUE.ordinal();
        }
        return DictDataType.values()[dictValueType];
    }
}

+ 9 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/transform/DictDataType.java

@ -0,0 +1,9 @@
package com.yihu.hos.rest.models.crawler.transform;
/**
 * Created by Administrator on 2015/9/16.
 */
public enum DictDataType {
    VALUE, //值
    CODE //编码
}

+ 65 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/transform/EhrCondition.java

@ -0,0 +1,65 @@
package com.yihu.hos.rest.models.crawler.transform;
/**
 * 集成平台采集条件基类
 * Created by HZY on 2016/2/25.
 */
public class EhrCondition {
    private String andOr;
    private String field;
    private String condition;
    private String value;
    public EhrCondition(String condition, String field, String value){
        this.andOr=" AND ";
        this.field=field;
        this.condition=condition;
        this.value=value;
    }
    public void andQuery(String condition,String field,String value){
        this.andOr=" AND ";
        this.field=field;
        this.condition=condition;
        this.value=value;
    }
    public void orQuery(String condition,String field,String value){
        this.andOr=" OR ";
        this.field=field;
        this.condition=condition;
        this.value=value;
    }
    public String getAndOr() {
        return andOr;
    }
    public void setAndOr(String andOr) {
        this.andOr = andOr;
    }
    public String getField() {
        return field;
    }
    public void setField(String field) {
        this.field = field;
    }
    public String getCondition() {
        return condition;
    }
    public void setCondition(String condition) {
        this.condition = condition;
    }
    public String getValue() {
        return value;
    }
    public void setValue(String value) {
        this.value = value;
    }
}

+ 15 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/transform/IVerifier.java

@ -0,0 +1,15 @@
package com.yihu.hos.rest.models.crawler.transform;
/**
 * @author Airhead
 * @version 1.0
 * @created 22-5-2015 11:24:26
 */
public interface IVerifier {
    /**
     */
    boolean check();
    String getErrorInfo();
}

+ 12 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/transform/LogicValues.java

@ -0,0 +1,12 @@
package com.yihu.hos.rest.models.crawler.transform;
/**
 * Created by HZY on 2016/1/29.
 */
public class LogicValues {
    public static final String LOGIC_OK = "ok";
    public static final String LOGIC_NO = "no";
    public static final String LOGIC_TRUE = "true";
    public static final String LOGIC_FALSE = "false";
}

+ 45 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/transform/MetaDataType.java

@ -0,0 +1,45 @@
package com.yihu.hos.rest.models.crawler.transform;
/**
 * 数据元类型
 *
 * @created Created by Air on 2015/6/9.
 */
public enum MetaDataType {
    /**
     * 字符,不可枚举
     */
    S1,
    /**
     * 字符,枚举<=3个
     */
    S2,
    /**
     * 字符,代码表
     */
    S3,
    /**
     * 布尔,0(False),1(True)
     */
    L,
    /**
     * 数值,
     */
    N,
    /**
     * 日期
     */
    D,
    /**
     * 时间日期
     */
    DT,
    /**
     * 时间
     */
    T,
    /**
     * 二进制
     */
    BY
}

+ 37 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/transform/MetaDataVerify.java

@ -0,0 +1,37 @@
package com.yihu.hos.rest.models.crawler.transform;
import com.yihu.hos.rest.models.crawler.standard.StdMetaData;
/**
 * @author Airhead
 * @version 1.0
 * @created 22-5-2015 11:24:25
 */
public class MetaDataVerify implements IVerifier {
    private StdMetaData stdMetaData;
    private String value;
    private String errorInfo;
    public MetaDataVerify(StdMetaData stdMetaData, String value) {
        this.stdMetaData = stdMetaData;
        this.value = value;
    }
    public void finalize() throws Throwable {
    }
    /**
     * 目前不做任何数据校验
     * 必要时根据StdMetaData的type, format内容做校验
     */
    public boolean check() {
        return true;
    }
    @Override
    public String getErrorInfo() {
        return errorInfo;
    }
}//end MetaDataVerify

+ 21 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/transform/TransformType.java

@ -0,0 +1,21 @@
package com.yihu.hos.rest.models.crawler.transform;
/**
 * @created  Air on 2015/6/8.
 */
public enum TransformType {
    /**
     * 数据集
     */
    DATA_SET_JSON,
    DATA_SET_XML,
    /**
     * CDA
     */
    CDA_JSON,
    CDA_XML,
    /**
     * 非结构化
     */
    DOCUMENT,
}

+ 37 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/qlc/QLCResponseResult.java

@ -0,0 +1,37 @@
package com.yihu.hos.rest.models.qlc;
/**
 * Created by Administrator on 2016/4/25.
 */
public class QLCResponseResult {
    /**
     * 0:接口数据请求正常
     * ≠0:接口响应数据异常
     */
    private String status = "0";
    /**
     * 当出错的时候,返回出错的说明,如下:
     * {
     * "status": 1,
     * "statusInfo": "传入参数错误",
     * "data": []
     * }
     */
    private String statusInfo="推送数据成功";
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
    public String getStatusInfo() {
        return statusInfo;
    }
    public void setStatusInfo(String statusInfo) {
        this.statusInfo = statusInfo;
    }
}

+ 65 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/standard/SystemParam.java

@ -0,0 +1,65 @@
package com.yihu.hos.rest.models.standard;
/**
 * SystemParam entity. @author MyEclipse Persistence Tools
 */
public class SystemParam implements java.io.Serializable {
    // Fields
    private String id;
    private String paramKey;
    private String paramValue;
    private String remark;
    private String orgId;
    // Constructors
    /**
     * default constructor
     */
    public SystemParam() {
    }
    public String getParamKey() {
        return paramKey;
    }
    public void setParamKey(String paramKey) {
        this.paramKey = paramKey;
    }
    public String getParamValue() {
        return paramValue;
    }
    public void setParamValue(String paramValue) {
        this.paramValue = paramValue;
    }
    public String getId() {
        return this.id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getRemark() {
        return this.remark;
    }
    public void setRemark(String remark) {
        this.remark = remark;
    }
    public String getOrgId() {
        return this.orgId;
    }
    public void setOrgId(String orgId) {
        this.orgId = orgId;
    }
}

+ 98 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/standard/adapter/AdapterDatasetModel.java

@ -0,0 +1,98 @@
package com.yihu.hos.rest.models.standard.adapter;
import com.yihu.hos.web.framework.model.Result;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import java.io.Serializable;
/**
 * Created by lingfeng on 2015/9/16.
 */
public class AdapterDatasetModel extends Result implements Serializable {
    @Id
    @GeneratedValue(generator = "generator")
    @GenericGenerator(name = "generator", strategy = "increment")
    @Column(name = "id")
    private Integer id;
    @Column(name = "scheme_id")
    private Integer schemeId;
    @Column(name = "std_dataset_id")
    private Integer stdDatasetId;
    @Column(name = "std_dataset_code")
    private String stdDatasetCode;
    @Column(name = "std_dataset_name")
    private String stdDatasetName;
    @Column(name = "adapter_dataset_id")
    private Integer adapterDatasetId;
    @Column(name = "adapter_dataset_code")
    private String adapterDatasetCode;
    @Column(name = "adapter_dataset_name")
    private String adapterDatasetName;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public Integer getSchemeId() {
        return schemeId;
    }
    public void setSchemeId(Integer schemeId) {
        this.schemeId = schemeId;
    }
    public Integer getStdDatasetId() {
        return stdDatasetId;
    }
    public void setStdDatasetId(Integer stdDatasetId) {
        this.stdDatasetId = stdDatasetId;
    }
    public String getStdDatasetCode() {
        return stdDatasetCode;
    }
    public void setStdDatasetCode(String stdDatasetCode) {
        this.stdDatasetCode = stdDatasetCode;
    }
    public String getStdDatasetName() {
        return stdDatasetName;
    }
    public void setStdDatasetName(String stdDatasetName) {
        this.stdDatasetName = stdDatasetName;
    }
    public Integer getAdapterDatasetId() {
        return adapterDatasetId;
    }
    public void setAdapterDatasetId(Integer adapterDatasetId) {
        this.adapterDatasetId = adapterDatasetId;
    }
    public String getAdapterDatasetCode() {
        return adapterDatasetCode;
    }
    public void setAdapterDatasetCode(String adapterDatasetCode) {
        this.adapterDatasetCode = adapterDatasetCode;
    }
    public String getAdapterDatasetName() {
        return adapterDatasetName;
    }
    public void setAdapterDatasetName(String adapterDatasetName) {
        this.adapterDatasetName = adapterDatasetName;
    }
}

+ 68 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/standard/adapter/AdapterDatasetRelationModel.java

@ -0,0 +1,68 @@
package com.yihu.hos.rest.models.standard.adapter;
import com.yihu.hos.web.framework.model.Result;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import java.io.Serializable;
/**
 * Created by lingfeng on 2015/9/16.
 */
public class AdapterDatasetRelationModel extends Result implements Serializable {
    @Id
    @GeneratedValue(generator = "generator")
    @GenericGenerator(name = "generator", strategy = "increment")
    @Column(name = "id")
    private Integer id;
    @Column(name = "scheme_id")
    private Integer schemeId;
    @Column(name = "master_dataset_id")
    private Integer masterdatasetId;
    @Column(name = "master_metadata_id")
    private Integer masterMetadataId;
    @Column(name = "foreign_metadata_id")
    private Integer foreignMetadataId;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public Integer getSchemeId() {
        return schemeId;
    }
    public void setSchemeId(Integer schemeId) {
        this.schemeId = schemeId;
    }
    public Integer getMasterdatasetId() {
        return masterdatasetId;
    }
    public void setMasterdatasetId(Integer masterdatasetId) {
        this.masterdatasetId = masterdatasetId;
    }
    public Integer getMasterMetadataId() {
        return masterMetadataId;
    }
    public void setMasterMetadataId(Integer masterMetadataId) {
        this.masterMetadataId = masterMetadataId;
    }
    public Integer getForeignMetadataId() {
        return foreignMetadataId;
    }
    public void setForeignMetadataId(Integer foreignMetadataId) {
        this.foreignMetadataId = foreignMetadataId;
    }
}

+ 118 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/standard/adapter/AdapterDictEntryModel.java

@ -0,0 +1,118 @@
package com.yihu.hos.rest.models.standard.adapter;
import com.yihu.hos.web.framework.model.Result;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import java.io.Serializable;
/**
 * Created by lingfeng on 2015/9/16.
 */
public class AdapterDictEntryModel extends Result implements Serializable {
    @Id
    @GeneratedValue(generator = "generator")
    @GenericGenerator(name = "generator", strategy = "increment")
    @Column(name = "id")
    private Integer id;
    @Column(name = "scheme_id")
    private Integer schemeId;
    @Column(name = "std_dict_id")
    private Integer stdDictId;
    @Column(name = "std_entry_id")
    private Integer stdEntryId;
    @Column(name = "std_entry_code")
    private String stdEntryCode;
    @Column(name = "std_entry_value")
    private String stdEntryValue;
    @Column(name = "adapter_dict_id")
    private Integer adapterDictId;
    @Column(name = "adapter_entry_id")
    private Integer adapterEntryId;
    @Column(name = "adapter_entry_code")
    private String adapterEntryCode;
    @Column(name = "adapter_entry_value")
    private String adapterEntryValue;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public Integer getSchemeId() {
        return schemeId;
    }
    public void setSchemeId(Integer schemeId) {
        this.schemeId = schemeId;
    }
    public Integer getStdDictId() {
        return stdDictId;
    }
    public void setStdDictId(Integer stdDictId) {
        this.stdDictId = stdDictId;
    }
    public Integer getStdEntryId() {
        return stdEntryId;
    }
    public void setStdEntryId(Integer stdEntryId) {
        this.stdEntryId = stdEntryId;
    }
    public String getStdEntryCode() {
        return stdEntryCode;
    }
    public void setStdEntryCode(String stdEntryCode) {
        this.stdEntryCode = stdEntryCode;
    }
    public String getStdEntryValue() {
        return stdEntryValue;
    }
    public void setStdEntryValue(String stdEntryValue) {
        this.stdEntryValue = stdEntryValue;
    }
    public Integer getAdapterDictId() {
        return adapterDictId;
    }
    public void setAdapterDictId(Integer adapterDictId) {
        this.adapterDictId = adapterDictId;
    }
    public Integer getAdapterEntryId() {
        return adapterEntryId;
    }
    public void setAdapterEntryId(Integer adapterEntryId) {
        this.adapterEntryId = adapterEntryId;
    }
    public String getAdapterEntryCode() {
        return adapterEntryCode;
    }
    public void setAdapterEntryCode(String adapterEntryCode) {
        this.adapterEntryCode = adapterEntryCode;
    }
    public String getAdapterEntryValue() {
        return adapterEntryValue;
    }
    public void setAdapterEntryValue(String adapterEntryValue) {
        this.adapterEntryValue = adapterEntryValue;
    }
}

+ 98 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/standard/adapter/AdapterDictModel.java

@ -0,0 +1,98 @@
package com.yihu.hos.rest.models.standard.adapter;
import com.yihu.hos.web.framework.model.Result;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import java.io.Serializable;
/**
 * Created by lingfeng on 2015/9/16.
 */
public class AdapterDictModel extends Result implements Serializable {
    @Id
    @GeneratedValue(generator = "generator")
    @GenericGenerator(name = "generator", strategy = "increment")
    @Column(name = "id")
    private Integer id;
    @Column(name = "scheme_id")
    private Integer schemeId;
    @Column(name = "std_dict_id")
    private Integer stdDictId;
    @Column(name = "std_dict_code")
    private String stdDictCode;
    @Column(name = "std_dict_name")
    private String stdDictName;
    @Column(name = "adapter_dict_id")
    private Integer adapterDictId;
    @Column(name = "adapter_dict_code")
    private String adapterDictCode;
    @Column(name = "adapter_dict_name")
    private String adapterDictName;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public Integer getSchemeId() {
        return schemeId;
    }
    public void setSchemeId(Integer schemeId) {
        this.schemeId = schemeId;
    }
    public Integer getStdDictId() {
        return stdDictId;
    }
    public void setStdDictId(Integer stdDictId) {
        this.stdDictId = stdDictId;
    }
    public String getStdDictCode() {
        return stdDictCode;
    }
    public void setStdDictCode(String stdDictCode) {
        this.stdDictCode = stdDictCode;
    }
    public String getStdDictName() {
        return stdDictName;
    }
    public void setStdDictName(String stdDictName) {
        this.stdDictName = stdDictName;
    }
    public Integer getAdapterDictId() {
        return adapterDictId;
    }
    public void setAdapterDictId(Integer adapterDictId) {
        this.adapterDictId = adapterDictId;
    }
    public String getAdapterDictCode() {
        return adapterDictCode;
    }
    public void setAdapterDictCode(String adapterDictCode) {
        this.adapterDictCode = adapterDictCode;
    }
    public String getAdapterDictName() {
        return adapterDictName;
    }
    public void setAdapterDictName(String adapterDictName) {
        this.adapterDictName = adapterDictName;
    }
}

+ 148 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/standard/adapter/AdapterMetadataModel.java

@ -0,0 +1,148 @@
package com.yihu.hos.rest.models.standard.adapter;
import com.yihu.hos.web.framework.model.Result;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import java.io.Serializable;
/**
 * Created by lingfeng on 2015/9/16.
 */
public class AdapterMetadataModel extends Result implements Serializable {
    @Id
    @GeneratedValue(generator = "generator")
    @GenericGenerator(name = "generator", strategy = "increment")
    @Column(name = "id")
    private Integer id;
    @Column(name = "scheme_id")
    private Integer schemeId;
    @Column(name = "std_dataset_id")
    private Integer stdDatasetId;
    @Column(name = "std_metadata_id")
    private Integer stdMetadataId;
    @Column(name = "std_metadata_code")
    private String stdMetadataCode;
    @Column(name = "std_metadata_name")
    private String stdMetadataName;
    @Column(name = "std_dict_id")
    private Integer stdDictId;
    @Column(name = "adapter_dataset_id")
    private Integer adapterDatasetId;
    @Column(name = "adapter_metadata_id")
    private Integer adapterMetadataId;
    @Column(name = "adapter_metadata_code")
    private String adapterMetadataCode;
    @Column(name = "adapter_metadata_name")
    private String adapterMetadataName;
    @Column(name = "adapter_data_type")
    private Integer adapterDataType;
    @Column(name = "adapter_dict_id")
    private Integer adapterDictId;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public Integer getSchemeId() {
        return schemeId;
    }
    public void setSchemeId(Integer schemeId) {
        this.schemeId = schemeId;
    }
    public Integer getStdDatasetId() {
        return stdDatasetId;
    }
    public void setStdDatasetId(Integer stdDatasetId) {
        this.stdDatasetId = stdDatasetId;
    }
    public Integer getStdMetadataId() {
        return stdMetadataId;
    }
    public void setStdMetadataId(Integer stdMetadataId) {
        this.stdMetadataId = stdMetadataId;
    }
    public String getStdMetadataCode() {
        return stdMetadataCode;
    }
    public void setStdMetadataCode(String stdMetadataCode) {
        this.stdMetadataCode = stdMetadataCode;
    }
    public String getStdMetadataName() {
        return stdMetadataName;
    }
    public void setStdMetadataName(String stdMetadataName) {
        this.stdMetadataName = stdMetadataName;
    }
    public Integer getStdDictId() {
        return stdDictId;
    }
    public void setStdDictId(Integer stdDictId) {
        this.stdDictId = stdDictId;
    }
    public Integer getAdapterDatasetId() {
        return adapterDatasetId;
    }
    public void setAdapterDatasetId(Integer adapterDatasetId) {
        this.adapterDatasetId = adapterDatasetId;
    }
    public Integer getAdapterMetadataId() {
        return adapterMetadataId;
    }
    public void setAdapterMetadataId(Integer adapterMetadataId) {
        this.adapterMetadataId = adapterMetadataId;
    }
    public String getAdapterMetadataCode() {
        return adapterMetadataCode;
    }
    public void setAdapterMetadataCode(String adapterMetadataCode) {
        this.adapterMetadataCode = adapterMetadataCode;
    }
    public String getAdapterMetadataName() {
        return adapterMetadataName;
    }
    public void setAdapterMetadataName(String adapterMetadataName) {
        this.adapterMetadataName = adapterMetadataName;
    }
    public Integer getAdapterDataType() {
        return adapterDataType;
    }
    public void setAdapterDataType(Integer adapterDataType) {
        this.adapterDataType = adapterDataType;
    }
    public Integer getAdapterDictId() {
        return adapterDictId;
    }
    public void setAdapterDictId(Integer adapterDictId) {
        this.adapterDictId = adapterDictId;
    }
}

+ 52 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/standard/adapter/AdapterSchemeDispatchModel.java

@ -0,0 +1,52 @@
package com.yihu.hos.rest.models.standard.adapter;
import com.yihu.hos.web.framework.model.Result;
import java.io.Serializable;
/**
 * 标准版本模型
 *
 * @Created by lingfeng 2015/12/23.
 */
public class AdapterSchemeDispatchModel extends Result implements Serializable {
    private Integer id;
    private Integer schemeId;
    private String orgCode;
    private String orgName;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public Integer getSchemeId() {
        return schemeId;
    }
    public void setSchemeId(Integer schemeId) {
        this.schemeId = schemeId;
    }
    public String getOrgCode() {
        return orgCode;
    }
    public void setOrgCode(String orgCode) {
        this.orgCode = orgCode;
    }
    public String getOrgName() {
        return orgName;
    }
    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }
}

+ 122 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/standard/adapter/AdapterSchemeModel.java

@ -0,0 +1,122 @@
package com.yihu.hos.rest.models.standard.adapter;
import com.yihu.hos.web.framework.model.Result;
import java.io.Serializable;
/**
 * 标准版本模型
 *
 * @Created by lingfeng 2015/12/23.
 */
public class AdapterSchemeModel extends Result implements Serializable {
    private Integer id;
    private Integer parentId;
    private String name;
    private String type;
    private String description;
    private Integer status;
    private Integer stdId;
    private String stdVersion;
    private Integer adapterStdId;
    private String adapterStdVersion;
    private String adapterPublisherOrgCode;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public Integer getParentId() {
        return parentId;
    }
    public void setParentId(Integer parentId) {
        this.parentId = parentId;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public Integer getStatus() {
        return status;
    }
    public void setStatus(Integer status) {
        this.status = status;
    }
    public Integer getStdId() {
        return stdId;
    }
    public void setStdId(Integer stdId) {
        this.stdId = stdId;
    }
    public String getStdVersion() {
        return stdVersion;
    }
    public void setStdVersion(String stdVersion) {
        this.stdVersion = stdVersion;
    }
    public Integer getAdapterStdId() {
        return adapterStdId;
    }
    public void setAdapterStdId(Integer adapterStdId) {
        this.adapterStdId = adapterStdId;
    }
    public String getAdapterStdVersion() {
        return adapterStdVersion;
    }
    public void setAdapterStdVersion(String adapterStdVersion) {
        this.adapterStdVersion = adapterStdVersion;
    }
    public String getAdapterPublisherOrgCode() {
        return adapterPublisherOrgCode;
    }
    public void setAdapterPublisherOrgCode(String adapterPublisherOrgCode) {
        this.adapterPublisherOrgCode = adapterPublisherOrgCode;
    }
}

+ 107 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/standard/adapter/AdapterSchemeVersionModel.java

@ -0,0 +1,107 @@
package com.yihu.hos.rest.models.standard.adapter;
import com.yihu.hos.web.framework.model.Result;
import java.io.Serializable;
import java.util.Date;
/**
 * 标准版本模型
 *
 * @created lingfeng 2015/12/23.
 */
public class AdapterSchemeVersionModel extends Result implements Serializable {
    private Integer id;
    private Integer schemeId;
    private String name;
    private String version;
    private Date publishTime;
    private String publishUser;
    private String baseVersion;
    private Integer publishStatus;
    private String path;
    public AdapterSchemeVersionModel(){
    }
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public Integer getSchemeId() {
        return schemeId;
    }
    public void setSchemeId(Integer schemeId) {
        this.schemeId = schemeId;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getVersion() {
        return version;
    }
    public void setVersion(String version) {
        this.version = version;
    }
    public Date getPublishTime() {
        return publishTime;
    }
    public void setPublishTime(Date publishTime) {
        this.publishTime = publishTime;
    }
    public String getBaseVersion() {
        return baseVersion;
    }
    public void setBaseVersion(String baseVersion) {
        this.baseVersion = baseVersion;
    }
    public Integer getPublishStatus() {
        return publishStatus;
    }
    public void setPublishStatus(Integer publishStatus) {
        this.publishStatus = publishStatus;
    }
    public String getPath() {
        return path;
    }
    public void setPath(String path) {
        this.path = path;
    }
    public String getPublishUser() {
        return publishUser;
    }
    public void setPublishUser(String publishUser) {
        this.publishUser = publishUser;
    }
}

+ 115 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/standard/adapter/resultModel/AdapterDictEntryResultDetailModel.java

@ -0,0 +1,115 @@
package com.yihu.hos.rest.models.standard.adapter.resultModel;
/**
 * Created by lingfeng on 2015/9/16.
 */
public class AdapterDictEntryResultDetailModel {
    private Integer id;
    private Integer schemeId;
    private Integer stdDictId;
    private Integer stdEntryId;
    private String stdEntryCode;
    private String stdEntryValue;
    private Integer adapterDictId;
    private Integer adapterEntryId;
    private String adapterEntryCode;
    private String adapterEntryValue;
    private String adapterDictCode;
    private String adapterDictName;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public Integer getSchemeId() {
        return schemeId;
    }
    public void setSchemeId(Integer schemeId) {
        this.schemeId = schemeId;
    }
    public Integer getStdDictId() {
        return stdDictId;
    }
    public void setStdDictId(Integer stdDictId) {
        this.stdDictId = stdDictId;
    }
    public Integer getStdEntryId() {
        return stdEntryId;
    }
    public void setStdEntryId(Integer stdEntryId) {
        this.stdEntryId = stdEntryId;
    }
    public String getStdEntryCode() {
        return stdEntryCode;
    }
    public void setStdEntryCode(String stdEntryCode) {
        this.stdEntryCode = stdEntryCode;
    }
    public String getStdEntryValue() {
        return stdEntryValue;
    }
    public void setStdEntryValue(String stdEntryValue) {
        this.stdEntryValue = stdEntryValue;
    }
    public Integer getAdapterDictId() {
        return adapterDictId;
    }
    public void setAdapterDictId(Integer adapterDictId) {
        this.adapterDictId = adapterDictId;
    }
    public Integer getAdapterEntryId() {
        return adapterEntryId;
    }
    public void setAdapterEntryId(Integer adapterEntryId) {
        this.adapterEntryId = adapterEntryId;
    }
    public String getAdapterEntryCode() {
        return adapterEntryCode;
    }
    public void setAdapterEntryCode(String adapterEntryCode) {
        this.adapterEntryCode = adapterEntryCode;
    }
    public String getAdapterEntryValue() {
        return adapterEntryValue;
    }
    public void setAdapterEntryValue(String adapterEntryValue) {
        this.adapterEntryValue = adapterEntryValue;
    }
    public String getAdapterDictCode() {
        return adapterDictCode;
    }
    public void setAdapterDictCode(String adapterDictCode) {
        this.adapterDictCode = adapterDictCode;
    }
    public String getAdapterDictName() {
        return adapterDictName;
    }
    public void setAdapterDictName(String adapterDictName) {
        this.adapterDictName = adapterDictName;
    }
}

+ 133 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/standard/adapter/resultModel/AdapterMetadataResultDetailModel.java

@ -0,0 +1,133 @@
package com.yihu.hos.rest.models.standard.adapter.resultModel;
/**
 * Created by lingfeng on 2015/9/16.
 */
public class AdapterMetadataResultDetailModel {
    private Integer id;
    private Integer schemeId;
    private Integer stdDatasetId;
    private Integer stdMetadataId;
    private String stdMetadataCode;
    private String stdMetadataName;
    private Integer stdDictId;
    private Integer adapterDatasetId;
    private Integer adapterMetadataId;
    private String adapterMetadataCode;
    private String adapterMetadataName;
    private Integer adapterDataType;
    private String adapterMetadataType;
    private Integer adapterDictId;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public Integer getSchemeId() {
        return schemeId;
    }
    public void setSchemeId(Integer schemeId) {
        this.schemeId = schemeId;
    }
    public Integer getStdDatasetId() {
        return stdDatasetId;
    }
    public void setStdDatasetId(Integer stdDatasetId) {
        this.stdDatasetId = stdDatasetId;
    }
    public Integer getStdMetadataId() {
        return stdMetadataId;
    }
    public void setStdMetadataId(Integer stdMetadataId) {
        this.stdMetadataId = stdMetadataId;
    }
    public String getStdMetadataCode() {
        return stdMetadataCode;
    }
    public void setStdMetadataCode(String stdMetadataCode) {
        this.stdMetadataCode = stdMetadataCode;
    }
    public String getStdMetadataName() {
        return stdMetadataName;
    }
    public void setStdMetadataName(String stdMetadataName) {
        this.stdMetadataName = stdMetadataName;
    }
    public Integer getStdDictId() {
        return stdDictId;
    }
    public void setStdDictId(Integer stdDictId) {
        this.stdDictId = stdDictId;
    }
    public Integer getAdapterDatasetId() {
        return adapterDatasetId;
    }
    public void setAdapterDatasetId(Integer adapterDatasetId) {
        this.adapterDatasetId = adapterDatasetId;
    }
    public Integer getAdapterMetadataId() {
        return adapterMetadataId;
    }
    public void setAdapterMetadataId(Integer adapterMetadataId) {
        this.adapterMetadataId = adapterMetadataId;
    }
    public String getAdapterMetadataCode() {
        return adapterMetadataCode;
    }
    public void setAdapterMetadataCode(String adapterMetadataCode) {
        this.adapterMetadataCode = adapterMetadataCode;
    }
    public String getAdapterMetadataName() {
        return adapterMetadataName;
    }
    public void setAdapterMetadataName(String adapterMetadataName) {
        this.adapterMetadataName = adapterMetadataName;
    }
    public Integer getAdapterDataType() {
        return adapterDataType;
    }
    public void setAdapterDataType(Integer adapterDataType) {
        this.adapterDataType = adapterDataType;
    }
    public Integer getAdapterDictId() {
        return adapterDictId;
    }
    public void setAdapterDictId(Integer adapterDictId) {
        this.adapterDictId = adapterDictId;
    }
    public String getAdapterMetadataType() {
        return adapterMetadataType;
    }
    public void setAdapterMetadataType(String adapterMetadataType) {
        this.adapterMetadataType = adapterMetadataType;
    }
}

+ 144 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/standard/adapter/resultModel/AdapterSchemeResultDetailModel.java

@ -0,0 +1,144 @@
package com.yihu.hos.rest.models.standard.adapter.resultModel;
import com.yihu.hos.rest.models.standard.adapter.AdapterSchemeVersionModel;
import java.io.Serializable;
import java.util.List;
public class AdapterSchemeResultDetailModel implements Serializable {
    String id;
    String pid;
    String name;
    Integer status;
    String stdName;
    String stdVersionName;
    String stdVersion;
    String publisher;
    String adapterName;
    String adapterVersionName;
    String adapterStdVersion;
    String version;
    Integer type;
    String date;
    List<AdapterSchemeVersionModel> versionList;
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getPid() {
        return pid;
    }
    public void setPid(String pid) {
        this.pid = pid;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getStatus() {
        return status;
    }
    public void setStatus(Integer status) {
        this.status = status;
    }
    public String getStdName() {
        return stdName;
    }
    public void setStdName(String stdName) {
        this.stdName = stdName;
    }
    public String getStdVersionName() {
        return stdVersionName;
    }
    public void setStdVersionName(String stdVersionName) {
        this.stdVersionName = stdVersionName;
    }
    public String getPublisher() {
        return publisher;
    }
    public void setPublisher(String publisher) {
        this.publisher = publisher;
    }
    public String getAdapterName() {
        return adapterName;
    }
    public void setAdapterName(String adapterName) {
        this.adapterName = adapterName;
    }
    public String getAdapterVersionName() {
        return adapterVersionName;
    }
    public void setAdapterVersionName(String adapterVersionName) {
        this.adapterVersionName = adapterVersionName;
    }
    public Integer getType() {
        return type;
    }
    public void setType(Integer type) {
        this.type = type;
    }
    public String getDate() {
        return date;
    }
    public void setDate(String date) {
        this.date = date;
    }
    public String getVersion() {
        return version;
    }
    public void setVersion(String version) {
        this.version = version;
    }
    public String getStdVersion() {
        return stdVersion;
    }
    public void setStdVersion(String stdVersion) {
        this.stdVersion = stdVersion;
    }
    public String getAdapterStdVersion() {
        return adapterStdVersion;
    }
    public void setAdapterStdVersion(String adapterStdVersion) {
        this.adapterStdVersion = adapterStdVersion;
    }
    public List<AdapterSchemeVersionModel> getVersionList() {
        return versionList;
    }
    public void setVersionList(List<AdapterSchemeVersionModel> versionList) {
        this.versionList = versionList;
    }
}

+ 42 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/standard/adapter/resultModel/AdapterSchemeResultModel.java

@ -0,0 +1,42 @@
package com.yihu.hos.rest.models.standard.adapter.resultModel;
import com.yihu.hos.rest.models.standard.adapter.AdapterSchemeVersionModel;
import java.util.List;
/**
 * 任务编排列表
 * @author HZY
 * @vsrsion 1.0
 * Created at 2016/4/27.
 */
public class AdapterSchemeResultModel {
    private Integer schemeId;
    private String name;
    List<AdapterSchemeVersionModel> versionList;
    public Integer getSchemeId() {
        return schemeId;
    }
    public void setSchemeId(Integer schemeId) {
        this.schemeId = schemeId;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public List<AdapterSchemeVersionModel> getVersionList() {
        return versionList;
    }
    public void setVersionList(List<AdapterSchemeVersionModel> versionList) {
        this.versionList = versionList;
    }
}

+ 105 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/standard/adapter/resultModel/AdapterSchemeVersionResultDetailModel.java

@ -0,0 +1,105 @@
package com.yihu.hos.rest.models.standard.adapter.resultModel;
import java.util.Date;
/**
 * 标准版本模型
 *
 * @created lingfeng 2015/12/23.
 */
public class AdapterSchemeVersionResultDetailModel {
    private Integer id;
    private Integer schemeId;
    private String name;
    private String schemeName;
    private String version;
    private Date publishTime;
    private String publishUser;
    private String baseVersion;
    private Integer publishStatus;
    private String path;
    public AdapterSchemeVersionResultDetailModel(){
    }
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public Integer getSchemeId() {
        return schemeId;
    }
    public void setSchemeId(Integer schemeId) {
        this.schemeId = schemeId;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getSchemeName() {
        return schemeName;
    }
    public void setSchemeName(String schemeName) {
        this.schemeName = schemeName;
    }
    public String getVersion() {
        return version;
    }
    public void setVersion(String version) {
        this.version = version;
    }
    public Date getPublishTime() {
        return publishTime;
    }
    public void setPublishTime(Date publishTime) {
        this.publishTime = publishTime;
    }
    public String getPublishUser() {
        return publishUser;
    }
    public void setPublishUser(String publishUser) {
        this.publishUser = publishUser;
    }
    public String getBaseVersion() {
        return baseVersion;
    }
    public void setBaseVersion(String baseVersion) {
        this.baseVersion = baseVersion;
    }
    public Integer getPublishStatus() {
        return publishStatus;
    }
    public void setPublishStatus(Integer publishStatus) {
        this.publishStatus = publishStatus;
    }
    public String getPath() {
        return path;
    }
    public void setPath(String path) {
        this.path = path;
    }
}

+ 142 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/standard/adapter/resultModel/ApiMetadataResultDetailModel.java

@ -0,0 +1,142 @@
package com.yihu.hos.rest.models.standard.adapter.resultModel;
/**
 * Created by lingfeng on 2015/9/18.
 */
public class ApiMetadataResultDetailModel {
    private Integer id;
    private Integer schemeId;
    private Integer stdDatasetId;
    private Integer stdMetadataId;
    private String stdMetadataCode;
    private String stdMetadataName;
    private Integer stdDictId;
    private Integer adapterDatasetId;
    private Integer adapterMetadataId;
    private String adapterMetadataCode;
    private String adapterMetadataName;
    private Integer adapterDataType;
    private String adapterDatasetCode;
    private String adapterDatasetName;
    private Integer adapterDictId;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public Integer getSchemeId() {
        return schemeId;
    }
    public void setSchemeId(Integer schemeId) {
        this.schemeId = schemeId;
    }
    public Integer getStdDatasetId() {
        return stdDatasetId;
    }
    public void setStdDatasetId(Integer stdDatasetId) {
        this.stdDatasetId = stdDatasetId;
    }
    public Integer getStdMetadataId() {
        return stdMetadataId;
    }
    public void setStdMetadataId(Integer stdMetadataId) {
        this.stdMetadataId = stdMetadataId;
    }
    public String getStdMetadataCode() {
        return stdMetadataCode;
    }
    public void setStdMetadataCode(String stdMetadataCode) {
        this.stdMetadataCode = stdMetadataCode;
    }
    public String getStdMetadataName() {
        return stdMetadataName;
    }
    public void setStdMetadataName(String stdMetadataName) {
        this.stdMetadataName = stdMetadataName;
    }
    public Integer getStdDictId() {
        return stdDictId;
    }
    public void setStdDictId(Integer stdDictId) {
        this.stdDictId = stdDictId;
    }
    public Integer getAdapterDatasetId() {
        return adapterDatasetId;
    }
    public void setAdapterDatasetId(Integer adapterDatasetId) {
        this.adapterDatasetId = adapterDatasetId;
    }
    public Integer getAdapterMetadataId() {
        return adapterMetadataId;
    }
    public void setAdapterMetadataId(Integer adapterMetadataId) {
        this.adapterMetadataId = adapterMetadataId;
    }
    public String getAdapterMetadataCode() {
        return adapterMetadataCode;
    }
    public void setAdapterMetadataCode(String adapterMetadataCode) {
        this.adapterMetadataCode = adapterMetadataCode;
    }
    public String getAdapterMetadataName() {
        return adapterMetadataName;
    }
    public void setAdapterMetadataName(String adapterMetadataName) {
        this.adapterMetadataName = adapterMetadataName;
    }
    public Integer getAdapterDataType() {
        return adapterDataType;
    }
    public void setAdapterDataType(Integer adapterDataType) {
        this.adapterDataType = adapterDataType;
    }
    public Integer getAdapterDictId() {
        return adapterDictId;
    }
    public void setAdapterDictId(Integer adapterDictId) {
        this.adapterDictId = adapterDictId;
    }
    public String getAdapterDatasetCode() {
        return adapterDatasetCode;
    }
    public void setAdapterDatasetCode(String adapterDatasetCode) {
        this.adapterDatasetCode = adapterDatasetCode;
    }
    public String getAdapterDatasetName() {
        return adapterDatasetName;
    }
    public void setAdapterDatasetName(String adapterDatasetName) {
        this.adapterDatasetName = adapterDatasetName;
    }
}

+ 51 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/standard/bo/AdapterVersion.java

@ -0,0 +1,51 @@
package com.yihu.hos.rest.models.standard.bo;
import com.yihu.hos.web.framework.constrant.SqlConstants;
public class AdapterVersion {
    public static final String FBVersion = "000000000000";
    public final static String DataSetTablePrefix = "adapter_dataset";
    public final static String MetaDataTablePrefix = "adapter_metadata";
    public final static String DictTablePrefix = "adapter_dict";
    public final static String DictEntryTablePrefix = "adapter_dictentry";
    public final static String DatasetRelationTablePrefix = "adapter_dataset_relation";
    private ObjectVersion version;
    public AdapterVersion(String version) {
        this.version = new ObjectVersion(version);
    }
    public static AdapterVersion generateVersion() {
        ObjectVersion objectVersion = new ObjectVersion();
        return new AdapterVersion(objectVersion.toString());
    }
    public String getDataSetTableName() {
        return DataSetTablePrefix + SqlConstants.UNDERLINE + version;
    }
    public String getMetaDataTableName() {
        return MetaDataTablePrefix + SqlConstants.UNDERLINE + version;
    }
    public String getDictTableName() {
        return DictTablePrefix + SqlConstants.UNDERLINE + version;
    }
    public String getDictEntryTableName() {
        return DictEntryTablePrefix + SqlConstants.UNDERLINE + version;
    }
    public String getDatasetRelationTableName() {
        return DatasetRelationTablePrefix + SqlConstants.UNDERLINE + version;
    }
    public String getVersion() {
        return version.toString();
    }
    public void finalize() throws Throwable {
    }
}

+ 184 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/standard/bo/ObjectVersion.java

@ -0,0 +1,184 @@
package com.yihu.hos.rest.models.standard.bo;
import java.io.Serializable;
import java.security.SecureRandom;
import java.util.Date;
import java.util.concurrent.atomic.AtomicInteger;
/**
 * @author HZY
 * @vsrsion 1.0
 * Created at 2016/8/8.
 */
public final class ObjectVersion implements Comparable<ObjectVersion>, Serializable {
    private static final long serialVersionUID = 789056789654456072L;
    private static final int BYTE_ARRAY_LENGTH = 6;
    private static final AtomicInteger NEXT_COUNTER = new AtomicInteger((new SecureRandom()).nextInt());
    private static final char[] HEX_CHARS = new char[]{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
    private final int timestamp;
    private final short counter;
    public static boolean isValid(String hexString) {
        if(hexString == null) {
            throw new IllegalArgumentException();
        } else {
            int len = hexString.length();
            if(len != 12) {
                return false;
            } else {
                for(int i = 0; i < len; ++i) {
                    char c = hexString.charAt(i);
                    if((c < 48 || c > 57) && (c < 97 || c > 102) && (c < 65 || c > 70)) {
                        return false;
                    }
                }
                return true;
            }
        }
    }
    public static int getCurrentCounter() {
        return NEXT_COUNTER.get();
    }
    public ObjectVersion() {
        this(new Date());
    }
    public ObjectVersion(Date date) {
        this(dateToTimestampSeconds(date), (short)NEXT_COUNTER.getAndIncrement());
    }
    public ObjectVersion(Date date, short counter) {
        this(dateToTimestampSeconds(date), counter);
    }
    public ObjectVersion(int timestamp, short counter) {
        this.timestamp = timestamp;
        this.counter = counter;
    }
    public ObjectVersion(String hexString) {
        this(parseHexString(hexString));
    }
    public ObjectVersion(byte[] bytes) {
        if(bytes == null) {
            throw new IllegalArgumentException();
        } else if(bytes.length != 6) {
            throw new IllegalArgumentException("need 6 bytes");
        } else {
            this.timestamp = makeInt(bytes[0], bytes[1], bytes[2], bytes[3]);
            this.counter = (short)makeInt((byte)0, (byte)0, bytes[4], bytes[5]);
        }
    }
    public byte[] toByteArray() {
        byte[] bytes = new byte[]{int3(this.timestamp), int2(this.timestamp), int1(this.timestamp), int0(this.timestamp), int1(this.counter), int0(this.counter)};
        return bytes;
    }
    public Date getDate() {
        return new Date((long)this.timestamp * 1000L);
    }
    public int getTimestamp() {
        return this.timestamp;
    }
    public short getCounter() {
        return this.counter;
    }
    public String toHexString() {
        char[] chars = new char[12];
        int i = 0;
        byte[] var3 = this.toByteArray();
        int var4 = var3.length;
        for(int var5 = 0; var5 < var4; ++var5) {
            byte b = var3[var5];
            chars[i++] = HEX_CHARS[b >> 4 & 15];
            chars[i++] = HEX_CHARS[b & 15];
        }
        return new String(chars);
    }
    public boolean equals(Object o) {
        if(this == o) {
            return true;
        } else if(o != null && this.getClass() == o.getClass()) {
            ObjectVersion objectId = (ObjectVersion)o;
            return this.counter != objectId.counter?false:this.timestamp == objectId.timestamp;
        } else {
            return false;
        }
    }
    public int hashCode() {
        int result = this.timestamp;
        result = 31 * result + this.counter;
        return result;
    }
    public int compareTo(ObjectVersion other) {
        if(other == null) {
            throw new NullPointerException();
        } else {
            byte[] byteArray = this.toByteArray();
            byte[] otherByteArray = other.toByteArray();
            for(int i = 0; i < 6; ++i) {
                if(byteArray[i] != otherByteArray[i]) {
                    return (byteArray[i] & 255) < (otherByteArray[i] & 255)?-1:1;
                }
            }
            return 0;
        }
    }
    public String toString() {
        return this.toHexString();
    }
    private static byte[] parseHexString(String s) {
        if(!isValid(s)) {
            throw new IllegalArgumentException("invalid hexadecimal representation of an ObjectId: [" + s + "]");
        } else {
            byte[] b = new byte[6];
            for(int i = 0; i < b.length; ++i) {
                b[i] = (byte)Integer.parseInt(s.substring(i * 2, i * 2 + 2), 16);
            }
            return b;
        }
    }
    private static int dateToTimestampSeconds(Date time) {
        return (int)(time.getTime() / 1000L);
    }
    private static int makeInt(byte b3, byte b2, byte b1, byte b0) {
        return b3 << 24 | (b2 & 255) << 16 | (b1 & 255) << 8 | b0 & 255;
    }
    private static byte int3(int x) {
        return (byte)(x >> 24);
    }
    private static byte int2(int x) {
        return (byte)(x >> 16);
    }
    private static byte int1(int x) {
        return (byte)(x >> 8);
    }
    private static byte int0(int x) {
        return (byte)x;
    }
}

+ 58 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/standard/bo/StandardVersion.java

@ -0,0 +1,58 @@
package com.yihu.hos.rest.models.standard.bo;
public class StandardVersion {
    public final static String VersionBoundSymbol = "_";
    public final static String DataSetTable = "std_dataset";
    public final static String MetaDataTable = "std_metadata";
    public final static String DictTable = "std_dictionary";
    public final static String DictEntryTable = "std_dictionary_entry";
    public final static String CDADocumentTable = "std_cda_document";
    public final static String CDADatasetTable = "std_cda_dataset";
    private ObjectVersion version;
    public StandardVersion(String version) {
        this.version = new ObjectVersion(version);
    }
    public StandardVersion() {
    }
    public static StandardVersion generateVersion() {
        ObjectVersion objectVersion = new ObjectVersion();
        return new StandardVersion(objectVersion.toString());
    }
    public String getDataSetTableName() {
        return DataSetTable + VersionBoundSymbol + version;
    }
    public String getMetaDataTableName() {
        return MetaDataTable + VersionBoundSymbol + version;
    }
    public String getDictTableName() {
        return DictTable + VersionBoundSymbol + version;
    }
    public String getDictEntryTableName() {
        return DictEntryTable + VersionBoundSymbol + version;
    }
    public String getCDATableName() {
        return CDADocumentTable + VersionBoundSymbol + version;
    }
    public String getCDADatasetTableName() {
        return CDADatasetTable + VersionBoundSymbol + version;
    }
    public String getVersion() {
        return version.toString();
    }
    public void finalize() throws Throwable {
    }
}

+ 119 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/standard/standard/StandardModel.java

@ -0,0 +1,119 @@
package com.yihu.hos.rest.models.standard.standard;
import com.yihu.hos.web.framework.model.Result;
import java.io.Serializable;
/**
 * 标准基本信息
 *
 * @created Airhead 2015/12/23.
 */
public class StandardModel extends Result implements Serializable {
    private Integer id;
    private String name;
    private String code;
    private String publisher;
    private String publisherOrgCode;
    private String summary;
    private String refStandard;
    private String refStandardVersion;
    private Integer versionStatus;
    public StandardModel(){
    }
    public StandardModel(StandardModel standardModel){
        this.id = standardModel.id;
        this.name = standardModel.name;
        this.code = standardModel.code;
        this.publisher = standardModel.publisher;
        this.publisherOrgCode = standardModel.publisherOrgCode;
        this.summary = standardModel.summary;
        this.refStandard = standardModel.refStandard;
        this.refStandardVersion = standardModel.refStandardVersion;
        this.versionStatus = standardModel.versionStatus;
    }
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getPublisher() {
        return publisher;
    }
    public void setPublisher(String publisher) {
        this.publisher = publisher;
    }
    public String getPublisherOrgCode() {
        return publisherOrgCode;
    }
    public void setPublisherOrgCode(String publisherOrgCode) {
        this.publisherOrgCode = publisherOrgCode;
    }
    public String getSummary() {
        return summary;
    }
    public void setSummary(String summary) {
        this.summary = summary;
    }
    public String getRefStandard() {
        return refStandard;
    }
    public void setRefStandard(String refStandard) {
        this.refStandard = refStandard;
    }
    public String getRefStandardVersion() {
        return refStandardVersion;
    }
    public void setRefStandardVersion(String refStandardVersion) {
        this.refStandardVersion = refStandardVersion;
    }
    public Integer getVersionStatus() {
        return versionStatus;
    }
    public void setVersionStatus(Integer versionStatus) {
        this.versionStatus = versionStatus;
    }
}

+ 132 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/standard/standard/StandardVersionModel.java

@ -0,0 +1,132 @@
package com.yihu.hos.rest.models.standard.standard;
import com.yihu.hos.web.framework.model.Result;
import java.io.Serializable;
import java.util.Date;
/**
 * 标准版本模型
 *
 * @created Airhead 2015/12/23.
 */
public class StandardVersionModel extends Result implements Serializable {
    private Integer id;
    private String version;
    private Integer standardId;
    private String name;
    private Date publishTime;
    private String publishUser;
    private String baseVersion;
    private String primaryVersion;
    private Integer publishStatus;
    private String path;
    public StandardVersionModel(){
    }
    public StandardVersionModel(StandardVersionModel standardVersionModel){
        this.id = standardVersionModel.id;
        this.version = standardVersionModel.version;
        this.standardId = standardVersionModel.standardId;
        this.name = standardVersionModel.name;
        this.publishTime = standardVersionModel.publishTime;
        this.publishUser = standardVersionModel.publishUser;
        this.baseVersion = standardVersionModel.baseVersion;
        this.primaryVersion = standardVersionModel.primaryVersion;
        this.publishStatus = standardVersionModel.publishStatus;
        this.path = standardVersionModel.path;
    }
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getVersion() {
        return version;
    }
    public void setVersion(String version) {
        this.version = version;
    }
    public Integer getStandardId() {
        return standardId;
    }
    public void setStandardId(Integer standardId) {
        this.standardId = standardId;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Date getPublishTime() {
        return publishTime;
    }
    public void setPublishTime(Date publishTime) {
        this.publishTime = publishTime;
    }
    public String getPublishUser() {
        return publishUser;
    }
    public void setPublishUser(String publishUser) {
        this.publishUser = publishUser;
    }
    public String getBaseVersion() {
        return baseVersion;
    }
    public void setBaseVersion(String baseVersion) {
        this.baseVersion = baseVersion;
    }
    public String getPrimaryVersion() {
        return primaryVersion;
    }
    public void setPrimaryVersion(String primaryVersion) {
        this.primaryVersion = primaryVersion;
    }
    public Integer getPublishStatus() {
        return publishStatus;
    }
    public void setPublishStatus(Integer publishStatus) {
        this.publishStatus = publishStatus;
    }
    public String getPath() {
        return path;
    }
    public void setPath(String path) {
        this.path = path;
    }
}

+ 83 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/standard/standard/StdCDACatalogModel.java

@ -0,0 +1,83 @@
package com.yihu.hos.rest.models.standard.standard;
import com.yihu.hos.web.framework.model.Result;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.Column;
import javax.persistence.Id;
import java.io.Serializable;
/**
 * CDA类型模型
 *
 * @created Airhead 2015/12/23.
 */
public class StdCDACatalogModel extends Result implements Serializable {
    @Id
    @GenericGenerator(name = "generator", strategy = "increment")
    @Column(name = "id")
    private Integer id;
    @Column(name = "code")
    private String code;
    @Column(name = "name")
    private String name;
    @Column(name = "parent_id")
    private Integer parentID;
    @Column(name = "sort")
    private String sort;
    @Column(name = "description")
    private String description;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getParentID() {
        return parentID;
    }
    public void setParentID(Integer parentID) {
        this.parentID = parentID;
    }
    public String getSort() {
        return sort;
    }
    public void setSort(String sort) {
        this.sort = sort;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
}

+ 50 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/standard/standard/StdCDADatasetModel.java

@ -0,0 +1,50 @@
package com.yihu.hos.rest.models.standard.standard;
import com.yihu.hos.web.framework.model.Result;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.Column;
import javax.persistence.Id;
import java.io.Serializable;
/**
 * CDA与数据集关系模型
 *
 * @created Airhead 2015/12/23.
 */
public class StdCDADatasetModel extends Result implements Serializable {
    @Id
    @GenericGenerator(name = "generator", strategy = "increment")
    @Column(name = "id")
    private Integer id;
    @Column(name = "cda_id")
    private Integer cdaID;
    @Column(name = "dataset_id")
    private Integer datasetId;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public Integer getCdaID() {
        return cdaID;
    }
    public void setCdaID(Integer cdaID) {
        this.cdaID = cdaID;
    }
    public Integer getdatasetId() {
        return datasetId;
    }
    public void setdatasetId(Integer datasetId) {
        this.datasetId = datasetId;
    }
}

+ 94 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/standard/standard/StdCDAModel.java

@ -0,0 +1,94 @@
package com.yihu.hos.rest.models.standard.standard;
import com.yihu.hos.web.framework.model.Result;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.Column;
import javax.persistence.Id;
import java.io.Serializable;
/**
 * @created Airhead 2015/12/23.
 */
public class StdCDAModel extends Result implements Serializable {
    @Id
    @GenericGenerator(name = "generator", strategy = "increment")
    @Column(name = "id")
    private Integer id;
    @Column(name = "std_id")
    private Integer standardId;
    @Column(name = "code")
    private String code;
    @Column(name = "name")
    private String name;
    @Column(name = "path")
    private String path;
    @Column(name = "description")
    private String description;
    @Column(name = "catalog_id")
    private Integer catalogID;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public Integer getstandardId() {
        return standardId;
    }
    public void setstandardId(Integer standardId) {
        this.standardId = standardId;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPath() {
        return path;
    }
    public void setPath(String path) {
        this.path = path;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public Integer getCatalogID() {
        return catalogID;
    }
    public void setCatalogID(Integer catalogID) {
        this.catalogID = catalogID;
    }
}

+ 105 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/standard/standard/StdDataSetModel.java

@ -0,0 +1,105 @@
package com.yihu.hos.rest.models.standard.standard;
import com.yihu.hos.web.framework.model.Result;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.Column;
import javax.persistence.Id;
import java.io.Serializable;
/**
 * Created by wq on 2015/9/16.
 */
public class StdDataSetModel extends Result implements Serializable {
    @Id
    @GenericGenerator(name = "generator", strategy = "increment")
    @Column(name = "id")
    private Integer id;
    @Column(name = "std_id")
    private Integer standardId;
    @Column(name = "code")
    private String code;
    @Column(name = "name")
    private String name;
    @Column(name = "language")
    private String language;
    @Column(name = "catalog")
    private Integer catalog;
    @Column(name = "summary")
    private String summary;
    @Column(name = "class_model")
    private String classModel;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public Integer getstandardId() {
        return standardId;
    }
    public void setstandardId(Integer standardId) {
        this.standardId = standardId;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getLanguage() {
        return language;
    }
    public void setLanguage(String language) {
        this.language = language;
    }
    public Integer getCatalog() {
        return catalog;
    }
    public void setCatalog(Integer catalog) {
        this.catalog = catalog;
    }
    public String getSummary() {
        return summary;
    }
    public void setSummary(String summary) {
        this.summary = summary;
    }
    public String getClassModel() {
        return classModel;
    }
    public void setClassModel(String classModel) {
        this.classModel = classModel;
    }
}

+ 85 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/standard/standard/StdDatasetCatalogModel.java

@ -0,0 +1,85 @@
package com.yihu.hos.rest.models.standard.standard;
import com.yihu.hos.web.framework.model.Result;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.Column;
import javax.persistence.Id;
import java.io.Serializable;
/**
 * 数据集模型
 *
 * @created Airhead 2015/12/23.
 */
public class StdDatasetCatalogModel extends Result implements Serializable {
    public static String TABLE_NAME = "STD_DATASET_CATALOG";
    @Id
    @GenericGenerator(name = "generator", strategy = "increment")
    @Column(name = "id")
    private Integer id;
    @Column(name = "name")
    private String name;
    @Column(name = "code")
    private String code;
    @Column(name = "parent_id")
    private Integer parentID;
    @Column(name = "sort")
    private String sort;
    @Column(name = "description")
    private String description;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public Integer getParentID() {
        return parentID;
    }
    public void setParentID(Integer parentID) {
        this.parentID = parentID;
    }
    public String getSort() {
        return sort;
    }
    public void setSort(String sort) {
        this.sort = sort;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
}

+ 81 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/standard/standard/StdDictionaryEntryModel.java

@ -0,0 +1,81 @@
package com.yihu.hos.rest.models.standard.standard;
import com.yihu.hos.web.framework.model.Result;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.Column;
import javax.persistence.Id;
import java.io.Serializable;
/**
 * @created Airhead 2015/12/23.
 */
public class StdDictionaryEntryModel extends Result implements Serializable {
    @Id
    @GenericGenerator(name = "generator", strategy = "increment")
    @Column(name = "id")
    private Integer id;
    @Column(name = "std_id")
    private Integer standardId;
    @Column(name = "dict_id")
    private Integer dictId;
    @Column(name = "code")
    private String code;
    @Column(name = "value")
    private String value;
    @Column(name = "description")
    private String description;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public Integer getstandardId() {
        return standardId;
    }
    public void setstandardId(Integer standardId) {
        this.standardId = standardId;
    }
    public Integer getDictId() {
        return dictId;
    }
    public void setDictId(Integer dictId) {
        this.dictId = dictId;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getValue() {
        return value;
    }
    public void setValue(String value) {
        this.value = value;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
}

+ 0 - 0
hos-rest/src/main/java/com/yihu/hos/rest/models/standard/standard/StdDictionaryModel.java


Some files were not shown because too many files changed in this diff