Initial import

This commit is contained in:
Admin Nasledstvo
2026-05-01 20:52:04 +03:00
commit ac168868ee
10028 changed files with 2337954 additions and 0 deletions
@@ -0,0 +1,109 @@
<?php
namespace app\services\api;
use app\models\Categories;
use app\models\CategoriesOt;
use app\models\ObjectTemplate;
class NomenclatureService
{
public static function categorySelect()
{
$categories = Categories::find()->where(['IS', 'parent_id', NULL])->all();
$keyList = [];
foreach ($categories as $category) {
foreach ($category->subCategories as $subCategory) {
if ($subCategory->name) {
$keyList[] = [
'id' => $subCategory->id,
'name' => $category->name . ' - ' . $subCategory->name,
'name_en' => $category->ts_en_name . ' - ' . $subCategory->ts_en_name
];
}
}
}
return $keyList;
}
public static function categoryFilterSelect()
{
$heritage_type = null;
if (!empty($_GET['q'])) {
$f = explode('|', $_GET['q']);
foreach ($f as $fkv) {
$filter = explode(':', $fkv);
if($filter[0] == 'heritage_type' && !empty($filter[1]))
$heritage_type = $filter[1];
}
}
if($heritage_type) {
$ids = [];
$objectTemplates = ObjectTemplate::find()->where(['heritage_type' => $heritage_type])->all();
foreach ($objectTemplates as $objectTemplate) {
$ids[] = $objectTemplate->id;
}
}
$categories = Categories::find()->where(['IS', 'parent_id', NULL])->all();
$keyList = [];
foreach ($categories as $category) {
$subCategoryList = $heritage_type ? $category->getSubCategoriesByTemplate($ids) : $category->subCategories;
foreach ($subCategoryList as $subCategory) {
if ($subCategory->name) {
$keyList[$subCategory->id] = $category->name . ' - ' . $subCategory->name;
}
}
}
return $keyList;
}
public static function categoryTree()
{
$categories = Categories::find()->where(['IS', 'parent_id', NULL])->all();
$keyList = [];
foreach ($categories as $category) {
$sub = [];
foreach ($category->subCategories as $subCategory) {
if ($subCategory->name) {
$sub[] = [
'id' => $subCategory->id,
'name' => $subCategory->name,
'name_en' => $subCategory->ts_en_name
];
}
}
$keyList[] = [
'id' => $category->id,
'name' => $category->name,
'name_en' => $category->ts_en_name,
'sub' => $sub
];
}
return $keyList;
}
public static function objectTemplates($sub_category_id = null)
{
$sub = [];
if ($sub_category_id)
$sub['sc_id'] = $sub_category_id;
$retrieve = CategoriesOt::find()->where($sub)->all();
$data = [];
foreach ($retrieve as $item) {
$objectTemplate = $item->objectTemplate;
$objectTemplateFields = [];
foreach ($objectTemplate->objectTemplateFields as $objectTemplateField) {
$objectTemplateFields[] = $objectTemplateField->toArray();
}
$data[] = [
'id' => $objectTemplate->id,
'name' => $objectTemplate->name,
'fields' => $objectTemplateFields
];
}
return $data;
}
}