瀏覽代碼

JOB测试 功能以完成 使用业务模板时有问题 调试中

shiyj 7 年之前
父節點
當前提交
37575a4531

+ 41 - 41
JobService/src/main/java/com/java110/job/Api/HcFtpToFileSystemConfigAction.java

@@ -2,9 +2,7 @@ package com.java110.job.Api;
 
 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.text.SimpleDateFormat;
 import java.util.*;
 
 /**
- * 将ftp上的文件保存到支持的文件系统
  *
  * @author wuxw7 add by 20170103
  * 		   shiyj update by 2019.08.29
@@ -36,6 +33,7 @@ public class HcFtpToFileSystemConfigAction {
 	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 @@ public class HcFtpToFileSystemConfigAction {
 
 		// 数据规范性校验
 		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 @@ public class HcFtpToFileSystemConfigAction {
 	 *
 	 * @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 @@ public class HcFtpToFileSystemConfigAction {
 		} 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 @@ public class HcFtpToFileSystemConfigAction {
 				} 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 @@ public class HcFtpToFileSystemConfigAction {
 	 *
 	 * @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 @@ public class HcFtpToFileSystemConfigAction {
 		} 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 @@ public class HcFtpToFileSystemConfigAction {
 		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 @@ public class HcFtpToFileSystemConfigAction {
 	 *
 	 * @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 @@ public class HcFtpToFileSystemConfigAction {
 		} 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 @@ public class HcFtpToFileSystemConfigAction {
 
 		List<Map> doFtpItems = iHcFtpFileDAO.queryFtpItemsByTaskIds(info);
 
-		// 获取Spring调度器
-		Scheduler scheduler = (Scheduler) SpringBeanInvoker.getBean("schedulerFactoryBean");
 		int linstenCount = 0;
 		int updateTaskStateFailCount = 0;
 		try {
@@ -496,11 +499,11 @@ public class HcFtpToFileSystemConfigAction {
 
 				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 @@ public class HcFtpToFileSystemConfigAction {
 					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 @@ public class HcFtpToFileSystemConfigAction {
 			// 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 @@ public class HcFtpToFileSystemConfigAction {
 	 *
 	 * @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 @@ public class HcFtpToFileSystemConfigAction {
 		} 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;
 		}
 
 		// 查询需要操作的任务
@@ -609,9 +612,6 @@ public class HcFtpToFileSystemConfigAction {
 
 		List<Map> doFtpItems = iHcFtpFileDAO.queryFtpItemsByTaskIds(info);
 
-		// 获取Spring调度器
-		Scheduler scheduler = (Scheduler) SpringBeanInvoker.getBean("schedulerFactoryBean");
-
 		int linstenCount = 0;
 		int updateTaskStateFailCount = 0;
 		try {
@@ -660,13 +660,13 @@ public class HcFtpToFileSystemConfigAction {
 			// 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 @@ public class HcFtpToFileSystemConfigAction {
 			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)));
 			}

+ 0 - 36
JobService/src/main/java/com/java110/job/common/CustomizedPropertyPlaceholderConfigurer.java

@@ -1,36 +0,0 @@
-package com.java110.job.common;
-
-
-import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;
-
-import java.util.Map;
-
-/**
- * 自定义PropertyPlaceholderConfigurer返回properties内容
- * 
- * @author 吕振龙
- * 
- */
-public class CustomizedPropertyPlaceholderConfigurer extends PropertyPlaceholderConfigurer {
-
-
-	private static Map<String, Object> ctxPropertiesMap;
-
-	/**
-	 * @return the ctxPropertiesMap
-	 */
-	public static Map<String, Object> getCtxPropertiesMap() {
-		return ctxPropertiesMap;
-	}
-
-
-	/**根据KEY查询值
-	 * @param name
-	 * @return
-	 */
-	public static Object getContextProperty(String name) {
-		return ctxPropertiesMap.get(name);
-	}
-
-
-}

+ 48 - 0
JobService/src/main/java/com/java110/job/controller/JobController.java

@@ -88,4 +88,52 @@ public class JobController extends BaseController {
         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();
+    }
 }

+ 1 - 1
JobService/src/main/java/com/java110/job/dao/impl/HcFtpFileDAOImpl.java

@@ -11,7 +11,7 @@ import java.util.HashMap;
 
 import java.util.List;
 import java.util.Map;
