二开案例.表单插件.工作流任务处理界面终止流程时记录审批意见到当前单据上

【应用场景】
工作流任务处理界面终止流程时,记录审批意见到当前单据上。
【注意事项】
工作流任务处理相关的业务对象有很多个,二开时,可根据实际情况,找到对应的工作流任务处理的业务对象进行二开。
常见的工作流任务处理业务对象有:
AF_ApprovalAssignBatchDeal AF_BillAssignment WF_BillAssignApproval WF_AssignmentApprovalH5 AP_ApprovalAssignHandleH5 AP_ApprovalAssignHandle INFO_IndexApproval WF_AssignmentApproval
【案例演示】
采购订单,工作流,当用户在工作流任务处理界面终止流程时,记录审批意见到当前单据上。

【实现步骤】
<1>编写表单插件,代码如下。
using Kingdee.BOS;
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Core.Bill;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.Metadata.FormElement;
using Kingdee.BOS.Util;
using System;
using System.ComponentModel;
using System.Linq;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
/// <summary>
/// 【表单插件】工作流任务处理界面终止流程时记录审批意见到当前单据上
/// </summary>
[Description("【表单插件】工作流任务处理界面终止流程时记录审批意见到当前单据上"), HotUpdate]
public class SaveApprovalInfoAfterAbortProcInstFormPlugIn : AbstractDynamicFormPlugIn
{
public override void AfterBarItemClick(AfterBarItemClickEventArgs e)
{
base.AfterBarItemClick(e);
if (e.BarItemKey.EqualsIgnoreCase("tbWFSubmit"))
{
// 提交事件
// 获取提交状态
object successObj;
if (!this.View.Session.TryGetValue("SubmitSuccess", out successObj) || successObj == null || !Convert.ToBoolean(successObj))
{
// 提交失败,不处理
return;
}
var childPageIds = this.View.GetChildenPageIds();
if (childPageIds == null || childPageIds.Count == 0)
{
return;
}
var billView = this.View.GetView(childPageIds[0]) as IBillView;
if (billView == null)
{
return;
}
if (!billView.BillBusinessInfo.GetForm().Id.EqualsIgnoreCase("PUR_PurchaseOrder"))
{
// 不是采购订单,不处理
return;
}
// 通过工作流任务处理视图,获取工作流相关的数据
// 获取审核状态
#region 工作流
// TODO:此处判断终止流程的逻辑,可根据实际情况进行调整
var dissentValue = new[] { "Dissent", "03" }; // Consent审核通过 Reject驳回发起人 Dissent终止流程 或者是 01审核通过 02驳回发起人 03终止流程
var approvalTypeField = this.View.BillBusinessInfo.GetField("FRadioGroup");
if (approvalTypeField != null)
{
var approvalType = this.Model.GetValue(approvalTypeField.Key);
if (approvalType == null || !dissentValue.Contains(approvalType.ToString()))
{
return;
}
}
#endregion
#region 审批流
else
{
approvalTypeField = this.View.BillBusinessInfo.GetField("FRApprovalGroup");
if (approvalTypeField != null)
{
var approvalType = this.Model.GetValue(approvalTypeField.Key二开案例.表单插件.工作流任务处理界面终止流程时记录审批意见到当前单据上
【应用场景】工作流任务处理界面终止流程时,记录审批意见到当前单据上。【注意事项】工作流任务处理相关的业务对象有很多个,二开时,可根...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



