diff --git a/ZR.Admin.WebApi/Controllers/Business/OdfPortsController.cs b/ZR.Admin.WebApi/Controllers/Business/OdfPortsController.cs
index e920474..58b7547 100644
--- a/ZR.Admin.WebApi/Controllers/Business/OdfPortsController.cs
+++ b/ZR.Admin.WebApi/Controllers/Business/OdfPortsController.cs
@@ -73,6 +73,20 @@ namespace ZR.Admin.WebApi.Controllers.Business
return SUCCESS(response);
}
+
+ ///
+ /// 查询端口列表
+ ///
+ ///
+ ///
+ [HttpGet("lists")]
+ [ActionPermissionFilter(Permission = "odfports:list")]
+ public IActionResult QueryOdfPorts([FromQuery] OdfPortsQuerysDto parm)
+ {
+ var response = _OdfPortsService.GetList(parm);
+ return SUCCESS(response);
+ }
+
///
/// 查询端口列表
///
@@ -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 row = new List();
+ 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());
}
var predicate = Expressionable.Create();
- var list = _OdfPortsService.AsQueryable().Where(it => it.Name.Contains(key) || it.Remarks.Contains(key) || it.HistoryRemarks.Contains(key) || it.OpticalAttenuation.Contains(key)).ToPage(dto);
-
+ var list = _OdfPortsService.AsQueryable().Where(it => it.Name.Contains(key) || it.Remarks.Contains(key) || it.HistoryRemarks.Contains(key) || it.OpticalAttenuation.Contains(key)).ToPage(dto);
+
return SUCCESS(list);
}
@@ -268,7 +298,24 @@ namespace ZR.Admin.WebApi.Controllers.Business
var result = ExportExcelMini(list, "端口", "端口");
return ExportExcel(result.Item2, result.Item1);
}
+ ///
+ /// 导出端口
+ ///
+ ///
+ [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);
+ }
///
/// 导入
///
diff --git a/ZR.Model/Business/Dto/OdfPortsDto.cs b/ZR.Model/Business/Dto/OdfPortsDto.cs
index b56132d..5c6484f 100644
--- a/ZR.Model/Business/Dto/OdfPortsDto.cs
+++ b/ZR.Model/Business/Dto/OdfPortsDto.cs
@@ -1,6 +1,21 @@
namespace ZR.Model.Business.Dto
{
+
+ ///
+ /// 端口数据列表查询对象
+ ///
+ 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; }
+ }
+
///
/// 端口查询对象
///
@@ -56,7 +71,12 @@ namespace ZR.Model.Business.Dto
public int Id { get; set; }
public string Name { get; set; }
- public List odfPortsList { get; set; } = new List();
+ public List OdfPortsList { get; set; } = new List();
+ }
+ public class OdfPortsMDtot
+ {
+ public string Name { get; set; }
+ public List RowList { get; set; } = new List();
}
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; }
+ }
///
/// 端口输入输出对象
///
@@ -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;
+ }
+ }
///
/// 部门名称
diff --git a/ZR.Service/Business/IBusinessService/IOdfPortsService.cs b/ZR.Service/Business/IBusinessService/IOdfPortsService.cs
index 41df880..80d53b1 100644
--- a/ZR.Service/Business/IBusinessService/IOdfPortsService.cs
+++ b/ZR.Service/Business/IBusinessService/IOdfPortsService.cs
@@ -9,7 +9,7 @@ namespace ZR.Service.Business.IBusinessService
public interface IOdfPortsService : IBaseService
{
PagedInfo GetList(OdfPortsQueryDto parm);
-
+ PagedInfo GetList(OdfPortsQuerysDto parm);
OdfPorts GetInfo(int Id);
@@ -19,5 +19,6 @@ namespace ZR.Service.Business.IBusinessService
(string, object, object) ImportOdfPorts(List list);
PagedInfo ExportList(OdfPortsQueryDto parm);
+ PagedInfo ExportList(OdfPortsQuerysDto parm);
}
}
diff --git a/ZR.Service/Business/OdfPortsService.cs b/ZR.Service/Business/OdfPortsService.cs
index ec56eb5..5cc5cde 100644
--- a/ZR.Service/Business/OdfPortsService.cs
+++ b/ZR.Service/Business/OdfPortsService.cs
@@ -18,7 +18,7 @@ namespace ZR.Service.Business
///
///
///
- public PagedInfo GetList(OdfPortsQueryDto parm)
+ public PagedInfo GetList(OdfPortsQuerysDto parm)
{
var predicate = QueryExp(parm);
@@ -35,6 +35,24 @@ namespace ZR.Service.Business
return response;
}
+ ///
+ /// 查询端口列表
+ ///
+ ///
+ ///
+ public PagedInfo 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(parm);
+
+ return response;
+ }
+
///
/// 获取详情
@@ -133,6 +151,46 @@ namespace ZR.Service.Business
return response;
}
+ ///
+ /// 导出端口
+ ///
+ ///
+ ///
+ public PagedInfo 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;
+ }
+ ///
+ /// 查询导出表达式
+ ///
+ ///
+ ///
+ private static Expressionable QueryExp(OdfPortsQuerysDto parm)
+ {
+ var predicate = Expressionable.Create();
+
+ 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;
+ }
+
///
/// 查询导出表达式
///
diff --git a/ZR.Tasks/TaskScheduler/JobBase.cs b/ZR.Tasks/TaskScheduler/JobBase.cs
index 01fd43f..d19abb3 100644
--- a/ZR.Tasks/TaskScheduler/JobBase.cs
+++ b/ZR.Tasks/TaskScheduler/JobBase.cs
@@ -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();