package com.ycsoft.report.web.action.query; import org.springframework.stereotype.Controller; import com.ycsoft.commons.abstracts.BaseAction; import com.ycsoft.commons.exception.ReportException; import com.ycsoft.commons.helper.JsonHelper; import com.ycsoft.report.bean.RepTask; import com.ycsoft.report.component.query.QueryComponent; import com.ycsoft.report.pojo.Parameter; import com.ycsoft.report.query.datarole.BaseDataControl; import com.ycsoft.report.query.datarole.FuncType; /** * 初始化查询 * */ @Controller public class ReportAction extends BaseAction { private QueryComponent queryComponent; private Parameter parameter; protected String rep_id; protected String query_id; protected String client_ip; private String reptask; private String task_id; private String query; /** * 保存任务配置 * 配置一个任务配置权限(未实现,目前用报表编辑权限来实现) * rep_id,task_name,task_type,task_execday,remark */ public String saveRepTask()throws Exception{ //TODO 应该配置一个独立的配置任务权限 if (BaseDataControl.getRole().hasFunc(FuncType.EDITREP)){ RepTask task=JsonHelper.toObject(reptask, RepTask.class); queryComponent.saveTask(task,parameter, optr); }else{ throw new ReportException("权限不足!"); } return JSON_SUCCESS; } /** * 删除一个任务配置 * @return * @throws Exception */ public String deleteRepTask()throws Exception{ queryComponent.deleteRepTask(Integer.valueOf(task_id)); return JSON_SUCCESS; } /** * 查询任务列表 * 具有编辑报表权限的人,可以下载删除所有任务列表,否则只能下载删除自己配置的报表 * */ public String queryTasks()throws Exception{ getRoot().setPage(queryComponent.queryRepTask(query, start, limit,optr)); return JSON; } public String getReptask() { return reptask; } public void setReptask(String reptask) { this.reptask = reptask; } public String getTask_id() { return task_id; } public void setTask_id(String task_id) { this.task_id = task_id; } /** * 查询按钮提交初始化报表结果集 * 如果Session中上一个查询初始化还未完成,则提示操作员等待初始化完成(配置一个拦截器,处理这种情况) * @return * @throws Exception */ public String initQuery() throws Exception { //如果Session中上一个查询初始化还未完成,则提示操作员等待初始化完成(配置一个拦截器,处理这种情况) getRoot().setSimpleObj(queryComponent.initQuery(rep_id,getParameter(), optr,client_ip)); return JSON_SIMPLEOBJ; } public QueryComponent getQueryComponent() { return queryComponent; } public void setQueryComponent(QueryComponent queryComponent) { this.queryComponent = queryComponent; } public String getRep_id() { return rep_id; } public void setRep_id(String rep_id) { this.rep_id = rep_id; } public String getQuery_id() { return query_id; } public void setQuery_id(String query_id) { this.query_id = query_id; } public Parameter getParameter() { return parameter = parameter == null ? new Parameter() : parameter; } public void setParameter(Parameter parameter) { this.parameter = parameter; } public String getClient_ip() { return client_ip; } public void setClient_ip(String client_ip) { this.client_ip = client_ip; } public void setQuery(String query) { this.query = query; } }