input(); $storeCheckingReceives = $service->paginate($params); $owners = app('ownerService')->getSelection(); return view('store.checkingReceive.mission',compact('storeCheckingReceives','params','owners')); } public function import(Request $request){ $fileSuffix=$request->file('file')->getClientOriginalExtension(); if ($fileSuffix != 'xlsx' && $fileSuffix != 'xls' && $fileSuffix != 'csv') return ['success'=>false,'data'=>'不支持该文件类型']; $isCovering = $request->input('isCovering'); ini_set('max_execution_time',2500); ini_set('memory_limit','1526M'); $fileSuffix = ucwords($fileSuffix); Excel::import(new StoreCheckingReceiveImport($isCovering),$request->file('file')->path(),null,$fileSuffix); if (Cache::has('storeCheckingReceive')){ return Cache::pull('storeCheckingReceive'); } return ["success"=>false, "data"=>"读取导入文件错误"]; } public function show($id){ /** @var StoreCheckingReceiveService $service */ $service = app('storeCheckingReceiveService'); $storeCheckingReceive = $service->find($id); if ($storeCheckingReceive->owner ?? false){ $commodityController = new CommodityController(); $commodityController->syncOwnerCommodities($storeCheckingReceive->owner->id, $storeCheckingReceive->owner->code); } return view('store.checkingReceive.show',compact('storeCheckingReceive')); } public function insertItem(Request $request){ $mission_id = $request->mission_id ?? false; $goods = $request->goods ?? false; if (!$mission_id || !$goods)return ['success'=>false, 'data'=>'参数传递错误!']; $storeCheckingReceive = app('storeCheckingReceiveService')->find($mission_id); if (!$storeCheckingReceive)return ['success'=>false, 'data'=>'盘收任务不存在']; $item_id = null; $item_amount = null; foreach ($storeCheckingReceive->storeCheckingReceiveItems as $item){ if (!$item->commodity)continue; if (count($item->commodity->barcodes) < 1)continue; foreach ($item->commodity->barcodes as $barcode){ if ($barcode->code == $goods['barcode']){ if ($goods['bin_number'] == $item->bin_number && $goods['batch_number'] == $item->batch_code && $goods['produce_date'] == $item->produce_date && $goods['valid_date'] == $item->valid_date){ $item_id = $item->id; $item_amount = $item->amount; break; } } } } if ($item_id){ $item = app('storeCheckingReceiveItemService')->update(['id'=>$item_id],['amount'=>($item_amount+$goods['amount'])]); $item->load(['commodity'=>function($query){ $query->with('barcodes'); }]); return ['success'=>true, 'type'=>"update", 'data'=>$item]; } $commodity_barcode = app('commodityBarcodeService')->first([ 'code' => $goods['barcode'], ]); if (!$commodity_barcode) return ['success'=>false, 'data'=>'该条码未找到对应商品']; $item = app('storeCheckingReceiveItemService')->create([ 'store_checking_receive_id' => $mission_id, 'bin_number' => $goods['bin_number'], 'commodity_id' => $commodity_barcode->commodity_id, 'produced_at' => $goods['produced_at'], 'invalid_at' => $goods['invalid_at'], 'batch_code' => $goods['batch_number'], ]); $item->load(['commodity'=>function($query){ $query->with('barcodes'); }]); return ['success'=>true, 'type'=>'create', 'data'=>$item]; } }