TaskCtl.java 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. package com.xt.dsp.controller;
  2. import java.util.List;
  3. import org.h2.util.StringUtils;
  4. import org.springframework.beans.BeanUtils;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Controller;
  7. import org.springframework.ui.Model;
  8. import org.springframework.web.bind.annotation.PathVariable;
  9. import org.springframework.web.bind.annotation.RequestMapping;
  10. import org.springframework.web.bind.annotation.ResponseBody;
  11. import com.xt.dsp.common.util.CommonUtil;
  12. import com.xt.dsp.model.TaskBean;
  13. import com.xt.dsp.service.TaskRun;
  14. import com.xt.dsp.service.TaskService;
  15. import com.xt.dsp.service.TaskSqlService;
  16. import com.xt.dsp.vo.TaskVo;
  17. import com.yuanxd.tools.io.http.JsonResult;
  18. import com.yuanxd.tools.pagehelper.PageHelper;
  19. import com.yuanxd.tools.pagehelper.PageInfo;
  20. @Controller
  21. @RequestMapping("task")
  22. public class TaskCtl {
  23. @Autowired
  24. private TaskService taskService;
  25. @Autowired
  26. private TaskSqlService taskSqlService;
  27. @RequestMapping("run/{code}")
  28. @ResponseBody
  29. public JsonResult runTask(@PathVariable String code, String condition) {
  30. TaskBean task = taskService.selectByCode(code);
  31. JsonResult result = new JsonResult();
  32. if (task == null) {
  33. result.setSuccess(false);
  34. result.setMessage("任务不存在:" + code);
  35. return result;
  36. }
  37. if (TaskBean.TYPE_SQL.equals(task.getType())) {
  38. int res = -1;
  39. try {
  40. if (taskSqlService instanceof TaskRun) {
  41. res = ((TaskRun) taskSqlService).runTask(task, condition);
  42. }
  43. } catch (Exception e) {
  44. e.printStackTrace();
  45. result.setSuccess(false);
  46. result.setMessage(e.getMessage());
  47. return result;
  48. }
  49. if (res == 0) {
  50. result.setSuccess(true);
  51. return result;
  52. }
  53. }
  54. result.setSuccess(false);
  55. return result;
  56. }
  57. /**
  58. * 主画面
  59. *
  60. * @return
  61. */
  62. @RequestMapping("main")
  63. public String main() {
  64. return "rwgl/task/task";
  65. }
  66. /**
  67. * 初始化页面加载数据
  68. */
  69. @RequestMapping("initTask")
  70. @ResponseBody
  71. public PageInfo<TaskBean> initTask(Model model, TaskVo vo) {
  72. // 初始化参数
  73. if (vo.getPage() < 1) {
  74. vo.setPage(1);
  75. }
  76. if (vo.getRows() < 1) {
  77. vo.setRows(1);
  78. }
  79. PageHelper.startPage(vo.getPage(), vo.getRows());
  80. List<TaskBean> list = taskService.selectAll();
  81. PageInfo<TaskBean> pageResult = new PageInfo<>(list);
  82. return pageResult;
  83. }
  84. /**
  85. * 保存实体
  86. *
  87. * @param vo
  88. * @return
  89. */
  90. @RequestMapping("save")
  91. @ResponseBody
  92. public TaskBean saveTask(Model model, TaskVo vo) {
  93. TaskBean saveBean = new TaskBean();
  94. // 新增
  95. if (StringUtils.isNullOrEmpty(vo.getId())) {
  96. BeanUtils.copyProperties(vo, saveBean);
  97. saveBean.setId(CommonUtil.getUUID());
  98. taskService.insert(saveBean);
  99. } else {
  100. // 修改
  101. saveBean = taskService.selectByPrimaryKey(vo.getId());
  102. saveBean.setName(vo.getName());
  103. saveBean.setCode(vo.getCode());
  104. saveBean.setJobCode(vo.getJobCode());
  105. saveBean.setType(vo.getType());
  106. saveBean.setCacheFolder(vo.getCacheFolder());
  107. saveBean.setCacheUse(vo.getCacheUse());
  108. taskService.updateByPrimaryKey(saveBean);
  109. }
  110. return saveBean;
  111. }
  112. /**
  113. * 初始化页面加载数据
  114. */
  115. @RequestMapping("initEditTask")
  116. @ResponseBody
  117. public TaskBean initEditTask(Model model, String id) {
  118. TaskBean bean = taskService.selectByPrimaryKey(id);
  119. return bean;
  120. }
  121. /**
  122. * 删除数据
  123. */
  124. @RequestMapping("delTask")
  125. @ResponseBody
  126. public int delTask(Model model, String ids) {
  127. int cnt = taskService.deleteByPrimaryKey(ids);
  128. return cnt;
  129. }
  130. /**
  131. * 获取任务下拉数据
  132. */
  133. @RequestMapping("getTaskForDdl")
  134. @ResponseBody
  135. public List<TaskBean> getTaskForDdl(Model model) {
  136. List<TaskBean> list = taskService.selectAll();
  137. return list;
  138. }
  139. }