-@Service("IHcFtpFileDAO")
+@Service("hcFtpFileDAOImpl")
 @Transactional
 public class HcFtpFileDAOImpl extends BaseServiceDao implements IHcFtpFileDAO {
 

+ 4 - 3
JobService/src/main/java/com/java110/job/smo/DownloadFileFromFtpToTable.java

@@ -4,6 +4,7 @@ import com.java110.job.util.FTPClientTemplate;
 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.Future;
 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地址

+ 2 - 6
JobService/src/main/java/com/java110/job/smo/HcFtpToFileSystemQuartz.java

@@ -16,15 +16,11 @@ import java.text.SimpleDateFormat;
 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

+ 8 - 0
JobService/src/main/java/com/java110/job/smo/JobFuLeiQuartz.java

@@ -0,0 +1,8 @@
+package com.java110.job.smo;
+
+import java.util.Map;
+
+public interface JobFuLeiQuartz {
+
+    void startFtpTask(Map ftpItemConfigInfo) throws Exception;
+}

+ 12 - 11
JobService/src/main/java/com/java110/job/smo/impl/HcPrvncFtpFileBMOImpl.java

@@ -3,50 +3,51 @@ package com.java110.job.smo.impl;
 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);
 	}
 	
 }

+ 11 - 10
JobService/src/main/java/com/java110/job/smo/impl/HcFtpFileSMOImpl.java

@@ -4,52 +4,53 @@ import com.java110.job.model.*;
 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);
 	}
 }

+ 6 - 6
JobService/src/main/java/com/java110/job/task/HcFtpToFileSystemJob.java

@@ -3,6 +3,7 @@ package com.java110.job.task;
 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 @@ import java.util.Map;
 
 
 /**
- * 将集团文件同步至本地支持的文件系统
  *
- * @author wuxw7
+ * @author
  *
  */
 
@@ -30,8 +30,8 @@ public class HcFtpToFileSystemJob implements Job {
 	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 @@ public class HcFtpToFileSystemJob implements Job {
 			}
 
 			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);
 		}

+ 9 - 11
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.FTPClient;
 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 @@ public class FTPClientTemplate implements Callable<Map> {
     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 @@ public class FTPClientTemplate implements Callable<Map> {
 		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 @@ public class FTPClientTemplate implements Callable<Map> {
     		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 @@ public class FTPClientTemplate implements Callable<Map> {
 		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 @@ public class FTPClientTemplate implements Callable<Map> {
 		}
 		insertsql=getInsertTableSQL(colnames,collist,datarows,insertsql);
 		//执行SQL语句,保存数据
-		iHcFtpFileSMO.insertFileData2Table(insertsql);
+        hcFtpFileSMOImpl.insertFileData2Table(insertsql);
     }
     /**
      * 拼接数据保存的SQL语句,日期型的值要格式化下

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

@@ -6,6 +6,8 @@ jedis:
       maxWaitMillis: 20000
     host: dev.redis.java110.com
     port: 6379
+    timeout: 3000
+    password:
 
 eureka:
   instance:

+ 6 - 6
JobService/src/main/resources/static/js/HcFtpToFileSystemConfigList.js

@@ -101,9 +101,9 @@ function createHtmlContext(taskInfo){
                    +"<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 @@ function startJob(){
     // 请求处理
      $.ajax({
           type: 'POST',
-          url: '../FtpToFileSystem_startJob.action',
+          url: '/HcFtpToFileSystemConfigList/startJob',
           data: {
                 ftpItemJson:requestParam
           },
@@ -248,7 +248,7 @@ function stopJob(){
        // 请求处理
         $.ajax({
              type: 'POST',
-             url: '../FtpToFileSystem_stopJob.action',
+             url: '/HcFtpToFileSystemConfigList/stopJob',
              data: {
                    ftpItemJson:requestParam
              },
@@ -318,7 +318,7 @@ function deleteTask(){
         // 请求处理
          $.ajax({
               type: 'POST',
-              url: '../FtpToFileSystem_deleteFtpItem.action',
+              url: '/HcFtpToFileSystemConfigList/deleteFtpItem',
               data: {
                     ftpItemJson:requestParam
               },
@@ -589,7 +589,7 @@ function saveTaskInfo(doType){
     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");

+ 2 - 0
java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java

@@ -84,6 +84,8 @@ public class GenerateCodeFactory {
 
     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";

+ 1 - 1
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}