瀏覽代碼

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

lingfeng 9 年之前
父節點
當前提交
aa3b20c4b0

+ 1 - 206
Hos-Framework/Hos-Framework.iml

@ -7,7 +7,7 @@
      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
      <excludeFolder url="file://$MODULE_DIR$/target" />
    </content>
    <orderEntry type="inheritedJdk" />
    <orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.5.1" level="project" />
@ -212,209 +212,4 @@
    <orderEntry type="library" name="Maven: com.yihu.core:ehr-dbhelper:1.1.7" level="project" />
    <orderEntry type="library" name="Maven: commons-net:commons-net:3.3" level="project" />
  </component>
  <component name="org.twodividedbyzero.idea.findbugs">
    <option name="_basePreferences">
      <map>
        <entry key="property.analysisEffortLevel" value="default" />
        <entry key="property.analyzeAfterAutoMake" value="false" />
        <entry key="property.analyzeAfterCompile" value="false" />
        <entry key="property.annotationGutterIconEnabled" value="true" />
        <entry key="property.annotationSuppressWarningsClass" value="edu.umd.cs.findbugs.annotations.SuppressFBWarnings" />
        <entry key="property.annotationTextRangeMarkupEnabled" value="true" />
        <entry key="property.exportAsHtml" value="true" />
        <entry key="property.exportAsXml" value="true" />
        <entry key="property.exportBaseDir" value="" />
        <entry key="property.exportCreateArchiveDir" value="false" />
        <entry key="property.exportOpenBrowser" value="true" />
        <entry key="property.minPriorityToReport" value="Medium" />
        <entry key="property.runAnalysisInBackground" value="false" />
        <entry key="property.showHiddenDetectors" value="false" />
        <entry key="property.toolWindowToFront" value="true" />
      </map>
    </option>
    <option name="_detectors">
      <map>
        <entry key="AppendingToAnObjectOutputStream" value="true" />
        <entry key="AtomicityProblem" value="true" />
        <entry key="BadAppletConstructor" value="false" />
        <entry key="BadResultSetAccess" value="true" />
        <entry key="BadSyntaxForRegularExpression" value="true" />
        <entry key="BadUseOfReturnValue" value="true" />
        <entry key="BadlyOverriddenAdapter" value="true" />
        <entry key="BooleanReturnNull" value="true" />
        <entry key="BuildInterproceduralCallGraph" value="false" />
        <entry key="BuildObligationPolicyDatabase" value="true" />
        <entry key="BuildStringPassthruGraph" value="true" />
        <entry key="CallToUnsupportedMethod" value="false" />
        <entry key="CalledMethods" value="true" />
        <entry key="CheckCalls" value="false" />
        <entry key="CheckExpectedWarnings" value="false" />
        <entry key="CheckImmutableAnnotation" value="true" />
        <entry key="CheckRelaxingNullnessAnnotation" value="true" />
        <entry key="CheckTypeQualifiers" value="true" />
        <entry key="CloneIdiom" value="true" />
        <entry key="ComparatorIdiom" value="true" />
        <entry key="ConfusedInheritance" value="true" />
        <entry key="ConfusionBetweenInheritedAndOuterMethod" value="true" />
        <entry key="CovariantArrayAssignment" value="false" />
        <entry key="CrossSiteScripting" value="true" />
        <entry key="DefaultEncodingDetector" value="true" />
        <entry key="DoInsideDoPrivileged" value="true" />
        <entry key="DontCatchIllegalMonitorStateException" value="true" />
        <entry key="DontIgnoreResultOfPutIfAbsent" value="true" />
        <entry key="DontUseEnum" value="true" />
        <entry key="DroppedException" value="true" />
        <entry key="DumbMethodInvocations" value="true" />
        <entry key="DumbMethods" value="true" />
        <entry key="DuplicateBranches" value="true" />
        <entry key="EmptyZipFileEntry" value="false" />
        <entry key="EqualsOperandShouldHaveClassCompatibleWithThis" value="true" />
        <entry key="ExplicitSerialization" value="true" />
        <entry key="FieldItemSummary" value="true" />
        <entry key="FinalizerNullsFields" value="true" />
        <entry key="FindBadCast2" value="true" />
        <entry key="FindBadForLoop" value="true" />
        <entry key="FindBugsSummaryStats" value="true" />
        <entry key="FindCircularDependencies" value="false" />
        <entry key="FindComparatorProblems" value="true" />
        <entry key="FindDeadLocalStores" value="true" />
        <entry key="FindDoubleCheck" value="true" />
        <entry key="FindEmptySynchronizedBlock" value="true" />
        <entry key="FindFieldSelfAssignment" value="true" />
        <entry key="FindFinalizeInvocations" value="true" />
        <entry key="FindFloatEquality" value="true" />
        <entry key="FindFloatMath" value="false" />
        <entry key="FindHEmismatch" value="true" />
        <entry key="FindInconsistentSync2" value="true" />
        <entry key="FindJSR166LockMonitorenter" value="true" />
        <entry key="FindLocalSelfAssignment2" value="true" />
        <entry key="FindMaskedFields" value="true" />
        <entry key="FindMismatchedWaitOrNotify" value="true" />
        <entry key="FindNakedNotify" value="true" />
        <entry key="FindNoSideEffectMethods" value="true" />
        <entry key="FindNonSerializableStoreIntoSession" value="false" />
        <entry key="FindNonSerializableValuePassedToWriteObject" value="false" />
        <entry key="FindNonShortCircuit" value="true" />
        <entry key="FindNullDeref" value="true" />
        <entry key="FindNullDerefsInvolvingNonShortCircuitEvaluation" value="true" />
        <entry key="FindOpenStream" value="true" />
        <entry key="FindPuzzlers" value="true" />
        <entry key="FindRefComparison" value="true" />
        <entry key="FindReturnRef" value="true" />
        <entry key="FindRoughConstants" value="true" />
        <entry key="FindRunInvocations" value="true" />
        <entry key="FindSelfComparison" value="true" />
        <entry key="FindSelfComparison2" value="true" />
        <entry key="FindSleepWithLockHeld" value="true" />
        <entry key="FindSpinLoop" value="true" />
        <entry key="FindSqlInjection" value="true" />
        <entry key="FindTwoLockWait" value="true" />
        <entry key="FindUncalledPrivateMethods" value="true" />
        <entry key="FindUnconditionalWait" value="true" />
        <entry key="FindUninitializedGet" value="true" />
        <entry key="FindUnrelatedTypesInGenericContainer" value="true" />
        <entry key="FindUnreleasedLock" value="true" />
        <entry key="FindUnsatisfiedObligation" value="true" />
        <entry key="FindUnsyncGet" value="true" />
        <entry key="FindUseOfNonSerializableValue" value="true" />
        <entry key="FindUselessControlFlow" value="true" />
        <entry key="FindUselessObjects" value="true" />
        <entry key="FormatStringChecker" value="true" />
        <entry key="FunctionsThatMightBeMistakenForProcedures" value="true" />
        <entry key="HugeSharedStringConstants" value="true" />
        <entry key="IDivResultCastToDouble" value="true" />
        <entry key="IncompatMask" value="true" />
        <entry key="InconsistentAnnotations" value="true" />
        <entry key="InefficientIndexOf" value="false" />
        <entry key="InefficientInitializationInsideLoop" value="false" />
        <entry key="InefficientMemberAccess" value="false" />
        <entry key="InefficientToArray" value="false" />
        <entry key="InfiniteLoop" value="true" />
        <entry key="InfiniteRecursiveLoop" value="true" />
        <entry key="InheritanceUnsafeGetResource" value="true" />
        <entry key="InitializationChain" value="true" />
        <entry key="InitializeNonnullFieldsInConstructor" value="true" />
        <entry key="InstantiateStaticClass" value="true" />
        <entry key="IntCast2LongAsInstant" value="true" />
        <entry key="InvalidJUnitTest" value="true" />
        <entry key="IteratorIdioms" value="true" />
        <entry key="LazyInit" value="true" />
        <entry key="LoadOfKnownNullValue" value="true" />
        <entry key="LostLoggerDueToWeakReference" value="true" />
        <entry key="MethodReturnCheck" value="true" />
        <entry key="Methods" value="true" />
        <entry key="MultithreadedInstanceAccess" value="true" />
        <entry key="MutableEnum" value="true" />
        <entry key="MutableLock" value="true" />
        <entry key="MutableStaticFields" value="true" />
        <entry key="Naming" value="true" />
        <entry key="Noise" value="false" />
        <entry key="NoiseNullDeref" value="false" />
        <entry key="NoteAnnotationRetention" value="true" />
        <entry key="NoteCheckReturnValueAnnotations" value="true" />
        <entry key="NoteDirectlyRelevantTypeQualifiers" value="true" />
        <entry key="NoteJCIPAnnotation" value="true" />
        <entry key="NoteNonNullAnnotations" value="false" />
        <entry key="NoteNonnullReturnValues" value="false" />
        <entry key="NoteSuppressedWarnings" value="true" />
        <entry key="NoteUnconditionalParamDerefs" value="true" />
        <entry key="NumberConstructor" value="true" />
        <entry key="OptionalReturnNull" value="true" />
        <entry key="OverridingEqualsNotSymmetrical" value="true" />
        <entry key="PreferZeroLengthArrays" value="true" />
        <entry key="PublicSemaphores" value="false" />
        <entry key="QuestionableBooleanAssignment" value="true" />
        <entry key="ReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass" value="true" />
        <entry key="ReadReturnShouldBeChecked" value="true" />
        <entry key="RedundantConditions" value="true" />
        <entry key="RedundantInterfaces" value="true" />
        <entry key="ReflectiveClasses" value="true" />
        <entry key="RepeatedConditionals" value="true" />
        <entry key="ResolveAllReferences" value="false" />
        <entry key="RuntimeExceptionCapture" value="true" />
        <entry key="SerializableIdiom" value="true" />
        <entry key="StartInConstructor" value="true" />
        <entry key="StaticCalendarDetector" value="true" />
        <entry key="StringConcatenation" value="true" />
        <entry key="SuperfluousInstanceOf" value="true" />
        <entry key="SuspiciousThreadInterrupted" value="true" />
        <entry key="SwitchFallthrough" value="true" />
        <entry key="SynchronizationOnSharedBuiltinConstant" value="true" />
        <entry key="SynchronizeAndNullCheckField" value="true" />
        <entry key="SynchronizeOnClassLiteralNotGetClass" value="true" />
        <entry key="SynchronizingOnContentsOfFieldToProtectField" value="true" />
        <entry key="TestASM" value="false" />
        <entry key="TestDataflowAnalysis" value="false" />
        <entry key="TestingGround" value="false" />
        <entry key="TestingGround2" value="false" />
        <entry key="TrainFieldStoreTypes" value="true" />
        <entry key="TrainLongInstantfParams" value="true" />
        <entry key="TrainNonNullAnnotations" value="true" />
        <entry key="TrainUnconditionalDerefParams" value="true" />
        <entry key="URLProblems" value="true" />
        <entry key="UncallableMethodOfAnonymousClass" value="true" />
        <entry key="UnnecessaryMath" value="true" />
        <entry key="UnreadFields" value="true" />
        <entry key="UselessSubclassMethod" value="false" />
        <entry key="VarArgsProblems" value="true" />
        <entry key="VolatileUsage" value="true" />
        <entry key="WaitInLoop" value="true" />
        <entry key="WrongMapIterator" value="true" />
        <entry key="XMLFactoryBypass" value="true" />
      </map>
    </option>
    <option name="_reportCategories">
      <map>
        <entry key="BAD_PRACTICE" value="true" />
        <entry key="CORRECTNESS" value="true" />
        <entry key="EXPERIMENTAL" value="true" />
        <entry key="I18N" value="true" />
        <entry key="MALICIOUS_CODE" value="true" />
        <entry key="MT_CORRECTNESS" value="true" />
        <entry key="PERFORMANCE" value="true" />
        <entry key="SECURITY" value="true" />
        <entry key="STYLE" value="true" />
      </map>
    </option>
  </component>
