泛微Oa系统自定义接口的代码实现

2019-05-29  本文已影响0人  黄扬_92dc

之前实现遇到问题,欢迎交流。

package weaver.interfaces.formmode.action;


import org.apache.commons.logging.Log;

import org.apache.commons.logging.LogFactory;


import weaver.general.BaseBean;

import weaver.general.Util;

import weaver.interfaces.workflow.action.Action;

import weaver.soa.workflow.request.Cell;

import weaver.soa.workflow.request.DetailTable;

import weaver.soa.workflow.request.Property;

import weaver.soa.workflow.request.RequestInfo;

import weaver.soa.workflow.request.Row;


public class ModeDemoAction extends BaseBean implements Action {

    private Log log= LogFactory.getLog(ModeDemoAction.class.getName());

    private String p1; // 自定义参数1

    private String p2; // 自定义参数2


    public String getP1() {

        return p1;

    }


    public void setP1(String p1) {

        this.p1 = p1;

    }


    public String getP2() {

        return p2;

    }


    public void setP2(String p2) {

        this.p2 = p2;

    }


    public Log getLog() {

        return log;

    }


    public void setLog(Log log) {

        this.log = log;

    }


    public String execute(RequestInfo

  request) {

        String  id = request.getRequestid();//建模数据ID

        String  modeid = request.getWorkflowid();// 建模模块ID

        StringCreatorid= request.getCreatorid();//创建人id

        StringLastoperator= request.getLastoperator();//当前操作者id

        log.info("id:"+id+"  modeid:"+modeid);

        System.out.println("id:"+id+"   modeid:"+modeid);


        //取主表数据

        Property[]  properties = request.getMainTableInfo().getProperty();// 获取表单主字段信息

        for (int i = 0; i <

  properties.length; i++) {

            String name = properties[i].getName();// 主字段名称

            String value = Util.null2String(properties[i].getValue());// 主字段对应的值

            System.out.println(name + " " + value);

            log.info(name + "

  " + value);

        }

        // 取明细数据

        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);

                        log.info(name + " " + value);

                    }

                }

            }

        }


        return Action.SUCCESS;

    }


}

上一篇下一篇

猜你喜欢

热点阅读