/
home
/
henzagold
/
server
/
app
/
Http
/
Controllers
/
Adm
/
File Upload :
llllll
Current File: /home/henzagold/server/app/Http/Controllers/Adm/MajorOrderController.php
<?php namespace App\Http\Controllers\Adm; use App\Http\Controllers\api\CustomerController; use App\Http\Controllers\Controller; use App\Models\Major\Cash; use App\Models\Customer; use App\Models\Notify; use App\Models\Order; use App\DB\Te\TableEngine; use App\Models\OrderActivity; use App\Models\OrderItem; use App\Models\Sms; use Illuminate\Http\Request; class MajorOrderController extends Controller { /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index(Request $request) { $records = Order::with(['items', 'customer','activity' , 'parent']) ->orderBy('id', 'DESC'); TableEngine::create($records,$request->all()) ->initSearch(['customer.name','customer.mobile']) ->select([ '*', Order::$SELECT_STS_STR, Order::$SELECT_TYPE_STR, Order::$SELECT_CAJ, ])->export($records); return response()->json($records); } /** * 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 getTaminOrders(Request $request) { $records = Order::with(['items', 'customer','activity'=>function($q){ $q->where('title',Order::$STS[3]); }])->orderBy('id', 'DESC'); TableEngine::create($records,$request->all()) ->initSearch(['customer.name','customer.mobile']) ->select([ '*', Order::$SELECT_STS_STR, Order::$SELECT_TYPE_STR ])->export($records); return response()->json($records); } public function orderSts(Request $request) { $this->validate($request, [ 'id' => 'required' ]); $oa = OrderActivity::findOrFail($request->id); $oa->proceed = !$request->has('remove'); $oa->note = $request->note; $oa->user_id = auth()->id(); $oa->save(); $customer=Customer::findOrFail($oa->customer_id); $reagent=Customer::find($customer->reagent_id); $order=Order::findOrFail($oa->order_id); if(!$request->has('remove')) { if($oa->title==Order::$STS[1]) { $order->update(['sts'=>1]); //$customer->increment('remain',$order->w); } //ارسال پیامک تایید مدیر سیستم else if($oa->title==Order::$STS[2]){ $order->update(['sts'=>2]); Sms::Send($customer->mobile, 'هنزا گلد'."\n".'تایید سفارش '.$oa->order_id.' توسط مدیر سیستم'); Notify::store($customer->token_mobile,'هنزاگلد','تایید سفارش '.$oa->order_id.' توسط مدیر سیستم'); } else if($oa->title==Order::$STS[3]) { $order->update(['sts'=>3]); } //ارسال پیامک به کیفی مربوطه بعد از اماده سازی else if($oa->title==Order::$STS[4]) { $order->update(['sts'=>4]); if(!($reagent==null)) { Sms::Send($reagent->mobile, 'همکار گرامی'."\n".'سفارش آقای '.$customer->fname.' '.$customer->lname.' به شماره '.$oa->order_id.' در دفتر مرکزی آماده تحویل می باشد.هنزاگلد'); Notify::store($reagent->token_mobile,'هنزاگلد','همکار گرامی'."\n".'سفارش آقای '.$customer->fname.' '.$customer->lname.' به شماره '.$oa->order_id.' در دفتر مرکزی آماده تحویل می باشد.'); } } //ارسال پیامک به مشتری بعد از تحویل به کیفی else if($oa->title==Order::$STS[5]){ $order->update(['sts'=>5]); Sms::Send($customer->mobile, 'هنزا گلد'."\n".'سفارش شما با شماره سند '.$oa->order_id.' آماده و تحویل مسئول فروش شده است'); Notify::store($customer->token_mobile,'هنزاگلد','سفارش شما با شماره سند '.$oa->order_id.' آماده و تحویل مسئول فروش شده است'); } //ارسال پیامک تحویل محصول با موفقیت به مشتری else if($oa->title==Order::$STS[6]){ $order->update(['sts'=>6]); Sms::Send($customer->mobile, 'هنزا گلد'."\n".'از خریدتان ممنونیم.از شما خواهشمندیم تا نظر خود را درباره خدمات هنزا گلد با ما در میان بگذارید.سپاس فراوان'); Notify::store($customer->token_mobile,'هنزاگلد','از خریدتان ممنونیم.از شما خواهشمندیم تا نظر خود را درباره خدمات هنزا گلد با ما در میان بگذارید.سپاس فراوان'); } }else { if($oa->title==Order::$STS[1]){ //$order->update(['sts'=>0]); //$customer->decrement('remain',$order->w); } else if($oa->title==Order::$STS[2]){ $order->update(['sts'=>1]); } else if($oa->title==Order::$STS[3]) { $order->update(['sts'=>2]); } else if($oa->title==Order::$STS[4]) { $order->update(['sts'=>3]); } else if($oa->title==Order::$STS[5]){ $order->update(['sts'=>4]); } else if($oa->title==Order::$STS[6]){ $order->update(['sts'=>5]); } } CustomerController::updateRemain($customer->id); CustomerController::updateGramSell($customer->id); if($reagent!=null) { CustomerController::updateGramSell($reagent->id); } return response()->json(true); } public function orderItemEdit(Request $request) { $this->validate($request,[ 'id' => 'required', 'w' => 'required', 'order_id'=>'required' ]); $orderItem=OrderItem::findOrFail($request->id); $w=$request->rash_weight+($request->rash_weight*($request->percent/100)); $orderItem->update([ 'rash_weight'=>$request->rash_weight, 'note'=>$request->note, 'w'=>$w, 'wage'=>abs($w-$orderItem->original_rash_weight), 'qty'=>$request->qty, 'percent' => $request->percent , ]); $order=Order::findOrFail($request->order_id); $customer=Customer::findOrFail($order->customer_id); $orderItems=$orderItem::where('order_id',$request->order_id)->get()->toArray(); $allGram = array_sum(array_map(function ($item) { return $item['w'] * $item['qty']; }, $orderItems)); $percent = array_sum(array_map(function ($item) { return ($item['wage_weight'] ?? 0) * $item['qty'] ?? 0; },$orderItems)); /*if($order->sts>=1) { $oldW=$order->w; if($oldW>$allGram) { $customer->decrement('remain',$oldW-$allGram); } else if($oldW<$allGram) { $customer->increment('remain',$allGram-$oldW); } }*/ $order->update([ 'w'=>$allGram, 'input'=>$allGram, 'wage'=>$allGram - $percent ]); $cash=Cash::where('order_id',$order->id)->where('type',9); $cash->update([ 'input' => $order->w, 'value' => $order->w, ]); CustomerController::updateRemain($customer->id); CustomerController::updateGramSell($customer->id); if($customer->reagent_id!=null) { CustomerController::updateGramSell($customer->reagent_id); } return response()->json(true); } public function deleteOrder(Request $request){ $this->validate($request,[ 'id' => 'required', ]); $order=Order::findOrFail($request->id); Order::safeDelete($request->id); CustomerController::updateRemain($order->customer_id); CustomerController::updateGramSell($order->customer_id); if($order->reagent_id){ CustomerController::updateGramSell($order->reagent_id); } return response()->json(true); } public function deleteOrderItem(Request $request,$id) { $orderItem=OrderItem::findOrFail($id); $orderItem->delete(); $order=Order::findOrFail($orderItem->order_id); $customer=Customer::findOrFail($order->customer_id); $orderItems=$orderItem::where('order_id',$orderItem->order_id)->get()->toArray(); $allGram = array_sum(array_map(function ($item) { return $item['w'] * $item['qty']; }, $orderItems)); $percent = array_sum(array_map(function ($item) { return ($item['wage_weight'] ?? 0) * $item['qty'] ?? 0; },$orderItems)); $order->update([ 'w'=>$allGram, 'input'=>$allGram, 'wage'=>$allGram - $percent ]); $cash=Cash::where('order_id',$order->id)->where('type',9); $cash->update([ 'input' => $order->w, 'value' => $order->w, ]); CustomerController::updateRemain($customer->id); CustomerController::updateGramSell($customer->id); if($customer->reagent_id!=null) { CustomerController::updateGramSell($customer->reagent_id); } return response()->json(true); } }
Copyright ©2k19 -
Hexid
|
Tex7ure