99 lines
3.4 KiB
Java
99 lines
3.4 KiB
Java
|
package aiyh.utils.zwl.common;
|
|||
|
|
|||
|
|
|||
|
import weaver.common.StringUtil;
|
|||
|
import weaver.conn.RecordSetTrans;
|
|||
|
import weaver.general.Util;
|
|||
|
import weaver.hrm.User;
|
|||
|
import weaver.interfaces.workflow.action.Action;
|
|||
|
import weaver.soa.workflow.request.RequestInfo;
|
|||
|
import weaver.workflow.request.RequestManager;
|
|||
|
|
|||
|
/**
|
|||
|
* 自定义Action实现类,添加通用参数
|
|||
|
* @author bleach
|
|||
|
* @date 2019-10-09
|
|||
|
* @version 1.0
|
|||
|
*/
|
|||
|
public abstract class CusBaseAction extends ToolUtil implements Action {
|
|||
|
//当前类名称
|
|||
|
private String className = this.getClass().getName();
|
|||
|
|
|||
|
|
|||
|
protected RequestInfo requestInfo;//流程请求信息实体类
|
|||
|
protected RecordSetTrans rsts = null;//流程操作事务数据集
|
|||
|
protected String tablename;//当前流程表单名称
|
|||
|
protected String requestId;//流程请求ID
|
|||
|
protected String workflowId;//流程类型ID
|
|||
|
protected User user = null;//当前用户
|
|||
|
protected int creater = -1;//流程创建人ID
|
|||
|
protected RequestManager reqManager = null;
|
|||
|
protected String[] baseArray = new String[3];
|
|||
|
|
|||
|
protected abstract String handle();//Action 具体操作
|
|||
|
|
|||
|
/**
|
|||
|
* 实现父类方法
|
|||
|
*
|
|||
|
* @param requestInfo requestInfo对象
|
|||
|
* @return string类型的数据
|
|||
|
*/
|
|||
|
@Override
|
|||
|
public String execute(RequestInfo requestInfo) {
|
|||
|
this.requestInfo = requestInfo;
|
|||
|
|
|||
|
this.rsts = requestInfo.getRsTrans();
|
|||
|
if (this.rsts == null) {
|
|||
|
rsts = new RecordSetTrans();
|
|||
|
}
|
|||
|
this.initParam();
|
|||
|
return handle();
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 初始化常用参数
|
|||
|
*/
|
|||
|
private void initParam() {
|
|||
|
this.requestId = StringUtil.vString(requestInfo.getRequestid());
|
|||
|
this.workflowId = StringUtil.vString(requestInfo.getWorkflowid());
|
|||
|
this.reqManager = requestInfo.getRequestManager();
|
|||
|
this.user = reqManager.getUser();
|
|||
|
this.creater = reqManager.getCreater();
|
|||
|
|
|||
|
this.tablename = requestInfo.getRequestManager().getBillTableName();
|
|||
|
|
|||
|
//通过系统请求管理类获取表单名称失败,再次查询
|
|||
|
if ("".equals(this.tablename)) {
|
|||
|
tablename = getBillTableNameByWorkflowId(this.workflowId);
|
|||
|
}
|
|||
|
|
|||
|
//获取流程基础数据
|
|||
|
String select_base_sql = "select * from workflow_requestbase where requestid = ?";
|
|||
|
try {
|
|||
|
if (rsts == null) {
|
|||
|
rsts = new RecordSetTrans();
|
|||
|
}
|
|||
|
|
|||
|
String request_name = "";
|
|||
|
String request_mark = "";
|
|||
|
|
|||
|
if (rsts.executeQuery(select_base_sql, requestId)) {
|
|||
|
while (rsts.next()) {
|
|||
|
request_name = Util.null2String(rsts.getString("requestname"));
|
|||
|
request_mark = Util.null2String(rsts.getString("requestmark"));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
baseArray[0] = this.requestId;
|
|||
|
baseArray[1] = request_name;
|
|||
|
baseArray[2] = request_mark;
|
|||
|
|
|||
|
this.writeNewDebuggerLog(className, "main_requestname:[" + request_name + "],main_requestmark:[" + request_mark + "],workflowid:[" + workflowId + "],requestid:[" + requestId + "],tablename:[" + tablename + "]");
|
|||
|
} catch (Exception e1) {
|
|||
|
// TODO Auto-generated catch block
|
|||
|
e1.printStackTrace();
|
|||
|
this.writeNewDebuggerLog(className, "get workflow dataset error:[" + e1.getMessage() + "/" + e1.toString() + "]");
|
|||
|
}
|
|||
|
}
|
|||
|
}
|