public function addSales() { $activeTab = 'sales'; $task_types = TaskType::all(); $saleTypes = SaleType::all(); $user = Auth::user(); $today_target = 140; $add_sales = $this->doubleValue(Input::get('sales')); if (empty($add_sales) || $add_sales <= 0) { $today_total = $this->getTodaysStats(); $message = '<strong>Oh snap!</strong>. Please enter a value of 1 or above. You entered \'' . Input::get('point') . '\'. Try submitting again.'; $isErr = true; return view('myStat.add', compact('user', 'today_total', 'task_types', 'tasks', 'activeTab', 'isErr', 'message', 'today_target', 'saleTypes')); } else { $saleType = SaleType::findOrfail(Input::get('saleType_id')); $salesAudit = new SaleAudit(); $salesAudit->sale = $add_sales; if (stripos(Input::get('sales'), '-') !== false) { $salesAudit->sale = -1 * $salesAudit->sale; } $salesAudit->user_id = Auth::user()->id; $salesAudit->company_id = Auth::user()->company_id; $salesAudit->saleType_id = $saleType->id; $salesAudit->date = new \DateTime(); $salesAudit->save(); $salesID = Input::get('saleType_id') . $user->id . date("mdY"); $salesEntity = Sale::find($salesID); if ($salesEntity != null) { $salesEntity->sale = $salesEntity->sale + $salesAudit->sale; $salesEntity->update(); } else { $salesEntity = new Sale(); $salesEntity->id = $salesID; $salesEntity->month = date("m"); $salesEntity->year = date("Y"); $salesEntity->user_id = $user->id; $salesEntity->saleType_id = Input::get('saleType_id'); $salesEntity->company_id = $user->company_id; $salesEntity->sale = $salesAudit->sale; $salesEntity->save(); } $message = 'You have added <strong>' . number_format($salesAudit->sale, 2) . ' points</strong> to <strong>' . $saleType->name . '</strong>.'; $today_total = $this->getTodaysStats(); $isErr = false; return view('myStat.add', compact('user', 'today_total', 'task_types', 'tasks', 'activeTab', 'isErr', 'message', 'today_target', 'saleTypes')); } }
private function setReceiveSalePayment() { $sales[0] = Sale::where('invoice_id', '=', Input::get('invoice_id'))->get(); $saleTransaction = new Transaction(); $saleTransaction->account_category_id = Input::get('account_category_id'); $saleTransaction->account_name_id = Input::get('account_name_id'); $saleTransaction->amount = Input::get('amount'); $saleTransaction->remarks = Input::get('remarks'); $saleTransaction->type = "Receive"; $saleTransaction->user_id = Session::get('user_id'); $saleTransaction->payment_method = Input::get('payment_method'); $saleTransaction->cheque_no = Input::get('cheque_no'); $saleTransaction->invoice_id = Input::get('invoice_id'); $totalAmount = 0; $totalPrice = 0; $saleDetails = SAleDetail::where('invoice_id', '=', $saleTransaction->invoice_id)->get(); $transactions = Transaction::where('invoice_id', '=', $saleTransaction->invoice_id)->get(); foreach ($saleDetails as $saleDetail) { $totalPrice = $totalPrice + $saleDetail->price * $saleDetail->quantity; } foreach ($transactions as $transaction) { $totalAmount = $totalAmount + $transaction->amount; } $sale = Sale::find($sales[0][0]['id']); if ($totalAmount == $totalPrice) { $sale->status = "Completed"; } else { $sale->status = "Partial"; } $accountPayment = NameOfAccount::find(Input::get('account_name_id')); $accountPayment->opening_balance = $accountPayment->opening_balance + Input::get('amount'); $saleTransaction->branch_id = Input::get('branch_id'); $saleTransaction->save(); $sale->save(); $accountPayment->save(); Session::flash('message', 'Sales Due has been Successfully Received.'); }
<?php use App\Sale; use App\Client; use App\Institution; use App\CashReceipt; use App\Transport; use App\Branch; // Get the sale. $creditDue = Sale::find($sale['Id']); // Get the branch. $branch = Branch::find($creditDue->BranchId); // Get the creditor. $creditor = null; if ($sale->CreditorType == 1) { $creditor = Client::find($sale->CreditorId); } else { $creditor = Institution::find($sale->CreditorId); } // Get the transport request. $paymentCollection = Transport::find($transport['Id']); $payments = CashReceipt::where('Type', '=', 2)->where('TypeId', '=', $sale->Id)->get(); $totalDue = $creditDue->Value + $creditDue->Tax; foreach ($payments as $payment) { $totalDue -= $payment->Value; } ?> <p>{{ $creditor->Name }},</p> <p>Les enviamos el siguiente correo para dejarles saber que el {{ $transport->Date }} estaremos llegando a recoger el pago de la factura numero {{ $sale->Id }}. El total pendiente es de C$ {{ $totalDue }}.</p> <p>Si por algun motivo no podra pagar ese dia puede reprogramar nuestra visita respondiendo a este correo de la siguiente manera:</p> <p>Reprogramar:{{ date('Y-m-d', strtotime("+5 days")) }}</p>
/** * Function that scans a sale and adds a bonus to selected worker if necessary. * * @return Response */ public function scanSale() { // Validate Input. $validator = Validator::make(Input::all(), array('staffId' => 'required', 'saleId' => 'required')); if ($validator->fails()) { $response['state'] = 'Error'; $response['error'] = 'Debe cargar al trabajador!'; return response()->json($response); } // Check that user is part of authorized staff. if (Auth::user()->Type != 1) { // If they are unauthorized no point in returning anything. return response()->json(array()); } // Get the worker of given Id. $response = array(); $worker = Worker::where('Cedula', '=', Input::get('staffId'))->first(); if ($worker) { // Check if this worker should get a bonus from this. if ($worker->BonusSource != 'productionexclusive' && $worker->BonusSource != 'productionsinglecustom') { $response['state'] = 'Error'; $response['error'] = 'Este trabajador no puede ser asignado bonos por facturas.'; return response()->json($response); } // Get today's day. $todaySalary = WorkerSalary::where('WorkerId', '=', $worker->Id)->where('Date', '=', date('Y-m-d'))->first(); if (!$todaySalary) { $response['state'] = 'Error'; $response['error'] = 'El trabajador no ha sido agregado en la planilla del dia de hoy!'; return response()->json($response); } // Get the sale. $sale = Sale::find(Input::get('saleId')); if (!$sale) { $response['state'] = 'Error'; $response['error'] = 'Venta Inexistente!'; return response()->json($response); } // Get the breakdown. $breakdown = SaleBreakdown::where('SaleId', '=', $sale->Id)->get(); foreach ($breakdown as $b) { // Check that this sale breakdown has not been used already. $extraData = json_decode($b->ExtraData, true); if (is_array($extraData) && array_key_exists('workerId', $extraData)) { // Get the worker. $worker = Worker::find($extraData['workerId']); $response['state'] = 'Error'; $response['error'] = 'Esta factura ha sido asignada a ' . $worker->Name . '!'; return response()->json($response); } $product = Stock::where('Code', '=', $b->Code)->where('BranchId', '=', $sale->BranchId)->first(); if ($product) { $todaySalary->Bonus += $product->Bonus; $todaySalary->save(); } else { $service = Service::where('Code', '=', $b->Code)->where('BranchId', '=', $sale->BranchId)->first(); $todaySalary->Bonus += $service->Bonus; $todaySalary->save(); } // Add extra data to breakdown. $extraData['workerId'] = $worker->Id; $b->ExtraData = json_encode($extraData); $b->save(); } // Return response. $response['state'] = 'Success'; $response['message'] = 'Factura agregada exitosamente!'; return response()->json($response); } else { $response['state'] = 'Error'; $response['error'] = 'Trabajador Inexistente!'; return response()->json($response); } }
public function getDelete($id) { $salesreturn = SalesReturnDetail::find($id); $saleReturnInvoice = SalesReturnInvoice::where('invoice_id', '=', $salesreturn->invoice_id)->first(); $remaining_amount = $salesreturn->return_amount; $partyId = $saleReturnInvoice->party_id; if ($remaining_amount > 0) { $invoiceId = Sale::where('party_id', '=', $partyId)->where('is_sale', '=', 1)->get(); foreach ($invoiceId as $invid) { $amount = Transaction::where('invoice_id', '=', $invid->invoice_id)->where('type', '=', 'Receive')->where('account_category_id', '=', 7)->get(); foreach ($amount as $amnt) { if ($amnt->amount > $remaining_amount) { $transaction = Transaction::find($amnt->id); $transaction->amount = $transaction->amount - $remaining_amount; $transaction->save(); $sale = Sale::find($invid->id); $sale->status = 'Partial'; $sale->save(); $remaining_amount = 0; } elseif ($amnt->amount < $remaining_amount) { $transaction = Transaction::find($amnt->id); $transacamount = $transaction->amount; $transaction->delete(); $sale = Sale::find($invid->id); $sale->status = 'Partial'; $sale->save(); $remaining_amount = $remaining_amount - $transacamount; } elseif ($amnt->amount == $remaining_amount) { $transaction = Transaction::find($amnt->id); $transaction->delete(); $sale = Sale::find($invid->id); $sale->status = 'Partial'; $sale->save(); $remaining_amount = 0; } } } } $salesreturn->delete(); $saleReturnDetail = SalesReturnDetail::where('invoice_id', '=', $saleReturnInvoice->invoice_id)->get(); if (empty($saleReturnDetail[0])) { echo 'deleted'; $saleReturnInvoice->delete(); } }
/** * Function that searches for past trips. * * @return Response */ public function searchVehicleTrips() { // Validate Input. $validator = Validator::make(Input::all(), array('vehicle' => 'required', 'start' => 'required', 'end' => 'required')); if ($validator->fails()) { return response()->json(['error' => 'Informacion incompleta!']); } // Check that user is part of authorized staff. if (Auth::user()->Type != 1) { // If they are unauthorized no point in returning anything. return response()->json(array()); } // Get trips. $start = date('Y-m-d', strtotime(Input::get('start'))); $end = date('Y-m-d', strtotime(Input::get('end'))); $trips = Transport::where('VehicleId', '=', Input::get('vehicle'))->where('Date', '>=', $start)->where('Date', '<=', $end)->where('State', '=', 1)->groupBy('Date')->orderBy('Order')->get(); $tripData = array(); foreach ($trips as $trip) { $driver = Worker::find($trip->DriverId); $reason = ''; switch ($trip->Type) { case 1: // Get sale breakdown. $breakdown = SaleBreakdown::find($trip->ReasonId); // Get product or service. $product = Stock::where('Code', '=', $breakdown->Code)->where('BranchId', '=', $driver->BranchId)->first(); if ($product) { $reason = 'Venta de ' . $product->Description; } else { $service = Service::where('Code', '=', $breakdown->Code)->where('BranchId', '=', $driver->BranchId)->first(); $reason = 'Venta de ' . $service->Description; } break; case 2: // Get sale. $sale = Sale::find($trip->ReasonId); // Get client or institution. if ($sale->CreditorType == 1) { if ($sale->CreditorId == 0) { $reason = 'Venta a cliente no definido'; } else { $client = Client::find($sale->CreditorId); $reason = 'Venta a ' . $client->Name; } } else { $institution = Institution::find($sale->CreditorId); $reason = 'Venta a ' . $institution->Name; } break; case 3: // Get order breakdown. $breakdown = OrderBreakdown::find('OrderId', '=', $trip->ReasonId); // Get product or service. $product = Stock::where('Code', '=', $breakdown->Code)->where('BranchId', '=', $driver->BranchId)->first(); $reason = 'Produccion de ' . $product->Description; break; case 4: // Get order. $order = Order::find($trip->ReasonId); // Get client or institution. $client = Client::find($order->ClientId); if ($client->InstitutionId == 0) { $reason = 'Orden de Produccion de ' . $client->Name; } else { $institution = Institution::find($client->InstitutionId); $reason = 'Orden de Produccion de ' . $institution->Name; } break; case 5: // Get storage request. $request = StorageRequest::find($trip->ReasonId); $reason = $request->Reason; break; case 6: // Get visit. $visit = Visit::find($trip->ReasonId); $reason = 'Visita ' . $visit->Result; break; case 7: // Get credit bill. $creditBill = Sale::find($trip->ReasonId); $reason = 'Cobro de Facturo: ' . $creditBill->Id; break; case 8: // Contract Payment. $contract = Contract::find($trip->ReasonId); $reason = 'Cobro de Contrato: ' . $contract->Code; break; case 9: // Provider purchase. $aiOrder = AIOrder::find($trip->ReasonId); $reason = 'Compra automatica ' . $aiOrder->Id; break; case 10: $reason = 'Generado por usuario.'; break; } array_push($tripData, array('Id' => $trip->Id, 'Date' => $trip->Date, 'Driver' => $driver->Name, 'Reason' => $reason, 'Distance' => $trip->Distance, 'Journey' => json_decode($trip->Journey, true), 'StartLat' => $trip->StartLatitude, 'StartLon' => $trip->StartLongitude, 'EndLat' => $trip->EndLatitude, 'EndLon' => $trip->EndLongitude)); } $response['state'] = 'Success'; $response['trips'] = $tripData; return response()->json($response); }
/** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { return view('dashboard/edit_sale')->with('sale', Sale::find($id))->with('products', Product::where('is_published', 1)->orderBy("title")->get()); }
public function postConfirm($saleId) { $sales = Sale::find($saleId); echo $sales->remarks = Input::get('remIn'); $sales->save(); }
use App\Worker; use App\Branch; use App\UserLevel; use App\Notification; use App\Sale; use App\SaleBreakdown; use App\Stock; use App\Service; use App\CashReceipt; use App\Client; use App\Institution; $currentNotification = Notification::find($notification); $currentNotification->Seen = true; $currentNotification->save(); $permissions = json_decode(UserLevel::find(Auth::user()->UserLevel)->Permissions); $debt = Sale::find($id); $totalDebt = $debt->Value + $debt->Tax; // Check to see if there have been any previous payments. $pastPaymentTotal = 0; $payments = CashReceipt::where('Type', '=', 2)->where('TypeId', '=', $debt->Id)->get(); foreach ($payments as $payment) { $pastPaymentTotal += $payment->Value; } $salebreakdown = SaleBreakdown::where('SaleId', '=', $debt->Id)->get(); $creditor = null; if ($debt->CreditorType == 1) { $creditor = Client::find($debt->CreditorId); } else { $creditor = Institution::find($debt->CreditorId); } $branchId = Worker::find(Auth::user()->TypeId)->BranchId;
public function singleSaleSearch() { // Validate Input. $validator = Validator::make(Input::all(), array('id' => 'required')); $response = array(); if ($validator->fails()) { $response['state'] = 'Error'; $response['error'] = 'La identification de la transaccion es necesaria!'; return response()->json($response); } // Check that user is part of authorized staff. if (Auth::user()->Type != 1) { $response['state'] = 'No Autorizado'; $response['error'] = 'Usuario no autorizado!'; return response()->json($response); } // Get sale. $sale = Sale::find(Input::get('id')); if (!$sale) { $response['state'] = 'Error'; $response['error'] = 'Venta no encontrada!'; return response()->json($response); } // Get transaction. $transaction = CashboxTransaction::find($sale->TransactionId); if (!$transaction) { $response['state'] = 'Error'; $response['error'] = 'Transaccion no encontrada!'; return response()->json($response); } $response['state'] = 'Success'; $response['transaction'] = $transaction; return response()->json($response); }