public function index() { $cartypes = CarType::all(['id', 'name']); $cartypeselectlist = array(); array_push($cartypeselectlist, ':เลือกประเภทรถ'); foreach ($cartypes as $ct) { array_push($cartypeselectlist, $ct->id . ':' . $ct->name); } $colors = Color::all(['id', 'code', 'name']); $colorselectlist = array(); array_push($colorselectlist, ':เลือกสี'); foreach ($colors as $item) { array_push($colorselectlist, $item->id . ':' . $item->code . ' - ' . $item->name); } return view('settings.carmodel', ['cartypeselectlist' => implode(";", $cartypeselectlist), 'colorselectlist' => implode(";", $colorselectlist)]); }
public function index() { if (!$this->hasPermission($this->menuPermissionName)) { return view($this->viewPermissiondeniedName); } $cartypes = CarType::orderBy('name', 'asc')->get(['id', 'name']); $cartypeselectlist = array(); array_push($cartypeselectlist, ':เลือกประเภทรถ'); foreach ($cartypes as $ct) { array_push($cartypeselectlist, $ct->id . ':' . $ct->name); } $carbrands = CarBrand::orderBy('name', 'asc')->get(['id', 'name']); $carbrandselectlist = array(); array_push($carbrandselectlist, ':เลือกยี่ห้อรถ'); foreach ($carbrands as $item) { array_push($carbrandselectlist, $item->id . ':' . $item->name); } $colors = Color::orderBy('code', 'asc')->orderBy('name', 'asc')->get(['id', 'code', 'name']); $colorselectlist = array(); array_push($colorselectlist, ':เลือกสี'); foreach ($colors as $item) { array_push($colorselectlist, $item->id . ':' . $item->code . ' - ' . $item->name); } $provinces = Province::orderBy('name', 'asc')->get(['id', 'name']); $provinceselectlist = array(); array_push($provinceselectlist, ':เลือกจังหวัด'); foreach ($provinces as $item) { array_push($provinceselectlist, $item->id . ':' . $item->name); } $defaultCarBrand = ''; $carBrand = CarBrand::where('name', "NISSAN")->first(); if ($carBrand != null) { $defaultCarBrand = $carBrand->id; } return view('settings.carmodel', ['cartypeselectlist' => implode(";", $cartypeselectlist), 'carbrandselectlist' => implode(";", $carbrandselectlist), 'colorselectlist' => implode(";", $colorselectlist), 'provinceselectlist' => implode(";", $provinceselectlist), 'defaultCarBrand' => $defaultCarBrand]); }
public function getforaccountingdetailbyid($id, $donumberformat) { if (!$this->hasPermission($this->menuPermissionName)) { return view($this->viewPermissiondeniedName); } $accountingdetail = new AccountingDetail(); $accountingdetail->carpaymentid = $id; $carpayment = CarPayment::find($id); $branch = Branch::find($carpayment->branchid); $accountingdetail->branchname = $branch->name; $carpreemption = CarPreemption::find($carpayment->carpreemptionid); $customer = Customer::find($carpreemption->buyercustomerid); $accountingdetail->customername = $customer->title . $customer->firstname . ' ' . $customer->lastname; if ($carpayment->deliverycardate != null && $carpayment->deliverycardate != '') { $accountingdetail->date = date('d-m-Y', strtotime($carpayment->deliverycardate)); $accountingdetail->deliverycardate = date('d-m-Y', strtotime($carpayment->deliverycardate)); } else { $accountingdetail->date = null; $accountingdetail->deliverycardate = "-"; } $pricelist = Pricelist::find($carpreemption->pricelistid); $accountingdetail->carpriceinpricelist = $pricelist->sellingpricewithaccessories; $accountingdetail->colorprice = $carpreemption->colorprice; $carwithcolorprice = $pricelist->sellingpricewithaccessories + $carpreemption->colorprice; $accountingdetail->carwithcolorprice = $carwithcolorprice; $accountingdetail->purchasetype = $carpreemption->purchasetype; if ($carpreemption->purchasetype == 0) { $openbill = $accountingdetail->carwithcolorprice - $carpreemption->discount; } else { $openbill = $accountingdetail->carwithcolorprice - $carpreemption->discount + $carpreemption->accessories + $carpayment->accessoriesfeeincludeinyodjud; } $accountingdetail->openbill = $openbill; $accountingdetail->accessoriesfeeincludeinyodjud = $carpayment->accessoriesfeeincludeinyodjud; $accountingdetail->fakeaccessories = $carpreemption->accessories; $accountingdetail->discount = $carpreemption->discount; $accountingdetail->subdown = $carpreemption->subdown; $realsalesprice = $carwithcolorprice + $carpayment->accessoriesfeeincludeinyodjud - $carpreemption->discount - $carpreemption->subdown; $accountingdetail->realsalesprice = $realsalesprice; $accountingdetail->accessoriesfeeactuallypaid = $carpayment->accessoriesfeeactuallypaid; $registrationfee = $carpreemption->registrationfeefree ? 0 : $carpreemption->registrationfee; $accountingdetail->registrationfee = $registrationfee; $accountingdetail->actualinsurancefee = $carpreemption->insurancefee; if ($carpreemption->purchasetype == 0) { $compulsorymotorinsurancefeecash = $carpreemption->compulsorymotorinsurancefeefree ? 0 : $carpreemption->compulsorymotorinsurancefee; $conditioncompulsorymotorinsurancefeecustomerpaid = $compulsorymotorinsurancefeecash; $accountingdetail->compulsorymotorinsurancefeecash = $compulsorymotorinsurancefeecash; $insurancefeecash = $carpreemption->insurancefeefree ? 0 : $carpreemption->insurancefee; $accountingdetail->insurancefeecash = $insurancefeecash; $accountingdetail->compulsorymotorinsurancefeefn = 0; $compulsorymotorinsurancefeefn = 0; $accountingdetail->insurancefeefn = 0; $insurancefeefn = 0; $accountingdetail->firstinstallmentpayamount = 0; $firstinstallmentpayamount = 0; $accountingdetail->installmentsinadvance = 0; $accountingdetail->amountperinstallment = 0; $accountingdetail->payinadvanceamount = 0; $payinadvanceamount = 0; $accountingdetail->insurancepremium = 0; $accountingdetail->totalinadvancefees = 0; $totalinadvancefees = 0; $accountingdetail->conditioninsurancefee = $carpreemption->insurancefee; $accountingdetail->conditioninsurancefeecustomerpaid = $insurancefeecash; $conditioninsurancefeecompanypaid = $carpreemption->insurancefee - $insurancefeecash; $accountingdetail->conditioninsurancefeecompanypaid = $conditioninsurancefeecompanypaid; $accountingdetail->conditioncompulsorymotorinsurancefeecustomerpaid = $compulsorymotorinsurancefeecash; } else { $compulsorymotorinsurancefeecash = 0; $insurancefeecash = 0; $compulsorymotorinsurancefeefn = $carpreemption->compulsorymotorinsurancefeefree ? 0 : $carpreemption->compulsorymotorinsurancefee; $conditioncompulsorymotorinsurancefeecustomerpaid = $compulsorymotorinsurancefeefn; $accountingdetail->compulsorymotorinsurancefeefn = $compulsorymotorinsurancefeefn; $insurancefeefn = $carpreemption->insurancefeefree ? 0 : $carpreemption->insurancefee; $accountingdetail->insurancefeefn = $insurancefeefn; $firstinstallmentpayamount = $carpayment->firstinstallmentpay ? $carpayment->amountperinstallment : 0; $accountingdetail->firstinstallmentpayamount = $firstinstallmentpayamount; $accountingdetail->installmentsinadvance = $carpayment->installmentsinadvance; $accountingdetail->amountperinstallment = $carpayment->amountperinstallment; $payinadvanceamount = $carpayment->installmentsinadvance * $carpayment->amountperinstallment; $accountingdetail->payinadvanceamount = $payinadvanceamount; $accountingdetail->insurancepremium = $carpayment->insurancepremium; $totalinadvancefees = $insurancefeefn + $compulsorymotorinsurancefeefn + $firstinstallmentpayamount + $payinadvanceamount + $carpayment->insurancepremium; $accountingdetail->totalinadvancefees = $totalinadvancefees; $accountingdetail->compulsorymotorinsurancefeecash = 0; $accountingdetail->insurancefeecash = 0; $accountingdetail->conditioninsurancefee = $carpreemption->insurancefee; $accountingdetail->conditioninsurancefeecustomerpaid = $insurancefeefn; $conditioninsurancefeecompanypaid = $carpreemption->insurancefee - $insurancefeefn; $accountingdetail->conditioninsurancefeecompanypaid = $conditioninsurancefeecompanypaid; $accountingdetail->conditioncompulsorymotorinsurancefeecustomerpaid = $compulsorymotorinsurancefeefn; } $implementfee = $carpreemption->implementfeefree ? 0 : $carpreemption->implementfee; $accountingdetail->implementfee = $implementfee; $subsidise = $carpreemption->subsidisefree ? 0 : $carpreemption->subsidise; $accountingdetail->subsidise = $subsidise; $accountingdetail->giveawaywithholdingtax = $carpreemption->giveawaywithholdingtax; $accountingdetail->otherfee = $carpreemption->otherfee; $accountingdetail->otherfeedetail = $carpreemption->otherfeedetail; $accountingdetail->otherfee2 = $carpreemption->otherfee2; $accountingdetail->otherfeedetail2 = $carpreemption->otherfeedetail2; $accountingdetail->otherfee3 = $carpreemption->otherfee3; $accountingdetail->otherfeedetail3 = $carpreemption->otherfeedetail3; $totalotherfee = $subsidise + $carpreemption->giveawaywithholdingtax + $carpreemption->otherfee + $carpreemption->otherfee2 + $carpreemption->otherfee3; $accountingdetail->totalotherfee = $totalotherfee; $totalotherfees = $carpayment->accessoriesfeeactuallypaid + $registrationfee + $compulsorymotorinsurancefeecash + $insurancefeecash + $implementfee + $totalotherfee; $accountingdetail->totalotherfees = $totalotherfees; $carmodel = CarModel::find($carpreemption->carmodelid); $carsubmodel = CarSubModel::find($carpreemption->carsubmodelid); $accountingdetail->submodel = $carmodel->name . '/' . $carsubmodel->name; $car = Car::find($carpayment->carid); $accountingdetail->carno = $car->no; $accountingdetail->engineno = $car->engineno; $accountingdetail->chassisno = $car->chassisno; $color = Color::find($car->colorid); $accountingdetail->color = $color->code; $accountingdetail->purchasetypetext = $carpreemption->purchasetype == 0 ? "C" : "F"; $accountingdetail->down = $carpreemption->down; $insurancecompany = InsuranceCompany::find($carpayment->insurancecompanyid); if ($insurancecompany != null) { $accountingdetail->insurancecompany = $insurancecompany->name; } $accountingdetail->capitalinsurance = $carpayment->capitalinsurance; $compulsorymotorinsurancecompany = InsuranceCompany::find($carpayment->compulsorymotorinsurancecompanyid); if ($compulsorymotorinsurancecompany != null) { $accountingdetail->compulsorymotorinsurancecompany = $compulsorymotorinsurancecompany->name; } $cartype = CarType::find($carmodel->cartypeid); $accountingdetail->conditioncompulsorymotorinsurancefee = $cartype->actpaidincludevat; $accountingdetail->hascompulsorymotorinsurancefee = $cartype->actpaidincludevat == 0 ? 0 : 1; $conditioncompulsorymotorinsurancefeecompanypaid = $cartype->actpaidincludevat - $conditioncompulsorymotorinsurancefeecustomerpaid; $accountingdetail->conditioncompulsorymotorinsurancefeecompanypaid = $conditioncompulsorymotorinsurancefeecompanypaid; $note1insurancefee = $carpreemption->insurancefee * 100 / 107.0; $accountingdetail->note1insurancefee = $note1insurancefee; $accountingdetail->note1insurancefeeincludevat = $carpreemption->insurancefee; $note1insurancefeevat = $carpreemption->insurancefee - $note1insurancefee; $accountingdetail->note1insurancefeevat = $note1insurancefeevat; $accountingdetail->note1compulsorymotorinsurancefee = $cartype->actpaid; $accountingdetail->note1compulsorymotorinsurancefeevat = $cartype->actpaidincludevat - $cartype->actpaid; $accountingdetail->note1compulsorymotorinsurancefeeincludevat = $cartype->actpaidincludevat; $note1totalfee = $note1insurancefee + $cartype->actpaid; $accountingdetail->note1totalfee = $note1totalfee; $note1totalfeevat = $note1insurancefeevat + ($cartype->actpaidincludevat - $cartype->actpaid); $accountingdetail->note1totalfeevat = $note1totalfeevat; $note1totalfeeincludevat = $carpreemption->insurancefee + $cartype->actpaidincludevat; $accountingdetail->note1totalfeeincludevat = $note1totalfeeincludevat; $cashpledgeredlabel = $carpreemption->cashpledgeredlabel; $accountingdetail->cashpledgeredlabel = $cashpledgeredlabel; if ($cashpledgeredlabel == null || $cashpledgeredlabel == 0) { $accountingdetail->hascashpledgeredlabel = 0; } else { $accountingdetail->hascashpledgeredlabel = 1; } $redlabelhistory = Redlabelhistory::where('carpreemptionid', $carpreemption->id)->orderBy('id', 'desc')->first(); if ($redlabelhistory != null) { if ($redlabelhistory->returndate != null) { $accountingdetail->redlabelreturncashpledgedate = date('d-m-Y', strtotime($redlabelhistory->returncashpledgedate)); } else { $accountingdetail->redlabelreturncashpledgedate = "-"; } } else { $accountingdetail->redlabelreturncashpledgedate = "ไม่เอาป้าย"; } $cashpledge = $carpreemption->cashpledge; $accountingdetail->cashpledge = $cashpledge; $totalcashpledge = $cashpledgeredlabel - $cashpledge; $accountingdetail->totalcashpledge = $totalcashpledge; $totalcash = $realsalesprice + $totalotherfees + $totalinadvancefees + $totalcashpledge; $accountingdetail->totalcash = $totalcash; $finacecompany = FinaceCompany::find($carpreemption->finacecompanyid); if ($finacecompany != null) { $accountingdetail->finacecompany = $finacecompany->name; } $accountingdetail->incasefinace = $carpreemption->purchasetype; if ($carpreemption->purchasetype == 1) { $accountingdetail->interest = $carpreemption->interest; $accountingdetail->installments = $carpreemption->installments; $pricelist = Pricelist::find($carpreemption->pricelistid); $carprice = $pricelist->sellingpricewithaccessories + $carpreemption->colorprice; $yodjud = $carprice - $carpreemption->discount - $carpreemption->down + $carpreemption->accessories + $carpayment->accessoriesfeeincludeinyodjud; $yodjudwithinsurancepremium = $yodjud + $carpayment->insurancepremium; $accountingdetail->yodjud = $yodjudwithinsurancepremium; $yodjudwithinterest = $yodjudwithinsurancepremium * ($carpreemption->interest + 100) / 100.0; $accountingdetail->yodjudwithinterest = $yodjudwithinterest; $finaceprofit = $yodjudwithinterest - $yodjudwithinsurancepremium; $commissionfinace = CommissionFinace::where('finacecompanyid', $carpreemption->finacecompanyid)->where('interestratetypeid', $carpreemption->interestratetypeid)->where('finaceminimumprofit', '<=', $finaceprofit)->where('effectivefrom', '<=', $carpreemption->date)->where('effectiveto', '>=', $carpreemption->date)->whereHas('commissionFinaceCars', function ($query) use($carpreemption) { $query->where('carmodelid', $carpreemption->carmodelid)->Where(function ($query) use($carpreemption) { $query->where('carsubmodelid', $carpreemption->carsubmodelid)->orWhere('carsubmodelid', 0); }); })->first(); $percentdown = $carpreemption->down * 100.0 / ($carprice - $carpreemption->discount + $carpreemption->accessories); $accountingdetail->comfinpercent = null; $comfinpercent = 0; $accountingdetail->comfinyear = null; $comfinyear = 0; if ($commissionfinace != null) { $commissionfinaceinterest = CommissionFinaceInterest::where('commissionfinaceid', $commissionfinace->id)->where('downfrom', '<=', $percentdown)->where('downto', '>=', $percentdown)->first(); if ($commissionfinaceinterest != null) { $commissionstandardinterest = 0; switch ($carpreemption->installments) { case 24: $commissionstandardinterest = $commissionfinaceinterest->installment24; break; case 36: $commissionstandardinterest = $commissionfinaceinterest->installment36; break; case 48: $commissionstandardinterest = $commissionfinaceinterest->installment48; break; case 60: $commissionstandardinterest = $commissionfinaceinterest->installment60; break; case 72: $commissionstandardinterest = $commissionfinaceinterest->installment72; break; case 84: $commissionstandardinterest = $commissionfinaceinterest->installment84; break; } $commissionfinaceinterests = CommissionFinaceCom::where('commissionfinaceid', $commissionfinace->id)->orderBy('com', 'asc')->get(); $previousstepcom = null; foreach ($commissionfinaceinterests as $item) { if ($carpreemption->interestratemode == 0) { $currentstepinterest = $commissionstandardinterest + $item->interestcalculationbeginning; } else { $currentstepinterest = $commissionstandardinterest + $item->interestcalculationending; } if ($carpreemption->interest == $currentstepinterest) { $accountingdetail->comfinpercent = $item->com; $accountingdetail->comfinyear = $commissionfinace->years; $comfinpercent = $item->com; $comfinyear = $commissionfinace->years; break; } else { if ($carpreemption->interest < $currentstepinterest) { if ($previousstepcom != null) { $accountingdetail->comfinpercent = $previousstepcom; $accountingdetail->comfinyear = $commissionfinace->years; $comfinpercent = $previousstepcom; $comfinyear = $commissionfinace->years; } else { $accountingdetail->comfinpercent = null; $accountingdetail->comfinyear = null; $comfinpercent = 0; $comfinyear = 0; } break; } else { if ($carpreemption->interest > $currentstepinterest) { $previousstepcom = $item->com; } } } } if ($accountingdetail->comfinpercent == null) { if ($previousstepcom != null) { $accountingdetail->comfinpercent = $previousstepcom; $accountingdetail->comfinyear = $commissionfinace->years; $comfinpercent = $previousstepcom; $comfinyear = $commissionfinace->years; } } } } $employee = Employee::find($carpreemption->salesmanemployeeid); $accountingdetail->salename = $employee->title . $employee->firstname . ' ' . $employee->lastname; $accountingdetail->incasefinaceinsurancefee = $carpreemption->insurancefee; $accountingdetail->note2insurancefeewhtax = $note1insurancefee / 100.0; $accountingdetail->note2insurancefee = $insurancefeefn; $note2insurancefeeexpense = $conditioninsurancefeecompanypaid > 0 ? $conditioninsurancefeecompanypaid : 0; $accountingdetail->note2insurancefeeexpense = $note2insurancefeeexpense; $note2insurancefeeincome = $conditioninsurancefeecompanypaid < 0 ? $conditioninsurancefeecompanypaid * -1 : 0; $accountingdetail->note2insurancefeeincome = $note2insurancefeeincome; $accountingdetail->incasefinacecompulsorymotorinsurancefee = $cartype->actpaidincludevat; $accountingdetail->note2compulsorymotorinsurancefeewhtax = $cartype->actpaid / 100.0; $accountingdetail->note2compulsorymotorinsurancefee = $compulsorymotorinsurancefeefn; $note2compulsorymotorinsurancefeeexpense = $conditioncompulsorymotorinsurancefeecompanypaid > 0 ? $conditioncompulsorymotorinsurancefeecompanypaid : 0; $accountingdetail->note2compulsorymotorinsurancefeeexpense = $note2compulsorymotorinsurancefeeexpense; $note2compulsorymotorinsurancefeeincome = $conditioncompulsorymotorinsurancefeecompanypaid < 0 ? $conditioncompulsorymotorinsurancefeecompanypaid * -1 : 0; $accountingdetail->note2compulsorymotorinsurancefeeincome = $note2compulsorymotorinsurancefeeincome; $accountingdetail->incasefinacefirstinstallmentpayamount = $firstinstallmentpayamount; $accountingdetail->note2firstinstallmentpayamount = $firstinstallmentpayamount; $accountingdetail->incasefinacepayinadvanceamount = $payinadvanceamount; $accountingdetail->note2payinadvanceamount = $payinadvanceamount; $accountingdetail->incasefinaceinsurancepremium = $carpayment->insurancepremium; $accountingdetail->note2insurancepremium = $carpayment->insurancepremium; $totalincasefinace = $carpreemption->insurancefee + $cartype->actpaidincludevat + $firstinstallmentpayamount + $payinadvanceamount + $carpayment->insurancepremium; $accountingdetail->totalincasefinace = $totalincasefinace; $accountingdetail->incasefinacereceivedcash = $yodjudwithinsurancepremium - $totalincasefinace; $note2total1 = $insurancefeefn + $compulsorymotorinsurancefeefn + $firstinstallmentpayamount + $payinadvanceamount + $carpayment->insurancepremium; $accountingdetail->note2total1 = $note2total1; $note2total2 = $note2insurancefeeexpense + $note2compulsorymotorinsurancefeeexpense; $accountingdetail->note2total2 = $note2total2; $note2total3 = $note2insurancefeeincome + $note2compulsorymotorinsurancefeeincome; $accountingdetail->note2total3 = $note2total3; $accountingdetail->incasefinacesubsidise = $carpreemption->subsidise; $incasefinacesubsidisewithvat = $carpreemption->subsidise + $carpreemption->subsidise * 0.07000000000000001; $accountingdetail->incasefinacesubsidisewithvat = $incasefinacesubsidisewithvat; $accountingdetail->note2subsidisewhtax = $carpreemption->subsidise * 0.03; $note2subsidisetotal = $carpreemption->subsidise + $carpreemption->subsidise * 0.07000000000000001 - $carpreemption->subsidise * 0.03; $accountingdetail->note2subsidisetotal = $note2subsidisetotal; $incasefinacehassubsidisereceivedcash = $yodjudwithinsurancepremium - $totalincasefinace - $incasefinacesubsidisewithvat; $accountingdetail->incasefinacehassubsidisereceivedcash = $incasefinacehassubsidisereceivedcash; $note2totalwhtax = $note1insurancefee / 100.0 + $cartype->actpaid / 100.0 + $carpreemption->subsidise * 0.03; $accountingdetail->note2totalwhtax = $note2totalwhtax; //NLTH,AYCAL,KL if ($carpreemption->finacecompanyid == 1 || $carpreemption->finacecompanyid == 2 || $carpreemption->finacecompanyid == 4) { $incasefinacecomfinamountwithvat = $yodjud * ($carpreemption->interest / 100.0) * $comfinyear * ($comfinpercent / 100.0); $incasefinacecomfinamount = $incasefinacecomfinamountwithvat / 1.07; $incasefinacecomfinvat = $incasefinacecomfinamountwithvat - $incasefinacecomfinamount; } else { if ($carpreemption->finacecompanyid == 3 || $carpreemption->finacecompanyid == 5) { $incasefinacecomfinamount = floor($yodjud / 1.07 * ($carpreemption->interest / 100.0) * $comfinyear * ($comfinpercent / 100.0)); $incasefinacecomfinvat = $incasefinacecomfinamount * 0.07000000000000001; $incasefinacecomfinamountwithvat = $incasefinacecomfinamount + $incasefinacecomfinvat; } else { if ($carpreemption->finacecompanyid == 6) { $incasefinacecomfinamount = round($yodjud / 1.07 * ($carpreemption->interest / 100.0) * $comfinyear * ($comfinpercent / 100.0), 2); $incasefinacecomfinvat = $incasefinacecomfinamount * 0.07000000000000001; $incasefinacecomfinamountwithvat = $incasefinacecomfinamount + $incasefinacecomfinvat; } else { if ($carpreemption->finacecompanyid == 7) { $incasefinacecomfinamount = ($carpayment->amountperinstallment / 1.07 * $carpreemption->installments - $yodjud / 1.07) * ($comfinpercent / 100.0) * 48 / $carpreemption->installments; $incasefinacecomfinvat = $incasefinacecomfinamount * 0.07000000000000001; $incasefinacecomfinamountwithvat = $incasefinacecomfinamount + $incasefinacecomfinvat; } } } } $accountingdetail->incasefinacecomfinamount = $incasefinacecomfinamount; $accountingdetail->incasefinacecomfinvat = $incasefinacecomfinvat; $accountingdetail->incasefinacecomfinamountwithvat = $incasefinacecomfinamountwithvat; $accountingdetail->incasefinacecomfinwhtax = $incasefinacecomfinamount * 0.03; $incasefinacecomfintotal = $incasefinacecomfinamountwithvat - $incasefinacecomfinamount * 0.03; $accountingdetail->incasefinacecomfintotal = $incasefinacecomfintotal; $commissionextra = CommissionExtra::where('finacecompanyid', $carpreemption->finacecompanyid)->where('effectivefrom', '<=', $carpreemption->date)->where('effectiveto', '>=', $carpreemption->date)->whereHas('commissionExtraCars', function ($query) use($carpreemption) { $query->where('carmodelid', $carpreemption->carmodelid)->Where(function ($query) use($carpreemption) { $query->where('carsubmodelid', $carpreemption->carsubmodelid)->orWhere('carsubmodelid', 0); }); })->first(); if ($commissionfinace != null) { $accountingdetail->incasefinacecomextraamount = $commissionextra->amount; $incasefinacecomextraamount = $commissionextra->amount; $accountingdetail->incasefinacecomextravat = $commissionextra->amount * 0.07000000000000001; $incasefinacecomextravat = $commissionextra->amount * 0.07000000000000001; $incasefinacecomextraamountwithvat = $commissionextra->amount + $commissionextra->amount * 0.07000000000000001; $accountingdetail->incasefinacecomextraamountwithvat = $incasefinacecomextraamountwithvat; $accountingdetail->incasefinacecomextrawhtax = $commissionextra->amount * 0.03; $incasefinacecomextrawhtax = $commissionextra->amount * 0.03; $incasefinacecomextratotal = $incasefinacecomextraamountwithvat - $commissionextra->amount * 0.03; $accountingdetail->incasefinacecomextratotal = $incasefinacecomextratotal; } else { $accountingdetail->incasefinacecomextraamount = 0; $incasefinacecomextraamount = 0; $accountingdetail->incasefinacecomextravat = 0; $incasefinacecomextravat = 0; $accountingdetail->incasefinacecomextraamountwithvat = 0; $accountingdetail->incasefinacecomextrawhtax = 0; $incasefinacecomextrawhtax = 0; $accountingdetail->incasefinacecomextratotal = 0; $incasefinacecomextratotal = 0; } if ($carpayment->insurancepremium > 0) { $commissionpa = CommissionPA::where('finacecompanyid', $carpreemption->finacecompanyid)->where('effectivefrom', '<=', $carpreemption->date)->where('effectiveto', '>=', $carpreemption->date)->first(); if ($commissionpa != null) { $accountingdetail->incasefinacecompaamount = $commissionpa->amount; $incasefinacecompaamount = $commissionpa->amount; $accountingdetail->incasefinacecompavat = $commissionpa->amount * 0.07000000000000001; $incasefinacecompavat = $commissionpa->amount * 0.07000000000000001; $incasefinacecompaamountwithvat = $commissionpa->amount + $commissionpa->amount * 0.07000000000000001; $accountingdetail->incasefinacecompaamountwithvat = $incasefinacecompaamountwithvat; $accountingdetail->incasefinacecompawhtax = $commissionpa->amount * 0.03; $incasefinacecompawhtax = $commissionpa->amount * 0.03; $incasefinacecompatotal = $incasefinacecompaamountwithvat - $commissionpa->amount * 0.03; $accountingdetail->incasefinacecompatotal = $incasefinacecompatotal; } else { $accountingdetail->incasefinacecompaamount = 0; $incasefinacecompaamount = 0; $accountingdetail->incasefinacecompavat = 0; $incasefinacecompavat = 0; $accountingdetail->incasefinacecompaamountwithvat = 0; $accountingdetail->incasefinacecompawhtax = 0; $incasefinacecompawhtax = 0; $accountingdetail->incasefinacecompatotal = 0; $incasefinacecompatotal = 0; } } else { $accountingdetail->incasefinacecompaamount = 0; $incasefinacecompaamount = 0; $accountingdetail->incasefinacecompavat = 0; $incasefinacecompavat = 0; $accountingdetail->incasefinacecompaamountwithvat = 0; $accountingdetail->incasefinacecompawhtax = 0; $incasefinacecompawhtax = 0; $accountingdetail->incasefinacecompatotal = 0; $incasefinacecompatotal = 0; } $incasefinacetotalcomamount = $incasefinacecomfinamount + $incasefinacecomextraamount + $incasefinacecompaamount; $accountingdetail->incasefinacetotalcomamount = $incasefinacetotalcomamount; $incasefinacetotalcomvat = $incasefinacecomfinamount * 0.07000000000000001 + $incasefinacecomextravat + $incasefinacecompavat; $accountingdetail->incasefinacetotalcomvat = $incasefinacetotalcomvat; $incasefinacetotalcomamountwithvat = $incasefinacetotalcomamount + $incasefinacetotalcomvat; $accountingdetail->incasefinacetotalcomamountwithvat = $incasefinacetotalcomamountwithvat; $incasefinacetotalcomwhtax = $incasefinacecomfinamount * 0.03 + $incasefinacecomextrawhtax + $incasefinacecompawhtax; $accountingdetail->incasefinacetotalcomwhtax = $incasefinacetotalcomwhtax; $incasefinacetotalcomtotal = $incasefinacecomfintotal + $incasefinacecomextratotal + $incasefinacecompatotal; $accountingdetail->incasefinacetotalcomtotal = $incasefinacetotalcomtotal; $receivedcashfromfinace = round($incasefinacehassubsidisereceivedcash, 2) + round($note2totalwhtax, 2) + round($incasefinacetotalcomtotal, 2); $accountingdetail->receivedcashfromfinace = $receivedcashfromfinace; $accountingdetail->receivedcashfromfinacenet = $receivedcashfromfinace; $accountingdetail->receivedcashfromfinaceshort = $receivedcashfromfinace; $accountingdetail->receivedcashfromfinacenetshort = $receivedcashfromfinace; $accountingdetail->receivedcashfromfinaceover = 0; $accountingdetail->receivedcashfromfinacenetover = 0; } else { $yodjud = 0; $yodjudwithinsurancepremium = 0; $accountingdetail->incasefinacereceivedcash = 0; } $tradereceivableaccount2amount = $totalcash - $yodjudwithinsurancepremium; $accountingdetail->tradereceivableaccount2amount = $tradereceivableaccount2amount; $oldcarprice = $carpreemption->oldcarprice; $accountingdetail->oldcarprice = $oldcarprice; $overdue = $carpayment->overdue; $accountingdetail->overdue = $overdue; $tradereceivableaccount2remainingamount = $tradereceivableaccount2amount - $oldcarprice - $overdue; $accountingdetail->tradereceivableaccount2remainingamount = $tradereceivableaccount2remainingamount; $accountingdetail->ins = $accountingdetail->note1insurancefeeincludevat; //$carpreemption->insurancefee; $accountingdetail->prb = $accountingdetail->note1compulsorymotorinsurancefeeincludevat; //$carpreemption->compulsorymotorinsurancefee; $accountingdetail->dc = $carpreemption->accessories + $carpreemption->subdown; $accountingdetail->totalacc2 = $tradereceivableaccount2remainingamount; $accountingdetail->totalacc2short = $tradereceivableaccount2remainingamount; $accountingdetail->totalacc2over = 0; $accountingdetail->totalaccount2 = $tradereceivableaccount2remainingamount; $accountingdetail->totalaccount2short = $tradereceivableaccount2remainingamount; $accountingdetail->totalaccount2over = 0; $arrNotFormatted = array("id", "purchasetype", "carpaymentid", "hasinsurancefee", "hascompulsorymotorinsurancefee", "hascashpledgeredlabel", "systemcalincasefinacecomfinamount", "systemcalincasefinacecomfinvat", "systemcalincasefinacecomfinamountwithvat", "systemcalincasefinacecomfinwhtax", "systemcalincasefinacecomfintotal", "receivedcashfromfinacenet", "receivedcashfromfinacenetshort", "receivedcashfromfinacenetover", "totalaccount1", "totalaccount1short", "totalaccount1over", "totalaccount2", "totalaccount2short", "totalaccount2over", 'totalaccounts', 'totalaccountsshort', 'totalaccountsover', "invoiceno", "additionalopenbill", "deliverycardate", "cashpledgeredlabelreceiptbookno", "cashpledgeredlabelreceiptno", "cashpledgeredlabelreceiptdate", "redlabelreturncashpledgedate", "cashpledgereceiptbookno", "cashpledgereceiptno", "cashpledgereceiptdate", "incasefinacecomfinamount", "incasefinacecomfinvat", "incasefinacecomfinamountwithvat", "incasefinacecomfinwhtax", "incasefinacecomfintotal", "oldcarcomamount", 'oldcarcomdate', "adj", "insurancefeereceiptcondition", "compulsorymotorinsurancefeereceiptcondition", "payinadvanceamountreimbursementdate", "payinadvanceamountreimbursementdocno", 'insurancebilldifferent', "note1insurancefeereceiptcondition", "note1compulsorymotorinsurancefeereceiptcondition", 'insurancefeepayment', 'insurancefeepaidseparatelydate', 'insurancepremiumnet', 'insurancepremiumcom', 'insurancefeepaidseparatelytotal', 'compulsorymotorinsurancefeepayment', 'compulsorymotorinsurancefeepaidseparatelydate', 'compulsorymotorinsurancepremiumnet', 'compulsorymotorinsurancepremiumcom', 'compulsorymotorinsurancefeepaidseparatelytotal', "carno", "installmentsinadvance", "installments", "comfinyear", "createdby", "createddate", "modifiedby", "modifieddate", 'actualinsurancefee'); if ($donumberformat == 1) { foreach ($accountingdetail->toArray() as $key => $value) { if (!in_array($key, $arrNotFormatted)) { if (is_numeric($value) && (double) $value != 0.0) { $value = number_format($value, 2, '.', ','); } else { if ($value == null || $value == '' || is_numeric($value) && (double) $value == 0.0) { $value = '-'; } } $accountingdetail->{$key} = $value; } } } return $accountingdetail; }