审批
注意:写在[主表service.cs]中
public override WebResponseContent Audit(object[] keys, int? auditStatus, string auditReason)
{
//status当前审批状态,lastAudit是否最后一个审批节点
AuditWorkFlowExecuting = (表 order, AuditStatus status, bool lastAudit) =>
{
//1.获取当前数据完整的审批信息
// Sys_WorkFlowTable flow = order.GetTableWorkflow();
// //所有审批节点信息
// var steps= flow.Sys_WorkFlowTableStep;
// //2.获取正在审批的节点信息
// List<Sys_WorkFlowTableStep> steps1= order.GetTableCurrentFlowStep();
// //3.获取上一个审批节点信息
// List<Sys_WorkFlowTableStep> steps2 = order.GetTablePreFlowStep();
// //4.获取下一个审批节点信息
// List<Sys_WorkFlowTableStep> steps3 = order.GetTablePreFlowStep();
return webResponse.OK();
};
//status当前审批状态,nextUserIds下一个节点审批人的帐号id(可以从sys_user表中查询用户具体信息),lastAudit是否最后一个审批节点
AuditWorkFlowExecuted = (表 order, AuditStatus status, List<int> nextUserIds, bool lastAudit) =>
{
//获取审批节点信息看上面[AuditWorkFlowExecuting]
//lastAudit=true时,流程已经结束
if (!lastAudit)
{
//这里可以给下一批审批发送邮件通知
//var userInfo = repository.DbContext.Set<Sys_User>()
// .Where(x => nextUserIds.Contains(x.User_Id))
// .Select(s => new { s.User_Id, s.UserTrueName, s.Email, s.PhoneNo }).ToList();
}
//审批流程回退功能,回到第一个审批人重新审批(重新生成审批流程)
//if (status==AuditStatus.审批未通过||status==AuditStatus.驳回)
//{
// base.RewriteFlow(order);
//}
return webResponse.OK();
};
//审批保存前处理(不是审批流程)
AuditOnExecuting = (List<表> order) =>
{
return webResponse.OK();
};
//审批后处理(不是审批流程)
AuditOnExecuted = (List<表> order) =>
{
return webResponse.OK();
};
return base.Audit(keys, auditStatus, auditReason);
}
