Commit a601b30a by 陶然

优化查询接口所属信息

parent 9414e60e
......@@ -11,9 +11,10 @@ namespace Kivii.Finances.Transforms
{
public enum OwnerType
{
Department = 0,
Organization = 1,
Member = 2
Unsupport=0,
Department = 1,
Organization = 2,
Member = 3
}
[Api(Description = "业务认领")]
......
......@@ -38,6 +38,8 @@ namespace Kivii.Finances.Transforms
#endregion
public OwnerType OwnerType { get; set; } = OwnerType.Unsupport;
public bool? IsPayee { get; set; }//查收款还是付款
public bool? IsSplit { get; set; }//查是否已经拆分认领
......@@ -52,6 +54,9 @@ namespace Kivii.Finances.Transforms
request = request.PopulateWith(this);
var sqlExpress = autoQuery.CreateQuery(Request, conn, request, dynamicParams);
sqlExpress.Where(o => o.OffsetKvid == Guid.Empty && Sql.In(o.Type, PaymentType.AliPay, PaymentType.WeChat, PaymentType.Bank, PaymentType.Cash, PaymentType.Pos));
if (OwnerType == OwnerType.Organization) sqlExpress.And(o => o.OwnerKvid == KiviiContext.CurrentMember.OrganizationKvid || o.OwnerKvid == Guid.Empty);
if (OwnerType == OwnerType.Department) sqlExpress.And(o => o.OwnerKvid == KiviiContext.CurrentMember.DepartmentKvid || o.OwnerKvid == Guid.Empty);
if (OwnerType == OwnerType.Member) sqlExpress.And(o => o.OwnerKvid == KiviiContext.CurrentMember.Kvid || o.OwnerKvid == Guid.Empty);
if (IsSplit != null)
{
if (IsSplit.Value) sqlExpress.And(o => o.AmountSplited > 0 && o.AmountSplited == o.Amount);
......@@ -271,6 +276,7 @@ namespace Kivii.Finances.Transforms
public string QueryValues { get; set; }
#endregion
public OwnerType OwnerType { get; set; } = OwnerType.Unsupport;
public bool? IsBiz { get; set; }//Split,Pos,Cash,WeChat..
public override object OnExecution(IRequest req, IResponse res)
......@@ -282,6 +288,9 @@ namespace Kivii.Finances.Transforms
var request = new RestfulQuery<Payment>();
request = request.PopulateWith(this);
var sqlExpress = autoQuery.CreateQuery(Request, conn, request, dynamicParams);
if (OwnerType == OwnerType.Organization) sqlExpress.And(o => o.OwnerKvid == KiviiContext.CurrentMember.OrganizationKvid || o.OwnerKvid == Guid.Empty);
if (OwnerType == OwnerType.Department) sqlExpress.And(o => o.OwnerKvid == KiviiContext.CurrentMember.DepartmentKvid || o.OwnerKvid == Guid.Empty);
if (OwnerType == OwnerType.Member) sqlExpress.And(o => o.OwnerKvid == KiviiContext.CurrentMember.Kvid || o.OwnerKvid == Guid.Empty);
if (IsBiz == null) sqlExpress.Where(o => o.OffsetKvid == Guid.Empty && Sql.In(o.Type, PaymentType.WeChat, PaymentType.Cash, PaymentType.AliPay, PaymentType.Pos, PaymentType.Split, PaymentType.Refund, PaymentType.UnBiz));
else if (IsBiz.Value) sqlExpress.Where(o => o.OffsetKvid == Guid.Empty && Sql.In(o.Type, PaymentType.WeChat, PaymentType.Cash, PaymentType.AliPay, PaymentType.Pos, PaymentType.Split));
else sqlExpress.Where(o => o.OffsetKvid == Guid.Empty && Sql.In(o.Type, PaymentType.Refund, PaymentType.UnBiz));
......
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