| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- <?php
- namespace App\Http\Controllers;
- use App\OracleBasCustomer;
- use App\Services\InventoryService;
- use App\Services\OwnerService;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Gate;
- use Illuminate\Support\Facades\Http;
- class InventoryController extends Controller
- {
- public function __construct()
- {
- app()->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',
- ]);
- }
- }
|