Quellcode durchsuchen

流程关联任务

demon vor 8 Jahren
Ursprung
Commit
5b09fc98b2

+ 137 - 16
hos-broker/src/main/java/com/yihu/hos/common/compiler/CamelCompiler.java

@ -3,6 +3,7 @@
package com.yihu.hos.common.compiler;
import com.yihu.hos.core.file.FileUtil;
import org.apache.commons.io.FileUtils;
import javax.tools.*;
import java.io.File;
@ -32,14 +33,15 @@ public class CamelCompiler {
     * @param newCron         新cron表达式
     * @throws IOException
     */
    public static void compiler(String packageName,String oldClassName,String newClassName,String newCron) throws IOException {
    public static String compiler(String filePath,String packageName,String oldClassName,String newClassName,String newCron) throws IOException {
        String classPath = CamelCompiler.class.getProtectionDomain().getCodeSource().getLocation().getPath() ;
        classPath = classPath.substring(1);
        JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
        // 建立DiagnosticCollector对象
        DiagnosticCollector diagnostics = new DiagnosticCollector();
        StandardJavaFileManager fileManager = compiler.getStandardFileManager(diagnostics, null, null);
        // 建立源文件对象,每个文件被保存在一个从JavaFileObject继承的类中
        File file = genNewJava(packageName, oldClassName,newClassName, newCron);
        File file = genNewJava(filePath,packageName, oldClassName,newClassName, newCron);
        if (file!=null){
            Iterable<? extends JavaFileObject> compilationUnits = fileManager.getJavaFileObjects(file.getAbsolutePath());
            // options命令行选项
@ -48,19 +50,66 @@ public class CamelCompiler {
            // 编译源程序
            boolean success = task.call();
            fileManager.close();
            System.out.println((success) ? "编译成功" : "编译失败");
            if (!success){
                List diagnostics1 = diagnostics.getDiagnostics();
                for (int i=0;i<diagnostics1.size();i++){
                    System.out.println(diagnostics1.get(i).toString());
                }
                return null;
            }else {
                String className = file.getName().replace(".java", ".class");
                return classPath  + packageName  + className;
            }
            fileManager.close();
            System.out.println((success) ? "编译成功" : "编译失败");
        }
        return null;
    }
    }
    public static String copyProcess (String filePath,String packageName,String oldClassName) throws IOException {
        String classPath = CamelCompiler.class.getProtectionDomain().getCodeSource().getLocation().getPath() ;
        classPath = classPath.substring(1);
        String newPath = String.format(classPathTemplate, packageName, oldClassName);
        JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
        // 建立DiagnosticCollector对象
        DiagnosticCollector diagnostics = new DiagnosticCollector();
        StandardJavaFileManager fileManager = compiler.getStandardFileManager(diagnostics, null, null);
        // 建立源文件对象,每个文件被保存在一个从JavaFileObject继承的类中
        File file = new File(filePath);
        File toFIle = new File(newPath);
        if (file.exists()){
            if (!toFIle.getParentFile().exists()) toFIle.getParentFile().mkdirs();
            //复制
            FileUtils.copyFile(file, toFIle);
            if (toFIle!=null){
                Iterable<? extends JavaFileObject> compilationUnits = fileManager.getJavaFileObjects(toFIle.getAbsolutePath());
                // options命令行选项
                Iterable<String> options = Arrays.asList("-d",classPath);// 指定的路径一定要存在,javac不会自己创建文件夹
                JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, diagnostics, options, null, compilationUnits);
                // 编译源程序
                boolean success = task.call();
                fileManager.close();
                System.out.println((success) ? "编译成功" : "编译失败");
                if (!success){
                    List diagnostics1 = diagnostics.getDiagnostics();
                    for (int i=0;i<diagnostics1.size();i++){
                        System.out.println(diagnostics1.get(i).toString());
                    }
                    return null;
                }else {
                    String resultPath = toFIle.getName().replace(".java", ".class");
                    return classPath + packageName  + resultPath;
                }
            }else {
                return null;
            }
        }
        return null;
    }
    /**
     *  修改cron表达式,生成新java文件
@ -69,12 +118,12 @@ public class CamelCompiler {
     * @param newClassName  新类名
     * @param newContent    新cron表达式
     */
    public static File genNewJava(String packageName, String oldClassName,String newClassName, String newContent) {
    public static File genNewJava(String filePath,String packageName, String oldClassName,String newClassName, String newContent) {
        try {
            String oldPath = String.format(classPathTemplate, packageName, oldClassName);
//            String oldPath = String.format(classPathTemplate, packageName, oldClassName);
            String newPath = String.format(classPathTemplate, packageName, newClassName);
            String text = FileUtil.readFileText(new File(oldPath));
            String text = FileUtil.readFileText(new File(filePath));
            if (text.contains("?cron=")){
                String oldStr = text.substring(text.indexOf("?cron=")+6);
                String cron = oldStr.substring(0,oldStr.indexOf("\""));
@ -85,7 +134,11 @@ public class CamelCompiler {
                text = text.replace(oldClassName,newClassName);
            }
            File fPath = new File(packagePathTemplate+packageName);
            if (!fPath.exists()) fPath.mkdirs();
            File f = new File(newPath);
            FileWriter fw = new FileWriter(f);
            fw.write(text);
            fw.flush();
@ -125,13 +178,81 @@ public class CamelCompiler {
    }
//    public static void main(String[] args) {
//        try {
//            compiler("/crawler/route", "QuartzRoute","QuartzRoute001","xx000xx");
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//
//    }
    public static String compiler3(String filePath,String packageName,String oldClassName,String newClassName,String newCron) throws IOException {
        String classPath = CamelCompiler.class.getProtectionDomain().getCodeSource().getLocation().getPath() ;
        JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
        // 建立DiagnosticCollector对象
        DiagnosticCollector diagnostics = new DiagnosticCollector();
        StandardJavaFileManager fileManager = compiler.getStandardFileManager(diagnostics, null, null);
        // 建立源文件对象,每个文件被保存在一个从JavaFileObject继承的类中
        File file = genNewJava(filePath,packageName, oldClassName,newClassName, newCron);
        if (file!=null){
            Iterable<? extends JavaFileObject> compilationUnits = fileManager.getJavaFileObjects(file.getAbsolutePath());
            // options命令行选项
            Iterable<String> options = Arrays.asList("-d",classPath);// 指定的路径一定要存在,javac不会自己创建文件夹
            JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, diagnostics, options, null, compilationUnits);
            fileManager.close();
            // 编译源程序
            boolean success = task.call();
            System.out.println((success) ? "编译成功" : "编译失败");
            if (!success){
                List diagnostics1 = diagnostics.getDiagnostics();
                for (int i=0;i<diagnostics1.size();i++){
                    System.out.println(diagnostics1.get(i).toString());
                }
                return null;
            }else {
                String className = file.getName().replace(".java", ".class");
                return classPath  + packageName  + className;
            }
        }else{
            return null;
        }
    }
    public static void copyCompiler (String filePath,String packageName,String oldClassName) throws IOException {
        String classPath = "D:\\" ;
        JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
        // 建立DiagnosticCollector对象
        DiagnosticCollector diagnostics = new DiagnosticCollector();
        StandardJavaFileManager fileManager = compiler.getStandardFileManager(diagnostics, null, null);
        // 建立源文件对象,每个文件被保存在一个从JavaFileObject继承的类中
        File file = new File(filePath);
        if (file.exists()){
            Iterable<? extends JavaFileObject> compilationUnits = fileManager.getJavaFileObjects(file.getAbsolutePath());
            // options命令行选项
            Iterable<String> options = Arrays.asList("-d",classPath);// 指定的路径一定要存在,javac不会自己创建文件夹
            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 {
//            copyCompiler("E:\\crawler\\processor\\Processor0.java", "/crawler/processor", "Processor0");
//            copyCompiler("E:\\crawler\\route\\QuartzRoute.java","/crawler/route", "QuartzRoute");
//            copyProcess("E:\\crawler\\processor\\Processor0.java", "/crawler/processor", "Processor0");
           String classPath=  compiler3("E:\\crawler\\route\\QuartzRoute.java","/crawler/route", "QuartzRoute","QuartzRoute1479","textxtxt");
            String text = FileUtil.readFileText(new File(classPath));
            System.out.println(text);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

+ 23 - 5
hos-broker/src/main/java/com/yihu/hos/controllers/ESBCamelController.java

@ -124,10 +124,12 @@ public class ESBCamelController {
    @ResponseBody
    @ApiOperation(value = "生成新的camel文件", produces = "application/json", notes = "生成新的camel文件")
    public Result genCamelFile(
            @ApiParam(name = "routeId", value = "routeId", required = false)
            @RequestParam(value = "routeId",required = false) String routeId,
            @ApiParam(name = "pageName", value = "包名", required = true)
            @RequestParam(value = "pageName") String pageName,
            @ApiParam(name = "type", value = "camel文件类型,route;processor", required = false)
            @RequestParam(value = "type",required = false) String type,
            @ApiParam(name = "filePath", value = "文件路径", required = false)
            @RequestParam(value = "filePath",required = false) String filePath,
            @ApiParam(name = "packageName", value = "包名", required = true)
            @RequestParam(value = "packageName") String packageName,
            @ApiParam(name = "oldClassName", value = "旧类名", required = true)
            @RequestParam(value = "oldClassName") String oldClassName,
            @ApiParam(name = "newClassName", value = "新类名", required = true)
@ -135,7 +137,23 @@ public class ESBCamelController {
            @ApiParam(name = "newCron", value = "新cron表达式", required = true)
            @RequestParam(value = "newCron") String newCron) {
        return esbCamelService.genNewClassfile(routeId, pageName, oldClassName, newClassName, newCron);
        return esbCamelService.genNewClassfile(type,filePath, packageName, oldClassName, newClassName, newCron);
    }
    @RequestMapping(value = "/copyProcessor", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
    @ResponseBody
    @ApiOperation(value = "复制processor文件", produces = "application/json", notes = "生成新的camel文件")
    public Result copyProcessor(
            @ApiParam(name = "type", value = "camel文件类型,route;processor", required = false)
            @RequestParam(value = "type",required = false) String type,
            @ApiParam(name = "filePath", value = "文件路径", required = false)
            @RequestParam(value = "filePath",required = false) String filePath,
            @ApiParam(name = "packageName", value = "包名", required = true)
            @RequestParam(value = "packageName") String packageName,
            @ApiParam(name = "oldClassName", value = "旧类名", required = true)
            @RequestParam(value = "oldClassName") String oldClassName) {
        return esbCamelService.copyProcessor(filePath, packageName, oldClassName);
    }

+ 20 - 3
hos-broker/src/main/java/com/yihu/hos/services/ESBCamelService.java

@ -237,15 +237,32 @@ public class ESBCamelService {
    /* **************************       修改任务cron生成新的camel文件 add by hzy   *********************************** */
    public Result genNewClassfile(String routeId, String packageName, String oldClassName, String newClassName,String newCron) {
    public Result genNewClassfile(String type,String filePath, String packageName, String oldClassName, String newClassName,String newCron) {
        try {
            CamelCompiler.compiler(packageName,oldClassName,newClassName,newCron);
            return Result.success("生成新文件成功!");
            String path = null;
            if ("route".equals(type)){
                 path = CamelCompiler.compiler(filePath,packageName,oldClassName,newClassName,newCron);
            }else if ("processor".equals(type)){
                 path = CamelCompiler.copyProcess(filePath,packageName,oldClassName);
            }else {
                return Result.error("传入类别参数有误!");
            }
            return Result.success(path);
        } catch (IOException e) {
            e.printStackTrace();
            return Result.error("生成新文件失败!");
        }
    }
    public Result copyProcessor(String filePath, String packageName, String oldClassName) {
        try {
            String path = CamelCompiler.copyProcess(filePath,packageName,oldClassName);
            return Result.success(path);
        } catch (IOException e) {
            e.printStackTrace();
            return Result.error("复制新文件失败!");
        }
    }
    }

+ 21 - 8
src/main/java/com/yihu/hos/datacollect/service/DatacollectManager.java

@ -224,13 +224,20 @@ public class DatacollectManager implements IDatacollectManager {
    @Override
    @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);
        Integer flowId = flowManage.genCamelFile(obj.getFlowTempId(),cron);
        if (flowId!=null){
            obj.setFlowId(flowId);
            datacollectDao.saveEntity(obj);
            saveJobDataset(obj.getId(), jobDataset);
            return new ActionResult(true, "新增任务成功!");
        }else {
            return new ActionResult(false, "新增任务失败-关联流程环节失败!");
        }
        //quartz新增任务
//        quartzManager.addJob(obj.getId(), obj.getJobContentType(), obj.getJobContent(), obj.getJobNextTime(), cron);
        return new ActionResult(true, "新增成功!");
    }
    /**
@ -239,12 +246,18 @@ public class DatacollectManager implements IDatacollectManager {
    @Override
    @Transactional
    public ActionResult updateJob(RsJobConfig obj, String cron, String jobDataset) throws Exception {
        datacollectDao.updateEntity(obj);
        saveJobDataset(obj.getId(), jobDataset);
        Integer flowId = flowManage.updateCamelFile(obj.getFlowTempId(), obj.getFlowId(), cron);
        if (flowId!=null){
            datacollectDao.updateEntity(obj);
            saveJobDataset(obj.getId(), jobDataset);
        //quartz修改cron表达式
            //quartz修改cron表达式
//        quartzManager.modifyJob(obj.getId(), obj.getJobContentType(), obj.getJobContent(), obj.getJobNextTime(), cron);
        return new ActionResult(true, "修改成功!");
            return new ActionResult(true, "修改成功!");
        }else {
            return new ActionResult(false, "修改失败,关联流程失败!");
        }
    }
    /**

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

@ -212,7 +212,7 @@ public class FlowController extends BaseController {
        if (StringUtils.isEmpty(path)){
            return Result.error("上传失败");
        }else {
            return Result.success(basePath.toString()+ File.separator +path);
            return Result.success(basePath.toString()+ "/" +path);
        }
    }

+ 130 - 19
src/main/java/com/yihu/hos/system/service/FlowManager.java

@ -1,7 +1,9 @@
package com.yihu.hos.system.service;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.hos.common.constants.Constants;
import com.yihu.hos.core.file.FileUtil;
import com.yihu.hos.core.http.HTTPResponse;
import com.yihu.hos.core.http.HttpClientKit;
import com.yihu.hos.services.ServiceFlowEventService;
import com.yihu.hos.system.dao.FlowClassDao;
@ -296,22 +298,25 @@ public class FlowManager implements IFlowManage {
     * @param newCron
     * @throws Exception
     */
    public boolean genCamelFile(Integer flowId, String newCron) throws Exception {
    public Integer genCamelFile(Integer flowId, String newCron) throws Exception {
        Long timestamp = System.currentTimeMillis();
        ObjectMapper objectMapper = new ObjectMapper();
        List<SystemServiceFlowTemp> flowClassRouters = flowTempDao.getFlowTemps(flowId, Constants.FLOW_TYPE_ROUTE);
        List<SystemServiceFlowTemp> flowClassProces = flowTempDao.getFlowTemps(flowId, Constants.FLOW_TYPE_PROCESSOR);
        SystemServiceFlow oldFlow = getFlowById(flowId);
        //route模板文件记录是否存在。不存在就返回。
        if (!flowClassRouters.isEmpty()){
            Map<String,String> params = new HashMap<>();
            Map<String,String> params = null;
            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();
            StringBuilder basePath = new StringBuilder();;
            if (flowTemp.getPackageName()!=null){
                String packagePath[] = flowTemp.getPackageName().split("\\.");
                for (int i=0;i<packagePath.length;i++){
                    basePath.append(packagePath[i]).append("/");
                }
            }
            //成功生成文件后,添加flow和flowclass记录
            //生成新流程
@ -324,31 +329,137 @@ public class FlowManager implements IFlowManage {
            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){
//                String newProcessName = process.getClassName()+timestamp;
                String newProcessPath = null;
                StringBuilder proPath =  new StringBuilder( );;
                if (process.getPackageName()!=null){
                    String packagePath[] = process.getPackageName().split("\\.");
                    for (int i=0;i<packagePath.length;i++){
                        proPath.append(packagePath[i]).append("/");
                    }
                }
                params = new HashMap<>();
                params.put("type",Constants.FLOW_TYPE_PROCESSOR);
                params.put("filePath", process.getClassPath());
                params.put("packageName", proPath.toString());
                params.put("newClassName",process.getClassName());//原文件名加当前时间戳
                params.put("oldClassName", process.getClassName());
                params.put("newCron",newCron);
                HTTPResponse response = HttpClientKit.post(genCamelUrl, params);
                if (response.getStatusCode()==200 ){
                    Map<String,Object> body = objectMapper.readValue(response.getBody(),Map.class);
                    boolean succ = (boolean) body.get("successFlg");
                    if (succ){
                        newProcessPath = body.get("message").toString();
                    }else {
                        return null;
                    }
                }
                System.out.println(response.getBody());
                SystemServiceFlowClass processClass = new SystemServiceFlowClass();
                processClass.setPackageName(process.getPackageName());
                processClass.setClassName(process.getClassName());
                processClass.setClassPath(process.getClassPath());
                processClass.setClassPath(newProcessPath);
                processClass.setFlowId(newFlow.getId());
                processClass.setType(Constants.FLOW_TYPE_PROCESSOR);
                flowClassDao.saveEntity(processClass);
//                copyProcessor(process.getClassPath(),proPath.toString(),process.getClassName());
            }
            String newClassName = flowTemp.getClassName()+timestamp;
            String newRoutePath =null;
            params = new HashMap<>();
            params.put("type",Constants.FLOW_TYPE_ROUTE);
            params.put("filePath", flowTemp.getClassPath());
            params.put("packageName", basePath.toString());
            params.put("oldClassName", flowTemp.getClassName());
            params.put("newClassName",newClassName);//原文件名加当前时间戳
            params.put("newCron",newCron);
            HTTPResponse response  = HttpClientKit.post(genCamelUrl, params);
            if (response.getStatusCode()==200 ){
                Map<String,Object> body = objectMapper.readValue(response.getBody(),Map.class);
                boolean succ = (boolean) body.get("successFlg");
                if (succ){
                    newRoutePath = body.get("message").toString();
                }else {
                    return null;
                }
            }
            System.out.println(response.getBody());
            return true;
            SystemServiceFlowClass newFlowClass = new SystemServiceFlowClass();
            newFlowClass.setPackageName(flowTemp.getPackageName());
            newFlowClass.setClassName(newClassName);
            newFlowClass.setClassPath(newRoutePath);
            newFlowClass.setFlowId(newFlow.getId());
            newFlowClass.setType(Constants.FLOW_TYPE_ROUTE);
            flowClassDao.saveEntity(newFlowClass);
//            genNewRoutefile(flowTemp.getClassPath(),basePath.toString(),flowTemp.getClassName(),newClassName,newCron);
            return newFlow.getId();
        }
        return false;
        return null;
    }
    /**
     * 修改camel相关文件
     * @param flowId 流程ID
     * @param newCron  新cron
     * @return
     * @throws Exception
     */
    @Override
    public Integer updateCamelFile(Integer flowTempId,Integer flowId, String newCron) throws Exception {
        Long timestamp = System.currentTimeMillis();
        ObjectMapper objectMapper = new ObjectMapper();
        List<SystemServiceFlowTemp> flowTempRouters = flowTempDao.getFlowTemps(flowTempId, Constants.FLOW_TYPE_ROUTE);
        List<SystemServiceFlowClass> flowClassRouters = flowClassDao.getFlowClass(flowId, Constants.FLOW_TYPE_ROUTE);
        SystemServiceFlow oldFlow = getFlowById(flowId);
        //route模板文件记录是否存在。不存在就返回。
        if (!flowTempRouters.isEmpty()){
            SystemServiceFlowTemp flowTemp =flowTempRouters.get(0);
            SystemServiceFlowClass flowClass =flowClassRouters.get(0);
            StringBuilder basePath = new StringBuilder();;
            if (flowTemp.getPackageName()!=null){
                String packagePath[] = flowTemp.getPackageName().split("\\.");
                for (int i=0;i<packagePath.length;i++){
                    basePath.append(packagePath[i]).append("/");
                }
            }
            Map<String,String> params  = new HashMap<>();
            params.put("filePath", flowTemp.getClassPath());
            params.put("packageName", basePath.toString());
            params.put("oldClassName", flowTemp.getClassName());
            params.put("newClassName", flowClass.getClassName());//原文件名加当前时间戳
            params.put("newCron",newCron);
            HTTPResponse response  = HttpClientKit.post(genCamelUrl, params);
            if (response.getStatusCode()==200 ){
                Map<String,Object> body = objectMapper.readValue(response.getBody(),Map.class);
                boolean succ = (boolean) body.get("successFlg");
                if (succ){
                    return flowId;
                }else {
                    return null;
                }
            }else {
                return null;
            }
//            genNewRoutefile(flowTemp.getClassPath(),basePath.toString(),flowTemp.getClassName(),newClassName,newCron);
        }
        return null;
    }
}

+ 20 - 1
src/main/java/com/yihu/hos/system/service/intf/IFlowManage.java

@ -50,6 +50,25 @@ public interface IFlowManage extends IBaseManager {
     * @return
     */
    boolean genFlewByflowTempId(Integer flowTempId) throws Exception;
    boolean genCamelFile(Integer flowId, String newCron) throws Exception;
    /**
     * 根据流程模板Id生成新流程
     * @param flowTempId 流程模板ID
     * @param newCron 新cron表达式
     * @return
     * @throws Exception
     */
    Integer genCamelFile(Integer flowTempId, String newCron) throws Exception;
    /**
     *  修改流程文件
     * @param flowTempId 流程模板ID
     * @param flowId 流程ID
     * @param newCron  新cron
     * @return
     * @throws Exception
     */
    Integer updateCamelFile(Integer flowTempId,Integer flowId, String newCron) throws Exception;
}

+ 2 - 0
src/main/resources/application.yml

@ -35,6 +35,7 @@ spring:
    pooled: false
esb:
  genCamelUrl: http://192.168.131.11:8099/esb/genCamelFile
  copyProcessorUrl: http://192.168.131.11:8099/esb/copyProcessor
  camelFile: E:/
---
spring:
@ -54,6 +55,7 @@ spring:
    pooled: false
esb:
  genCamelUrl: http://192.168.131.11:8099/esb/genCamelFile
  copyProcessorUrl: http://192.168.131.11:8099/esb/copyProcessor
  camelFile: usr/local/esb/
#  data:
#    mongodb:

+ 1 - 0
src/main/webapp/WEB-INF/ehr/jsp/datacollect/editorJobJs.jsp

@ -361,6 +361,7 @@
                me.actionUrl = "${contextRoot}/datacollect/updateJob";
                flowTempId = "${model.flowTempId}";
                liger.get("jobContentClass").selectValue(flowTempId);
                $('#flowId').val( '${model.flowId}');
                var model ={
                    id:'${model.id}',
                    jobName: '${model.jobName}',