From 28587c8e919902ee3b94d6e6860458e07701d26d Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Mon, 11 Nov 2024 12:23:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=BC=E8=A1=A8=E6=97=A5?= =?UTF-8?q?=E6=9C=9F=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/QC/DTO/QCListViewModel.cs | 2 +- IRaCIS.Core.Domain/Trial/Trial.cs | 4 +-- .../Context/IRaCISDBContext.cs | 17 ++++++------ .../Extention/ExportExcelDateConverter.cs | 27 ++++++++++++------- 4 files changed, 29 insertions(+), 21 deletions(-) diff --git a/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs b/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs index bbf7745d7..340dfaf8d 100644 --- a/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs +++ b/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs @@ -377,7 +377,7 @@ namespace IRaCIS.Core.Application.Contracts //public bool IsUrgent { get; set; } //[ExcelColumn(Name = "FirstGiveMedicineTime", Format = "yyyy-MM-dd")] - public DateTime? FirstGiveMedicineTime { get; set; } + public DateOnly? FirstGiveMedicineTime { get; set; } public string FirstGiveMedicineTimeStr => FirstGiveMedicineTime?.ToString("yyyy-MM-dd"); diff --git a/IRaCIS.Core.Domain/Trial/Trial.cs b/IRaCIS.Core.Domain/Trial/Trial.cs index 11237a804..2178c8a44 100644 --- a/IRaCIS.Core.Domain/Trial/Trial.cs +++ b/IRaCIS.Core.Domain/Trial/Trial.cs @@ -263,8 +263,7 @@ public partial class Trial : BaseFullDeleteAuditEntity [Comment("项目术语配置Json字符串")] [StringLength(2000)] public List TrialObjectNameList { get; set; } - //[NotMapped] - //public List TrialObjectNameList => JsonConvert.DeserializeObject>(TrialObjectNameConfigStr) ?? new List(); + } [ComplexType] @@ -275,5 +274,4 @@ public class TrialObjectNameConfig public string TrialName { get; set; } public bool IsDefault { get; set; } - } \ No newline at end of file diff --git a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs index f4f70b2fe..9778e7371 100644 --- a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs +++ b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs @@ -67,13 +67,13 @@ public class IRaCISDBContext : DbContext // 使用部分加密值转换器,前 2 个字符不加密,方便模糊搜索 entity.Property(e => e.Name).HasConversion(new PartialEncryptionConverter(2)); - entity.OwnsMany(x => x.TestJsonObjectLsit, ownedNavigationBuilder => - { - ownedNavigationBuilder.ToJson(); - }); + //entity.OwnsMany(x => x.TestJsonObjectLsit, ownedNavigationBuilder => + //{ + // ownedNavigationBuilder.ToJson(); + //}); - //entity.Property(e => e.TestJsonObjectLsit).HasConversion(v => v == null ? "[]" : JsonConvert.SerializeObject(v), - // v => string.IsNullOrEmpty(v) ? null : JsonConvert.DeserializeObject>(v)); + entity.Property(e => e.TestJsonObjectLsit).HasConversion(v => v == null ? "[]" : JsonConvert.SerializeObject(v), + v => string.IsNullOrEmpty(v) ? null : JsonConvert.DeserializeObject>(v)); }); modelBuilder.Entity(entity => @@ -81,7 +81,7 @@ public class IRaCISDBContext : DbContext //项目术语配置 entity.OwnsMany(x => x.TrialObjectNameList, ownedNavigationBuilder => { - ownedNavigationBuilder.ToJson(); + ownedNavigationBuilder.ToJson() ; }); }); @@ -595,8 +595,9 @@ public class TestLength : Entity [StringLength(1000)] public List TestEnumList { get; set; } = new List(); - [MaxLength] public List TestJsonObjectLsit { get; set; } + + public DateOnly? TestDate { get; set; } } diff --git a/IRaCIS.Core.Infrastructure/Extention/ExportExcelDateConverter.cs b/IRaCIS.Core.Infrastructure/Extention/ExportExcelDateConverter.cs index e24903407..890557527 100644 --- a/IRaCIS.Core.Infrastructure/Extention/ExportExcelDateConverter.cs +++ b/IRaCIS.Core.Infrastructure/Extention/ExportExcelDateConverter.cs @@ -19,7 +19,7 @@ namespace IRaCIS.Core.API._ServiceExtensions.NewtonsoftJson } public override bool CanConvert(Type objectType) { - + return objectType == typeof(DateTime) || objectType == typeof(DateTime?); } public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) @@ -37,7 +37,7 @@ namespace IRaCIS.Core.API._ServiceExtensions.NewtonsoftJson writer.WriteNull(); } - + } public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) @@ -58,7 +58,7 @@ namespace IRaCIS.Core.API._ServiceExtensions.NewtonsoftJson } - public class ExportExcelConverterDate + public class ExportExcelConverterDate { public static T ConvertToClientTimeInObject(T obj, string timeZoneId) { @@ -67,7 +67,7 @@ namespace IRaCIS.Core.API._ServiceExtensions.NewtonsoftJson return obj; // 将对象序列化为 JSON 字符串 - string json = JsonConvert.SerializeObject(obj,new JsonSerializerSettings() { DateFormatString= "yyyy-MM-dd HH:mm:ss.fff" }); + string json = JsonConvert.SerializeObject(obj, new JsonSerializerSettings() { DateFormatString = "yyyy-MM-dd HH:mm:ss.fff" }); // 将 JSON 字符串反序列化回对象 var deserializedObj = JsonConvert.DeserializeObject(json, new JsonSerializerSettings @@ -80,7 +80,7 @@ namespace IRaCIS.Core.API._ServiceExtensions.NewtonsoftJson return deserializedObj!; } - public static string DateTimeInternationalToString(DateTime? dateTime, string? clientZoneId=null) + public static string DateTimeInternationalToString(DateTime? dateTime, string? clientZoneId = null) { var isEn_US = CultureInfo.CurrentCulture.Name == StaticData.CultureInfo.en_US; @@ -94,15 +94,24 @@ namespace IRaCIS.Core.API._ServiceExtensions.NewtonsoftJson needDealTime = TimeZoneInfo.ConvertTime(needDealTime, TimeZoneInfo.Local, TimeZoneInfo.FindSystemTimeZoneById(clientZoneId)); } - if (isEn_US) + if (needDealTime.Hour == 0 && needDealTime.Minute == 0 && needDealTime.Second == 0) { - //暂时保持一致,等需求确认,修改英文要展示的日期格式 - return needDealTime.ToString("yyyy-MM-dd HH:mm:ss"); + return needDealTime.ToString("yyyy-MM-dd"); } else { - return needDealTime.ToString("yyyy-MM-dd HH:mm:ss"); + if (isEn_US) + { + //暂时保持一致,等需求确认,修改英文要展示的日期格式 + return needDealTime.ToString("yyyy-MM-dd HH:mm:ss"); + } + else + { + return needDealTime.ToString("yyyy-MM-dd HH:mm:ss"); + } } + + } else {