泛微ecology二次开发之action

action 接口主要用作于流程节点前,节点后的附加操作

他需要实现  weaver.interfaces.workflow.action.Action 接口

整个流程操作顺序为 :保存表单数据 -> 节点后操作 -> 生成编号 ->出口附加规则 -> 节点前操作 -> 插入操作者 和签字意见 

附上鄙人 3年 总结的 action 常用的方法

//获取⼯作流id
String workflowId = info.getWorkflowid();
//获取流程id
String requestid = info.getRequestid();
//获取RequestManager对象
RequestManager RequestManager = info.getRequestManager();
//获取当前节点id
int currentnodeid = RequestManager.getNodeid();
//下⼀个节点id
int nextnodeid = RequestManager.getNextNodeid();
//获取流程表单id
int formid = RequestManager.getFormid();
//是否为单据
int isbill = RequestManager.getIsbill();
//获取数据库主表名
String tableName = RequestManager.getBillTableName();

         String requestid = requestinfo.getRequestid();//请求ID
        String requestlevel = requestinfo.getRequestlevel();//请求紧急程度
          //当前操作类型 submit:提交/reject:退回
        String src = requestinfo.getRequestManager().getSrc();
     
        String workflowid = requestinfo.getWorkflowid();//流程ID
        String tablename = requestinfo.getRequestManager().getBillTableName();//表单名称
        int billid = requestinfo.getRequestManager().getBillid();//表单数据ID
        User usr = requestinfo.getRequestManager().getUser();//获取当前操作用户对象
        String requestname = requestinfo.getRequestManager().getRequestname();//请求标题
        String remark = requestinfo.getRequestManager().getRemark();//当前用户提交时的签字意见
        int nextnodeid =RequestManager.getNextNodeid();//获取下个节点id
        int formid = requestinfo.getRequestManager().getFormid();//表单ID

        int isbill = requestinfo.getRequestManager().getIsbill();//是否是自定义表单
        //取主表数据
    	Map<String, String> mainTableDataMap = new HashMap<String, String>();
			Property[] props = request.getMainTableInfo().getProperty();
			for (int i = 0; i < props.length; i++) {
				String fieldname = props[i].getName().toLowerCase();// 字段名转换为小写
				String fieldval = Util.null2String(props[i].getValue());
				mainTableDataMap.put(fieldname, fieldval);
			}
        //取明细数据
        DetailTable[] detailtable = request.getDetailTableInfo().getDetailTable();// 获取所有明细表
        if (detailtable.length > 0) {
            for (int i = 0; i < detailtable.length; i++) {
                DetailTable dt = detailtable[i];// 指定明细表
                Row[] s = dt.getRow();// 当前明细表的所有数据,按行存储
                for (int j = 0; j < s.length; j++) {
                    Row r = s[j];// 指定行
                    Cell c[] = r.getCell();// 每行数据再按列存储
                    for (int k = 0; k < c.length; k++) {
                        Cell c1 = c[k];// 指定列
                        String name = c1.getName();// 明细字段名称
                        String value = c1.getValue();// 明细字段的值
                        System.out.println(name + " " + value);
                    }
                }
            }
        }

有问题交流 请加qq 1255605448

  • 1
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你真好看≧◔◡◔≦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值