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); } }