Browse Source

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

Airhead 8 years ago
parent
commit
df63abf067
27 changed files with 403 additions and 160 deletions
  1. 19 18
      hos-camel/hos-camel.iml
  2. 29 1
      hos-camel/src/main/java/compiler/JavaCompilerUtil.java
  3. 0 5
      hos-core/src/main/java/com/yihu/hos/core/datatype/StringUtil.java
  4. 0 5
      hos-core/src/main/java/com/yihu/hos/core/log/impl/Sl4jLoggerFactory.java
  5. 18 14
      hos-web-framework/hos-web-framework.iml
  6. 34 34
      hos-web-framework/src/main/java/com/yihu/hos/web/framework/util/GridFSUtil.java
  7. 0 4
      hos-web-framework/src/main/java/com/yihu/hos/web/framework/util/PKUtil.java
  8. 24 0
      src/main/java/com/yihu/hos/config/FilePathConfig.java
  9. 10 0
      src/main/java/com/yihu/hos/datacollect/model/RsJobConfig.java
  10. 6 15
      src/main/java/com/yihu/hos/datacollect/service/DatacollectManager.java
  11. 7 4
      src/main/java/com/yihu/hos/system/controller/AppController.java
  12. 32 6
      src/main/java/com/yihu/hos/system/controller/FlowController.java
  13. 9 0
      src/main/java/com/yihu/hos/system/dao/FlowClassDao.java
  14. 9 0
      src/main/java/com/yihu/hos/system/dao/FlowTempDao.java
  15. 1 0
      src/main/java/com/yihu/hos/system/dao/intf/IFlowClassDao.java
  16. 2 0
      src/main/java/com/yihu/hos/system/dao/intf/IFlowTempDao.java
  17. 84 9
      src/main/java/com/yihu/hos/system/service/FlowManager.java
  18. 7 0
      src/main/java/com/yihu/hos/system/service/intf/IFlowManage.java
  19. 26 1
      src/main/resources/application.yml
  20. 5 0
      src/main/resources/resource/RsJobConfig.hbm.xml
  21. 2 1
      src/main/webapp/WEB-INF/ehr/jsp/datacollect/editorJob.jsp
  22. 55 19
      src/main/webapp/WEB-INF/ehr/jsp/datacollect/editorJobJs.jsp
  23. 1 1
      src/main/webapp/WEB-INF/ehr/jsp/system/app/appJs.jsp
  24. 3 3
      src/main/webapp/WEB-INF/ehr/jsp/system/app/editorApp.jsp
  25. 3 3
      src/main/webapp/WEB-INF/ehr/jsp/system/app/editorAppJs.jsp
  26. 1 1
      src/main/webapp/WEB-INF/ehr/jsp/system/flow/editorFlow.jsp
  27. 16 16
      src/main/webapp/WEB-INF/ehr/jsp/system/flow/editorFlowJs.jsp

+ 19 - 18
hos-camel/hos-camel.iml

@ -24,38 +24,31 @@
    <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.springframework:spring-core:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-aop:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-beans:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-context:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-expression:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-tx:4.3.3.RELEASE" 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.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-messaging:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-context:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-tx:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-beans:4.3.3.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-rt-frontend-jaxrs: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.1.5" 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.ow2.asm:asm:5.0.4" 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" />
@ -65,6 +58,11 @@
    <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.springframework:spring-core:4.3.3.RELEASE" 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-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.apache.cxf:cxf-rt-databinding-jaxb:3.1.5" 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" />
@ -77,12 +75,12 @@
    <orderEntry type="library" name="Maven: org.apache.camel:camel-jetty9:2.17.1" level="project" />
    <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-server:9.3.11.v20160721" level="project" />
    <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-http:9.3.11.v20160721" level="project" />
    <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-util:9.3.11.v20160721" level="project" />
    <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-io:9.3.11.v20160721" level="project" />
    <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-servlet:9.3.11.v20160721" level="project" />
    <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-security:9.3.11.v20160721" level="project" />
    <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-servlets:9.3.11.v20160721" level="project" />
    <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-continuation:9.3.11.v20160721" level="project" />
    <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-util:9.3.11.v20160721" level="project" />
    <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-client:9.3.11.v20160721" level="project" />
    <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-jmx:9.3.11.v20160721" level="project" />
    <orderEntry type="library" name="Maven: org.apache.camel:camel-jetty-common:2.17.1" level="project" />
@ -104,7 +102,6 @@
    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.3.1" level="project" />
    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.8.3" level="project" />
    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.8.3" level="project" />
    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.8.3" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-web:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-mongodb:1.4.1.RELEASE" level="project" />
@ -123,23 +120,27 @@
    <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: commons-codec:commons-codec:1.10" level="project" />
    <orderEntry type="library" name="Maven: com.squareup.okhttp3:okhttp:3.4.1" level="project" />
    <orderEntry type="library" name="Maven: com.squareup.okio:okio:1.9.0" level="project" />
    <orderEntry type="library" name="Maven: com.belerweb:pinyin4j:2.5.0" level="project" />
    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.8.3" 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: org.apache.httpcomponents:httpmime:4.5.2" level="project" />
    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.5" 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: 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-swagger-ui:2.4.0" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:1.4.1.RELEASE" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:1.4.1.RELEASE" level="project" />
@ -148,10 +149,10 @@
    <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: 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" />
    <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:1.10.19" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:2.1" 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.hamcrest:hamcrest-library:1.3" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.3.0" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.json:json:20140107" level="project" />

+ 29 - 1
hos-camel/src/main/java/compiler/JavaCompilerUtil.java