</module>

+ 1 - 1
Hos-Framework/pom.xml

@ -6,7 +6,7 @@
    <groupId>com.yihu.hos.resource</groupId>
    <artifactId>Hos-Framework</artifactId>
    <version>1.0-SNAPSHOT</version>
    <version>1.0</version>
    <build>
        <plugins>
            <plugin>

+ 6 - 1
Hos-Resource-Rest/pom.xml

@ -110,7 +110,7 @@
        <dependency>
            <groupId>com.yihu.core</groupId>
            <artifactId>ehr-dbhelper</artifactId>
            <version>1.1.4</version>
            <version>1.1.7</version>
        </dependency>
        <!--=============httpclient start=============-->
        <dependency>
@ -201,6 +201,11 @@
            <artifactId>org.apache.axis2.osgi</artifactId>
            <version>1.6.3</version>
        </dependency>
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20151123</version>
        </dependency>
    </dependencies>

+ 109 - 0
Hos-Resource-Rest/src/main/java/com/yihu/hos/test/TestController.java

@ -0,0 +1,109 @@
package com.yihu.hos.test;
import com.yihu.ehr.dbhelper.common.DBList;
import com.yihu.ehr.dbhelper.common.DBQuery;
import com.yihu.ehr.dbhelper.common.QueryCondition;
import com.yihu.ehr.dbhelper.common.enums.DBType;
import com.yihu.ehr.dbhelper.common.sqlparser.ParserMysql;
import com.yihu.ehr.dbhelper.common.sqlparser.ParserOracle;
import com.yihu.ehr.dbhelper.common.sqlparser.ParserSql;
import com.yihu.ehr.dbhelper.common.sqlparser.ParserSqlserver;
import com.yihu.ehr.dbhelper.jdbc.DBHelper;
import com.yihu.hos.gateway.exception.EHRException;
import com.yihu.hos.gateway.exception.EHRExceptionConstant;
import com.yihu.hos.gateway.model.rest.RestRequsetResult;
import com.yihu.hos.gateway.model.rest.RestResponseResult;
import com.yihu.hos.gateway.thread.ResponseThread;
import com.yihu.hos.resource.viewModel.ResourceRestDetailModel;
import com.yihu.hos.resource.viewModel.SQLResponResult;
import net.sf.json.JSON;
import net.sf.json.JSONObject;
import org.apache.commons.beanutils.BeanUtils;
import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.Writer;
import java.util.ArrayList;
import java.util.List;
/**
 * Created by Administrator on 2016/5/12.
 */
