| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- <?php
- namespace App\Http\Controllers;
- use App\Commodity;
- use App\Exports\WaybillExport;
- use App\Owner;
- use App\Process;
- use Carbon\Carbon;
- use Illuminate\Database\Eloquent\Builder;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Gate;
- use Maatwebsite\Excel\Facades\Excel;
- class ProcessController extends Controller
- {
- public function conditionQuery(Request $request,$processes){
- $today=Carbon::now()->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');
- }
- }
|