Skip to content

Commit

Permalink
Merge pull request #172 from bingtianyiyan/feature_dev
Browse files Browse the repository at this point in the history
fix issue #170
  • Loading branch information
liukuo362573 committed Jun 28, 2024
2 parents 6623717 + 6ec7256 commit ba04d50
Show file tree
Hide file tree
Showing 6 changed files with 275 additions and 186 deletions.
13 changes: 11 additions & 2 deletions YiSha.Business/YiSha.Business/OrganizationManage/DepartmentBLL.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
using YiSha.Util.Model;
using YiSha.Util.Extension;
using YiSha.Web.Code;
using NPOI.SS.Formula.Functions;

namespace YiSha.Business.OrganizationManage
{
Expand All @@ -32,10 +33,18 @@ public async Task<TData<List<DepartmentEntity>>> GetList(DepartmentListParam par
List<long> childrenDepartmentIdList = await GetChildrenDepartmentIdList(obj.Data, operatorInfo.DepartmentId.Value);
obj.Data = obj.Data.Where(p => childrenDepartmentIdList.Contains(p.Id.Value)).ToList();
}
List<UserEntity> userList = await userService.GetList(new UserListParam { UserIds = string.Join(",", obj.Data.Select(p => p.PrincipalId).ToArray()) });
List<UserEntity> userList = new List<UserEntity>();
if (obj.Data.Count > 0)
{
var userIdsArr = obj.Data.Where(p => p.PrincipalId > 0).Select(p => p.PrincipalId.Value);
if (userIdsArr.Count() > 0)
{
userList = await userService.GetList(new UserListParam { UserIds = userIdsArr.ToArray() });
}
}
foreach (DepartmentEntity entity in obj.Data)
{
if (entity.PrincipalId > 0)
if (entity.PrincipalId > 0 && userList.Count > 0 )
{
entity.PrincipalName = userList.Where(p => p.Id == entity.PrincipalId).Select(p => p.RealName).FirstOrDefault();
}
Expand Down
88 changes: 48 additions & 40 deletions YiSha.Business/YiSha.Service/OrganizationManage/UserService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -166,54 +166,62 @@ public async Task ChangeUser(UserEntity entity)
#region 私有方法
private Expression<Func<UserEntity, bool>> ListFilter(UserListParam param)
{

//var expression = LinqExtensions.True<UserEntity>();

if (param.UserStatus == -1)
{
param.UserStatus = null;
}

//****根据查询字段自动过滤条件****
var expression = LinqExtensions.GetExpressionItems<UserEntity,UserListParam>(param);

if (param != null)
if(param != null)
{
//if (!string.IsNullOrEmpty(param.UserName))
//{
// expression = expression.And(t => t.UserName.Contains(param.UserName));
//}


if (!string.IsNullOrEmpty(param.UserIds))
if (param.UserStatus == -1)
{
long[] userIdList = TextHelper.SplitToArray<long>(param.UserIds, ',');
expression = expression.And(t => userIdList.Contains(t.Id.Value));
}

//if (!string.IsNullOrEmpty(param.Mobile))
//{
// expression = expression.And(t => t.Mobile.Contains(param.Mobile));
//}
//if (param.UserStatus > -1)
//{
// expression = expression.And(t => t.UserStatus == param.UserStatus);
//}

if (!string.IsNullOrEmpty(param.StartTime.ParseToString()))
{
expression = expression.And(t => t.BaseModifyTime >= param.StartTime);
param.UserStatus = null;
}
if (!string.IsNullOrEmpty(param.EndTime.ParseToString()))
{
param.EndTime = param.EndTime.Value.Date.Add(new TimeSpan(23, 59, 59));
expression = expression.And(t => t.BaseModifyTime <= param.EndTime);
}
if (param.ChildrenDepartmentIdList != null && param.ChildrenDepartmentIdList.Count > 0)
{
expression = expression.And(t => param.ChildrenDepartmentIdList.Contains(t.DepartmentId.Value));
}
}
//****根据查询字段自动过滤条件****
var expression = LinqExtensions.GetExpressionItems<UserEntity,UserListParam>(param);

//if (param != null)
//{
// //if (param.UserStatus == -1)
// //{
// // param.UserStatus = null;
// //}

// //if (!string.IsNullOrEmpty(param.UserName))
// //{
// // expression = expression.And(t => t.UserName.Contains(param.UserName));
// //}


// //if (!string.IsNullOrEmpty(param.UserIds))
// //{
// // long[] userIdList = TextHelper.SplitToArray<long>(param.UserIds, ',');
// // expression = expression.And(t => userIdList.Contains(t.Id.Value));
// //}

// //if (!string.IsNullOrEmpty(param.Mobile))
// //{
// // expression = expression.And(t => t.Mobile.Contains(param.Mobile));
// //}
// //if (param.UserStatus > -1)
// //{
// // expression = expression.And(t => t.UserStatus == param.UserStatus);
// //}

// //if (!string.IsNullOrEmpty(param.StartTime.ParseToString()))
// //{
// // expression = expression.And(t => t.BaseModifyTime >= param.StartTime);
// //}
// //if (!string.IsNullOrEmpty(param.EndTime.ParseToString()))
// //{
// // param.EndTime = param.EndTime.Value.Date.Add(new TimeSpan(23, 59, 59));
// // expression = expression.And(t => t.BaseModifyTime <= param.EndTime);
// //}
// //if (param.ChildrenDepartmentIdList != null && param.ChildrenDepartmentIdList.Count > 0)
// //{
// // expression = expression.And(t => param.ChildrenDepartmentIdList.Contains(t.DepartmentId.Value));
// //}
//}
return expression;
}
#endregion
Expand Down
7 changes: 5 additions & 2 deletions YiSha.Entity/YiSha.Model/Param/DateTimeParam.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using YiSha.Util.Extension;

namespace YiSha.Model.Param
{
Expand All @@ -11,11 +12,13 @@ public class DateTimeParam
/// <summary>
/// 搜索条件开始时间
/// </summary>
public DateTime? StartTime { get; set; }
[QueryCompareAttribute(FieldName = "BaseModifyTime",Compare =CompareEnum.GreaterThanOrEquals)]
public virtual DateTime? StartTime { get; set; }

/// <summary>
/// 搜索条件结束时间
/// </summary>
public DateTime? EndTime { get; set; }
[QueryCompareAttribute(FieldName = "BaseModifyTime", Compare = CompareEnum.LessThanOrEquals)]
public virtual DateTime? EndTime { get; set; }
}
}
13 changes: 7 additions & 6 deletions YiSha.Entity/YiSha.Model/Param/OrganizationManage/UserParam.cs
Original file line number Diff line number Diff line change
@@ -1,22 +1,23 @@
using System;
using System.Collections.Generic;
using YiSha.Entity.OrganizationManage;
using YiSha.Util.Extension;

namespace YiSha.Model.Param.OrganizationManage
{
public class UserListParam : DateTimeParam
{
[QueryCompareAttribute(Compare = CompareEnum.Contains)]
public string UserName { get; set; }

[QueryCompareAttribute(Compare = CompareEnum.Contains)]
public string Mobile { get; set; }

[QueryCompareAttribute(Compare = CompareEnum.Equals)]
public int? UserStatus { get; set; }

public long? DepartmentId { get; set; }

[QueryCompareAttribute(FieldName = "DepartmentId", Compare = CompareEnum.In)]
public List<long> ChildrenDepartmentIdList { get; set; }

public string UserIds { get; set; }
[QueryCompareAttribute(FieldName ="Id",Compare = CompareEnum.In)]
public long[] UserIds { get; set; }
}

public class ChangePasswordParam
Expand Down
Loading

0 comments on commit ba04d50

Please sign in to comment.