parent
c3f87fb1e7
commit
b7efbe1072
|
|
@ -77,41 +77,63 @@ namespace OpenAuth.App.BaseApp.SysGroupManager
|
|||
//判断是更新还是添加
|
||||
if (!string.IsNullOrEmpty(id))
|
||||
{
|
||||
//判断是否名称重复
|
||||
SysGroup entity = await this.Repository.GetFirstAsync(t =>t.Name==group.Name&& t.Id != group.Id);
|
||||
if (entity != null)
|
||||
using (var uwo = UnitWork.CreateContext())
|
||||
{
|
||||
return new Response<bool>
|
||||
//判断是否名称重复
|
||||
SysGroup entity = await this.Repository.GetFirstAsync(t => t.Name == group.Name && t.Id != group.Id);
|
||||
if (entity != null)
|
||||
{
|
||||
Result = flag,
|
||||
Message = "分组名称已存在"
|
||||
};
|
||||
return new Response<bool>
|
||||
{
|
||||
Result = flag,
|
||||
Message = "分组名称已存在"
|
||||
};
|
||||
}
|
||||
//更新数据
|
||||
await uwo.SysGroup.UpdateAsync(group);
|
||||
|
||||
//将组长添加中间表
|
||||
SysGroupuser gu = new SysGroupuser();
|
||||
gu.GroupId = group.Id;
|
||||
gu.UserId = group.GroupLeaderId;
|
||||
var guser = client.Queryable<SysGroupuser>().Where(r => r.GroupId == gu.GroupId && r.UserId == gu.UserId).ToList();
|
||||
if (guser.Count==0)
|
||||
{
|
||||
await uwo.SysGroupuser.InsertAsync(gu);
|
||||
}
|
||||
flag = uwo.Commit();
|
||||
}
|
||||
//更新数据
|
||||
flag = await base.Repository.UpdateAsync(u => new SysGroup
|
||||
{
|
||||
Name = group.Name,
|
||||
GroupLeaderId = group.GroupLeaderId,
|
||||
GroupLeaderName = group.GroupLeaderName,
|
||||
Remark = group.Remark
|
||||
}, u => u.Id == group.Id);
|
||||
}
|
||||
else
|
||||
{
|
||||
//判断名称是否重复
|
||||
SysGroup entity = await this.Repository.GetFirstAsync(t => t.Name == group.Name);
|
||||
if (entity != null)
|
||||
using (var uwo = UnitWork.CreateContext())
|
||||
{
|
||||
return new Response<bool>
|
||||
//判断名称是否重复
|
||||
SysGroup entity = await this.Repository.GetFirstAsync(t => t.Name == group.Name);
|
||||
if (entity != null)
|
||||
{
|
||||
Result = flag,
|
||||
Message = "分组名称已存在"
|
||||
};
|
||||
return new Response<bool>
|
||||
{
|
||||
Result = flag,
|
||||
Message = "分组名称已存在"
|
||||
};
|
||||
}
|
||||
//添加数据
|
||||
group.Id = Guid.NewGuid().ToString();
|
||||
group.CreateTime = DateTime.Now;
|
||||
await uwo.SysGroup.InsertAsync(group);
|
||||
//将组长添加中间表
|
||||
SysGroupuser gu = new SysGroupuser();
|
||||
gu.GroupId = group.Id;
|
||||
gu.UserId=group.GroupLeaderId;
|
||||
var guser=client.Queryable<SysGroupuser>().Where(r=>r.GroupId==gu.GroupId&&r.UserId==gu.UserId).ToList();
|
||||
if (guser.Count==0)
|
||||
{
|
||||
await uwo.SysGroupuser.InsertAsync(gu);
|
||||
}
|
||||
flag = uwo.Commit();
|
||||
}
|
||||
//添加数据
|
||||
group.Id = Guid.NewGuid().ToString();
|
||||
group.CreateTime = DateTime.Now;
|
||||
flag = await this.Repository.InsertAsync(group);
|
||||
|
||||
}
|
||||
return new Response<bool>
|
||||
{
|
||||
|
|
|
|||
|
|
@ -128,10 +128,17 @@ namespace OpenAuth.App.ServiceApp.InsTaskHallManager
|
|||
/// 在办任务
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public async Task<List<dynamic>> GetTaskingList(string flag)
|
||||
public async Task<List<dynamic>> GetTaskingList()
|
||||
{
|
||||
DateTime begindate = DateTime.Now;
|
||||
var query = await client.Queryable<InsTaskgroup>()
|
||||
//查询分组内的用户
|
||||
List<string> userlist = new List<string>();
|
||||
var groupuser = client.Queryable<SysGroupuser>().ToList();
|
||||
if(groupuser.Count > 0)
|
||||
{
|
||||
userlist=groupuser.Select(r=>r.UserId).Distinct().ToList();
|
||||
}
|
||||
//根据在办任务数聚合
|
||||
var query = client.Queryable<InsTaskgroup>()
|
||||
.Where(r => r.IsComplate == false)
|
||||
.GroupBy(r => r.ReciveUserId)
|
||||
.Select(r => new
|
||||
|
|
@ -139,19 +146,22 @@ namespace OpenAuth.App.ServiceApp.InsTaskHallManager
|
|||
count = SqlFunc.AggregateCount(r.Id),
|
||||
userid = r.ReciveUserId
|
||||
})
|
||||
.MergeTable()
|
||||
.LeftJoin<SysUser>((r, u) => r.userid == u.Id.ToString())
|
||||
.OrderBy((r, u) => r.count)
|
||||
.Select<dynamic>((r, u) => new
|
||||
.MergeTable();
|
||||
//关联用户表查询数据
|
||||
var list=await client.Queryable<SysUser>()
|
||||
.Where(u=>userlist.Contains(u.Id.ToString()))
|
||||
.LeftJoin(query ,(u,r) => r.userid == u.Id.ToString())
|
||||
.OrderBy((u, r) => r.count)
|
||||
.Select<dynamic>((u, r) => new
|
||||
{
|
||||
r.count,
|
||||
r.userid,
|
||||
count=r.count==null?0:r.count,
|
||||
u.Id,
|
||||
u.Name,
|
||||
u.HeadIcon
|
||||
})
|
||||
.ToListAsync();
|
||||
|
||||
return query;
|
||||
return list;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ namespace OpenAuth.Repository
|
|||
public SugarRepositiry<DbCodeColumns> DbCodeColumns { get; set; }
|
||||
public SugarRepositiry<DataSource> DataSource { get; set; }
|
||||
public SugarRepositiry<SysGroupuser> SysGroupuser { get; set; }
|
||||
public SugarRepositiry<SysGroup> SysGroup { get; set; }
|
||||
|
||||
|
||||
public SugarRepositiry<SysDataItemDetail> SysDataItemDetail { get; set; }
|
||||
|
|
|
|||
|
|
@ -80,5 +80,26 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 在办任务
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public async Task<Response<List<dynamic>>> GetTaskingList()
|
||||
{
|
||||
var result = new Response<List<dynamic>>();
|
||||
try
|
||||
{
|
||||
result.Result = await _app.GetTaskingList();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
result.Code = 500;
|
||||
result.Message = ex.InnerException?.Message ?? ex.Message;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue