fix 映射字段补充

This commit is contained in:
2025-02-25 17:28:20 +08:00
parent 0d90d3cc32
commit 8c915f73ce
4 changed files with 42 additions and 25 deletions

View File

@@ -28,4 +28,9 @@ public class WorkGridPageResponse
/// 备注 /// 备注
/// </summary> /// </summary>
public string Remark { get; set; } public string Remark { get; set; }
/// <summary>
/// 用户数量
/// </summary>
public int UserCount { get; set; }
} }

View File

@@ -1,5 +1,7 @@
using Dlhis.Entity.Basic.Enums; using Dlhis.Entity.Basic.Enums;
using Kurisu.AspNetCore.Utils.Converters;
using Kurisu.AspNetCore.Utils.Extensions; using Kurisu.AspNetCore.Utils.Extensions;
using Newtonsoft.Json;
namespace Dlhis.Basic.WorkGrids.Response; namespace Dlhis.Basic.WorkGrids.Response;
@@ -30,12 +32,14 @@ public class WorkGridTimePeriodPageResponse
/// <summary> /// <summary>
/// 开始时间 /// 开始时间
/// </summary> /// </summary>
public TimeOnly Start { get; set; } [JsonConverter(typeof(ToDateJsonConverter))]
public DateTime Start { get; set; }
/// <summary> /// <summary>
/// 结束时间 /// 结束时间
/// </summary> /// </summary>
public TimeOnly End { get; set; } [JsonConverter(typeof(ToDateJsonConverter))]
public DateTime End { get; set; }
/// <summary> /// <summary>
/// 配置描述 /// 配置描述

View File

@@ -32,6 +32,11 @@ public class WorkGridService : IWorkGridService
.WhereIF(request.Id.HasValue, x => x.Id != request.Id) .WhereIF(request.Id.HasValue, x => x.Id != request.Id)
.AnyAsync(); .AnyAsync();
if (!await _dbContext.Queryable<GainfoEntity>().Where(x => x.Code == request.LeaderUserCode).AnyAsync())
{
true.ThrowIfTrue($"工号:{request.LeaderUserCode}不存在");
}
exists.ThrowIfTrue($"{request.LeaderUserCode}已存在管理的网格"); exists.ThrowIfTrue($"{request.LeaderUserCode}已存在管理的网格");
if (!request.Id.HasValue) if (!request.Id.HasValue)
@@ -63,7 +68,8 @@ public class WorkGridService : IWorkGridService
Name = x.Name, Name = x.Name,
LeaderUserCode = x.LeaderUserCode, LeaderUserCode = x.LeaderUserCode,
UserName = ga.Name, UserName = ga.Name,
Remark = x.Remark Remark = x.Remark,
UserCount = SqlFunc.Subqueryable<WorkGridUserEntity>().Where(p => p.WorkGridCode == x.Code).Count()
}) })
.ToPageListAsync(request); .ToPageListAsync(request);
} }

View File

@@ -50,9 +50,11 @@ public class WorkGridTimePeriodService : IWorkGridTimePeriodService
/// <inheritdoc /> /// <inheritdoc />
public async Task<Pagination<WorkGridTimePeriodPageResponse>> GetPageAsync(WorkGridTimePeriodPageRequest request) public async Task<Pagination<WorkGridTimePeriodPageResponse>> GetPageAsync(WorkGridTimePeriodPageRequest request)
{ {
return await _dbContext.Queryable<WorkGridTimePeriodEntity>() var data = await _dbContext.Queryable<WorkGridTimePeriodEntity>()
.Select<WorkGridTimePeriodPageResponse>() .Select<WorkGridTimePeriodPageResponse>()
.ToPageListAsync(request); .ToPageListAsync(request);
return data;
} }
//************************************************************************************************************************************************* //*************************************************************************************************************************************************
@@ -69,25 +71,25 @@ public class WorkGridTimePeriodService : IWorkGridTimePeriodService
.SingleAsync(); .SingleAsync();
} }
/// <summary> // /// <summary>
/// 检查时间段重合检查 // /// 检查时间段重合检查
/// </summary> // /// </summary>
/// <param name="request"></param> // /// <param name="request"></param>
/// <returns></returns> // /// <returns></returns>
private async Task CheckDuplicateTimePeriodAsync(WorkGridTimePeriodSaveRequest request) // private async Task CheckDuplicateTimePeriodAsync(WorkGridTimePeriodSaveRequest request)
{ // {
var periods = await _dbContext.Queryable<WorkGridTimePeriodEntity>() // var periods = await _dbContext.Queryable<WorkGridTimePeriodEntity>()
.Where(x => x.Type != request.Type) // .Where(x => x.Type != request.Type)
.Select(x => new TimePeriod // .Select(x => new TimePeriod
{ // {
Start = x.Start, // Start = x.Start,
End = x.End // End = x.End
}) // })
.ToListAsync(); // .ToListAsync();
//
foreach (var period in periods) // foreach (var period in periods)
{ // {
period.IsDuplicate(request.Adapt<TimePeriod>()).ThrowIfTrue($"存在时间段重合[{period.Start}-{period.End}]"); // period.IsDuplicate(request.Adapt<TimePeriod>()).ThrowIfTrue($"存在时间段重合[{period.Start}-{period.End}]");
} // }
} // }
} }