@Controller
@RequestMapping("/test")
public class TestController {
    @ResponseBody
    @RequestMapping("/db")
    public String db(HttpServletRequest request, HttpServletResponse response) throws Exception {
        String tablename = request.getParameter("table");
        /**
         * [{"andOr":" AND ","field":"HDSD00_01_457","condition":" > ","value":"2016-05-12"},
         *  {"andOr":" AND ","field":"JDSA00_01_010","condition":" < ","value":"120"}]
         */
        String params = request.getParameter("params");
        String key = request.getParameter("key");
        String keytype = request.getParameter("keytype");
        String start = request.getParameter("start");
        String rows = request.getParameter("keytype");
        String config = "jdbc:oracle:thin:newhos/newhos@//172.19.103.71:1521/neworcl";
        DBHelper db = new DBHelper("1111", config);
        DBType dbType = db.dbType;
        String sqlWhere = getCondition(dbType, params);
        //为空查询数据
        DBQuery dbq = new DBQuery("1111", config);
        String sql = "select * from " + tablename;
        DBList dv = dbq.queryBySql(sql + sqlWhere, StringUtils.isEmpty(start) ? 1 : java.lang.Integer.valueOf(start), StringUtils.isEmpty(start) ? 10 : java.lang.Integer.valueOf(rows));
        if (StringUtils.isEmpty(key)) {
            return JSONObject.fromObject(dv.getList()).toString();
        } else {
            String sqlT = "select max(" + key + ") from " + tablename;
            //不为空查询总条数和最大值
            return "{\"count\":\"" + dv.getCount() + "\",\"maxKeyvalue\":\"9999\"}";
        }
    }
    /**
     * 获取过滤条件
     *
     * @return
     */
    private String getCondition(DBType dbType, String conditionString) {
        org.json.JSONArray array = new org.json.JSONArray(conditionString);
        if (array != null && array.length() > 0) {
            List<QueryCondition> conditions = new ArrayList<>();
            for (Object item : array) {
                JSONObject obj = (JSONObject) item;
                String logical = obj.getString("andOr");
                String operation = obj.getString("condition");
                String field = obj.getString("field");
                String keyword = obj.getString("value");
                conditions.add(new QueryCondition(logical, operation, field, keyword));
            }
            //条件语句转换
            ParserSql ps;
            switch (dbType) {
                case Oracle:
                    ps = new ParserOracle();
                    break;
                case Sqlserver:
                    ps = new ParserSqlserver();
                    break;
                default:
                    ps = new ParserMysql();
            }
            return ps.getConditionSql(conditions);
        }
        return "";
    }
}

+ 2 - 284
Hos-resource/Hos-Resource.iml

@ -11,14 +11,6 @@
        </webroots>
      </configuration>
    </facet>
    <facet type="Spring" name="Spring">
      <configuration>
        <fileset id="fileset" name="Spring Application Context" removed="false">
          <file>file://$MODULE_DIR$/src/main/webapp/WEB-INF/dispatcher-servlet.xml</file>
          <file>file://$MODULE_DIR$/src/main/resources/spring/applicationContext.xml</file>
        </fileset>
      </configuration>
    </facet>
  </component>
  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" inherit-compiler-output="false">
    <output url="file://$MODULE_DIR$/target/classes" />
@ -28,78 +20,8 @@
      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
      <excludeFolder url="file://$MODULE_DIR$/target" />
    </content>
    <orderEntry type="inheritedJdk" />
    <orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="module-library">
      <library name="JUnit4">
        <CLASSES>
          <root url="jar://$APPLICATION_HOME_DIR$/lib/junit-4.11.jar!/" />
          <root url="jar://$APPLICATION_HOME_DIR$/lib/hamcrest-core-1.3.jar!/" />
          <root url="jar://$APPLICATION_HOME_DIR$/lib/hamcrest-library-1.3.jar!/" />
        </CLASSES>
        <JAVADOC />
        <SOURCES />
      </library>
    </orderEntry>
    <orderEntry type="library" name="Maven: com.yihu.core:ehr-dbhelper:1.1.6" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-jpa:1.9.4.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: joda-time:joda-time:2.5" level="project" />
    <orderEntry type="library" name="Maven: org.csource:fastdfs-client-java:1.0.0" level="project" />
    <orderEntry type="library" name="Maven: org.yihu.common:common:1.0.0-SNAPSHOT" level="project" />
    <orderEntry type="library" name="Maven: org.apache.hive:hive-jdbc:1.2.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.hive:hive-common:1.2.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.hive:hive-shims:1.2.1" level="project" />
    <orderEntry type="library" name="Maven: log4j:apache-log4j-extras:1.2.17" level="project" />
    <orderEntry type="library" name="Maven: org.apache.ant:ant:1.9.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.ant:ant-launcher:1.9.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.hive:hive-service:1.2.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.hive:hive-metastore:1.2.1" level="project" />
    <orderEntry type="library" name="Maven: net.sf.jpam:jpam:1.1" level="project" />
    <orderEntry type="library" name="Maven: org.eclipse.jetty.aggregate:jetty-all:7.6.0.v20120127" level="project" />
    <orderEntry type="library" name="Maven: javax.mail:mail:1.4.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.geronimo.specs:geronimo-jaspic_1.0_spec:1.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.geronimo.specs:geronimo-annotation_1.0_spec:1.1.1" level="project" />
    <orderEntry type="library" name="Maven: asm:asm-commons:3.1" level="project" />
    <orderEntry type="library" name="Maven: asm:asm-tree:3.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.thrift:libfb303:0.9.2" level="project" />
    <orderEntry type="library" name="Maven: org.apache.thrift:libthrift:0.9.2" level="project" />
    <orderEntry type="library" name="Maven: org.apache.curator:curator-framework:2.6.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.curator:curator-recipes:2.7.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.hive:hive-serde:1.2.1" level="project" />
    <orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:3.0.0" level="project" />
    <orderEntry type="library" name="Maven: net.sf.opencsv:opencsv:2.3" level="project" />
    <orderEntry type="library" name="Maven: com.twitter:parquet-hadoop-bundle:1.6.0" level="project" />
    <orderEntry type="library" name="Maven: com.jolbox:bonecp:0.8.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.apache.derby:derby:10.10.2.0" level="project" />
    <orderEntry type="library" name="Maven: org.datanucleus:datanucleus-api-jdo:3.2.6" level="project" />
    <orderEntry type="library" name="Maven: org.datanucleus:datanucleus-core:3.2.10" level="project" />
    <orderEntry type="library" name="Maven: org.datanucleus:datanucleus-rdbms:3.2.9" level="project" />
    <orderEntry type="library" name="Maven: commons-pool:commons-pool:1.5.4" level="project" />
    <orderEntry type="library" name="Maven: commons-dbcp:commons-dbcp:1.4" level="project" />
    <orderEntry type="library" name="Maven: javax.jdo:jdo-api:3.0.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.hive.shims:hive-shims-common:1.2.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.hive.shims:hive-shims-0.20S:1.2.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.hive.shims:hive-shims-0.23:1.2.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.hadoop:hadoop-yarn-server-resourcemanager:2.6.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.hadoop:hadoop-annotations:2.7.1" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.hadoop:hadoop-yarn-server-common:2.6.0" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.hadoop:hadoop-yarn-server-applicationhistoryservice:2.6.0" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.hadoop:hadoop-yarn-server-web-proxy:2.6.0" level="project" />
    <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.hive.shims:hive-shims-scheduler:1.2.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.curator:curator-client:2.7.1" level="project" />
    <orderEntry type="library" name="Maven: org.apache.hadoop:hadoop-common:2.7.1" level="project" />
    <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.2.2" level="project" />
    <orderEntry type="library" name="Maven: org.apache.hadoop:hadoop-auth:2.7.1" level="project" />
    <orderEntry type="library" name="Maven: commons-daemon:commons-daemon:1.0.13" level="project" />
    <orderEntry type="library" name="Maven: tomcat:jasper-runtime:5.5.23" level="project" />
    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-slf4j-impl:2.3" level="project" />
    <orderEntry type="library" name="Maven: ansj.lucene:ansj_seg:2.0.8" level="project" />
    <orderEntry type="library" name="Maven: ansj.lucene:ansj-plugin:2.0.2" level="project" />
    <orderEntry type="library" name="Maven: ansj.lucene:apache-lucene:4.8.0" level="project" />
    <orderEntry type="library" name="Maven: ansj.lucene:lucene-analyzers:4.10.4" level="project" />
    <orderEntry type="library" name="Maven: ansj.lucene:nlpcn-lang:1.0" level="project" />
    <orderEntry type="library" name="Maven: basic.java:ktool:1.0" level="project" />
    <orderEntry type="library" name="Maven: com.yihu.core:ehr-dbhelper:1.1.7" level="project" />
    <orderEntry type="library" name="Maven: org.mongodb:mongo-java-driver:3.1.0" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-redis:1.6.0.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-context:4.1.7.RELEASE" level="project" />
@ -309,210 +231,6 @@
    <orderEntry type="library" name="Maven: com.oracle:ojdbc6:11.2.0.3.0" level="project" />
    <orderEntry type="library" name="Maven: commons-dbutils:commons-dbutils:1.6" level="project" />
    <orderEntry type="library" name="Maven: net.sourceforge.jexcelapi:jxl:2.6.10" level="project" />
  </component>
  <component name="org.twodividedbyzero.idea.findbugs">
    <option name="_basePreferences">
      <map>
        <entry key="property.analysisEffortLevel" value="default" />
        <entry key="property.analyzeAfterAutoMake" value="false" />
        <entry key="property.analyzeAfterCompile" value="false" />
        <entry key="property.annotationGutterIconEnabled" value="true" />
        <entry key="property.annotationSuppressWarningsClass" value="edu.umd.cs.findbugs.annotations.SuppressFBWarnings" />
        <entry key="property.annotationTextRangeMarkupEnabled" value="true" />
        <entry key="property.exportAsHtml" value="true" />
        <entry key="property.exportAsXml" value="true" />
        <entry key="property.exportBaseDir" value="" />
        <entry key="property.exportCreateArchiveDir" value="false" />
        <entry key="property.exportOpenBrowser" value="true" />
        <entry key="property.minPriorityToReport" value="Medium" />
        <entry key="property.runAnalysisInBackground" value="false" />
        <entry key="property.showHiddenDetectors" value="false" />
        <entry key="property.toolWindowToFront" value="true" />
      </map>
    </option>
    <option name="_detectors">
      <map>
        <entry key="AppendingToAnObjectOutputStream" value="true" />
        <entry key="AtomicityProblem" value="true" />
        <entry key="BadAppletConstructor" value="false" />
        <entry key="BadResultSetAccess" value="true" />
        <entry key="BadSyntaxForRegularExpression" value="true" />
        <entry key="BadUseOfReturnValue" value="true" />
        <entry key="BadlyOverriddenAdapter" value="true" />
        <entry key="BooleanReturnNull" value="true" />
        <entry key="BuildInterproceduralCallGraph" value="false" />
        <entry key="BuildObligationPolicyDatabase" value="true" />
        <entry key="BuildStringPassthruGraph" value="true" />
        <entry key="CallToUnsupportedMethod" value="false" />
        <entry key="CalledMethods" value="true" />
        <entry key="CheckCalls" value="false" />
        <entry key="CheckExpectedWarnings" value="false" />
        <entry key="CheckImmutableAnnotation" value="true" />
        <entry key="CheckRelaxingNullnessAnnotation" value="true" />
        <entry key="CheckTypeQualifiers" value="true" />
        <entry key="CloneIdiom" value="true" />
        <entry key="ComparatorIdiom" value="true" />
        <entry key="ConfusedInheritance" value="true" />
        <entry key="ConfusionBetweenInheritedAndOuterMethod" value="true" />
        <entry key="CovariantArrayAssignment" value="false" />
        <entry key="CrossSiteScripting" value="true" />
        <entry key="DefaultEncodingDetector" value="true" />
        <entry key="DoInsideDoPrivileged" value="true" />
        <entry key="DontCatchIllegalMonitorStateException" value="true" />
        <entry key="DontIgnoreResultOfPutIfAbsent" value="true" />
        <entry key="DontUseEnum" value="true" />
        <entry key="DroppedException" value="true" />
        <entry key="DumbMethodInvocations" value="true" />
        <entry key="DumbMethods" value="true" />
        <entry key="DuplicateBranches" value="true" />
        <entry key="EmptyZipFileEntry" value="false" />
        <entry key="EqualsOperandShouldHaveClassCompatibleWithThis" value="true" />
        <entry key="ExplicitSerialization" value="true" />
        <entry key="FieldItemSummary" value="true" />
        <entry key="FinalizerNullsFields" value="true" />
        <entry key="FindBadCast2" value="true" />
        <entry key="FindBadForLoop" value="true" />
        <entry key="FindBugsSummaryStats" value="true" />
        <entry key="FindCircularDependencies" value="false" />
        <entry key="FindComparatorProblems" value="true" />
        <entry key="FindDeadLocalStores" value="true" />
        <entry key="FindDoubleCheck" value="true" />
        <entry key="FindEmptySynchronizedBlock" value="true" />
        <entry key="FindFieldSelfAssignment" value="true" />
        <entry key="FindFinalizeInvocations" value="true" />
        <entry key="FindFloatEquality" value="true" />
        <entry key="FindFloatMath" value="false" />
        <entry key="FindHEmismatch" value="true" />
        <entry key="FindInconsistentSync2" value="true" />
        <entry key="FindJSR166LockMonitorenter" value="true" />
        <entry key="FindLocalSelfAssignment2" value="true" />
        <entry key="FindMaskedFields" value="true" />
        <entry key="FindMismatchedWaitOrNotify" value="true" />
        <entry key="FindNakedNotify" value="true" />
        <entry key="FindNoSideEffectMethods" value="true" />
        <entry key="FindNonSerializableStoreIntoSession" value="false" />
        <entry key="FindNonSerializableValuePassedToWriteObject" value="false" />
        <entry key="FindNonShortCircuit" value="true" />
        <entry key="FindNullDeref" value="true" />
        <entry key="FindNullDerefsInvolvingNonShortCircuitEvaluation" value="true" />
        <entry key="FindOpenStream" value="true" />
        <entry key="FindPuzzlers" value="true" />
        <entry key="FindRefComparison" value="true" />
        <entry key="FindReturnRef" value="true" />
        <entry key="FindRoughConstants" value="true" />
        <entry key="FindRunInvocations" value="true" />
        <entry key="FindSelfComparison" value="true" />
        <entry key="FindSelfComparison2" value="true" />
        <entry key="FindSleepWithLockHeld" value="true" />
        <entry key="FindSpinLoop" value="true" />
        <entry key="FindSqlInjection" value="true" />
        <entry key="FindTwoLockWait" value="true" />
        <entry key="FindUncalledPrivateMethods" value="true" />
        <entry key="FindUnconditionalWait" value="true" />
        <entry key="FindUninitializedGet" value="true" />
        <entry key="FindUnrelatedTypesInGenericContainer" value="true" />
        <entry key="FindUnreleasedLock" value="true" />
        <entry key="FindUnsatisfiedObligation" value="true" />
        <entry key="FindUnsyncGet" value="true" />
        <entry key="FindUseOfNonSerializableValue" value="true" />
        <entry key="FindUselessControlFlow" value="true" />
        <entry key="FindUselessObjects" value="true" />
        <entry key="FormatStringChecker" value="true" />
        <entry key="FunctionsThatMightBeMistakenForProcedures" value="true" />
        <entry key="HugeSharedStringConstants" value="true" />
        <entry key="IDivResultCastToDouble" value="true" />
        <entry key="IncompatMask" value="true" />
        <entry key="InconsistentAnnotations" value="true" />
        <entry key="InefficientIndexOf" value="false" />
        <entry key="InefficientInitializationInsideLoop" value="false" />
        <entry key="InefficientMemberAccess" value="false" />
        <entry key="InefficientToArray" value="false" />
        <entry key="InfiniteLoop" value="true" />
        <entry key="InfiniteRecursiveLoop" value="true" />
        <entry key="InheritanceUnsafeGetResource" value="true" />
        <entry key="InitializationChain" value="true" />
        <entry key="InitializeNonnullFieldsInConstructor" value="true" />
        <entry key="InstantiateStaticClass" value="true" />
        <entry key="IntCast2LongAsInstant" value="true" />
        <entry key="InvalidJUnitTest" value="true" />
        <entry key="IteratorIdioms" value="true" />
        <entry key="LazyInit" value="true" />
        <entry key="LoadOfKnownNullValue" value="true" />
        <entry key="LostLoggerDueToWeakReference" value="true" />
        <entry key="MethodReturnCheck" value="true" />
        <entry key="Methods" value="true" />
        <entry key="MultithreadedInstanceAccess" value="true" />
        <entry key="MutableEnum" value="true" />
        <entry key="MutableLock" value="true" />
        <entry key="MutableStaticFields" value="true" />
        <entry key="Naming" value="true" />
        <entry key="Noise" value="false" />
        <entry key="NoiseNullDeref" value="false" />
        <entry key="NoteAnnotationRetention" value="true" />
        <entry key="NoteCheckReturnValueAnnotations" value="true" />
        <entry key="NoteDirectlyRelevantTypeQualifiers" value="true" />
        <entry key="NoteJCIPAnnotation" value="true" />
        <entry key="NoteNonNullAnnotations" value="false" />
        <entry key="NoteNonnullReturnValues" value="false" />
        <entry key="NoteSuppressedWarnings" value="true" />
        <entry key="NoteUnconditionalParamDerefs" value="true" />
        <entry key="NumberConstructor" value="true" />
        <entry key="OptionalReturnNull" value="true" />
        <entry key="OverridingEqualsNotSymmetrical" value="true" />
        <entry key="PreferZeroLengthArrays" value="true" />
        <entry key="PublicSemaphores" value="false" />
        <entry key="QuestionableBooleanAssignment" value="true" />
        <entry key="ReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass" value="true" />
        <entry key="ReadReturnShouldBeChecked" value="true" />
        <entry key="RedundantConditions" value="true" />
        <entry key="RedundantInterfaces" value="true" />
        <entry key="ReflectiveClasses" value="true" />
        <entry key="RepeatedConditionals" value="true" />
        <entry key="ResolveAllReferences" value="false" />
        <entry key="RuntimeExceptionCapture" value="true" />
        <entry key="SerializableIdiom" value="true" />
        <entry key="StartInConstructor" value="true" />
        <entry key="StaticCalendarDetector" value="true" />
        <entry key="StringConcatenation" value="true" />
        <entry key="SuperfluousInstanceOf" value="true" />
        <entry key="SuspiciousThreadInterrupted" value="true" />
        <entry key="SwitchFallthrough" value="true" />
        <entry key="SynchronizationOnSharedBuiltinConstant" value="true" />
        <entry key="SynchronizeAndNullCheckField" value="true" />
        <entry key="SynchronizeOnClassLiteralNotGetClass" value="true" />
        <entry key="SynchronizingOnContentsOfFieldToProtectField" value="true" />
        <entry key="TestASM" value="false" />
        <entry key="TestDataflowAnalysis" value="false" />
        <entry key="TestingGround" value="false" />
        <entry key="TestingGround2" value="false" />
        <entry key="TrainFieldStoreTypes" value="true" />
        <entry key="TrainLongInstantfParams" value="true" />
        <entry key="TrainNonNullAnnotations" value="true" />
        <entry key="TrainUnconditionalDerefParams" value="true" />
        <entry key="URLProblems" value="true" />
        <entry key="UncallableMethodOfAnonymousClass" value="true" />
        <entry key="UnnecessaryMath" value="true" />
        <entry key="UnreadFields" value="true" />
        <entry key="UselessSubclassMethod" value="false" />
        <entry key="VarArgsProblems" value="true" />
        <entry key="VolatileUsage" value="true" />
        <entry key="WaitInLoop" value="true" />
        <entry key="WrongMapIterator" value="true" />
        <entry key="XMLFactoryBypass" value="true" />
      </map>
    </option>
    <option name="_reportCategories">
      <map>
        <entry key="BAD_PRACTICE" value="true" />
        <entry key="CORRECTNESS" value="true" />
        <entry key="EXPERIMENTAL" value="true" />
        <entry key="I18N" value="true" />
        <entry key="MALICIOUS_CODE" value="true" />
        <entry key="MT_CORRECTNESS" value="true" />
        <entry key="PERFORMANCE" value="true" />
        <entry key="SECURITY" value="true" />
        <entry key="STYLE" value="true" />
      </map>
    </option>
    <orderEntry type="library" name="Maven: com.yihu.core:ehr-dbhelper:1.1.7" level="project" />
  </component>
</module>

+ 9 - 2
Hos-resource/pom.xml

@ -10,6 +10,13 @@
    <packaging>war</packaging>
    <properties>
    </properties>
    <pluginRepositories>
        <pluginRepository>
            <id>Releases</id>
            <name>Releases</name>
            <url>http://172.19.103.47:8081/nexus/content/repositories/central/</url>
        </pluginRepository>
    </pluginRepositories>
    <!--用于发布到服务器 对应setting的对应server表情里面的id -->
    <distributionManagement>
        <repository>
@ -73,7 +80,6 @@
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
@ -84,7 +90,7 @@
        <dependency>
            <groupId>com.yihu.hos.resource</groupId>
            <artifactId>Hos-Framework</artifactId>
            <version>1.0-SNAPSHOT</version>
            <version>1.0</version>
        </dependency>
        <!--<dependency>-->
        <!--<groupId>com.yihu.ehr</groupId>-->
@ -130,6 +136,7 @@
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>

+ 216 - 29
Hos-resource/src/main/java/com/yihu/ehr/datacollect/service/DatacollectService.java

@ -1,5 +1,6 @@
package com.yihu.ehr.datacollect.service;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.ehr.common.Services;
import com.yihu.ehr.datacollect.dao.intf.IDatacollectDao;
@ -14,6 +15,8 @@ import com.yihu.ehr.dbhelper.jdbc.DBHelper;
import com.yihu.ehr.dbhelper.mongodb.MongodbHelper;
import com.yihu.ehr.framework.constrant.DateConvert;
import com.yihu.ehr.framework.model.ActionResult;
import com.yihu.ehr.framework.util.httpclient.HttpHelper;
import com.yihu.ehr.framework.util.httpclient.HttpResponse;
import com.yihu.ehr.framework.util.log.LogService;
import com.yihu.ehr.resource.service.IStdService;
import org.json.JSONObject;
@ -22,10 +25,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
 * 数据采集执行服务
