JobService/src/main/java/com/java110/job/Api/HcFtpToFileSystemConfigAction.java
@@ -2,9 +2,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.java110.common.util.SpringBeanInvoker; import com.java110.core.factory.GenerateCodeFactory; import com.java110.job.common.CustomizedPropertyPlaceholderConfigurer; import com.java110.job.dao.IHcFtpFileDAO; import com.java110.job.smo.DownloadFileFromFtpToTable; import com.java110.job.task.HcFtpToFileSystemJob; @@ -22,7 +20,6 @@ import java.util.*; /** * 将ftp上的文件保存到支持的文件系统 * * @author wuxw7 add by 20170103 * shiyj update by 2019.08.29 @@ -36,6 +33,7 @@ private static final String defaultCronExpression = "0 * * * * ?";// 每分钟执行一次 private static final String prefixJobName = "HcFtpToSystem_"; // job private static final String triggerNames = "HcFtpToData_"; // job // 名称前缀,防止和其他的job名称产生冲突 private static final String RUNFLAG_START = "1"; @@ -134,9 +132,9 @@ // 数据规范性校验 Object dealClassObj = null; // 在prvncCrm.properties 文件中获取对应处理类 //目前写死他 if ("DT".equals(paramIn.get("uOrD").toString())) { dealClassObj = DownloadFileFromFtpToTable.class; dealClassObj = "downloadFileFromFtpToTable"; }else{ resultMsg = this.createResultMsg("1999", "对应模板不存在,请联系管理员", ""); return resultMsg; @@ -185,7 +183,7 @@ * * @return */ public String editFtpItem(HttpServletRequest request) { public JSONObject editFtpItem(HttpServletRequest request) { // 请求参数为{"taskId":"12","taskName":"经办人照片同步处理","ftpUserName":"weblogic",.....} String ftpItemJson = request.getParameter("ftpItemJson"); @@ -196,18 +194,25 @@ } catch (Exception e) { logger.error("传入参数格式不正确:" + ftpItemJson, e); resultMsg = createResultMsg("1999", "传入参数格式不正确:" + ftpItemJson, ""); return "editFtpItem"; return resultMsg; } // 将ftpItemJson装为Map保存操作 Map paramIn = JSONObject.parseObject(ftpItemJsonObj.getJSONObject("taskInfo").toJSONString(), Map.class); // 在prvncCrm.properties 文件中获取对应处理类 Object dealClassObj = CustomizedPropertyPlaceholderConfigurer.getContextProperty("task.deal.class." + paramIn.get("uOrD")); Object dealClassObj = null; //目前写死他 if ("DT".equals(paramIn.get("uOrD").toString())) { dealClassObj = "downloadFileFromFtpToTable"; }else{ resultMsg = this.createResultMsg("1999", "对应模板不存在,请联系管理员", ""); return resultMsg; } // Object dealClassObj = "provInner.DownloadFileFromFtpToTFS"; if (dealClassObj == null) { resultMsg = this.createResultMsg("1999", "对应模板不存在,请联系管理员", ""); return "editFtpItem"; return resultMsg; } String dealClass = dealClassObj.toString(); @@ -239,13 +244,13 @@ } else { resultMsg = this.createResultMsg("1999", "更新属性失败", ""); } return "editFtpItem"; return resultMsg; } resultMsg = this.createResultMsg("1999", "修改的数据不存在或修改失败", ""); return "editFtpItem"; return resultMsg; } resultMsg = this.createResultMsg("1999", "未找到对应的数据更新失败【" + paramIn.get("taskId") + "】", ""); return "editFtpItem"; return resultMsg; } /** @@ -253,7 +258,7 @@ * * @return */ public String deleteFtpItem(HttpServletRequest request) { public JSONObject deleteFtpItem(HttpServletRequest request) { // 请求参数为{"tasks":[{"taskId":1},{"taskId":2}],"state":"DELETE"} String ftpItemJson = request.getParameter("ftpItemJson"); @@ -269,21 +274,21 @@ } catch (Exception e) { logger.error("传入参数格式不正确:" + ftpItemJson, e); resultMsg = createResultMsg("1999", "传入参数格式不正确:" + ftpItemJson + e, ""); return "deleteFtpItem"; return resultMsg; } // 传入报文不为空 if (paramIn == null || !paramIn.containsKey("tasks") || !paramIn.containsKey("state")) { resultMsg = createResultMsg("1999", "传入参数格式不正确(必须包含tasks 和 state节点):" + ftpItemJson, ""); return "deleteFtpItem"; return resultMsg; } // 校验当前是否为启动侦听 if (!"DELETE".equals(paramIn.get("state"))) { resultMsg = createResultMsg("1999", "传入参数格式不正确(state的值必须是DELETE):" + ftpItemJson, ""); return "deleteFtpItem"; return resultMsg; } // 查询需要操作的任务 @@ -304,12 +309,12 @@ int updateFtpItemFlag = iHcFtpFileDAO.deleteFtpItemByTaskId(paramInfo); if (updateFtpItemFlag > 0) { resultMsg = this.createResultMsg("0000", "成功", ftpItemJson); return "deleteFtpItem"; return resultMsg; } resultMsg = this.createResultMsg("1999", "删除数据已经不存在,或删除失败", ""); return "deleteFtpItem"; return resultMsg; } /** @@ -425,7 +430,7 @@ * * @return */ public String startJob(HttpServletRequest request) { public JSONObject startJob(HttpServletRequest request) { // 请求参数为{"tasks":[{"taskId":1},{"taskId":2}],"state":"START"} String ftpItemJson = request.getParameter("ftpItemJson"); @@ -439,21 +444,21 @@ } catch (Exception e) { logger.error("传入参数格式不正确:" + ftpItemJson, e); resultMsg = createResultMsg("1999", "传入参数格式不正确:" + ftpItemJson, ""); return "startJob"; return resultMsg; } // 传入报文不为空 if (paramIn == null || !paramIn.containsKey("tasks") || !paramIn.containsKey("state")) { resultMsg = createResultMsg("1999", "传入参数格式不正确(必须包含tasks 和 state节点):" + ftpItemJson, ""); return "startJob"; return resultMsg; } // 校验当前是否为启动侦听 if (!"START".equals(paramIn.get("state"))) { resultMsg = createResultMsg("1999", "传入参数格式不正确(state的值必须是START):" + ftpItemJson, ""); return "startJob"; return resultMsg; } // 查询需要操作的任务 @@ -475,8 +480,6 @@ List<Map> doFtpItems = iHcFtpFileDAO.queryFtpItemsByTaskIds(info); // 获取Spring调度器 Scheduler scheduler = (Scheduler) SpringBeanInvoker.getBean("schedulerFactoryBean"); int linstenCount = 0; int updateTaskStateFailCount = 0; try { @@ -496,11 +499,11 @@ String jobName = prefixJobName + taskId; String triggerName = prefixJobName + taskId; String triggerName = triggerNames + taskId; //设置任务名称 JobKey jobKey = new JobKey(jobName); JobDetail jobDetail = scheduler.getJobDetail(jobKey); // 说明这个没有启动,则需要重新启动,如果启动着不做处理 JobKey jobKey = new JobKey(jobName,HcFtpToFileSystemJob.JOB_GROUP_NAME); JobDetail jobDetail = scheduler.getJobDetail(jobKey); if (jobDetail == null) { // 任务名称 @@ -513,7 +516,7 @@ warnJob.getJobDataMap().put(HcFtpToFileSystemJob.JOB_DATA_TASK_ID, taskId); // 触发时间点 CronTrigger warnTrigger = TriggerBuilder.newTrigger().withIdentity(triggerName, triggerName).withSchedule(cronScheduleBuilder).build(); CronTrigger warnTrigger = TriggerBuilder.newTrigger().withIdentity(triggerName, triggerName+"_group").withSchedule(cronScheduleBuilder).build(); // 错过执行后,立即执行 //warnTrigger(CronTrigger.MISFIRE_INSTRUCTION_FIRE_ONCE_NOW); @@ -545,13 +548,13 @@ // TODO Auto-generated catch block logger.error("调度器启动出错:" + ftpItemJson, e); resultMsg = createResultMsg("1999", "调度器启动出错:" + e, ""); return "startJob"; return resultMsg; } if (logger.isDebugEnabled()) { logger.debug("---【PrvncFtpToFileSystemConfigAction.startJob】出参为:" + resultMsg, resultMsg); } return "startJob"; return resultMsg; } /** @@ -559,7 +562,7 @@ * * @return */ public String stopJob(HttpServletRequest request) { public JSONObject stopJob(HttpServletRequest request) { // 请求参数为{"tasks":[{"taskId":1},{"taskId":2}],"state":"STOP"} String ftpItemJson = request.getParameter("ftpItemJson"); @@ -573,21 +576,21 @@ } catch (Exception e) { logger.error("传入参数格式不正确:" + ftpItemJson, e); resultMsg = createResultMsg("1999", "传入参数格式不正确:" + ftpItemJson, ""); return "stopJob"; return resultMsg; } // 传入报文不为空 if (paramIn == null || !paramIn.containsKey("tasks") || !paramIn.containsKey("state")) { resultMsg = createResultMsg("1999", "传入参数格式不正确(必须包含tasks 和 state节点):" + ftpItemJson, ""); return "stopJob"; return resultMsg; } // 校验当前是否为启动侦听 if (!"STOP".equals(paramIn.get("state"))) { resultMsg = createResultMsg("1999", "传入参数格式不正确(state的值必须是START):" + ftpItemJson, ""); return "stopJob"; return resultMsg; } // 查询需要操作的任务 @@ -608,9 +611,6 @@ info.put("taskIds", taskIds.split(",")); List<Map> doFtpItems = iHcFtpFileDAO.queryFtpItemsByTaskIds(info); // 获取Spring调度器 Scheduler scheduler = (Scheduler) SpringBeanInvoker.getBean("schedulerFactoryBean"); int linstenCount = 0; int updateTaskStateFailCount = 0; @@ -660,13 +660,13 @@ // TODO Auto-generated catch block logger.error("调度器停止出错:" + ftpItemJson, e); resultMsg = createResultMsg("1999", "调度器停止出错:" + e, ""); return "stopJob"; return resultMsg; } if (logger.isDebugEnabled()) { logger.debug("---【PrvncFtpToFileSystemConfigAction.startJob】出参为:" + resultMsg, resultMsg); } return "stopJob"; return resultMsg; } /** @@ -721,7 +721,7 @@ for (Map ftpItemMap : ftpItems) { // 处理时间显示和界面显示传输类型 ftpItemMap.put("U_OR_D_NAME", CustomizedPropertyPlaceholderConfigurer.getContextProperty("task.tamplete.name." + ftpItemMap.get("U_OR_D")));// 暂且写死,最终还是读取配置 ftpItemMap.put("U_OR_D_NAME", ftpItemMap.get("U_OR_D"));// 暂且写死,最终还是读取配置 ftpItemMap.put("CREATE_DATE", df.format(ftpItemMap.get("CREATE_DATE")));// 暂且写死,最终还是读取配置 rows.add(JSONObject.parseObject(JSONObject.toJSONString(ftpItemMap))); } JobService/src/main/java/com/java110/job/common/CustomizedPropertyPlaceholderConfigurer.java
File was deleted JobService/src/main/java/com/java110/job/controller/JobController.java
@@ -88,4 +88,52 @@ return JSON.toJSONString(); } /** * 根据TaskId 启动任务 * @return */ @RequestMapping(path = "/startJob") @ResponseBody public String startJob(HttpServletRequest request) { logger.debug("请求流程 {},{}", new StringBuffer("startJob 我看到请求了"), new Date()); JSONObject JSON = ftpToFileSystemConfigAction.startJob(request); return JSON.toJSONString(); } /** * 根据TaskId 停止任务 * @return */ @RequestMapping(path = "/stopJob") @ResponseBody public String stopJob(HttpServletRequest request) { logger.debug("请求流程 {},{}", new StringBuffer("stopJob 我看到请求了"), new Date()); JSONObject JSON = ftpToFileSystemConfigAction.stopJob(request); return JSON.toJSONString(); } /** * 根据TaskId 删除任务 * @return */ @RequestMapping(path = "/deleteFtpItem") @ResponseBody public String deleteFtpItem(HttpServletRequest request) { logger.debug("请求流程 {},{}", new StringBuffer("deleteFtpItem 我看到请求了"), new Date()); JSONObject JSON = ftpToFileSystemConfigAction.deleteFtpItem(request); return JSON.toJSONString(); } /** * 根据TaskId 删除任务 * @return */ @RequestMapping(path = "/editFtpItem") @ResponseBody public String editFtpItem(HttpServletRequest request) { logger.debug("请求流程 {},{}", new StringBuffer("editFtpItem 我看到请求了"), new Date()); JSONObject JSON = ftpToFileSystemConfigAction.editFtpItem(request); return JSON.toJSONString(); } } JobService/src/main/java/com/java110/job/dao/impl/HcFtpFileDAOImpl.java
@@ -11,7 +11,7 @@ import java.util.List; import java.util.Map; @Service("IHcFtpFileDAO") @Service("hcFtpFileDAOImpl") @Transactional public class HcFtpFileDAOImpl extends BaseServiceDao implements IHcFtpFileDAO { JobService/src/main/java/com/java110/job/smo/DownloadFileFromFtpToTable.java
@@ -4,6 +4,7 @@ import org.apache.commons.net.ftp.FTP; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPReply; import org.springframework.stereotype.Component; import java.io.File; import java.io.RandomAccessFile; @@ -16,12 +17,12 @@ import java.util.concurrent.ThreadPoolExecutor; /** * 从Ftp文件系统下载文件内容存到对应配置的表中 * * * * @author wuxw7 2016-01-04 * @author * */ @Component public class DownloadFileFromFtpToTable extends HcFtpToFileSystemQuartz { private static final String ITEM_SPEC_CD_10011 = "10011";// FTP地址 JobService/src/main/java/com/java110/job/smo/HcFtpToFileSystemQuartz.java
@@ -16,15 +16,11 @@ import java.util.*; /** * Ftp定时任务执行类,所有的任务都在这里执行,主要为了ftp文件保存到文件系统,业务逻辑单独处理 * * 特别注意,事前过程调用是没有传递参数的,事后过程调用是需要传递一个param的参数,需要在子类process方法中写入,如果不需要传也要传个""过来, * 相应过程需要两个参数,一个是入参一个是出参 * * @author wuxw7 add by 2016-01-03 * @author * */ public abstract class HcFtpToFileSystemQuartz { public abstract class HcFtpToFileSystemQuartz implements JobFuLeiQuartz{ protected static final Logger logger = LoggerFactory.getLogger(HcFtpToFileSystemQuartz.class); @Autowired JobService/src/main/java/com/java110/job/smo/JobFuLeiQuartz.java
New file @@ -0,0 +1,8 @@ package com.java110.job.smo; import java.util.Map; public interface JobFuLeiQuartz { void startFtpTask(Map ftpItemConfigInfo) throws Exception; } JobService/src/main/java/com/java110/job/smo/impl/HcFtpFileBMOImpl.java
File was renamed from JobService/src/main/java/com/java110/job/smo/impl/HcPrvncFtpFileBMOImpl.java @@ -3,50 +3,51 @@ import com.java110.job.dao.IHcFtpFileDAO; import com.java110.job.model.*; import com.java110.job.smo.IHcFtpFileBMO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.Map; @Service("prvncFtpFileBMOImpl") @Service("hcFtpFileBMOImpl") @Transactional public class HcPrvncFtpFileBMOImpl implements IHcFtpFileBMO { @Autowired private IHcFtpFileDAO iHcFtpFileDAO; public class HcFtpFileBMOImpl implements IHcFtpFileBMO { @Resource(name = "hcFtpFileDAOImpl") private IHcFtpFileDAO hcFtpFileDAOImpl; @Override public long saveTaskRunLog(FtpTaskLog loginfo) { // TODO Auto-generated method stub return iHcFtpFileDAO.saveTaskRunLog(loginfo); return hcFtpFileDAOImpl.saveTaskRunLog(loginfo); } public void updateTaskRunLog(FtpTaskLog loginfo) { // TODO Auto-generated method stub iHcFtpFileDAO.updateTaskRunLog(loginfo); hcFtpFileDAOImpl.updateTaskRunLog(loginfo); } public int saveTaskRunDetailLog(FtpTaskLogDetail logdetail) { // TODO Auto-generated method stub return iHcFtpFileDAO.saveTaskRunDetailLog(logdetail); return hcFtpFileDAOImpl.saveTaskRunDetailLog(logdetail); } /** * 执行存过,处理任务执行前后的事情 */ public void saveDbFunction(String function){ iHcFtpFileDAO.saveDbFunction(function); hcFtpFileDAOImpl.saveDbFunction(function); } /** * 执行存过(带参数),处理任务执行前后的事情 */ public void saveDbFunctionWithParam(Map info){ iHcFtpFileDAO.saveDbFunctionWithParam(info); hcFtpFileDAOImpl.saveDbFunctionWithParam(info); } @Override public void insertFileData2Table(String insertSQL) { // TODO Auto-generated method stub iHcFtpFileDAO.insertFileData2Table(insertSQL); hcFtpFileDAOImpl.insertFileData2Table(insertSQL); } } JobService/src/main/java/com/java110/job/smo/impl/HcFtpFileSMOImpl.java
@@ -4,52 +4,53 @@ import com.java110.job.smo.IHcFtpFileBMO; import com.java110.job.smo.IHcFtpFileSMO; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.Map; @Service("prvncFtpFileSMOImpl") @Service("hcFtpFileSMOImpl") @Transactional public class HcFtpFileSMOImpl implements IHcFtpFileSMO { /** logger */ protected final Logger log= Logger.getLogger(getClass()); @Autowired private IHcFtpFileBMO iPrvncFtpFileBMO; @Resource(name = "hcFtpFileBMOImpl") private IHcFtpFileBMO hcFtpFileBMOImpl; @Override public long saveTaskRunLog(FtpTaskLog loginfo) { // TODO Auto-generated method stub return iPrvncFtpFileBMO.saveTaskRunLog(loginfo); return hcFtpFileBMOImpl.saveTaskRunLog(loginfo); } public void updateTaskRunLog(FtpTaskLog loginfo) { // TODO Auto-generated method stub iPrvncFtpFileBMO.updateTaskRunLog(loginfo); hcFtpFileBMOImpl.updateTaskRunLog(loginfo); } @Override public int saveTaskRunDetailLog(FtpTaskLogDetail logdetail) { // TODO Auto-generated method stub return iPrvncFtpFileBMO.saveTaskRunDetailLog(logdetail); return hcFtpFileBMOImpl.saveTaskRunDetailLog(logdetail); } /** * 执行存过,处理任务执行前后的事情 */ public void saveDbFunction(String function){ iPrvncFtpFileBMO.saveDbFunction(function); hcFtpFileBMOImpl.saveDbFunction(function); } /** * 执行存过(带参数),处理任务执行前后的事情 */ public void saveDbFunctionWithParam(Map info){ iPrvncFtpFileBMO.saveDbFunctionWithParam(info); hcFtpFileBMOImpl.saveDbFunctionWithParam(info); } @Override public void insertFileData2Table(String insertSQL) { // TODO Auto-generated method stub iPrvncFtpFileBMO.insertFileData2Table(insertSQL); hcFtpFileBMOImpl.insertFileData2Table(insertSQL); } } JobService/src/main/java/com/java110/job/task/HcFtpToFileSystemJob.java
@@ -3,6 +3,7 @@ import com.java110.common.util.SpringBeanInvoker; import com.java110.job.dao.IHcFtpFileDAO; import com.java110.job.smo.HcFtpToFileSystemQuartz; import com.java110.job.smo.JobFuLeiQuartz; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; @@ -15,9 +16,8 @@ /** * 将集团文件同步至本地支持的文件系统 * * @author wuxw7 * @author * */ @@ -30,8 +30,8 @@ public static String JOB_GROUP_NAME = "ftpToFileSystemJobGroup"; // 任务的 分组名称 @Autowired private IHcFtpFileDAO iHcFtpFileDAO; @Autowired private HcFtpToFileSystemQuartz hcFtpToFileSystemQuartz; private JobFuLeiQuartz jobFuLeiQuartz; protected void executeInternal(JobExecutionContext context) { try { @@ -56,8 +56,8 @@ } String dealClass = ftpItemConfigInfo.get("DEAL_CLASS").toString(); hcFtpToFileSystemQuartz = (HcFtpToFileSystemQuartz) SpringBeanInvoker.getBean(dealClass); hcFtpToFileSystemQuartz.startFtpTask(ftpItemConfigInfo); jobFuLeiQuartz = (HcFtpToFileSystemQuartz) SpringBeanInvoker.getBean(dealClass); jobFuLeiQuartz.startFtpTask(ftpItemConfigInfo); } catch (Throwable ex) { logger.error("执行任务失败:", ex); } JobService/src/main/java/com/java110/job/util/FTPClientTemplate.java
@@ -1,6 +1,5 @@ package com.java110.job.util; import com.java110.common.util.SpringBeanInvoker; import com.java110.job.dao.IHcFtpFileDAO; import com.java110.job.model.FtpTaskLogDetail; import com.java110.job.smo.IHcFtpFileSMO; @@ -10,8 +9,8 @@ import org.apache.commons.net.ftp.FTPFile; import org.apache.commons.net.ftp.FTPReply; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import javax.annotation.Resource; import java.io.*; import java.net.SocketException; import java.util.*; @@ -47,10 +46,10 @@ private String localfilename; //本地保存的文件名 private String transferflag; //传输类型 private Map threadpara; //线程执行参数 @Autowired private IHcFtpFileDAO iHcFtpFileDAO; @Autowired private IHcFtpFileSMO iHcFtpFileSMO; @Resource(name = "hcFtpFileDAOImpl") private IHcFtpFileDAO hcFtpFileDAOImpl; @Resource(name = "hcFtpFileSMOImpl") private IHcFtpFileSMO hcFtpFileSMOImpl; public static String SPECIAL_SINGLESPLIT_a="+*|"; //字符串分隔符特殊字符需要用加"\\"来转译 //传输类型(“U"是上传 upload ”D“是下载 download) public static class TransferType{ @@ -104,8 +103,7 @@ init(); } private void init(){ this.iHcFtpFileDAO = ((IHcFtpFileDAO) SpringBeanInvoker.getBean("provInner.iHcFtpFileDAO")); this.iHcFtpFileSMO=((IHcFtpFileSMO) SpringBeanInvoker.getBean("provInner.iHcFtpFileSMO")); } public Map call() throws Exception { Map result=null; @@ -500,7 +498,7 @@ tablename=tablename.trim(); tablename=tablename.substring(tablename.lastIndexOf(" "), tablename.length()); //查字段的数据类型 List<Map> collist=iHcFtpFileDAO.queryTableColInfo(tablename.trim(), colnames.trim()); List<Map> collist=hcFtpFileDAOImpl.queryTableColInfo(tablename.trim(), colnames.trim()); RandomAccessFile raf = new RandomAccessFile(localfilename, "r"); long filelen=raf.length(); if (filelen != 0L) { @@ -569,7 +567,7 @@ logdetail.setRemark((String)threadpara.get("remark")); logdetail.setServerfilename((String)threadpara.get("serverfilename")); logdetail.setLocalfilename((String)threadpara.get("localfilename")); iHcFtpFileSMO.saveTaskRunDetailLog(logdetail); hcFtpFileSMOImpl.saveTaskRunDetailLog(logdetail); } public void saveStringToData(String data, String insertsql, String colnames, List<Map> collist){ //拼接数据保存的SQL语句,日期型的值要格式化下 @@ -588,7 +586,7 @@ } insertsql=getInsertTableSQL(colnames,collist,datarows,insertsql); //执行SQL语句,保存数据 iHcFtpFileSMO.insertFileData2Table(insertsql); hcFtpFileSMOImpl.insertFileData2Table(insertsql); } /** * 拼接数据保存的SQL语句,日期型的值要格式化下 JobService/src/main/resources/application-dev.yml
@@ -6,6 +6,8 @@ maxWaitMillis: 20000 host: dev.redis.java110.com port: 6379 timeout: 3000 password: eureka: instance: JobService/src/main/resources/static/js/HcFtpToFileSystemConfigList.js
@@ -101,9 +101,9 @@ +"<td class='text-center'>"+taskCreateDate+"</td>" +"<td class='text-center'>"+taskRunStateName+"</td>"; if(taskRUNFlag == "1"){ trStr += "<td class='text-center'><span class='glyphicon glyphicon-ok-sign task_run' ></span></td>"; trStr += "<td class='text-center'><span class='glyphicon glyphicon-ok-sign task_run' >运行</span></td>"; }else{ trStr += "<td class='text-center'><span class='glyphicon glyphicon-remove-sign task_stop' ></span></td>" trStr += "<td class='text-center'><span class='glyphicon glyphicon-remove-sign task_stop' >停止</span></td>" } trStr = trStr @@ -175,7 +175,7 @@ // 请求处理 $.ajax({ type: 'POST', url: '../FtpToFileSystem_startJob.action', url: '/HcFtpToFileSystemConfigList/startJob', data: { ftpItemJson:requestParam }, @@ -248,7 +248,7 @@ // 请求处理 $.ajax({ type: 'POST', url: '../FtpToFileSystem_stopJob.action', url: '/HcFtpToFileSystemConfigList/stopJob', data: { ftpItemJson:requestParam }, @@ -318,7 +318,7 @@ // 请求处理 $.ajax({ type: 'POST', url: '../FtpToFileSystem_deleteFtpItem.action', url: '/HcFtpToFileSystemConfigList/deleteFtpItem', data: { ftpItemJson:requestParam }, @@ -589,7 +589,7 @@ var taskId = -1; var url = "/HcFtpToFileSystemConfigList/addFtpItem";// 新增时的URL if(doType == 'Edit'){ url = '../FtpToFileSystem_editFtpItem.action';// 编辑时的URL url = '/HcFtpToFileSystemConfigList/editFtpItem';// 编辑时的URL taskId = $('#taskId'+doType).val(); } var taskAttrsInputs = $("div[name='taskAttrs"+doType+"'] input"); java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java
@@ -84,6 +84,8 @@ public static final String CODE_PREFIX_HCJOBId="96"; public static final String CODE_PREFIX_HCJOBLOCId="99"; //BUSINESSTYPE public static final String CODE_PREFIX_id="99"; public static final String CODE_PREFIX_service_id="98"; java110-db/src/main/resources/mapper/job/IHcFtpFileDAO.xml
@@ -201,7 +201,7 @@ <!-- 修改ftp配置信息 --> <update id="updateFtpItemByTaskId" parameterType="Map"> update hc_ftp_task sft set update_date = sysdate set update_date = SYSDATE() <if test="taskName !=null and taskName != ''">,sft.taskname = #{taskName} </if> <if test="fileName !=null and fileName != ''">,sft.file_name = #{fileName}