From 1be584b0801f4ffe9c44af77ca971c576e94133f Mon Sep 17 00:00:00 2001 From: E98Developer Date: Wed, 17 Jun 2026 22:25:01 +0200 Subject: [PATCH] =?UTF-8?q?MOD=20EV3-444=20Hib=C3=A1s=20sz=C3=A1m=C3=ADt?= =?UTF-8?q?=C3=A1s=20Hooreyca=20adatok,=20restore=20old=20e2e=20API=20cont?= =?UTF-8?q?roller?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/api/v1/OrderController.php | 278 ++++++++++-------- 1 file changed, 152 insertions(+), 126 deletions(-) diff --git a/app/Http/Controllers/api/v1/OrderController.php b/app/Http/Controllers/api/v1/OrderController.php index dab052e..9a9a6ac 100644 --- a/app/Http/Controllers/api/v1/OrderController.php +++ b/app/Http/Controllers/api/v1/OrderController.php @@ -5,36 +5,36 @@ use App\Http\Controllers\Controller; use App\Models\OrderArchive; use Carbon\Carbon; -use Flugg\Responder\Http\MakesResponses; use Flugg\Responder\Responder; +use Flugg\Responder\Http\MakesResponses; + use Illuminate\Http\Request; use Illuminate\Support\Facades\Log; +use Illuminate\Support\Facades\Auth; class OrderController extends Controller { use MakesResponses; - public function convertItemCollectionToHooreycaAPIItems($ItemCollection) - { + public function convertItemCollectionToHooreycaAPIItems($ItemCollection){ unset($ItemCollection->order_archive_id); - $ItemCollection->HooreycaVolumen = null; - $ItemCollection->HooreycaUnitPrice = null; + $ItemCollection->HooreycaVolumen=null; + $ItemCollection->HooreycaUnitPrice=null; - if ($ItemCollection->HooreycaMultiplier !== null) { - $ItemCollection->HooreycaVolumen = $ItemCollection->quantity * $ItemCollection->HooreycaMultiplier; - $ItemCollection->HooreycaUnitPrice = ($ItemCollection->quantity * $ItemCollection->price) / $ItemCollection->HooreycaVolumen; + if($ItemCollection->HooreycaMultiplier!==null){ + $ItemCollection->HooreycaVolumen=$ItemCollection->quantity*$ItemCollection->HooreycaMultiplier; + $ItemCollection->HooreycaUnitPrice=($ItemCollection->quantity*$ItemCollection->unitMultiplier*$ItemCollection->price)/$ItemCollection->HooreycaVolumen; } - /* if(!in_array($ItemCollection->id,[91045,91046,91047,91042,91043,91044])){ - var_dump($ItemCollection->id); - var_dump(($ItemCollection->quantity*$ItemCollection->price)/($ItemCollection->quantity*$ItemCollection->HooreycaMultiplier)); - die('hello'); - }*/ - // $ItemCollection->HooreycaSumPrice=($ItemCollection->quantity*$ItemCollection->HooreycaMultiplier); - // 'HooreycaSumPrice'=> +/* if(!in_array($ItemCollection->id,[91045,91046,91047,91042,91043,91044])){ + var_dump($ItemCollection->id); + var_dump(($ItemCollection->quantity*$ItemCollection->price)/($ItemCollection->quantity*$ItemCollection->HooreycaMultiplier)); + die('hello'); + }*/ + //$ItemCollection->HooreycaSumPrice=($ItemCollection->quantity*$ItemCollection->HooreycaMultiplier); + //'HooreycaSumPrice'=> return $ItemCollection; - /* Rendelő felületről adatok biztosítása - Cikk kódja @@ -46,47 +46,54 @@ public function convertItemCollectionToHooreycaAPIItems($ItemCollection) - Rendelt mennyiség - Megrendelt cikk nettó értéke */ - return $ItemCollection->map(function ($item) { - return [ - 'id' => $item->id, - 'hooreycaId' => $item->hooreycaId, // - Cikk kódja - 'HooreycaUnit' => $item->HooreycaUnit, - 'HooreycaMultiplier' => $item->HooreycaMultiplier, - 'productName' => $item->name.'aaaaaaaaaaaa', - 'hooreycaId' => $item->hooreycaId, - 'productUnit' => $item->productUnit, - 'sellerUnit' => $item->sellerUnit, - 'unitMultiplier' => $item->unitMultiplier, // - Egységszorzó (árlista K oszlop) - 'amountUnit' => $item->amountUnit, - 'quantity' => $item->quantity, // - Rendelt mennyiség - 'price' => $item->price, // - Megrendelt cikk nettó értéke - 'HooreycaVolumen' => $item->quantity * $item->HooreycaMultiplier, - 'HooreycaSumPrice' => ($item->quantity * $item->price) / ($item->quantity * $item->HooreycaMultiplier), + return $ItemCollection->map(function ($item){ + return[ + 'id'=>$item->id, + 'hooreycaId'=>$item->hooreycaId, //- Cikk kódja + 'HooreycaUnit'=>$item->HooreycaUnit, + 'HooreycaMultiplier'=>$item->HooreycaMultiplier, + "productName"=>$item->name.'aaaaaaaaaaaa', + 'hooreycaId'=>$item->hooreycaId, + "productUnit"=>$item->productUnit, + "sellerUnit"=>$item->sellerUnit, + "unitMultiplier"=>$item->unitMultiplier, //- Egységszorzó (árlista K oszlop) + "amountUnit"=>$item-> amountUnit, + "quantity"=>$item->quantity, //- Rendelt mennyiség + "price"=>$item->price,//- Megrendelt cikk nettó értéke + 'HooreycaVolumen'=>$item->quantity*$item->HooreycaMultiplier, + 'HooreycaSumPrice'=>($item->quantity*$item->price)/($item->quantity*$item->HooreycaMultiplier), ]; }); } - - public function convertOrderToHooreycaAPI($order, $key) - { + public function convertOrderToHooreycaAPI($order,$key){ /* Rendelő felületről adatok biztosítása - szállító kódja supplier.hooreycaId - Szállítási dátum deliveryDate - Üzlet kódja profit_center.hooreycaId */ - $order->APICallBackId = (string) \Str::orderedUuid(); + $order->APICallBackId=(string)\Str::orderedUuid(); $order->save(); - $order->supplierHooreycaId = $order->supplier->hooreycaId; - $order->supplierName = $order->supplier->name; - $order->profitCenterHooreycaId = $order->profitCenter->hooreycaId; - $order->profitCenterName = $order->profitCenter->name; - $order->items = $order->itemsAPISpecial->transform([$this, 'convertItemCollectionToHooreycaAPIItems']); - unset($order->supplier,$order->profitCenter,$order->itemsAPISpecial); + try { + $order->supplierHooreycaId=$order->supplier->hooreycaId; + }catch (\Exception $e){ + } + + $order->supplierName=$order->supplier->name; + try { + $order->profitCenterHooreycaId=$order->profitCenter->hooreycaId; + $order->profitCenterName=$order->profitCenter->name; + }catch (\Exception $e){ + $order->profitCenterHooreycaId=null; + } + $order->items= $order->itemsAPISpecial->transform([$this,'convertItemCollectionToHooreycaAPIItems']); + unset($order->supplier,$order->profitCenter,$order->itemsAPISpecial); return $order; } + /** Display a listing of the unprocessed orders. @@ -103,66 +110,82 @@ public function convertOrderToHooreycaAPI($order, $key) @responseFile 200 scenario="Has unprocessed orders" example/APIUnProcessingResponse.json @responseFile 401 scenario="Request unauthenticated" example/APIUnauthenticated.json */ - public function unProcessed(Request $request, Responder $responder) + public function unProcessed(Request $request,Responder $responder) { - Log::channel('api')->info('API request', ['requestData' => var_export($request->server(), true)]); - $updateDate = Carbon::now(); - $OrderCollection = OrderArchive::with(['supplier' => function ($query) { - $query->select('id', 'name', 'hooreycaId'); - }, 'profitCenter' => function ($query) { - $query->select('id', 'name', 'hooreycaId'); - }, 'itemsAPISpecial' => function ($query) { - // $query->select('id','order_archive_id'); + Log::channel('api')->info('API request',['requestData'=>var_export($request->server(),true)]); + $updateDate=Carbon::now(); + $OrderCollection=OrderArchive::with(['supplier'=>function ($query){ + $query->select('id','name','hooreycaId'); + //$query->where('hooreycaDataActive',1); + },'profitCenter'=>function ($query){ + $query->select('id','name','hooreycaId'); + $query->where('hooreycaDataActive',1); + },'itemsAPISpecial' + + =>function ($query){ + //$query->select('id','order_archive_id'); $query->select( 'order_archive_id', 'id', - 'hooreycaId', // - Cikk kódja - 'name', + 'hooreycaId', //- Cikk kódja + "name", 'hooreycaId', 'HooreycaUnit', 'HooreycaMultiplier', - 'productUnit', - 'sellerUnit', - 'unitMultiplier', // - Egységszorzó (árlista K oszlop) - 'amountUnit', - 'quantity', // - Rendelt mennyiség - 'price' - ); + "productUnit", + "sellerUnit", + "unitMultiplier", //- Egységszorzó (árlista K oszlop) + "amountUnit", + "quantity", //- Rendelt mennyiség + "price" + ); + $query->whereNotNull('hooreycaId'); + $query->where('hooreycaId','<>',''); }, ])->select( - 'id', - 'supplier_id', - 'profit_center_id', - 'humanId', - 'deliveryDate', - 'confirmed', ) - // ->whereNulll('APIConfirmed') + 'id', + 'supplier_id', + 'profit_center_id', + 'humanId', + 'deliveryDate', + 'confirmed',) + //->whereNulll('APIConfirmed') ->whereNotNull('confirmed') ->whereNull('APIConfirmed') - ->orderBy('id', 'desc')->paginate(3); + ->orderBy('id','desc')->paginate(3) + ; - $ret[] = get_debug_type($OrderCollection); + $filteredProfitCentersOrder=$OrderCollection->filter(function ($v) { + return $v->profitCenter!=null; + }); + $OrderCollection->setCollection($filteredProfitCentersOrder); - $OrderCollection->transform([$this, 'convertOrderToHooreycaAPI']); + /* where condition not working on paginated eloquent collection + dd($OrderCollection->toArray()); + $OrderCollection=$OrderCollection->whereNotNull('profit_center'); - $updateId = $OrderCollection->pluck('id'); - $header = parseAPIVersionFromNamespace(__NAMESPACE__); - $header['processedTime'] = $updateDate->format('Y.m.d. H:i:s.u'); - $response = responder()->success($OrderCollection)->respond(null, $header); + */ + $ret[]=get_debug_type($OrderCollection); + $OrderCollection->transform([$this,'convertOrderToHooreycaAPI']); - $ret = []; - $ret[] = $OrderCollection->pluck('id'); - $ret[] = OrderArchive::whereIn('id', $OrderCollection->pluck('id')); + $updateId=$OrderCollection->pluck('id'); + $header=parseAPIVersionFromNamespace(__NAMESPACE__); + $header['processedTime']=$updateDate->format('Y.m.d. H:i:s.u'); + $response=responder()->success($OrderCollection)->respond(null,$header); - OrderArchive::whereIn('id', $updateId)->update(['APILastGetting' => $updateDate]); - $ret[] = OrderArchive::whereIn('id', $updateId)->update(['APILastGetting' => $updateDate]); + $ret=[]; + $ret[]=$OrderCollection->pluck('id'); + $ret[]=OrderArchive::whereIn('id',$OrderCollection->pluck('id')); - Log::channel('api')->info('Update APILastGetting ', ['Id' => $updateId->toArray(), 'Date' => $updateDate]); + OrderArchive::whereIn('id',$updateId)->update(['APILastGetting'=>$updateDate]); + $ret[]=OrderArchive::whereIn('id',$updateId)->update(['APILastGetting'=>$updateDate]); - $ret[] = $response->getContent(); - $ret[] = var_export($request->server(), true); - Log::channel('api')->info('API response', ['responseBody' => json_decode($response->getContent(), JSON_PRETTY_PRINT)]); + Log::channel('api')->info('Update APILastGetting ',['Id'=>$updateId->toArray(),'Date'=>$updateDate]); + + $ret[]=$response->getContent(); + $ret[]=var_export($request->server(),true); + Log::channel('api')->info('API response',['responseBody'=>json_decode($response->getContent(), JSON_PRETTY_PRINT)]); return $response; /*erorr teszthez DB error @@ -170,12 +193,12 @@ public function unProcessed(Request $request, Responder $responder) */ } - /* - * @bodyParam [] Example:["987f3001-6364-4d7c-8b0c-daf29dbd38ec","987ee197-5293-48de-a488-3c9a05229bb6"] - localhost key 2|hqN0ifD9OP0vIAQZRPubcZ7x5W8qw49XKeFk9WJs - d2d key "1|tCtfKT9hAjGt213iuluWiHEvlyAK2KqtZmblQx8Y" - {"APICallBackId":["987f3001-6364-4d7c-8b0c-daf29dbd38ec","987f3001-6364-4d7c-8b0c-daf29dbd38eX"]} - */ +/* + * @bodyParam [] Example:["987f3001-6364-4d7c-8b0c-daf29dbd38ec","987ee197-5293-48de-a488-3c9a05229bb6"] +localhost key 2|hqN0ifD9OP0vIAQZRPubcZ7x5W8qw49XKeFk9WJs +d2d key "1|tCtfKT9hAjGt213iuluWiHEvlyAK2KqtZmblQx8Y" +{"APICallBackId":["987f3001-6364-4d7c-8b0c-daf29dbd38ec","987f3001-6364-4d7c-8b0c-daf29dbd38eX"]} + */ /** Set processed orders. @@ -195,42 +218,42 @@ public function unProcessed(Request $request, Responder $responder) @responseFile 200 scenario="Has unprocessed orders" example/APISetProcessingResponse.json @responseFile 500 scenario="Request invalid Request Body data" example/APISetProcessingResponseErrorInvalidData.json @responseFile 401 scenario="Request unauthenticated" example/APIUnauthenticated.json + */ public function setProcessed(Request $request) { - $updateDate = Carbon::now(); - $successData = []; - $header = parseAPIVersionFromNamespace(__NAMESPACE__); - $header['processedTime'] = $updateDate->format('Y.m.d. H:i:s.u'); + $updateDate=Carbon::now(); + $successData=[]; + $header=parseAPIVersionFromNamespace(__NAMESPACE__); + $header['processedTime']=$updateDate->format('Y.m.d. H:i:s.u'); - Log::channel('api')->info('API request', ['requestData' => var_export($request->server(), true)]); - Log::channel('api')->info('API request', ['requestData' => var_export($request->getContent(), true)]); - $orderUUIds = json_decode($request->getContent()); - // var_export($orderUUIds); - // if(!property_exists($orderUUIds,'APICallBackId') || !is_array($orderUUIds->APICallBackId)){ - if (! property_exists($orderUUIds, 'APICallBackId')) { - return responder()->error('invalid data', $request->getContent())->respond(null, $header); + Log::channel('api')->info('API request',['requestData'=>var_export($request->server(),true)]); + Log::channel('api')->info('API request',['requestData'=>var_export($request->getContent(),true)]); + $orderUUIds=json_decode($request->getContent()); + //var_export($orderUUIds); + //if(!property_exists($orderUUIds,'APICallBackId') || !is_array($orderUUIds->APICallBackId)){ + if(!property_exists($orderUUIds,'APICallBackId') ){ + return responder()->error('invalid data',$request->getContent())->respond(null,$header); } - // var_export(property_exists($orderUUIds,'APICallBackId')); - // die(); - // return responder()->error('invalid data',gettype($orderUUIds)); - // $orderUUIds=json_decode($request->getContent()); - Log::channel('api')->info(var_export($orderUUIds, true)); - foreach ($orderUUIds->APICallBackId as $APICallBackId) { - if (is_array($APICallBackId)) { - return responder()->error('invalid data'.__LINE__, $request->getContent())->respond(null, $header); + //var_export(property_exists($orderUUIds,'APICallBackId')); + //die(); + //return responder()->error('invalid data',gettype($orderUUIds)); + //$orderUUIds=json_decode($request->getContent()); + Log::channel('api')->info(var_export($orderUUIds,true)); + foreach ($orderUUIds->APICallBackId as $APICallBackId){ + if(is_array($APICallBackId)){ + return responder()->error('invalid data' .__LINE__,$request->getContent())->respond(null,$header); } - if ($Order = OrderArchive::where('APICallBackId', $APICallBackId)->whereNull('APIConfirmed')->first()) { - $Order->APIConfirmed = $updateDate; + if($Order=OrderArchive::where('APICallBackId',$APICallBackId)->whereNull('APIConfirmed')->first()){ + $Order->APIConfirmed=$updateDate; $Order->save(); - $successData[$APICallBackId] = 'updated'; - } else { - $successData[$APICallBackId] = 'invalid Id'; - } + $successData[$APICallBackId]='updated'; + }else{ + $successData[$APICallBackId]='invalid Id'; + }; } - $response = responder()->success($successData)->respond(null, $header); - Log::channel('api')->info('API response', ['responseBody' => json_decode($response->getContent(), JSON_PRETTY_PRINT)]); - + $response=responder()->success($successData)->respond(null,$header); + Log::channel('api')->info('API response',['responseBody'=>json_decode($response->getContent(), JSON_PRETTY_PRINT)]); return $response; } @@ -246,13 +269,11 @@ public function setProcessed(Request $request) * @responseField data.APIStatus string API status state (up and down). @responseFile 200 scenario="Server status" example/APIServerStatusResponse.json - */ - public function status() + */ public function status() { - $header = parseAPIVersionFromNamespace(__NAMESPACE__); - $header['processedTime'] = Carbon::now()->format('Y.m.d. H:i:s.u'); - - return responder()->success(['APIStatus' => 'up'])->respond(null, $header); + $header=parseAPIVersionFromNamespace(__NAMESPACE__); + $header['processedTime']=Carbon::now()->format('Y.m.d. H:i:s.u'); + return responder()->success(['APIStatus'=>'up'])->respond(null,$header); } /** @@ -268,6 +289,7 @@ public function index() /** * Store a newly created resource in storage. * + * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) @@ -278,9 +300,10 @@ public function store(Request $request) /** * Display the specified resource. * + * @param int $id * @return \Illuminate\Http\Response */ - public function show(int $id) + public function show($id) { // } @@ -288,9 +311,11 @@ public function show(int $id) /** * Update the specified resource in storage. * + * @param \Illuminate\Http\Request $request + * @param int $id * @return \Illuminate\Http\Response */ - public function update(Request $request, int $id) + public function update(Request $request, $id) { // } @@ -298,9 +323,10 @@ public function update(Request $request, int $id) /** * Remove the specified resource from storage. * + * @param int $id * @return \Illuminate\Http\Response */ - public function destroy(int $id) + public function destroy($id) { // }