Ejemplo n.º 1
0
 public function update($id)
 {
     // validate
     // read more on validation at http://laravel.com/docs/validation
     $rules = array('full_name' => 'required', 'name' => 'required', 'inn' => 'required', 'kpp' => 'required|size:9', 'ogrn' => 'required|unique:debtors|size:13');
     $validator = Validator::make(Input::all(), $rules);
     // process the login
     if ($validator->fails()) {
         return Redirect::to('debtor')->withErrors($validator);
     } else {
         // store
         $debtor = Debtor::find($id);
         $debtor->full_name = Input::get('full_name');
         $debtor->name = Input::get('name');
         $debtor->inn = Input::get('inn');
         $debtor->kpp = Input::get('kpp');
         $debtor->ogrn = Input::get('ogrn');
         if ($this->is_valid_inn((int) $debtor->inn)) {
             //Проверка инн
             $debtor->save();
         } else {
             var_dump('Error');
         }
         // redirect
         Session::flash('success', 'Изменения сохранены');
         return Redirect::to('debtor');
     }
 }
Ejemplo n.º 2
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     DB::table('debtors')->delete();
     $faker = FackerFactory::create('ja_JP');
     for ($i = 0; $i < 10; $i++) {
         Debtor::create(['name' => $faker->name(), 'address' => $faker->address(), 'phone_number1' => $faker->phoneNumber(), 'phone_number2' => $faker->phoneNumber(), 'postal_code' => $faker->postcode(), 'sex' => $faker->boolean(), 'married' => $faker->boolean(), 'note' => $faker->text(), 'birthday' => $faker->date()]);
     }
 }
Ejemplo n.º 3
0
 public function index(Request $request)
 {
     if ($request->ajax()) {
         $client_id = Input::get('filter-client');
         $debtor_id = Input::get('filter-debtor');
         $registry = Input::get('filter-registry');
         $choice = Input::get('filter-choice');
         $commissions = DailyChargeCommission::query();
         $commissions->where('handler', true);
         if ($client_id != 0) {
             $commissions->whereHas('delivery', function ($q) use($client_id) {
                 $q->where('client_id', '=', $client_id);
             });
         }
         if ($debtor_id != 0) {
             $commissions->whereHas('delivery', function ($q) use($debtor_id) {
                 $q->where('debtor_id', '=', $debtor_id);
             });
         }
         if ($registry != 0) {
             $commissions->whereHas('delivery', function ($q) use($registry) {
                 $q->where('registry', '=', $registry);
             });
         }
         if ($choice != 0) {
             $before = Input::get('filter-before');
             $after = Input::get('filter-after');
             $arratBetween = [$before, $after];
             if ($choice == 1) {
                 $commissions->whereHas('delivery', function ($q) use($arratBetween) {
                     $q->whereBetween('date_of_registry', $arratBetween);
                 });
             } elseif ($choice == 2) {
                 $commissions->whereBetween('created_at', $arratBetween);
             }
         }
         $commissions = $commissions->get();
         return view('reportRepayment.tableRow', ['commissions' => $commissions]);
     } else {
         $clients = Client::Where('active', true)->get();
         $debtors = Debtor::all();
         $debtors = Debtor::all();
         $registries = ChargeCommission::Distinct('registry')->lists('registry');
         return view('reportRepayment.index', ['clients' => $clients, 'debtors' => $debtors, 'registries' => $registries]);
     }
 }
Ejemplo n.º 4
0
 public function index(Request $request)
 {
     $sort = Input::get('sort') == null ? 'relation_id' : Input::get('sort');
     $client_id_select = Input::get('client_id_select') == null ? 'all' : Input::get('client_id_select');
     $countCongestion = Input::get('count_congestion') == null ? 'balance_owed' : Input::get('count_congestion');
     $sortDirection = Input::get('sortDirection') == null ? 'DESC' : Input::get('sortDirection');
     $clients = Client::all();
     $debtors = Debtor::all();
     $limits = Limit::whereHas('relation', function ($query) use($client_id_select) {
         if ($client_id_select !== 'all') {
             $query->where('client_id', '=', $client_id_select);
         }
     })->get();
     $usedLimit = array();
     foreach ($limits as $key => $limit) {
         $usedLimitItem = 0;
         foreach ($limit->relation->deliveries as $value) {
             if ($value->status == 'Профинансирована') {
                 if ($countCongestion == 'remainder_of_the_debt_first_payment') {
                     $usedLimitItem += $value->remainder_of_the_debt_first_payment;
                 } else {
                     $usedLimitItem += $value->balance_owed;
                 }
             }
         }
         $usedLimit[$key] = $usedLimitItem;
     }
     $relations = Relation::select('client_id')->distinct()->get();
     if ($request->ajax()) {
         if ($sort == 'client_id') {
             return view('limits.indexAjaxClient', ['clients' => $clients, 'countCongestion' => $countCongestion]);
         } else {
             if ($sort == 'debtor_id') {
                 return view('limits.indexAjaxDebtor', ['countCongestion' => $countCongestion, 'debtors' => $debtors]);
             } else {
                 return view('limits.indexAjax', ['limits' => $limits, 'relations' => $relations, 'usedLimit' => $usedLimit]);
             }
         }
     } else {
         return view('limits.index', ['limits' => $limits, 'relations' => $relations, 'usedLimit' => $usedLimit, 'clients' => $clients]);
     }
 }
 public function index()
 {
     $clients = Client::all();
     $debtors = Debtor::all();
     return view('chargeCommission.index', ['debtors' => $debtors, 'clients' => $clients]);
 }
