This commit is contained in:
zpc 2025-08-06 17:16:21 +08:00
parent 5ec128e753
commit 652cf91097
5 changed files with 152 additions and 11 deletions

View File

@ -73,6 +73,20 @@ namespace ZR.Admin.WebApi.Controllers.Business
return SUCCESS(response);
}
/// <summary>
/// 查询端口列表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
[HttpGet("lists")]
[ActionPermissionFilter(Permission = "odfports:list")]
public IActionResult QueryOdfPorts([FromQuery] OdfPortsQuerysDto parm)
{
var response = _OdfPortsService.GetList(parm);
return SUCCESS(response);
}
/// <summary>
/// 查询端口列表
/// </summary>
@ -86,8 +100,24 @@ namespace ZR.Admin.WebApi.Controllers.Business
.Select(it => new OdfPortsMListDto() { Id = it.Id, Name = it.PortsName }).ToListAsync();
foreach (var item in list)
{
var l = await _OdfPortsService.AsQueryable().Where(it => it.FrameId == item.Id).Select(it => new OdfPortsMDto() { Id = it.Id, Name = it.Name, Status = it.Status }).ToListAsync();
item.odfPortsList = l;
var l = await _OdfPortsService.AsQueryable().Where(it => it.FrameId == item.Id)
.Select(it => new OdfPortsMDtoc()
{
Id = it.Id,
Name = it.Name,
Status = it.Status,
PortNumber = it.PortNumber,
RowNumber = it.RowNumber
}).ToListAsync();
List<OdfPortsMDtot> row = new List<OdfPortsMDtot>();
l.GroupBy(it => it.RowNumber).ToList().ForEach(g =>
{
var li = l.Where(it => it.RowNumber == g.Key).OrderBy(it => it.PortNumber).Select(it => new OdfPortsMDto { Id = it.Id, Name = it.Name, Status = it.Status }).ToList();
row.Add(new OdfPortsMDtot() { RowList = li, Name = (g.Key + 1).ToString() });
});
item.OdfPortsList = row;
}
return SUCCESS(list);
}
@ -125,8 +155,8 @@ namespace ZR.Admin.WebApi.Controllers.Business
return SUCCESS(new List<OdfPortsQuDto>());
}
var predicate = Expressionable.Create<OdfPorts>();
var list = _OdfPortsService.AsQueryable().Where(it => it.Name.Contains(key) || it.Remarks.Contains(key) || it.HistoryRemarks.Contains(key) || it.OpticalAttenuation.Contains(key)).ToPage<OdfPorts, OdfPortsQuDto>(dto);
var list = _OdfPortsService.AsQueryable().Where(it => it.Name.Contains(key) || it.Remarks.Contains(key) || it.HistoryRemarks.Contains(key) || it.OpticalAttenuation.Contains(key)).ToPage<OdfPorts, OdfPortsQuDto>(dto);
return SUCCESS(list);
}
@ -268,7 +298,24 @@ namespace ZR.Admin.WebApi.Controllers.Business
var result = ExportExcelMini(list, "端口", "端口");
return ExportExcel(result.Item2, result.Item1);
}
/// <summary>
/// 导出端口
/// </summary>
/// <returns></returns>
[Log(Title = "导出端口数据", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)]
[HttpGet("exports")]
[ActionPermissionFilter(Permission = "odfports:export")]
public IActionResult Export([FromQuery] OdfPortsQuerysDto parm)
{
var list = _OdfPortsService.ExportList(parm).Result;
if (list == null || list.Count <= 0)
{
return ToResponse(ResultCode.FAIL, "没有要导出的数据");
}
var result = ExportExcelMini(list, "端口数据", "端口数据");
return ExportExcel(result.Item2, result.Item1);
}
/// <summary>
/// 导入
/// </summary>

View File

