diff --git a/src/SJZY.Track.Application/Dtos/TrackStatus/GetTrackStatusDetailDto.cs b/src/SJZY.Track.Application/Dtos/TrackStatus/GetTrackStatusDetailDto.cs
new file mode 100644
index 00000000..6779d6da
--- /dev/null
+++ b/src/SJZY.Track.Application/Dtos/TrackStatus/GetTrackStatusDetailDto.cs
@@ -0,0 +1,46 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace SJZY.Track.Application.Dtos.TrackStatus
+{
+ public class GetTrackStatusDetailDto
+ {
+ ///
+ /// Id
+ ///
+ public int Id { get; set; }
+
+ ///
+ /// 子系统id
+ ///
+ public int SubSystemId { get; set; }
+
+ ///
+ /// 子系统
+ ///
+ public string SubSystem { get; set; }
+
+ ///
+ /// 节点id
+ ///
+ public int NodeId { get; set; }
+
+ ///
+ /// 所属轨迹状态
+ ///
+ public string TrackStatus { get; set; }
+
+ ///
+ /// 轨迹状态代码
+ ///
+ public string Code { get; set; }
+
+ ///
+ /// 轨迹内容英文
+ ///
+ public string EntrackStatus { get; set; }
+ }
+}
diff --git a/src/SJZY.Track.Application/Dtos/TrackStatus/GetTrackStatusListDto.cs b/src/SJZY.Track.Application/Dtos/TrackStatus/GetTrackStatusListDto.cs
new file mode 100644
index 00000000..ec218c97
--- /dev/null
+++ b/src/SJZY.Track.Application/Dtos/TrackStatus/GetTrackStatusListDto.cs
@@ -0,0 +1,75 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace SJZY.Track.Application.Dtos.TrackStatus
+{
+ public class GetTrackStatusListDto
+ {
+ ///
+ /// Id
+ ///
+ public int Id { get; set; }
+
+ ///
+ /// 子系统
+ ///
+ public string SubSystem { get; set; }
+
+ ///
+ /// 所属节点
+ ///
+ public string Node { get; set; }
+
+ ///
+ /// 所属轨迹状态
+ ///
+ public string TrackStatus { get; set; }
+
+ ///
+ /// 轨迹状态代码
+ ///
+ public string Code { get; set; }
+
+ ///
+ /// 轨迹内容英文
+ ///
+ public string EntrackStatus { get; set; }
+
+ ///
+ /// 创建人
+ ///
+ public string CreateUser { get; set; }
+
+ ///
+ /// 创建时间
+ ///
+ public DateTime? CreateTime { get; set; }
+
+ ///
+ /// 修改人
+ ///
+ public string UpdateUser { get; set; }
+
+ ///
+ /// 修改时间
+ ///
+ public DateTime? UpdateTime { get; set; }
+ }
+
+
+ public class GetPageTrackStatusInput : PageInfoInput
+ {
+ ///
+ /// 子系统id
+ ///
+ public int SubSystemId { get; set; }
+
+ ///
+ /// 关键字
+ ///
+ public string Keywords { get; set; }
+ }
+}
diff --git a/src/SJZY.Track.Application/Services/TrackStatus/TrackStatusService.cs b/src/SJZY.Track.Application/Services/TrackStatus/TrackStatusService.cs
index b5a94b5d..84f93e92 100644
--- a/src/SJZY.Track.Application/Services/TrackStatus/TrackStatusService.cs
+++ b/src/SJZY.Track.Application/Services/TrackStatus/TrackStatusService.cs
@@ -36,12 +36,46 @@ public class TrackStatusService : ApplicationService, ITransientDependency
};
}
- #region 私有方法
+ ///
+ /// 根据状态id获取轨迹状态
+ ///
+ ///
+ ///
+ [HttpGet("GetDetail")]
+ public async Task> GetDetailAsync(int id)
+ {
+ var detailInfo = await _trackStatusRepository.GetDetailAsync(id);
+ if (detailInfo == null)
+ {
+ return new UnifyResultDto(false, null, "未查询到轨迹状态");
+ }
- private async Task AddAsync(EditTrackStatusInput input)
- {
- var entity = ObjectMapper.Map(input);
- var isTrue = await _trackStatusRepository.InsertAsync(entity);
+ var dto = ObjectMapper.Map(detailInfo);
+ return new UnifyResultDto("200", "", dto);
+ }
+
+ ///
+ /// 获取分页轨迹状态
+ ///
+ ///
+ ///
+ [HttpPost("GetList")]
+ public async Task> GetPageTrackStatus(GetPageTrackStatusInput input)
+ {
+ var vo = ObjectMapper.Map(input);
+ var resultDto = await _trackStatusRepository.GetPageTrackStatus(vo);
+ var pageResultDto =
+ ObjectMapper.Map, UnifyPageResultDto>(
+ resultDto);
+
+ return pageResultDto;
+ }
+
+ #region 私有方法
+ private async Task AddAsync(EditTrackStatusInput input)
+ {
+ var entity = ObjectMapper.Map(input);
+ var isTrue = await _trackStatusRepository.InsertAsync(entity);
return new UnifyResultDto("200", "新增成功", isTrue);
}
diff --git a/src/SJZY.Track.Domain/Aggregates/TrackStatusAggregate/ITrackStatusRepository.cs b/src/SJZY.Track.Domain/Aggregates/TrackStatusAggregate/ITrackStatusRepository.cs
index 9d17663e..4bcc5677 100644
--- a/src/SJZY.Track.Domain/Aggregates/TrackStatusAggregate/ITrackStatusRepository.cs
+++ b/src/SJZY.Track.Domain/Aggregates/TrackStatusAggregate/ITrackStatusRepository.cs
@@ -1,5 +1,7 @@
-namespace SJZY.Track.Domain.Aggregates.TrackStatusAggregate;
+namespace SJZY.Track.Domain.Aggregates.TrackStatusAggregate;
public interface ITrackStatusRepository : IBasicRepository
{
+ Task GetDetailAsync(int id);
+ Task> GetPageTrackStatus(GetPageTrackStatusVO input);
}
\ No newline at end of file
diff --git a/src/SJZY.Track.Domain/TrackStatusAggregate/Dtos/GetPageTrackStatusVO.cs b/src/SJZY.Track.Domain/TrackStatusAggregate/Dtos/GetPageTrackStatusVO.cs
new file mode 100644
index 00000000..217e5e0f
--- /dev/null
+++ b/src/SJZY.Track.Domain/TrackStatusAggregate/Dtos/GetPageTrackStatusVO.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace SJZY.Track.Domain.TrackStatusAggregate.Dtos
+{
+ public class GetPageTrackStatusVO : PageInfoInput
+ {
+ ///
+ /// 子系统id
+ ///
+ public int SubSystemId { get; set; }
+
+ ///
+ /// 关键字
+ ///
+ public string Keywords { get; set; }
+ }
+}
diff --git a/src/SJZY.Track.Domain/TrackStatusAggregate/Dtos/GetTrackStatusDetailVO.cs b/src/SJZY.Track.Domain/TrackStatusAggregate/Dtos/GetTrackStatusDetailVO.cs
new file mode 100644
index 00000000..c99bfbc3
--- /dev/null
+++ b/src/SJZY.Track.Domain/TrackStatusAggregate/Dtos/GetTrackStatusDetailVO.cs
@@ -0,0 +1,46 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace SJZY.Track.Domain.TrackStatusAggregate.Dtos
+{
+ public class GetTrackStatusDetailVO
+ {
+ ///
+ /// Id
+ ///
+ public int Id { get; set; }
+
+ ///
+ /// 子系统id
+ ///
+ public int SubSystemId { get; set; }
+
+ ///
+ /// 子系统
+ ///
+ public string SubSystem { get; set; }
+
+ ///
+ /// 节点id
+ ///
+ public int NodeId { get; set; }
+
+ ///
+ /// 所属轨迹状态
+ ///
+ public string TrackStatus { get; set; }
+
+ ///
+ /// 轨迹状态代码
+ ///
+ public string Code { get; set; }
+
+ ///
+ /// 轨迹内容英文
+ ///
+ public string EntrackStatus { get; set; }
+ }
+}
diff --git a/src/SJZY.Track.Domain/TrackStatusAggregate/Dtos/GetTrackStatusListVO.cs b/src/SJZY.Track.Domain/TrackStatusAggregate/Dtos/GetTrackStatusListVO.cs
new file mode 100644
index 00000000..bf0f622d
--- /dev/null
+++ b/src/SJZY.Track.Domain/TrackStatusAggregate/Dtos/GetTrackStatusListVO.cs
@@ -0,0 +1,61 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace SJZY.Track.Domain.TrackStatusAggregate.Dtos
+{
+ public class GetTrackStatusListVO
+ {
+ ///
+ /// Id
+ ///
+ public int Id { get; set; }
+
+ ///
+ /// 子系统
+ ///
+ public string SubSystem { get; set; }
+
+ ///
+ /// 所属节点
+ ///
+ public string Node { get; set; }
+
+ ///
+ /// 所属轨迹状态
+ ///
+ public string TrackStatus { get; set; }
+
+ ///
+ /// 轨迹状态代码
+ ///
+ public string Code { get; set; }
+
+ ///
+ /// 轨迹内容英文
+ ///
+ public string EntrackStatus { get; set; }
+
+ ///
+ /// 创建人
+ ///
+ public string CreateUser { get; set; }
+
+ ///
+ /// 创建时间
+ ///
+ public DateTime? CreateTime { get; set; }
+
+ ///
+ /// 修改人
+ ///
+ public string UpdateUser { get; set; }
+
+ ///
+ /// 修改时间
+ ///
+ public DateTime? UpdateTime { get; set; }
+ }
+}
diff --git a/src/SJZY.Track.Repository/TrackStatusRepository.cs b/src/SJZY.Track.Repository/TrackStatusRepository.cs
index c54bf511..38f7d3b7 100644
--- a/src/SJZY.Track.Repository/TrackStatusRepository.cs
+++ b/src/SJZY.Track.Repository/TrackStatusRepository.cs
@@ -1,4 +1,6 @@
-using SJZY.Track.Domain.Aggregates.TrackStatusAggregate;
+using SJZY.Track.Domain.Aggregates.TrackStatusAggregate;
+using SJZY.Track.Domain.TrackStatusAggregate.Dtos;
+using SJZY.Track.Domain.VEntities;
namespace SJZY.Track.Repository;
@@ -7,4 +9,58 @@ public class TrackStatusRepository : BasicRepository, ITrackS
public TrackStatusRepository()
{
}
+
+ ///
+ /// 获取轨迹模版明细
+ ///
+ ///
+ ///
+ public async Task GetDetailAsync(int id)
+ {
+ var detail = await Context.Queryable().LeftJoin((a, b) => a.SubSystemId==b.Id)
+ .Where((a, b) => a.Id==id)
+ .Select((a, b) => new GetTrackStatusDetailVO
+ {
+ Id = a.Id,
+ SubSystemId = a.SubSystemId,
+ SubSystem= b.CnName,
+ Code=a.Code,
+ EntrackStatus=a.EnStatus,
+ NodeId=a.Node,
+ TrackStatus=a.Status
+ })
+ .FirstAsync();
+ return detail;
+ }
+
+ ///
+ /// 分页获取轨迹模版
+ ///
+ ///
+ ///
+ public async Task> GetPageTrackStatus(GetPageTrackStatusVO input)
+ {
+ UnifyPageResultDto pagedList = new UnifyPageResultDto();
+ pagedList = await Context.Queryable().LeftJoin((a, b) => a.SubSystemId == b.Id)
+ .LeftJoin((a, b, c) => a.CreateUserId==c.Id)
+ .LeftJoin((a, b, c, d) => a.UpdateUserId== d.Id)
+ .WhereIF(input.SubSystemId > 0, (a, b, c, d) => a.SubSystemId == input.SubSystemId)
+ .WhereIF(!input.Keywords.IsNullOrWhiteSpace(), (a, b, c, d) => a.Status.Contains(input.Keywords) || a.EnStatus.Contains(input.Keywords) || a.Code.Contains(input.Keywords))
+ .Select((a, b, c, d) => new GetTrackStatusListVO
+ {
+ Id = a.Id,
+ Code = a.Code,
+ EntrackStatus = a.EnStatus,
+ TrackStatus=a.Status,
+ Node="",
+ CreateTime = a.CreateTime,
+ CreateUser = c.Name,
+ UpdateTime = a.UpdateTime,
+ UpdateUser = d.Name,
+ SubSystem = b.CnName
+ })
+ .ToPagedListAsync(input.PageIndex, input.PageSize);
+
+ return pagedList;
+ }
}
\ No newline at end of file