|
|
@@ -19,322 +19,433 @@ class InventoryAccountController extends Controller
|
|
|
{
|
|
|
public function __construct()
|
|
|
{
|
|
|
- app()->singleton('inventoryAccountService',InventoryAccountService::class);
|
|
|
+ app()->singleton('inventoryAccountService', InventoryAccountService::class);
|
|
|
}
|
|
|
|
|
|
//创建盘点任务
|
|
|
- public function createStockInventoryMission(Request $request){
|
|
|
- if(!Gate::allows("库存管理-盘点")){ return redirect(url('/')); }
|
|
|
+ public function createStockInventoryMission(Request $request)
|
|
|
+ {
|
|
|
+ if (!Gate::allows("库存管理-盘点")) {
|
|
|
+ return redirect(url('/'));
|
|
|
+ }
|
|
|
// $date_start=$request->input('formData.date_start');
|
|
|
// $date_end=$request->input('formData.date_end');
|
|
|
// $ownerId=$request->input('formData.owner_id')[0];
|
|
|
- $date_start=$request->input('date_start');
|
|
|
- $date_end=$request->input('date_end');
|
|
|
- $ownerId=$request->input('owner_id');
|
|
|
- $location=$request->input('location');
|
|
|
- $barcode=$request->input('barcode');
|
|
|
- $inventoryAccount=app('inventoryAccountService')->createMission($date_start,$date_end,$ownerId,$location,$barcode);
|
|
|
- $inventoryAccount=InventoryAccount::with('owner')->find($inventoryAccount->id);
|
|
|
- if (is_null($inventoryAccount)) return ['success'=>false,'data'=>'参数错误!'];
|
|
|
- return ['success'=>true,'data'=>$inventoryAccount];
|
|
|
+ $date_start = $request->input('date_start');
|
|
|
+ $date_end = $request->input('date_end');
|
|
|
+ $ownerId = $request->input('owner_id');
|
|
|
+ $location = $request->input('location');
|
|
|
+ $barcode = $request->input('barcode');
|
|
|
+ $inventoryAccount = app('inventoryAccountService')->createMission($date_start, $date_end, $ownerId, $location, $barcode);
|
|
|
+ $inventoryAccount = InventoryAccount::with('owner')->find($inventoryAccount->id);
|
|
|
+ if (is_null($inventoryAccount)) return ['success' => false, 'data' => '参数错误!'];
|
|
|
+ return ['success' => true, 'data' => $inventoryAccount];
|
|
|
}
|
|
|
+
|
|
|
//删除盘点任务
|
|
|
- public function deleteStockInventoryMission($id){
|
|
|
- if(!Gate::allows('库存管理-盘点')){return['success'=>0,'status'=>'没有权限'];}
|
|
|
- if(is_null($id)){return ['success'=>false,'data'=>'传入id为空'];}
|
|
|
- $inventoryAccount=InventoryAccount::where('id',$id)->delete();
|
|
|
- return ['success'=>true,'data'=>$inventoryAccount];
|
|
|
+ public function deleteStockInventoryMission($id)
|
|
|
+ {
|
|
|
+ if (!Gate::allows('库存管理-盘点')) {
|
|
|
+ return ['success' => 0, 'status' => '没有权限'];
|
|
|
+ }
|
|
|
+ if (is_null($id)) {
|
|
|
+ return ['success' => false, 'data' => '传入id为空'];
|
|
|
+ }
|
|
|
+ $inventoryAccount = InventoryAccount::where('id', $id)->delete();
|
|
|
+ return ['success' => true, 'data' => $inventoryAccount];
|
|
|
}
|
|
|
- public function inventoryChecked(Request $request){
|
|
|
- if(!Gate::allows('库存管理-盘点-项目审核')){return['success'=>false,'msg'=>'没有权限'];}
|
|
|
- $id=$request->id;
|
|
|
- if(is_null($id)){return ['success'=>false,'msg'=>'传入id为空'];}
|
|
|
- $inventoryAccount=InventoryAccount::query()->where('id',$id)->update([
|
|
|
- 'auditor'=>Auth::user()['id'],
|
|
|
- 'status'=>'已审核',
|
|
|
+
|
|
|
+ public function inventoryChecked(Request $request)
|
|
|
+ {
|
|
|
+ if (!Gate::allows('库存管理-盘点-项目审核')) {
|
|
|
+ return ['success' => false, 'msg' => '没有权限'];
|
|
|
+ }
|
|
|
+ $id = $request->id;
|
|
|
+ if (is_null($id)) {
|
|
|
+ return ['success' => false, 'msg' => '传入id为空'];
|
|
|
+ }
|
|
|
+ $inventoryAccount = InventoryAccount::query()->where('id', $id)->update([
|
|
|
+ 'auditor' => Auth::user()['id'],
|
|
|
+ 'status' => '已审核',
|
|
|
]);
|
|
|
- if ($inventoryAccount==1) {
|
|
|
- $inventoryAccount=InventoryAccount::query()->with('userAuditor')->find($id);
|
|
|
- return ['success'=>true,'data'=>$inventoryAccount];
|
|
|
- }else{
|
|
|
- return ['success'=>false,'msg'=>'审核失败!'];
|
|
|
+ if ($inventoryAccount == 1) {
|
|
|
+ $inventoryAccount = InventoryAccount::query()->with('userAuditor')->find($id);
|
|
|
+ return ['success' => true, 'data' => $inventoryAccount];
|
|
|
+ } else {
|
|
|
+ return ['success' => false, 'msg' => '审核失败!'];
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//盘点-任务页面
|
|
|
- public function mission(Request $request,OwnerService $ownerService){
|
|
|
- if(!Gate::allows("库存管理-盘点")){ return redirect(url('/')); }
|
|
|
+ public function mission(Request $request, OwnerService $ownerService)
|
|
|
+ {
|
|
|
+ if (!Gate::allows("库存管理-盘点")) {
|
|
|
+ return redirect(url('/'));
|
|
|
+ }
|
|
|
$paginateParams = $request->input();
|
|
|
- $queryParam=$request->all();
|
|
|
- $inventoryAccounts=app('inventoryAccountService')->paginate($queryParam);
|
|
|
- $owners=$ownerService->getSelection();
|
|
|
- return view('inventory.stockInventory.mission',compact('owners','inventoryAccounts','paginateParams'));
|
|
|
+ $queryParam = $request->all();
|
|
|
+ $inventoryAccounts = app('inventoryAccountService')->paginate($queryParam);
|
|
|
+ $owners = $ownerService->getSelection();
|
|
|
+ return view('inventory.stockInventory.mission', compact('owners', 'inventoryAccounts', 'paginateParams'));
|
|
|
}
|
|
|
+
|
|
|
//进入盘点中或复盘页面
|
|
|
- public function enterStockInventory($id,Request $request){
|
|
|
- if (!Gate::allows('库存管理-盘点')){return redirect(url('/')); }
|
|
|
- if (!$id) return ['success'=>false,'data'=>'参数错误!'];
|
|
|
- $inventoryAccount=InventoryAccount::with('owner')->find($id);
|
|
|
- $inventoryAccountMissions=InventoryAccountMission::with(['commodity.barcodes','stockInventoryPersons'])->where('inventory_account_id',$id)->orderBy('difference_amount','desc')->get();
|
|
|
- return view('inventory.stockInventory.inventoryMission',compact('inventoryAccount','inventoryAccountMissions'));
|
|
|
+ public function enterStockInventory($id, Request $request)
|
|
|
+ {
|
|
|
+ if (!Gate::allows('库存管理-盘点')) {
|
|
|
+ return redirect(url('/'));
|
|
|
+ }
|
|
|
+ if (!$id) return ['success' => false, 'data' => '参数错误!'];
|
|
|
+ $inventoryAccount = InventoryAccount::with('owner')->find($id);
|
|
|
+ $inventoryAccountMissions = InventoryAccountMission::with(['commodity.barcodes', 'stockInventoryPersons'])->where('inventory_account_id', $id)->orderBy('difference_amount', 'desc')->get();
|
|
|
+ return view('inventory.stockInventory.inventoryMission', compact('inventoryAccount', 'inventoryAccountMissions'));
|
|
|
}
|
|
|
- public function enterBlindReceive($id){
|
|
|
- if (!Gate::allows('库存管理-盘点')){return redirect(url('/')); }
|
|
|
- if (!$id) return ['success'=>false,'data'=>'参数错误!'];
|
|
|
- $inventoryAccount=InventoryAccount::with('owner')->find($id);
|
|
|
- return view('inventory.stockInventory.blindReceive',compact('inventoryAccount'));
|
|
|
+
|
|
|
+ public function enterBlindReceive($id)
|
|
|
+ {
|
|
|
+ if (!Gate::allows('库存管理-盘点')) {
|
|
|
+ return redirect(url('/'));
|
|
|
+ }
|
|
|
+ if (!$id) return ['success' => false, 'data' => '参数错误!'];
|
|
|
+ $inventoryAccount = InventoryAccount::with('owner')->find($id);
|
|
|
+ return view('inventory.stockInventory.blindReceive', compact('inventoryAccount'));
|
|
|
}
|
|
|
+
|
|
|
//依据盘点任务id进行 --盘点
|
|
|
- public function stockInventory(Request $request){
|
|
|
- if (!Gate::allows('库存管理-盘点')){return redirect(url('/')); }
|
|
|
- $location=$request->input('location');
|
|
|
- $barcode=$request->input('barcode');
|
|
|
- $inventoryId=$request->input('inventoryId');
|
|
|
- $count=$request->input('count');
|
|
|
- $id=$request->input('id');
|
|
|
- if (is_null($count)) return ['success'=>false,'data'=>'盘点数不能为空!'];
|
|
|
- /** @var InventoryAccountService $inventoryAccountMission */
|
|
|
- $inventoryAccountService=app('inventoryAccountService');
|
|
|
- $inventoryAccountMission=$inventoryAccountService->stockInventory($id,$location,$barcode,$count,$inventoryId);
|
|
|
- if (!$inventoryAccountMission)return ['success'=>false,'data'=>'参数错误!'];
|
|
|
+ public function stockInventory(Request $request)
|
|
|
+ {
|
|
|
+ if (!Gate::allows('库存管理-盘点')) {
|
|
|
+ return redirect(url('/'));
|
|
|
+ }
|
|
|
+ $location = $request->input('location');
|
|
|
+ $barcode = $request->input('barcode');
|
|
|
+ $inventoryId = $request->input('inventoryId');
|
|
|
+ $count = $request->input('count');
|
|
|
+ $id = $request->input('id');
|
|
|
+ if (is_null($count)) return ['success' => false, 'data' => '盘点数不能为空!'];
|
|
|
+ /** @var InventoryAccountService $inventoryAccountService */
|
|
|
+ $inventoryAccountService = app('inventoryAccountService');
|
|
|
+ $inventoryAccountMission = $inventoryAccountService->stockInventory($id, $location, $barcode, $count, $inventoryId);
|
|
|
+ if (!$inventoryAccountMission) return ['success' => false, 'data' => '参数错误!'];
|
|
|
/** @var InventoryAccountService $inventoryService */
|
|
|
- $inventoryService=app('inventoryAccountService');
|
|
|
- $inventoryAccount=$inventoryService->updateInventory($inventoryId);
|
|
|
- $stockInventoryPersons=$inventoryAccountMission->stockInventoryPersons;
|
|
|
- return ['success'=>true,'inventoryMission'=>$inventoryAccountMission,'inventory'=>$inventoryAccount,'stockInventoryPersons'=>$stockInventoryPersons];
|
|
|
+ $inventoryService = app('inventoryAccountService');
|
|
|
+ $inventoryAccount = $inventoryService->updateInventory($inventoryId);
|
|
|
+ $stockInventoryPersons = $inventoryAccountMission->stockInventoryPersons;
|
|
|
+ return ['success' => true, 'inventoryMission' => $inventoryAccountMission, 'inventory' => $inventoryAccount, 'stockInventoryPersons' => $stockInventoryPersons];
|
|
|
}
|
|
|
- public function baseOnBlindReceive(Request $request){
|
|
|
- if (!Gate::allows('库存管理-盘点')){return redirect(url('/')); }
|
|
|
- $location=$request->input('location');
|
|
|
- $inventoryId=$request->input('inventoryId');
|
|
|
- $owner_code=$request->input('owner_code');
|
|
|
- $goodses=$request->input('goodses');
|
|
|
- if (!$location) return ['success'=>false,'fail_info'=>'盘点库位不存在!'];
|
|
|
- if (count($goodses)<1) return ['success'=>false,'fail_info'=>'盘点商品不存在!'];
|
|
|
+
|
|
|
+ public function baseOnBlindReceive(Request $request)
|
|
|
+ {
|
|
|
+ if (!Gate::allows('库存管理-盘点')) {
|
|
|
+ return redirect(url('/'));
|
|
|
+ }
|
|
|
+ $location = $request->input('location');
|
|
|
+ $inventoryId = $request->input('inventoryId');
|
|
|
+ $owner_code = $request->input('owner_code');
|
|
|
+ $goodses = $request->input('goodses');
|
|
|
+ if (!$location) return ['success' => false, 'fail_info' => '盘点库位不存在!'];
|
|
|
+ if (count($goodses) < 1) return ['success' => false, 'fail_info' => '盘点商品不存在!'];
|
|
|
//dd($location,$owner_code,$goodses,$inventoryId,$owner_id);
|
|
|
/** @var InventoryAccountService $inventoryAccountMission */
|
|
|
- $inventoryAccountService=app('inventoryAccountService');
|
|
|
- $inventoryAccountMissions=$inventoryAccountService->baseOnBlindReceive($location,$owner_code,$goodses,$inventoryId);
|
|
|
- if (count($inventoryAccountMissions)<0)return ['success'=>false,'fail_info'=>'盲收盘点失败!'];
|
|
|
+ $inventoryAccountService = app('inventoryAccountService');
|
|
|
+ $inventoryAccountMissions = $inventoryAccountService->baseOnBlindReceive($location, $owner_code, $goodses, $inventoryId);
|
|
|
+ if (count($inventoryAccountMissions) < 0) return ['success' => false, 'fail_info' => '盲收盘点失败!'];
|
|
|
/** @var InventoryAccountService $inventoryService */
|
|
|
- $inventoryService=app('inventoryAccountService');
|
|
|
- $inventoryAccount=$inventoryService->updateInventory($inventoryId);
|
|
|
- if ($inventoryAccountMissions&&$inventoryAccount)
|
|
|
- $stockInventoryPersons=$inventoryAccountMissions[0]->stockInventoryPersons;
|
|
|
- return ['success'=>true,'inventoryMissions'=>$inventoryAccountMissions,'inventory'=>$inventoryAccount,'stockInventoryPersons'=>$stockInventoryPersons];
|
|
|
+ $inventoryService = app('inventoryAccountService');
|
|
|
+ $inventoryAccount = $inventoryService->updateInventory($inventoryId);
|
|
|
+ if ($inventoryAccountMissions && $inventoryAccount)
|
|
|
+ $stockInventoryPersons = $inventoryAccountMissions[0]->stockInventoryPersons;
|
|
|
+ return ['success' => true, 'inventoryMissions' => $inventoryAccountMissions, 'inventory' => $inventoryAccount, 'stockInventoryPersons' => $stockInventoryPersons];
|
|
|
}
|
|
|
+
|
|
|
//根据该库存和产品条码查询该条盘点记录??
|
|
|
- public function searchStockInventoryRecord(Request $request){
|
|
|
- if (!Gate::allows('库存管理-盘点')){return redirect(url('/')); }
|
|
|
- $location=$request->input('location');
|
|
|
- $barcode=$request->input('barcode');
|
|
|
- $inventoryId=$request->input('inventoryId');
|
|
|
+ public function searchStockInventoryRecord(Request $request)
|
|
|
+ {
|
|
|
+ if (!Gate::allows('库存管理-盘点')) {
|
|
|
+ return redirect(url('/'));
|
|
|
+ }
|
|
|
+ $location = $request->input('location');
|
|
|
+ $barcode = $request->input('barcode');
|
|
|
+ $inventoryId = $request->input('inventoryId');
|
|
|
/** @var InventoryAccountService $application */
|
|
|
$application = app('inventoryAccountService');
|
|
|
- $inventoryAccountMissions= $application->searchStockInventoryRecord($location,$barcode,$inventoryId);
|
|
|
- if ($inventoryAccountMissions->isEmpty())return ['success'=>false,'data'=>'没有找到相应记录!'];
|
|
|
+ $inventoryAccountMissions = $application->searchStockInventoryRecord($location, $barcode, $inventoryId);
|
|
|
+ if ($inventoryAccountMissions->isEmpty()) return ['success' => false, 'data' => '没有找到相应记录!'];
|
|
|
// $stockInventoryPersons=$inventoryAccountMissions->stockInventoryPersons;
|
|
|
// return ['success'=>true,'data'=>$inventoryAccountMissions,'stockInventoryPersons'=>$stockInventoryPersons];
|
|
|
- return ['success'=>true,'data'=>$inventoryAccountMissions];
|
|
|
+ return ['success' => true, 'data' => $inventoryAccountMissions];
|
|
|
}
|
|
|
|
|
|
//盘点任务导出
|
|
|
- public function stockInventoryExport(Request $request){
|
|
|
- if (!Gate::allows('库存管理-盘点')){return redirect(url('/')); }
|
|
|
- ini_set('max_execution_time',3500);
|
|
|
- ini_set('memory_limit','3526M');
|
|
|
- if ($request->checkAllSign){
|
|
|
+ public function stockInventoryExport(Request $request)
|
|
|
+ {
|
|
|
+ if (!Gate::allows('库存管理-盘点')) {
|
|
|
+ return redirect(url('/'));
|
|
|
+ }
|
|
|
+ ini_set('max_execution_time', 3500);
|
|
|
+ ini_set('memory_limit', '3526M');
|
|
|
+ if ($request->checkAllSign) {
|
|
|
$request->offsetUnset('checkAllSign');
|
|
|
- $queryParam=$request->all();
|
|
|
- $inventoryAccounts=app('inventoryAccountService')->get($queryParam);
|
|
|
- }else{
|
|
|
- $queryParam=$request->all();
|
|
|
- $inventoryAccounts=app('inventoryAccountService')->some($queryParam);
|
|
|
- }
|
|
|
- $row=[[
|
|
|
- 'id'=>'盘点编号',
|
|
|
- 'status'=>'盘点状态',
|
|
|
- 'created_at'=>'创建时间',
|
|
|
- 'owner_id'=>'货主',
|
|
|
- 'type'=>'任务类型',
|
|
|
- 'start_at'=>'起始时间',
|
|
|
- 'end_at'=>'结束时间',
|
|
|
- 'total'=>'记录数',
|
|
|
- 'processed'=>'已盘数',
|
|
|
- 'surplus'=>'剩余数',
|
|
|
- 'difference'=>'复盘差异',
|
|
|
- 'returned'=>'复盘归位',
|
|
|
+ $queryParam = $request->all();
|
|
|
+ $inventoryAccounts = app('inventoryAccountService')->get($queryParam);
|
|
|
+ } else {
|
|
|
+ $queryParam = $request->all();
|
|
|
+ $inventoryAccounts = app('inventoryAccountService')->some($queryParam);
|
|
|
+ }
|
|
|
+ $row = [[
|
|
|
+ 'id' => '盘点编号',
|
|
|
+ 'status' => '盘点状态',
|
|
|
+ 'created_at' => '创建时间',
|
|
|
+ 'owner_id' => '货主',
|
|
|
+ 'type' => '任务类型',
|
|
|
+ 'start_at' => '起始时间',
|
|
|
+ 'end_at' => '结束时间',
|
|
|
+ 'total' => '记录数',
|
|
|
+ 'processed' => '已盘数',
|
|
|
+ 'surplus' => '剩余数',
|
|
|
+ 'difference' => '复盘差异',
|
|
|
+ 'returned' => '复盘归位',
|
|
|
]];
|
|
|
- $list=[];
|
|
|
- for ($i=0; $i<count($inventoryAccounts);$i++){
|
|
|
- $inventoryAccount=$inventoryAccounts[$i];
|
|
|
- $w=[
|
|
|
- 'id'=>isset($inventoryAccount->id)?$inventoryAccount->id:'',
|
|
|
- 'status'=>isset($inventoryAccount->status)?$inventoryAccount->status:'',
|
|
|
- 'created_at'=>isset($inventoryAccount->created_at)?$inventoryAccount->created_at:'',
|
|
|
- 'owner_id'=>isset($inventoryAccount->owner->name)?$inventoryAccount->owner->name:'',
|
|
|
- 'type'=>isset($inventoryAccount->type)?$inventoryAccount->type:'',
|
|
|
- 'start_at'=>isset($inventoryAccount->start_at)?$inventoryAccount->start_at:'',
|
|
|
- 'end_at'=>isset($inventoryAccount->end_at)?$inventoryAccount->end_at:'',
|
|
|
- 'total'=>isset($inventoryAccount->total)?$inventoryAccount->total:'',
|
|
|
- 'processed'=>isset($inventoryAccount->processed)?$inventoryAccount->processed:'',
|
|
|
- 'surplus'=>isset($inventoryAccount->surplus)?$inventoryAccount->surplus:'',
|
|
|
- 'difference'=>isset($inventoryAccount->difference)?$inventoryAccount->difference:'',
|
|
|
- 'returned'=>isset($inventoryAccount->returned)?$inventoryAccount->returned:'',
|
|
|
+ $list = [];
|
|
|
+ for ($i = 0; $i < count($inventoryAccounts); $i++) {
|
|
|
+ $inventoryAccount = $inventoryAccounts[$i];
|
|
|
+ $w = [
|
|
|
+ 'id' => isset($inventoryAccount->id) ? $inventoryAccount->id : '',
|
|
|
+ 'status' => isset($inventoryAccount->status) ? $inventoryAccount->status : '',
|
|
|
+ 'created_at' => isset($inventoryAccount->created_at) ? $inventoryAccount->created_at : '',
|
|
|
+ 'owner_id' => isset($inventoryAccount->owner->name) ? $inventoryAccount->owner->name : '',
|
|
|
+ 'type' => isset($inventoryAccount->type) ? $inventoryAccount->type : '',
|
|
|
+ 'start_at' => isset($inventoryAccount->start_at) ? $inventoryAccount->start_at : '',
|
|
|
+ 'end_at' => isset($inventoryAccount->end_at) ? $inventoryAccount->end_at : '',
|
|
|
+ 'total' => isset($inventoryAccount->total) ? $inventoryAccount->total : '',
|
|
|
+ 'processed' => isset($inventoryAccount->processed) ? $inventoryAccount->processed : '',
|
|
|
+ 'surplus' => isset($inventoryAccount->surplus) ? $inventoryAccount->surplus : '',
|
|
|
+ 'difference' => isset($inventoryAccount->difference) ? $inventoryAccount->difference : '',
|
|
|
+ 'returned' => isset($inventoryAccount->returned) ? $inventoryAccount->returned : '',
|
|
|
];
|
|
|
- $list[$i]=$w;
|
|
|
+ $list[$i] = $w;
|
|
|
}
|
|
|
- return Excel::download(new Export($row,$list),date('YmdHis', time()).'-盘点任务记录单.xlsx');
|
|
|
+ return Excel::download(new Export($row, $list), date('YmdHis', time()) . '-盘点任务记录单.xlsx');
|
|
|
}
|
|
|
- public function stockInventoryEnd(Request $request){
|
|
|
- if (!Gate::allows('库存管理-盘点-结束初盘')){return ['success'=>false,'data'=>'没有权限']; }
|
|
|
- $id=$request->input('id');
|
|
|
- if (!$id) return ['success'=>false,'data'=>'参数错误!'];
|
|
|
- $inventoryAccount=InventoryAccount::query()->where('id',$id)->update(['status'=>'复盘中']);
|
|
|
- app('LogService')->log(__METHOD__,'结束初盘任务'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
|
|
|
- if ($inventoryAccount>0) return ['success'=>true,'data'=>'复盘中'];
|
|
|
- return ['success'=>false,'data'=>'参数错误!'];
|
|
|
+
|
|
|
+ public function stockInventoryEnd(Request $request)
|
|
|
+ {
|
|
|
+ if (!Gate::allows('库存管理-盘点-结束初盘')) {
|
|
|
+ return ['success' => false, 'data' => '没有权限'];
|
|
|
+ }
|
|
|
+ $id = $request->input('id');
|
|
|
+ if (!$id) return ['success' => false, 'data' => '参数错误!'];
|
|
|
+ $inventoryAccount = InventoryAccount::query()->where('id', $id)->update(['status' => '复盘中']);
|
|
|
+ app('LogService')->log(__METHOD__, '结束初盘任务' . __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']);
|
|
|
+ if ($inventoryAccount > 0) return ['success' => true, 'data' => '复盘中'];
|
|
|
+ return ['success' => false, 'data' => '参数错误!'];
|
|
|
}
|
|
|
- public function syncOwners(OwnerService $ownerService){
|
|
|
- if (!Gate::allows('库存管理-盘点')){return redirect(url('/')); }
|
|
|
- $owners=$ownerService->syncOwnersData();
|
|
|
- if (!$owners)return ['success'=>false,'data'=>'同步货主失败!'];
|
|
|
- return ['success'=>true,'data'=>$owners];
|
|
|
+
|
|
|
+ public function syncOwners(OwnerService $ownerService)
|
|
|
+ {
|
|
|
+ if (!Gate::allows('库存管理-盘点')) {
|
|
|
+ return redirect(url('/'));
|
|
|
+ }
|
|
|
+ $owners = $ownerService->syncOwnersData();
|
|
|
+ if (!$owners) return ['success' => false, 'data' => '同步货主失败!'];
|
|
|
+ return ['success' => true, 'data' => $owners];
|
|
|
}
|
|
|
- public function 修改质量状态(Request $request){
|
|
|
- if (!Gate::allows('库存管理-盘点')){return redirect(url('/')); }
|
|
|
- $id=$request->input('id');
|
|
|
- $location=$request->location;
|
|
|
- $sku=$request->sku;
|
|
|
- $quality=$request->quality;
|
|
|
- $ownerCode=$request->ownerCode;
|
|
|
- $inventoryAccountMission=app('inventoryAccountService')->修改质量状态($id,$location,$sku,$quality,$ownerCode);
|
|
|
- app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
|
|
|
- if ($inventoryAccountMission==null) return ['success'=>false,'data'=>'WMS中不存在该条记录!'];
|
|
|
- return ['success'=>true,'data'=>'质量状态修改成功'];
|
|
|
+
|
|
|
+ public function 修改质量状态(Request $request)
|
|
|
+ {
|
|
|
+ if (!Gate::allows('库存管理-盘点')) {
|
|
|
+ return redirect(url('/'));
|
|
|
+ }
|
|
|
+ $id = $request->input('id');
|
|
|
+ $location = $request->location;
|
|
|
+ $sku = $request->sku;
|
|
|
+ $quality = $request->quality;
|
|
|
+ $ownerCode = $request->ownerCode;
|
|
|
+ $inventoryAccountMission = app('inventoryAccountService')->修改质量状态($id, $location, $sku, $quality, $ownerCode);
|
|
|
+ app('LogService')->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']);
|
|
|
+ if ($inventoryAccountMission == null) return ['success' => false, 'data' => 'WMS中不存在该条记录!'];
|
|
|
+ return ['success' => true, 'data' => '质量状态修改成功'];
|
|
|
|
|
|
}
|
|
|
- public function 完结盘点任务($id){
|
|
|
- if(!Gate::allows('库存管理-盘点-完结')){return['success'=>false,'status'=>'没有权限'];}
|
|
|
- if (!$id)return['success'=>false,'status'=>'参数错误!'];
|
|
|
- $inventoryAccount=app('inventoryAccountService')->完结盘点任务($id);
|
|
|
- if (!$inventoryAccount)return['success'=>false,'status'=>'修改完结状态失败!'];
|
|
|
- return['success'=>true,'data'=>$inventoryAccount];
|
|
|
+
|
|
|
+ public function 完结盘点任务($id)
|
|
|
+ {
|
|
|
+ if (!Gate::allows('库存管理-盘点-完结')) {
|
|
|
+ return ['success' => false, 'status' => '没有权限'];
|
|
|
+ }
|
|
|
+ if (!$id) return ['success' => false, 'status' => '参数错误!'];
|
|
|
+ $inventoryAccount = app('inventoryAccountService')->完结盘点任务($id);
|
|
|
+ if (!$inventoryAccount) return ['success' => false, 'status' => '修改完结状态失败!'];
|
|
|
+ return ['success' => true, 'data' => $inventoryAccount];
|
|
|
|
|
|
}
|
|
|
- public function 增加系统之外的盘点记录(Request $request){
|
|
|
- if(!Gate::allows('库存管理-盘点')){return['success'=>false,'data'=>'没有权限'];}
|
|
|
- $location=$request->input('location');
|
|
|
- $barcode=$request->input('barcode');
|
|
|
- $inventoryId=$request->input('inventoryId');
|
|
|
- $count=$request->input('count');
|
|
|
- $owner_code=$request->input('owner_code');
|
|
|
- $param=$request->input('param');
|
|
|
- if (is_null($count)) return ['success'=>false,'data'=>'盘点数不能为空!'];
|
|
|
- $inventoryAccountMission=app('inventoryAccountService')->增加系统之外的盘点记录($location,$barcode,$inventoryId,$count,$owner_code,$param);
|
|
|
- if (!$inventoryAccountMission)return ['success'=>false,'data'=>'添加系统之外的库位记录失败!'];
|
|
|
- $inventoryAccountMission=InventoryAccountMission::with(['commodity.barcodes','stockInventoryPersons'])->where('id',$inventoryAccountMission->id)->first();
|
|
|
- $stockInventoryPersons=$inventoryAccountMission->stockInventoryPersons;
|
|
|
- return ['success'=>true,'inventoryAccountMission'=>$inventoryAccountMission,'stockInventoryPersons'=>$stockInventoryPersons];
|
|
|
+
|
|
|
+ public function 增加系统之外的盘点记录(Request $request)
|
|
|
+ {
|
|
|
+ if (!Gate::allows('库存管理-盘点')) {
|
|
|
+ return ['success' => false, 'data' => '没有权限'];
|
|
|
+ }
|
|
|
+ $location = $request->input('location');
|
|
|
+ $barcode = $request->input('barcode');
|
|
|
+ $inventoryId = $request->input('inventoryId');
|
|
|
+ $count = $request->input('count');
|
|
|
+ $owner_code = $request->input('owner_code');
|
|
|
+ $param = $request->input('param');
|
|
|
+ if (is_null($count)) return ['success' => false, 'data' => '盘点数不能为空!'];
|
|
|
+ $inventoryAccountMission = app('inventoryAccountService')->增加系统之外的盘点记录($location, $barcode, $inventoryId, $count, $owner_code, $param);
|
|
|
+ if (!$inventoryAccountMission) return ['success' => false, 'data' => '添加系统之外的库位记录失败!'];
|
|
|
+ $inventoryAccountMission = InventoryAccountMission::with(['commodity.barcodes', 'stockInventoryPersons'])->where('id', $inventoryAccountMission->id)->first();
|
|
|
+ $stockInventoryPersons = $inventoryAccountMission->stockInventoryPersons;
|
|
|
+ return ['success' => true, 'inventoryAccountMission' => $inventoryAccountMission, 'stockInventoryPersons' => $stockInventoryPersons];
|
|
|
}
|
|
|
- public function 盘点选中任务(Request $request){
|
|
|
- if(!Gate::allows('库存管理-盘点')){return['success'=>false,'data'=>'没有权限'];}
|
|
|
- $id=$request->input('id');
|
|
|
- $count=$request->count;
|
|
|
- $inventoryId=$request->input('inventoryId');
|
|
|
- $produced_at=$request->input('produced_at');
|
|
|
- $valid_at=$request->input('valid_at');
|
|
|
- $batch_number=$request->input('batch_number');
|
|
|
- if (is_null($count)) return ['success'=>false,'data'=>'盘点数不能为空!'];
|
|
|
- if ($produced_at||$valid_at||$batch_number){
|
|
|
+
|
|
|
+ public function 盘点选中任务(Request $request)
|
|
|
+ {
|
|
|
+ if (!Gate::allows('库存管理-盘点')) {
|
|
|
+ return ['success' => false, 'data' => '没有权限'];
|
|
|
+ }
|
|
|
+ $id = $request->input('id');
|
|
|
+ $count = $request->count;
|
|
|
+ $inventoryId = $request->input('inventoryId');
|
|
|
+ $produced_at = $request->input('produced_at');
|
|
|
+ $valid_at = $request->input('valid_at');
|
|
|
+ $batch_number = $request->input('batch_number');
|
|
|
+ if (is_null($count)) return ['success' => false, 'data' => '盘点数不能为空!'];
|
|
|
+ if ($produced_at || $valid_at || $batch_number) {
|
|
|
/** @var InventoryAccountService $inventoryAccountMission */
|
|
|
- $inventoryAccountService=app('inventoryAccountService');
|
|
|
- $inventoryAccountMission=$inventoryAccountService ->盘点生产日期_失效日期_批号有改动任务($id,$count,$inventoryId,$produced_at,$valid_at,$batch_number);
|
|
|
- if (!$inventoryAccountMission)return ['success'=>false,'data'=>'盘点生产日期_失效日期_批号有改动任务失败!'];
|
|
|
+ $inventoryAccountService = app('inventoryAccountService');
|
|
|
+ $inventoryAccountMission = $inventoryAccountService->盘点生产日期_失效日期_批号有改动任务($id, $count, $inventoryId, $produced_at, $valid_at, $batch_number);
|
|
|
+ if (!$inventoryAccountMission) return ['success' => false, 'data' => '盘点生产日期_失效日期_批号有改动任务失败!'];
|
|
|
/** @var InventoryAccountService $inventoryService */
|
|
|
- $inventoryService=app('inventoryAccountService');
|
|
|
- $inventoryAccount=$inventoryService->updateInventory($inventoryId);
|
|
|
- $stockInventoryPersons=$inventoryAccountMission[0]->stockInventoryPersons;
|
|
|
- return ['success'=>true,'inventoryMission'=>$inventoryAccountMission,'inventory'=>$inventoryAccount,'stockInventoryPersons'=>$stockInventoryPersons];
|
|
|
- }else{
|
|
|
+ $inventoryService = app('inventoryAccountService');
|
|
|
+ $inventoryAccount = $inventoryService->updateInventory($inventoryId);
|
|
|
+ $stockInventoryPersons = $inventoryAccountMission[0]->stockInventoryPersons;
|
|
|
+ return ['success' => true, 'inventoryMission' => $inventoryAccountMission, 'inventory' => $inventoryAccount, 'stockInventoryPersons' => $stockInventoryPersons];
|
|
|
+ } else {
|
|
|
/** @var InventoryAccountService $inventoryAccountMission */
|
|
|
- $inventoryAccountService=app('inventoryAccountService');
|
|
|
- $inventoryAccountMission=$inventoryAccountService ->盘点选中任务($id,$count,$inventoryId);
|
|
|
- if (!$inventoryAccountMission)return ['success'=>false,'data'=>'盘点选中任务失败!'];
|
|
|
+ $inventoryAccountService = app('inventoryAccountService');
|
|
|
+ $inventoryAccountMission = $inventoryAccountService->盘点选中任务($id, $count, $inventoryId);
|
|
|
+ if (!$inventoryAccountMission) return ['success' => false, 'data' => '盘点选中任务失败!'];
|
|
|
/** @var InventoryAccountService $inventoryService */
|
|
|
- $inventoryService=app('inventoryAccountService');
|
|
|
- $inventoryAccount=$inventoryService->updateInventory($inventoryId);
|
|
|
- $stockInventoryPersons=$inventoryAccountMission->stockInventoryPersons;
|
|
|
- return ['success'=>true,'inventoryMission'=>$inventoryAccountMission,'inventory'=>$inventoryAccount,'stockInventoryPersons'=>$stockInventoryPersons];
|
|
|
+ $inventoryService = app('inventoryAccountService');
|
|
|
+ $inventoryAccount = $inventoryService->updateInventory($inventoryId);
|
|
|
+ $stockInventoryPersons = $inventoryAccountMission->stockInventoryPersons;
|
|
|
+ return ['success' => true, 'inventoryMission' => $inventoryAccountMission, 'inventory' => $inventoryAccount, 'stockInventoryPersons' => $stockInventoryPersons];
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public function 删除盘点记录(Request $request){
|
|
|
- if(!Gate::allows('库存管理-盘点-删除')){return['success'=>false,'data'=>'没有权限'];}
|
|
|
- $inventoryAccountMissionId=$request->input('inventoryAccountMissionId');
|
|
|
- $inventoryAccountId=$request->input('inventoryAccountId');
|
|
|
- if(is_null($inventoryAccountMissionId)){return ['success'=>false,'data'=>'传入id为空'];}
|
|
|
+ public function 删除盘点记录(Request $request)
|
|
|
+ {
|
|
|
+ if (!Gate::allows('库存管理-盘点-删除')) {
|
|
|
+ return ['success' => false, 'data' => '没有权限'];
|
|
|
+ }
|
|
|
+ $inventoryAccountMissionId = $request->input('inventoryAccountMissionId');
|
|
|
+ $inventoryAccountId = $request->input('inventoryAccountId');
|
|
|
+ if (is_null($inventoryAccountMissionId)) {
|
|
|
+ return ['success' => false, 'data' => '传入id为空'];
|
|
|
+ }
|
|
|
/** @var InventoryAccountService $inventoryService */
|
|
|
- $inventoryService=app('inventoryAccountService');
|
|
|
- $inventoryAccountMission=$inventoryService->删除盘点记录($inventoryAccountMissionId,$inventoryAccountId);
|
|
|
- return ['success'=>true,'data'=>$inventoryAccountMission];
|
|
|
+ $inventoryService = app('inventoryAccountService');
|
|
|
+ $inventoryAccountMission = $inventoryService->删除盘点记录($inventoryAccountMissionId, $inventoryAccountId);
|
|
|
+ return ['success' => true, 'data' => $inventoryAccountMission];
|
|
|
}
|
|
|
- public function 跳过盘点记录(Request $request){
|
|
|
- if(!Gate::allows('库存管理-盘点')){return['success'=>false,'data'=>'没有权限'];}
|
|
|
- $inventoryAccountMissionId=$request->inventoryAccountMissionId;
|
|
|
- $inventoryAccountId=$request->input('inventoryAccountId');
|
|
|
- if(is_null($inventoryAccountMissionId)){return ['success'=>false,'data'=>'传入id为空'];}
|
|
|
+
|
|
|
+ public function 跳过盘点记录(Request $request)
|
|
|
+ {
|
|
|
+ if (!Gate::allows('库存管理-盘点')) {
|
|
|
+ return ['success' => false, 'data' => '没有权限'];
|
|
|
+ }
|
|
|
+ $inventoryAccountMissionId = $request->inventoryAccountMissionId;
|
|
|
+ $inventoryAccountId = $request->input('inventoryAccountId');
|
|
|
+ if (is_null($inventoryAccountMissionId)) {
|
|
|
+ return ['success' => false, 'data' => '传入id为空'];
|
|
|
+ }
|
|
|
/** @var InventoryAccountService $inventoryService */
|
|
|
- $inventoryService=app('inventoryAccountService');
|
|
|
- $inventoryAccountMission=$inventoryService->跳过盘点记录($inventoryAccountMissionId,$inventoryAccountId);
|
|
|
- return ['success'=>true,'inventoryAccountMission'=>$inventoryAccountMission];
|
|
|
+ $inventoryService = app('inventoryAccountService');
|
|
|
+ $inventoryAccountMission = $inventoryService->跳过盘点记录($inventoryAccountMissionId, $inventoryAccountId);
|
|
|
+ return ['success' => true, 'inventoryAccountMission' => $inventoryAccountMission];
|
|
|
}
|
|
|
- public function 确认盘点差异(Request $request){
|
|
|
- if(!Gate::allows('库存管理-盘点')){return['success'=>false,'data'=>'没有权限'];}
|
|
|
- $inventoryAccountMissionId=$request->inventoryAccountMissionId;
|
|
|
- $inventoryAccountId=$request->input('inventoryAccountId');
|
|
|
- if(is_null($inventoryAccountMissionId)){return ['success'=>false,'data'=>'传入id为空'];}
|
|
|
+
|
|
|
+ public function 确认盘点差异(Request $request)
|
|
|
+ {
|
|
|
+ if (!Gate::allows('库存管理-盘点')) {
|
|
|
+ return ['success' => false, 'data' => '没有权限'];
|
|
|
+ }
|
|
|
+ $inventoryAccountMissionId = $request->inventoryAccountMissionId;
|
|
|
+ $inventoryAccountId = $request->input('inventoryAccountId');
|
|
|
+ if (is_null($inventoryAccountMissionId)) {
|
|
|
+ return ['success' => false, 'data' => '传入id为空'];
|
|
|
+ }
|
|
|
/** @var InventoryAccountService $inventoryService */
|
|
|
- $inventoryService=app('inventoryAccountService');
|
|
|
- $inventoryAccountMission=$inventoryService->确认盘点差异($inventoryAccountMissionId,$inventoryAccountId);
|
|
|
- return ['success'=>true,'inventoryAccountMission'=>$inventoryAccountMission];
|
|
|
+ $inventoryService = app('inventoryAccountService');
|
|
|
+ $inventoryAccountMission = $inventoryService->确认盘点差异($inventoryAccountMissionId, $inventoryAccountId);
|
|
|
+ return ['success' => true, 'inventoryAccountMission' => $inventoryAccountMission];
|
|
|
}
|
|
|
- public function 批量跳过或确认差异(Request $request){
|
|
|
- if(!Gate::allows('库存管理-盘点')){return['success'=>false,'data'=>'没有权限'];}
|
|
|
- $checkData=$request->checkData;
|
|
|
- if(is_null($checkData)){return ['success'=>false,'data'=>'传入勾选盘点记录为空'];}
|
|
|
- $marks=[];
|
|
|
- foreach ($checkData as $inventoryMission){
|
|
|
- array_push($marks,$inventoryMission['mark']);
|
|
|
- }
|
|
|
- if (in_array('确认差异',$marks)||in_array('跳过',$marks)||in_array('无差异',$marks)||in_array('已复盘无差异',$marks))return ['success'=>false,'data'=>'传入勾选盘点记录存在不可操作项!'];
|
|
|
+
|
|
|
+ public function 批量跳过或确认差异(Request $request)
|
|
|
+ {
|
|
|
+ if (!Gate::allows('库存管理-盘点')) {
|
|
|
+ return ['success' => false, 'data' => '没有权限'];
|
|
|
+ }
|
|
|
+ $checkData = $request->checkData;
|
|
|
+ if (is_null($checkData)) {
|
|
|
+ return ['success' => false, 'data' => '传入勾选盘点记录为空'];
|
|
|
+ }
|
|
|
+ $marks = [];
|
|
|
+ foreach ($checkData as $inventoryMission) {
|
|
|
+ array_push($marks, $inventoryMission['mark']);
|
|
|
+ }
|
|
|
+ if (in_array('确认差异', $marks) || in_array('跳过', $marks) || in_array('无差异', $marks) || in_array('已复盘无差异', $marks)) return ['success' => false, 'data' => '传入勾选盘点记录存在不可操作项!'];
|
|
|
/** @var InventoryAccountService $inventoryService */
|
|
|
- $inventoryService=app('inventoryAccountService');
|
|
|
- $inventoryAccountMissions=$inventoryService->批量跳过或确认差异($checkData);
|
|
|
- return ['success'=>true,'inventoryAccountMissions'=>$inventoryAccountMissions];
|
|
|
+ $inventoryService = app('inventoryAccountService');
|
|
|
+ $inventoryAccountMissions = $inventoryService->批量跳过或确认差异($checkData);
|
|
|
+ return ['success' => true, 'inventoryAccountMissions' => $inventoryAccountMissions];
|
|
|
}
|
|
|
- public function exportInventoryAccountMission(Request $request){
|
|
|
- if(!Gate::allows("库存管理-盘点")){ return redirect(url('/')); }
|
|
|
- $post = Http::post(config('go.export.url'),['type'=>'inventoryAccountMission','data'=>$request->data]);
|
|
|
- if ($post->status() == 500){
|
|
|
+
|
|
|
+ public function exportInventoryAccountMission(Request $request)
|
|
|
+ {
|
|
|
+ if (!Gate::allows("库存管理-盘点")) {
|
|
|
+ return redirect(url('/'));
|
|
|
+ }
|
|
|
+ $post = Http::post(config('go.export.url'), ['type' => 'inventoryAccountMission', 'data' => $request->data]);
|
|
|
+ if ($post->status() == 500) {
|
|
|
throw new Exception($post->header("Msg"));
|
|
|
}
|
|
|
- return response($post,200, [
|
|
|
- "Content-type"=>"application/octet-stream",
|
|
|
- "Content-Disposition"=>"attachment; filename=库存盘点记录-".date('ymdHis').'.xlsx',
|
|
|
+ return response($post, 200, [
|
|
|
+ "Content-type" => "application/octet-stream",
|
|
|
+ "Content-Disposition" => "attachment; filename=库存盘点记录-" . date('ymdHis') . '.xlsx',
|
|
|
]);
|
|
|
}
|
|
|
- public function searchCommodityByBarcode(Request $request){
|
|
|
- if(!Gate::allows('库存管理-盘点')){return['success'=>false,'data'=>'没有权限'];}
|
|
|
- $barcode=$request->input('barcode');
|
|
|
- $owner_code=$request->input('owner_code');
|
|
|
+
|
|
|
+ public function searchCommodityByBarcode(Request $request)
|
|
|
+ {
|
|
|
+ if (!Gate::allows('库存管理-盘点')) {
|
|
|
+ return ['success' => false, 'data' => '没有权限'];
|
|
|
+ }
|
|
|
+ $barcode = $request->input('barcode');
|
|
|
+ $owner_code = $request->input('owner_code');
|
|
|
/** @var InventoryAccountService $inventoryService */
|
|
|
- $inventoryService=app('inventoryAccountService');
|
|
|
- $commodity=$inventoryService->searchCommodityByBarcode($barcode,$owner_code);
|
|
|
- if ($commodity){
|
|
|
- return ['success'=>true,'data'=>$commodity];
|
|
|
- }else{
|
|
|
- return ['success'=>false,'data'=>'输入的条码没有对应商品!'];
|
|
|
+ $inventoryService = app('inventoryAccountService');
|
|
|
+ $commodity = $inventoryService->searchCommodityByBarcode($barcode, $owner_code);
|
|
|
+ if ($commodity) {
|
|
|
+ return ['success' => true, 'data' => $commodity];
|
|
|
+ } else {
|
|
|
+ return ['success' => false, 'data' => '输入的条码没有对应商品!'];
|
|
|
}
|
|
|
}
|
|
|
+ //根据库位批量盘点该库位下盘点记录
|
|
|
+ public function batchStockByLocation(Request $request)
|
|
|
+ {
|
|
|
+ if (!Gate::allows('库存管理-盘点')) return ['success' => false, 'msg' => '没有权限'];
|
|
|
+ $missions=$request->mission;
|
|
|
+ $inventoryId=$request->inventoryId;
|
|
|
+ if (!$inventoryId||count($missions)<1) return ['success' => false, 'msg' => '参数错误'];
|
|
|
+ /** @var InventoryAccountService $inventoryService */
|
|
|
+ $inventoryService = app('inventoryAccountService');
|
|
|
+ $inventoryMissions=$inventoryService->batchStockByLocation($missions,$inventoryId);
|
|
|
+ $inventoryService = app('inventoryAccountService');
|
|
|
+ $inventoryAccount = $inventoryService->updateInventory($inventoryId);
|
|
|
+ $stockInventoryPersons = $inventoryMissions[0]->stockInventoryPersons;
|
|
|
+ return ['success' => true, 'inventoryMission' => $inventoryMissions, 'inventory' => $inventoryAccount, 'stockInventoryPersons' => $stockInventoryPersons];
|
|
|
+ }
|
|
|
}
|