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

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

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

客户需求: 在任务处理界面,能否根据不同节点,设置不同的默认审批意见。比如节点A默认审批意见为同意,节点B默认审批意见为确认收单。


解决方案: 在任务处理界面加上表单插件,根据当前AssignId获取流程版本和节点Id,然后判断后设置审批意见。代码如下。

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

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

审批流任务处理H5[AP_ApprovalAssignHandleH5] 

工作流任务处理H5[WF_AssignmentApprovalH5]


public class AssignApprovalDemoPlugIn : AbstractDynamicFormPlugIn
{
    //测试数据
    private static Tuple<string, int, string>[] Array_DefaultDispostion = new[] { 
        new Tuple<string, int, string>("5536127a0394daebca", 5, "同意"), 
    new Tuple<string, int, string>("5536127a0394daebca", 7, "确认收单"),
    new Tuple<string, int, string>("5536127a0394daebca", 8, "已阅")
    };
    public override void BeforeBindData(EventArgs e)
    {
        base.BeforeBindData(e);
        if (AssignApprovalBaseEdit.GetParameterOperationStatus(this.View) != OperationStatus.VIEW)
        {
            string assignId = AssignApprovalBaseEdit.GetParameterAssignId(this.View);
            string sql = @"SELECT T0.FASSIGNID,T1.FPROCDEFID,T1.FVERSIONID,T2.FACTIVITYID FROM T_WF_ASSIGN T0 
INNER JOIN T_WF_PROCINST T1 ON T0.FPROCINSTID=T1.FPROCINSTID
INNER JOIN T_WF_ACTINST T2 ON T0.FPROCINSTID=T2.FPROCINSTID AND T0.FACTINSTID=T2.FACTINSTID
WHERE T0.FASSIGNID=@FASSIGNID";
            var dyn = DBServiceHelper.ExecuteDynamicObject(this.Context, sql, paramList: new[] { new SqlParam("FASSIGNID", KDDbType.AnsiString, assignId) });
            if (dyn.IsEmpty()) return;
            string procVerId = ObjectUtils.Object2String(dyn[0]["FVERSIONID"]);//流程版本Id
            int activityDefineId = ObjectUtils.Object2Int(dyn[0]["FACTIVITYID"]);//节点Id
            //为避免写很多IF判断,定义了审批意见数组。Item1=流程版本Id;Item2=节点Id;Item3=审批意见。
            var tuple = Array_DefaultDispostion.FirstOrDefault(m => m.Item1.EqualsIgnoreCase(procVerId) && m.Item2 == activityDefineId);
            if (tuple != null)
            {
                this.View.Model.SetValue("FDisposition", tuple.Item3);
            }
        }
    }
}


查看节点ID的方法: 

1. 在流程图设计界面空白处双击,弹出的流程设置界面勾选【显示节点ID】。

2. 打开节点属性界面,查看节点ID


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

客户需求: 在任务处理界面,能否根据不同节点,设置不同的默认审批意见。比如节点A默认审批意见为同意,节点B默认审批意见为确认收单。解...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息