MOD EV3-444 Hibás számítás Hooreyca adatok, restore old e2e API controller
This commit is contained in:
parent
974d9b5da1
commit
1be584b080
@ -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)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user