From ddd31fef52447e268ccc694218fe7b7c5598293c Mon Sep 17 00:00:00 2001 From: Rustem Date: Sat, 18 Jan 2025 22:33:56 +0500 Subject: [PATCH] =?UTF-8?q?=D0=BA=D0=BE=D0=BC=D0=BF=D0=BB=D0=B5=D0=BA?= =?UTF-8?q?=D1=82=D0=B0=D1=86=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Sync1cApiController.php | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Sync1cApiController.php b/app/Http/Controllers/Sync1cApiController.php index 4d27e07..bde0d64 100644 --- a/app/Http/Controllers/Sync1cApiController.php +++ b/app/Http/Controllers/Sync1cApiController.php @@ -35,6 +35,16 @@ class Sync1cApiController extends Controller foreach ($segments as $segment) { foreach ($request->all() as $value) { + $inspectionKit = null; + + if (isset($value['КомпректацияДляОсмотра'])) { + if (is_array($value['КомпректацияДляОсмотра'])) { + $inspectionKit = $value['КомпректацияДляОсмотра']; + } + elseif (is_string($value['КомпректацияДляОсмотра']) && json_validate($value['КомпректацияДляОсмотра'])) { + $inspectionKit = json_decode($value['КомпректацияДляОсмотра'], true); + } + } UniModel::model('pipi_auto', $segment->connector)->updateOrCreate( [ 'code' => $value['Код'], @@ -68,7 +78,7 @@ class Sync1cApiController extends Controller 'is_inactive' => (bool)$value['НеИспользовать'], 'is_predefined' => (bool)$value['Предопределенный'], 'predefined_data_name' => $value['ИмяПредопределенныхДанных'], - 'inspection_kit' => json_validate($value['КомпректацияДляОсмотра']) ? $value['КомпректацияДляОсмотра'] : null, + 'inspection_kit' => $inspectionKit, 'deleted_at' => $value['ПометкаУдаления'] ? now() : null, ] ); @@ -79,7 +89,12 @@ class Sync1cApiController extends Controller return response()->json(['message' => 'Data synchronized successfully'], 200); } catch (Exception $e) { DB::rollBack(); - Log::error('Error syncing auto data: ' . $e->getMessage()); + Log::error('Error processing data', [ + 'message' => $e->getMessage(), + 'line' => $e->getLine(), + 'file' => $e->getFile(), + 'value' => $value, + ]); return response()->json(['error' => 'Failed to synchronize data'], 500); } }