From 335a1211fb91166cecdc49e13806be2f03c25307 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Wed, 10 Apr 2024 13:11:23 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E6=9F=A5=E8=AF=A2=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Request/TenantDepartmentRequest.cs | 5 ++- .../Response/GainfoDetailResponse.cs | 26 ++++++++------- .../Services/Implements/GainfoService.cs | 29 +++++++++++----- .../Request/MealSupplementRecordRequest.cs | 12 +++++++ .../Implements/MealSupplementRecordService.cs | 33 ++++++++++++++++--- .../Request/DeviceUploadLogPageRequest.cs | 7 +++- .../Implements/DeviceUploadLogService.cs | 1 + .../Implements/DeviceTaskAssignmentService.cs | 3 +- 8 files changed, 89 insertions(+), 27 deletions(-) diff --git a/Src/Dlhis.Basic/Organization/Request/TenantDepartmentRequest.cs b/Src/Dlhis.Basic/Organization/Request/TenantDepartmentRequest.cs index b2bff024..ac876937 100644 --- a/Src/Dlhis.Basic/Organization/Request/TenantDepartmentRequest.cs +++ b/Src/Dlhis.Basic/Organization/Request/TenantDepartmentRequest.cs @@ -4,7 +4,10 @@ namespace Dlhis.Basic.Organization.Request; public class TenantDepartmentRequest { - [Required] + /// + /// 厂区/基地/租户 + /// + [Required(ErrorMessage = "厂区不能为空")] public string Tenant { get; set; } /// diff --git a/Src/Dlhis.Basic/Organization/Response/GainfoDetailResponse.cs b/Src/Dlhis.Basic/Organization/Response/GainfoDetailResponse.cs index e3c21c36..d0abcd62 100644 --- a/Src/Dlhis.Basic/Organization/Response/GainfoDetailResponse.cs +++ b/Src/Dlhis.Basic/Organization/Response/GainfoDetailResponse.cs @@ -105,11 +105,6 @@ public class GainfoDetailResponse /// public string CostId { get; set; } - /// - /// 已婚/未婚 - /// - public string Marital { get; set; } - /// /// 国家 /// @@ -120,16 +115,16 @@ public class GainfoDetailResponse /// public string NationName { get; set; } - /// - /// 人脸base64 - /// - public string Face { get; set; } - /// /// 厂区 /// public string Factory { get; set; } + /// + /// 工作地 + /// + public string Workplace { get; set; } + /// /// 厂区名称 /// @@ -138,5 +133,14 @@ public class GainfoDetailResponse /// /// 入职日期 /// - public DateTime OnboardingDate { get; set; } + public DateTime? EntryDate { get; set; } + + + + //*********************************************************************************************************************** + + /// + /// 人脸base64 + /// + public string Face { get; set; } } diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs index a49a3ec2..0d6e9e3d 100644 --- a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs +++ b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs @@ -14,7 +14,6 @@ using Kurisu.SqlSugar.Services; using Mapster; using Microsoft.AspNetCore.DataProtection; using Microsoft.AspNetCore.Mvc; -using System.Linq.Expressions; namespace Dlhis.Basic.Organization.Services.Implements; @@ -61,7 +60,7 @@ public class GainfoService : IGainfoService var currentTenantId = _currentUser.GetStringTenantId(); //根据组织架构搜索档案 - Expression> where = LinqExpressionExtensions.False(); + var where = LinqExpressionExtensions.False(); foreach (var item in request.DepartmentSelections) { var depts = await GetRecursionDepartmentNosAsync(item.DepartmentNos); @@ -449,13 +448,15 @@ public class GainfoService : IGainfoService Degree = ga.Degree, Werks = ga.Werks, CostId = ga.CostId, - Marital = "未知", NativeName = ga.Native, CountryName = ga.CountryNo, NationName = ga.Nation, ClassName = ga.IdClass, + + EntryDate = ga.EntryDate, + + Workplace = ga.Workplace, Factory = ga.Factory, - OnboardingDate = ga.CreateTime, DepartmentName = de.Name, Position = pos.Name, @@ -477,9 +478,18 @@ public class GainfoService : IGainfoService info.Face = await _dbContext.ChangeDb("face").Queryable().Where(x => x.UserCode == info.Code).Select(x => x.Face).SingleAsync(); } - var tenantsResult = await _tenantApi.GetTenantsInternalAsync(); - var tenants = tenantsResult.Data; - info.FactoryName = tenants.FirstOrDefault(x => x.Code == info.Factory)?.Name; + try + { + var tenantsResult = await _tenantApi.GetTenantsInternalAsync(); + var tenants = tenantsResult.Data; + + info.Workplace = tenants.FirstOrDefault(x => x.Code == info.Workplace)?.Name; + info.Factory = tenants.FirstOrDefault(x => x.Code == info.Factory)?.Name; + } + catch (Exception) + { + + } } return info; @@ -546,9 +556,10 @@ public class GainfoService : IGainfoService return departmentNos.Distinct().ToList(); - void RecursionGetNext(string currentCode, List departments, List result) + //local method + void RecursionGetNext(string currentNo, List departments, List result) { - var next = departments.Where(x => x.PNo == currentCode).ToList(); + var next = departments.Where(x => x.PNo == currentNo).ToList(); foreach (var item in next) { diff --git a/Src/Dlhis.Canteen/MealSupplementRecord/Request/MealSupplementRecordRequest.cs b/Src/Dlhis.Canteen/MealSupplementRecord/Request/MealSupplementRecordRequest.cs index 4018dfe4..c93f2bb1 100644 --- a/Src/Dlhis.Canteen/MealSupplementRecord/Request/MealSupplementRecordRequest.cs +++ b/Src/Dlhis.Canteen/MealSupplementRecord/Request/MealSupplementRecordRequest.cs @@ -1,4 +1,5 @@ using System.ComponentModel.DataAnnotations; +using Dlhis.Entity.Basic.Enums; using Kurisu.Core.CustomClass; using Kurisu.Core.DataAccess.Dto; @@ -6,6 +7,17 @@ namespace Dlhis.Canteen.MealSupplementRecord.Request; public class MealSupplementRecordRequest : PageDto, IValidatableObject { + /// + /// 餐补状态 MealSupplementStatusEnumtype + /// + [EnumDataType(typeof(MealSupplementStatusEnumtype))] + public MealSupplementStatusEnumtype? Status { get; set; } + + /// + /// 同步状态 + /// + public bool? Sync { get; set; } + /// /// 餐补日期范围 /// diff --git a/Src/Dlhis.Canteen/MealSupplementRecord/Services/Implements/MealSupplementRecordService.cs b/Src/Dlhis.Canteen/MealSupplementRecord/Services/Implements/MealSupplementRecordService.cs index 7e9e287a..121d47e3 100644 --- a/Src/Dlhis.Canteen/MealSupplementRecord/Services/Implements/MealSupplementRecordService.cs +++ b/Src/Dlhis.Canteen/MealSupplementRecord/Services/Implements/MealSupplementRecordService.cs @@ -3,6 +3,7 @@ using Dlhis.Canteen.MealSupplementRecord.Response; using Dlhis.Entity.Basic.Entity; using Dlhis.Entity.Basic.Enums; using Dlhis.Entity.Canteen.Entities; +using Dlhis.Sys.Api; using Kurisu.AspNetCore.Utils.Extensions; using Kurisu.Core.DataAccess.Dto; using Kurisu.Core.User.Abstractions; @@ -17,36 +18,60 @@ public class MealSupplementRecordService : IMealSupplementRecordService private readonly IDbContext _dbContext; private readonly ICurrentUser _currentUser; + private readonly ITenantApi _tenantApi; - public MealSupplementRecordService(IDbContext dbContext, ICurrentUser currentUser) + public MealSupplementRecordService(IDbContext dbContext, ICurrentUser currentUser, ITenantApi tenantApi) { _dbContext = dbContext; _currentUser = currentUser; + _tenantApi = tenantApi; } public async Task> GetPageAsync(MealSupplementRecordRequest request) { var page = await _dbContext.Queryable() .LeftJoin((x, ga) => x.Code == ga.Code) - .WhereIF(request.Search.IsPresent(), (x, ga) => x.Code == request.Search || ga.Name.Contains(request.Search)) - .WhereIF(request.DateTimePeriod?.Start.HasValue == true && request.DateTimePeriod?.End.HasValue == true, + .WhereIF(request.Status.HasValue, x => x.Status == request.Status) + .WhereIF(request.Sync.HasValue, x => x.Sync == request.Sync) + .WhereIF(request.DateTimePeriod?.Start.HasValue == true + && request.DateTimePeriod?.End.HasValue == true, x => x.Date >= request.DateTimePeriod.Start && x.Date <= request.DateTimePeriod.End) + .WhereIF(request.Search.IsPresent(), (x, ga) => x.Code == request.Search || ga.Name == request.Search) .Select((x, ga) => new MealSupplementRecordResponse { Amount = x.Amount, Code = x.Code, Date = x.Date, - Factory = x.Factory, Remark = x.Remark, Result = x.Result, Status = x.Status, Sync = x.Sync, UniqueId = x.UniqueId, UserName = ga.Name, + Workplace = x.Workplace, + Factory = x.Factory, }) .ToPageListAsync(request); + + try + { + var tenantsResult = await _tenantApi.GetTenantsInternalAsync(); + var tenants = tenantsResult.Data; + + page.Data.ForEach(item => + { + item.Workplace = tenants.FirstOrDefault(x => x.Code == item.Workplace)?.Name; + item.Factory = tenants.FirstOrDefault(x => x.Code == item.Factory)?.Name; + }); + } + catch (Exception) + { + + } + + return page; } diff --git a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/DeviceUploadLogPageRequest.cs b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/DeviceUploadLogPageRequest.cs index 5efaab5a..cfea2a15 100644 --- a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/DeviceUploadLogPageRequest.cs +++ b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Request/DeviceUploadLogPageRequest.cs @@ -9,11 +9,16 @@ namespace Dlhis.ScheduledTask.DeviceUploadLog.Request; public class DeviceUploadLogPageRequest : PageDto, IValidatableObject { /// - /// 设备类型 + /// 设备类型 DeviceTypeEnumType /// [EnumDataType(typeof(DeviceTypeEnumType))] public DeviceTypeEnumType? Type { get; set; } + /// + /// 同步状态 + /// + public bool? Sync { get; set; } + /// /// 查询日期范围类型 DateTimeSearchEnumType diff --git a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs index 3ff6995e..b556a304 100644 --- a/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs +++ b/Src/Dlhis.ScheduledTask/DeviceUploadLog/Services/Implements/DeviceUploadLogService.cs @@ -35,6 +35,7 @@ public class DeviceUploadLogService : IDeviceUploadLogService .LeftJoin((deviceUp, device) => deviceUp.DeviceUniqueNo == device.UniqueNo) .LeftJoin((deviceUp, device, ga) => deviceUp.UserUniqueNo == ga.Code) .WhereIF(type.HasValue, (deviceUp, device) => deviceUp.Type == type) + .WhereIF(request.Sync.HasValue, deviceUp => deviceUp.Sync == request.Sync) .WhereIF(request.SearchDateTimePeriod?.Start.HasValue == true, deviceUp => deviceUp.RaiseDateTime >= request.SearchDateTimePeriod.Start) .WhereIF(request.SearchDateTimePeriod?.End.HasValue == true, deviceUp => deviceUp.RaiseDateTime <= request.SearchDateTimePeriod.End) .WhereIF(request.Search.IsPresent(), (deviceUp, device, ga) => diff --git a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs index 2d0b899a..ae023260 100644 --- a/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs +++ b/Src/Dlhis.ScheduledTask/TaskAssignment/Services/Implements/DeviceTaskAssignmentService.cs @@ -32,7 +32,8 @@ public class DeviceTaskAssignmentService : IDeviceTaskAssignmentService .WhereIF(request.Status.IsPresent(), deviceTask => request.Status.Contains(deviceTask.Status)) .WhereIF(request.Type.HasValue, (deviceTask, ga, device) => deviceTask.DeviceType == request.Type) .WhereIF(!request.Search.IsEmpty(), (deviceTask, ga, device) => - ga.Name == request.Search + ga.No == request.Search //详情使用 + || ga.Name == request.Search || ga.Code == request.Search || deviceTask.DeviceUniqueNo == request.Search )