using Edu.Common.Enum.User;
using Edu.Model.Entity.User;
using Edu.Model.ViewModel.User;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
namespace Edu.Repository.User
{
///
/// 审批条件扩展
///
public partial class Rb_Workflow_ConditionRepository : BaseRepository
{
///
/// 根据模板id获取信息
///
///
///
public List GetConditionByTemplateId(int templateId)
{
return Get($"SELECT * from rb_workflow_condition c where c.TemplateId = {templateId}").ToList();
}
///
/// 获取模版下默认审核条件
///
///
///
public List GetDefaultCondition(int TemplateId)
{
return Get($@"select c.*,t.TemplateType from Rb_Workflow_Condition c left join rb_workflow_template t on c.TemplateId=t.Id where c.Sort=0 and c.TemplateId={TemplateId}").ToList();
}
///
/// 获取模版下分条件审核条件
///
///
///
public List GetOtherConditionList(int TemplateId)
{
return Get($@"select * from Rb_Workflow_Condition where Sort!=0 and TemplateId={TemplateId} order by Sort asc").ToList();
}
///
/// 删除条件表下所有的审核人 抄送人
///
///
/// 事务对象
///
public int DelConditionAuditAndUser(int ConditionId,IDbTransaction trans) {
string str = $@"DELETE rb_workflow_audituser from rb_workflow_audituser,rb_workflow_audit where rb_workflow_audituser.AuditId=rb_workflow_audit.Id and rb_workflow_audit.ConditionId={ConditionId} and rb_workflow_audituser.EmType=1;";
str += $@"DELETE from rb_workflow_audit where rb_workflow_audit.ConditionId={ConditionId};";
str += $@"DELETE from rb_workflow_AuditUser where rb_workflow_AuditUser.AuditId={ConditionId} and rb_workflow_audituser.EmType=2;";
return Execute(str, trans);
}
///
/// 删除分条件
///
///
///
public int DelOtherCondition(int ConditionId) {
string str = $@"DELETE rb_workflow_audituser from rb_workflow_audituser,rb_workflow_audit where rb_workflow_audituser.AuditId=rb_workflow_audit.Id and rb_workflow_audit.ConditionId={ConditionId} and rb_workflow_audituser.EmType=1;";
str += $@"DELETE from rb_workflow_audit where rb_workflow_audit.ConditionId={ConditionId};";
str += $@"DELETE from rb_workflow_AuditUser where rb_workflow_AuditUser.AuditId={ConditionId} and rb_workflow_audituser.EmType=2;";
str += $@"DELETE from rb_workflow_condition where rb_workflow_condition.Id={ConditionId};";
return Execute(str);
}
///
/// 获取模版下最大的优先级
///
///
///
public int GetConditionSortMax(int TemplateId) {
object val = ExecuteScalar($@" select Max(Sort) from rb_workflow_condition where TemplateId={TemplateId}");
if (val != null && val.ToString() != "")
{
return Convert.ToInt32(val);
}
else {
return 0;
}
}
///
/// 获取模版下最大的优先级
///
///
///
///
public int GetDefaultConditionDistinct(int TemplateId,int ConditionId)
{
string sql = $@" select count(*) from rb_workflow_condition where Sort=0 and TemplateId={TemplateId}";
if (ConditionId > 0)
{
sql= $@" select count(*) from rb_workflow_condition where Sort=0 and TemplateId={TemplateId} and Id!={ConditionId}";
}
object val = ExecuteScalar(sql);
if (val != null && val.ToString() != "")
{
return Convert.ToInt32(val);
}
else
{
return 0;
}
}
}
}