public function anyListPopupRpo(Request $request) { if($request->has('input-sort')){ $arr_sort = $request->input('input-sort'); $arr_sort = (array)json_decode($arr_sort); }else{ $arr_sort = array(); } if($request->has('input-filter')){ $arr_filter = $request->input('input-filter'); }else{ $arr_filter =[ 'sku' => '', 'name' => '', 'company_id' => '', 'oum_id' => '', ]; } session(['sort_filter_product_rpo.arr_sort' => $arr_sort]); session(['sort_filter_product_rpo.arr_filter'=> $arr_filter]); $distributes = array(); $oums = array(); $list_sku = array(); $distributes = Company::getDistributeList()->get()->toArray(); $oums = Oum::orderBy('name')->get()->toArray(); $list_all_product = Product::select('sku','name')->get()->toArray(); $current_rpo = ReturnPurchaseorder::find(session('current_returnpurchaseorder')); $list_product = MProduct::select('products.name', 'products.sku', 'm_products.id', 'm_products.oum_id', 'm_products.specification', 'product_stocks.in_stock', 'companies.name as company_name', 'm_products.module_id' ) ->with('oum') ->leftJoin('products','products.id','=','m_products.product_id') ->leftJoin('purchaseorders',function($join){ $join->on('purchaseorders.id','=','m_products.module_id') ->where('purchaseorders.status','=',1); }) ->where(function ($query){ $query->where('m_products.module_type','=','App\\Purchaseorder') ->orWhere('m_products.module_type', '=', 'in_stock'); }) ->where('product_stocks.in_stock','>',0) ->leftJoin('companies','companies.id','=','m_products.company_id') ->leftJoin('product_stocks','m_products.id','=','product_stocks.m_product_id') ->where('m_products.company_id','=',$current_rpo->company_id); if(count($arr_sort)==0){ $list_product = $list_product->orderBy('products.id','asc'); } foreach ($arr_filter as $key => $value) { if($value!=''){ if($arr_filter['sku']!=''){ $list_product->where('products.sku',$arr_filter['sku']); }elseif($arr_filter['name']!=''){ $list_product->where('products.name',$arr_filter['name']); }elseif($key == 'company_id'){ $list_product->where('m_products.company_id',$arr_filter['company_id']); }elseif($key == 'oum_id'){ $list_product->where('products.oum_id',$arr_filter['oum_id']); }else{ $list_product->where($key,$value); } } } $list_product = $list_product->paginate(20); return view('popup.choose_product_rpo', [ 'distributes' =>$distributes, 'oums' =>$oums, 'list_product' => $list_product, 'list_all_product' =>$list_all_product, 'arr_sort' => $arr_sort, 'arr_filter' => $arr_filter ]); }
public function postDeleteProduct(Request $request){ $arr_return= array('status'=>'error'); $id = $request->has('id')?$request->input('id'):0; if($id){ $mproduct = MProduct::find($id); $id_product = $mproduct->m_product_id; $quantity = $mproduct->quantity; $specification = $mproduct->specification; $check = MProduct::where('id','=',$id)->delete(); if($check){ // $product = ProductStock::find($id_product); // $product->in_stock = $product->in_stock + $quantity*$specification; // $product->save(); $product = Product::find($mproduct->product_id); Log::create_log(\Auth::user()->id,'App\ReturnPurchaseorder','Xóa sản phẩm '.$product->sku.' đơn hàng trả nhà cung cấp số '.session('current_returnpurchaseorder')); $arr_return['status'] = 'success'; }else{ $arr_return['message'] = 'Saving fail !'; } } $returnpurchaseorder = ReturnPurchaseorder::find(session('current_returnpurchaseorder')); $returnpurchaseorder->updated_by = \Auth::user()->id; $returnpurchaseorder->save(); self::getListProduct(); return $arr_return; }