收款统计

This commit is contained in:
2025-10-30 13:35:53 +08:00
parent 9f944ae92c
commit 672258e594
4 changed files with 80 additions and 2 deletions
@@ -0,0 +1,44 @@
<?php
namespace app\admin\controller\dashboard;
use app\common\controller\BaseController;
use app\common\model\FinReceipt;
use support\Request;
class FinStatisticsController extends BaseController
{
/**
* 收款记录统计
* @param Request $request
* @return \support\Response
*/
public function statistics(Request $request)
{
try {
$query = FinReceipt::where('payment_apply_id','>',0);
$result = [];
//已认领数量
$result['claimed_num'] = $query->count();
//已认领金额
$result['claimed_amount'] = $query->sum('amount');
$query = FinReceipt::whereNull('payment_apply_id');
//未认领数量
$result['unclaimed_num'] = $query->count();
//未认领金额
$result['unclaimed_amount'] = $query->sum('amount');
//已超时未认领数量
$result['timeout'] = $query->where('created_at','<',time()-24*3600)->count();
return $this->success($result);
} catch (\Throwable $e) {
return $this->error($e->getMessage());
}
}
}
@@ -147,4 +147,19 @@ class FinReceiptController extends BaseController
} }
return $data; return $data;
} }
/**
* 收款记录统计
* @param Request $request
* @return \support\Response
*/
public function statistics(Request $request)
{
try {
$raw = $this->service->statistics();
return $this->success($raw);
} catch (\Throwable $e) {
return $this->error($e->getMessage());
}
}
} }
+17 -2
View File
@@ -279,7 +279,7 @@ class FinReceiptService
} }
/** /**
* 更新计算折让金额 * 更新:绑定收款记录,计算折让金额
* @param Request $request * @param Request $request
* @param array $data * @param array $data
* @param string $scene * @param string $scene
@@ -296,9 +296,24 @@ class FinReceiptService
//折让金额 //折让金额
$payment = FinPaymentApply::where('id', $payment_apply_id)->first(); $payment = FinPaymentApply::where('id', $payment_apply_id)->first();
$receipt = FinReceipt::find($id); $receipt = FinReceipt::find($id);
$data['discount_amount'] = $payment->amount - $payment->amount ?? 0; $data['discount_amount'] = $payment->amount - $receipt->amount ?? 0;
$updated = $this->logicUpdateBy($config, $data); $updated = $this->logicUpdateBy($config, $data);
return $this->postProcess(ucfirst($scene), $data); return $this->postProcess(ucfirst($scene), $data);
} }
/**
* 收款记录统计
* @return bool|int
*/
public function statistics()
{
$finReceipt = FinReceipt::find($id);
if(!empty($finReceipt->received_at)){
throw new BusinessException('该记录已将确认入账');
}
$res = $this->logic->credit($id);
$this->afterServiceUpdate(['id'=>$id]);
return $res;
}
} }
+4
View File
@@ -368,6 +368,10 @@ Route::group('/admin', function () {
Route::any('/show', [app\common\controller\FinReceiptHisController::class, 'show']); Route::any('/show', [app\common\controller\FinReceiptHisController::class, 'show']);
}); });
Route::group('/fin', function () {
Route::any('/statistics', [app\admin\controller\dashboard\FinStatisticsController::class, 'statistics']);
});
// 付款申请 // 付款申请
Route::group('/payment', function () { Route::group('/payment', function () {
Route::any('/list', [app\common\controller\FinPaymentApplyController::class, 'index']); Route::any('/list', [app\common\controller\FinPaymentApplyController::class, 'index']);