diff --git a/Src/Dlhis.Basic/Device/Controllers/DeviceTimePeriodsController.cs b/Src/Dlhis.Basic/Device/Controllers/DeviceTimePeriodsController.cs
index 17b198f3..49a1cd7b 100644
--- a/Src/Dlhis.Basic/Device/Controllers/DeviceTimePeriodsController.cs
+++ b/Src/Dlhis.Basic/Device/Controllers/DeviceTimePeriodsController.cs
@@ -30,7 +30,7 @@ public class DeviceTimePeriodsController : ControllerBase
///
///
[HttpGet("page")]
- public async Task> GetPageAsync([FromQuery] DeviceTimePeriodPageRequest request)
+ public async Task> GetPageAsync([FromQuery] DeviceTimePeriodPageRequest request)
{
return await _deviceTimePeriodService.GetPageAsync(request);
}
diff --git a/Src/Dlhis.Basic/Device/Response/DeviceTimePeriodPageResponse.cs b/Src/Dlhis.Basic/Device/Response/DeviceTimePeriodPageResponse.cs
new file mode 100644
index 00000000..896cc0ba
--- /dev/null
+++ b/Src/Dlhis.Basic/Device/Response/DeviceTimePeriodPageResponse.cs
@@ -0,0 +1,21 @@
+using Dlhis.Entity.Device.Enums;
+
+namespace Dlhis.Basic.Device.Response;
+
+public class DeviceTimePeriodPageResponse
+{
+ ///
+ /// 名称
+ ///
+ public string Name { get; set; }
+
+ ///
+ /// 分配类型
+ ///
+ public DeviceTimePeriodAssignEnumType AssignType { get; set; }
+
+ ///
+ /// 分配值
+ ///
+ public Guid Value { get; set; }
+}
\ No newline at end of file
diff --git a/Src/Dlhis.Basic/Device/Services/IDeviceTimePeriodService.cs b/Src/Dlhis.Basic/Device/Services/IDeviceTimePeriodService.cs
index db59b281..2b3658ea 100644
--- a/Src/Dlhis.Basic/Device/Services/IDeviceTimePeriodService.cs
+++ b/Src/Dlhis.Basic/Device/Services/IDeviceTimePeriodService.cs
@@ -7,7 +7,7 @@ namespace Dlhis.Basic.Device.Services;
public interface IDeviceTimePeriodService : IScopeDependency
{
- Task> GetPageAsync(DeviceTimePeriodPageRequest request);
+ Task> GetPageAsync(DeviceTimePeriodPageRequest request);
Task SaveAsync(DeviceTimePeriodSaveRequest request);
diff --git a/Src/Dlhis.Basic/Device/Services/Implements/DeviceTimePeriodService.cs b/Src/Dlhis.Basic/Device/Services/Implements/DeviceTimePeriodService.cs
index aa8be63b..ebd9f924 100644
--- a/Src/Dlhis.Basic/Device/Services/Implements/DeviceTimePeriodService.cs
+++ b/Src/Dlhis.Basic/Device/Services/Implements/DeviceTimePeriodService.cs
@@ -22,25 +22,26 @@ public class DeviceTimePeriodService : IDeviceTimePeriodService
}
///
- public async Task> GetPageAsync(DeviceTimePeriodPageRequest request)
+ public async Task> GetPageAsync(DeviceTimePeriodPageRequest request)
{
- var pageOri = await _dbContext.Queryable()
+ var page = await _dbContext.Queryable()
.Where(x => x.AssignType == request.AssignType)
+ .GroupBy(x => new { x.AssignType, x.Value })
+ .Select(x => new DeviceTimePeriodPageResponse
+ {
+ AssignType = x.AssignType,
+ Value = x.Value
+ })
.ToPageListAsync(request);
-
- var page = pageOri.Adapt>();
-
+
var values = page.Data.Select(x => x.Value);
var data = request.AssignType == DeviceTimePeriodAssignEnumType.Device
? await _dbContext.Queryable().Where(x => values.Contains(x.Code)).Select(x => new { x.Code, Name = x.DeployPlace }).ToListAsync()
: await _dbContext.Queryable().Where(x => values.Contains(x.Code)).Select(x => new { x.Code, x.Name }).ToListAsync();
- var basicTypes = await _dbContext.Queryable().Where(x => x.Type == "timeperiod").ToListAsync();
-
page.Data.ForEach(item =>
{
item.Name = data.FirstOrDefault(x => x.Code == item.Value)?.Name;
- item.CardTypeDesc = basicTypes.FirstOrDefault(x => x.Code == item.CardType.ToString())?.Display;
});
return page;