Compare commits

...

2 Commits

Author SHA1 Message Date
洁 任 d218fd90a8 Merge branch 'Insight' of http://123.132.248.154:10000/HC_YFZX/Infrastructure into Insight 2024-11-14 15:02:59 +08:00
洁 任 b7efbe1072 在办任务接口编写
分组添加修改--将组长加到分组中间表中
2024-11-14 15:02:55 +08:00
4 changed files with 90 additions and 36 deletions

View File

@ -77,41 +77,63 @@ namespace OpenAuth.App.BaseApp.SysGroupManager
//判断是更新还是添加 //判断是更新还是添加
if (!string.IsNullOrEmpty(id)) if (!string.IsNullOrEmpty(id))
{ {
//判断是否名称重复 using (var uwo = UnitWork.CreateContext())
SysGroup entity = await this.Repository.GetFirstAsync(t =>t.Name==group.Name&& t.Id != group.Id);
if (entity != null)
{ {
return new Response<bool> //判断是否名称重复
SysGroup entity = await this.Repository.GetFirstAsync(t => t.Name == group.Name && t.Id != group.Id);
if (entity != null)
{ {
Result = flag, return new Response<bool>
Message = "分组名称已存在" {
}; 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 else
{ {
//判断名称是否重复 using (var uwo = UnitWork.CreateContext())
SysGroup entity = await this.Repository.GetFirstAsync(t => t.Name == group.Name);
if (entity != null)
{ {
return new Response<bool> //判断名称是否重复
SysGroup entity = await this.Repository.GetFirstAsync(t => t.Name == group.Name);
if (entity != null)
{ {
Result = flag, return new Response<bool>
Message = "分组名称已存在" {
}; 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> return new Response<bool>
{ {

View File

@ -128,10 +128,17 @@ namespace OpenAuth.App.ServiceApp.InsTaskHallManager
/// 在办任务 /// 在办任务
/// </summary> /// </summary>
/// <returns></returns> /// <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) .Where(r => r.IsComplate == false)
.GroupBy(r => r.ReciveUserId) .GroupBy(r => r.ReciveUserId)
.Select(r => new .Select(r => new
@ -139,19 +146,22 @@ namespace OpenAuth.App.ServiceApp.InsTaskHallManager
count = SqlFunc.AggregateCount(r.Id), count = SqlFunc.AggregateCount(r.Id),
userid = r.ReciveUserId userid = r.ReciveUserId
}) })
.MergeTable() .MergeTable();
.LeftJoin<SysUser>((r, u) => r.userid == u.Id.ToString()) //关联用户表查询数据
.OrderBy((r, u) => r.count) var list=await client.Queryable<SysUser>()
.Select<dynamic>((r, u) => new .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, count=r.count==null?0:r.count,
r.userid, u.Id,
u.Name, u.Name,
u.HeadIcon u.HeadIcon
}) })
.ToListAsync(); .ToListAsync();
return query; return list;
} }
} }
} }

View File

@ -32,6 +32,7 @@ namespace OpenAuth.Repository
public SugarRepositiry<DbCodeColumns> DbCodeColumns { get; set; } public SugarRepositiry<DbCodeColumns> DbCodeColumns { get; set; }
public SugarRepositiry<DataSource> DataSource { get; set; } public SugarRepositiry<DataSource> DataSource { get; set; }
public SugarRepositiry<SysGroupuser> SysGroupuser { get; set; } public SugarRepositiry<SysGroupuser> SysGroupuser { get; set; }
public SugarRepositiry<SysGroup> SysGroup { get; set; }
public SugarRepositiry<SysDataItemDetail> SysDataItemDetail { get; set; } public SugarRepositiry<SysDataItemDetail> SysDataItemDetail { get; set; }

View File

@ -80,5 +80,26 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
} }
return result; 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;
}
} }
} }