@ -234,6 +234,41 @@ public class DatacollectService implements IDatacollectService {
        return "";
    }
    /**
     * 采集入库
     * @return
     */
    private String intoMongodb(List<JSONObject> list,String schemeVersion,String stdDatasetCode,JSONArray colList)
    {
        try{
            if(list!=null && list.size()>0)
            {
                //字典转换
                list = translateDict(list, colList,schemeVersion);
                //采集到mongodb
                boolean b = mongo.insert(stdDatasetCode,list);
                if(!b)
                {
                    if(mongo.errorMessage!=null && mongo.errorMessage.length()>0)
                    {
                        System.out.print(mongo.errorMessage);
                        return mongo.errorMessage;
                    }
                    else {
                        return "Mongodb保存失败!(表:"+stdDatasetCode+")";
                    }
                }
            }
        }
        catch (Exception e)
        {
            return e.getMessage();
        }
        return "";
    }
    /**
     * 数据库表采集
     * @return
@ -428,45 +463,197 @@ public class DatacollectService implements IDatacollectService {
    }
    /**
     * 采集入库
     * @return
     * webservice采集
     */
    private String intoMongodb(List<JSONObject> list,String schemeVersion,String stdDatasetCode,JSONArray colList)
    private String collectWebservice(DtoJobDataset ds,String schemeVersion,String logId) throws Exception
    {
        try{
            if(list!=null && list.size()>0)
            {
                //字典转换
                list = translateDict(list, colList,schemeVersion);
        String message = "";
        String datasetId = ds.getJobDatasetId();
        String jobDatasetName = ds.getJobDatasetName();
        String condition=ds.getJobDatasetCondition();
        String key=ds.getJobDatasetKey();
        String keytype=ds.getJobDatasetKeytype();
        String keyvalue=ds.getJobDatasetKeyvalue();
        String orgCode = ds.getOrgCode();
        String config = ds.getConfig();
        String datasourceId = ds.getDatasourceId();
        //webservice地址
        ObjectMapper objectMapper = new ObjectMapper();
        Map<String,String> mapConfig = objectMapper.readValue(config,Map.class);
        if(mapConfig.containsKey("protocol") && mapConfig.containsKey("url"))
        {
            String url = mapConfig.get("protocol") + "://" + mapConfig.get("url");
            //获取数据集映射
            List datasetString = stdService.getDatasetByScheme(schemeVersion, datasetId);
            JSONArray datasetList = new JSONArray(datasetString);
                //采集到mongodb
                boolean b = mongo.insert(stdDatasetCode,list);
                if(!b)
                {
                    if(mongo.errorMessage!=null && mongo.errorMessage.length()>0)
            if(datasetList!=null &&datasetList.length()>0)
            {
                String stdTableName = datasetList.getJSONObject(0).optString("stdDatasetCode");
                String adapterTableName = datasetList.getJSONObject(0).optString("adapterDatasetCode");
                //获取数据集字段映射结构
                List colString = stdService.getDatacolByScheme(schemeVersion,datasetId);
                JSONArray colList = new JSONArray(colString);
                if(colList!=null && colList.length()>0) {
                    Map<String,Object> params = new HashMap<>();
                    String where = "";
                    params.put("table",adapterTableName);//表名
                    String paramsStr = "";
                    //设置最大值
                    if(keyvalue!=null && keyvalue.length()>0)
                    {
                        System.out.print(mongo.errorMessage);
                        return mongo.errorMessage;
                        if(condition.length()>0 && !condition.equals("[]"))
                        {
                            paramsStr = condition.substring(0,condition.length()-1) + ",{\"andOr\":\" AND \",\"field\":\""+key+"\",\"condition\":\" > \",\"value\":\""+keyvalue+"\"}]";
                        }
                        else{
                            paramsStr = "[{\"andOr\":\" AND \",\"field\":\""+key+"\",\"condition\":\" > \",\"value\":\""+keyvalue+"\"}]";
                        }
                    }
                    else {
                        return "Mongodb保存失败!(表:"+stdDatasetCode+")";
                    else{
                        paramsStr = condition;
                    }
                    params.put("params",paramsStr);
                    params.put("key",key);
                    params.put("keytype",keytype);
                    //获取总条数和最大值
                    HttpResponse responseCount = HttpHelper.get(url,params);
                    Map<String,String> mapCount = objectMapper.readValue(responseCount.getBody(),Map.class);
                    if(responseCount.getStatusCode() == 200 && mapCount.containsKey("count"))
                    {
                        Integer count =  Integer.parseInt(mapCount.get("count"));
                        if(count == 0) //0条记录,无需采集
                        {
                            message = "0条记录,无需采集。";
                        }
                        else {
                            params.remove("key");
                            params.remove("keytype");
                            int successCount = 0;
                            String maxKeyvalue = mapCount.get("maxKeyvalue");
                            int countPage = 1;
                            if(count > maxNum) //分页采集
                            {
                                countPage = count/maxNum+1;
                            }
                            for(int i=0;i<countPage;i++)
                            {
                                int rows = maxNum;
                                if(i+1==countPage){
                                    rows = count-i*maxNum;
                                }
                                int start = i*maxNum; //开始行数
                                RsJobLogDetail detail = new RsJobLogDetail();
                                detail.setStartTime(new Date());
                                detail.setJobLogId(logId);
                                detail.setDatasourceId(datasourceId);
                                detail.setConfig(config);
                                detail.setStdDatasetCode(stdTableName);
                                detail.setJobDatasetId(datasetId);
                                detail.setJobDatasetName(ds.getJobDatasetName());
                                detail.setJobId(ds.getJobId());
                                detail.setJobSql("{table:\""+adapterTableName+"\",where:\""+where+"\",start:\""+start+"\",rows:\""+rows+"\"}");
                                detail.setJobNum(i+1);
                                detail.setJobDatasetRows(rows);
                                detail.setSchemeVersion(schemeVersion);
                                //分页获取数据
                                params.put("start",start);
                                params.put("rows",rows);
                                HttpResponse responseList = HttpHelper.get(url,params);
                                String msg = "";
                                if(responseList.getStatusCode() == 200) {
                                    JavaType javaType = objectMapper.getTypeFactory().constructParametricType(List.class, JSONObject.class);
                                    List<JSONObject> list = objectMapper.readValue(responseList.getBody(), javaType);
                                    if (list != null) {
                                        List<JSONObject> listNew = new ArrayList<>();
                                        //遍历所有数据,转译数据元代码
                                        for(JSONObject obj : list)
                                        {
                                            JSONObject objNew = new JSONObject();
                                            //转译字段名
                                            for(int j=0; j< colList.length();j++)
                                            {
                                                JSONObject col = colList.getJSONObject(j);
                                                String adapterMetadataCode = col.optString("adapterMetadataCode");
                                                String stdMetadataCode = col.optString("stdMetadataCode");
                                                if(obj.has(adapterMetadataCode))
                                                {
                                                    objNew.put(stdMetadataCode,obj.get(adapterMetadataCode));
                                                }
                                            }
                                            listNew.add(objNew);
                                        }
                                        msg = intoMongodb(listNew, schemeVersion, stdTableName, colList); //返回信息
                                    } else {
                                        msg = "查询数据为空!";
                                    }
                                }
                                else{
                                    msg = responseList.getBody();
                                    if(msg.length()==0)
                                    {
                                        msg = "获取数据失败!";
                                    }
                                }
                                if(msg.length()>0)
                                {
                                    //任务日志细表异常操作
                                    detail.setJobStatus("0");
                                    detail.setJobContent(msg);
                                    LogService.getLogger().info(msg); //文本日志
                                }
                                else{
                                    detail.setJobStatus("1");
                                    detail.setJobContent("采集成功!");
                                    successCount += rows;
                                }
                                detail.setEndTime(new Date());
                                datacollectLogDao.saveEntity(detail);
                            }
                            //修改最大值
                            if(maxKeyvalue!=null&& maxKeyvalue.length()>0)
                            {
                                datacollectLogDao.updateJobDatasetKeyvalue(ds.getId(),maxKeyvalue);
                                LogService.getLogger().info("修改任务数据集最大值为"+maxKeyvalue+"。"); //文本日志
                            }
                            message = jobDatasetName + "采集成功"+successCount+"条数据,总条数"+count+"条。";
                        }
                    }
                    else{
                        throw new Exception(jobDatasetName + "获取总条数异常!"+responseCount.getBody());
                    }
                }
                else
                {
                    throw new Exception(jobDatasetName + "数据集字段映射为空!");
                }
            }
            else{
                throw new Exception(jobDatasetName + "数据集映射为空!");
            }
        }
        catch (Exception e)
        {
            return e.getMessage();
        else{
            throw new Exception("非法webservice路径!");
        }
        return "";
        LogService.getLogger().info(message);
        return message;
    }
    /**
     * 执行任务
     */
@ -504,7 +691,7 @@ public class DatacollectService implements IDatacollectService {
                        if (type != null) {
                            if (type.equals("1")) //Web Service
                            {
                                message = "Web Service采集。\n";
                                message = collectWebservice(ds, schemeVersion, logId) + "\n";
                            } else if (type.equals("2"))//文件系统
                            {
                                message = "文件系统采集。\n";

+ 1 - 0
Hos-resource/src/main/java/com/yihu/ehr/standard/controller/StdMetadataController.java

@ -125,6 +125,7 @@ public class StdMetadataController extends BaseController {
            @RequestParam(value = "page", required = false) Integer page) {
        Map<String,String> condition = new HashMap<String,String>();
        if (StringUtil.isEmpty(initMetadataNm)) {
            initMetadataNm = "";
        }
        if(StringUtil.isEmpty(q)){

+ 9 - 2
Hos-resource/src/main/webapp/WEB-INF/ehr/jsp/datacollect/editorJobJs.jsp

@ -597,8 +597,15 @@
                    //数据集不能为空
                    if(dataset == null || dataset =="[]")
                    {
                        $.ligerDialog.error("请选择数据集!");
                        return false;
                        me.setCheckVal();
                        dataset = $("#txtJobDataset").val();
                        if(dataset == null || dataset =="[]") {
                            $.ligerDialog.error("请选择数据集!");
                            return false;
                        }
                        else{
                            return true;
                        }
                    }
                    else{
                        return true;

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

@ -238,7 +238,7 @@
                    y1.push(data[i].count);
                    y2.push(data[i].success);
                }
                me.setTop(count,success,(success/count *100).toFixed(2));
                me.setTop(count,success,count?(success/count *100).toFixed(2):0);
                me.chart.setOption({
                    title: {text:"采集情况"},
@ -249,7 +249,7 @@
                    xAxis:[{type:"category",data:x}],
                    yAxis:[{type:"value"}],
                    series:[{name:"数据总数",type:"bar",data:y1,markLine:{data:[{type:"average",name:"平均值"}]}},
                        {name:"成功数据",type:"bar",data:y2,markLine:{data:[{type:"average",name:"平均值"}]}}]});
                        {name:"成功数据",type:"bar",data:y2,markLine:{data:[{type:"average",name:"平均值"}]}}]},true);
                window.onresize=me.chart.resize;
            }
            else{
@ -287,7 +287,7 @@
                                    y1.push(data[i].y1);
                                    y2.push(data[i].y2);
                                }
                                me.setTop(count,success,(success/count *100).toFixed(2));
                                me.setTop(count,success,count?(success/count *100).toFixed(2):0);
                                me.chart.setOption({title:{text:"采集情况"},
                                    tooltip:{trigger:"axis"},
@ -297,7 +297,7 @@
                                    xAxis:[{type:"category",data:x}],
                                    yAxis:[{type:"value"}],
                                    series:[{name:"数据总数",type:"bar",data:y1,markLine:{data:[{type:"average",name:"平均值"}]}},
                                        {name:"成功数据",type:"bar",data:y2,markLine:{data:[{type:"average",name:"平均值"}]}}]});
                                        {name:"成功数据",type:"bar",data:y2,markLine:{data:[{type:"average",name:"平均值"}]}}]},true);
                                window.onresize=me.chart.resize;
                            }
                            else{

+ 1 - 1
Hos-resource/src/main/webapp/develop/lib/ligerui/custom/ligerEx.js

@ -226,7 +226,7 @@
                $("#"+fieldControlId).ligerComboBox({width:100,data:option.fields,textField:"text",extendField:"type",
                    onSelected:function(value,text,row){
                        //改变条件控件
                        if(row.type=="NUMERIC")
                        if(row.type=="NUMERIC"||row.type=="FLOAT")
                        {
                            $("#"+conditionControlId).ligerComboBox("setData",option.numberTypeData)
                        }