@ -125,9 +125,37 @@ public class JavaCompilerUtil {
    }
    public static void testCompiler(String path,String packageName,String className) throws IOException {
        String javaPath = path+ "/%s/%s.java";
        String classPath = JavaCompilerUtil.class.getProtectionDomain().getCodeSource().getLocation().getPath() ;
        JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
        // 建立DiagnosticCollector对象
        DiagnosticCollector diagnostics = new DiagnosticCollector();
        StandardJavaFileManager fileManager = compiler.getStandardFileManager(diagnostics, null, null);
        // 建立源文件对象,每个文件被保存在一个从JavaFileObject继承的类中
        Iterable compilationUnits = fileManager.getJavaFileObjects(String.format(javaPath, packageName, className));
        // options命令行选项
        // 指定的路径一定要存在,javac不会自己创建文件夹
        Iterable<String> options = Arrays.asList(  "-d", path);
        JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, diagnostics, options, null, compilationUnits);
        // 编译源程序
        boolean success = task.call();
        if (!success){
            List diagnostics1 = diagnostics.getDiagnostics();
            for (int i=0;i<diagnostics1.size();i++){
                System.out.println(diagnostics1.get(i).toString());
            }
        }
        fileManager.close();
        System.out.println((success) ? "编译成功" : "编译失败");
    }
    public static void main(String[] args) {
        try {
            compiler("/crawler/route", "QuartzRoute","QuartzRoute001","xx000xx");
//            compiler("/crawler/route", "QuartzRoute","QuartzRoute001","xx000xx");
            testCompiler("D:/", "/crawler/route", "QuartzRoute");
        } catch (IOException e) {
            e.printStackTrace();
        }

+ 0 - 5
hos-core/src/main/java/com/yihu/hos/core/datatype/StringUtil.java

@ -1389,11 +1389,6 @@ public class StringUtil {
        return value;
    }
    public static void main(String[] args) {
        String str = "?��???!";
    }
    /**
     * ***************************************************** ??
     * ??????��??????????null???????????????????? ????????param Content:???????????? ????????? ??

+ 0 - 5
hos-core/src/main/java/com/yihu/hos/core/log/impl/Sl4jLoggerFactory.java

@ -36,11 +36,6 @@ public class Sl4jLoggerFactory implements LoggerFactory.InternalLoggerFactory {
	public Logger getLogger(String name) {
		return new Sl4jLogger(name);
	} 
	
	public static void main(String[] args){
		Logger log = new Sl4jLogger(Sl4jLoggerFactory.class);
		log.info("test");
	}
}
class Sl4jLogger extends Logger { 

+ 18 - 14
hos-web-framework/hos-web-framework.iml

@ -89,29 +89,26 @@
    <orderEntry type="library" name="Maven: org.springframework:spring-messaging:4.2.8.RELEASE" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:1.3.8.RELEASE" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:4.2.8.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: eu.medsea.mimeutil:mime-util:2.1.3" level="project" />
    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.21" level="project" />
    <orderEntry type="library" name="Maven: log4j:log4j:1.2.14" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-jpa:1.4.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:1.4.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:1.4.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-core:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-context:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-aop:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-beans:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-expression:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:1.4.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:1.4.1.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: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-aop:1.4.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-aop:4.3.3.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.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-jdbc:8.5.5" level="project" />
    <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-juli:8.5.5" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-tx:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.hibernate:hibernate-core:5.0.11.Final" level="project" />
    <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.0.Final" level="project" />
    <orderEntry type="library" name="Maven: org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final" level="project" />
@ -122,10 +119,12 @@
    <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.11.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.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:1.12.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-orm:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-context:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-tx:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-beans:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-aspects:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:1.4.1.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:1.4.1.RELEASE" level="project" />
@ -137,9 +136,9 @@
    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.3.1" level="project" />
    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.8.3" level="project" />
    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.8.3" level="project" />
    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.8.3" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-web:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-expression:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-mongodb:1.4.1.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" />
@ -161,20 +160,24 @@
    <orderEntry type="library" name="Maven: com.squareup.okhttp3:okhttp:3.4.1" level="project" />
    <orderEntry type="library" name="Maven: com.squareup.okio:okio:1.9.0" 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: com.fasterxml.jackson.core:jackson-core:2.8.3" 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: org.apache.httpcomponents:httpclient:4.5.2" level="project" />
    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.5.2" level="project" />
    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.5" level="project" />
    <orderEntry type="library" name="Maven: org.springframework:spring-core:4.3.3.RELEASE" 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: 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-swagger-ui:2.4.0" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:1.4.1.RELEASE" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:1.4.1.RELEASE" level="project" />
@ -184,14 +187,15 @@
    <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" />
    <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:1.10.19" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:2.1" 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.hamcrest:hamcrest-library:1.3" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.3.0" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.json:json:20140107" level="project" />
    <orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:4.3.3.RELEASE" level="project" />
    <orderEntry type="library" name="Maven: javax.transaction:javax.transaction-api:1.2" 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" />
  </component>

+ 34 - 34
hos-web-framework/src/main/java/com/yihu/hos/web/framework/util/GridFSUtil.java

@ -377,40 +377,40 @@ public class GridFSUtil {
    public static void main(String[] args) {
        try {
            //上传
            Map<String,Object> params= new HashMap<>();
//            params.put("cda_id","111");
//            params.put("report_id","1001");
            params.put("patient_id","1001");
            params.put("event_no","1001");
//            String fileName = "e:/test/肺2.jpg";
//            uploadFile("mydb", fileName,params);
            //下载
//            String filePath="e:/test/xiao_copy.jpg";
//            downFile("mydb",filePath,"579067939724e11514b2eead");
            //删除
//            deleteFile("mydb","57906e369724e11dd8e75798");
            //查询
//            List<GridFSFile> fsFiles  = findFiles("mydb",params);
            // 根据objectId集合 查询
//            List<ObjectId> list=new ArrayList<>();
//            list.add(new ObjectId("5791c9399724e12b9437b229"));
//            list.add(new ObjectId("5795aab07a2b9020ec19fdfa"));
//            List<GridFSFile> fs=findFsFiles("mydb",list);
            //测试查询类
            tTestFind("document","CDA_TEST",params);
            //批量下载
//            String filePath="e:/test/";
//            downFileList("mydb",filePath, fs);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
//    public static void main(String[] args) {
//        try {
//            //上传
//            Map<String,Object> params= new HashMap<>();
////            params.put("cda_id","111");
////            params.put("report_id","1001");
//            params.put("patient_id","1001");
//            params.put("event_no","1001");
////            String fileName = "e:/test/肺2.jpg";
////            uploadFile("mydb", fileName,params);
//            //下载
////            String filePath="e:/test/xiao_copy.jpg";
////            downFile("mydb",filePath,"579067939724e11514b2eead");
//            //删除
////            deleteFile("mydb","57906e369724e11dd8e75798");
//            //查询
////            List<GridFSFile> fsFiles  = findFiles("mydb",params);
//            // 根据objectId集合 查询
////            List<ObjectId> list=new ArrayList<>();
////            list.add(new ObjectId("5791c9399724e12b9437b229"));
////            list.add(new ObjectId("5795aab07a2b9020ec19fdfa"));
//
////            List<GridFSFile> fs=findFsFiles("mydb",list);
//            //测试查询类
//            tTestFind("document","CDA_TEST",params);
//            //批量下载
////            String filePath="e:/test/";
////            downFileList("mydb",filePath, fs);
//
//
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
    /*************************************** MineType 工具类 *********************************/

+ 0 - 4
hos-web-framework/src/main/java/com/yihu/hos/web/framework/util/PKUtil.java

@ -22,8 +22,4 @@ public class PKUtil {
        System.out.println("==============生成PKUtil===============");
        return UUID.randomUUID().toString().replaceAll("-", "");
    }
    public static void main(String[] args) {
        System.out.println(PKUtil.getUuid().length());
    }
}

