提交 5f211570 authored 作者: chengye's avatar chengye

test

上级 3d2ae57c
......@@ -13,27 +13,23 @@ use think\facade\Log;
class WriteOff extends Controller
{
public function writeOffFromPayment($account_id,$payment_id){
public function writeOffFromPayment($payment_id){
Log::info('触发销账:'.$account_id.' | '.$payment_id);
Log::info('触发销账:'.$payment_id);
//获取缴费单对象
$payment = EmPayment::where('payment_id','=',$payment_id)->find();
//获取关联的账单对象
$invs = (new EmInvoice())->alias('ei')->field('ei.invoice_id')
->leftJoin(['em_payment_invoice'=>'epi'],'epi.invoice_id = ei.invoice_id')
->where('epi.payment_id','=',$payment_id)
->where('ei.payment_balance','neq',0)
->order('ei.invoice_id asc')
$invs = (new EmInvoice())->alias('a')->field('a.invoice_id')
->join(['em_payment_invoice'=>'b'],'b.invoice_id = a.invoice_id')
->where('b.payment_id','=',$payment_id)
->where('a.payment_balance','neq',0)
->order('a.invoice_id asc')
->select();
$invsArr = [];
//更新缴费单状态
if($invs->isEmpty()){
$payment->status = 4;
$payment->save();
return '审核成功';
} else {
//如果存在账单关联对象
if(!$invs->isEmpty()){
foreach ($invs as $inv){
$invsArr[] = $inv->invoice_id;
}
......@@ -45,8 +41,9 @@ class WriteOff extends Controller
//如果可以完全销账 则继续销账
if($payment->balance > $payments_balance){
$invs = (new EmInvoice())->field('invoice_id')
->where('account_id','=',$account_id)
->where('account_id','=',$payment->account_id)
->where('payment_balance','neq',0)
->whereNotIn('invoice_id',$invsArr)
->order('invoice_id asc')
->select();
if(!$invs->isEmpty()) {
......@@ -56,6 +53,7 @@ class WriteOff extends Controller
}
}
$paymentIds[] = $payment->payment_id;
//处理账户金额
......@@ -82,10 +80,12 @@ class WriteOff extends Controller
foreach ($payments as $key => $payment){
if($payment->balance == 0) continue;
foreach ($invs as $index => $inv) {
$balanceMode = new EmPaymentInvoiceBalance();
$balanceMode->payment_id = $payment->payment_id;
if ($inv->payment_balance == 0) continue;
$balanceMode = new EmPaymentInvoiceBalance();
$balanceMode->payment_id = $payment->payment_id;
$balanceMode->invoice_id = $inv->invoice_id;
//如果该缴费单可以完全消除当前账单额度
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论