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 dca1078..3c62350 100644 Binary files a/ZR.Admin.WebApi/wwwroot/ImportTemplate/OdfPorts.xlsx and b/ZR.Admin.WebApi/wwwroot/ImportTemplate/OdfPorts.xlsx differ diff --git a/ZR.Admin.WebApi/wwwroot/ImportTemplate/OdfRooms.xlsx b/ZR.Admin.WebApi/wwwroot/ImportTemplate/OdfRooms.xlsx index dd358d3..ce31acf 100644 Binary files a/ZR.Admin.WebApi/wwwroot/ImportTemplate/OdfRooms.xlsx and b/ZR.Admin.WebApi/wwwroot/ImportTemplate/OdfRooms.xlsx differ 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; } } ///