+ 24 - 0
src/main/java/com/yihu/hos/config/FilePathConfig.java

@ -0,0 +1,24 @@
package com.yihu.hos.config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
/**
 * Created by zhenglingfeng on 2016/11/23.
 */
@Configuration
public class FilePathConfig {
    @Value("${upload.file.path}")
    private String filePath;
    @Value("${upload.server.path}")
    private String serverPath;
    public String getFilePath() {
        return filePath;
    }
    public String getServerPath() {
        return serverPath;
    }
}

+ 10 - 0
src/main/java/com/yihu/hos/datacollect/model/RsJobConfig.java

@ -24,12 +24,22 @@ public class RsJobConfig implements java.io.Serializable {
	private Date repeatEndTime;
	private Integer delayTime;
	private Integer flowId;
	private Integer flowTempId;
	// Constructors
	/** default constructor */
	public RsJobConfig() {
	}
	public Integer getFlowTempId() {
		return flowTempId;
	}
	public void setFlowTempId(Integer flowTempId) {
		this.flowTempId = flowTempId;
	}
	public Integer getFlowId() {
		return flowId;
	}

+ 6 - 15
src/main/java/com/yihu/hos/datacollect/service/DatacollectManager.java

@ -5,7 +5,6 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.yihu.hos.common.Services;
import com.yihu.hos.core.http.HttpClientKit;
import com.yihu.hos.datacollect.dao.intf.IDatacollectDao;
import com.yihu.hos.datacollect.model.*;
import com.yihu.hos.datacollect.service.intf.IDatacollectManager;
@ -13,6 +12,8 @@ import com.yihu.hos.resource.model.RsDatasourceDataset;
import com.yihu.hos.resource.service.IStdService;
import com.yihu.hos.standard.model.adapter.AdapterDatasetModel;
import com.yihu.hos.standard.model.standard.StdDataSetModel;
import com.yihu.hos.system.service.FlowManager;
import com.yihu.hos.system.service.intf.IFlowManage;
import com.yihu.hos.web.framework.model.ActionResult;
import com.yihu.hos.web.framework.model.DataGridResult;
import com.yihu.hos.web.framework.model.DictItem;
@ -26,7 +27,6 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -39,6 +39,9 @@ public class DatacollectManager implements IDatacollectManager {
    @Resource(name = Services.StdService)
    private IStdService stdManager;
    @Resource(name = FlowManager.BEAN_ID)
    private IFlowManage flowManage;
    @Autowired
    private ObjectMapper objectMapper;
@ -222,6 +225,7 @@ public class DatacollectManager implements IDatacollectManager {
    @Transactional
    public ActionResult addJob(RsJobConfig obj, String cron, String jobDataset) throws Exception {
        datacollectDao.saveEntity(obj);
        boolean succ = flowManage.genCamelFile(obj.getFlowTempId(),cron);
        saveJobDataset(obj.getId(), jobDataset);
        //quartz新增任务
@ -532,18 +536,5 @@ public class DatacollectManager implements IDatacollectManager {
    }
    /**
     * TODO 调用broker接口生成camel相关文件
     * @param jobId
     * @param newCron
     * @throws Exception
     */
    private void genCamelFile(String jobId, String newCron) throws Exception {
        String url = "http://192.168.131.11:8080/esb/genCamelFile";
        Map<String,String> params = new HashMap<>();
        String result = HttpClientKit.post(url, params).getBody();
    }
}

+ 7 - 4
src/main/java/com/yihu/hos/system/controller/AppController.java

@ -1,11 +1,13 @@
package com.yihu.hos.system.controller;
import com.yihu.hos.config.FilePathConfig;
import com.yihu.hos.system.model.SystemApp;
import com.yihu.hos.system.model.SystemServiceEndpoint;
import com.yihu.hos.system.service.intf.IAppManager;
import com.yihu.hos.web.framework.model.Result;
import com.yihu.hos.web.framework.util.controller.BaseController;
import org.apache.commons.beanutils.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.StringUtils;
@ -30,7 +32,8 @@ import java.util.Map;
public class AppController extends BaseController {
    @Resource(name = "appManager")
    private IAppManager appManager;
    @Autowired
    private FilePathConfig filePathConfig;
    /**
     *  应用管理管理界面
@ -331,12 +334,12 @@ public class AppController extends BaseController {
    @ResponseBody
    public Object upload(@RequestParam MultipartFile file,HttpSession session,HttpServletRequest request
    ) {
        String basePath = getServletContext().getRealPath("/") + "upload";
        String path = appManager.uploadFile(file,basePath);
        String basePath = filePathConfig.getFilePath();
        String path = appManager.uploadFile(file, basePath);
        if (StringUtils.isEmpty(path)){
            return Result.error("上传失败");
        }else {
            return Result.success(path);
            return Result.success(filePathConfig.getServerPath() + "/" + path);
        }
    }

+ 32 - 6
src/main/java/com/yihu/hos/system/controller/FlowController.java

@ -9,6 +9,7 @@ import com.yihu.hos.system.service.FlowManager;
import com.yihu.hos.system.service.intf.IFlowManage;
import com.yihu.hos.web.framework.model.Result;
import com.yihu.hos.web.framework.util.controller.BaseController;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.StringUtils;
@ -20,7 +21,6 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
@ -40,6 +40,9 @@ public class FlowController extends BaseController {
    @Resource(name = FlowManager.BEAN_ID)
    private IFlowManage flowManage;
    @Value("${esb.camelFile}")
    private String camelFile;
    /**
     *  流程管理管理界面
     *
@ -186,12 +189,36 @@ public class FlowController extends BaseController {
    /**
     * 文件上传
     * @param file
     * @param session
     * @param request
     * @return
     */
    @RequestMapping(value = "/upload", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
    @ResponseBody
    public Object upload(@RequestParam MultipartFile file,HttpSession session
    public Object upload(@RequestParam MultipartFile file,HttpServletRequest request
    ) {
        //TODO 文件地址设置
        String packageName = request.getParameter("packageName");
        String className =  request.getParameter("className");
        StringBuilder basePath = new StringBuilder(camelFile + File.separator );;
        if (packageName!=null){
            String packagePath[] = packageName.split("\\.");
            for (int i=0;i<packagePath.length;i++){
                basePath.append(packagePath[i]).append(File.separator);
            }
        }
        String path = flowManage.uploadFile(file, basePath.toString());
        if (StringUtils.isEmpty(path)){
            return Result.error("上传失败");
        }else {
            return Result.success(basePath.toString()+ File.separator +path);
        }
    }
    @RequestMapping(value = "/uploadImg", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
    @ResponseBody
    public Object uploadImg(@RequestParam MultipartFile file,HttpServletRequest request
    ) {
        //TODO 文件地址设置
        String basePath = this.getServletContext().getRealPath(File.separator) + File.separator + "upload";
@ -205,11 +232,10 @@ public class FlowController extends BaseController {
    }
    @RequestMapping(value = "/flowList", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
    @RequestMapping(value = "/flowTempList", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
    @ResponseBody
    public Result flowList(String type) {
    public Result flowTempList(String type) {
        try {
            Result result = flowManage.getFlowList(type);
            return result;
        } catch (Exception ex) {

+ 9 - 0
src/main/java/com/yihu/hos/system/dao/FlowClassDao.java

@ -30,6 +30,15 @@ public class FlowClassDao extends SQLGeneralDAO implements IFlowClassDao {
        return new ArrayList<>();
    }
    @Override
    public List<SystemServiceFlowClass> getFlowClass(Integer flowId, String type) throws Exception {
        List<SystemServiceFlowClass> flowClasses = (List<SystemServiceFlowClass>) super.hibernateTemplate.find("from SystemServiceFlowClass s where s.flowId=? and type=? ", flowId,type);
        if (flowClasses != null && flowClasses.size() > 0) {
            return flowClasses;
        }
        return new ArrayList<>();
    }
    @Override
    public boolean deleteFlowClassByFlowId(Integer flowId) {
        try {

+ 9 - 0
src/main/java/com/yihu/hos/system/dao/FlowTempDao.java

@ -29,6 +29,15 @@ public class FlowTempDao extends SQLGeneralDAO implements IFlowTempDao {
        return new ArrayList<>();
    }
    @Override
    public List<SystemServiceFlowTemp> getFlowTemps(Integer flowId, String type) throws Exception {
        List<SystemServiceFlowTemp> flowTemps = (List<SystemServiceFlowTemp>) super.hibernateTemplate.find("from SystemServiceFlowTemp s where s.flowId=? and type=? ", flowId,type);
        if (flowTemps != null && flowTemps.size() > 0) {
            return flowTemps;
        }
        return new ArrayList<>();
    }
    @Override
    public boolean deleteFlowTempByFlowId(Integer flowId) {
        try {

+ 1 - 0
src/main/java/com/yihu/hos/system/dao/intf/IFlowClassDao.java

@ -12,6 +12,7 @@ import java.util.List;
 */
public interface IFlowClassDao extends XSQLGeneralDAO {
    List<SystemServiceFlowClass> getFlowClassByFlowId(Integer flowId) throws Exception;
    List<SystemServiceFlowClass> getFlowClass(Integer flowId,String type) throws Exception;
    boolean deleteFlowClassByFlowId(Integer flowId);
    List<Integer> getFlowClassIds(Integer flowId);
}

+ 2 - 0
src/main/java/com/yihu/hos/system/dao/intf/IFlowTempDao.java

@ -12,6 +12,8 @@ import java.util.List;
 */
public interface IFlowTempDao extends XSQLGeneralDAO {
    List<SystemServiceFlowTemp> getFlowTempByFlowId(Integer flowId) throws Exception;
    List<SystemServiceFlowTemp> getFlowTemps(Integer flowId,String type) throws Exception;
    boolean deleteFlowTempByFlowId(Integer flowId);
}

+ 84 - 9
src/main/java/com/yihu/hos/system/service/FlowManager.java

@ -2,6 +2,7 @@ package com.yihu.hos.system.service;
import com.yihu.hos.common.constants.Constants;
import com.yihu.hos.core.file.FileUtil;
import com.yihu.hos.core.http.HttpClientKit;
import com.yihu.hos.services.ServiceFlowEventService;
import com.yihu.hos.system.dao.FlowClassDao;
import com.yihu.hos.system.dao.FlowTempDao;
@ -12,20 +13,19 @@ import com.yihu.hos.system.model.SystemServiceFlow;
import com.yihu.hos.system.model.SystemServiceFlowClass;
import com.yihu.hos.system.model.SystemServiceFlowTemp;
import com.yihu.hos.system.service.intf.IFlowManage;
import com.yihu.hos.web.framework.model.ActionResult;
import com.yihu.hos.web.framework.model.DictItem;
import com.yihu.hos.web.framework.model.DictionaryResult;
import com.yihu.hos.web.framework.model.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
 * 系统流程管理业务类
@ -39,6 +39,9 @@ public class FlowManager implements IFlowManage {
    public static final String BEAN_ID = "flowManager";
    @Value("${esb.genCamelUrl}")
    private String genCamelUrl;
    @Resource(name = "flowDao")
    private IFlowDao flowDao;
@ -191,13 +194,23 @@ public class FlowManager implements IFlowManage {
        return flowTempDao.getFlowTempByFlowId(id);
    }
    //TODO
    @Override
    public boolean genFlewByflowTempId(Integer flowTempId) throws Exception {
        SystemServiceFlow flow = getFlowById(flowTempId);
        //生成新的route类
        //添加新processor记录
        return false;
    }
    @Override
    public String uploadFile(MultipartFile file, String baseSavePath) {
        String fileName =  file.getOriginalFilename();
        boolean succ = false;
        try {
            succ = FileUtil.writeFile(baseSavePath +"/"+ fileName, file.getBytes(), "utf-8");
            succ = FileUtil.writeFile(baseSavePath + File.separator + fileName, file.getBytes(), "utf-8");
            if (succ){
                return  fileName;
            }
@ -258,9 +271,9 @@ public class FlowManager implements IFlowManage {
     * @throws Exception
     */
    @Override
    public  DictionaryResult getFlowList(String type) throws Exception {
    public  ActionResult getFlowList(String type) throws Exception {
        List<SystemServiceFlow> flowList = flowDao.getFlowList(type);
        DictionaryResult re = new DictionaryResult("FLOW_LIST");
        ActionResult re = new ActionResult();
        if(flowList!=null&&flowList.size()>0)
        {
            List<DictItem> dictList = new ArrayList<>();
@ -271,9 +284,71 @@ public class FlowManager implements IFlowManage {
                dict.setExtend("");
                dictList.add(dict);
            }
            re.setDetailModelList(dictList);
            re.setData(dictList);
        }
        return re;
    }
    /**
     * TODO 调用broker接口生成camel相关文件
     * @param flowId
     * @param newCron
     * @throws Exception
     */
    public boolean genCamelFile(Integer flowId, String newCron) throws Exception {
        Long timestamp = System.currentTimeMillis();
        List<SystemServiceFlowTemp> flowClassRouters = flowTempDao.getFlowTemps(flowId, Constants.FLOW_TYPE_ROUTE);
        List<SystemServiceFlowTemp> flowClassProces = flowTempDao.getFlowTemps(flowId, Constants.FLOW_TYPE_PROCESSOR);
        SystemServiceFlow oldFlow = getFlowById(flowId);
        if (!flowClassRouters.isEmpty()){
            Map<String,String> params = new HashMap<>();
            SystemServiceFlowTemp flowTemp =flowClassRouters.get(0);
            String newClassName = flowTemp.getClassName()+timestamp;
            String newClassPath = flowTemp.getClassPath().replaceAll(flowTemp.getClassName()+".java",newClassName+".class");
            params.put("pageName", flowTemp.getPackageName());
            params.put("oldClassName", flowTemp.getClassName());
            params.put("newClassName",newClassName);//原文件名加当前时间戳
            params.put("newCron",newCron);
            String result = HttpClientKit.post(genCamelUrl, params).getBody();
            //成功生成文件后,添加flow和flowclass记录
            //生成新流程
            SystemServiceFlow newFlow = new SystemServiceFlow();
            newFlow.setName(oldFlow.getName()+timestamp);
            newFlow.setCode(oldFlow.getCode()+timestamp);
            newFlow.setChart(oldFlow.getChart());
            newFlow.setValid(1);
            newFlow.setCreateDate(new Date());
            newFlow.setFileType(Constants.CLASS);
            flowDao.saveEntity(newFlow);
            SystemServiceFlowClass newFlowClass = new SystemServiceFlowClass();
            newFlowClass.setPackageName(flowTemp.getPackageName());
            newFlowClass.setClassName(newClassName);
            newFlowClass.setClassPath(newClassPath);
            newFlowClass.setFlowId(newFlow.getId());
            newFlowClass.setType(Constants.FLOW_TYPE_ROUTE);
            flowClassDao.saveEntity(newFlowClass);
            //新增processor记录
            for (SystemServiceFlowTemp process:flowClassProces){
                SystemServiceFlowClass processClass = new SystemServiceFlowClass();
                processClass.setPackageName(process.getPackageName());
                processClass.setClassName(process.getClassName());
                processClass.setClassPath(process.getClassPath());
                processClass.setFlowId(newFlow.getId());
                processClass.setType(Constants.FLOW_TYPE_PROCESSOR);
                flowClassDao.saveEntity(processClass);
            }
            return true;
        }
        return false;
    }
}

+ 7 - 0
src/main/java/com/yihu/hos/system/service/intf/IFlowManage.java

@ -44,5 +44,12 @@ public interface IFlowManage extends IBaseManager {
    List<SystemServiceFlowTemp> getFlowTempByFlowId(Integer id) throws Exception;
    /**
     * 根据流程模板Id生成新流程
     * @param flowTempId
     * @return
     */
    boolean genFlewByflowTempId(Integer flowTempId) throws Exception;
    boolean genCamelFile(Integer flowId, String newCron) throws Exception;
}

+ 26 - 1
src/main/resources/application.yml

@ -33,6 +33,14 @@ spring:
    user: admin
    password: admin
    pooled: false
esb:
  genCamelUrl: http://192.168.131.11:8099/esb/genCamelFile
  camelFile: E:/
upload:
  file:
    path: D:\code\newHealth\new-esb\esb\src\main\webapp
  server:
    path: http://localhost:8080/esb
---
spring:
@ -50,7 +58,14 @@ spring:
    user: admin
    password: admin
    pooled: false
esb:
  genCamelUrl: http://192.168.131.11:8099/esb/genCamelFile
  camelFile: usr/local/esb/
upload:
  file:
    path: /usr/local/esb/file/webapps/ROOT
  server:
    path: http://172.19.103.89:8081
#  data:
#    mongodb:
#      host: 172.19.103.86
@ -77,6 +92,11 @@ spring:
    user: admin
    password: admin
    pooled: false
upload:
  file:
    path: /usr/local/esb/file/webapps/ROOT
  server:
    path: http://172.19.103.89:8081
---
spring:
  profiles: hzy
@ -93,3 +113,8 @@ spring:
    user: admin
    password: admin
    pooled: false
upload:
  file:
    path: /usr/local/esb/file/webapps/ROOT
  server:
    path: http://172.19.103.89:8081

+ 5 - 0
src/main/resources/resource/RsJobConfig.hbm.xml

@ -76,5 +76,10 @@
                <comment>流程ID</comment>
            </column>
        </property>
        <property name="flowTempId" type="java.lang.Integer">
            <column name="flow_temp_id">
                <comment>流程模板ID</comment>
            </column>
        </property>
    </class>
</hibernate-mapping>

+ 2 - 1
src/main/webapp/WEB-INF/ehr/jsp/datacollect/editorJob.jsp

@ -70,7 +70,8 @@
        <div class="m-form-group">
            <label id="lbJobContent">类名:</label>
            <div class="m-form-control">
                <input type="text" id="jobContentClass">
                <input type="text" name="flowTempId" id="jobContentClass">
                <input type="hidden" name="flowId" id="flowId" >
                <input type="text"  class="l-textbox" id="txtJobContent" style="display: none"/>
            </div>
        </div>

+ 55 - 19
src/main/webapp/WEB-INF/ehr/jsp/datacollect/editorJobJs.jsp

@ -5,6 +5,8 @@
<script>
    var editorJob={
        flowTempId:0,
        flowArrays:[],
        beforeServeTime:false,
        archiveUpload:"com.yihu.ehr.job.service.ArchiveUploadJob",
        crawlerFlowUpload:"com.yihu.ehr.job.service.CrawlerFlowUploadJob",
@ -21,6 +23,7 @@
        init: function ()
        {
            var me = this;
            me.getFlowList();
            //表单向导
            $("#div_form").show().steps({
                //transitionEffect: "fade",
@ -88,7 +91,6 @@
                        }
                        if(me.needRender)
                        {
                            alert(1);
                            me.$listDataset.setData($("#txtJobDataset").val());
                            me.$listDataset.reRender();
                        }
@ -96,6 +98,9 @@
                    else if(to==3)
                    {
                        me.setAchiveUploadType();
                    }else{
                        liger.get("jobContentClass").selectValue(flowTempId);
                    }
                },
                onFinishing:function(c,a){
@ -126,13 +131,20 @@
            $("a[href='#cancel']").addClass("l-button-no");
            //业务类型
            $('#jobContentClass').ligerComboBox({
                dict:true,
                dictName:'JOB_CONTENT_CLASS',
                onChange:function(){
                    me.needRender = true;
                }
            });
//            $('#jobContentClass').ligerComboBox({
//                dict:true,
//                dictName:'JOB_CONTENT_CLASS',
//                onChange:function(){
//                    me.needRender = true;
//                }
//            });
            $("#jobContentClass").ligerComboBox({data : editorJob.flowArrays,
                cancelable:false,
                onSuccess:function(data){
                }});
            $('input[name="jobContentType"]').ligerRadio();
            $(document).on('click','input[name="jobContentType"]',function(){
@ -347,6 +359,8 @@
            if(modelString!=undefined && modelString!=null && modelString.length>0)
            {
                me.actionUrl = "${contextRoot}/datacollect/updateJob";
                flowTempId = "${model.flowTempId}";
                liger.get("jobContentClass").selectValue(flowTempId);
                var model ={
                    id:'${model.id}',
                    jobName: '${model.jobName}',
@ -357,6 +371,8 @@
                    schemeId: '${model.schemeId}',
                    schemeVersion: '${model.schemeVersion}',
                    valid: '${model.valid}',
                    flowId: '${model.flowId}',
                    flowTempId: '${model.flowTempId}',
                    cronExpression: '${cronExpression}',
                    jobNextTime: '${model.jobNextTime}',
                    repeatStartTime:'${model.repeatStartTime}',
@ -401,7 +417,7 @@
                }
                $('#txtSchemeId').val(model.schemeId);
                $('#txtSchemeVersion').val(model.schemeVersion);
                
                $('#txtCronExpression').val(model.cronExpression);
                $('#txtValid').val(model.valid);
                $("#dateNextTime").ligerDateEditor('setValue',model.jobNextTime);
@ -415,14 +431,8 @@
        getData:function(){
            var me = this;
            var type = $('input[name="jobContentType"]').ligerRadio('getValue');
            var content = "";
            if(type == "0")
            {
                content = $("#txtJobContent").val();
            }
            else{
                content = $("#jobContentClass").ligerComboBox("getValue");
            }
            var content = $("#jobContentClass").ligerComboBox("getValue");
            if($('#jobContentClass').ligerComboBox("getValue")==me.crawlerFlowUpload) {//任务编排上传类,不需要选择数据集,直接设值
                $("#txtJobDataset").val(JSON.stringify(me.$crawlerFlowDataset.getData()));
@ -441,6 +451,8 @@
                cronExpression: $('#txtCronExpression').val(),
                jobNextTime: $("#dateNextTime").ligerDateEditor('getValue'),
                jobDataset: $('#txtJobDataset').val(),
                flowTempId: $('#jobContentClass').ligerDateEditor('getValue'),
                flowId: $('#flowId').val(),
                repeatStartTime: $("#repeatStartTime").ligerDateEditor('getValue'),
                repeatEndTime: $("#repeatEndTime").ligerDateEditor('getValue'),
                delayTime: $('#txtDelayTime').val(),
@ -450,7 +462,7 @@
        },
        //改变为档案上传接口,执行方式修改时触发,清空数据
        setAchiveUploadType:function(jobType){
            
            var me = this;
            if(jobType==undefined)
            {
@ -506,7 +518,7 @@
        //设置数据集条件
        setCondition:function(rowIndex)
        {
            
            var me = this;
            //获取选中行
            var row = me.$listDataset.getRow(rowIndex);
@ -926,6 +938,30 @@
            });
        },
        getFlowList:function(){
            $.ajax({ //获取表的字段列表
                type: "POST",
                url : "${contextRoot}/flow/flowTempList",
                dataType : "json",
                data:{type:'java'},
                cache:false,
                async:false,
                success :function(data){
                    if(data.successFlg) {
                        editorJob.flowArrays=data.data;
                    }
                    else{
                        alert("获取流程列表错误");
                    }
                },
                error :function(data){
                    editorJob.beforeServeTime=true;
                    $.ligerDialog.error("Status:"+data.status +"(" +data.statusText+")");
                }
            });
        },
    }
    $(function () {

+ 1 - 1
src/main/webapp/WEB-INF/ehr/jsp/system/app/appJs.jsp

@ -33,7 +33,7 @@
                    {display: '应用名称', id: 'id', name: 'name', width: '15%'},
                    {display: '英文名', name: 'code', width: '10%'},
                    {display: '图标', name: 'icon', width: '10%',height:'50',align: 'center', render: function (rowdata, rowindex, value) {
                        return ' <div style="vertical-align:middle;"><img  style="width: 50px; height: 50px;"  src="${contextRoot}/'+ rowdata.icon+'" /></div>';
                        return ' <div style="vertical-align:middle;"><img  style="width: 50px; height: 50px;"  src="'+ rowdata.icon+'" /></div>';
                    }},
                    {display: '开发者', name: 'developer', width: '10%'},
                    {display: '状态', name: 'status', width: '10%',align: 'center', render: function (rowdata, rowindex, value) {

+ 3 - 3
src/main/webapp/WEB-INF/ehr/jsp/system/app/editorApp.jsp

@ -27,7 +27,7 @@
        <label><span class="red">*&nbsp;</span>图标:</label>
        <div class="m-form-control">
            <c:if test="${model.icon!=''}">
                <img style="width: 60px;" src="${contextRoot}/${model.icon}" id="img_icon">
                <img style="width: 60px;" src="${model.icon}" id="img_icon">
            </c:if>
        </div>
    </div>
@ -36,7 +36,7 @@
        <div class="m-form-control">
            <form id="form1" action="${contextRoot}/app/upload" method="post" enctype="multipart/form-data">
                    <input type="text" id="name_icon" name="icon" class="l-textbox btnGrayUp" style="width: 144px;"  placeholder="点击选择应用图标" readonly="readonly" data-id="">
                    <input type="text" id="name_icon" name="icon" class="l-textbox btnGrayUp" style="width: 144px;"  placeholder="点击选择应用图标" readonly="readonly" data-id=""/>
                    <div style="float: right;">
                        <div  class="l-button l-button-no btnGrayDo" data-id="1">
                            <span style="background-color: rgb(240, 240, 240);">上传</span>
@ -101,7 +101,7 @@
        <div id="btnCancel" class="l-button l-button-no">
            <span>关闭</span>
        </div>
        <div id="btnEditor" class="l-button" style="display: none">
        <div id="btnEditor" class="l-button" style="display: no">
            <span>编辑</span>
        </div>
        <div id="btnSave" class="l-button">

+ 3 - 3
src/main/webapp/WEB-INF/ehr/jsp/system/app/editorAppJs.jsp

@ -160,9 +160,9 @@
                        success:  function processJson(data){
                            if(data.successFlg){
                                formsay.html("上传成功");
                                formObj.find("input[type=text]").attr("data-id","${contextRoot}/upload/"+data.message)//设置已上传的文件的ID
                                formObj.find("input[type=text]").val("${contextRoot}/upload/"+data.message)//设置已上传的文件的ID
                                $("#img_icon").attr("src","${contextRoot}/upload/"+data.message)//设置已上传的文件的ID
                                formObj.find("input[type=text]").attr("data-id", data.message)//设置已上传的文件的ID
                                formObj.find("input[type=text]").val(data.message)//设置已上传的文件的ID
                                $("#img_icon").attr("src", data.message)//设置已上传的文件的ID
                                formObj.closest("div").find("span").html("重新上传<i></i>");
                            }else{
                                $.ligerDialog.error("上传格式有问题");

+ 1 - 1
src/main/webapp/WEB-INF/ehr/jsp/system/flow/editorFlow.jsp

@ -42,7 +42,7 @@
        <div class="m-form-group">
            <label><span class="red">*&nbsp;</span>流程图:</label>
            <div class="m-form-control">
                <form id="formIcon" action="${contextRoot}/flow/upload" method="post" enctype="multipart/form-data">
                <form id="formIcon" action="${contextRoot}/flow/uploadImg" method="post" enctype="multipart/form-data">
                    <input type="text" id="iconUrl" name="chart" class="l-textbox btnIconGrayUp" style="width: 144px;"  placeholder="点击选择图片" readonly="readonly" data-id="">
                    <div style="float: right;">
                        <div  class="l-button l-button-no formIcon" data-id="formIcon">

+ 16 - 16
src/main/webapp/WEB-INF/ehr/jsp/system/flow/editorFlowJs.jsp

@ -84,7 +84,6 @@
            if(!type || type==''){
                type = "route";
            }
            liger.get("type"+index).selectValue(type);
            if("class"==fileType){
                me.flowClassData[me.$mun]= {
@ -119,13 +118,13 @@
                }
                var index =newMaxFormIndex();
                debugger
                for (var i = index; i > 0; i--) {
                    me.bindFlowClass(i);
                }
                var data = $("#div_info_form").ligerAutoForm("getData");
                delete data.file;
                debugger
                var dataList;
                if("java"==fileType){
                    data.flowTempArray = me.flowClassData;
@ -174,7 +173,8 @@
            $(".m-form-group").on("click","#btnAddClass",function () {
                var index =newMaxFormIndex();
                    index++
                var html = '<div class="flows"  dataIndex="'+index+'" id="paramGroup'+index+'">';
                var html = '<div class="flows"  dataIndex="'+index+'" id="paramGroup'+index+'">' +
                        '<form id="form'+index+'" action="${contextRoot}/flow/upload" method="post" enctype="multipart/form-data">';
                html += '<div class="m-form-group" dataIndex="'+index+'"  ><label>类别 : </label><div class="m-form-control ">'  +
                        '<div class="l-text"><input type="text" id="type'+index+'" class="l-text-field required" name="type"></div>'+
@ -188,14 +188,13 @@
                        '<input type="text" id="className'+index+'"  class="l-textbox"/></div></div>';
                html += ' <div class="m-form-group"><label>源代码'+index+' : </label><div class="m-form-control">' +
                        '<form id="form'+index+'" action="${contextRoot}/flow/upload" method="post" enctype="multipart/form-data">';
                html += ' <div class="m-form-group"><label>源代码'+index+' : </label><div class="m-form-control">';
                html += ' <input name="isUpdate" type="text" id="isUpdate'+index+'"   class="isUpdate" hidden="hidden"/>';
                html += ' <input type="text"  id="classPath'+index+'" name="classPath" class="l-textbox btnGrayUp" style="width: 144px;"  placeholder="点击选择源代码文件" readonly="readonly" data-id="">'+
                        ' <div style="float: right;">'+
                        ' <div  class="l-button l-button-no btnGrayDo'+index+'" data-id="'+index+'">'+
                        ' <span style="background-color: rgb(240, 240, 240);">导入</span> </div>'+
                        '<label class="say'+index+'" style="display: inline-block;width: 70px;"></label>'+
                        '<label id="say'+index+'"  class="say'+index+'" style="display: inline-block;width: 70px;"></label>'+
                        '</div><input type="file" name="file" style="display: none" id="file'+index+'" /></form>'+
                        '</div></div>';
                html += '<div class="m-form-group"><div class="m-form-control"><a class="m-btn-cancle" href="javascrip:void()" style="display:block;" onclick="$(\'#paramGroup'+index+'\').remove()"></a></div></div>';
@ -313,31 +312,32 @@
            var index = 1;
            var flowStr = '${flowClass}';
            if (flowStr != "") {
                flowStr = flowStr.replace(/\\/g,"\\\\");
                var flowJson = $.parseJSON(flowStr);
                $.each(flowJson, function(i, data){
                    var html = '<div class="flows"  dataIndex="'+index+'" id="paramGroup'+index+'">';
                    var html = '<div class="flows"  dataIndex="'+index+'" id="paramGroup'+index+'">'+
                            '<form id="form'+index+'" action="${contextRoot}/flow/upload" method="post" enctype="multipart/form-data">';
                    html += '<div class="m-form-group" dataIndex="'+index+'"  ><label>类别 :</label><div class="m-form-control "> '  +
                            '<div class="l-text"><input type="text" id="type'+index+'" value="'+data.type+'" class="l-text-field required" name="type"></div>'+
                            '</div></div>';
                    html += '<div class="m-form-group" style="border:1px solid #e1e1e1"><label>包名'+index+' : </label><div class="m-form-control"  controlType="textbox" id="packName'+index+'_div" style="margin-left:0px;">'  +
                            '<input type="text" id="packageName'+index+'" value="'+data.packageName+'" class="l-textbox"/></div></div>';
                            '<input type="text" name="packageName" id="packageName'+index+'" value="'+data.packageName+'" class="l-textbox"/></div></div>';
                    html += '<div class="m-form-group"   dataIndex="'+index+'" id="paramGroup'+index+'"><label>'+
                            '类名'+index+' : </label><div class="m-form-control"  controlType="textbox" id="className'+index+'_div" style="margin-left:0px;">'  +
                            '<input type="text" id="className'+index+'" value="'+data.className+'"  class="l-textbox"/></div></div>';
                            '<input type="text" name="className" id="className'+index+'" value="'+data.className+'"  class="l-textbox"/></div></div>';
                    html += ' <div class="m-form-group"><label>源代码'+index+' : </label><div class="m-form-control">' +
                            '<form id="form'+index+'" action="${contextRoot}/flow/upload" method="post" enctype="multipart/form-data">';
                    html += ' <div class="m-form-group"><label>源代码'+index+' : </label><div class="m-form-control">' ;
                    html += ' <input type="text" name="isUpdate" id="isUpdate'+index+'" class="isUpdate" hidden="hidden"/>';
                    html += ' <input type="text"  id="classPath'+index+'" value="'+data.classPath+'"   name="classPath" class="l-textbox btnGrayUp" style="width: 144px;"  placeholder="点击选择源代码文件" readonly="readonly" data-id="">'+
                            ' <div style="float: right;">'+
                            ' <div  class="l-button l-button-no btnGrayDo'+index+'" data-id="'+index+'">'+
                            ' <span style="background-color: rgb(240, 240, 240);">导入</span> </div>'+
                            '<label class="say'+index+'" style="display: inline-block;width: 70px;"></label>'+
                            '<label  id="say'+index+'"  class="say'+index+'" style="display: inline-block;width: 70px;"></label>'+
                            '</div><input type="file" name="file" style="display: none" id="file'+index+'" /></form>'+
                            '</div></div>';
                    html += ' <input name="id" value="'+data.id+'" id="classId'+index+'" hidden="hidden"/>';
@ -381,7 +381,7 @@
            var formObj=$(formId);//要提交的表单
            var Obj=$(".btnGrayDo"+index);
            var upObj=formObj.closest("input").find(".btnGrayUp");//浏览的按钮
            var formsay=formObj.find(".say"+index);//提示文字
            var formsay=$("#say"+index);//提示文字
            if(formObj.closest("div").find("input[type=text]").val().length!=0){//判断是否选择了文件
                formsay.attr("class","say true").html("上传中");
                formObj.ajaxForm({
@ -389,9 +389,9 @@
                    success:  function processJson(data){
                        if(data.successFlg){
                            formsay.attr("class","say true").html("上传成功");
                            formObj.find("input[type=text]").attr("data-id","/upload/"+data.message)//设置已上传的文件的ID
                            var inputVal=formObj.closest("div").find("input[type=text]");
                            inputVal.val("/upload/"+data.message);
                            formObj.find("input[type=text]").filter(".btnGrayUp").attr("data-id",data.message)//设置已上传的文件的ID
                            var inputVal=formObj.closest("div").find("input[type=text]").filter(".btnGrayUp");
                            inputVal.val(data.message);
                            formObj.closest("div").find("span").html("重新导入<i></i>");
                            var isUpdate=formObj.find(".isUpdate");//是否有上传过
                            isUpdate.val("1");//上传过