public function printReceipt($sales_order_id, $footer) { $saleOrder = SaleOrder::where('sales_orders.id', $sales_order_id)->first(); $saleOrderReceipts = SaleOrderReceipt::where('sales_order_id', $sales_order_id)->get(); $saleOrderDetail = SaleOrderDetail::join('products', 'products.id', '=', 'sales_order_details.product_id')->whereSales_order_id($sales_order_id)->get(); return view('/layout/printReceipt', compact('saleOrderDetail', 'saleOrder', 'footer', 'saleOrderReceipts')); }
/** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { $saleOrders = SaleOrder::where('id', $id)->first(); $products = SaleOrderDetail::whereSalesOrderId($id)->get(); if ($saleOrders->is_pos == 1) { foreach ($products as $product) { Inventory::wherePointOfSalesId($id)->delete(); $fields = ['product_id' => $product->product_id, 'location_id' => \Auth::user()->location]; $checkIfSaleExistingProduct = InventoryTotal::where($fields)->first(); $inventoryTotalDetail = $inventoryTotals = array(); $inventoryTotals = new InventoryTotal(); $inventoryTotal['total_qty'] = $checkIfSaleExistingProduct['total_qty'] + $product->qty * $product->conversion; $inventoryTotal['created_by'] = \Auth::user()->id; $inventoryTotal['updated_by'] = \Auth::user()->id; $inventoryTotals->where($fields)->update($inventoryTotal); $inventoryTotalDetails = new InventoryTotalDetail(); $fieldNews = ['product_id' => $product->product_id, 'location_id' => \Auth::user()->location, 'date' => date('Y-m-d')]; $checkIfSaleExistingProductInventoryDetail = InventoryTotalDetail::where($fieldNews)->first(); $inventoryTotalDetail['total_pos'] = $checkIfSaleExistingProductInventoryDetail['total_qty'] - $product->qty * $product->conversion; $inventoryTotalDetail['created_by'] = \Auth::user()->id; $inventoryTotalDetail['updated_by'] = \Auth::user()->id; $inventoryTotalDetails->where($fieldNews)->update($inventoryTotalDetail); } } else { Inventory::whereSalesOrderId($id)->delete(); } SaleOrderReceipt::whereSalesOrderId($id)->delete(); SaleOrderDetail::whereSalesOrderId($id)->delete(); $saleOrders = SaleOrder::find($id); $saleOrders->delete(); return Redirect::route('saleOrders.index')->with('flash_notice', 'You are successfully delete!'); }
public function selectReportSaleLog(Request $request) { $input = $request->all(); $exchangerate = DB::table('exchange_rates')->orderBy('id', 'desc')->first(); $userSaleLog = UserSaleLog::select('users.username AS u_name', 'user_sale_logs.dates', 'user_sale_logs.time_in', 'user_sale_logs.time_out', 'user_sale_logs.total_kh', 'user_sale_logs.total_us', DB::raw("(SELECT SUM(IF(sales_orders.balance<0 AND amount_kh,amount_kh+sales_orders.balance,amount_kh)+IF(sales_orders.balance<0 AND amount_us>0,amount_us+sales_orders.balance/riel,amount_us)) FROM sales_order_receipts \n\t\t\t\t\t\t\t\t\t\t\t INNER JOIN exchange_rates ON exchange_rates.id=sales_order_receipts.exchange_rate_id\n\t\t\t\t\t\t\t\t\t\t\t LEFT JOIN sales_orders ON sales_orders.id=sales_order_receipts.sales_order_id WHERE DATE(sales_order_receipts.created_at) = dates AND sales_order_receipts.created_by=users.id AND TIME(sales_order_receipts.created_at) BETWEEN time_in AND time_out) AS sy_total"))->join('users', 'users.id', '=', 'user_sale_logs.user_id')->where(DB::raw("DATE(dates)"), '=', $input['dates'])->where(function ($query) { $query->where('user_sale_logs.total_kh', '>', 0)->orWhere('user_sale_logs.total_us', '>', 0); })->orderBy('u_name')->get(); $totalSale = SaleOrderReceipt::select(DB::raw("SUM(IF(sales_orders.balance<0 AND amount_kh,amount_kh+sales_orders.balance,amount_kh)+IF(sales_orders.balance<0 AND amount_us>0,amount_us+sales_orders.balance/riel,amount_us)) as totalSale"))->join('exchange_rates', 'exchange_rates.id', '=', 'sales_order_receipts.exchange_rate_id')->leftJoin('sales_orders', 'sales_orders.id', '=', 'sales_order_receipts.sales_order_id')->where(DB::raw("DATE(sales_order_receipts.created_at)"), '=', $input['dates'])->first(); return View::make('reports.reportSaleLogResult')->with('userSaleLog', $userSaleLog)->with('exchangerate', $exchangerate)->with('totalSale', $totalSale); }