diff --git a/ZR.Admin.WebApi/Controllers/Business/OdfPortsController.cs b/ZR.Admin.WebApi/Controllers/Business/OdfPortsController.cs index c0cc396..ac75146 100644 --- a/ZR.Admin.WebApi/Controllers/Business/OdfPortsController.cs +++ b/ZR.Admin.WebApi/Controllers/Business/OdfPortsController.cs @@ -11,6 +11,7 @@ using System.Threading.Tasks; using ZR.Repository; using Aliyun.OSS; using System.Linq; +using ZR.Model.System.Dto; //创建时间:2025-08-05 namespace ZR.Admin.WebApi.Controllers.Business @@ -148,7 +149,6 @@ namespace ZR.Admin.WebApi.Controllers.Business return SUCCESS(info); } - /// /// 查询端口详情 /// diff --git a/ZR.Admin.WebApi/Controllers/Business/OdfRoomsController.cs b/ZR.Admin.WebApi/Controllers/Business/OdfRoomsController.cs index 763351a..4eedbd9 100644 --- a/ZR.Admin.WebApi/Controllers/Business/OdfRoomsController.cs +++ b/ZR.Admin.WebApi/Controllers/Business/OdfRoomsController.cs @@ -10,6 +10,10 @@ using SqlSugar; using static SKIT.FlurlHttpClient.Wechat.Api.Models.WxaBusinessGetLiveInfoResponse.Types; using Aliyun.OSS; using Azure; +using ZR.Model.System.Dto; +using SkiaSharp; +using static SKIT.FlurlHttpClient.Wechat.Api.Models.CardMemberCardActivateUserFormSetRequest.Types; +using ZR.Model.System; //创建时间:2025-08-05 namespace ZR.Admin.WebApi.Controllers.Business @@ -35,6 +39,8 @@ namespace ZR.Admin.WebApi.Controllers.Business /// private readonly ISysUserService _SysUserService; + + /// ///机架 /// @@ -72,18 +78,6 @@ namespace ZR.Admin.WebApi.Controllers.Business [ActionPermissionFilter(Permission = "odfrooms:list")] public IActionResult QueryOdfRooms([FromQuery] OdfRoomsQueryDto parm) { - //long userId = HttpContext.GetUId(); - //var user = _SysUserService.SelectUserById(userId); - ////user.RoleIds - //if (!user.IsAdmin && user.Roles.Any(it => it.DataScope == 4)) - //{ - // //user.DeptId; - // //parm.DeptIds = user.DeptIds; - //} - //else if (!user.IsAdmin && user.Roles.Any(it => it.DataScope == 3)) - //{ - // parm.DeptIds = new List() { user.DeptId }; - //} var response = _OdfRoomsService.GetList(parm); return SUCCESS(response); } @@ -209,6 +203,39 @@ namespace ZR.Admin.WebApi.Controllers.Business return SUCCESS(response); } + /// + /// 查询公司下的所有区域 + /// + /// + [HttpGet("getcompany")] + [ActionPermissionFilter(Permission = "odfrooms:query")] + public IActionResult GetCompany() + { + var dept = sysDeptService.AsQueryable().Where(it => it.ParentId == 0 && it.Status == 0 && it.DelFlag == 0).First(); + if (dept != null) + { + var list = sysDeptService.AsQueryable().Where(it => it.ParentId == dept.DeptId).Select(it => new { it.DeptId, it.DeptName }).ToList(); + return SUCCESS(list); + } + return SUCCESS(new List()); + } + + + + + /// + /// 查询地区列表 + /// + /// + /// + [HttpGet("getregion")] + [ActionPermissionFilter(Permission = "odfrooms:query")] + public IActionResult GetRegion([FromQuery] int deptId) + { + var list = sysDeptService.AsQueryable().Where(it => it.ParentId == deptId).Select(it => new { it.DeptId, it.DeptName }).ToList(); + return SUCCESS(list); + } + /// /// 添加机房列表 diff --git a/ZR.Model/Business/Dto/OdfRoomsDto.cs b/ZR.Model/Business/Dto/OdfRoomsDto.cs index 14c61dc..0c76eb7 100644 --- a/ZR.Model/Business/Dto/OdfRoomsDto.cs +++ b/ZR.Model/Business/Dto/OdfRoomsDto.cs @@ -10,6 +10,7 @@ namespace ZR.Model.Business.Dto public string RoomAddress { get; set; } public string Remarks { get; set; } + public int? DeptId { get; set; } public List DeptIds { get; set; } } diff --git a/ZR.Service/Business/OdfRoomsService.cs b/ZR.Service/Business/OdfRoomsService.cs index dac05ad..05714a5 100644 --- a/ZR.Service/Business/OdfRoomsService.cs +++ b/ZR.Service/Business/OdfRoomsService.cs @@ -131,6 +131,13 @@ namespace ZR.Service.Business predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.RoomAddress), it => it.RoomAddress.Contains(parm.RoomAddress)); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.Remarks), it => it.Remarks.Contains(parm.Remarks)); predicate = predicate.AndIF(parm.DeptIds != null && parm.DeptIds.Count > 0, it => parm.DeptIds.Contains(it.DeptId ?? 0)); + if (parm.DeptId > 0) + { + var db = DbScoped.SugarScope.GetConnectionScope("0"); + string sql = "WITH DeptCTE AS( SELECT DeptId, ParentId, DeptName FROM sys_dept WHERE DeptId =" + parm.DeptId + " UNION ALL SELECT d.DeptId, d.ParentId, d.DeptName FROM sys_dept d INNER JOIN DeptCTE cte ON d.ParentId = cte.DeptId WHERE d.DelFlag = 0) SELECT DeptId FROM DeptCTE ORDER BY DeptId"; + var list = db.Ado.SqlQuery(sql); + predicate = predicate.And(it => list.Contains(it.DeptId ?? 0)); + } return predicate; } ///