Ejemplo n.º 6
0
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  *
  * @return Response
  */
 public function destroy($id)
 {
     Debtor::destroy($id);
     Session::flash('flash_message', 'Debtor deleted!');
     return redirect('debtor');
 }
Ejemplo n.º 7
0
 public function store()
 {
     //Session::start();
     //dd(Input::file('report'));
     if (Input::file('report')) {
         $result = Excel::load(Input::file('report'), function ($reader) {
             $reader->setDateFormat('Y-m-d');
             $reader->toObject();
         }, 'UTF-8')->get();
         $resultNotJson = $result->each(function ($sheet) {
             $sheet->each(function ($row) {
             });
         });
         $resultArrayNull = json_decode($resultNotJson);
         $resultArrayVar = [];
         $resultArray = [];
         $deliveryCheck = 0;
         $invoicesCheck = 0;
         for ($i = 0; $i < count($resultArrayNull); $i++) {
             for ($j = 0; $j < count($resultArrayNull[$i]); $j++) {
                 if (!empty($resultArrayNull[$i][$j])) {
                     if ($resultArrayNull[$i][$j] == 'Накладная' || $resultArrayNull[$i][$j] == 'накладная') {
                         $deliveryCheck++;
                     }
                     if ($resultArrayNull[$i][$j] == 'Счет-фактура' || $resultArrayNull[$i][$j] == 'счет-фактура') {
                         $invoicesCheck++;
                     }
                     array_push($resultArrayVar, $resultArrayNull[$i][$j]);
                 }
             }
             if (count($resultArrayVar) > 0) {
                 array_push($resultArray, $resultArrayVar);
             }
             $resultArrayVar = [];
         }
         //dd($invoicesCheck);
         if ($deliveryCheck > 0 && $invoicesCheck > 0 && $deliveryCheck == $invoicesCheck) {
             if (count($resultArray[0] === 4) && count($resultArray[1] === 4) && count($resultArray[2] === 4) && count($resultArray[3] === 2) && count($resultArray[4] === 4)) {
                 $clientInn = $resultArray[1][3];
                 $clientName = $resultArray[1][1];
                 $debtorInn = $resultArray[2][3];
                 $debtorName = $resultArray[2][1];
                 $contractCode = strval($resultArray[3][1]);
                 $contractDate = new Carbon($resultArray[4][2]);
                 $registryVar = $resultArray[0][3];
                 $registryDate = new Carbon($resultArray[0][1]);
                 $client = Client::where('inn', '=', $clientInn)->first();
                 $debtor = Debtor::where('inn', '=', $debtorInn)->first();
                 $registryDelivery = Delivery::where('registry', '=', $registryVar)->where('client_id', '=', $client->id)->first();
                 if ($registryDelivery === null) {
                     if ($client) {
                         if ($debtor) {
                             $clientId = $client->id;
                             $debtorId = $debtor->id;
                             $relation = Relation::where('client_id', $client->id)->where('debtor_id', $debtor->id)->whereHas('contract', function ($q) use($contractCode, $contractDate) {
                                 $q->where('code', '=', $contractCode);
                                 $q->whereDate('created_at', '=', $contractDate);
                             })->first();
                             if ($relation) {
                                 $row = 0;
                                 $stop = 0;
                                 $i = 7;
                                 //dd($resultArray);
                                 while ($stop === 0) {
                                     if (isset($resultArray[$i][1]) && ($resultArray[$i][1] == 'Накладная' || $resultArray[$i][1] == 'накладная')) {
                                         $waybillDateVar = new Carbon($resultArray[$i][3]);
                                         //Дата накладной
                                         $waybillVar = strval($resultArray[$i][2]);
                                         //Накладная
                                         if (count($resultArray[$i + 1]) == 3) {
                                             $invoiceDateVar = new Carbon($resultArray[$i + 1][2]);
                                             //Дата счет фактуры
                                             $invoiceVar = $resultArray[$i + 1][1];
                                         } elseif (count($resultArray[$i + 1]) == 2) {
                                             if (strtotime($resultArray[$i + 1][1])) {
                                                 $invoiceDateVar = new Carbon($resultArray[$i + 1][1]);
                                                 //Дата счет фактуры
                                                 $invoiceVar = null;
                                             } else {
                                                 $invoiceDateVar = null;
                                                 //Дата счет фактуры
                                                 $invoiceVar = $resultArray[$i + 1][1];
                                             }
                                         } else {
                                             $invoiceVar = null;
                                             $invoiceDateVar = null;
                                         }
                                         $sum = $resultArray[$i][5];
                                         $debtDate = $resultArray[$i][4];
                                         //не используется
                                         if (isset($resultArray[$i][6])) {
                                             $notes = $resultArray[$i][6];
                                         } else {
                                             $notes = null;
                                         }
                                         $waybillExist = $relation->deliveries->where('waybill', $waybillVar)->where('date_of_waybill', $waybillDateVar->format('Y-m-d'))->first();
                                         if ($waybillExist === null) {
                                             $dateOfRecourse = clone $waybillDateVar;
                                             $dateOfRecourse->addDays($relation->deferment);
                                             //Срок оплаты
                                             $dateNowVar = new Carbon(date('Y-m-d'));
                                             //Сегодняшнее число
                                             $actualDeferment = clone $dateNowVar;
                                             $dateOfRecourseClone = clone $dateOfRecourse;
                                             $actualDeferment = $dateOfRecourseClone->diffInDays($actualDeferment, false);
                                             //Фактическая просрочка
                                             $dateOfRegress = clone $dateOfRecourse;
                                             $dateOfRegress->addDays($relation->waiting_period);
                                             //Дата регресса
                                             $theDateOfTerminationOfThePeriodOfRegression = clone $dateOfRegress;
                                             $theDateOfTerminationOfThePeriodOfRegression->addDays($relation->regress_period);
                                             //Дата окончания регресса
                                             $delivery = new Delivery();
                                             $delivery->client_id = $relation->client_id;
                                             $delivery->debtor_id = $relation->debtor_id;
                                             $delivery->relation_id = $relation->id;
                                             $delivery->waybill = $waybillVar;
                                             $delivery->waybill_amount = $sum;
                                             $rpp = $relation->rpp;
                                             $delivery->first_payment_amount = $sum / 100.0 * $rpp;
                                             $delivery->date_of_waybill = $waybillDateVar;
                                             $delivery->due_date = $relation->deferment;
                                             $delivery->date_of_recourse = $dateOfRecourse;
                                             //срок оплаты
                                             //$delivery->date_of_payment = $dateNowVar->format('Y-m-d');//дата оплаты(ложь)
                                             $delivery->date_of_regress = $dateOfRegress;
                                             $delivery->the_date_of_termination_of_the_period_of_regression = $theDateOfTerminationOfThePeriodOfRegression;
                                             $delivery->the_date_of_a_registration_supply = $dateNowVar->format('Y-m-d');
                                             $delivery->the_actual_deferment = $actualDeferment;
                                             $delivery->invoice = $invoiceVar;
                                             $delivery->date_of_invoice = $invoiceDateVar;
                                             $delivery->registry = $registryVar;
                                             $delivery->date_of_registry = $registryDate;
                                             //$delivery->date_of_funding = ;
                                             //$delivery->end_date_of_funding = $dateNowVar->format('Y-m-d');;//(ложь)
                                             $delivery->notes = $notes;
                                             $delivery->return = "";
                                             $delivery->status = 'Зарегистрирована';
                                             $delivery->state = false;
                                             $delivery->the_presence_of_the_original_document = Input::get('the_presence_of_the_original_document');
                                             if ($relation->confedential_factoring) {
                                                 $delivery->type_of_factoring = $relation->confedential_factoring;
                                             } else {
                                                 $delivery->type_of_factoring = false;
                                             }
                                             if (!$delivery->save()) {
                                                 Session::flash('success', 'Реестр успешно загружен');
                                             }
                                         } else {
                                             //накладная с таким номером существует
                                         }
                                         $i = $i + 2;
                                     } else {
                                         $stop = 1;
                                     }
                                 }
                             } else {
                                 Session::flash('danger', 'Связь между клиентом и дебитором, либо договор не найдены');
                             }
                         } else {
                             Session::flash('danger', 'Дебитор с таким ИНН не найден');
                         }
                     } else {
                         Session::flash('danger', 'Клиент с таким ИНН не найден');
                     }
                 } else {
                     Session::flash('danger', 'Реестр с таким номером уже существует');
                 }
             } else {
                 Session::flash('danger', 'Заполните все поля реестра');
             }
         } else {
             Session::flash('danger', 'Проверьте наличие ключей \'Накладная\' и \'Счет-фактура\'');
         }
     } else {
         Session::flash('danger', 'Файл не был загружен');
     }
     return Redirect::to('delivery');
 }
Ejemplo n.º 8
0
 public function getIndexRepayment()
 {
     $repayments = Repayment::OrderBy('date')->get();
     $clients = Client::all();
     $debtors = Debtor::all();
     return view('repayment.tableRepaymentRow', ['repayments' => $repayments, 'clients' => $clients, 'debtors' => $debtors]);
 }
Ejemplo n.º 9
0
 public function edit($id)
 {
     $relation = Relation::find($id);
     $client = Client::find($relation->client->id);
     $debtor = Debtor::find($relation->debtor->id);
     $tariffs = Tariff::all();
     return view('relations.edit', ['relation' => $relation, 'client' => $client, 'tariffs' => $tariffs, 'debtor' => $debtor]);
 }