泛微e-cology接口之外部发起流程C#实例

1、添加WSDL

http://****/services/WorkflowService?wsdl

然后 using SeviceReference2

2、C#测试发起流程代码,对应测试流程如下图,有四个字段没有明细表。注意设置的字段必填项对于外部接口发起无效,而那些自动生成的字段在代码中必须指定值,如下图的填单人和时间必须指定。

           WorkflowServicePortTypeClient iedc= new WorkflowServicePortTypeClient();

            WorkflowBaseInfo workflowBaseInfo = new WorkflowBaseInfo();//工作流信息

            /****************测试api触发流程*************/
            workflowBaseInfo.workflowId = "33521";//流程ID,到数据库表workflow_base中查对应流程的ID
            workflowBaseInfo.workflowName = "测试api触发流程";//流程名称
            WorkflowRequestInfo workflowRequestInfo = new WorkflowRequestInfo();//工作流程请求信息
            workflowRequestInfo.canView = true;//显示
            workflowRequestInfo.canEdit = true;//可编辑
            workflowRequestInfo.requestName = workflowBaseInfo.workflowName;//请求标题
            workflowRequestInfo.requestLevel = "0";//紧急程度 0:正常 1:重要 2:紧急
            workflowRequestInfo.creatorId = "18688"; //创建者ID 创建流程时为必输项,到hrmresourse表中查
            workflowRequestInfo.workflowBaseInfo = workflowBaseInfo;//工作流信息

            /****************main table start*************/
            WorkflowMainTableInfo workflowMainTableInfo = new WorkflowMainTableInfo();//主表
            WorkflowRequestTableRecord[] workflowRequestTableRecord = new WorkflowRequestTableRecord[1];//主表字段只有一条记录
            WorkflowRequestTableField[] WorkflowRequestTableField = new WorkflowRequestTableField[4];//主表的4个字段

            WorkflowRequestTableField[0] = new WorkflowRequestTableField();
            WorkflowRequestTableField[0].fieldName = "tdr";   //与流程表(formtable_main_**)字段名一致,所有自动生成字段如提交人、当前日期等必填
            WorkflowRequestTableField[0].fieldValue = "18688";  //tdr的值,对应用户ID
            WorkflowRequestTableField[0].view = true;
            WorkflowRequestTableField[0].edit = true;

            WorkflowRequestTableField[1] = new WorkflowRequestTableField();
            WorkflowRequestTableField[1].fieldName = "sj";
            WorkflowRequestTableField[1].fieldValue = "2020-12-24";
            WorkflowRequestTableField[1].view = true;
            WorkflowRequestTableField[1].edit = true;

            WorkflowRequestTableField[2] = new WorkflowRequestTableField();
            WorkflowRequestTableField[2].fieldName = "xxms";
            WorkflowRequestTableField[2].fieldValue = "test";
            WorkflowRequestTableField[2].view = true;
            WorkflowRequestTableField[2].edit = true;

            WorkflowRequestTableField[3] = new WorkflowRequestTableField();
            WorkflowRequestTableField[3].fieldName = "scfj";
            WorkflowRequestTableField[3].fieldType = "http:baidu_sylogo1.gif";   //http:开头代表该字段为附件字段,多个之间用|隔开,后面baidu_sylogo1.gif会显示为附件名
            WorkflowRequestTableField[3].fieldValue = "http://****:8001/baidu_sylogo1.gif";//注意如果是外网地址,可能会被公司防火墙拦截
            WorkflowRequestTableField[3].view = true;
            WorkflowRequestTableField[3].edit = true;

            workflowRequestTableRecord[0] = new WorkflowRequestTableRecord();
            workflowRequestTableRecord[0].workflowRequestTableFields = WorkflowRequestTableField;
            workflowMainTableInfo.requestRecords = workflowRequestTableRecord;
            workflowRequestInfo.workflowMainTableInfo = workflowMainTableInfo;

            String requestId = iedc.doCreateWorkflowRequest(workflowRequestInfo, 18688);//返回流程触发成功ID
            //Label1.Text = requestId;
            if (Int32.Parse(requestId) > 0)//小于0则触发失败
            {
                Label1.Text = "流程触发成功  requestId:" + requestId;
            }
            else
            {
                Label1.Text = "流程触发失败";
            }

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值