From 3f177efca46343292639695e86cf32da5dd525cc Mon Sep 17 00:00:00 2001 From: Jaroslav Drzik Date: Sat, 13 Jul 2024 16:38:43 +0200 Subject: [PATCH] Fix validFrom, validTo in result table --- app/Console/Commands/Import.php | 13 +++++- resources/js/components/RpoRecord2.vue | 62 ++++++++++++++++++++++---- 2 files changed, 64 insertions(+), 11 deletions(-) diff --git a/app/Console/Commands/Import.php b/app/Console/Commands/Import.php index cc668f3..1fdd10e 100644 --- a/app/Console/Commands/Import.php +++ b/app/Console/Commands/Import.php @@ -5,7 +5,7 @@ namespace App\Console\Commands; use Illuminate\Console\Command; use Illuminate\Support\Facades\File; use JsonMachine\Items; -use JsonMachine\JsonDecoder\PassThruDecoder; +use Illuminate\Support\Facades\DB; class Import extends Command { @@ -16,6 +16,7 @@ class Import extends Command */ protected $signature = 'import {dir}'; + protected $RpoTree; /** * The console command description. * @@ -23,13 +24,19 @@ class Import extends Command */ protected $description = 'Import data from gzipped backup init files'; + public function transformItem($item) + { + return $item; + } + public function ImportToDB($dir, $files) { foreach ($files as $file) { $stream = gzopen($dir.'/'.$file,'rb'); $items = Items::fromStream($stream, ['pointer' => '/results']); foreach ($items as $item) { - dd($item); + $item = $this->transformItem($item); + DB::table('data')->insert($item); } } } @@ -55,6 +62,8 @@ class Import extends Command $files = explode(PHP_EOL, File::get($file)); + $this->RpoTree = json_decode(File::get(resource_path('js/Data/RpoTree.json'))); + $this->ImportToDB($dir, $files); } } diff --git a/resources/js/components/RpoRecord2.vue b/resources/js/components/RpoRecord2.vue index 3d697b4..f32af3c 100644 --- a/resources/js/components/RpoRecord2.vue +++ b/resources/js/components/RpoRecord2.vue @@ -24,13 +24,34 @@ const columns = [ field: 'translated', sortable: false, }, - { name: 'val', align: 'left', label: 'Hodnota', field: 'val', sortable: false }, + { + name: 'val', + align: 'left', + label: 'Hodnota', + field: 'val', + sortable: false + }, + { + name: 'validFrom', + aling: 'left', + label: 'Platne od', + field: 'vlaidFrom', + sortable: true, + }, + { + name: 'validTo', + aling: 'left', + label: 'Platne do', + field: 'vlaidTo', + sortable: true, + } ] const arrData = computed(() => Object.keys(props.data)); -const title = ref(props.data["fullNames"][0]["value"]); +const numTitles = props.data["fullNames"].length; +const title = ref(props.data["fullNames"][numTitles-1]["value"]); console.log('TITLE', title); function keyTitle(key) { @@ -69,20 +90,37 @@ function createRPOflatList(resultTree, flatList, RpoTree, lastKey = undefined, l console.log('RESTREE=', resultTree); let fullPath = [...fullPathRpo]; if (lastKey != undefined) fullPath.push(lastKey); + var validFrom = undefined; + var validTo = undefined; + + if (checkValueType(resultTree) == "object") { + Object.keys(resultTree).forEach(k => { + if (k == "validFrom") validFrom = resultTree[k]; + if (k == "validTo") validTo = resultTree[k]; + }); + } + if (level == 0 || checkValueType(resultTree) == "object") { let i = 0; + Object.keys(resultTree).forEach(k => { + if (typeof resultTree[k] != 'string') { if (RpoTree[k] !== undefined) { - flatList.push({ "level": level, "key": k, "val": undefined, "translated": RpoTree[k].desc, "full": fullPath.join(' => '), "index": i++ }); - createRPOflatList(resultTree[k], flatList, RpoTree[k], k, level + 1, fullPath); + if (k != "validFrom" && k != "validTo") { + console.log("VF VT ",validFrom,validTo); + flatList.push({ "level": level, "key": k, "val": undefined, "translated": RpoTree[k].desc, "full": fullPath.join(' => '), "index": i++, "validFrom": validFrom , "validTo": validTo }); + createRPOflatList(resultTree[k], flatList, RpoTree[k], k, level + 1, fullPath); + } } } else { console.log('RT=', RpoTree); console.log('K=', k); - if (RpoTree[k] !== undefined) - flatList.push({ "level": level, "key": k, "val": resultTree[k], "translated": RpoTree[k].desc, "full": fullPath.join(' => '), "index": i++ }); + if (RpoTree[k] !== undefined) { + if (k != "validFrom" && k != "validTo") + flatList.push({ "level": level, "key": k, "val": resultTree[k], "translated": RpoTree[k].desc, "full": fullPath.join(' => '), "index": i++, "validFrom": validFrom , "validTo": validTo }); + } } }); } else if (checkValueType(resultTree) == "array") { @@ -93,7 +131,7 @@ function createRPOflatList(resultTree, flatList, RpoTree, lastKey = undefined, l createRPOflatList(e, flatList, RpoTree, lastKey, level + 1, fullPath); } else { console.log('RT=', RpoTree); - flatList.push({ "level": level, "key": lastKey, "val": e, "translated": RpoTree.desc !== undefined ? RpoTree.desc : '', "full": fullPath.join(' => '), "index": i++ }); + flatList.push({ "level": level, "key": lastKey, "val": e, "translated": RpoTree.desc !== undefined ? RpoTree.desc : '', "full": fullPath.join(' => '), "index": i++, "vaildFrom": validFrom , "validTo": validTo != undefined ? validTo : null }); } } } @@ -113,8 +151,8 @@ console.log('FLAT=', flatListRpo);