/** * Show the form for creating a new resource. * * @return Response */ public function order() { $data = Input::all(); $pay = Pay_method::where('pseudo_name', $data['payment'])->firstOrFail(); $delivery = Delivery::where('pseudo_name', $data['delivery'])->firstOrFail(); $order = new Order(); $order->name = $data['name']; $order->telephone = $data['phone']; $order->adress = $data['address']; $order->email = $data['email']; $order->payment_method_id = $pay->id; $order->delivery_id = $delivery->id; $order->comment = $data['info']; $order->status = 'new'; $order->total_cost = $data['sum']; $order->save(); foreach ($data['cart'] as $name => $value) { $prod = Product::where('pseudo_name', $name)->firstOrFail(); $ord_prod = new OrderProduct(); $ord_prod->product_id = $prod->id; $ord_prod->count = $value; $ord_prod->order_id = $order->id; $ord_prod->save(); } Mail::send('emails.order_success', ['data' => $data], function ($message) { $message->setEncoder(Swift_Encoding::get8BitEncoding()); $message->to('*****@*****.**', 'John Smith')->subject('New order!'); }); return 1; }
public function getFilterData() { $client_id = Input::get('ClientId'); $debtor_id = Input::get('DebtorId'); $status = Input::get('Status'); $deliveries = Delivery::where('status', '=', 'Профинансирована'); if ($status == 1) { $deliveries->where('state', true); } if ($status == 2) { $deliveries->where('state', false); } $commissions = array(); if (!empty($client_id)) { $deliveries->where('client_id', '=', $client_id); } if (!empty($debtor_id)) { $deliveries->where('debtor_id', '=', $debtor_id); } //$ChargeCommission->delivery()->orderBy('waybill'); $deliveries = $deliveries->get(); $view = view('chargeCommission.tableRow', ['deliveries' => $deliveries])->render(); $callback = 'success'; return $view; }
/** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { return Delivery::where('status', '<=', 5)->with('vimeo')->get(); }
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'); }
public function index(Request $request) { Carbon::setLocale('ru'); $clients_filter = Client::whereHas('deliveries', function ($query) { $query->where('status', '=', 'Профинансирована'); })->get(); if ($request->ajax()) { $bills = Bill::where('id', '>', 0); if (Input::get('year') != Null) { $bills = $bills->whereYear('bill_date', '=', Input::get('year')); } if (Input::get('month') != Null) { $bills = $bills->whereMonth('bill_date', '=', Input::get('month')); } if (Input::get('client_id') != 'all') { $bills = $bills->where('client_id', '=', Input::get('client_id')); } $sum = array(); $sum['without_nds'] = $bills->sum('without_nds'); $sum['nds'] = $bills->sum('nds'); $sum['with_nds'] = $bills->sum('with_nds'); $bills = $bills->get(); $clients = Client::All(); $debts_full = array(); $monthRepayment = array(); $bill_date_first_day = Carbon::createFromDate(Input::get('year'), Input::get('month'), 1); foreach ($clients as $client) { foreach ($client->agreements as $agreement) { $debt = 0; foreach ($agreement->relations as $relation) { if ($agreement->account == FALSE) { foreach ($relation->deliveries as $delivery) { if ($delivery->status == 'Профинансирована') { //echo $client->name.": долг перед месяцем:"; $pred_with_nds = $delivery->dailyChargeCommission()->where('handler', false)->whereDate('created_at', '<', $bill_date_first_day)->sum('with_nds'); // var_dump($pred_with_nds); // echo $client->name.": погашения:"; $repayments = $delivery->dailyChargeCommission()->where('handler', true)->sum('with_nds'); // var_dump($repayments);echo $client->name.": начисленные комиссии:"; $with_nds_delivery = $delivery->dailyChargeCommission()->where('handler', false)->whereYear('created_at', '=', Input::get('year'))->whereMonth('created_at', '=', Input::get('month'))->sum('with_nds'); // var_dump($with_nds_delivery); if ($repayments > $pred_with_nds) { if ($repayments >= $with_nds_delivery + $pred_with_nds) { $debt += 0; } else { $debt += $with_nds_delivery - ($repayments - $pred_with_nds); } } else { $debt += $with_nds_delivery; } // echo $client->name.": текущий долг:"; // var_dump($debt); // echo "\n"; } } } else { $debt = 0; } } // var_dump($debt); $monthRepayment[$agreement->id] = $debt; } } // var_dump($monthRepayment); $stop = Delivery::where('stop_commission', '=', true)->get(); return view('invoicing.indexAjax', ['stop' => $stop, 'bills' => $bills, 'debts_full' => $debts_full, 'monthRepayment' => $monthRepayment, 'sum' => $sum]); } else { $dt = Carbon::now()->startOfMonth(); $dates = DailyChargeCommission::select('created_at')->whereDate('created_at', '<', $dt)->orderBy('created_at', 'desc')->groupBy('created_at')->get(); $year = ''; $month = ''; $i_month = 0; $i_year = 0; $dates_for_filter = array(); foreach ($dates as $date) { $dates_for_filter[$date->created_at->year][$date->created_at->month] = $date->created_at->month; } return view('invoicing.index', ['clients' => $clients_filter, 'dt' => $dates_for_filter]); } }
public function setDeliveries($dateNow) { $deliveries = Delivery::where('state', false)->get(); foreach ($deliveries as $delivery) { //Сегодняшнее число $dateOfRecourse = new Carbon($delivery->date_of_recourse); $actualDeferment = $dateOfRecourse->diffInDays($dateNow, false); //Фактическая просрочка $delivery->the_actual_deferment = $actualDeferment; $delivery->save(); } }