@ -1,6 +1,21 @@
namespace ZR.Model.Business.Dto
{
/// <summary>
/// 端口数据列表查询对象
/// </summary>
public class OdfPortsQuerysDto : PagerInfo
{
public string RoomName { get; set; }
public string RackName { get; set; }
public string FrameName { get; set; }
public int? Status { get; set; }
public string Remarks { get; set; }
public string OpticalAttenuation { get; set; }
public string HistoryRemarks { get; set; }
}
/// <summary>
/// 端口查询对象
/// </summary>
@ -56,7 +71,12 @@ namespace ZR.Model.Business.Dto
public int Id { get; set; }
public string Name { get; set; }
public List<OdfPortsMDto> odfPortsList { get; set; } = new List<OdfPortsMDto>();
public List<OdfPortsMDtot> OdfPortsList { get; set; } = new List<OdfPortsMDtot>();
}
public class OdfPortsMDtot
{
public string Name { get; set; }
public List<OdfPortsMDto> RowList { get; set; } = new List<OdfPortsMDto>();
}
public class OdfPortsSearchDto : PagerInfo
@ -70,6 +90,11 @@ namespace ZR.Model.Business.Dto
public string Name { get; set; }
public int Status { get; set; }
}
public class OdfPortsMDtoc : OdfPortsMDto
{
public int RowNumber { get; set; }
public int PortNumber { get; set; }
}
/// <summary>
/// 端口输入输出对象
/// </summary>
@ -158,9 +183,19 @@ namespace ZR.Model.Business.Dto
public DateTime? UpdatedAt { get; set; }
private string _statusLabel;
[ExcelColumn(Name = "连接状态0正常1断开")]
public string StatusLabel { get; set; }
public string StatusLabel
{
get
{
return Status == 0 ? "断开" : "正常";
}
set
{
this._statusLabel = value;
}
}
/// <summary>
/// 部门名称

View File

@ -9,7 +9,7 @@ namespace ZR.Service.Business.IBusinessService
public interface IOdfPortsService : IBaseService<OdfPorts>
{
PagedInfo<OdfPortsDto> GetList(OdfPortsQueryDto parm);
PagedInfo<OdfPortsDto> GetList(OdfPortsQuerysDto parm);
OdfPorts GetInfo(int Id);
@ -19,5 +19,6 @@ namespace ZR.Service.Business.IBusinessService
(string, object, object) ImportOdfPorts(List<OdfPorts> list);
PagedInfo<OdfPortsDto> ExportList(OdfPortsQueryDto parm);
PagedInfo<OdfPortsDto> ExportList(OdfPortsQuerysDto parm);
}
}

View File

@ -18,7 +18,7 @@ namespace ZR.Service.Business
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
public PagedInfo<OdfPortsDto> GetList(OdfPortsQueryDto parm)
public PagedInfo<OdfPortsDto> GetList(OdfPortsQuerysDto parm)
{
var predicate = QueryExp(parm);
@ -35,6 +35,24 @@ namespace ZR.Service.Business
return response;
}
/// <summary>
/// 查询端口列表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
public PagedInfo<OdfPortsDto> GetList(OdfPortsQueryDto parm)
{
var predicate = QueryExp(parm);
var response = Queryable()
//.OrderBy("Id asc")
.Where(predicate.ToExpression())
.OrderBy("RoomId asc,RackId asc,FrameId asc,RowNumber asc,PortNumber Asc")
.ToPage<OdfPorts, OdfPortsDto>(parm);
return response;
}
/// <summary>
/// 获取详情
@ -133,6 +151,46 @@ namespace ZR.Service.Business
return response;
}
/// <summary>
/// 导出端口
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
public PagedInfo<OdfPortsDto> ExportList(OdfPortsQuerysDto parm)
{
parm.PageNum = 1;
parm.PageSize = 100000;
var predicate = QueryExp(parm);
var response = Queryable()
.Where(predicate.ToExpression())
.OrderBy("RoomId asc,RackId asc,FrameId asc,Name asc")
.Select((it) => new OdfPortsDto()
{
}, true)
.ToPage(parm);
return response;
}
/// <summary>
/// 查询导出表达式
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
private static Expressionable<OdfPorts> QueryExp(OdfPortsQuerysDto parm)
{
var predicate = Expressionable.Create<OdfPorts>();
predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.RoomName), it => it.RoomName.Contains(parm.RoomName));
predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.RackName), it => it.RackName.Contains(parm.RackName));
predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.FrameName), it => it.FrameName.Contains(parm.FrameName));
predicate = predicate.AndIF(parm.Status != null, it => it.Status == parm.Status);
predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.Remarks), it => it.Remarks.Contains(parm.Remarks));
predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.OpticalAttenuation), it => it.OpticalAttenuation.Contains(parm.OpticalAttenuation));
predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.HistoryRemarks), it => it.HistoryRemarks.Contains(parm.HistoryRemarks));
return predicate;
}
/// <summary>
/// 查询导出表达式
/// </summary>

View File

@ -29,7 +29,7 @@ namespace ZR.Tasks
string logMsg;
try
{
//var s = context.Trigger.Key.Name;
//var s = context.Trigger.Name.Name;
//记录Job时间
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
@ -74,7 +74,7 @@ namespace ZR.Tasks
string logMsg;
try
{
//var s = context.Trigger.Key.Name;
//var s = context.Trigger.Name.Name;
//记录Job时间
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();