singleton('inventoryService',InventoryService::class); } //动库报表 public function changeInventory(Request $request){ if(!Gate::allows("库存管理-库存")){ return redirect(url('/')); } $oracleActTransactingLogs=app('inventoryService')->paginate($request->input()); $oracleActTransactingLogs=json_encode($oracleActTransactingLogs); $owners=OracleBasCustomer::query()->select('customerid','descr_c')->where('customer_type','OW')->where('active_flag','Y')->get(); $isTotalStock=false; $page = $request->page ?? 1; return view('inventory.statement.changeInventory',compact('oracleActTransactingLogs','page','owners','isTotalStock')); } //全部库存 public function allInventory(Request $request){ if(!Gate::allows("库存管理-库存")){ return redirect(url('/')); } $oracleActTransactingLogs=app('allInventoryService')->paginate($request->input()); $oracleActTransactingLogs=json_encode($oracleActTransactingLogs); $owners=OracleBasCustomer::query()->select('customerid','descr_c')->where('customer_type','OW')->where('active_flag','Y')->get(); $isTotalStock=true; $page = $request->page ?? 1; return view('inventory.statement.changeInventory',compact('oracleActTransactingLogs','page','owners','isTotalStock')); } public function exportData(Request $request){ if(!Gate::allows("库存管理-库存")){ return redirect(url('/')); } if ($request->checkAllSign){ $params = $request->input(); unset($params['checkAllSign']); $sql=app('inventoryService')->getSql($request->input()); return response(Http::post(config('go.export.url'),['type'=>'inventory','sql'=>$sql]),200, [ "Content-type"=>"application/octet-stream", "Content-Disposition"=>"attachment; filename=库存记录-".date('ymdHis').'.xlsx', ]); }else{ return response(Http::post(config('go.export.url'),['type'=>'inventory','data'=>$request->data]),200, [ "Content-type"=>"application/octet-stream", "Content-Disposition"=>"attachment; filename=库存记录-".date('ymdHis').'.xlsx', ]); } } public function exportAllInventory(Request $request){ if(!Gate::allows("库存管理-库存")){ return redirect(url('/')); } if ($request->checkAllSign){ $params = $request->input(); unset($params['checkAllSign']); $sql=app('allInventoryService')->getSql($request->input()); return response(Http::post(config('go.export.url'),['type'=>'allInventory','sql'=>$sql]),200, [ "Content-type"=>"application/octet-stream", "Content-Disposition"=>"attachment; filename=全部库存-".date('ymdHis').'.xlsx', ]); }else{ return response(Http::post(config('go.export.url'),['type'=>'allInventory','data'=>$request->data]),200, [ "Content-type"=>"application/octet-stream", "Content-Disposition"=>"attachment; filename=全部库存-".date('ymdHis').'.xlsx', ]); } } /* * 库存体积 */ function dailyLog(Request $request,OwnerService $ownerService){ if (!Gate::allows('库存管理-库存体积')){return redirect(url('/')); } /** @var InventoryService*/ $inventoryDailyLogs = app('inventoryDailyLogService')->paginate($request->input()); $owners = $ownerService->getSelection(); $param = $request->input(); return view('inventory.statement.dailyLog',compact('inventoryDailyLogs','owners','param')); } //获取记录监听货主 function getLoggingOwner(){ $loggingOwners = app('inventoryDailyLogService')->getInventoryDailyLoggingOwner('owner_id'); return array_column($loggingOwners->toArray(),'owner_id'); } //添加记录监听货主 function addLoggingOwner(Request $request){ if (!Gate::allows('库存管理-库存体积-管理监听货主')){return redirect(url('/')); } $owner_id = $request->owner_id; if (!$owner_id || !is_numeric($owner_id))return ['success'=>false,'data'=>'传递参数错误!']; $loggingOwner = app('inventoryDailyLogService')->firstOrCreate(['owner_id'=>$owner_id]); if (!$loggingOwner)return ['success'=>false,'data'=>'录入失败!']; return ['success'=>true,'data'=>$loggingOwner->owner_id]; } //导出库存体积记录 public function exportDailyLog(Request $request){ if (!Gate::allows('库存管理-库存体积')){return redirect(url('/')); } if ($request->checkAllSign){ $params = $request->input(); unset($params['checkAllSign']); $sql=app('inventoryDailyLogService')->getSql($params); }else $sql=app('inventoryDailyLogService')->getSql(['id'=>$request->data]); return response(Http::post(config('go.export.url'),['type'=>'inventoryDailyLog','sql'=>$sql]),200, [ "Content-type"=>"application/octet-stream", "Content-Disposition"=>"attachment; filename=库存体积记录-".date('ymdHis').'.xlsx', ]); } }