master
洁 任 2026-02-10 17:00:56 +08:00
parent 09abcb378b
commit 309fabe4f7
2 changed files with 48 additions and 47 deletions

View File

@ -36,52 +36,52 @@ namespace OpenAuth.App
var user = _auth.GetCurrentUser();
var users = user.User;
//如果不是超级管理员
if (user != null && users.Id != -1)
{
//查询所有子部门
List<string> orgidlist = new List<string>();
var orgs = user.Orgs?.Select(r => r.Id).ToList();
using (var uow = base.UnitWork.CreateContext())
{
foreach (var item in orgs)
{
orgidlist.Add(item.ToString());
var allchilds = uow.SysOrg.AsQueryable().ToChildList(r => r.ParentId, item);
if (allchilds.Count > 0)
{
orgidlist = orgidlist.Concat(allchilds.Select(r => r.Id.ToString())).ToList();
}
}
//if (user != null && users.Id != -1)
//{
// //查询所有子部门
// List<string> orgidlist = new List<string>();
// var orgs = user.Orgs?.Select(r => r.Id).ToList();
// using (var uow = base.UnitWork.CreateContext())
// {
// foreach (var item in orgs)
// {
// orgidlist.Add(item.ToString());
// var allchilds = uow.SysOrg.AsQueryable().ToChildList(r => r.ParentId, item);
// if (allchilds.Count > 0)
// {
// orgidlist = orgidlist.Concat(allchilds.Select(r => r.Id.ToString())).ToList();
// }
// }
var list = await uow.MiVehiclePickup.AsQueryable()
.WhereIF(req.begindate != null && req.enddate != null, p => p.InitiateTime >= req.begindate && p.InitiateTime < req.enddate)
.WhereIF(req.status != null, p => p.Status == req.status)
.LeftJoin<MiViolationReport>((p, r) => p.ViolationReportId == r.Id)
.Where((p, r) => orgidlist.Contains(r.HandlingUnit))
.LeftJoin<MiMinePoint>((p, r, m) => r.MinePointId == m.Id)
.LeftJoin<SysUser>((p, r, m, u) => p.Initiator == u.Id.ToString())
.WhereIF(!string.IsNullOrEmpty(req.pointname), (p, r, m, u) => m.Name.Contains(req.pointname))
.WhereIF(!string.IsNullOrEmpty(req.key), (p, r, m, u) => u.Name.Contains(req.key))
.OrderByDescending((p, r, m, u) => p.InitiateTime)
.Select<dynamic>((p, r, m, u) => new
{
Id = p.Id.SelectAll(),
InitiatorName = u.Name,
PointName = m.Name
})
.ToPageListAsync(req.page, req.limit, totalCount);
return new Response<PageInfo<List<dynamic>>>
{
Result = new PageInfo<List<dynamic>>
{
Items = list,
Total = totalCount
}
};
}
}
else
{
// var list = await uow.MiVehiclePickup.AsQueryable()
// .WhereIF(req.begindate != null && req.enddate != null, p => p.InitiateTime >= req.begindate && p.InitiateTime < req.enddate)
// .WhereIF(req.status != null, p => p.Status == req.status)
// .LeftJoin<MiViolationReport>((p, r) => p.ViolationReportId == r.Id)
// .Where((p, r) => orgidlist.Contains(r.HandlingUnit))
// .LeftJoin<MiMinePoint>((p, r, m) => r.MinePointId == m.Id)
// .LeftJoin<SysUser>((p, r, m, u) => p.Initiator == u.Id.ToString())
// .WhereIF(!string.IsNullOrEmpty(req.pointname), (p, r, m, u) => m.Name.Contains(req.pointname))
// .WhereIF(!string.IsNullOrEmpty(req.key), (p, r, m, u) => u.Name.Contains(req.key))
// .OrderByDescending((p, r, m, u) => p.InitiateTime)
// .Select<dynamic>((p, r, m, u) => new
// {
// Id = p.Id.SelectAll(),
// InitiatorName = u.Name,
// PointName = m.Name
// })
// .ToPageListAsync(req.page, req.limit, totalCount);
// return new Response<PageInfo<List<dynamic>>>
// {
// Result = new PageInfo<List<dynamic>>
// {
// Items = list,
// Total = totalCount
// }
// };
// }
//}
//else
//{
var list = await base.Repository.AsQueryable()
.WhereIF(req.begindate != null && req.enddate != null, p => p.InitiateTime >= req.begindate && p.InitiateTime < req.enddate)
.WhereIF(req.status != null, p => p.Status == req.status)
@ -106,7 +106,7 @@ namespace OpenAuth.App
Total = totalCount
}
};
}
//}
}
/// <summary>

View File

@ -102,7 +102,7 @@ namespace OpenAuth.App
.WhereIF(req.status != null, p => p.Status == req.status)
.WhereIF(!string.IsNullOrEmpty(req.key), p => p.Title.Contains(req.key))
.WhereIF(req.viotype != null, p => p.ViolationType == req.viotype)
.Where(p => orgidlist.Contains(p.ReportUnit))
.Where(p => orgidlist.Contains(p.ReportUnit) || orgidlist.Contains(p.HandlingUnit) || p.Reporter == user.User.Id.ToString() || p.Handler==user.User.Id.ToString())
.LeftJoin<MiMinePoint>((p, m) => p.MinePointId == m.Id)
.LeftJoin<SysUser>((p, m, u) => p.Reporter == u.Id.ToString())
.LeftJoin<SysUser>((p, m, u, s) => p.Handler == s.Id.ToString())
@ -460,6 +460,7 @@ namespace OpenAuth.App
HandlingOpinion = info.HandlingOpinion,
HandlingTime = DateTime.Now,
HandlingUnit = org.Id.ToString(),
Handler=user.Id.ToString(),
Status=1,
StatusName="已处理"
}).Where(a => a.Id == info.Id).ExecuteCommandAsync();