From 5ff90840f6e6099f1617cfb15cf2862ec9199b8d Mon Sep 17 00:00:00 2001 From: weiz Date: Sat, 6 Jan 2024 18:17:43 +0800 Subject: [PATCH 1/2] fixed --- app/adminapi/lists/contract/ContractLists.php | 4 ++++ app/adminapi/logic/contract/ContractNegotiationLogic.php | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/adminapi/lists/contract/ContractLists.php b/app/adminapi/lists/contract/ContractLists.php index 5e2aa8614..36485959b 100644 --- a/app/adminapi/lists/contract/ContractLists.php +++ b/app/adminapi/lists/contract/ContractLists.php @@ -20,6 +20,7 @@ use app\common\model\auth\Admin; use app\common\model\bid\BidBuyBiddingDocument; use app\common\model\contract\Contract; use app\common\lists\ListsSearchInterface; +use app\common\model\contract\ContractNegotiation; use app\common\model\custom\Custom; use app\common\model\finance\FinanceReturnedRecord; use app\common\model\project\Project; @@ -91,7 +92,10 @@ class ContractLists extends BaseAdminDataLists implements ListsSearchInterface $data['contract_status_text'] = $data->contract_status_text; $data['contract_pricing_method_text'] = $data->contract_pricing_method_text; $data['business_director_name'] = $business_director['name']; + $data['negotiation_amount'] = ContractNegotiation::where('contract_id',$data['id'])->sum('negotiation_amount'); + $data['reality_contract_amount'] = $data['amount'] + $data['negotiation_amount']; $data['returned_amount'] = FinanceReturnedRecord::where('contract_id',$data['id'])->sum('amount'); + $data['not_returned_amount'] = $data['reality_contract_amount'] - $data['returned_amount']; return $data; }) ->toArray(); diff --git a/app/adminapi/logic/contract/ContractNegotiationLogic.php b/app/adminapi/logic/contract/ContractNegotiationLogic.php index f2019ceee..13e91ec99 100644 --- a/app/adminapi/logic/contract/ContractNegotiationLogic.php +++ b/app/adminapi/logic/contract/ContractNegotiationLogic.php @@ -66,8 +66,8 @@ class ContractNegotiationLogic extends BaseLogic 'profit_rate' => $profit_rate, 'negotiation_content' => $params['negotiation_content'] ?? '', 'negotiation_detail' => $params['negotiation_detail'] ?? '', - 'negotiation_quotation' => $params['negotiation_quotation'] ?? null, - 'negotiation_basis' => $params['negotiation_basis'] ?? null, + 'negotiation_quotation' => !empty($params['negotiation_quotation']) ? $params['negotiation_quotation'] : null, + 'negotiation_basis' => !empty($params['negotiation_basis']) ? $params['negotiation_basis'] : null, ]); Db::commit(); return true; @@ -110,8 +110,8 @@ class ContractNegotiationLogic extends BaseLogic 'profit_rate' => $profit_rate, 'negotiation_content' => $params['negotiation_content'] ?? '', 'negotiation_detail' => $params['negotiation_detail'] ?? '', - 'negotiation_quotation' => $params['negotiation_quotation'] ?? null, - 'negotiation_basis' => $params['negotiation_basis'] ?? null, + 'negotiation_quotation' => !empty($params['negotiation_quotation']) ? $params['negotiation_quotation'] : null, + 'negotiation_basis' => !empty($params['negotiation_basis']) ? $params['negotiation_basis'] : null, ]); Db::commit(); return true; From 759a93de25e4c6f5bca779bd8f4027dbcf7fa241 Mon Sep 17 00:00:00 2001 From: weiz Date: Mon, 8 Jan 2024 09:46:39 +0800 Subject: [PATCH 2/2] fixed --- app/adminapi/lists/contract/ContractLists.php | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/app/adminapi/lists/contract/ContractLists.php b/app/adminapi/lists/contract/ContractLists.php index 36485959b..2a6d09f6a 100644 --- a/app/adminapi/lists/contract/ContractLists.php +++ b/app/adminapi/lists/contract/ContractLists.php @@ -22,6 +22,8 @@ use app\common\model\contract\Contract; use app\common\lists\ListsSearchInterface; use app\common\model\contract\ContractNegotiation; use app\common\model\custom\Custom; +use app\common\model\finance\FinanceInvoiceApply; +use app\common\model\finance\FinanceRefundApply; use app\common\model\finance\FinanceReturnedRecord; use app\common\model\project\Project; use think\facade\Db; @@ -92,10 +94,22 @@ class ContractLists extends BaseAdminDataLists implements ListsSearchInterface $data['contract_status_text'] = $data->contract_status_text; $data['contract_pricing_method_text'] = $data->contract_pricing_method_text; $data['business_director_name'] = $business_director['name']; + //洽商金额 $data['negotiation_amount'] = ContractNegotiation::where('contract_id',$data['id'])->sum('negotiation_amount'); - $data['reality_contract_amount'] = $data['amount'] + $data['negotiation_amount']; + //回款金额 $data['returned_amount'] = FinanceReturnedRecord::where('contract_id',$data['id'])->sum('amount'); + //开票金额 + $data['invoicing_amount'] = FinanceInvoiceApply::where('contract_id',$data['id'])->sum('invoicing_amount'); + //退款金额 + $data['refund_amount'] = FinanceRefundApply::where('contract_id',$data['id'])->sum('amount'); + //实际合同金额=合同金额+洽商金额-退款金额 + $data['reality_contract_amount'] = $data['amount'] + $data['negotiation_amount'] - $data['refund_amount']; + //未回款金额 $data['not_returned_amount'] = $data['reality_contract_amount'] - $data['returned_amount']; + //未开票金额 + $data['not_invoicing_amount'] = $data['reality_contract_amount'] - $data['invoicing_amount']; + //结算差异(带计算) + $data['settlement_difference'] = 0; return $data; }) ->toArray();