From 955723f14a689d6d3b768d3208f98717b1e3fc31 Mon Sep 17 00:00:00 2001 From: zpc Date: Fri, 8 Aug 2025 00:26:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Business/OdfFramesController.cs | 4 +- .../Business/OdfPortsController.cs | 2 + .../Business/OdfRacksController.cs | 20 +++++++-- .../Business/OdfRoomsController.cs | 39 ++++++++++++++---- .../wwwroot/ImportTemplate/OdfPorts.xlsx | Bin 10667 -> 10679 bytes .../wwwroot/ImportTemplate/OdfRooms.xlsx | Bin 10387 -> 10439 bytes ZR.Model/Business/Dto/OdfPortsDto.cs | 12 +++--- ZR.Model/Business/Dto/OdfRoomsDto.cs | 10 ++++- 8 files changed, 68 insertions(+), 19 deletions(-) diff --git a/ZR.Admin.WebApi/Controllers/Business/OdfFramesController.cs b/ZR.Admin.WebApi/Controllers/Business/OdfFramesController.cs index 85cf7c5..8e51665 100644 --- a/ZR.Admin.WebApi/Controllers/Business/OdfFramesController.cs +++ b/ZR.Admin.WebApi/Controllers/Business/OdfFramesController.cs @@ -121,8 +121,8 @@ namespace ZR.Admin.WebApi.Controllers.Business FrameId = frame.Id, FrameName = frame.PortsName, Name = $"{(row + 1)}-{(port + 1)}", - RowNumber = row, - PortNumber = port, + RowNumber = row + 1, + PortNumber = port + 1, OpticalAttenuation = "", HistoryRemarks = "", Remarks = "", diff --git a/ZR.Admin.WebApi/Controllers/Business/OdfPortsController.cs b/ZR.Admin.WebApi/Controllers/Business/OdfPortsController.cs index 12401cc..6f74a3e 100644 --- a/ZR.Admin.WebApi/Controllers/Business/OdfPortsController.cs +++ b/ZR.Admin.WebApi/Controllers/Business/OdfPortsController.cs @@ -319,6 +319,7 @@ namespace ZR.Admin.WebApi.Controllers.Business { return ToResponse(ResultCode.FAIL, "没有要导出的数据"); } + var result = ExportExcelMini(list, "端口", "端口"); return ExportExcel(result.Item2, result.Item1); } @@ -337,6 +338,7 @@ namespace ZR.Admin.WebApi.Controllers.Business { return ToResponse(ResultCode.FAIL, "没有要导出的数据"); } + var result = ExportExcelMini(list, "端口数据", "端口数据"); return ExportExcel(result.Item2, result.Item1); } diff --git a/ZR.Admin.WebApi/Controllers/Business/OdfRacksController.cs b/ZR.Admin.WebApi/Controllers/Business/OdfRacksController.cs index d8f9f28..a98b87a 100644 --- a/ZR.Admin.WebApi/Controllers/Business/OdfRacksController.cs +++ b/ZR.Admin.WebApi/Controllers/Business/OdfRacksController.cs @@ -174,8 +174,8 @@ namespace ZR.Admin.WebApi.Controllers.Business FrameId = frame.Id, FrameName = frame.PortsName, Name = $"{(row + 1)}-{(port + 1)}", - RowNumber = row, - PortNumber = port, + RowNumber = row + 1, + PortNumber = port + 1, OpticalAttenuation = "", HistoryRemarks = "", Remarks = "", @@ -241,9 +241,23 @@ namespace ZR.Admin.WebApi.Controllers.Business [HttpPost("delete/{ids}")] [ActionPermissionFilter(Permission = "odfracks:delete")] [Log(Title = "机架列表", BusinessType = BusinessType.DELETE)] - public IActionResult DeleteOdfRacks([FromRoute] string ids) + public async Task DeleteOdfRacks([FromRoute] string ids) { var idArr = Tools.SplitAndConvert(ids); + foreach (var racksId in idArr) + { + var racks = _OdfRacksService.GetById(racksId); + if (racks == null) + { + return ToResponse(ResultCode.FAIL, "删除失败"); + } + //删除机房下的所有端口 + await _OdfPortsService.AsDeleteable().Where(it => it.RackId == racks.Id).ExecuteCommandAsync(); + //删除机房下所有的框 + var deletedCount = await _OdfFramesService.AsDeleteable().Where(it => it.RackId == racks.Id).ExecuteCommandAsync(); + //删除机架 + _OdfRacksService.Delete(racks); + } return ToResponse(_OdfRacksService.Delete(idArr, "删除机架列表")); } diff --git a/ZR.Admin.WebApi/Controllers/Business/OdfRoomsController.cs b/ZR.Admin.WebApi/Controllers/Business/OdfRoomsController.cs index b96d85a..63d1364 100644 --- a/ZR.Admin.WebApi/Controllers/Business/OdfRoomsController.cs +++ b/ZR.Admin.WebApi/Controllers/Business/OdfRoomsController.cs @@ -322,8 +322,8 @@ namespace ZR.Admin.WebApi.Controllers.Business FrameId = frame.Id, FrameName = frame.PortsName, Name = $"{(row + 1)}-{(port + 1)}", - RowNumber = row, - PortNumber = port, + RowNumber = row + 1, + PortNumber = port + 1, OpticalAttenuation = "", HistoryRemarks = "", Remarks = "", @@ -438,11 +438,32 @@ namespace ZR.Admin.WebApi.Controllers.Business [HttpPost("delete/{ids}")] [ActionPermissionFilter(Permission = "odfrooms:delete")] [Log(Title = "机房列表", BusinessType = BusinessType.DELETE)] - public IActionResult DeleteOdfRooms([FromRoute] string ids) + public async Task DeleteOdfRooms([FromRoute] string ids) { var idArr = Tools.SplitAndConvert(ids); + foreach (var roomId in idArr) + { + var room = _OdfRoomsService.GetById(roomId); + if (room == null) + { + return ToResponse(ResultCode.FAIL, "删除失败,未找到机房数据"); + } + //删除机房下的所有端口 + await _OdfPortsService.AsDeleteable().Where(it => it.RoomId == room.Id).ExecuteCommandAsync(); + // delete odf_frames where exists ( select id from odf_racks where roomid=1 and id=odf_frames.RackId ) + //删除机房下所有的框 + var deletedCount = await _OdfFramesService.AsDeleteable() + .Where(f => SqlFunc.Subqueryable() + .Where(r => r.RoomId == room.Id && r.Id == f.RackId) + .Any()) + .ExecuteCommandAsync(); - return ToResponse(_OdfRoomsService.Delete(idArr, "删除机房列表")); + //删除机房下所有的机架 + await _OdfRacksService.AsDeleteable().Where(it => it.RoomId == room.Id).ExecuteCommandAsync(); + + _OdfRoomsService.Delete(room.Id, "删除机房"); + } + return ToResponse(ids.Length); } /// @@ -533,6 +554,10 @@ namespace ZR.Admin.WebApi.Controllers.Business successCount++; continue; } + if (excelItem.CreateRoomInfo == 0) + { + continue; + } if (excelItem.RacksCount > 0) { var roomId = room.Id; @@ -608,12 +633,12 @@ namespace ZR.Admin.WebApi.Controllers.Business FrameId = frame.Id, FrameName = frame.PortsName, Name = $"{(row + 1)}-{(port + 1)}", - RowNumber = row, - PortNumber = port, + RowNumber = row + 1, + PortNumber = port + 1, OpticalAttenuation = "", HistoryRemarks = "", Remarks = "", - Status = 1, + Status = excelItem.PortsStatus ?? 1, UpdatedAt = DateTime.Now, }); } diff --git a/ZR.Admin.WebApi/wwwroot/ImportTemplate/OdfPorts.xlsx b/ZR.Admin.WebApi/wwwroot/ImportTemplate/OdfPorts.xlsx index dca1078c1aee51fa399b87801cc048c1e2cd53fb..3c62350d176753a0f81560163a75b1d28fbaa2fc 100644 GIT binary patch delta 3581 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 VFq2;>J^_@Io+u**S0w-d003%XRvG{R diff --git a/ZR.Model/Business/Dto/OdfPortsDto.cs b/ZR.Model/Business/Dto/OdfPortsDto.cs index 91a27f5..34e2727 100644 --- a/ZR.Model/Business/Dto/OdfPortsDto.cs +++ b/ZR.Model/Business/Dto/OdfPortsDto.cs @@ -243,9 +243,9 @@ namespace ZR.Model.Business.Dto [ExcelColumnName("端口号(1-12)")] public int PortNumber { get; set; } - [Required(ErrorMessage = "连接状态,0正常,1断开不能为空")] - [ExcelColumn(Name = "连接状态,1正常,0断开")] - [ExcelColumnName("连接状态,1正常,0断开")] + [Required(ErrorMessage = "连接状态,0断开,1连接不能为空")] + [ExcelColumn(Name = "连接状态,0断开,1连接")] + [ExcelColumnName("连接状态,0断开,1连接")] public int Status { get; set; } [ExcelColumn(Name = "备注")] @@ -325,9 +325,9 @@ namespace ZR.Model.Business.Dto [ExcelColumnName("端口号(1-12)")] public int PortNumber { get; set; } - [Required(ErrorMessage = "连接状态,0正常,1断开不能为空")] - [ExcelColumn(Name = "连接状态,0正常,1断开")] - [ExcelColumnName("连接状态,0正常,1断开")] + [Required(ErrorMessage = "连接状态,0断开,1连接不能为空")] + [ExcelColumn(Name = "连接状态,0断开,1连接")] + [ExcelColumnName("连接状态,0断开,1连接")] public int Status { get; set; } [ExcelColumn(Name = "备注")] diff --git a/ZR.Model/Business/Dto/OdfRoomsDto.cs b/ZR.Model/Business/Dto/OdfRoomsDto.cs index a2baa12..14c61dc 100644 --- a/ZR.Model/Business/Dto/OdfRoomsDto.cs +++ b/ZR.Model/Business/Dto/OdfRoomsDto.cs @@ -134,7 +134,7 @@ namespace ZR.Model.Business.Dto [ExcelColumnName("机架数量")] public int? RacksCount { get; set; } - + [ExcelColumn(Name = "机框数量")] [ExcelColumnName("机框数量")] public int? FrameCount { get; set; } @@ -142,6 +142,14 @@ namespace ZR.Model.Business.Dto [ExcelColumn(Name = "是否生成端口数据,1生成,0只导入机房列表")] [ExcelColumnName("是否生成端口数据,1生成,0只导入机房列表")] public int? CreateRoomInfo { get; set; } + + /// + /// + /// + [ExcelColumn(Name = "端口连接状态,0断开,1连接")] + [ExcelColumnName("端口连接状态,0断开,1连接")] + + public int? PortsStatus { get; set; } } ///