paginate(50); return view('store.fast.index',['stores'=>$stores]); } /** * Show the form for creating a new resource. * * @return Application|Factory|Response|View */ public function create() { if(!Gate::allows('入库管理-快速入库-录入')){ return redirect(url('/')); } return view('store.fast.create'); } /** * Store a newly created resource in storage. * * @param Request $request * @return RedirectResponse|Response|Redirector */ public function store(Request $request) { if(!Gate::allows('入库管理-快速入库-录入')){ return redirect(url('/')); } $this->validator($request); if ($request->test)$result = $this->quickStorage($request->input('asn_code'),$request->input('quality') == '正品' ? 'ZP' : 'CC',$request->input('depository_code')); else $result = $this->quickStorage_temp($request->input('asn_code'),$request->input('quality'),$request->input('depository_code')); $response = redirect('store/fast/create'); if ($result['success'])return redirect('store/fast/create')->with('successTip',$result['data']); return $response->with('successError',$result['data']); } public function quickStorage_temp($asn,$quality,$depository_code){ $WMSReflectReceive=WMSReflectReceive::with('skus')->where('ASNNO',$asn)->first(); if (!$WMSReflectReceive)return ['success'=>false, 'data'=>"ASN编号不存在!"]; $warehouse=Warehouse::query()->where('code',$WMSReflectReceive->WAREHOUSEID)->first(); if (!$warehouse&&$WMSReflectReceive->WAREHOUSEID){ $warehouse=new Warehouse([ 'name'=>$WMSReflectReceive->WAREHOUSEID, 'code'=>$WMSReflectReceive->WAREHOUSEID ]); $warehouse->save(); } $owner=Owner::query()->where('code',$WMSReflectReceive->CUSTOMERID)->first(); if (!$owner&&$WMSReflectReceive->CUSTOMERID){ $owner=new Owner([ 'name'=>$WMSReflectReceive->CUSTOMERID, 'code'=>$WMSReflectReceive->CUSTOMERID ]); $owner->save(); } $store=Store::query()->where('asn_code',$WMSReflectReceive->ASNNO)->first(); if(!$store){ $store=new Store([ 'asn_code'=>$WMSReflectReceive->ASNNO, 'warehouse_id'=>$warehouse->id, 'owner_id'=>$owner->id, 'stored_method'=>'快速入库', 'status'=>'未入库', 'remark'=>$WMSReflectReceive->NOTES, ]); $store->save(); $customDepository=(function()use($depository_code){ $customDepository=Depository::query()->where('code',$depository_code)->first(); if($depository_code){ if (!$customDepository){ $depository=new Depository([ 'name'=>$depository_code, 'code'=>$depository_code ]); $depository->save(); } } return $customDepository; })(); if ($WMSReflectReceive->skus){ foreach ($WMSReflectReceive->skus as $sku){ $depository=(function()use($sku,$customDepository){ if($customDepository)return $customDepository; $depository=Depository::query()->where('code',$sku->LOTATT05)->first(); if (!$depository){ if (!$sku->LOTATT05)return $depository; $depository=new Depository([ 'name'=>$sku->LOTATT05, 'code'=>$sku->LOTATT05 ]); $depository->save(); } return $depository; })(); $storeItem=new StoreItems([ 'store_id'=>$store->id, 'asn_line_code'=>$sku->ASNLINENO, 'name'=>$sku->SKUDESCRC, 'sku'=>$sku->SKU, 'barcode'=>$sku->ALTERNATE_SKU1, 'quality'=>$quality, 'status'=>'未入库', ]); if ($depository)$storeItem->depository_id=$depository->id; $storeItem->save(); } } } /** @var Store $store */ $store=Store::with('storeItems')->where('asn_code',$asn)->first(); $storeApi=new FStoreController(); $result=$storeApi->accomplishToWMS($store,[ 'quality'=>$quality, 'depository_code'=>$depository_code, 'follow_code'=>$store['id'], ]); if ($result){ $store->status='已入库'; $store->save(); if ($store->storeItems){ $store->storeItems->each(function ($storeItem)use($quality){ $storeItem->status='已入库'; $storeItem->quality=$quality; $storeItem->save(); }); } return ['success'=>true, 'data'=>"成功!"]; } return ['success'=>false, 'data'=>"失败!请检查错误日志"]; } }