Commit a3ba17f6 by 陶然

代码优化

parent c9295244
......@@ -9,7 +9,7 @@ namespace Kivii.Samples.Entities
{
[Api(Description = "样品信息")]
[Alias(Configs.TableNameSample)]
public class Sample: EntityWithMetadata, IEntityInAssemblyDb, IEntityHasRemark, IEntityHasCreator, IEntityHasUpdater
public class Sample : EntityWithMetadata, IEntityInAssemblyDb, IEntityHasRemark, IEntityHasCreator, IEntityHasUpdater
{
#region 第三方关联V1.0
[ApiMember(Description = "关联业务,例如:此样品用于具体某一报告,此处记录报告信息")]
......@@ -196,6 +196,12 @@ namespace Kivii.Samples.Entities
[Ignore]
public Route CurrentRoute { get; set; }
[Ignore]
public List<Route> Routes { get; set; }
[Ignore]
public List<Sample> Childrens { get; set; }
#region 创建/更新人V1.0
[ApiMember(Description = "创建人Kvid ")]
[IgnoreUpdate]
......
......@@ -36,5 +36,5 @@ using System.Runtime.InteropServices;
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("5.4.2023.5080")]
[assembly: AssemblyFileVersion("5.4.2023.5080")]
[assembly: AssemblyVersion("5.4.2023.5090")]
[assembly: AssemblyFileVersion("5.4.2023.5090")]
......@@ -495,7 +495,7 @@ namespace Kivii.Samples
return rtns;
}
/// <summary>
/// 获取当前指定样品所在地
/// 获取当前指定样品当前路由
/// </summary>
/// <param name="sample"></param>
/// <returns></returns>
......@@ -516,5 +516,38 @@ namespace Kivii.Samples
return rtns;
}
/// <summary>
/// 获取当前指定样品的全部路由
/// </summary>
/// <param name="sample"></param>
/// <returns></returns>
public static List<Route> GetRoutes(this Sample sample)
{
if (sample == null) return null;
//sample.ThrowIfNull("请传入要取出的样品信息!");
var conn = KiviiContext.GetOpenedDbConnection<Sample>();
var queryRoute = conn.From<Route>();
queryRoute.Where(o => o.SampleKvid == sample.Kvid);
queryRoute.OrderBy(o => o.CreateTime);
var rtns = conn.Select(queryRoute);
if (rtns.IsNullOrEmpty()) return null;
sample.Routes = rtns;
var currentRoute = rtns.FirstOrDefault(o => o.NextLocationKvid == Guid.Empty);
if (currentRoute != null) sample.CurrentRoute = currentRoute;
return rtns;
}
public static List<Sample> GetChildrens(this Sample sample)
{
if (sample == null) return null;
var conn = KiviiContext.GetOpenedDbConnection<Sample>();
var queryChildren = conn.From<Sample>();
queryChildren.Where(o => o.ParentKvid == sample.Kvid);
queryChildren.OrderBy(o => o.CreateTime);
var rtns = conn.Select(queryChildren);
if(rtns.IsNullOrEmpty()) return null;
sample.Childrens = rtns;
return rtns;
}
}
}
......@@ -53,6 +53,27 @@ namespace Kivii.Samples.Transforms
[RequiresAnyRole(SystemRoles.Everyone)]
public class SampleRead : RestfulRead<Sample>
{
public bool IncludeLocation { get; set; }
public bool IncludeChildrens { get; set; }
public bool IncludeRoutes { get; set; }
public override bool OnPostRestfulRead(IRequest req, IResponse res, IDbConnection dbConnection, IRestfulReadResponse<Sample> rtns)
{
if(rtns.Result== null) return base.OnPostRestfulRead(req, res, dbConnection, rtns);
if (IncludeLocation)
{
rtns.Result.CurrentLocation = rtns.Result.GetCurrentLocation();
}
if (IncludeChildrens)
{
rtns.Result.Childrens = rtns.Result.GetChildrens();
}
if (IncludeRoutes)
{
rtns.Result.Routes = rtns.Result.GetRoutes();
}
return base.OnPostRestfulRead(req, res, dbConnection, rtns);
}
}
[RequiresAnyRole(SystemRoles.Everyone)]
......@@ -80,7 +101,7 @@ namespace Kivii.Samples.Transforms
var conn = KiviiContext.GetOpenedDbConnection<Location>();
var local= conn.Single<Location>(o => o.InternalCode == Location.InternalCode);
(local == null).ThrowIfTrue($"未找到{Location.InternalCode}目的地点配置信息!");
var rtns = new RestfulCreateResponse<Sample>();
rtns.Results = new List<Sample>();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment