package com.mossle.bpm.web;
import javax.annotation.Resource;
import com.mossle.api.process.ProcessConnector;
import com.mossle.api.tenant.TenantHolder;
import com.mossle.core.page.Page;
import org.activiti.engine.ProcessEngine;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* 异步消息管理
*
* @author LuZhao
*
*/
@Controller
@RequestMapping("bpm")
public class JobController {
private ProcessEngine processEngine;
private ProcessConnector processConnector;
private TenantHolder tenantHolder;
/** 作业列表 */
@RequestMapping("job-list")
public String list(@ModelAttribute Page page, Model model) {
String tenantId = tenantHolder.getTenantId();
page = processConnector.findJobs(tenantId, page);
model.addAttribute("page", page);
return "bpm/job-list";
}
/** 执行作业 */
@RequestMapping("job-executeJob")
public String executeJob(@RequestParam("id") String id) {
processEngine.getManagementService().executeJob(id);
return "redirect:/bpm/job-list.do";
}
/** 删除作业 */
@RequestMapping("job-removeJob")
public String removeJob(@RequestParam("id") String id) {
processEngine.getManagementService().deleteJob(id);
return "redirect:/bpm/job-list.do";
}
// ~ ==================================================
@Resource
public void setProcessEngine(ProcessEngine processEngine) {
this.processEngine = processEngine;
}
@Resource
public void setProcessConnector(ProcessConnector processConnector) {
this.processConnector = processConnector;
}
@Resource
public void setTenantHolder(TenantHolder tenantHolder) {
this.tenantHolder = tenantHolder;
}
}