Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
Kivii.Biz.Finances.V2.0
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
陶然
Kivii.Biz.Finances.V2.0
Commits
65f88acb
Commit
65f88acb
authored
Jan 11, 2022
by
陶然
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化
parent
53d42be3
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
33 additions
and
10 deletions
+33
-10
PayExtension.cs
Src/Extensions/PayExtension.cs
+10
-3
RestfulPay.cs
Src/Transforms/RestfulPay.cs
+23
-7
No files found.
Src/Extensions/PayExtension.cs
View file @
65f88acb
...
@@ -21,7 +21,7 @@ namespace Kivii.Finances
...
@@ -21,7 +21,7 @@ namespace Kivii.Finances
/// <param name="accountDetail">生成的账户明细清单</param>
/// <param name="accountDetail">生成的账户明细清单</param>
/// <param name="amount">指定的费用,若不指定金额则默认全部</param>
/// <param name="amount">指定的费用,若不指定金额则默认全部</param>
/// <returns>生成用于收款登记的到账子项</returns>
/// <returns>生成用于收款登记的到账子项</returns>
public
static
Payment
Paying
(
this
List
<
Settlement
>
settlements
,
Payment
payment
,
Account
accountPayee
,
out
List
<
Pay
>
pays
,
out
AccountDetail
accountDetail
,
decimal
amount
=
0
)
public
static
Payment
Paying
(
this
List
<
Settlement
>
settlements
,
Payment
payment
,
Account
accountPayee
,
out
List
<
Pay
>
pays
,
out
AccountDetail
accountDetail
,
decimal
amount
=
0
,
string
remark
=
null
)
{
{
settlements
.
ThrowIfNullOrEmpty
(
"未传入结算信息!"
);
settlements
.
ThrowIfNullOrEmpty
(
"未传入结算信息!"
);
payment
.
ThrowIfNull
(
"未传入到账信息!"
);
payment
.
ThrowIfNull
(
"未传入到账信息!"
);
...
@@ -29,6 +29,7 @@ namespace Kivii.Finances
...
@@ -29,6 +29,7 @@ namespace Kivii.Finances
(
settlements
.
Exists
(
o
=>
o
.
Currency
!=
payment
.
Currency
||
o
.
Currency
!=
accountPayee
.
Currency
)).
ThrowIfTrue
(
"存在不相符的货币单位!"
);
(
settlements
.
Exists
(
o
=>
o
.
Currency
!=
payment
.
Currency
||
o
.
Currency
!=
accountPayee
.
Currency
)).
ThrowIfTrue
(
"存在不相符的货币单位!"
);
if
(
payment
.
Type
!=
PaymentType
.
Split
&&
payment
.
Type
!=
PaymentType
.
Pos
&&
payment
.
Type
!=
PaymentType
.
Cash
&&
payment
.
Type
!=
PaymentType
.
AliPay
&&
payment
.
Type
!=
PaymentType
.
WeChat
)
throw
new
Exception
(
"请选择正确的付款方式!"
);
if
(
payment
.
Type
!=
PaymentType
.
Split
&&
payment
.
Type
!=
PaymentType
.
Pos
&&
payment
.
Type
!=
PaymentType
.
Cash
&&
payment
.
Type
!=
PaymentType
.
AliPay
&&
payment
.
Type
!=
PaymentType
.
WeChat
)
throw
new
Exception
(
"请选择正确的付款方式!"
);
var
amountSettlement
=
settlements
.
Sum
(
o
=>
o
.
Amount
-
o
.
AmountPayment
);
var
amountSettlement
=
settlements
.
Sum
(
o
=>
o
.
Amount
-
o
.
AmountPayment
);
if
(
amountSettlement
<=
0
)
throw
new
Exception
(
"当前结算已无需付款登记!"
);
if
(
amount
<=
0
||
amount
>
amountSettlement
)
amount
=
amountSettlement
;
if
(
amount
<=
0
||
amount
>
amountSettlement
)
amount
=
amountSettlement
;
(
payment
.
Amount
-
payment
.
AmountUsed
<
amount
).
ThrowIfTrue
(
$"付款编号[
{
payment
.
SerialNumber
}
]余额不足!可用余额:
{
payment
.
Amount
-
payment
.
AmountUsed
}
"
);
(
payment
.
Amount
-
payment
.
AmountUsed
<
amount
).
ThrowIfTrue
(
$"付款编号[
{
payment
.
SerialNumber
}
]余额不足!可用余额:
{
payment
.
Amount
-
payment
.
AmountUsed
}
"
);
...
@@ -78,6 +79,7 @@ namespace Kivii.Finances
...
@@ -78,6 +79,7 @@ namespace Kivii.Finances
accountDetail
.
PayeeAccountSerialNumber
=
accountPayee
.
SerialNumber
;
accountDetail
.
PayeeAccountSerialNumber
=
accountPayee
.
SerialNumber
;
accountDetail
.
AmountPayment
=
amount
;
accountDetail
.
AmountPayment
=
amount
;
accountDetail
.
Summary
=
"收款登记"
;
accountDetail
.
Summary
=
"收款登记"
;
accountDetail
.
Remark
=
remark
;
#
endregion
#
endregion
pays
=
new
List
<
Pay
>();
pays
=
new
List
<
Pay
>();
...
@@ -85,7 +87,7 @@ namespace Kivii.Finances
...
@@ -85,7 +87,7 @@ namespace Kivii.Finances
{
{
if
(
settlement
.
AmountPayment
>=
settlement
.
Amount
)
continue
;
if
(
settlement
.
AmountPayment
>=
settlement
.
Amount
)
continue
;
if
(
amount
<=
0
)
continue
;
if
(
amount
<=
0
)
continue
;
var
currentAmount
=
amount
<=
(
settlement
.
Amount
-
settlement
.
AmountPayment
)
?
amount
:
(
settlement
.
Amount
-
settlement
.
AmountPayment
);
var
currentAmount
=
(
amount
<=
(
settlement
.
Amount
-
settlement
.
AmountPayment
)
?
amount
:
(
settlement
.
Amount
-
settlement
.
AmountPayment
)
);
var
pay
=
new
Pay
();
var
pay
=
new
Pay
();
pay
.
BizId
=
settlement
.
SerialNumber
;
pay
.
BizId
=
settlement
.
SerialNumber
;
...
@@ -110,6 +112,7 @@ namespace Kivii.Finances
...
@@ -110,6 +112,7 @@ namespace Kivii.Finances
pay
.
OperateTime
=
DateTime
.
Now
;
pay
.
OperateTime
=
DateTime
.
Now
;
pay
.
OperatorName
=
KiviiContext
.
CurrentMember
.
FullName
;
pay
.
OperatorName
=
KiviiContext
.
CurrentMember
.
FullName
;
pay
.
OperatorKvid
=
KiviiContext
.
CurrentMember
.
Kvid
;
pay
.
OperatorKvid
=
KiviiContext
.
CurrentMember
.
Kvid
;
pay
.
Remark
=
remark
;
pays
.
Add
(
pay
);
pays
.
Add
(
pay
);
settlement
.
AmountPayment
+=
currentAmount
;
settlement
.
AmountPayment
+=
currentAmount
;
...
@@ -130,7 +133,7 @@ namespace Kivii.Finances
...
@@ -130,7 +133,7 @@ namespace Kivii.Finances
/// <param name="pays">生成的pay清单,Biz记录结算信息</param>
/// <param name="pays">生成的pay清单,Biz记录结算信息</param>
/// <param name="amount">指定的费用,若不指定金额则默认全部</param>
/// <param name="amount">指定的费用,若不指定金额则默认全部</param>
/// <returns>生成的账户明细清单</returns>
/// <returns>生成的账户明细清单</returns>
public
static
List
<
AccountDetail
>
Paying
(
this
List
<
Settlement
>
settlements
,
Account
accountPayer
,
Account
accountPayee
,
out
List
<
Pay
>
pays
,
decimal
amount
=
0
)
public
static
List
<
AccountDetail
>
Paying
(
this
List
<
Settlement
>
settlements
,
Account
accountPayer
,
Account
accountPayee
,
out
List
<
Pay
>
pays
,
decimal
amount
=
0
,
string
remark
=
null
)
{
{
settlements
.
ThrowIfNullOrEmpty
(
"未传入结算信息!"
);
settlements
.
ThrowIfNullOrEmpty
(
"未传入结算信息!"
);
accountPayer
.
ThrowIfNull
(
"未传入指定付款账户!"
);
accountPayer
.
ThrowIfNull
(
"未传入指定付款账户!"
);
...
@@ -138,6 +141,7 @@ namespace Kivii.Finances
...
@@ -138,6 +141,7 @@ namespace Kivii.Finances
(
settlements
.
Exists
(
o
=>
o
.
Currency
!=
accountPayer
.
Currency
||
o
.
Currency
!=
accountPayee
.
Currency
)).
ThrowIfTrue
(
"存在不相符的货币单位!"
);
(
settlements
.
Exists
(
o
=>
o
.
Currency
!=
accountPayer
.
Currency
||
o
.
Currency
!=
accountPayee
.
Currency
)).
ThrowIfTrue
(
"存在不相符的货币单位!"
);
(
accountPayer
.
Type
!=
AccountType
.
Deposit
&&
accountPayer
.
Type
!=
AccountType
.
Discount
).
ThrowIfTrue
(
"请选择正确的付款账户!"
);
(
accountPayer
.
Type
!=
AccountType
.
Deposit
&&
accountPayer
.
Type
!=
AccountType
.
Discount
).
ThrowIfTrue
(
"请选择正确的付款账户!"
);
var
amountSettlement
=
settlements
.
Sum
(
o
=>
o
.
Amount
-
o
.
AmountPayment
);
var
amountSettlement
=
settlements
.
Sum
(
o
=>
o
.
Amount
-
o
.
AmountPayment
);
if
(
amountSettlement
<=
0
)
throw
new
Exception
(
"当前结算已无需付款登记!"
);
if
(
amount
<=
0
||
amount
>
amountSettlement
)
amount
=
amountSettlement
;
if
(
amount
<=
0
||
amount
>
amountSettlement
)
amount
=
amountSettlement
;
(
accountPayer
.
Amount
+
accountPayer
.
CreditLine
<
amount
).
ThrowIfTrue
(
$"账户[
{
accountPayer
.
Name
}
]余额不足!可用余额:
{
accountPayer
.
Amount
+
accountPayer
.
CreditLine
}
"
);
(
accountPayer
.
Amount
+
accountPayer
.
CreditLine
<
amount
).
ThrowIfTrue
(
$"账户[
{
accountPayer
.
Name
}
]余额不足!可用余额:
{
accountPayer
.
Amount
+
accountPayer
.
CreditLine
}
"
);
...
@@ -160,6 +164,7 @@ namespace Kivii.Finances
...
@@ -160,6 +164,7 @@ namespace Kivii.Finances
payeeDetail
.
PayeeAccountSerialNumber
=
accountPayee
.
SerialNumber
;
payeeDetail
.
PayeeAccountSerialNumber
=
accountPayee
.
SerialNumber
;
payeeDetail
.
AmountPayment
=
amount
;
payeeDetail
.
AmountPayment
=
amount
;
payeeDetail
.
Summary
=
"收款登记"
;
payeeDetail
.
Summary
=
"收款登记"
;
payeeDetail
.
Remark
=
remark
;
rtns
.
Add
(
payeeDetail
);
rtns
.
Add
(
payeeDetail
);
var
payerDetail
=
new
AccountDetail
();
var
payerDetail
=
new
AccountDetail
();
...
@@ -179,6 +184,7 @@ namespace Kivii.Finances
...
@@ -179,6 +184,7 @@ namespace Kivii.Finances
payerDetail
.
PayeeAccountSerialNumber
=
accountPayee
.
SerialNumber
;
payerDetail
.
PayeeAccountSerialNumber
=
accountPayee
.
SerialNumber
;
payerDetail
.
AmountPayment
=
amount
;
payerDetail
.
AmountPayment
=
amount
;
payerDetail
.
Summary
=
"收款登记"
;
payerDetail
.
Summary
=
"收款登记"
;
payerDetail
.
Remark
=
remark
;
rtns
.
Add
(
payerDetail
);
rtns
.
Add
(
payerDetail
);
#
endregion
#
endregion
...
@@ -220,6 +226,7 @@ namespace Kivii.Finances
...
@@ -220,6 +226,7 @@ namespace Kivii.Finances
pay
.
OperateTime
=
DateTime
.
Now
;
pay
.
OperateTime
=
DateTime
.
Now
;
pay
.
OperatorName
=
KiviiContext
.
CurrentMember
.
FullName
;
pay
.
OperatorName
=
KiviiContext
.
CurrentMember
.
FullName
;
pay
.
OperatorKvid
=
KiviiContext
.
CurrentMember
.
Kvid
;
pay
.
OperatorKvid
=
KiviiContext
.
CurrentMember
.
Kvid
;
pay
.
Remark
=
remark
;
pays
.
Add
(
pay
);
pays
.
Add
(
pay
);
settlement
.
AmountPayment
+=
currentAmount
;
settlement
.
AmountPayment
+=
currentAmount
;
...
...
Src/Transforms/RestfulPay.cs
View file @
65f88acb
...
@@ -33,14 +33,15 @@ namespace Kivii.Finances.Transforms
...
@@ -33,14 +33,15 @@ namespace Kivii.Finances.Transforms
settlements
.
ThrowIfNullOrEmpty
(
"未找到结算单!"
);
settlements
.
ThrowIfNullOrEmpty
(
"未找到结算单!"
);
if
(
settlements
.
Count
!=
SettlementKvids
.
Count
)
throw
new
Exception
(
"所选结算项与实际结算项不符合!"
);
if
(
settlements
.
Count
!=
SettlementKvids
.
Count
)
throw
new
Exception
(
"所选结算项与实际结算项不符合!"
);
if
(
settlements
.
Exists
(
o
=>
o
.
OffsetKvid
!=
Guid
.
Empty
))
throw
new
Exception
(
"所选结算项存在已作废项!"
);
if
(
settlements
.
Exists
(
o
=>
o
.
OffsetKvid
!=
Guid
.
Empty
))
throw
new
Exception
(
"所选结算项存在已作废项!"
);
if
(
settlements
.
Exists
(
o
=>
o
.
AmountPayment
=
=
o
.
Amount
))
throw
new
Exception
(
"所选结算项存在已付款登记!"
);
if
(
settlements
.
Exists
(
o
=>
o
.
AmountPayment
>
=
o
.
Amount
))
throw
new
Exception
(
"所选结算项存在已付款登记!"
);
(
settlements
.
ConvertAll
(
o
=>
o
.
Currency
).
Distinct
().
ToList
().
Count
!=
1
).
ThrowIfTrue
(
"存在不相符的货币单位!"
);
(
settlements
.
ConvertAll
(
o
=>
o
.
Currency
).
Distinct
().
ToList
().
Count
!=
1
).
ThrowIfTrue
(
"存在不相符的货币单位!"
);
var
currency
=
settlements
.
ConvertAll
(
o
=>
o
.
Currency
).
Distinct
().
ToList
()[
0
];
var
currency
=
settlements
.
ConvertAll
(
o
=>
o
.
Currency
).
Distinct
().
ToList
()[
0
];
(
currency
==
CurrencyUnit
.
Unsupported
).
ThrowIfTrue
(
"不支持的货币单位!"
);
(
currency
==
CurrencyUnit
.
Unsupported
).
ThrowIfTrue
(
"不支持的货币单位!"
);
var
amountSettlement
=
settlements
.
Sum
(
o
=>
o
.
Amount
);
var
amountSettlement
=
settlements
.
Sum
(
o
=>
o
.
Amount
);
var
amountSettlementPlan
=
settlements
.
Sum
(
o
=>
o
.
AmountPlan
);
var
amountSettlementPlan
=
settlements
.
Sum
(
o
=>
o
.
AmountPlan
);
(
amountMethod
!=
amountSettlement
).
ThrowIfTrue
(
"所选结算总金额与付款总金额不等!"
);
var
amountPayed
=
settlements
.
Sum
(
o
=>
o
.
AmountPayment
);
(
amountMethod
>
amountSettlement
-
amountPayed
).
ThrowIfTrue
(
"所选结算总金额大于所需金额!"
);
var
rtns
=
new
RestfulExecutionResponse
<
Pay
>();
var
rtns
=
new
RestfulExecutionResponse
<
Pay
>();
rtns
.
Results
=
new
List
<
Pay
>();
rtns
.
Results
=
new
List
<
Pay
>();
...
@@ -57,9 +58,13 @@ namespace Kivii.Finances.Transforms
...
@@ -57,9 +58,13 @@ namespace Kivii.Finances.Transforms
payment
.
ThrowIfNull
(
"所选付款数据不存在!"
);
payment
.
ThrowIfNull
(
"所选付款数据不存在!"
);
(
payment
.
Currency
!=
currency
).
ThrowIfTrue
(
"存在不相符的货币单位!"
);
(
payment
.
Currency
!=
currency
).
ThrowIfTrue
(
"存在不相符的货币单位!"
);
if
(
payment
.
Type
!=
PaymentType
.
Split
&&
payment
.
Type
!=
PaymentType
.
Pos
&&
payment
.
Type
!=
PaymentType
.
Cash
&&
payment
.
Type
!=
PaymentType
.
AliPay
&&
payment
.
Type
!=
PaymentType
.
WeChat
)
throw
new
Exception
(
"请选择正确的付款方式!"
);
if
(
payment
.
Type
!=
PaymentType
.
Split
&&
payment
.
Type
!=
PaymentType
.
Pos
&&
payment
.
Type
!=
PaymentType
.
Cash
&&
payment
.
Type
!=
PaymentType
.
AliPay
&&
payment
.
Type
!=
PaymentType
.
WeChat
)
throw
new
Exception
(
"请选择正确的付款方式!"
);
if
(
payment
.
Amount
-
payment
.
AmountUsed
<
amountSettlement
)
throw
new
Exception
(
$"所选付款方式余额不足,可用余额:
{
payment
.
Amount
-
payment
.
AmountUsed
}
"
);
var
amount
=
amountSettlement
-
amountPayed
;
if
(
payment
.
Amount
-
payment
.
AmountUsed
<
amount
)
amount
=
payment
.
Amount
-
payment
.
AmountUsed
;
(
payingMethod
.
Amount
>
0
&&
payingMethod
.
Amount
>
payment
.
Amount
-
payment
.
AmountUsed
).
ThrowIfTrue
(
$"所选付款方式余额不足,可用余额:
{
payment
.
Amount
-
payment
.
AmountUsed
}
"
);
if
(
payingMethod
.
Amount
>
0
&&
payingMethod
.
Amount
<
amount
)
amount
=
payingMethod
.
Amount
;
//外部指定分摊多少钱就按照指定的费用进行分摊 否则就按照能使用的最大金额进行分摊
//if (payment.Amount - payment.AmountUsed < amountSettlement) throw new Exception($"所选付款方式余额不足,可用余额:{payment.Amount - payment.AmountUsed}");
//(payment.AmountInvoice != payment.Amount).ThrowIfTrue("所选到账尚未开票,请先开票后再分摊!");
//(payment.AmountInvoice != payment.Amount).ThrowIfTrue("所选到账尚未开票,请先开票后再分摊!");
var
dynamicPayPayment
=
settlements
.
Paying
(
payment
,
accountBiz
,
out
var
pays
,
out
var
accountDetail
);
var
dynamicPayPayment
=
settlements
.
Paying
(
payment
,
accountBiz
,
out
var
pays
,
out
var
accountDetail
,
amount
);
var
trans
=
conn
.
OpenTransaction
();
var
trans
=
conn
.
OpenTransaction
();
List
<
IDbTransaction
>
subTrans
=
new
List
<
IDbTransaction
>();
List
<
IDbTransaction
>
subTrans
=
new
List
<
IDbTransaction
>();
...
@@ -112,8 +117,12 @@ namespace Kivii.Finances.Transforms
...
@@ -112,8 +117,12 @@ namespace Kivii.Finances.Transforms
account
.
ThrowIfNull
(
"未找到所选账户!"
);
account
.
ThrowIfNull
(
"未找到所选账户!"
);
(
account
.
Currency
!=
currency
).
ThrowIfTrue
(
"存在不相符的货币单位!"
);
(
account
.
Currency
!=
currency
).
ThrowIfTrue
(
"存在不相符的货币单位!"
);
(
account
.
Type
!=
AccountType
.
Deposit
).
ThrowIfTrue
(
"请选择正确的客户存款账户!"
);
(
account
.
Type
!=
AccountType
.
Deposit
).
ThrowIfTrue
(
"请选择正确的客户存款账户!"
);
(
account
.
Amount
+
account
.
CreditLine
<
amountSettlement
).
ThrowIfTrue
(
$"所选付款方式余额不足,可用余额:
{
account
.
Amount
+
account
.
CreditLine
}
"
);
var
amount
=
amountSettlement
-
amountPayed
;
var
accountDetails
=
settlements
.
Paying
(
account
,
accountBiz
,
out
var
pays
);
if
(
account
.
Amount
+
account
.
CreditLine
<
amount
)
amount
=
account
.
Amount
+
account
.
CreditLine
;
(
payingMethod
.
Amount
>
0
&&
payingMethod
.
Amount
>
account
.
Amount
+
account
.
CreditLine
).
ThrowIfTrue
(
$"所选付款方式余额不足,可用余额:
{
account
.
Amount
+
account
.
CreditLine
}
"
);
if
(
payingMethod
.
Amount
>
0
&&
payingMethod
.
Amount
<
amount
)
amount
=
payingMethod
.
Amount
;
//外部指定分摊多少钱就按照指定的费用进行分摊 否则就按照能使用的最大金额进行分摊
//(account.Amount + account.CreditLine < amountSettlement).ThrowIfTrue($"所选付款方式余额不足,可用余额:{account.Amount + account.CreditLine}");
var
accountDetails
=
settlements
.
Paying
(
account
,
accountBiz
,
out
var
pays
,
amount
);
var
trans
=
conn
.
OpenTransaction
();
var
trans
=
conn
.
OpenTransaction
();
List
<
IDbTransaction
>
subTrans
=
new
List
<
IDbTransaction
>();
List
<
IDbTransaction
>
subTrans
=
new
List
<
IDbTransaction
>();
...
@@ -164,7 +173,9 @@ namespace Kivii.Finances.Transforms
...
@@ -164,7 +173,9 @@ namespace Kivii.Finances.Transforms
(
discountAccount
.
Currency
!=
currency
).
ThrowIfTrue
(
"存在不相符的货币单位!"
);
(
discountAccount
.
Currency
!=
currency
).
ThrowIfTrue
(
"存在不相符的货币单位!"
);
(
discountAccount
.
Type
!=
AccountType
.
Discount
).
ThrowIfTrue
(
"请选择正确的折扣账户!"
);
(
discountAccount
.
Type
!=
AccountType
.
Discount
).
ThrowIfTrue
(
"请选择正确的折扣账户!"
);
(
discountAccount
.
OwnerKvid
!=
KiviiContext
.
CurrentMember
.
DepartmentKvid
).
ThrowIfTrue
(
"存在非本部门的折扣账户!"
);
(
discountAccount
.
OwnerKvid
!=
KiviiContext
.
CurrentMember
.
DepartmentKvid
).
ThrowIfTrue
(
"存在非本部门的折扣账户!"
);
var
accountDetails
=
settlements
.
Paying
(
discountAccount
,
accountBiz
,
out
var
pays
);
var
amount
=
amountSettlement
-
amountPayed
;
if
(
payingMethod
.
Amount
>
0
&&
payingMethod
.
Amount
<
amount
)
amount
=
payingMethod
.
Amount
;
//外部指定分摊多少钱就按照指定的费用进行分摊 否则就按照能使用的最大金额进行分摊
var
accountDetails
=
settlements
.
Paying
(
discountAccount
,
accountBiz
,
out
var
pays
,
amount
,
payingMethod
.
Remark
);
var
trans
=
conn
.
OpenTransaction
();
var
trans
=
conn
.
OpenTransaction
();
List
<
IDbTransaction
>
subTrans
=
new
List
<
IDbTransaction
>();
List
<
IDbTransaction
>
subTrans
=
new
List
<
IDbTransaction
>();
...
@@ -258,6 +269,8 @@ namespace Kivii.Finances.Transforms
...
@@ -258,6 +269,8 @@ namespace Kivii.Finances.Transforms
{
{
var
payingMethod
=
PayingMethods
.
FirstOrDefault
(
o
=>
o
.
Kvid
==
item
.
Kvid
);
var
payingMethod
=
PayingMethods
.
FirstOrDefault
(
o
=>
o
.
Kvid
==
item
.
Kvid
);
if
(
payingMethod
==
null
)
continue
;
if
(
payingMethod
==
null
)
continue
;
(
payingMethod
.
Amount
<=
0
).
ThrowIfTrue
(
"组合付款缺少当前方式指定金额!"
);
(
payingMethod
.
Amount
>
item
.
Amount
-
item
.
AmountUsed
).
ThrowIfTrue
(
$"所选付款方式余额不足,可用余额:
{
item
.
Amount
-
item
.
AmountUsed
}
"
);
var
dynamicPayPayment
=
settlements
.
Paying
(
item
,
accountBiz
,
out
var
pays
,
out
var
accountDetail
,
payingMethod
.
Amount
);
var
dynamicPayPayment
=
settlements
.
Paying
(
item
,
accountBiz
,
out
var
pays
,
out
var
accountDetail
,
payingMethod
.
Amount
);
allPays
.
AddRange
(
pays
);
allPays
.
AddRange
(
pays
);
dynamicSplitPayments
.
Add
(
dynamicPayPayment
);
dynamicSplitPayments
.
Add
(
dynamicPayPayment
);
...
@@ -270,6 +283,8 @@ namespace Kivii.Finances.Transforms
...
@@ -270,6 +283,8 @@ namespace Kivii.Finances.Transforms
{
{
var
payingMethod
=
PayingMethods
.
FirstOrDefault
(
o
=>
o
.
Kvid
==
item
.
Kvid
);
var
payingMethod
=
PayingMethods
.
FirstOrDefault
(
o
=>
o
.
Kvid
==
item
.
Kvid
);
if
(
payingMethod
==
null
)
continue
;
if
(
payingMethod
==
null
)
continue
;
(
payingMethod
.
Amount
<=
0
).
ThrowIfTrue
(
"组合付款缺少当前方式指定金额!"
);
(
payingMethod
.
Amount
>
item
.
Amount
+
item
.
CreditLine
).
ThrowIfTrue
(
$"所选付款方式余额不足,可用余额:
{
item
.
Amount
+
item
.
CreditLine
}
"
);
var
accountDetails
=
settlements
.
Paying
(
item
,
accountBiz
,
out
var
pays
,
payingMethod
.
Amount
);
var
accountDetails
=
settlements
.
Paying
(
item
,
accountBiz
,
out
var
pays
,
payingMethod
.
Amount
);
allPays
.
AddRange
(
pays
);
allPays
.
AddRange
(
pays
);
allAccountDetails
.
AddRange
(
accountDetails
);
allAccountDetails
.
AddRange
(
accountDetails
);
...
@@ -281,6 +296,7 @@ namespace Kivii.Finances.Transforms
...
@@ -281,6 +296,7 @@ namespace Kivii.Finances.Transforms
{
{
var
payingMethod
=
PayingMethods
.
FirstOrDefault
(
o
=>
o
.
Kvid
==
item
.
Kvid
);
var
payingMethod
=
PayingMethods
.
FirstOrDefault
(
o
=>
o
.
Kvid
==
item
.
Kvid
);
if
(
payingMethod
==
null
)
continue
;
if
(
payingMethod
==
null
)
continue
;
(
payingMethod
.
Amount
<=
0
).
ThrowIfTrue
(
"组合付款缺少当前方式指定金额!"
);
var
accountDetails
=
settlements
.
Paying
(
item
,
accountBiz
,
out
var
pays
,
payingMethod
.
Amount
);
var
accountDetails
=
settlements
.
Paying
(
item
,
accountBiz
,
out
var
pays
,
payingMethod
.
Amount
);
allPays
.
AddRange
(
pays
);
allPays
.
AddRange
(
pays
);
allAccountDetails
.
AddRange
(
accountDetails
);
allAccountDetails
.
AddRange
(
accountDetails
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment