二开插件 - 任务处理界面按审批项设置审批意见默认值

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

二开插件 - 任务处理界面按审批项设置审批意见默认值

客户需求: 在任务处理界面,当审批项为同意时,默认审批意见为“审批同意”。

解决方案: 在任务处理界面加上表单插件,获取当前审批项,并判断审批项类型是否为同意,然后设置审批意见。

审批流任务处理(SilverLight/GUI)[AP_ApprovalAssignHandle] 

工作流任务处理(SilverLight/GUI)[WF_AssignmentApproval]

审批流任务处理H5[AP_ApprovalAssignHandleH5] 

工作流任务处理H5[WF_AssignmentApprovalH5]


代码如下:

public class AssignApprovalDemoPlugIn : AbstractDynamicFormPlugIn
{
    private string _assignId;
    private ApprovalAssign _approvalAssign;
    public override void AfterBindData(EventArgs e)
    {
        base.AfterBindData(e);
        //工作流分组Key=FRadioGroup ,审批流分组key=FRApprovalGroup
        SetFDispositionDefaultValue(this.View.GetControl("FRadioGroup") == null ? "FRApprovalGroup" : "FRadioGroup");
    }
    
    public override void DataChanged(DataChangedEventArgs e)
    {
        base.DataChanged(e);
        if (e.Field.Key.EqualsIgnoreCase("FRadioGroup") || e.Field.Key.EqualsIgnoreCase("FRApprovalGroup"))
        {
            SetFDispositionDefaultValue(e.Field.Key);
        }
    }
    
    private void SetFDispositionDefaultValue(string radioGroupKey)
    {
        if (!ObjectUtils.Object2String(this.Model.GetValue("FDisposition")).IsNullOrEmptyOrWhiteSpace()) return;
        if (this._assignId.IsNullOrEmptyOrWhiteSpace())
        {
            this._assignId = AssignApprovalBaseEdit.GetParameterAssignId(this.View);
            this._approvalAssign = AssignmentServiceHelper.GetApprovalAssignByAssignId(this.Context, this._assignId);
        }
        //获取当前审批项Id
        string actionResult = ObjectUtils.Object2String(this.View.Model.GetValue(radioGroupKey));
        //判断审批项类型(同意、驳回、终止、撤销)
        var isConsent = this._approvalAssign.ApprovalAction.FirstOrDefault(m => m.Id.EqualsIgnoreCase(actionResult) && m.ResultType == ApprovalAssignResult.Consent) != null;
        if (isConsent)
        {
            this.Model.SetValue("FDisposition", "审批同意");
        }
    }
}

注意: 使用值更新或实体服务规则也可以实现类似功能,但无法判断审批项是否为同意。

在流程设计中心,所有工作流同意审批项的值均为固定值比如'01'才可以用值更新的方式实现。


二开插件 - 任务处理界面按审批项设置审批意见默认值

客户需求: 在任务处理界面,当审批项为同意时,默认审批意见为“审批同意”。解决方案: 在任务处理界面加上表单插件,获取当前审批项,...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息