diff --git a/Myshipping.Application/Service/BookingOrder/BookingOrderService.cs b/Myshipping.Application/Service/BookingOrder/BookingOrderService.cs
index 4cfebf80..55d38656 100644
--- a/Myshipping.Application/Service/BookingOrder/BookingOrderService.cs
+++ b/Myshipping.Application/Service/BookingOrder/BookingOrderService.cs
@@ -380,7 +380,12 @@ namespace Myshipping.Application
.WhereIF(!string.IsNullOrWhiteSpace(input.ZhanCangFlag), u => u.ZhanCangFlag == input.ZhanCangFlag)
.WhereIF(saleUserList != null && saleUserList.Count > 0, o => saleUserList.Contains(o.SALEID))
.WhereIF(opUserList != null && opUserList.Count > 0, o => opUserList.Contains(o.OPID))
- .WhereIF(userlist != null && userlist.Count() > 0, u => userlist.Contains((long)u.CreatedUserId) || UserManager.UserId.ToString() == u.ROUTEID || UserManager.Name.ToString() == u.ROUTE || UserManager.UserId.ToString() == u.SALEID || UserManager.Name.ToString() == u.SALE || UserManager.UserId.ToString() == u.OPID || UserManager.Name.ToString() == u.OP || UserManager.UserId.ToString() == u.DOCID || UserManager.Name.ToString() == u.DOC || UserManager.UserId.ToString() == u.CUSTSERVICEID || UserManager.Name.ToString() == u.CUSTSERVICE);
+ .WhereIF(userlist != null && userlist.Count() > 0, u => userlist.Contains((long)u.CreatedUserId)
+ || UserManager.UserId.ToString() == u.ROUTEID || UserManager.Name.ToString() == u.ROUTE ||
+ UserManager.UserId.ToString() == u.SALEID || UserManager.Name.ToString() == u.SALE ||
+ UserManager.UserId.ToString() == u.OPID || UserManager.Name.ToString() == u.OP ||
+ UserManager.UserId.ToString() == u.DOCID || UserManager.Name.ToString() == u.DOC ||
+ UserManager.UserId.ToString() == u.CUSTSERVICEID || UserManager.Name.ToString() == u.CUSTSERVICE);
if (!string.IsNullOrEmpty(input.SortField) || input.MultiSort == null || input.MultiSort.Count == 0)
{
@@ -426,15 +431,17 @@ namespace Myshipping.Application
}).ToList();
var statusloglist = _repStatuslog.AsQueryable().Filter(null, true).Where(x => (x.Status == "提箱" || x.Status == "返场") && x.IsDeleted == false).ToList();
var statuslogdetaillist = _statuslogdetail.AsQueryable().ToList();
+ var BookingStatusList= _repBookingStatus.AsQueryable().Filter(null, true).ToList();
+ var bookingremarkList = _bookingremark.AsQueryable().Filter(null, true).ToList();
foreach (var item in list.Items)
{
- var sta = _repBookingStatus.AsQueryable().Filter(null, true).Where(x => x.BookingId == item.Id).ToList();
+ var sta = BookingStatusList.Where(x => x.BookingId == item.Id).ToList();
if (sta != null)
{
item.bookstatus = sta;
}
- var st = _bookingremark.AsQueryable().Filter(null, true).Where(x => x.PId == item.Id).ToList();
+ var st = bookingremarkList.Where(x => x.PId == item.Id).ToList();
if (st != null)
{
item.bookremark = st;
@@ -534,7 +541,6 @@ namespace Myshipping.Application
{
if (d.Status == "提箱")
{
-
CNTRNODtolist.Add(new CNTRNODto
{
BookingId = item.Id,
diff --git a/Myshipping.Core/Const/CommonConst.cs b/Myshipping.Core/Const/CommonConst.cs
index 40d6d83b..d69dcf2a 100644
--- a/Myshipping.Core/Const/CommonConst.cs
+++ b/Myshipping.Core/Const/CommonConst.cs
@@ -50,7 +50,10 @@ public class CommonConst
///
public const string CACHE_KEY_USERDATASCOPEZDY = "userdatascopezdy";
-
+ ///
+ /// 新 用户数据权限缓存(自定义)
+ ///
+ public const string CACHE_KEY_USERDATASCOPEZDY = "userdatascopezdy";
#region 公共数据库
///
diff --git a/Myshipping.Core/Service/Emp/SysEmpExtOrgPosService.cs b/Myshipping.Core/Service/Emp/SysEmpExtOrgPosService.cs
index 56255c76..4e96a577 100644
--- a/Myshipping.Core/Service/Emp/SysEmpExtOrgPosService.cs
+++ b/Myshipping.Core/Service/Emp/SysEmpExtOrgPosService.cs
@@ -1,6 +1,4 @@
-
-
-using Furion.DependencyInjection;
+using Furion.DependencyInjection;
using Myshipping.Core.Entity;
using SqlSugar;
using System.Collections.Generic;
diff --git a/Myshipping.Core/Service/Org/SysOrgService.cs b/Myshipping.Core/Service/Org/SysOrgService.cs
index 73718d3e..9ef86031 100644
--- a/Myshipping.Core/Service/Org/SysOrgService.cs
+++ b/Myshipping.Core/Service/Org/SysOrgService.cs
@@ -9,7 +9,6 @@ using SqlSugar;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
-
namespace Myshipping.Core.Service;
///
diff --git a/Myshipping.Core/Service/User/SysDataUserMenu.cs b/Myshipping.Core/Service/User/SysDataUserMenu.cs
index 9768eb91..3e61038a 100644
--- a/Myshipping.Core/Service/User/SysDataUserMenu.cs
+++ b/Myshipping.Core/Service/User/SysDataUserMenu.cs
@@ -27,7 +27,7 @@ public class SysDataUserMenuService : ISysDataUserMenu, IDynamicApiController, I
private readonly SqlSugarRepository _sysOrgRep; // 组织机构表仓储
private readonly SqlSugarRepository _sysEmpRep; // 员工表仓储
private readonly SqlSugarRepository _sysuser; // 员工表
- private readonly SqlSugarRepository _sysUserDataScopeRep; // 用户数据范围表仓储
+ private readonly SqlSugarRepository _sysUserDataScopeRep; // 自定义范围
public SysDataUserMenuService(SqlSugarRepository rep, ISysCacheService sysCache, SqlSugarRepository sysuser, SqlSugarRepository sysUserDataScopeRep, SqlSugarRepository sysEmpRep, SqlSugarRepository sysOrgRep)
{
_rep = rep;
@@ -157,6 +157,7 @@ public class SysDataUserMenuService : ISysDataUserMenu, IDynamicApiController, I
public async Task> GetDataScopeList(long menuid,bool IsEdit=false)
{
List list = new List();
+ List zdylist = new List();
List datascope = new List();
if (_sysCache.Exists(CommonConst.CACHE_KEY_USERDATASCOPE))
{
@@ -167,6 +168,16 @@ public class SysDataUserMenuService : ISysDataUserMenu, IDynamicApiController, I
list = await _rep.AsQueryable().ToListAsync();
_sysCache.Set(CommonConst.CACHE_KEY_USERDATASCOPE, list);
}
+ if (_sysCache.Exists(CommonConst.CACHE_KEY_USERDATASCOPEZDY))
+ {
+ zdylist = await _sysCache.GetAsync>(CommonConst.CACHE_KEY_USERDATASCOPEZDY);
+ }
+ else
+ {
+ zdylist = await _sysUserDataScopeRep.AsQueryable().ToListAsync();
+ _sysCache.Set(CommonConst.CACHE_KEY_USERDATASCOPEZDY, list);
+ }
+
DataScopeType _dataScopeType = list.Where(x => x.SysMenuId == menuid && x.SysUserId == UserManager.UserId).WhereIF(IsEdit == true, x => x.IsEdit == true).Select(x => x.DataScopeType).FirstOrDefault();
if (_dataScopeType == DataScopeType.ALL)
{
@@ -191,8 +202,15 @@ public class SysDataUserMenuService : ISysDataUserMenu, IDynamicApiController, I
}
else if (_dataScopeType == DataScopeType.DEFINE)
{
- datascope = await _sysUserDataScopeRep.AsQueryable().InnerJoin((d, t) => d.SysOrgId == t.OrgId && d.SysMenuId == menuid && d.SysUserId == UserManager.UserId)
- .WhereIF(IsEdit == true, (d, t) => d.IsEdit == true).Select((d, t) => t.Id).ToListAsync();
+ var sysorg= zdylist.Where(x => x.SysUserId == UserManager.UserId).Select(x => x.SysOrgId).ToList();
+ List orglist=new List();
+ foreach (var orgId in sysorg)
+ {
+ var o= _sysOrgRep.AsQueryable().Where(x => x.Pids.Contains(orgId.ToString())).Select(x => x.Id).ToList();
+ orglist = orglist.Union(o).ToList();
+ }
+ var useridlist = _sysEmpRep.AsQueryable().Where(x => orglist.Contains(x.OrgId)).Select(x => x.Id).ToList();
+ datascope = useridlist;
}
else
{