Commit c7c417dc authored by liudong1993's avatar liudong1993

获取统计调整

parent 9d84d3c0
...@@ -45,6 +45,11 @@ namespace Edu.Model.ViewModel.User ...@@ -45,6 +45,11 @@ namespace Edu.Model.ViewModel.User
/// </summary> /// </summary>
public string QDeptIds { get; set; } public string QDeptIds { get; set; }
/// <summary>
/// 上级ids
/// </summary>
public string QParentIds { get; set; }
/// <summary> /// <summary>
/// 上级部门名称 /// 上级部门名称
/// </summary> /// </summary>
......
...@@ -3095,7 +3095,8 @@ namespace Edu.Module.OKR ...@@ -3095,7 +3095,8 @@ namespace Edu.Module.OKR
{ {
Id = directModel.Id, Id = directModel.Id,
EmployeeName = directModel.EmployeeName, EmployeeName = directModel.EmployeeName,
UserIcon = directModel.UserIcon UserIcon = directModel.UserIcon,
Dept_Id = directModel.Dept_Id
}); });
UserIdList.Add(directModel.Id); UserIdList.Add(directModel.Id);
ParentIdList.Add(directModel.Id); ParentIdList.Add(directModel.Id);
...@@ -3119,7 +3120,8 @@ namespace Edu.Module.OKR ...@@ -3119,7 +3120,8 @@ namespace Edu.Module.OKR
{ {
Id = item.Id, Id = item.Id,
EmployeeName = item.EmployeeName, EmployeeName = item.EmployeeName,
UserIcon = item.UserIcon UserIcon = item.UserIcon,
Dept_Id = item.Dept_Id
}); });
UserIdList.Add(item.Id); UserIdList.Add(item.Id);
ParentIdList.Add(item.Id); ParentIdList.Add(item.Id);
...@@ -3161,7 +3163,8 @@ namespace Edu.Module.OKR ...@@ -3161,7 +3163,8 @@ namespace Edu.Module.OKR
#endregion #endregion
#region 我的同级 #region 我的同级
List<Model.ViewModel.User.Employee_ViewModel> SiblingList = new List<Model.ViewModel.User.Employee_ViewModel>(); List<Model.ViewModel.User.Employee_ViewModel> SiblingList = new List<Model.ViewModel.User.Employee_ViewModel>();
if (ParentIdList.Any()) { if (ParentIdList.Any())
{
var em2List = accountRepository.GetEmployeeListRepository(new Model.ViewModel.User.Employee_ViewModel() { Group_Id = userInfo.Group_Id, DirectSupervisorIds = string.Join(",", ParentIdList) }); var em2List = accountRepository.GetEmployeeListRepository(new Model.ViewModel.User.Employee_ViewModel() { Group_Id = userInfo.Group_Id, DirectSupervisorIds = string.Join(",", ParentIdList) });
em2List = em2List.Where(x => x.Id != userInfo.Id && !UserIdList.Contains(x.Id)).ToList(); em2List = em2List.Where(x => x.Id != userInfo.Id && !UserIdList.Contains(x.Id)).ToList();
foreach (var item in em2List) foreach (var item in em2List)
...@@ -3174,12 +3177,54 @@ namespace Edu.Module.OKR ...@@ -3174,12 +3177,54 @@ namespace Edu.Module.OKR
}); });
UserIdList.Add(item.Id); UserIdList.Add(item.Id);
} }
//查询部门负责人 负责的所有部门
var dlist = departmentRepository.GetDepartmentListRepository(new Model.ViewModel.User.RB_Department_ViewModel() { Group_Id = userInfo.Group_Id, ManagerIds = string.Join(",", ParentIdList) });
if (dlist.Any()) {
if (!("," + deptModel.ManagerIds + ",").Contains("," + userInfo.Id + ","))
{
var em1List = accountRepository.GetEmployeeListRepository(new Model.ViewModel.User.Employee_ViewModel() { Group_Id = userInfo.Group_Id, QDeptIds = string.Join(",", dlist.Select(x => x.DeptId)) });
em1List = em1List.Where(x => !UserIdList.Contains(x.Id) && x.Id != userInfo.Id && x.DirectSupervisor == 0).ToList();//排序 已存在的直接关系
foreach (var item in em1List)
{
SiblingList.Add(new Model.ViewModel.User.Employee_ViewModel()
{
Id = item.Id,
EmployeeName = item.EmployeeName,
UserIcon = item.UserIcon
});
UserIdList.Add(item.Id);
}
}
else {
//表示自己也是部门负责人 上级所在部门下的所有部门的负责人
var d2list = departmentRepository.GetDepartmentListRepository(new Model.ViewModel.User.RB_Department_ViewModel() { Group_Id = userInfo.Group_Id, QParentIds = string.Join(",", ZSList.Select(x => x.Dept_Id)) });
string ManagerIds = string.Join(",", d2list.Where(x => !string.IsNullOrEmpty(x.ManagerIds)).Select(x => x.ManagerIds));
if (!string.IsNullOrEmpty(ManagerIds))
{
var em1List = accountRepository.GetEmployeeListRepository(new Model.ViewModel.User.Employee_ViewModel() { Group_Id = userInfo.Group_Id, QIds = ManagerIds });
em1List = em1List.Where(x => !UserIdList.Contains(x.Id) && x.Id != userInfo.Id && x.DirectSupervisor == 0).ToList();//排序 已存在的直接关系
foreach (var item in em1List)
{
SiblingList.Add(new Model.ViewModel.User.Employee_ViewModel()
{
Id = item.Id,
EmployeeName = item.EmployeeName,
UserIcon = item.UserIcon
});
UserIdList.Add(item.Id);
}
}
}
} }
}
else
{
//继续查询同部门的 也算同级 //继续查询同部门的 也算同级
if (!("," + deptModel.ManagerIds + ",").Contains("," + userInfo.Id + ",")) if (!("," + deptModel.ManagerIds + ",").Contains("," + userInfo.Id + ","))
{ {
var em1List = accountRepository.GetEmployeeListRepository(new Model.ViewModel.User.Employee_ViewModel() { Group_Id = userInfo.Group_Id, Dept_Id = userInfo.DeptId }); var em1List = accountRepository.GetEmployeeListRepository(new Model.ViewModel.User.Employee_ViewModel() { Group_Id = userInfo.Group_Id, Dept_Id = userInfo.DeptId });
em1List = em1List.Where(x => !UserIdList.Contains(x.Id) && x.Id != userInfo.Id).ToList();//排序 已存在的直接关系 em1List = em1List.Where(x => !UserIdList.Contains(x.Id) && x.Id != userInfo.Id && x.DirectSupervisor == 0).ToList();//排序 已存在的直接关系
foreach (var item in em1List) foreach (var item in em1List)
{ {
SiblingList.Add(new Model.ViewModel.User.Employee_ViewModel() SiblingList.Add(new Model.ViewModel.User.Employee_ViewModel()
...@@ -3191,6 +3236,7 @@ namespace Edu.Module.OKR ...@@ -3191,6 +3236,7 @@ namespace Edu.Module.OKR
UserIdList.Add(item.Id); UserIdList.Add(item.Id);
} }
} }
}
#endregion #endregion
#region 我的关注 #region 我的关注
List<Model.ViewModel.User.Employee_ViewModel> AttentionList = new List<Model.ViewModel.User.Employee_ViewModel>(); List<Model.ViewModel.User.Employee_ViewModel> AttentionList = new List<Model.ViewModel.User.Employee_ViewModel>();
...@@ -3596,10 +3642,18 @@ namespace Edu.Module.OKR ...@@ -3596,10 +3642,18 @@ namespace Edu.Module.OKR
List<int> UserIdList = new List<int>(); List<int> UserIdList = new List<int>();
List<int> ParentIdList = new List<int>(); List<int> ParentIdList = new List<int>();
#region 我的直属上级 #region 我的直属上级
List<Model.ViewModel.User.Employee_ViewModel> ZSList = new List<Model.ViewModel.User.Employee_ViewModel>();
var accountModel = accountRepository.GetEntity(userInfo.Id); var accountModel = accountRepository.GetEntity(userInfo.Id);
if (accountModel.DirectSupervisor > 0) if (accountModel.DirectSupervisor > 0)
{ {
var directModel = accountRepository.GetEmployeeInfo(accountModel.DirectSupervisor); var directModel = accountRepository.GetEmployeeInfo(accountModel.DirectSupervisor);
ZSList.Add(new Model.ViewModel.User.Employee_ViewModel
{
Id = directModel.Id,
EmployeeName = directModel.EmployeeName,
UserIcon = directModel.UserIcon,
Dept_Id = directModel.Dept_Id
});
UserIdList.Add(directModel.Id); UserIdList.Add(directModel.Id);
ParentIdList.Add(directModel.Id); ParentIdList.Add(directModel.Id);
} }
...@@ -3622,6 +3676,13 @@ namespace Edu.Module.OKR ...@@ -3622,6 +3676,13 @@ namespace Edu.Module.OKR
var list = accountRepository.GetEmployeeListRepository(new Model.ViewModel.User.Employee_ViewModel() { QIds = ManagerIds }); var list = accountRepository.GetEmployeeListRepository(new Model.ViewModel.User.Employee_ViewModel() { QIds = ManagerIds });
foreach (var item in list) foreach (var item in list)
{ {
ZSList.Add(new Model.ViewModel.User.Employee_ViewModel()
{
Id = item.Id,
EmployeeName = item.EmployeeName,
UserIcon = item.UserIcon,
Dept_Id = item.Dept_Id
});
UserIdList.Add(item.Id); UserIdList.Add(item.Id);
ParentIdList.Add(item.Id); ParentIdList.Add(item.Id);
} }
...@@ -3658,7 +3719,39 @@ namespace Edu.Module.OKR ...@@ -3658,7 +3719,39 @@ namespace Edu.Module.OKR
{ {
UserIdList.Add(item.Id); UserIdList.Add(item.Id);
} }
//查询部门负责人 负责的所有部门
var dlist = departmentRepository.GetDepartmentListRepository(new Model.ViewModel.User.RB_Department_ViewModel() { Group_Id = userInfo.Group_Id, ManagerIds = string.Join(",", ParentIdList) });
if (dlist.Any())
{
if (!("," + deptModel.ManagerIds + ",").Contains("," + userInfo.Id + ","))
{
var em1List = accountRepository.GetEmployeeListRepository(new Model.ViewModel.User.Employee_ViewModel() { Group_Id = userInfo.Group_Id, QDeptIds = string.Join(",", dlist.Select(x => x.DeptId)) });
em1List = em1List.Where(x => !UserIdList.Contains(x.Id) && x.Id != userInfo.Id && x.DirectSupervisor == 0).ToList();//排序 已存在的直接关系
foreach (var item in em1List)
{
UserIdList.Add(item.Id);
}
} }
else
{
//表示自己也是部门负责人 上级所在部门下的所有部门的负责人
var d2list = departmentRepository.GetDepartmentListRepository(new Model.ViewModel.User.RB_Department_ViewModel() { Group_Id = userInfo.Group_Id, QParentIds = string.Join(",", ZSList.Select(x => x.Dept_Id)) });
string ManagerIds = string.Join(",", d2list.Where(x => !string.IsNullOrEmpty(x.ManagerIds)).Select(x => x.ManagerIds));
if (!string.IsNullOrEmpty(ManagerIds))
{
var em1List = accountRepository.GetEmployeeListRepository(new Model.ViewModel.User.Employee_ViewModel() { Group_Id = userInfo.Group_Id, QIds = ManagerIds });
em1List = em1List.Where(x => !UserIdList.Contains(x.Id) && x.Id != userInfo.Id && x.DirectSupervisor == 0).ToList();//排序 已存在的直接关系
foreach (var item in em1List)
{
UserIdList.Add(item.Id);
}
}
}
}
}
else
{
//继续查询同部门的 也算同级 //继续查询同部门的 也算同级
if (!("," + deptModel.ManagerIds + ",").Contains("," + userInfo.Id + ",")) if (!("," + deptModel.ManagerIds + ",").Contains("," + userInfo.Id + ","))
{ {
...@@ -3669,6 +3762,7 @@ namespace Edu.Module.OKR ...@@ -3669,6 +3762,7 @@ namespace Edu.Module.OKR
UserIdList.Add(item.Id); UserIdList.Add(item.Id);
} }
} }
}
#endregion #endregion
#region 我的关注 #region 我的关注
var alist = oKR_AttentionRepository.GetList(new RB_OKR_Attention_ViewModel() { Group_Id = userInfo.Group_Id, AccountId = userInfo.Id }); var alist = oKR_AttentionRepository.GetList(new RB_OKR_Attention_ViewModel() { Group_Id = userInfo.Group_Id, AccountId = userInfo.Id });
......
...@@ -110,6 +110,10 @@ WHERE 1=1 ...@@ -110,6 +110,10 @@ WHERE 1=1
{ {
builder.Append($" AND A.{nameof(RB_Department_ViewModel.ParentId)}={query.ParentId} "); builder.Append($" AND A.{nameof(RB_Department_ViewModel.ParentId)}={query.ParentId} ");
} }
if (!string.IsNullOrEmpty(query.QParentIds))
{
builder.Append($" AND A.{nameof(RB_Department_ViewModel.ParentId)} in({query.QParentIds}) ");
}
if (query.DeptId > 0) if (query.DeptId > 0)
{ {
builder.Append($" AND A.{nameof(RB_Department_ViewModel.DeptId)}={query.DeptId} "); builder.Append($" AND A.{nameof(RB_Department_ViewModel.DeptId)}={query.DeptId} ");
...@@ -127,6 +131,29 @@ WHERE 1=1 ...@@ -127,6 +131,29 @@ WHERE 1=1
{ {
builder.Append($" AND A.{nameof(RB_Department_ViewModel.DeptId)} IN({query.QDeptIds}) "); builder.Append($" AND A.{nameof(RB_Department_ViewModel.DeptId)} IN({query.QDeptIds}) ");
} }
if (!string.IsNullOrEmpty(query.ManagerIds))
{
var ManagerList = query.ManagerIds.Split(',');
builder.Append($" AND ");
for (var i = 1; i <= ManagerList.Count(); i++)
{
if (i == ManagerList.Count() && i == 1)
{
builder.Append($" FIND_IN_SET('{ManagerList[i - 1]}', A.{nameof(RB_Department_ViewModel.ManagerIds)})");
}
else if (i == 1)
{
builder.Append($" (FIND_IN_SET('{ManagerList[i - 1]}', A.{nameof(RB_Department_ViewModel.ManagerIds)}) OR ");
}
else if (i == ManagerList.Count())
{
builder.Append($" FIND_IN_SET('{ManagerList[i - 1]}', A.{nameof(RB_Department_ViewModel.ManagerIds)}))");
}
else {
builder.Append($" FIND_IN_SET('{ManagerList[i - 1]}', A.{nameof(RB_Department_ViewModel.ManagerIds)}) OR ");
}
}
}
return Get<RB_Department_ViewModel>(builder.ToString(), parameters).ToList(); return Get<RB_Department_ViewModel>(builder.ToString(), parameters).ToList();
} }
else else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment