Initial import
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user