subDays(15); if ($request->input('commodity_barcode')){ $barcode=$request->input('commodity_barcode'); $processes=$processes->with('commodity')->whereHas('commodity',function (Builder $query)use($barcode){ $query->where('barcode','like',$barcode.'%'); }); } if ($request->input('date_start')){ $processes=$processes->where('created_at','>=',$request->input('date_start')); } if ($request->input('date_end')){ $processes=$processes->where('created_at','<=',$request->input('date_end')); } if ($request->input('owner_id')){ $processes=$processes->where('owner_id',$request->input('owner_id')); } if ($request->input('wms_code')){ $processes=$processes->where('wms_code','like','%'.$request->input('wms_code').'%')->where('created_at','>',$today->format('Y-m-d')); } $processes=$processes->paginate($request->input('paginate')??50); return $processes; } /** * Display a listing of the resource. * @param Request $request * @return \Illuminate\Http\Response */ public function index(Request $request) { $processes=Process::with('tutorials')->orderBy('processes.id','DESC'); if ($request->input('checkSign')){ $excel=$this->isExport($request,$processes); return $excel; } $processes=$this->conditionQuery($request,$processes); $owners=Owner::select('id','name')->get(); return view('process.index',['processes'=>$processes,'owners'=>$owners]); } //获取导出数据 public function isExport(Request $request,$processes){ if ($request->input('checkSign')=="-1"){ $processes=$this->conditionQuery($request,$processes); $excel=$this->export($processes); return $excel; } $id = explode( ',',$request->input('checkSign')); $processes=$processes->whereIn('id',$id)->get(); $excel=$this->export($processes); return $excel; } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { // } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { // } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { // } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { // } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { // } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { // } //执行 public function export($processes){ if(!Gate::allows('二次加工管理-查询')){ return '没有权限'; } $row=[[ 'id'=>'ID', 'code'=>'任务号', 'owner_name'=>'货主', 'bill_type'=>'单据类型', 'wms_code'=>'单据号', 'process_method_name'=>'加工类型', 'amount'=>'预期数量', 'unit_price'=>'单价', 'created_at'=>'提交日期', 'commodity_barcode'=>'商品编码', 'commodity_name'=>'商品名称', 'completed_amount'=>'实际数量', 'status'=>'状态', ]]; $list=[]; $i=0; foreach ($processes as $process){ $w=[ 'id'=>$process->id, 'code'=>$process->code , 'owner_name'=>$process->owner_name , 'bill_type'=>$process->bill_type , 'wms_code'=>$process->wms_code , 'process_method_name'=>$process->process_method_name, 'amount'=>$process->amount, 'unit_price'=>$process->unit_price, 'created_at'=>$process->created_at , 'commodity_barcode'=>$process->commodity_barcode, 'commodity_name'=>$process->commodity_name , 'completed_amount'=>$process->completed_amount, 'status'=>$process->status, ]; $list[$i]=$w; $i++; } return Excel::download(new WaybillExport($row,$list),date('YmdHis', time()).'-二次加工单.xls'); } }