JobService/src/main/java/com/java110/job/Api/HcFtpToFileSystemConfigAction.java
File was renamed from JobService/src/main/java/com/java110/job/Api/PrvncFtpToFileSystemConfigAction.java @@ -3,17 +3,17 @@ 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.IPrvncFtpFileDAO; import com.java110.job.task.PrvncFtpToFileSystemJob; import com.java110.job.dao.IHccFtpFileDAO; import com.java110.job.task.HcFtpToFileSystemJob; import org.apache.commons.validator.GenericValidator; import org.apache.commons.validator.util.ValidatorUtils; import org.quartz.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; import java.text.DateFormat; @@ -22,58 +22,57 @@ import java.util.HashMap; import java.util.List; import java.util.Map; /** * 将ftp上的文件保存到支持的文件系统 * * * @author wuxw7 add by 20170103 * * shiyj update by 2019.08.29 * */ @RestController public class PrvncFtpToFileSystemConfigAction{ @Service public class HcFtpToFileSystemConfigAction { private static final Logger logger = LoggerFactory.getLogger(PrvncFtpToFileSystemConfigAction.class); private static final Logger logger = LoggerFactory.getLogger(HcFtpToFileSystemConfigAction.class); private static final String defaultCronExpression = "0 * * * * ?";// 每分钟执行一次 private static final String prefixJobName = "PrvncFtpToSystem_"; // job private static final String prefixJobName = "HcFtpToSystem_"; // job // 名称前缀,防止和其他的job名称产生冲突 private static final String RUNFLAG_START = "1"; private static final String RUNFLAG_STOP = "0"; @Autowired private IPrvncFtpFileDAO iprvncFtpFileDAO; private IHccFtpFileDAO iprvncFtpFileDAO; @Autowired private Scheduler scheduler; // 每页数据条数 private static int pageSize = 20; public JSONObject resultMsg; @Autowired private Scheduler scheduler; /** * * */ private static final long serialVersionUID = 1L; /** * 查询配置的需要下载任务的列表 * * * @return */ @RequestMapping(path = "/FtpToFileSystem/queryFtpItems" , method = RequestMethod.POST) public String queryFtpItems(@RequestBody String queryftpinfo,HttpServletRequest request) { public JSONObject queryFtpItems(HttpServletRequest request) { JSONObject queryftp = JSONObject.parseObject(queryftpinfo); String curPage = queryftp.getString("curPage"); String curPage = request.getParameter("curPage"); curPage = curPage == null || "".equals(curPage) ? "1" : curPage; // 查询在用状态时的下载任务列表 Map info = new HashMap(); info.put("curPage", curPage); info.put("pageSize", pageSize); Map resultInfo = getPrvncFtpFileDAO().queryFtpItems(info); info.put("curPage", (Integer.parseInt(curPage)-1)*pageSize); info.put("pageSize", pageSize*Integer.parseInt(curPage)); Map resultInfo = iprvncFtpFileDAO.queryFtpItems(info); // 获取总数据数 int dataCount = resultInfo.get("ITEMSCOUNT") == null ? 0 : Integer.parseInt(resultInfo.get("ITEMSCOUNT").toString()); @@ -99,29 +98,28 @@ // 处理时间显示和界面显示传输类型 Map ftpItemMap = ftpItems.get(itemIndex); ftpItemMap.put("U_OR_D_NAME", "task.tamplete.name." + ftpItemMap.get("U_OR_D"));// 暂且写死,最终还是读取配置 ftpItemMap.put("U_OR_D_NAME", CustomizedPropertyPlaceholderConfigurer.getContextProperty("task.tamplete.name." + ftpItemMap.get("U_OR_D")));// 暂且写死,最终还是读取配置 ftpItemMap.put("CREATE_DATE", df.format(ftpItemMap.get("CREATE_DATE")));// 暂且写死,最终还是读取配置 rows.add(JSONObject.parseObject(JSONObject.toJSONString(ftpItems.get(itemIndex)))); } data.put("rows", rows); resultMsg = data; return data.toString(); return data; } data.put("rows", "[]"); resultMsg = data; return data.toString(); return data; } /** * 增加Ftp配置 * * * @return */ @RequestMapping(path = "/FtpToFileSystem/addFtpItem" , method = RequestMethod.POST) public String addFtpItem(@RequestBody String addFtpIteminfo,HttpServletRequest request) { JSONObject addFtpItem = JSONObject.parseObject(addFtpIteminfo); public JSONObject addFtpItem(HttpServletRequest request) { // 请求参数 String ftpItemJson = addFtpItem.getString("ftpItemJson"); String ftpItemJson = request.getParameter("ftpItemJson"); JSONObject ftpItemJsonObj = null; try { // 校验格式是否正确 @@ -129,29 +127,34 @@ } catch (Exception e) { logger.error("传入参数格式不正确:" + ftpItemJson, e); resultMsg = createResultMsg("1999", "传入参数格式不正确:" + ftpItemJson, ""); return "addFtpItem"; return resultMsg; } // 将ftpItemJson装为Map保存操作 Map paramIn = JSONObject.parseObject(ftpItemJsonObj.getJSONObject("taskInfo").toJSONString(), Map.class); // 数据规范性校验 Object dealClassObj = null; // 在prvncCrm.properties 文件中获取对应处理类 Object dealClassObj = CustomizedPropertyPlaceholderConfigurer.getContextProperty("task.deal.class." + paramIn.get("uOrD")); if ("DT".equals(paramIn.get("uOrD").toString())) { dealClassObj = CustomizedPropertyPlaceholderConfigurer.getContextProperty("com.java110.job.smo.DownloadFileFromFtpToTable"); }else{ resultMsg = this.createResultMsg("1999", "对应模板不存在,请联系管理员", ""); return resultMsg; } // Object dealClassObj = "provInner.DownloadFileFromFtpToTFS"; if (dealClassObj == null) { resultMsg = this.createResultMsg("1999", "对应模板不存在,请联系管理员", ""); return "addFtpItem"; return resultMsg; } String dealClass = dealClassObj.toString(); long taskId = getPrvncFtpFileDAO().newCreateTaskId(); long taskId = Long.parseLong(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_HCJOBId)); // 保存数据 paramIn.put("taskId", taskId); paramIn.put("dealClass", dealClass); int addFtpItemFlag = getPrvncFtpFileDAO().addFtpItem(paramIn); int addFtpItemFlag = iprvncFtpFileDAO.addFtpItem(paramIn); if (addFtpItemFlag > 0) { // #taskId#,#itemSpecId#,#value# @@ -166,28 +169,27 @@ taskAttrMap.put("value", taskAttr.get("value")); taskAttrsList.add(taskAttrMap); } int addFtpItemAttrFlag = getPrvncFtpFileDAO().addFtpItemAttrs(taskAttrsList); int addFtpItemAttrFlag = iprvncFtpFileDAO.addFtpItemAttrs(taskAttrsList); if (addFtpItemAttrFlag > 0) { resultMsg = this.createResultMsg("0000", "成功", ftpItemJson); } else { resultMsg = this.createResultMsg("1999", "保存属性失败", ""); } return resultMsg.toString(); return resultMsg; } resultMsg = this.createResultMsg("1999", "保存数据失败", ""); return resultMsg.toString(); return resultMsg; } /** * 编辑Ftp配置,编辑时将会修改所有的ftpItem 信息,所以传递是所有字段需要传递全 * * * @return */ @RequestMapping(path = "/FtpToFileSystem/editFtpItem",method = RequestMethod.POST) public String editFtpItem(@RequestBody String editFtpItem,HttpServletRequest request) { JSONObject editftpitem = JSONObject.parseObject(editFtpItem); public String editFtpItem(HttpServletRequest request) { // 请求参数为{"taskId":"12","taskName":"经办人照片同步处理","ftpUserName":"weblogic",.....} String ftpItemJson = editftpitem.getString("ftpItemJson"); String ftpItemJson = request.getParameter("ftpItemJson"); JSONObject ftpItemJsonObj = null; try { // 校验格式是否正确 @@ -213,14 +215,14 @@ paramIn.put("dealClass", dealClass); // 根据taskId 查询记录是否存在,如果不存在直接返回失败 Map ftpItem = getPrvncFtpFileDAO().queryFtpItemByTaskId(paramIn); Map ftpItem = iprvncFtpFileDAO.queryFtpItemByTaskId(paramIn); // 判断是否有对应的数据 if (ftpItem != null && ftpItem.containsKey("TASKID")) { // 更新数据 int updateFtpItemFlag = getPrvncFtpFileDAO().updateFtpItemByTaskId(paramIn); int updateFtpItemFlag = iprvncFtpFileDAO.updateFtpItemByTaskId(paramIn); if (updateFtpItemFlag > 0) { // 首先先删除 getPrvncFtpFileDAO().deleteFtpItemAttrsbyTaskId(paramIn); iprvncFtpFileDAO.deleteFtpItemAttrsbyTaskId(paramIn); // 保存属性信息 JSONArray taskAttrs = ftpItemJsonObj.getJSONArray("taskAttrs"); List<Map> taskAttrsList = new ArrayList<Map>(); @@ -232,7 +234,7 @@ taskAttrMap.put("value", taskAttr.get("value")); taskAttrsList.add(taskAttrMap); } int addFtpItemAttrFlag = getPrvncFtpFileDAO().addFtpItemAttrs(taskAttrsList); int addFtpItemAttrFlag = iprvncFtpFileDAO.addFtpItemAttrs(taskAttrsList); if (addFtpItemAttrFlag > 0) { resultMsg = this.createResultMsg("0000", "成功", ftpItemJson); } else { @@ -249,15 +251,13 @@ /** * 删除ftp配置 * * * @return */ @RequestMapping(path = "/FtpToFileSystem/deleteFtpItem",method = RequestMethod.POST) public String deleteFtpItem(@RequestBody String deleteFtpItemInfo,HttpServletRequest request) { public String deleteFtpItem(HttpServletRequest request) { JSONObject delteftpinfo = JSONObject.parseObject(deleteFtpItemInfo); // 请求参数为{"tasks":[{"taskId":1},{"taskId":2}],"state":"DELETE"} String ftpItemJson = delteftpinfo.getString("ftpItemJson"); String ftpItemJson = request.getParameter("ftpItemJson"); if (logger.isDebugEnabled()) { logger.debug("---【PrvncFtpToFileSystemConfigAction.deleteFtpItem】入参为:" + ftpItemJson, ftpItemJson); } @@ -302,7 +302,7 @@ Map paramInfo = new HashMap(); paramInfo.put("taskIds", taskIds.split(",")); // 更新数据 int updateFtpItemFlag = getPrvncFtpFileDAO().deleteFtpItemByTaskId(paramInfo); int updateFtpItemFlag = iprvncFtpFileDAO.deleteFtpItemByTaskId(paramInfo); if (updateFtpItemFlag > 0) { resultMsg = this.createResultMsg("0000", "成功", ftpItemJson); return "deleteFtpItem"; @@ -315,15 +315,14 @@ /** * 根据taskId 获取 ftp配置信息 * * * @return */ public String queryFtpItemByTaskId(HttpServletRequest request) { @RequestMapping(path = "/FtpToFileSystem/queryFtpItemByTaskId" , method = RequestMethod.POST) public String queryFtpItemByTaskId(@RequestBody String queryFtpItemByTaskId,HttpServletRequest request) { JSONObject queryFtpItemByTask = JSONObject.parseObject(queryFtpItemByTaskId); // 请求参数 String ftpItemJson = queryFtpItemByTask.getString("ftpItemJson"); // 请求参数为{"taskId":"12"} String ftpItemJson = request.getParameter("ftpItemJson"); if (logger.isDebugEnabled()) { logger.debug("---【PrvncFtpToFileSystemConfigAction.queryFtpItemByTaskId】入参为:" + ftpItemJson, ftpItemJson); } @@ -341,7 +340,7 @@ Map paramIn = JSONObject.parseObject(ftpItemJson, Map.class); // 根据taskId 查询记录是否存在,如果不存在直接返回失败 Map ftpItem = getPrvncFtpFileDAO().queryFtpItemByTaskId(paramIn); Map ftpItem = iprvncFtpFileDAO.queryFtpItemByTaskId(paramIn); // 判断是否有对应的数据 if (ftpItem != null && ftpItem.containsKey("TASKID")) { // 更新数据 @@ -355,16 +354,14 @@ /** * 查询任务模板 ftpItemJson:{'uOrD':'U'} * * * @return */ public String questTaskTample(HttpServletRequest request) { @RequestMapping(path = "/FtpToFileSystem/questTaskTample" , method = RequestMethod.POST) public String questTaskTample(@RequestBody String questTaskTample,HttpServletRequest request) { JSONObject questtasktample = JSONObject.parseObject(questTaskTample); // 请求参数 String ftpItemJson = questtasktample.getString("ftpItemJson"); // 请求参数为{"taskId":"12"} String ftpItemJson = request.getParameter("ftpItemJson"); if (logger.isDebugEnabled()) { logger.debug("---【PrvncFtpToFileSystemConfigAction.queryFtpItemByTaskId】入参为:" + ftpItemJson, ftpItemJson); } @@ -383,7 +380,7 @@ Map info = new HashMap(); info.put("domain", tample); List<Map> itemSpecs = getPrvncFtpFileDAO().queryItemSpec(info); List<Map> itemSpecs = iprvncFtpFileDAO.queryItemSpec(info); String taskItems = JSONObject.toJSONString(itemSpecs); resultMsg = this.createResultMsg("0000", "成功", "{\"U_OR_D\":\"" + tample + "\",\"TASK_ITEMS\":" + taskItems + "}"); @@ -392,16 +389,13 @@ /** * 根据TaskId 获取任务属性 * * * @return */ @RequestMapping(path = "/FtpToFileSystem/queryTaskAttrs" , method = RequestMethod.POST) public String queryTaskAttrs(@RequestBody String queryTaskAttrsInfo,HttpServletRequest request) { JSONObject querytaskattrs = JSONObject.parseObject(queryTaskAttrsInfo); public String queryTaskAttrs(HttpServletRequest request) { // 请求参数为{"taskId":"12"} String ftpItemJson = querytaskattrs.getString("ftpItemJson"); String ftpItemJson = request.getParameter("ftpItemJson"); if (logger.isDebugEnabled()) { logger.debug("---【PrvncFtpToFileSystemConfigAction.queryTaskAttrs】入参为:" + ftpItemJson, ftpItemJson); } @@ -420,7 +414,7 @@ Map info = new HashMap(); info.put("taskId", taskId); List<Map> itemAttrs = getPrvncFtpFileDAO().queryFtpItemAttrsByTaskId(info); List<Map> itemAttrs = iprvncFtpFileDAO.queryFtpItemAttrsByTaskId(info); String itemsAttrs = JSONObject.toJSONString(itemAttrs); resultMsg = this.createResultMsg("0000", "成功", "{\"TASK_ATTRS\":" + itemsAttrs + "}"); @@ -429,15 +423,13 @@ /** * 启动侦听(多节点启动) * * * @return */ @RequestMapping(path = "/FtpToFileSystem/startJob",method = RequestMethod.POST) public String startJob(@RequestBody String startInfo , HttpServletRequest request) { public String startJob(HttpServletRequest request) { JSONObject startinfo = JSONObject.parseObject(startInfo); // 请求参数为{"tasks":[{"taskId":1},{"taskId":2}],"state":"START"} String ftpItemJson = startinfo.getString("ftpItemJson"); String ftpItemJson = request.getParameter("ftpItemJson"); if (logger.isDebugEnabled()) { logger.debug("---【PrvncFtpToFileSystemConfigAction.startJob】入参为:" + ftpItemJson, ftpItemJson); } @@ -482,8 +474,10 @@ info.put("taskIds", taskIds.split(",")); List<Map> doFtpItems = getPrvncFtpFileDAO().queryFtpItemsByTaskIds(info); List<Map> doFtpItems = iprvncFtpFileDAO.queryFtpItemsByTaskIds(info); // 获取Spring调度器 Scheduler scheduler = (Scheduler) SpringBeanInvoker.getBean("schedulerFactoryBean"); int linstenCount = 0; int updateTaskStateFailCount = 0; try { @@ -504,19 +498,21 @@ String jobName = prefixJobName + taskId; String triggerName = prefixJobName + taskId; //设置任务名称 JobKey jobKey = new JobKey(jobName); JobDetail jobDetail = scheduler.getJobDetail(jobKey); // 说明这个没有启动,则需要重新启动,如果启动着不做处理 JobDetail jobDetail = scheduler.getJobDetail(jobKey); // 说明这个没有启动,则需要重新启动,如果启动着不做处理 if (jobDetail == null) { // 任务名称 String taskCfgName = (String) doFtpItem.get("TASKNAME"); //构建job信息 JobDetail warnJob = JobBuilder.newJob(PrvncFtpToFileSystemJob.class).withIdentity(jobName,PrvncFtpToFileSystemJob.JOB_GROUP_NAME).withDescription("任务启动").build(); // job.getJobDataMap().put("params", param.toString()); warnJob.getJobDataMap().put(PrvncFtpToFileSystemJob.JOB_DATA_CONFIG_NAME, taskCfgName); JobDetail warnJob = JobBuilder.newJob(HcFtpToFileSystemJob.class).withIdentity(jobName, HcFtpToFileSystemJob.JOB_GROUP_NAME).withDescription("任务启动").build(); warnJob.getJobDataMap().put(PrvncFtpToFileSystemJob.JOB_DATA_TASK_ID, taskId); warnJob.getJobDataMap().put(HcFtpToFileSystemJob.JOB_DATA_CONFIG_NAME, taskCfgName); warnJob.getJobDataMap().put(HcFtpToFileSystemJob.JOB_DATA_TASK_ID, taskId); // 触发时间点 CronTrigger warnTrigger = TriggerBuilder.newTrigger().withIdentity(triggerName, triggerName).withSchedule(cronScheduleBuilder).build(); @@ -532,7 +528,7 @@ updateTaskInfo.put("taskId", taskId); updateTaskInfo.put("runFlag", RUNFLAG_START); // 这里更新状态没有成功的,只是在后台打印日志,再前台不进行展示 int updateTaskStateFlag = getPrvncFtpFileDAO().updateFtpItemByTaskId(updateTaskInfo); int updateTaskStateFlag = iprvncFtpFileDAO.updateFtpItemByTaskId(updateTaskInfo); if (updateTaskStateFlag < 1) { logger.error("---侦听【" + taskId + "】启动成功,但是更新任务状态失败,请关注!!!", info); updateTaskStateFailCount++; @@ -561,15 +557,13 @@ /** * 停止侦听 * * * @return */ @RequestMapping(path = "/FtpToFileSystem/stopJob",method = RequestMethod.POST) public String stopJob(@RequestBody String stopjobInfo,HttpServletRequest request) { public String stopJob(HttpServletRequest request) { JSONObject stopjob = JSONObject.parseObject(stopjobInfo); // 请求参数为{"tasks":[{"taskId":1},{"taskId":2}],"state":"STOP"} String ftpItemJson = stopjob.getString("ftpItemJson"); String ftpItemJson = request.getParameter("ftpItemJson"); if (logger.isDebugEnabled()) { logger.debug("---【PrvncFtpToFileSystemConfigAction.stopJob】入参为:" + ftpItemJson, ftpItemJson); } @@ -614,7 +608,10 @@ info.put("taskIds", taskIds.split(",")); List<Map> doFtpItems = getPrvncFtpFileDAO().queryFtpItemsByTaskIds(info); List<Map> doFtpItems = iprvncFtpFileDAO.queryFtpItemsByTaskIds(info); // 获取Spring调度器 Scheduler scheduler = (Scheduler) SpringBeanInvoker.getBean("schedulerFactoryBean"); int linstenCount = 0; int updateTaskStateFailCount = 0; @@ -630,13 +627,14 @@ String jobName = prefixJobName + taskId; String triggerName = prefixJobName + taskId; TriggerKey triggerKey = TriggerKey.triggerKey(jobName,PrvncFtpToFileSystemJob.JOB_GROUP_NAME); TriggerKey triggerKey = TriggerKey.triggerKey(jobName, HcFtpToFileSystemJob.JOB_GROUP_NAME); // 停止触发器 scheduler.pauseTrigger(triggerKey); // 移除触发器 scheduler.unscheduleJob(triggerKey); JobKey jobKey = new JobKey(jobName,PrvncFtpToFileSystemJob.JOB_GROUP_NAME); JobKey jobKey = new JobKey(jobName, HcFtpToFileSystemJob.JOB_GROUP_NAME); // 删除任务 scheduler.deleteJob(jobKey); // 修改数据状态,将任务数据状态改为运行状态 @@ -646,7 +644,7 @@ updateTaskInfo.put("taskId", taskId); updateTaskInfo.put("runFlag", RUNFLAG_STOP); // 这里更新状态没有成功的,只是在后台打印日志,再前台不进行展示 int updateTaskStateFlag = getPrvncFtpFileDAO().updateFtpItemByTaskId(updateTaskInfo); int updateTaskStateFlag = iprvncFtpFileDAO.updateFtpItemByTaskId(updateTaskInfo); if (updateTaskStateFlag < 1) { logger.error("---侦听【" + taskId + "】停止成功,但是更新任务状态失败,请关注!!!", info); updateTaskStateFailCount++; @@ -674,13 +672,12 @@ /** * 根据任务名称或任务ID模糊查询 * * * @return */ @RequestMapping(path = "/FtpToFileSystem/searchTaskByNameOrId" , method = RequestMethod.POST) public String searchTaskByNameOrId(@RequestBody String searchTaskByNameOrIdInfo,HttpServletRequest request) { JSONObject searchTaskByNameOrIdObj = JSONObject.parseObject(searchTaskByNameOrIdInfo); String ftpItemJson = searchTaskByNameOrIdObj.getString("ftpItemJson"); public String searchTaskByNameOrId(HttpServletRequest request) { String ftpItemJson = request.getParameter("ftpItemJson"); JSONObject ftpItemJsonObj = null; try { // 校验格式是否正确 @@ -708,7 +705,7 @@ if (GenericValidator.isInt(taskNameOrTaskId) || GenericValidator.isLong(taskNameOrTaskId)) { // 根据taskId 查询记录 paramIn.put("taskId", taskNameOrTaskId); Map ftpItem = getPrvncFtpFileDAO().queryFtpItemByTaskId(paramIn); Map ftpItem = iprvncFtpFileDAO.queryFtpItemByTaskId(paramIn); if (ftpItem != null && ftpItem.containsKey("FTP_ITEM_ATTRS")) { ftpItem.remove("FTP_ITEM_ATTRS");// 前台暂时用不到,所以这里将属性移除 @@ -716,7 +713,7 @@ ftpItems.add(ftpItem); } } else { ftpItems = getPrvncFtpFileDAO().searchFtpItemByTaskName(paramIn); ftpItems = iprvncFtpFileDAO.searchFtpItemByTaskName(paramIn); } JSONArray rows = new JSONArray(); @@ -737,7 +734,7 @@ /** * 创建公用输出 * * * @return */ private JSONObject createResultMsg(String resultCode, String resultMsg, String resultInfo) { @@ -746,13 +743,6 @@ data.put("RESULT_MSG", resultMsg); data.put("RESULT_INFO", resultInfo); return data; } public IPrvncFtpFileDAO getPrvncFtpFileDAO() { if (this.iprvncFtpFileDAO == null) { this.iprvncFtpFileDAO = ((IPrvncFtpFileDAO) SpringBeanInvoker.getBean("provInner.PrvncFtpFileDAO")); } return iprvncFtpFileDAO; } } JobService/src/main/java/com/java110/job/controller/JobController.java
@@ -1,24 +1,32 @@ package com.java110.job.controller; import com.alibaba.fastjson.JSONObject; import com.java110.core.base.controller.BaseController; import com.java110.job.Api.HcFtpToFileSystemConfigAction; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import java.util.Date; /** * 首页登陆控制类 * 首页控制类 * 20190813 * 师延俊 */ @Controller @RequestMapping(path = "/HcFtpToFileSystemConfigList") public class JobController extends BaseController { private static final Logger logger = LoggerFactory.getLogger(JobController.class); @Autowired HcFtpToFileSystemConfigAction ftpToFileSystemConfigAction; /** @@ -26,11 +34,34 @@ * * @return 页面名称 */ @RequestMapping(path = "/FtpToFileSystemConfigList") @RequestMapping(path = "/") public ModelAndView flow() { logger.debug("请求流程 {},{}", new StringBuffer("prvncFtpToFileSystem"), new Date()); return new ModelAndView("prvncFtpToFileSystemConfigList"); logger.debug("请求流程 {},{}", new StringBuffer("首页我进来了"), new Date()); return new ModelAndView("HcFtpToFileSystemConfigList"); } /** * 页面载入时加载 * @return */ @RequestMapping(path = "/queryFtpItems") @ResponseBody public String queryFtpItems(HttpServletRequest request) { logger.debug("请求流程 {},{}", new StringBuffer("queryFtpItems 我看到请求了"), new Date()); JSONObject JSON = ftpToFileSystemConfigAction.queryFtpItems(request); return JSON.toJSONString(); } /** * 点击保存按钮时 * @return */ @RequestMapping(path = "/addFtpItem") @ResponseBody public String addFtpItem(HttpServletRequest request) { logger.debug("请求流程 {},{}", new StringBuffer("addFtpItem 我看到请求了"), new Date()); JSONObject JSON = ftpToFileSystemConfigAction.addFtpItem(request); return JSON.toJSONString(); } } JobService/src/main/java/com/java110/job/dao/IHccFtpFileDAO.java
File was renamed from JobService/src/main/java/com/java110/job/dao/IPrvncFtpFileDAO.java @@ -5,7 +5,7 @@ import java.util.List; import java.util.Map; public interface IPrvncFtpFileDAO { public interface IHccFtpFileDAO { /** JobService/src/main/java/com/java110/job/dao/impl/HcFtpFileDAOImpl.java
New file @@ -0,0 +1,223 @@ package com.java110.job.dao.impl; import com.java110.core.base.dao.BaseServiceDao; import com.java110.job.dao.IHccFtpFileDAO; import com.java110.job.model.FtpTaskLog; import com.java110.job.model.FtpTaskLogDetail; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.HashMap; import java.util.List; import java.util.Map; @Service("IPrvncFtpFileDAO") @Transactional public class HcFtpFileDAOImpl extends BaseServiceDao implements IHccFtpFileDAO { public long saveTaskRunLog(FtpTaskLog loginfo){ // TODO Auto-generated method stub return sqlSessionTemplate.insert("IPrvncFtpFileDAO.saveTaskRunLog",loginfo); } public void updateTaskRunLog(FtpTaskLog loginfo){ // TODO Auto-generated method stub sqlSessionTemplate.update("IPrvncFtpFileDAO.updateTaskRunLog",loginfo); } public int saveTaskRunDetailLog(FtpTaskLogDetail logdetail){ // TODO Auto-generated method stub return sqlSessionTemplate.insert("IPrvncFtpFileDAO.saveTaskRunDetailLog",logdetail); } @Override public List execConfigSql(String dbsql){ return sqlSessionTemplate.selectList("IPrvncFtpFileDAO.execConfigSql", dbsql); } /** * 查询文件下载在文件系统的配置任务列表 * @param info * @return */ public Map queryFtpItems(Map info){ Map resultInfo = new HashMap(); //1.0查询总数 Integer allCNT = (Integer) sqlSessionTemplate.selectOne("IPrvncFtpFileDAO.queryFtpItemsCount", info); resultInfo.put("ITEMSCOUNT", allCNT); List datas = sqlSessionTemplate.selectList("IPrvncFtpFileDAO.queryFtpItems",info); resultInfo.put("DATA", datas); return resultInfo; } /** * 创建taskId * @return */ public long newCreateTaskId(){ Long tastId = (Long) sqlSessionTemplate.selectOne("IPrvncFtpFileDAO.newCreateTaskId"); return tastId; } /** * 保存文件下载配置 * @param info * @return */ public int addFtpItem(Map info){ // return Integer.parseInt(sqlSessionTemplate.insert("IPrvncFtpFileDAO.addFtpItem", info).toString()); sqlSessionTemplate.insert("IPrvncFtpFileDAO.addFtpItem", info); return 1; } /** * 根据TaskId 查询ftp配置信息 * @param info * @return */ public Map queryFtpItemByTaskId(Map info){ Object data = sqlSessionTemplate.selectOne("IPrvncFtpFileDAO.queryFtpItemByTaskId", info); Map ftpItem = null ; if(data != null){ ftpItem = (Map)data; //查ftpitem属性 List<Map> ftpItemAttrs = sqlSessionTemplate.selectList("IPrvncFtpFileDAO.queryFtpItemAttrsByTaskId",info); ftpItem.put("FTP_ITEM_ATTRS", ftpItemAttrs); } return ftpItem; } /** * 根据任务名称搜素 * @param info * @return */ public List<Map> searchFtpItemByTaskName(Map info){ return sqlSessionTemplate.selectList("IPrvncFtpFileDAO.searchFtpItemByTaskName",info); } /** * 修改ftp配置信息 * @param info * @return */ public int updateFtpItemByTaskId(Map info){ return sqlSessionTemplate.update("IPrvncFtpFileDAO.updateFtpItemByTaskId", info); } /** * 删除ftp配置信息 * @param info * @return */ public int deleteFtpItemByTaskId(Map info){ return sqlSessionTemplate.update("IPrvncFtpFileDAO.deleteFtpItemByTaskId", info); } /** * 根据taskids 获取将要操作的ftp配置信息 * @param info * @return */ public List<Map> queryFtpItemsByTaskIds(Map info){ return sqlSessionTemplate.selectList("IPrvncFtpFileDAO.queryFtpItemsByTaskIds",info); } /** * 查询FTPItem的属性信息 * @param info * @return */ public List<Map> queryFtpItemAttrsByTaskId(Map info){ return sqlSessionTemplate.selectList("IPrvncFtpFileDAO.queryFtpItemAttrsByTaskId",info); } /** * 删除属性 * @param info * @return */ public int deleteFtpItemAttrsbyTaskId(Map info){ return sqlSessionTemplate.delete("IPrvncFtpFileDAO.deleteFtpItemAttrsbyTaskId", info); } @Override public List<Map> queryTableColInfo(String tablename, String colnames) { // TODO Auto-generated method stub Map para=new HashMap(); if(tablename.indexOf(".")>0){ String username=tablename.substring(0,tablename.indexOf(".")); tablename=tablename.substring(tablename.indexOf(".")+1); para.put("username", username.toUpperCase()); } para.put("tablename", tablename.toUpperCase()); para.put("colnames", "'"+colnames.toUpperCase().replaceAll(",", "','")+"'"); return sqlSessionTemplate.selectList("IPrvncFtpFileDAO.queryTableColInfo",para); } /** * 保存FTPItem的属性信息 * @return */ public int addFtpItemAttrs(List<Map> infos){ for(Map info :infos){ sqlSessionTemplate.insert("IPrvncFtpFileDAO.addFtpItemAttrs",info); } return 1; } /** * 查询没有下载过的文件名 * @param info * @return */ public List<Map> queryFileNamesWithOutFtpLog(Map info){ return sqlSessionTemplate.selectList("IPrvncFtpFileDAO.queryFileNamesWithOutFtpLog",info); } /** * 查询ItemSpec * @param info * @return */ public List<Map> queryItemSpec(Map info){ return sqlSessionTemplate.selectList("IPrvncFtpFileDAO.queryItemSpec",info); } /** * 修改ftp配置信息(状态) * @param info * @return */ public int updateFtpItemRunState(Map info){ return sqlSessionTemplate.update("IPrvncFtpFileDAO.updateFtpItemRunState", info); } /** * 保存下载文件名称 * @param info * @return */ public int addDownloadFileName(Map info){ // return Integer.parseInt(getSqlMapClientTemplate().insert("IPrvncFtpFileDAO.addDownloadFileName", info).toString()); return sqlSessionTemplate.insert("IPrvncFtpFileDAO.addDownloadFileName", info); } /** * 执行存过,处理任务执行前后的事情 */ public void saveDbFunction(String function){ Map para=new HashMap(); para.put("functionname", function); sqlSessionTemplate.selectOne("IPrvncFtpFileDAO.calltaskfunction",para); } /** * 执行存过(带参数),处理任务执行前后的事情 */ public void saveDbFunctionWithParam(Map info){ sqlSessionTemplate.selectOne("IPrvncFtpFileDAO.calltaskfunctionwithparam",info); } public void insertFileData2Table(String insertSQL){ // TODO Auto-generated method stub sqlSessionTemplate.update("IPrvncFtpFileDAO.insertFileData2Table",insertSQL); } } JobService/src/main/java/com/java110/job/dao/impl/PrvncFtpFileDAOImpl.java
File was deleted JobService/src/main/java/com/java110/job/smo/DownloadFileFromFtpToTable.java
@@ -22,7 +22,7 @@ * @author wuxw7 2016-01-04 * */ public class DownloadFileFromFtpToTable extends PrvncFtpToFileSystemQuartz { public class DownloadFileFromFtpToTable extends HcFtpToFileSystemQuartz { private static final String ITEM_SPEC_CD_10011 = "10011";// FTP地址 private static final String ITEM_SPEC_CD_10012 = "10012";// FTP端口号 JobService/src/main/java/com/java110/job/smo/HcFtpToFileSystemQuartz.java
File was renamed from JobService/src/main/java/com/java110/job/smo/PrvncFtpToFileSystemQuartz.java @@ -2,7 +2,7 @@ import com.java110.common.constant.RuleDomain; import com.java110.common.util.DateUtil; import com.java110.common.util.StringUtil; import com.java110.job.dao.IPrvncFtpFileDAO; import com.java110.job.dao.IHccFtpFileDAO; import com.java110.job.model.FtpTaskLog; import com.java110.job.model.FtpTaskLogDetail; @@ -24,13 +24,13 @@ * @author wuxw7 add by 2016-01-03 * */ public abstract class PrvncFtpToFileSystemQuartz { public abstract class HcFtpToFileSystemQuartz { protected static final Logger logger = LoggerFactory.getLogger(PrvncFtpToFileSystemQuartz.class); protected static final Logger logger = LoggerFactory.getLogger(HcFtpToFileSystemQuartz.class); @Autowired private IPrvncFtpFileDAO iprvncFtpFileDAO; private IHccFtpFileDAO iprvncFtpFileDAO; @Autowired private IPrvncFtpFileSMO iprvncFtpFileSMO; private IHcFtpFileSMO iprvncFtpFileSMO; /*private IPrvncDumpSMO prvncDumpSMO;*/ // 运行状态,R:正在执行 T:等待运行 TD1:文件下载失败 TD2:文件内容保存失败 TU1:数据文件生成失败 TU2:数据文件上传失败 @@ -349,19 +349,19 @@ } public IPrvncFtpFileDAO getPrvncFtpFileDAO() { public IHccFtpFileDAO getPrvncFtpFileDAO() { return iprvncFtpFileDAO; } public void setPrvncFtpFileDAO(IPrvncFtpFileDAO prvncFtpFileDAO) { public void setPrvncFtpFileDAO(IHccFtpFileDAO prvncFtpFileDAO) { this.iprvncFtpFileDAO = prvncFtpFileDAO; } public IPrvncFtpFileSMO getPrvncFtpFileSMO() { public IHcFtpFileSMO getPrvncFtpFileSMO() { return iprvncFtpFileSMO; } public void setPrvncFtpFileSMO(IPrvncFtpFileSMO prvncFtpFileSMO) { public void setPrvncFtpFileSMO(IHcFtpFileSMO prvncFtpFileSMO) { this.iprvncFtpFileSMO = prvncFtpFileSMO; } JobService/src/main/java/com/java110/job/smo/IHcFtpFileBMO.java
File was renamed from JobService/src/main/java/com/java110/job/smo/IPrvncFtpFileBMO.java @@ -3,7 +3,7 @@ import com.java110.job.model.*; import java.util.Map; public interface IPrvncFtpFileBMO { public interface IHcFtpFileBMO { /** * 保存执行任务的日志,任务的执行状态 JobService/src/main/java/com/java110/job/smo/IHcFtpFileSMO.java
File was renamed from JobService/src/main/java/com/java110/job/smo/IPrvncFtpFileSMO.java @@ -10,7 +10,7 @@ * @author 师延俊 * @version */ public interface IPrvncFtpFileSMO { public interface IHcFtpFileSMO { /** * 保存执行任务的日志,任务的执行状态 JobService/src/main/java/com/java110/job/smo/impl/PrvncFtpFileBMOImpl.java
@@ -1,8 +1,8 @@ package com.java110.job.smo.impl; import com.java110.job.dao.IPrvncFtpFileDAO; import com.java110.job.dao.IHccFtpFileDAO; import com.java110.job.model.*; import com.java110.job.smo.IPrvncFtpFileBMO; import com.java110.job.smo.IHcFtpFileBMO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -10,9 +10,9 @@ import java.util.Map; @Service("prvncFtpFileBMOImpl") @Transactional public class PrvncFtpFileBMOImpl implements IPrvncFtpFileBMO { public class PrvncFtpFileBMOImpl implements IHcFtpFileBMO { @Autowired private IPrvncFtpFileDAO iprvncFtpFileDAO; private IHccFtpFileDAO iprvncFtpFileDAO; @Override public long saveTaskRunLog(FtpTaskLog loginfo) { JobService/src/main/java/com/java110/job/smo/impl/PrvncFtpFileSMOImpl.java
@@ -1,8 +1,8 @@ package com.java110.job.smo.impl; import com.java110.job.model.*; import com.java110.job.smo.IPrvncFtpFileBMO; import com.java110.job.smo.IPrvncFtpFileSMO; 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; @@ -12,11 +12,11 @@ import java.util.Map; @Service("prvncFtpFileSMOImpl") @Transactional public class PrvncFtpFileSMOImpl implements IPrvncFtpFileSMO { public class PrvncFtpFileSMOImpl implements IHcFtpFileSMO { /** logger */ protected final Logger log= Logger.getLogger(getClass()); @Autowired private IPrvncFtpFileBMO iPrvncFtpFileBMO; private IHcFtpFileBMO iPrvncFtpFileBMO; @Override public long saveTaskRunLog(FtpTaskLog loginfo) { JobService/src/main/java/com/java110/job/task/HcFtpToFileSystemJob.java
File was renamed from JobService/src/main/java/com/java110/job/task/PrvncFtpToFileSystemJob.java @@ -1,8 +1,8 @@ package com.java110.job.task; import com.java110.common.util.SpringBeanInvoker; import com.java110.job.dao.IPrvncFtpFileDAO; import com.java110.job.smo.PrvncFtpToFileSystemQuartz; import com.java110.job.dao.IHccFtpFileDAO; import com.java110.job.smo.HcFtpToFileSystemQuartz; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; @@ -21,17 +21,17 @@ * */ public class PrvncFtpToFileSystemJob implements Job { public class HcFtpToFileSystemJob implements Job { private static final Logger logger = LoggerFactory.getLogger(PrvncFtpToFileSystemJob.class); private static final Logger logger = LoggerFactory.getLogger(HcFtpToFileSystemJob.class); public static String JOB_DATA_CONFIG_NAME = "ftpToFileSystemTaskName"; public static String JOB_DATA_TASK_ID = "ftpToFileSystemTaskID"; public static String JOB_GROUP_NAME = "ftpToFileSystemJobGroup"; // 任务的 分组名称 @Autowired private IPrvncFtpFileDAO prvncFtpFileDAO; private IHccFtpFileDAO prvncFtpFileDAO; @Autowired private PrvncFtpToFileSystemQuartz prvncDumpQuartz; private HcFtpToFileSystemQuartz prvncDumpQuartz; protected void executeInternal(JobExecutionContext context) { try { @@ -56,7 +56,7 @@ } String dealClass = ftpItemConfigInfo.get("DEAL_CLASS").toString(); prvncDumpQuartz = (PrvncFtpToFileSystemQuartz) SpringBeanInvoker.getBean(dealClass); prvncDumpQuartz = (HcFtpToFileSystemQuartz) SpringBeanInvoker.getBean(dealClass); prvncDumpQuartz.startFtpTask(ftpItemConfigInfo); } catch (Throwable ex) { logger.error("执行任务失败:", ex); @@ -81,9 +81,9 @@ return ftpItem; } public IPrvncFtpFileDAO getPrvncFtpFileDAO() { public IHccFtpFileDAO getPrvncFtpFileDAO() { if (this.prvncFtpFileDAO == null) { this.prvncFtpFileDAO = ((IPrvncFtpFileDAO) SpringBeanInvoker this.prvncFtpFileDAO = ((IHccFtpFileDAO) SpringBeanInvoker .getBean("provInner.PrvncFtpFileDAO")); } return prvncFtpFileDAO; JobService/src/main/java/com/java110/job/util/FTPClientTemplate.java
@@ -1,9 +1,9 @@ package com.java110.job.util; import com.java110.common.util.SpringBeanInvoker; import com.java110.job.dao.IPrvncFtpFileDAO; import com.java110.job.dao.IHccFtpFileDAO; import com.java110.job.model.FtpTaskLogDetail; import com.java110.job.smo.IPrvncFtpFileSMO; import com.java110.job.smo.IHcFtpFileSMO; import org.apache.commons.net.PrintCommandListener; import org.apache.commons.net.ftp.FTP; import org.apache.commons.net.ftp.FTPClient; @@ -48,9 +48,9 @@ private String transferflag; //传输类型 private Map threadpara; //线程执行参数 @Autowired private IPrvncFtpFileDAO prvncFtpFileDAO; private IHccFtpFileDAO prvncFtpFileDAO; @Autowired private IPrvncFtpFileSMO prvncFtpFileSMO; private IHcFtpFileSMO prvncFtpFileSMO; public static String SPECIAL_SINGLESPLIT_a="+*|"; //字符串分隔符特殊字符需要用加"\\"来转译 //传输类型(“U"是上传 upload ”D“是下载 download) public static class TransferType{ @@ -104,8 +104,8 @@ init(); } private void init(){ this.prvncFtpFileDAO = ((IPrvncFtpFileDAO) SpringBeanInvoker.getBean("provInner.PrvncFtpFileDAO")); this.prvncFtpFileSMO=((IPrvncFtpFileSMO) SpringBeanInvoker.getBean("provInner.PrvncFtpFileSMO")); this.prvncFtpFileDAO = ((IHccFtpFileDAO) SpringBeanInvoker.getBean("provInner.PrvncFtpFileDAO")); this.prvncFtpFileSMO=((IHcFtpFileSMO) SpringBeanInvoker.getBean("provInner.PrvncFtpFileSMO")); } public Map call() throws Exception { Map result=null; JobService/src/main/resources/static/css/HcFtpToFileSystemConfigList.css
JobService/src/main/resources/static/js/HcFtpToFileSystemConfigList.js
File was renamed from JobService/src/main/resources/static/js/prvncFtpToFileSystemConfigList.js @@ -1,6 +1,6 @@ $(document).ready(function(){ // 开始加载数据(任务数据) //loadTaskData(); loadTaskData(); }); /** * 加载任务数据(分页查询) @@ -8,7 +8,7 @@ function loadTaskDataPage(curPage){ $.ajax({ type: 'POST', url: '../FtpToFileSystem_queryFtpItems.action', url: '/FtpToFileSystemConfigList/queryFtpItems', data: { curPage:curPage }, @@ -505,6 +505,9 @@ } var taskTample = obj.value; if ('U' == taskTample){ return "改功能未开放请等待!!!!!!!!!!!!!!"; } var requestParam = "{'uOrD':'"+taskTample+"'}"; // 请求处理 @@ -584,7 +587,7 @@ var uOrDNew = $('#uOrD'+doType).val(); var fileNameNew = $('#fileName'+doType).val(); var taskId = -1; var url = "../FtpToFileSystem_addFtpItem.action";// 新增时的URL var url = "/FtpToFileSystemConfigList/addFtpItem";// 新增时的URL if(doType == 'Edit'){ url = '../FtpToFileSystem_editFtpItem.action';// 编辑时的URL taskId = $('#taskId'+doType).val(); JobService/src/main/resources/templates/HcFtpToFileSystemConfigList.html
File was renamed from JobService/src/main/resources/templates/prvncFtpToFileSystemConfigList.html @@ -4,7 +4,7 @@ <title>通用FTP数据文件与TFS传接</title> <!-- <link rel="stylesheet" href="../ftpcss/bootstrap-combined.min.css"/>--> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css" /> <link rel="stylesheet" type="text/css" href="../css/prvncFtpToFileSystemConfigList.css" /> <link rel="stylesheet" type="text/css" href="../css/HcFtpToFileSystemConfigList.css" /> </head> <body> <nav class="navbar navbar-default" role="navigation"> @@ -267,9 +267,6 @@ <div class="col-md-8"> <select class="form-control" name="uOrDNew" id="uOrDNew" onchange="queryTaskAttr(this,'New')"> <option value="D"> FTP文件保存至TFS </option> <option value="U"> TFS文件保存至FTP </option> @@ -541,6 +538,6 @@ <script type="text/javascript" src="../js/bootstrap.min.js"></script> <script type="text/javascript" src="../js/bootstrap-paginator.js"></script> <script type="text/javascript" src="../js/prvncFtpToFileSystemConfigList.js"></script> src="../js/HcFtpToFileSystemConfigList.js"></script> </body> </html> java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java
@@ -82,6 +82,8 @@ public static final String CODE_PREFIX_demoId="90"; public static final String CODE_PREFIX_noticeId="96"; public static final String CODE_PREFIX_HCJOBId="96"; //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
File was renamed from java110-db/src/main/resources/mapper/job/PrvncFtpFileDAO.xml @@ -2,7 +2,7 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="prvncFtpFileDAOImpl"> <mapper namespace="IHcFtpFileDAO"> <insert id="insertFileData2Table" parameterType="String"> $value$ </insert> @@ -20,9 +20,41 @@ { call ${functionname}(?,?)} </select> --> <insert id="saveTaskRunLog" > <selectKey keyProperty="logid" resultType="long"> <![CDATA[ SELECT seq_cep_ftptasklog.NEXTVAL AS logid from dual ]]> </selectKey> insert into HC_FTP_TASKLOG(logid,taskid,u_or_d,create_date,state,serverfilename,localfilename,filelength) values(#logid#,#taskid#,#uord#,sysdate,#state#,#serverfilename#,#localfilename#,#filelength#) </insert> <update id="updateTaskRunLog" > update HC_FTP_TASKLOG set update_date=sysdate <if test="state !=null and state != ''">,state = #{state} </if> where logid=#logid# </update> <insert id="saveTaskRunDetailLog"> <selectKey keyProperty="id" resultType="long"> <![CDATA[ SELECT seq_cep_ftptasklogdetail.NEXTVAL AS id from dual ]]> </selectKey> insert into HC_FTP_TASKLOG_DETAIL(id,logid,taskid,create_date,state,tnum,begin,end,data,havedown,remark,SERVERFILENAME,LOCALFILENAME) values(#id#,#logid#,#taskid#,sysdate,#state#,#tnum#,#begin#,#end#,#data#,#havedown#,#remark#,#serverfilename#,#localfilename#) </insert> <insert id="addFtpItem" parameterType="Map"> insert into saop_ftp_task(taskid, insert into HC_FTP_TASK(taskid, taskname, file_name, u_or_d, @@ -57,7 +89,7 @@ <select id="queryTaskDetailInfo" parameterType="long" resultType="Map"> select * from CEP_FTP_TASKDETAIL select * from HC_FTP_TASKLOG_DETAIL where detailid=#{value} </select> <select id="queryFtpUserInfo" parameterType="long" resultType="Map"> @@ -79,7 +111,7 @@ <select id="queryFtpItemsCount" parameterType="Map" resultType="Integer"> SELECT count(1) FROM SAOP_FTP_TASK A FROM HC_FTP_TASK A WHERE A.STATE = 'A' </select> @@ -87,7 +119,7 @@ <select id="queryFtpItems" parameterType="Map" resultType="Map"> <![CDATA[ select * from ( SELECT rownum as rn,A.TASKID, SELECT @rownum :=@rownum+1 as rn,A.TASKID, A.TASKNAME, A.FILE_NAME, A.U_OR_D, @@ -104,16 +136,16 @@ A.AFTERFUNCTION, A.DEAL_CLASS, A.CREATE_DATE FROM SAOP_FTP_TASK A FROM HC_FTP_TASK A WHERE A.STATE = 'A') A1 where A1.rn > ((TO_NUMBER(#{curPage}) -1) * TO_NUMBER(#{pageSize})) AND A1.rn <= (TO_NUMBER(#{curPage}) * TO_NUMBER(#{pageSize})) where 1 = 1 limit #{curPage},#{pageSize} ]]> </select> <select id="newCreateTaskId" resultType="long"> <!-- <select id="newCreateTaskId" resultType="long"> <![CDATA[ SELECT seq_cep_taskid.NEXTVAL AS taskId from dual ]]> </select> </select>--> <!-- 根据taskId 查询FtpItem 信息 --> <select id="queryFtpItemByTaskId" parameterType="Map" @@ -135,7 +167,7 @@ A.AFTERFUNCTION, A.DEAL_CLASS, A.CREATE_DATE FROM SAOP_FTP_TASK A FROM HC_FTP_TASK A WHERE A.STATE = 'A' and A.TASKID = #{taskId} </select> @@ -160,7 +192,7 @@ A.AFTERFUNCTION, A.DEAL_CLASS, A.CREATE_DATE FROM SAOP_FTP_TASK A FROM HC_FTP_TASK A WHERE A.STATE = 'A' and A.TASKNAME like '%' || #{taskName} || '%' and rownum < 1000 @@ -168,7 +200,7 @@ </select> <!-- 修改ftp配置信息 --> <update id="updateFtpItemByTaskId" parameterType="Map"> update saop_ftp_task sft update HC_FTP_TASK sft set update_date = sysdate <if test="taskName !=null and taskName != ''">,sft.taskname = #{taskName} </if> @@ -200,7 +232,7 @@ <!-- 修改ftp配置信息 --> <update id="updateFtpItemRunState" parameterType="Map"> update saop_ftp_task sft HC_FTP_TASK sft set update_date = sysdate,sft.run_state= #{runState} where sft.run_state = #{oldRunState} </update> @@ -208,7 +240,7 @@ <!-- 删除ftp配置信息 --> <update id="deleteFtpItemByTaskId" parameterType="Map"> update saop_ftp_task sft HC_FTP_TASK sft set sft.state = 'R' where sft.state = 'A' and sft.taskid in @@ -236,7 +268,7 @@ A.AFTERFLAG, A.AFTERFUNCTION, A.DEAL_CLASS FROM SAOP_FTP_TASK A FROM HC_FTP_TASK A WHERE A.STATE = 'A' AND A.TASKID in <foreach open="(" close=")" @@ -248,13 +280,13 @@ <select id="queryFtpItemAttrsByTaskId" parameterType="Map" resultType="Map"> SELECT A.TASKID, A.ITEM_SPEC_ID, A.VALUE FROM SAOP_FTP_TASK_ATTR A FROM HC_FTP_TASK_ATTR A WHERE A.TASKID = #{taskId} </select> <!-- 保存FTPItem的属性信息 --> <insert id="addFtpItemAttrs" parameterType="Map"> insert into SAOP_FTP_TASK_ATTR(taskid,item_spec_id,value) HC_FTP_TASK_ATTR(taskid,item_spec_id,value) values(#{taskId},#{itemSpecId},#{value}) </insert> <!-- 查询没有下载过的文件名 --> @@ -289,7 +321,7 @@ <select id="queryItemSpec" parameterType="Map" resultType="Map"> select a.item_spec_cd, a.domain, a.name, a.describe, a.create_date select a.item_spec_cd, a.domain, a.name, a.describes, a.create_date from saop_ftp_item_spec a where a.status_cd = '0' <if test="domain != null and domain !='' "> and a.domain = #{domain}</if>