/** * funcion retorna registros mediante id de hader * * @param type $idHeader * * @return boolean */ public function getDetailByHeader($idHeader) { $query = Detail::where('op_td_header_id', '=', $idHeader); $this->model = $query->get(); if ($this->model->count() == 1) { $this->model = $this->model->first(); return true; } return false; }
public function listInsured($rp_id, $header_id, $steep) { $prodParam = ProductParameter::where('ad_retailer_product_id', decode($rp_id))->where('slug', 'GE')->first(); $detail = Detail::where('op_td_header_id', decode($header_id))->get(); $exedDetail = 0; if (count($detail) == $prodParam->detail) { $exedDetail = $prodParam->detail; } $var = ['template' => view('td.listInsured', compact('detail', 'header_id', 'rp_id', 'exedDetail', 'prodParam', 'steep'))->render()]; return response()->json($var); }
/** * Store vehicle Facultative TD * * @param Model|Detail $detail * @param Model|RetailerProduct $retailerProduct * @param Model|User $user * @param bool $coverage * * @return bool * @throws \Exception */ public function storeTdFacultative($detail, $retailerProduct, $user, $coverage = false) { $parameters = $retailerProduct->parameters; $parameter = null; $exchange_rate = $retailerProduct->retailer->exchangeRate; $reason = ''; $slug = $detail->matter_insured === 'PR' && $detail->use === 'IP' ? 'FA' : 'GE'; $parameter = $parameters->filter(function ($item) use($slug) { return $item->slug === $slug; })->first(); if ($parameter instanceof ProductParameter) { $insured_value = $detail->insured_value; if ($detail->header->currency === 'BS') { $insured_value = $detail->insured_value / $exchange_rate->bs_value; } $amount = false; $amount_max = 0; switch ($parameter->slug) { case 'GE': $amount = $insured_value > $parameter->amount_max ? true : false; $amount_max = $parameter->amount_max; break; case 'FA': $amount = $insured_value >= $parameter->amount_min || $insured_value > $parameter->amount_max ? true : false; $amount_max = $parameter->amount_min; break; } $reason .= $amount ? str_replace([':matter_insured', ':amount_max'], [config('base.property_types.' . $detail->matter_insured), number_format($amount_max, 2)], $this->reasonProperty) . '<br>' : ''; if ($coverage) { if ($amount) { $this->errors = ['reason' => $reason]; $detail->delete(); return 428; } $detail->update(['approved' => true]); return 202; } /*try { if ($year || $amount) { if ($detail->facultative instanceof Facultative) { $detail->facultative->update([ 'reason' => $reason, 'state' => 'PE', 'read' => false, ]); } else { $detail->facultative()->create([ 'id' => date('U'), 'ad_user_id' => $user->id, 'reason' => $reason, 'state' => 'PE', 'read' => false, ]); } } elseif ($detail->facultative instanceof Facultative) { $detail->facultative->delete(); } return true; } catch (QueryException $e) { $this->errors = $e->getMessage(); }*/ return true; } return false; }