diff --git a/app/Modules/Admin/Http/Controllers/AdminBitrixController.php b/app/Modules/Admin/Http/Controllers/AdminBitrixController.php index e47cd4b..077893b 100644 --- a/app/Modules/Admin/Http/Controllers/AdminBitrixController.php +++ b/app/Modules/Admin/Http/Controllers/AdminBitrixController.php @@ -70,7 +70,7 @@ public function syncDeals(Agent $agent) { $dealItem = Deal::create([ 'client_id' => $client->id, - 'complex_id' => 1, + 'complex_id' => $inDeal->complex_id, 'agent_id' => $agent->id, 'status' => DealStatus::UNIQUE, ]); diff --git a/app/Modules/Contracts/Views/livewire/table/index.blade.php b/app/Modules/Contracts/Views/livewire/table/index.blade.php index 1f7360b..ecc0905 100644 --- a/app/Modules/Contracts/Views/livewire/table/index.blade.php +++ b/app/Modules/Contracts/Views/livewire/table/index.blade.php @@ -41,7 +41,12 @@ reward = $contract->reward ? $contract->reward : 0; + $agent = $contract->deal->agent; + $agentPaymentable = $agent->getPaymentable($contract->deal->complex); + $rewardPercent = $agentPaymentable->getPaymentablePercent(); + $price = $contract->price; + $contract->reward = ($price * $rewardPercent) / 100; + //$contract->reward = $contract->reward ? $contract->reward : 0; $reward = Number::forHumans($contract->reward, precision: 2); $reward = str_replace('million', 'млн', $reward); $reward = str_replace('thousand', 'тыс', $reward); diff --git a/app/Modules/Payment/Models/AgentPayment.php b/app/Modules/Payment/Models/AgentPayment.php new file mode 100644 index 0000000..b5f81e0 --- /dev/null +++ b/app/Modules/Payment/Models/AgentPayment.php @@ -0,0 +1,17 @@ +value == -1) + { + if ($this->paymentable_type == 'Company') + { + return false; + } + + if ($this->paymentable_type == 'Agent') + { + $agent = Agent::find($this->paymentable_id); + $company = $agent->company; + $parentPaymentable = $company->getPaymentable(Complex::find($this->complex_id)); + return $parentPaymentable->getPaymentablePercent(); + } + } + //не установлено + if ($this->value == null) + { + return false; + } + + return $this->value; + } } diff --git a/app/Modules/Payment/Traits/Paymentable.php b/app/Modules/Payment/Traits/Paymentable.php index 9f5b0d4..9fd5f35 100644 --- a/app/Modules/Payment/Traits/Paymentable.php +++ b/app/Modules/Payment/Traits/Paymentable.php @@ -46,6 +46,7 @@ public function getPaymentable(Complex $complex) return false; } + public function setPayment(Complex $complex, $value) { $paymentable = $this->getPaymentable($complex);