/// <summary>
/// 递归查询转件人,如果第一次没有查到就继续向上一级查找
/// </summary>
/// <param name="DepID"></param>
/// <returns></returns>
public string GetLeaderUserNo(string DepID, string ApplyMainID)
{
string strLeaderUserNo = "";
List<Model.DepartmentInfo> depKZ = new Model.DepartmentInfo().GetModelList(new List<string> { " and DelFlag=0 and ID
=" + DepID }, new List<string> { "*" });
List<Model.ApplyDetailInOut> lInOut = new Model.ApplyDetailInOut().GetModelList(new List<string> { "and ApplyMainID='" +
ApplyMainID + "'" }, new List<string> { "*" });
List<Model.ApplyDetailSPWorkChange> lSpWorkChange = new Model.ApplyDetailSPWorkChange().GetModelList(new
List<string> { "and ApplyMainID='" + ApplyMainID + "'" }, new List<string> { "*" });
List<Model.ApplyDetailDepChange> lDepChange = new Model.ApplyDetailDepChange().GetModelList(new List<string> {
"and ApplyMainID='" + ApplyMainID + "'" }, new List<string> { "*" });
List<Model.DepartmentInfo> dep = new Model.DepartmentInfo().GetModelList(new List<string> { " and DelFlag=0 and ID =
(select HigherDepID from DepartmentInfo where ID =" + DepID + ")" }, new List<string> { "*" });
//室长上级并不存在部门了 所以此时默认用户为000000
if (dep.Count == 0)
{
strLeaderUserNo = "000000";
}
//如果入退社/除外变更没有数据且部门变更都在同科下变动直接科长备案
else if (depKZ[0].DepartmentType == (int)DepartmentType.Section && lInOut.Count == 0
&& lSpWorkChange.Count == 0 && lDepChange.Count > 0)
{
string strTk = string.Empty;
lDepChange.ForEach(d =>
{
string BeforeDepName = GetFullDeptNameA(d.BeforeDepartmentID.ToString());
string AfterDepName = GetFullDeptNameA(d.AfterDepartmentID.ToString());
if (BeforeDepName.Contains("生产") == false || AfterDepName.Contains("生产") == false)
strTk = (string.IsNullOrEmpty(strTk)) ? ((int)TkChange.No).ToString() : strTk + "," + ((int)TkChange.No).ToString();
else
{
if (BeforeDepName.Split('-')[2].ToString() == AfterDepName.Split('-')[2].ToString())
strTk = (string.IsNullOrEmpty(strTk)) ? ((int)TkChange.Yes).ToString() :
strTk + "," + ((int)TkChange.Yes).ToString();
else
strTk = (string.IsNullOrEmpty(strTk)) ? ((int)TkChange.No).ToString() :
strTk + "," + ((int)TkChange.No).ToString();
}
});
if (strTk.Contains(((int)TkChange.No).ToString()) == false)
strLeaderUserNo = "000000";
else
{
List<Model.EmployeeInfo> Leader = new Model.EmployeeInfo().GetModelList(new List<string> { " and LeadFlag=1 and
DelFlag=0 and DepartmentID=" + dep[0].ID }, new List<string> { "*" });
if (Leader.Count == 0)
return GetLeaderUserNo(dep[0].ID.ToString(), ApplyMainID);
else
strLeaderUserNo = Leader[0].UserNo.ToString();
}
}
else
{
List<Model.EmployeeInfo> Leader = new Model.EmployeeInfo().GetModelList(new List<string> { " and LeadFlag=1 and
DelFlag=0 and DepartmentID=" + dep[0].ID }, new List<string> { "*" });
if (Leader.Count == 0)
return GetLeaderUserNo(dep[0].ID.ToString(), ApplyMainID);
else
strLeaderUserNo = Leader[0].UserNo.ToString();
}
return strLeaderUserNo;
}
递归
最新推荐文章于 2024-12-04 22:10:51 发布