diff --git a/app/Config/Routes.php b/app/Config/Routes.php index dab4d3c..c71d95d 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -134,19 +134,7 @@ $routes->group('admin', ['namespace' => 'App\Controllers\Admin', 'filter' => 'au $routes->post('batchjob_delete', 'IpController::batchjob_delete'); $routes->get('download/(:alpha)', 'IpController::download/$1'); }); - $routes->group('network', ['namespace' => 'App\Controllers\Admin\Equipment'], function ($routes) { - $routes->get('/', 'NetworkController::index', []); - $routes->get('create', 'NetworkController::create_form'); - $routes->post('create', 'NetworkController::create'); - $routes->get('modify/(:num)', 'NetworkController::modify_form/$1'); - $routes->post('modify/(:num)', 'NetworkController::modify/$1'); - $routes->get('view/(:num)', 'NetworkController::view/$1'); - $routes->get('delete/(:num)', 'NetworkController::delete/$1'); - $routes->get('toggle/(:num)/(:any)', 'NetworkController::toggle/$1/$2'); - $routes->post('batchjob', 'NetworkController::batchjob'); - $routes->post('batchjob_delete', 'NetworkController::batchjob_delete'); - $routes->get('download/(:alpha)', 'NetworkController::download/$1'); - }); + $routes->group('server', ['namespace' => 'App\Controllers\Admin\Equipment'], function ($routes) { $routes->get('/', 'ServerController::index', []); $routes->get('create', 'ServerController::create_form'); diff --git a/app/Controllers/Admin/Customer/ClientController.php b/app/Controllers/Admin/Customer/ClientController.php index bd1e3d3..dfe030e 100644 --- a/app/Controllers/Admin/Customer/ClientController.php +++ b/app/Controllers/Admin/Customer/ClientController.php @@ -51,37 +51,6 @@ class ClientController extends CustomerController } return $validation; } - - // protected function create_process(): ClientEntity - // { - // $entity = parent::create_process(); - // //Account정보 - // $temps = []; - // $temps['clientinfo_uid'] = $entity->getPK(); - // $temps['title'] = "첫가입"; - // $temps['alias'] = $entity->getTitle(); - // $temps['amount'] = $this->formDatas['account_balance'] ?? 0; - // $temps['status'] = lang("{$this->getAccountService()->getClassPath()}.DEFAULTS.status"); - // $this->getAccountService()->create($temps, new AccountEntity()); - - // //Coupon정보 - // $temps = []; - // $temps['clientinfo_uid'] = $entity->getPK(); - // $temps['title'] = "첫가입"; - // $temps['amount'] = $this->formDatas['coupon_balance'] ?? 0; - // $temps['status'] = lang("{$this->getCouponService()->getClassPath()}.DEFAULTS.status"); - // $this->getCouponService()->create($temps, new CouponEntity()); - - // //Point정보 - // $temps = []; - // $temps['clientinfo_uid'] = $entity->getPK(); - // $temps['title'] = "첫가입"; - // $temps['amount'] = $this->formDatas['point_balance'] ?? 0; - // $temps['status'] = lang("{$this->getPointService()->getClassPath()}.DEFAULTS.status"); - // $this->getPointService()->create($temps, new CouponEntity()); - - // return $entity; - // } //Index,FieldForm관련. //View관련 diff --git a/app/Controllers/Admin/Customer/ServiceController.php b/app/Controllers/Admin/Customer/ServiceController.php index 94f2234..0d39626 100644 --- a/app/Controllers/Admin/Customer/ServiceController.php +++ b/app/Controllers/Admin/Customer/ServiceController.php @@ -2,22 +2,35 @@ namespace App\Controllers\Admin\Customer; -use CodeIgniter\HTTP\RequestInterface; -use CodeIgniter\HTTP\ResponseInterface; -use Psr\Log\LoggerInterface; - +use App\Entities\Customer\ServicePartEntity; use App\Helpers\Customer\ServiceHelper; use App\Services\Customer\ServiceService; +use App\Services\Equipment\PartService; +use App\Services\Equipment\IpService; + +use App\Services\Equipment\ServerService; +use CodeIgniter\HTTP\RequestInterface; +use CodeIgniter\HTTP\ResponseInterface; +use CodeIgniter\Validation\Validation; +use Psr\Log\LoggerInterface; class ServiceController extends CustomerController { + private ?ServerService $_serverService = null; + private ?PartService $_partService = null; + private ?IpService $_ipService = null; public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger) { parent::initController($request, $response, $logger); $this->uri_path .= strtolower($this->getService()->getClassName()) . '/'; + $this->view_path .= strtolower($this->getService()->getClassName()) . DIRECTORY_SEPARATOR; + // echo $this->view_path; + // exit; $this->class_path = $this->getService()->getClassPath(); $this->title = lang("{$this->getService()->getClassPath()}.title"); $this->helper = $this->getHelper(); + $this->individualStylesheets = ['server_partinfo.css'];; + $this->individualScripts = ['server_partinfo.js']; } public function getService(): ServiceService { @@ -33,14 +46,128 @@ class ServiceController extends CustomerController } return $this->_helper; } - //Index,FieldForm관련. + final public function getServerService(): ServerService + { + if (!$this->_serverService) { + $this->_serverService = new ServerService(); + } + return $this->_serverService; + } + final public function getPartService(): PartService + { + if (!$this->_partService) { + $this->_partService = new PartService($this->request); + } + return $this->_partService; + } + final public function getIpService(): IpService + { + if (!$this->_ipService) { + $this->_ipService = new IpService(); + } + return $this->_ipService; + } + + //Index,FieldForm관련 + protected function getFieldRule(string $action, string $field): string + { + if (is_array($field)) { + throw new \Exception(__FUNCTION__ . "=> field가 array 입니다.\n" . var_export($field, true)); + } + switch ($field) { + case 'CPU': + case 'RAM': + case 'DISK': + $rule = "if_exist|permit_empty|numeric"; + break; + default: + $rule = parent::getFieldRule($action, $field); + break; + } + return $rule; + } + protected function getFormFieldOption(string $field, array $options = []): array + { + switch ($field) { + case 'SERVER': + $options[$field] = $this->getServerService()->getFormFieldOption($field); + break; + case 'CPU': + case 'RAM': + case 'DISK': + $options[$field] = $this->getPartService()->getFormFieldOption($field); + break; + case 'IP': + $options[$field] = $this->getIPService()->getFormFieldOption($field); + break; + default: + $options = parent::getFormFieldOption($field, $options); + break; + } + return $options; + } + protected function setValidation(Validation $validation, string $action, string $field, ?string $rule = null): Validation + { + switch ($field) { + case 'SERVER': + case 'CPU': + case 'RAM': + case 'DISK': + case 'IP': + //아래 Rule Array는 필드명.* checkbox를 사용 + $validation->setRule("{$field}.*", $field, $rule); + break; + default: + $validation = parent::setValidation($validation, $action, $field, $rule); + break; + } + return $validation; + } + //Index,FieldForm관련 + + protected function create_process(): mixed + { + $entity = parent::create_process(); + //변경할 UIDS + $cpu_uids = $this->request->getVar('CPU[]'); + if (!is_array($cpu_uids)) { + throw new \Exception("CPU가 정의되지 않았습니다."); + } + foreach ($cpu_uids as $uid) { + $temps = ['serviceinfo_uid' => $entity->getPK(), 'partinfo_uid' => $uid]; + $this->getService()->create($temps, new ServicePartEntity()); + } + $ram_uids = $this->request->getVar('RAM[]'); + if (!is_array($ram_uids)) { + throw new \Exception("RAM가 정의되지 않았습니다."); + } + foreach ($ram_uids as $uid) { + $temps = ['serviceinfo_uid' => $entity->getPK(), 'partinfo_uid' => $uid]; + $this->getService()->create($temps, new ServicePartEntity()); + } + $disk_uids = $this->request->getVar('DISK[]'); + if (!is_array($disk_uids)) { + throw new \Exception("DISK가 정의되지 않았습니다."); + } + foreach ($disk_uids as $uid) { + $temps = ['serviceinfo_uid' => $entity->getPK(), 'partinfo_uid' => $uid]; + $this->getService()->create($temps, new ServicePartEntity()); + } + return $entity; + } protected function index_process(): array { $fields = [ - 'fields' => ['clientinfo_uid', 'type', $this->getService()->getModel()->getTitleField(), 'payment_date', 'amount', 'start_at', 'end_at', 'status'], + 'fields' => ['clientinfo_uid', 'type', $this->getService()->getModel()->getTitleField(), 'billing_at', 'start_at', 'end_at', 'status'], ]; $this->init('index', $fields); $this->modal_type = 'modal_iframe'; - return parent::index_process(); + $entities = parent::index_process(); + foreach ($entities as $key => $entity) { + $entity->CPU = $this->getServerService()->getEntities(['serverinfo_uid' => $entity->getPK()]); + $entity->RAM = $this->getServerService()->getEntities(['serverinfo_uid' => $entity->getPK()]); + $entity->DISK = $this->getServerService()->getEntities(['serverinfo_uid' => $entity->getPK()]); + } + return $entities; } } diff --git a/app/Controllers/Admin/Equipment/IpController.php b/app/Controllers/Admin/Equipment/IpController.php index 795500f..4f3b64e 100644 --- a/app/Controllers/Admin/Equipment/IpController.php +++ b/app/Controllers/Admin/Equipment/IpController.php @@ -35,11 +35,11 @@ class IpController extends EquipmentController return $this->_helper; } //Index,FieldForm관련 - protected function setOrcerByForList() + protected function setOrderByForList() { //OrderBy 처리 $this->getService()->getModel()->orderBy('INET_ATON(ip)', 'ASC', false); - parent::setOrcerByForList(); + parent::setOrderByForList(); } protected function index_process(): array diff --git a/app/Controllers/Admin/Equipment/LineController.php b/app/Controllers/Admin/Equipment/LineController.php index ecff08e..72a493c 100644 --- a/app/Controllers/Admin/Equipment/LineController.php +++ b/app/Controllers/Admin/Equipment/LineController.php @@ -59,10 +59,27 @@ class LineController extends EquipmentController $temps = []; $temps['lineinfo_uid'] = $entity->getPK(); $temps['ip'] = $ip; - $temps['price'] = $this->formDatas['price'] ?? 0; $temps['status'] = lang("{$this->getIpService()->getClassPath()}.DEFAULTS.status"); $this->getIpService()->create($temps, new IpEntity()); } return $entity; } + + protected function view_process($uid): mixed + { + $fields = [ + 'fields' => ['clientinfo_uid', 'type', $this->getService()->getModel()->getTitleField(), 'bandwith', 'status', "start_at", 'created_at'], + ]; + $this->init('view', $fields); + return parent::view_process($uid); + } + + protected function index_process(): array + { + $fields = [ + 'fields' => ['clientinfo_uid', 'type', $this->getService()->getModel()->getTitleField(), 'bandwith', 'status', "start_at", 'created_at'], + ]; + $this->init('index', $fields); + return parent::index_process(); + } } diff --git a/app/Controllers/Admin/Equipment/NetworkController.php b/app/Controllers/Admin/Equipment/NetworkController.php deleted file mode 100644 index 383b7c0..0000000 --- a/app/Controllers/Admin/Equipment/NetworkController.php +++ /dev/null @@ -1,47 +0,0 @@ -uri_path .= strtolower($this->getService()->getClassName()) . '/'; - $this->class_path = $this->getService()->getClassPath(); - $this->title = lang("{$this->getService()->getClassPath()}.title"); - $this->helper = $this->getHelper(); - } - public function getService(): NetworkService - { - if (!$this->_service) { - $this->_service = new NetworkService($this->request); - } - return $this->_service; - } - public function getHelper(): mixed - { - if (!$this->_helper) { - $this->_helper = new NetworkHelper($this->request); - } - return $this->_helper; - } - //Index,FieldForm관련 - protected function index_process(): array - { - $fields = [ - 'fields' => ['code', 'clientinfo_uid', 'type', $this->getService()->getModel()->getTitleField(), 'price', 'status', 'description'], - ]; - $this->init('index', $fields); - $this->modal_type = 'modal_iframe'; - return parent::index_process(); - } -} diff --git a/app/Controllers/Admin/Equipment/PartController.php b/app/Controllers/Admin/Equipment/PartController.php index ef06832..f92439d 100644 --- a/app/Controllers/Admin/Equipment/PartController.php +++ b/app/Controllers/Admin/Equipment/PartController.php @@ -38,7 +38,7 @@ class PartController extends EquipmentController protected function index_process(): array { $fields = [ - 'fields' => ['clientinfo_uid', 'type', $this->getService()->getModel()->getTitleField(), 'price', 'status', 'description'], + 'fields' => ['type', $this->getService()->getModel()->getTitleField(), 'manufactur_at', 'status'], ]; $this->init('index', $fields); $this->modal_type = 'modal_iframe'; diff --git a/app/Controllers/Admin/Equipment/ServerController.php b/app/Controllers/Admin/Equipment/ServerController.php index fbb337d..b3bc6ad 100644 --- a/app/Controllers/Admin/Equipment/ServerController.php +++ b/app/Controllers/Admin/Equipment/ServerController.php @@ -4,31 +4,22 @@ namespace App\Controllers\Admin\Equipment; use App\Entities\Equipment\ServerPartEntity; use App\Helpers\Equipment\ServerHelper; -use App\Services\Equipment\ServerPartService; -use App\Services\Equipment\PartService; use App\Services\Equipment\ServerService; use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\HTTP\ResponseInterface; -use CodeIgniter\Validation\Validation; use Psr\Log\LoggerInterface; class ServerController extends EquipmentController { - private ?PartService $_partService = null; - private ?ServerPartService $_serverPartService = null; public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger) { parent::initController($request, $response, $logger); $this->uri_path .= strtolower($this->getService()->getClassName()) . '/'; - $this->view_path .= strtolower($this->getService()->getClassName()) . DIRECTORY_SEPARATOR; - // echo $this->view_path; - // exit; + $this->class_path = $this->getService()->getClassPath(); $this->title = lang("{$this->getService()->getClassPath()}.title"); $this->helper = $this->getHelper(); - $this->individualStylesheets = ['server_partinfo.css'];; - $this->individualScripts = ['server_partinfo.js']; } public function getService(): ServerService { @@ -44,112 +35,15 @@ class ServerController extends EquipmentController } return $this->_helper; } - final public function getPartService(): PartService - { - if (!$this->_partService) { - $this->_partService = new PartService($this->request); - } - return $this->_partService; - } - final public function getServerPartService(): ServerPartService - { - if (!$this->_serverPartService) { - $this->_serverPartService = new ServerPartService(); - } - return $this->_serverPartService; - } - - //Index,FieldForm관련 - protected function getFieldRule(string $action, string $field): string - { - if (is_array($field)) { - throw new \Exception(__FUNCTION__ . "=> field가 array 입니다.\n" . var_export($field, true)); - } - switch ($field) { - case 'cpu_partinfo_uid': - case 'ram_partinfo_uid': - case 'disk_partinfo_uid': - $rule = "if_exist|permit_empty|numeric"; - break; - default: - $rule = parent::getFieldRule($action, $field); - break; - } - return $rule; - } - protected function getFormFieldOption(string $field, array $options = []): array - { - switch ($field) { - case 'cpu_partinfo_uid': - case 'ram_partinfo_uid': - case 'disk_partinfo_uid': - $options[$field] = $this->getPartService()->getFormFieldOption($field); - break; - default: - $options = parent::getFormFieldOption($field, $options); - break; - } - return $options; - } - protected function setValidation(Validation $validation, string $action, string $field, ?string $rule = null): Validation - { - switch ($field) { - case 'cpu_partinfo_uid': - case 'ram_partinfo_uid': - case 'disk_partinfo_uid': - //아래 Rule Array는 필드명.* checkbox를 사용 - $validation->setRule("{$field}.*", $field, $rule); - break; - default: - $validation = parent::setValidation($validation, $action, $field, $rule); - break; - } - return $validation; - } //Index,FieldForm관련 - protected function create_process(): mixed - { - $entity = parent::create_process(); - //변경할 UIDS - $cpu_uids = $this->request->getVar('cpu_partinfo_uid[]'); - if (!is_array($cpu_uids)) { - throw new \Exception("CPU가 정의되지 않았습니다."); - } - foreach ($cpu_uids as $uid) { - $temps = ['serverinfo_uid' => $entity->getPK(), 'partinfo_uid' => $uid]; - $this->getServerPartService()->create($temps, new ServerPartEntity()); - } - $ram_uids = $this->request->getVar('ram_partinfo_uid[]'); - if (!is_array($ram_uids)) { - throw new \Exception("RAM가 정의되지 않았습니다."); - } - foreach ($ram_uids as $uid) { - $temps = ['serverinfo_uid' => $entity->getPK(), 'partinfo_uid' => $uid]; - $this->getServerPartService()->create($temps, new ServerPartEntity()); - } - $disk_uids = $this->request->getVar('disk_partinfo_uid[]'); - if (!is_array($disk_uids)) { - throw new \Exception("DISK가 정의되지 않았습니다."); - } - foreach ($disk_uids as $uid) { - $temps = ['serverinfo_uid' => $entity->getPK(), 'partinfo_uid' => $uid]; - $this->getServerPartService()->create($temps, new ServerPartEntity()); - } - return $entity; - } protected function index_process(): array { $fields = [ - 'fields' => ['code', 'clientinfo_uid', 'type', $this->getService()->getModel()->getTitleField(), 'price', 'status'], + 'fields' => ['code', 'type', $this->getService()->getModel()->getTitleField(), 'manufactur_at', 'status'], ]; $this->init('index', $fields); $this->modal_type = 'modal_iframe'; - $entities = parent::index_process(); - foreach ($entities as $key => $entity) { - $entities[$key]['partinfo_uid'] = $this->getServerPartService()->getEntities(['serverinfo_uid' => $entity['id']); - $entities[$key]['ram_partinfo_uid'] = $this->getServerPartService()->getEntities(['serverinfo_uid' => $entity['id']); - $entities[$key]['disk_partinfo_uid'] = $this->getServerPartService()->getEntities(['serverinfo_uid' => $entity['id']); - } + return parent::index_process(); } } diff --git a/app/Controllers/Admin/Equipment/SoftwareController.php b/app/Controllers/Admin/Equipment/SoftwareController.php index d0643a2..95b8e97 100644 --- a/app/Controllers/Admin/Equipment/SoftwareController.php +++ b/app/Controllers/Admin/Equipment/SoftwareController.php @@ -38,7 +38,7 @@ class SoftwareController extends EquipmentController protected function index_process(): array { $fields = [ - 'fields' => ['type', $this->getService()->getModel()->getTitleField(), 'price', 'status', 'description'], + 'fields' => ['type', $this->getService()->getModel()->getTitleField(), 'status', 'description'], ]; $this->init('index', $fields); $this->modal_type = 'modal_iframe'; diff --git a/app/Database/erp2.vuerd.json b/app/Database/erp2.vuerd.json index 8929572..d6f95c9 100644 --- a/app/Database/erp2.vuerd.json +++ b/app/Database/erp2.vuerd.json @@ -4,13 +4,13 @@ "settings": { "width": 4000, "height": 4000, - "scrollTop": -967.7004, - "scrollLeft": -2104.8624, - "zoomLevel": 1, + "scrollTop": -2057.1261, + "scrollLeft": -1040.6149, + "zoomLevel": 0.79, "show": 511, "database": 4, "databaseName": "", - "canvasType": "ERD", + "canvasType": "@dineug/erd-editor/builtin-schema-sql", "language": 1, "tableNameCase": 4, "columnNameCase": 2, @@ -47,19 +47,16 @@ "jO40Ej5EXImXnadoJo9bn", "gsa0XtQZQgrJ8ZXy8VQVg", "5AUwJum9FKPCoYRMBhLnF", - "xrgAG9Zc_whfxTeGQ2fqx", - "CYHveKA03TPJiz6X5wq2L", "RMhrLs7bOaopKmKt9YKHQ", "gYqhvNLZjWrQk8LNKH3il", "M9XC2MNIJqyKe77s6znI7", - "Jbg57aw6IK3Z4Fx7SqZdh", - "orLBU-C_XFowKM86b0lVB" + "RTq5rHQupiXXJPXqpN8K5", + "q0nHqNHYRczLFnV35V_qc" ], "relationshipIds": [ "gAVYXWnBSnCw-0ieO4Mil", "WXDbQNvgLU6e2AEqZl8If", "aKIaANWEYltTtJffBo7DN", - "2fpNq-aTVMnLCnp481j3_", "qrtpEEOK_OBwxcghJlb0I", "fXVyT3pzVo0T0fgoFz4Gi", "gNCG3TpxxGPRdE0xNJM4Z", @@ -69,23 +66,16 @@ "95uRv2fz3rssNbkyuzkLh", "4BDt10BeeryoN0ZdEHIui", "KtdVJCYZ3DMVnPnFGKi3P", - "vm1jrQz9O3U0SgH8t06u-", "AH1dyESfueUlhcoiU6KsQ", - "QvPqTtlLZg4ZVLrIjQGT4", "H3ufP8FbEnPlyFiHAggt0", "hEYDIiEFtsN5gxqTmDYC7", "zH9SNavkYXAVRNXk4KF3w", "8v6Wmy4UTd5daxh1_kCH4", "YDIkLS7KeNom6uC_nProR", "rDaiOqjpenuTOWAB9GhA6", - "qLQPXlDyy1hmEhoRUdANl", - "oXc2VcEdry8DcoU1I86K4", - "GCXPkwOf_AhaOHOeh1_df", - "r8ucpCIm1MkBDOr0kvEl9", - "P_gL6Gh5661VM4MM9ucql", - "lNJIUzLhDa6jVxnfEZLV0", - "aRPqn8R_3I5F-dlxu1DbS", - "LrJDhKK4xoCFS3lROJdmK" + "rvhOgmNcWHmmWI1PYPjzk", + "gy8AYT4ifY9wU-1_ttgwO", + "OfL_b7drVbtK_qtISBxwG" ], "indexIds": [], "memoIds": [] @@ -121,15 +111,15 @@ "_Isvu_q8_Gsp82W0Lkk-r" ], "ui": { - "x": 190.8662, - "y": 2924.4966, + "x": 220.2781, + "y": 2556.8495, "zIndex": 2, "widthName": 60, "widthComment": 62, "color": "" }, "meta": { - "updateAt": 1747287357382, + "updateAt": 1747375499809, "createAt": 1745819764136 } }, @@ -224,11 +214,9 @@ "comment": "서버정보", "columnIds": [ "F9EPb6nsDx6Tf3GG8rvP1", - "kyD7tU9kevxCDow7j2uHI", - "pY1RZgzuWBgRILX2XsMTt", + "J97WIRanerqkRvOlQCnL3", "BAzGsBrmLOwZGYLchLmyP", "9F6QpQqxeEggZ0FHM81O1", - "lu2r9w2xmXsB8H7Mrdt1t", "54iuIW4knok06vP4JH-oN", "o0KMVEBZAnWRSsxx10HmA", "bh-W1plz0vCW2rURDnfDR", @@ -241,6 +229,7 @@ "6QKQkCLEQNWLc1oF16LgN", "kyD7tU9kevxCDow7j2uHI", "pY1RZgzuWBgRILX2XsMTt", + "J97WIRanerqkRvOlQCnL3", "BAzGsBrmLOwZGYLchLmyP", "9F6QpQqxeEggZ0FHM81O1", "6e3HgOnQwPQRS7r37pAK6", @@ -255,59 +244,18 @@ "yjaoHnd4nFaa-3REXvRfN" ], "ui": { - "x": 2430.9915, - "y": 2233.7822, + "x": 2446.3712, + "y": 1382.4445, "zIndex": 2, "widthName": 60, "widthComment": 60, "color": "" }, "meta": { - "updateAt": 1747287684331, + "updateAt": 1747379455586, "createAt": 1745819764137 } }, - "z6WAw_7GnarTYkag4Lcsg": { - "id": "z6WAw_7GnarTYkag4Lcsg", - "name": "raminfo", - "comment": "ram 부품 정보", - "columnIds": [ - "7fB6MgwIX6jMpD6d2Sq7k", - "ifLOIjTEKNJytRfXVcKLh", - "uV64jBfR6hderID7y49PR", - "la7gq1VzeEEcHsHq32cyZ", - "6puy3O9sH_wHBHdoek3GL", - "VgoAzdbZTyH5EcsAYHxcO", - "PfyFAW02XGNLH3al90jv5", - "vjqS4O1-xHzlAV_i9l3Xe", - "gQUT2v0Gg59R1SfKMhry3" - ], - "seqColumnIds": [ - "7fB6MgwIX6jMpD6d2Sq7k", - "ifLOIjTEKNJytRfXVcKLh", - "WypofEzhfxAMC-B6m6_Pa", - "uV64jBfR6hderID7y49PR", - "la7gq1VzeEEcHsHq32cyZ", - "vEH63UEDTpNDwfohuydGV", - "6puy3O9sH_wHBHdoek3GL", - "VgoAzdbZTyH5EcsAYHxcO", - "PfyFAW02XGNLH3al90jv5", - "vjqS4O1-xHzlAV_i9l3Xe", - "gQUT2v0Gg59R1SfKMhry3" - ], - "ui": { - "x": 2215.382, - "y": 3068.1831, - "zIndex": 2, - "widthName": 60, - "widthComment": 77, - "color": "" - }, - "meta": { - "updateAt": 1747033146817, - "createAt": 1745819764138 - } - }, "IhXnqMFBU_GmCvISNyaKj": { "id": "IhXnqMFBU_GmCvISNyaKj", "name": "serverinfos_partinfos", @@ -350,7 +298,6 @@ "2HB01q46-mugMjuOz85YG", "4acJag7ORjUzX7FP-gnhZ", "1q8jG5dQKdD35_XYimkSk", - "G9PMddYQm9ohnzkJUa_nw", "P84ZMnZu1nZtRhDY18T5o", "VycsOgeM1SXkcq_5XYUMS", "k4vpMNZ75fNUjX-hrjXzs", @@ -368,15 +315,15 @@ "8ZPjmeG3NoO6C0icGibJP" ], "ui": { - "x": 2427.4319, - "y": 2947.5816, + "x": 2457.4319, + "y": 2515.0816, "zIndex": 2, "widthName": 68, "widthComment": 89, "color": "" }, "meta": { - "updateAt": 1747287692379, + "updateAt": 1747379200589, "createAt": 1745819764138 } }, @@ -390,7 +337,6 @@ "oc5quhO8E3mqrBZKbIy_G", "lZQAY89JoyOHoTQEHeS1Y", "fiQBfXvw-4tj42PuGiDAk", - "ehNv0f07ci1ARnkTSDG6J", "PHhRG4nKR6k_CQF9B8xS1", "wb9_XvPZHAOrpH-s0B0YN", "ltPYBs_iNuZJM6wTnK0H-", @@ -414,15 +360,15 @@ "liJON6hIBB9aS-pQgM0Q6" ], "ui": { - "x": 2427.0448, - "y": 1066.5589, + "x": 2417.4558, + "y": 774.7781, "zIndex": 2, "widthName": 60, "widthComment": 60, "color": "" }, "meta": { - "updateAt": 1747298047091, + "updateAt": 1747379439614, "createAt": 1745819764138 } }, @@ -433,7 +379,6 @@ "columnIds": [ "Id0h8QbOdlhPj9P1zTm5o", "f7_MGvRjkwL1xkCWrAgDR", - "SaTapKkBzVUluKTG_fsBy", "6qd6rcTkraI_AbHcVbp6T", "nDoaVrEhO8hLuHbgZV4il", "Vm1-FnoJLcJ0GRnTp0vnn", @@ -454,15 +399,15 @@ "R-UjmO-S2UeQdddVNwH5M" ], "ui": { - "x": 2438.1231, - "y": 1446.0484, + "x": 2439.4932, + "y": 1132.3495, "zIndex": 2, "widthName": 60, "widthComment": 60, "color": "" }, "meta": { - "updateAt": 1747298079394, + "updateAt": 1747379446240, "createAt": 1745819764138 } }, @@ -473,10 +418,10 @@ "columnIds": [ "nb5CGzskl3_LIRA0yyede", "sscrxOdwLlx94tx1j_MrH", + "UKMpq-uPW9JhNhwRMtBmC", "iM3NfWTfO6qrXv94EUFgk", "CITRNBpXOZqGM6gHy5MlB", "lwr6RuK8OGKJNLdd70NGS", - "sGkif4Lcd1cXyGgJQCuZl", "qnVCOfUyejx2ToAQhkmu0", "JItDVSlR3alwlWIyiXSyW", "jBxeJ8Sz7jRGrKBCkD1q1", @@ -486,6 +431,9 @@ "seqColumnIds": [ "nb5CGzskl3_LIRA0yyede", "sscrxOdwLlx94tx1j_MrH", + "74hYN_2bj1ubH9fDJVRVz", + "JXFtN33CEiVr8DDSQay0k", + "UKMpq-uPW9JhNhwRMtBmC", "iM3NfWTfO6qrXv94EUFgk", "CITRNBpXOZqGM6gHy5MlB", "lwr6RuK8OGKJNLdd70NGS", @@ -507,7 +455,7 @@ "color": "" }, "meta": { - "updateAt": 1747279100596, + "updateAt": 1747380828026, "createAt": 1745819764139 } }, @@ -539,36 +487,37 @@ "2SU_tNQXyQlsQc6WchJ04" ], "ui": { - "x": 176.6268, - "y": 1035.0409, + "x": 201.3262, + "y": 833.1988, "zIndex": 2, "widthName": 60, "widthComment": 65, "color": "" }, "meta": { - "updateAt": 1747287724913, + "updateAt": 1747374182062, "createAt": 1745819764139 } }, "sgFc3Tg9sWiMm4hsEwKm9": { "id": "sgFc3Tg9sWiMm4hsEwKm9", - "name": "serviceinfos_serverinfos", - "comment": "서비스-서버 연결", + "name": "serviceinfos_defenceinfos", + "comment": "서비스-방어 연결", "columnIds": [ "TDXOYTNCKhN0r0vj8at-s", "zG8_7CN0n4heTPXcS1V8e", - "uNqzMzAALwe_V_QA41OFW", + "Ve6X-7qKKUxId0tll1Caz", "N7bLm6kgwYVMp4xflIi_V", "2VWaNAVGlic6PysNFB-p-", - "pGf_WVtjQtrxr-p19k5G3", - "_3sv_g-FNI77icmJbBBAF", "UCQyqc-F1swYRY6Qa3lIi" ], "seqColumnIds": [ "TDXOYTNCKhN0r0vj8at-s", "zG8_7CN0n4heTPXcS1V8e", "uNqzMzAALwe_V_QA41OFW", + "Ve6X-7qKKUxId0tll1Caz", + "TRMh2T-cxkATOXOzBSIYE", + "HcPbXEU_CjGa4ZpnzN2tj", "N7bLm6kgwYVMp4xflIi_V", "2VWaNAVGlic6PysNFB-p-", "pGf_WVtjQtrxr-p19k5G3", @@ -577,49 +526,15 @@ "UCQyqc-F1swYRY6Qa3lIi" ], "ui": { - "x": 1189.7734, - "y": 2326.738, + "x": 1185.2953, + "y": 1976.666, "zIndex": 2, - "widthName": 126, + "widthName": 136, "widthComment": 94, "color": "" }, "meta": { - "updateAt": 1747285321225, - "createAt": 1745819764139 - } - }, - "aKTVtMqmPG7TJIsmxeVts": { - "id": "aKTVtMqmPG7TJIsmxeVts", - "name": "serviceinfos_raminfos", - "comment": "서비스_ram 부품 연결", - "columnIds": [ - "6NfFu4xWPfE3dgKI5J2hR", - "ywDnRAz0bbHUceo-EmLgZ", - "sn3p4UDiY4D9XJS4odHbP", - "_QMB8iNL4ACVQSKx9yLtt", - "SSHRhArhhTVREXVng48Yt", - "EJHor6ZpIKpTwVp6raA_S" - ], - "seqColumnIds": [ - "6NfFu4xWPfE3dgKI5J2hR", - "ywDnRAz0bbHUceo-EmLgZ", - "sn3p4UDiY4D9XJS4odHbP", - "_QMB8iNL4ACVQSKx9yLtt", - "SSHRhArhhTVREXVng48Yt", - "oslDq1FY5cMlsObGiCwzd", - "EJHor6ZpIKpTwVp6raA_S" - ], - "ui": { - "x": 1174.052, - "y": 2498.8066, - "zIndex": 2, - "widthName": 115, - "widthComment": 118, - "color": "" - }, - "meta": { - "updateAt": 1747032295476, + "updateAt": 1747379675241, "createAt": 1745819764139 } }, @@ -633,8 +548,6 @@ "AKpf8UbHiwRJll36PQR6f", "8agbo_j1bQNrN8OoG2TAs", "oZ3RpNTiLRp6utYj02FOu", - "3qI0r0SlOTmWa9IODRdQ-", - "MwPnUpvgyZAWrwklOW0aq", "3v3JWUBHg3mAb4HmHPUP-" ], "seqColumnIds": [ @@ -649,15 +562,15 @@ "3v3JWUBHg3mAb4HmHPUP-" ], "ui": { - "x": 1188.0608, - "y": 2857.8469, + "x": 1178.7675, + "y": 2563.8046, "zIndex": 2, "widthName": 139, "widthComment": 130, "color": "" }, "meta": { - "updateAt": 1747285314435, + "updateAt": 1747375494938, "createAt": 1745819764139 } }, @@ -671,8 +584,6 @@ "fdfaSp8HaDoxD96LL1tX4", "3xj1HNeP9Ve34yUpq2lCB", "zk7fke88oHwR5W_3ReKcp", - "uUAmxeQ2jccu4JFTvVBGY", - "N61HbQYSC4Xe-OKxZLLiO", "kTwnu5ylJ22aQ7cBwn3pZ" ], "seqColumnIds": [ @@ -688,15 +599,15 @@ "kTwnu5ylJ22aQ7cBwn3pZ" ], "ui": { - "x": 1187.7587, - "y": 1795.0614, + "x": 1180.4415, + "y": 1436.5532, "zIndex": 2, "widthName": 104, "widthComment": 80, "color": "" }, "meta": { - "updateAt": 1747285329647, + "updateAt": 1747379530935, "createAt": 1745819764139 } }, @@ -710,8 +621,6 @@ "dDoAacc03mr5Qr0bIwlN6", "LyX52QG0qvEVedLUxYJDd", "bfvSqmZKRGwglKHwbLVTz", - "SAJjTd76vMt9-sjpnk11V", - "8FuC8kf_1mqFDJ26TKj3u", "iYSERwWFGJgDi9-uEJfTS" ], "seqColumnIds": [ @@ -726,15 +635,15 @@ "nAYYL4VvZwFBqqY9J5A1P" ], "ui": { - "x": 1188.1223, - "y": 1534.9997, + "x": 1180.7967, + "y": 1196.9182, "zIndex": 2, "widthName": 113, "widthComment": 94, "color": "" }, "meta": { - "updateAt": 1747285335640, + "updateAt": 1747379529326, "createAt": 1745819764139 } }, @@ -810,15 +719,15 @@ "qHceMMaFcmVnWPlJ2T4Sg" ], "ui": { - "x": 1178.9706, - "y": 3182.2826, + "x": 1181.8279, + "y": 2845.3078, "zIndex": 2, "widthName": 60, "widthComment": 81, "color": "" }, "meta": { - "updateAt": 1747287362090, + "updateAt": 1747375496865, "createAt": 1745819764142 } }, @@ -980,55 +889,14 @@ "createAt": 1746576203015 } }, - "fCwd8aDYfxPrR9RVbsNPS": { - "id": "fCwd8aDYfxPrR9RVbsNPS", - "name": "diskinfo", - "comment": "disk 부품 정보", - "columnIds": [ - "q8oHp8wqEn6w_wOyWwvPo", - "1YL6PuBFTgDIw8KbG4Lgl", - "V0MKwLG0NLp7IhyLjcgfz", - "BE27xpoGp8kRkIHqEFNnc", - "MGi64TXpUkYL7U5iHOXVV", - "H_1vMpmSnY2T83GZcBrXm", - "-fdjpSFqLU0ltYuj3r6bi", - "280CG3HIAYNudV5QG4X7P", - "6cXp-rd8H2R4gxjOfTeTc" - ], - "seqColumnIds": [ - "q8oHp8wqEn6w_wOyWwvPo", - "1YL6PuBFTgDIw8KbG4Lgl", - "V0MKwLG0NLp7IhyLjcgfz", - "BE27xpoGp8kRkIHqEFNnc", - "MGi64TXpUkYL7U5iHOXVV", - "H_1vMpmSnY2T83GZcBrXm", - "-fdjpSFqLU0ltYuj3r6bi", - "280CG3HIAYNudV5QG4X7P", - "6cXp-rd8H2R4gxjOfTeTc" - ], - "ui": { - "x": 2209.7141, - "y": 3370.8752, - "zIndex": 443, - "widthName": 60, - "widthComment": 78, - "color": "" - }, - "meta": { - "updateAt": 1747033142912, - "createAt": 1746783196108 - } - }, "RMhrLs7bOaopKmKt9YKHQ": { "id": "RMhrLs7bOaopKmKt9YKHQ", "name": "partinfo", "comment": "부품 정보", "columnIds": [ "Jh6e_-9QYe1Tqve0PE3kT", - "VxbbWBYPZdH63koVtdRuv", "-Vr-igaSkx5zEcVp0oUGN", "DC7TvFFpBT7vY0UKKHt-W", - "cg9Jr22ykbciJUTruf5fu", "dr0UoY8ebsS-TjcPyP4is", "GnoGvT4HaG9kp-BvwZ4FQ", "wx8zTFviA4I8YQnn-MFpW", @@ -1051,15 +919,15 @@ "mwVYv9PaJFpoxYvTRJ223" ], "ui": { - "x": 2423.1254, - "y": 2605.381, + "x": 2445.6254, + "y": 2155.381, "zIndex": 495, "widthName": 60, "widthComment": 60, "color": "" }, "meta": { - "updateAt": 1747287688922, + "updateAt": 1747379195341, "createAt": 1746783410914 } }, @@ -1073,14 +941,13 @@ "ox7xu7XaYBZyB2alu2HcK", "lc-qccQ7orROrFjeexBjR", "2G6G5tqs-9wyT0i7RaFtL", - "OuT_E7LvMnwM-b6oh4GMR", - "dfV6qhK_Fgn-cny8bxE9P", "VzuPW7xCYQCRJ5S3m5qU1" ], "seqColumnIds": [ "TQwAGrd3jBQOImSKgfAZb", "YKXKsIEJE-vmIMQd5ZUMC", "ox7xu7XaYBZyB2alu2HcK", + "sqR0RO_KImSS3iNSVWt0Q", "lc-qccQ7orROrFjeexBjR", "2G6G5tqs-9wyT0i7RaFtL", "OuT_E7LvMnwM-b6oh4GMR", @@ -1088,114 +955,18 @@ "VzuPW7xCYQCRJ5S3m5qU1" ], "ui": { - "x": 1193.1632, - "y": 2594.1499, + "x": 1180.3332, + "y": 2274.5767, "zIndex": 547, "widthName": 116, "widthComment": 94, "color": "" }, "meta": { - "updateAt": 1747285316482, + "updateAt": 1747375877524, "createAt": 1746783705263 } }, - "O0Q0QEgi652Vd4dZ9tccI": { - "id": "O0Q0QEgi652Vd4dZ9tccI", - "name": "serviceinfos_diskinfos", - "comment": "서비스_disk 부품 연결", - "columnIds": [ - "i02dSH4PObKOQ-GK1UpzI", - "KwM9EZ1tNuO7Pb_WD389k", - "HVYYqMWNfn6FArWDYKtbD", - "Mx8dX7QrOwdvvcxUia9Lz", - "vN_rV7lTMW6ng8Ao6E2ne", - "wmXNFR-tG6TMhBZH9usq2" - ], - "seqColumnIds": [ - "i02dSH4PObKOQ-GK1UpzI", - "KwM9EZ1tNuO7Pb_WD389k", - "HVYYqMWNfn6FArWDYKtbD", - "Mx8dX7QrOwdvvcxUia9Lz", - "vN_rV7lTMW6ng8Ao6E2ne", - "wmXNFR-tG6TMhBZH9usq2" - ], - "ui": { - "x": 1168.315, - "y": 2732.1431, - "zIndex": 592, - "widthName": 115, - "widthComment": 119, - "color": "" - }, - "meta": { - "updateAt": 1747032292209, - "createAt": 1746783866428 - } - }, - "T-aAH59sOSNr6TdUbOGNm": { - "id": "T-aAH59sOSNr6TdUbOGNm", - "name": "clientinfos_serverinfos", - "comment": "소유자_장비 연결", - "columnIds": [ - "TMWvTqGl4LsAGwujQ1Ej2", - "OWh0eBheafnaAraiKcG5D", - "ZxkaWAlThwzbADqyDPMeV", - "818RPiE_qxXfiJ7zGfQXF" - ], - "seqColumnIds": [ - "TMWvTqGl4LsAGwujQ1Ej2", - "OWh0eBheafnaAraiKcG5D", - "ZxkaWAlThwzbADqyDPMeV", - "hrMeKE4M3XlfBWoQPsHKB", - "BL0nCNl3EILhE2nwb5aMb", - "7RGmvQ8u3Yx0D2gKokE4j", - "OYSqcoDUJkReVbtf9aj1B", - "GE8m9_gWzv3f_8wQ2mndn", - "818RPiE_qxXfiJ7zGfQXF" - ], - "ui": { - "x": 1180.6871, - "y": 1133.6675, - "zIndex": 595, - "widthName": 118, - "widthComment": 94, - "color": "" - }, - "meta": { - "updateAt": 1747032402973, - "createAt": 1747031797136 - } - }, - "itFYsEk62Kbat4LrIKmUn": { - "id": "itFYsEk62Kbat4LrIKmUn", - "name": "clientinfos_networkinfos", - "comment": "소유자_네트워크장비 연결", - "columnIds": [ - "AE58JmL3wAsx2gmB2dHuH", - "IKHyOxgbE7VPvy3z65PF2", - "jTgQrDoraWjifIoU8XaJU", - "cCNC6MvSe770G35EW319U" - ], - "seqColumnIds": [ - "AE58JmL3wAsx2gmB2dHuH", - "IKHyOxgbE7VPvy3z65PF2", - "jTgQrDoraWjifIoU8XaJU", - "cCNC6MvSe770G35EW319U" - ], - "ui": { - "x": 1184.3248, - "y": 936.6861, - "zIndex": 626, - "widthName": 130, - "widthComment": 142, - "color": "" - }, - "meta": { - "updateAt": 1747032407994, - "createAt": 1747032054183 - } - }, "M9XC2MNIJqyKe77s6znI7": { "id": "M9XC2MNIJqyKe77s6znI7", "name": "invoiceinfo_detail", @@ -1226,15 +997,15 @@ "761T13bs94ZLVeC2iJm13" ], "ui": { - "x": 1179.209, - "y": 1261.8083, + "x": 202.4648, + "y": 1212.971, "zIndex": 697, "widthName": 94, "widthComment": 89, "color": "" }, "meta": { - "updateAt": 1747287733096, + "updateAt": 1747379521765, "createAt": 1747281566137 } }, @@ -1298,6 +1069,78 @@ "updateAt": 1747287704410, "createAt": 1747287241280 } + }, + "RTq5rHQupiXXJPXqpN8K5": { + "id": "RTq5rHQupiXXJPXqpN8K5", + "name": "defenceinfo", + "comment": "방어정보", + "columnIds": [ + "zBz4vBOZSIA8vKmfqXckO", + "YqInlreLnga0pOXtaP8GF", + "ixoWg1kPLrUYL069d75Kq", + "0STHSEXiceoCa6a7jGXV5", + "j2hkudsfMKexNL6P7SM8R", + "mDU5e29uBK_pIGHPmO6Nv", + "W9QKu7VjB-92E2pV0v2dk", + "pzEFysMFfI2J8uB8YHXxA" + ], + "seqColumnIds": [ + "zBz4vBOZSIA8vKmfqXckO", + "YqInlreLnga0pOXtaP8GF", + "VYbvSvXIEQPQtx6GL-tdv", + "ixoWg1kPLrUYL069d75Kq", + "0STHSEXiceoCa6a7jGXV5", + "j2hkudsfMKexNL6P7SM8R", + "lf3Q5NccF2HWpq4GlYVta", + "mDU5e29uBK_pIGHPmO6Nv", + "W9QKu7VjB-92E2pV0v2dk", + "pzEFysMFfI2J8uB8YHXxA" + ], + "ui": { + "x": 2449.8927, + "y": 1742.4513, + "zIndex": 796, + "widthName": 64, + "widthComment": 60, + "color": "" + }, + "meta": { + "updateAt": 1747379835533, + "createAt": 1747374666215 + } + }, + "q0nHqNHYRczLFnV35V_qc": { + "id": "q0nHqNHYRczLFnV35V_qc", + "name": "serviceinfos_serverinfos", + "comment": "서비스-서버 연결", + "columnIds": [ + "YHS-M0tbd3fsXWddxXjHh", + "gb59smF6KMFsvojjxwvuJ", + "ARlzuJPlNjSld6grPvPsA", + "dEsFAYW9ehgWZ4EEPMAX_", + "BAc1ONx63wWUDHDHNxk5v", + "3xpC59e170haRrVKuaiol" + ], + "seqColumnIds": [ + "YHS-M0tbd3fsXWddxXjHh", + "gb59smF6KMFsvojjxwvuJ", + "ARlzuJPlNjSld6grPvPsA", + "dEsFAYW9ehgWZ4EEPMAX_", + "BAc1ONx63wWUDHDHNxk5v", + "3xpC59e170haRrVKuaiol" + ], + "ui": { + "x": 1182.1226, + "y": 1685.7783, + "zIndex": 921, + "widthName": 126, + "widthComment": 94, + "color": "" + }, + "meta": { + "updateAt": 1747379689011, + "createAt": 1747379543415 + } } }, "tableColumnEntities": { @@ -1888,7 +1731,7 @@ "comment": "", "dataType": "INT", "default": "", - "options": 15, + "options": 11, "ui": { "keys": 1, "widthName": 60, @@ -1897,7 +1740,7 @@ "widthDefault": 60 }, "meta": { - "updateAt": 1747283566508, + "updateAt": 1747378859541, "createAt": 1745819764137 } }, @@ -1917,7 +1760,7 @@ "widthDefault": 60 }, "meta": { - "updateAt": 1747110912882, + "updateAt": 1747378804079, "createAt": 1745819764138 } }, @@ -1928,7 +1771,7 @@ "comment": "", "dataType": "VARCHAR(50)", "default": "", - "options": 12, + "options": 8, "ui": { "keys": 0, "widthName": 60, @@ -1937,7 +1780,7 @@ "widthDefault": 60 }, "meta": { - "updateAt": 1746609583672, + "updateAt": 1747378887223, "createAt": 1745819764138 } }, @@ -2081,186 +1924,6 @@ "createAt": 1745819764138 } }, - "7fB6MgwIX6jMpD6d2Sq7k": { - "id": "7fB6MgwIX6jMpD6d2Sq7k", - "tableId": "z6WAw_7GnarTYkag4Lcsg", - "name": "uid", - "comment": "", - "dataType": "INT", - "default": "", - "options": 11, - "ui": { - "keys": 1, - "widthName": 60, - "widthComment": 60, - "widthDataType": 60, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1746576292368, - "createAt": 1745819764138 - } - }, - "ifLOIjTEKNJytRfXVcKLh": { - "id": "ifLOIjTEKNJytRfXVcKLh", - "tableId": "z6WAw_7GnarTYkag4Lcsg", - "name": "type", - "comment": "", - "dataType": "VARCHAR(20)", - "default": "'cpu'", - "options": 8, - "ui": { - "keys": 0, - "widthName": 60, - "widthComment": 60, - "widthDataType": 75, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1746764551033, - "createAt": 1745819764138 - } - }, - "WypofEzhfxAMC-B6m6_Pa": { - "id": "WypofEzhfxAMC-B6m6_Pa", - "tableId": "z6WAw_7GnarTYkag4Lcsg", - "name": "brand", - "comment": "", - "dataType": "VARCHAR(50)", - "default": "samsung", - "options": 8, - "ui": { - "keys": 0, - "widthName": 60, - "widthComment": 60, - "widthDataType": 75, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1746576296625, - "createAt": 1745819764138 - } - }, - "la7gq1VzeEEcHsHq32cyZ": { - "id": "la7gq1VzeEEcHsHq32cyZ", - "tableId": "z6WAw_7GnarTYkag4Lcsg", - "name": "capacity", - "comment": "용량 (GB)", - "dataType": "INT", - "default": "", - "options": 8, - "ui": { - "keys": 0, - "widthName": 60, - "widthComment": 60, - "widthDataType": 60, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1745819764138, - "createAt": 1745819764138 - } - }, - "vEH63UEDTpNDwfohuydGV": { - "id": "vEH63UEDTpNDwfohuydGV", - "tableId": "z6WAw_7GnarTYkag4Lcsg", - "name": "cost_price", - "comment": "", - "dataType": "INT", - "default": "0", - "options": 8, - "ui": { - "keys": 0, - "widthName": 60, - "widthComment": 60, - "widthDataType": 60, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1746576299609, - "createAt": 1745819764138 - } - }, - "6puy3O9sH_wHBHdoek3GL": { - "id": "6puy3O9sH_wHBHdoek3GL", - "tableId": "z6WAw_7GnarTYkag4Lcsg", - "name": "price", - "comment": "", - "dataType": "INT", - "default": "0", - "options": 8, - "ui": { - "keys": 0, - "widthName": 60, - "widthComment": 60, - "widthDataType": 60, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1746576300920, - "createAt": 1745819764138 - } - }, - "VgoAzdbZTyH5EcsAYHxcO": { - "id": "VgoAzdbZTyH5EcsAYHxcO", - "tableId": "z6WAw_7GnarTYkag4Lcsg", - "name": "description", - "comment": "", - "dataType": "TEXT", - "default": "", - "options": 0, - "ui": { - "keys": 0, - "widthName": 61, - "widthComment": 60, - "widthDataType": 60, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1745819764138, - "createAt": 1745819764138 - } - }, - "vjqS4O1-xHzlAV_i9l3Xe": { - "id": "vjqS4O1-xHzlAV_i9l3Xe", - "tableId": "z6WAw_7GnarTYkag4Lcsg", - "name": "updated_at", - "comment": "", - "dataType": "TIMESTAMP", - "default": "", - "options": 0, - "ui": { - "keys": 0, - "widthName": 62, - "widthComment": 60, - "widthDataType": 65, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1745819764138, - "createAt": 1745819764138 - } - }, - "gQUT2v0Gg59R1SfKMhry3": { - "id": "gQUT2v0Gg59R1SfKMhry3", - "tableId": "z6WAw_7GnarTYkag4Lcsg", - "name": "created_at", - "comment": "", - "dataType": "TIMESTAMP", - "default": "CURRENT_TIMESTAMP", - "options": 8, - "ui": { - "keys": 0, - "widthName": 60, - "widthComment": 60, - "widthDataType": 65, - "widthDefault": 122 - }, - "meta": { - "updateAt": 1745819764138, - "createAt": 1745819764138 - } - }, "iylHjtnqU_oLEYolQkQIM": { "id": "iylHjtnqU_oLEYolQkQIM", "tableId": "IhXnqMFBU_GmCvISNyaKj", @@ -2764,20 +2427,20 @@ "lwr6RuK8OGKJNLdd70NGS": { "id": "lwr6RuK8OGKJNLdd70NGS", "tableId": "kc1EFvFhlBSc0B0bDgX28", - "name": "payment_date", - "comment": "", + "name": "billing_at", + "comment": "청구일", "dataType": "DATE", "default": "", "options": 8, "ui": { "keys": 0, - "widthName": 77, + "widthName": 60, "widthComment": 60, "widthDataType": 60, "widthDefault": 60 }, "meta": { - "updateAt": 1745819764139, + "updateAt": 1747371214135, "createAt": 1745819764139 } }, @@ -2785,7 +2448,7 @@ "id": "sGkif4Lcd1cXyGgJQCuZl", "tableId": "kc1EFvFhlBSc0B0bDgX28", "name": "amount", - "comment": "", + "comment": "청구액", "dataType": "INT", "default": "0", "options": 8, @@ -2797,7 +2460,7 @@ "widthDefault": 60 }, "meta": { - "updateAt": 1747124638629, + "updateAt": 1747371386113, "createAt": 1745819764139 } }, @@ -3110,7 +2773,7 @@ "default": "", "options": 8, "ui": { - "keys": 2, + "keys": 0, "widthName": 76, "widthComment": 60, "widthDataType": 60, @@ -3201,146 +2864,6 @@ "createAt": 1745819764139 } }, - "6NfFu4xWPfE3dgKI5J2hR": { - "id": "6NfFu4xWPfE3dgKI5J2hR", - "tableId": "aKTVtMqmPG7TJIsmxeVts", - "name": "uid", - "comment": "", - "dataType": "INT", - "default": "", - "options": 11, - "ui": { - "keys": 1, - "widthName": 60, - "widthComment": 60, - "widthDataType": 60, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1746576259903, - "createAt": 1745819764139 - } - }, - "ywDnRAz0bbHUceo-EmLgZ": { - "id": "ywDnRAz0bbHUceo-EmLgZ", - "tableId": "aKTVtMqmPG7TJIsmxeVts", - "name": "serviceinfo_uid", - "comment": "", - "dataType": "INT", - "default": "", - "options": 8, - "ui": { - "keys": 0, - "widthName": 80, - "widthComment": 60, - "widthDataType": 60, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1745819764139, - "createAt": 1745819764139 - } - }, - "sn3p4UDiY4D9XJS4odHbP": { - "id": "sn3p4UDiY4D9XJS4odHbP", - "tableId": "aKTVtMqmPG7TJIsmxeVts", - "name": "raminfo_uid", - "comment": "", - "dataType": "INT", - "default": "", - "options": 8, - "ui": { - "keys": 0, - "widthName": 65, - "widthComment": 60, - "widthDataType": 60, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1746783329455, - "createAt": 1745819764139 - } - }, - "_QMB8iNL4ACVQSKx9yLtt": { - "id": "_QMB8iNL4ACVQSKx9yLtt", - "tableId": "aKTVtMqmPG7TJIsmxeVts", - "name": "payment_type", - "comment": "", - "dataType": "VARCHAR(20)", - "default": "'month'", - "options": 0, - "ui": { - "keys": 0, - "widthName": 77, - "widthComment": 60, - "widthDataType": 75, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1746604183036, - "createAt": 1745819764139 - } - }, - "SSHRhArhhTVREXVng48Yt": { - "id": "SSHRhArhhTVREXVng48Yt", - "tableId": "aKTVtMqmPG7TJIsmxeVts", - "name": "amount", - "comment": "", - "dataType": "INT", - "default": "0", - "options": 0, - "ui": { - "keys": 0, - "widthName": 60, - "widthComment": 60, - "widthDataType": 60, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1745819764139, - "createAt": 1745819764139 - } - }, - "oslDq1FY5cMlsObGiCwzd": { - "id": "oslDq1FY5cMlsObGiCwzd", - "tableId": "aKTVtMqmPG7TJIsmxeVts", - "name": "updated_at", - "comment": "", - "dataType": "TIMESTAMP", - "default": "", - "options": 0, - "ui": { - "keys": 0, - "widthName": 62, - "widthComment": 60, - "widthDataType": 65, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1745819764139, - "createAt": 1745819764139 - } - }, - "EJHor6ZpIKpTwVp6raA_S": { - "id": "EJHor6ZpIKpTwVp6raA_S", - "tableId": "aKTVtMqmPG7TJIsmxeVts", - "name": "created_at", - "comment": "", - "dataType": "TIMESTAMP", - "default": "CURRENT_TIMESTAMP", - "options": 8, - "ui": { - "keys": 0, - "widthName": 60, - "widthComment": 60, - "widthDataType": 65, - "widthDefault": 122 - }, - "meta": { - "updateAt": 1745819764139, - "createAt": 1745819764139 - } - }, "BEKFy_-SDnnB_udIwHS4P": { "id": "BEKFy_-SDnnB_udIwHS4P", "tableId": "5KwHMmZppj-7TjRC_xQ54", @@ -4941,26 +4464,6 @@ "createAt": 1746409123565 } }, - "PfyFAW02XGNLH3al90jv5": { - "id": "PfyFAW02XGNLH3al90jv5", - "tableId": "z6WAw_7GnarTYkag4Lcsg", - "name": "status", - "comment": "", - "dataType": "VARCHAR(20)", - "default": "'use'", - "options": 8, - "ui": { - "keys": 0, - "widthName": 60, - "widthComment": 60, - "widthDataType": 75, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1746603904692, - "createAt": 1746409129707 - } - }, "bh-W1plz0vCW2rURDnfDR": { "id": "bh-W1plz0vCW2rURDnfDR", "tableId": "B4qGh3KZsXHQ3_4EOgwJZ", @@ -5061,26 +4564,6 @@ "createAt": 1746576242360 } }, - "uV64jBfR6hderID7y49PR": { - "id": "uV64jBfR6hderID7y49PR", - "tableId": "z6WAw_7GnarTYkag4Lcsg", - "name": "model", - "comment": "", - "dataType": "VARCHAR(50)", - "default": "", - "options": 12, - "ui": { - "keys": 0, - "widthName": 60, - "widthComment": 60, - "widthDataType": 75, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1746609592320, - "createAt": 1746576585042 - } - }, "DvwDCnsNxrcfqx6nTsbP4": { "id": "DvwDCnsNxrcfqx6nTsbP4", "tableId": "xrgAG9Zc_whfxTeGQ2fqx", @@ -5110,7 +4593,7 @@ "default": "", "options": 8, "ui": { - "keys": 2, + "keys": 0, "widthName": 80, "widthComment": 60, "widthDataType": 60, @@ -5330,7 +4813,7 @@ "default": "", "options": 8, "ui": { - "keys": 2, + "keys": 0, "widthName": 87, "widthComment": 60, "widthDataType": 60, @@ -5544,203 +5027,23 @@ "wb9_XvPZHAOrpH-s0B0YN": { "id": "wb9_XvPZHAOrpH-s0B0YN", "tableId": "doERb3lIVeBW_D0NtNYX8", - "name": "opening_at", + "name": "start_at", "comment": "개통일", - "dataType": "TIMESTAMP", + "dataType": "DATE", "default": "", "options": 0, "ui": { "keys": 0, - "widthName": 61, + "widthName": 60, "widthComment": 60, - "widthDataType": 65, + "widthDataType": 60, "widthDefault": 60 }, "meta": { - "updateAt": 1746769097515, + "updateAt": 1747368685355, "createAt": 1746769048830 } }, - "q8oHp8wqEn6w_wOyWwvPo": { - "id": "q8oHp8wqEn6w_wOyWwvPo", - "tableId": "fCwd8aDYfxPrR9RVbsNPS", - "name": "uid", - "comment": "", - "dataType": "INT", - "default": "", - "options": 11, - "ui": { - "keys": 1, - "widthName": 60, - "widthComment": 60, - "widthDataType": 60, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1746783271084, - "createAt": 1746783266930 - } - }, - "1YL6PuBFTgDIw8KbG4Lgl": { - "id": "1YL6PuBFTgDIw8KbG4Lgl", - "tableId": "fCwd8aDYfxPrR9RVbsNPS", - "name": "type", - "comment": "", - "dataType": "VARCHAR(20)", - "default": "'cpu'", - "options": 8, - "ui": { - "keys": 0, - "widthName": 60, - "widthComment": 60, - "widthDataType": 75, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1746783266930, - "createAt": 1746783266930 - } - }, - "V0MKwLG0NLp7IhyLjcgfz": { - "id": "V0MKwLG0NLp7IhyLjcgfz", - "tableId": "fCwd8aDYfxPrR9RVbsNPS", - "name": "model", - "comment": "", - "dataType": "VARCHAR(50)", - "default": "", - "options": 12, - "ui": { - "keys": 0, - "widthName": 60, - "widthComment": 60, - "widthDataType": 75, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1746783266930, - "createAt": 1746783266930 - } - }, - "BE27xpoGp8kRkIHqEFNnc": { - "id": "BE27xpoGp8kRkIHqEFNnc", - "tableId": "fCwd8aDYfxPrR9RVbsNPS", - "name": "capacity", - "comment": "용량 (GB)", - "dataType": "INT", - "default": "", - "options": 8, - "ui": { - "keys": 0, - "widthName": 60, - "widthComment": 60, - "widthDataType": 60, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1746783266931, - "createAt": 1746783266931 - } - }, - "MGi64TXpUkYL7U5iHOXVV": { - "id": "MGi64TXpUkYL7U5iHOXVV", - "tableId": "fCwd8aDYfxPrR9RVbsNPS", - "name": "price", - "comment": "", - "dataType": "INT", - "default": "0", - "options": 8, - "ui": { - "keys": 0, - "widthName": 60, - "widthComment": 60, - "widthDataType": 60, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1746783266931, - "createAt": 1746783266931 - } - }, - "H_1vMpmSnY2T83GZcBrXm": { - "id": "H_1vMpmSnY2T83GZcBrXm", - "tableId": "fCwd8aDYfxPrR9RVbsNPS", - "name": "description", - "comment": "", - "dataType": "TEXT", - "default": "", - "options": 0, - "ui": { - "keys": 0, - "widthName": 61, - "widthComment": 60, - "widthDataType": 60, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1746783266931, - "createAt": 1746783266931 - } - }, - "-fdjpSFqLU0ltYuj3r6bi": { - "id": "-fdjpSFqLU0ltYuj3r6bi", - "tableId": "fCwd8aDYfxPrR9RVbsNPS", - "name": "status", - "comment": "", - "dataType": "VARCHAR(20)", - "default": "'use'", - "options": 8, - "ui": { - "keys": 0, - "widthName": 60, - "widthComment": 60, - "widthDataType": 75, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1746783266931, - "createAt": 1746783266931 - } - }, - "280CG3HIAYNudV5QG4X7P": { - "id": "280CG3HIAYNudV5QG4X7P", - "tableId": "fCwd8aDYfxPrR9RVbsNPS", - "name": "updated_at", - "comment": "", - "dataType": "TIMESTAMP", - "default": "", - "options": 0, - "ui": { - "keys": 0, - "widthName": 62, - "widthComment": 60, - "widthDataType": 65, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1746783266931, - "createAt": 1746783266931 - } - }, - "6cXp-rd8H2R4gxjOfTeTc": { - "id": "6cXp-rd8H2R4gxjOfTeTc", - "tableId": "fCwd8aDYfxPrR9RVbsNPS", - "name": "created_at", - "comment": "", - "dataType": "TIMESTAMP", - "default": "CURRENT_TIMESTAMP", - "options": 8, - "ui": { - "keys": 0, - "widthName": 60, - "widthComment": 60, - "widthDataType": 65, - "widthDefault": 122 - }, - "meta": { - "updateAt": 1746783266931, - "createAt": 1746783266931 - } - }, "roON46ztrEREN9ysNVyCK": { "id": "roON46ztrEREN9ysNVyCK", "tableId": "RMhrLs7bOaopKmKt9YKHQ", @@ -6101,386 +5404,6 @@ "createAt": 1746783814940 } }, - "i02dSH4PObKOQ-GK1UpzI": { - "id": "i02dSH4PObKOQ-GK1UpzI", - "tableId": "O0Q0QEgi652Vd4dZ9tccI", - "name": "uid", - "comment": "", - "dataType": "INT", - "default": "", - "options": 11, - "ui": { - "keys": 1, - "widthName": 60, - "widthComment": 60, - "widthDataType": 60, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1746783921462, - "createAt": 1746783916885 - } - }, - "Mx8dX7QrOwdvvcxUia9Lz": { - "id": "Mx8dX7QrOwdvvcxUia9Lz", - "tableId": "O0Q0QEgi652Vd4dZ9tccI", - "name": "payment_type", - "comment": "", - "dataType": "VARCHAR(20)", - "default": "'month'", - "options": 0, - "ui": { - "keys": 0, - "widthName": 77, - "widthComment": 60, - "widthDataType": 75, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1746783916885, - "createAt": 1746783916885 - } - }, - "vN_rV7lTMW6ng8Ao6E2ne": { - "id": "vN_rV7lTMW6ng8Ao6E2ne", - "tableId": "O0Q0QEgi652Vd4dZ9tccI", - "name": "amount", - "comment": "", - "dataType": "INT", - "default": "0", - "options": 0, - "ui": { - "keys": 0, - "widthName": 60, - "widthComment": 60, - "widthDataType": 60, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1746783916885, - "createAt": 1746783916885 - } - }, - "wmXNFR-tG6TMhBZH9usq2": { - "id": "wmXNFR-tG6TMhBZH9usq2", - "tableId": "O0Q0QEgi652Vd4dZ9tccI", - "name": "created_at", - "comment": "", - "dataType": "TIMESTAMP", - "default": "CURRENT_TIMESTAMP", - "options": 8, - "ui": { - "keys": 0, - "widthName": 60, - "widthComment": 60, - "widthDataType": 65, - "widthDefault": 122 - }, - "meta": { - "updateAt": 1746783916885, - "createAt": 1746783916885 - } - }, - "KwM9EZ1tNuO7Pb_WD389k": { - "id": "KwM9EZ1tNuO7Pb_WD389k", - "tableId": "O0Q0QEgi652Vd4dZ9tccI", - "name": "serviceinfo_uid", - "comment": "", - "dataType": "INT", - "default": "", - "options": 8, - "ui": { - "keys": 0, - "widthName": 80, - "widthComment": 60, - "widthDataType": 60, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1746783992419, - "createAt": 1746783952690 - } - }, - "HVYYqMWNfn6FArWDYKtbD": { - "id": "HVYYqMWNfn6FArWDYKtbD", - "tableId": "O0Q0QEgi652Vd4dZ9tccI", - "name": "diskinfo_uid", - "comment": "", - "dataType": "INT", - "default": "", - "options": 8, - "ui": { - "keys": 0, - "widthName": 65, - "widthComment": 60, - "widthDataType": 60, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1746783988130, - "createAt": 1746783975606 - } - }, - "OWh0eBheafnaAraiKcG5D": { - "id": "OWh0eBheafnaAraiKcG5D", - "tableId": "T-aAH59sOSNr6TdUbOGNm", - "name": "clientinfo_uid", - "comment": "소유자", - "dataType": "INT", - "default": "", - "options": 8, - "ui": { - "keys": 0, - "widthName": 73, - "widthComment": 60, - "widthDataType": 60, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1747032039663, - "createAt": 1747031912541 - } - }, - "TMWvTqGl4LsAGwujQ1Ej2": { - "id": "TMWvTqGl4LsAGwujQ1Ej2", - "tableId": "T-aAH59sOSNr6TdUbOGNm", - "name": "uid", - "comment": "", - "dataType": "INT", - "default": "", - "options": 11, - "ui": { - "keys": 1, - "widthName": 60, - "widthComment": 60, - "widthDataType": 60, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1747031931015, - "createAt": 1747031925811 - } - }, - "hrMeKE4M3XlfBWoQPsHKB": { - "id": "hrMeKE4M3XlfBWoQPsHKB", - "tableId": "T-aAH59sOSNr6TdUbOGNm", - "name": "clientinfo_uid", - "comment": "", - "dataType": "INT", - "default": "", - "options": 8, - "ui": { - "keys": 0, - "widthName": 73, - "widthComment": 60, - "widthDataType": 60, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1747031925811, - "createAt": 1747031925811 - } - }, - "BL0nCNl3EILhE2nwb5aMb": { - "id": "BL0nCNl3EILhE2nwb5aMb", - "tableId": "T-aAH59sOSNr6TdUbOGNm", - "name": "title", - "comment": "", - "dataType": "VARCHAR(255)", - "default": "", - "options": 8, - "ui": { - "keys": 0, - "widthName": 60, - "widthComment": 60, - "widthDataType": 81, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1747031925812, - "createAt": 1747031925811 - } - }, - "7RGmvQ8u3Yx0D2gKokE4j": { - "id": "7RGmvQ8u3Yx0D2gKokE4j", - "tableId": "T-aAH59sOSNr6TdUbOGNm", - "name": "alias", - "comment": "입출금자명", - "dataType": "VARCHAR(50)", - "default": "", - "options": 8, - "ui": { - "keys": 0, - "widthName": 60, - "widthComment": 62, - "widthDataType": 75, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1747031925812, - "createAt": 1747031925812 - } - }, - "OYSqcoDUJkReVbtf9aj1B": { - "id": "OYSqcoDUJkReVbtf9aj1B", - "tableId": "T-aAH59sOSNr6TdUbOGNm", - "name": "deposit", - "comment": "압금", - "dataType": "INT", - "default": "0", - "options": 8, - "ui": { - "keys": 0, - "widthName": 60, - "widthComment": 60, - "widthDataType": 60, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1747031925812, - "createAt": 1747031925812 - } - }, - "GE8m9_gWzv3f_8wQ2mndn": { - "id": "GE8m9_gWzv3f_8wQ2mndn", - "tableId": "T-aAH59sOSNr6TdUbOGNm", - "name": "withdrawal", - "comment": "출금", - "dataType": "INT", - "default": "0", - "options": 8, - "ui": { - "keys": 0, - "widthName": 60, - "widthComment": 60, - "widthDataType": 60, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1747031925812, - "createAt": 1747031925812 - } - }, - "818RPiE_qxXfiJ7zGfQXF": { - "id": "818RPiE_qxXfiJ7zGfQXF", - "tableId": "T-aAH59sOSNr6TdUbOGNm", - "name": "created_at", - "comment": "", - "dataType": "TIMESTAMP", - "default": "CURRENT_TIMESTAMP", - "options": 8, - "ui": { - "keys": 0, - "widthName": 60, - "widthComment": 60, - "widthDataType": 65, - "widthDefault": 122 - }, - "meta": { - "updateAt": 1747031925812, - "createAt": 1747031925812 - } - }, - "ZxkaWAlThwzbADqyDPMeV": { - "id": "ZxkaWAlThwzbADqyDPMeV", - "tableId": "T-aAH59sOSNr6TdUbOGNm", - "name": "serverinfo_uid", - "comment": "", - "dataType": "INT", - "default": "", - "options": 8, - "ui": { - "keys": 0, - "widthName": 76, - "widthComment": 60, - "widthDataType": 60, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1747032028109, - "createAt": 1747032014572 - } - }, - "IKHyOxgbE7VPvy3z65PF2": { - "id": "IKHyOxgbE7VPvy3z65PF2", - "tableId": "itFYsEk62Kbat4LrIKmUn", - "name": "clientinfo_uid", - "comment": "", - "dataType": "INT", - "default": "", - "options": 8, - "ui": { - "keys": 0, - "widthName": 73, - "widthComment": 60, - "widthDataType": 60, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1747032134956, - "createAt": 1747032110597 - } - }, - "AE58JmL3wAsx2gmB2dHuH": { - "id": "AE58JmL3wAsx2gmB2dHuH", - "tableId": "itFYsEk62Kbat4LrIKmUn", - "name": "uid", - "comment": "", - "dataType": "INT", - "default": "", - "options": 11, - "ui": { - "keys": 1, - "widthName": 60, - "widthComment": 60, - "widthDataType": 60, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1747032121367, - "createAt": 1747032117377 - } - }, - "cCNC6MvSe770G35EW319U": { - "id": "cCNC6MvSe770G35EW319U", - "tableId": "itFYsEk62Kbat4LrIKmUn", - "name": "created_at", - "comment": "", - "dataType": "TIMESTAMP", - "default": "CURRENT_TIMESTAMP", - "options": 8, - "ui": { - "keys": 0, - "widthName": 60, - "widthComment": 60, - "widthDataType": 65, - "widthDefault": 122 - }, - "meta": { - "updateAt": 1747032117377, - "createAt": 1747032117377 - } - }, - "jTgQrDoraWjifIoU8XaJU": { - "id": "jTgQrDoraWjifIoU8XaJU", - "tableId": "itFYsEk62Kbat4LrIKmUn", - "name": "networkinfo_uid", - "comment": "", - "dataType": "INT", - "default": "", - "options": 8, - "ui": { - "keys": 0, - "widthName": 87, - "widthComment": 60, - "widthDataType": 60, - "widthDefault": 60 - }, - "meta": { - "updateAt": 1747032180763, - "createAt": 1747032168094 - } - }, "HlUwkGDQIzvSXKilnVmeR": { "id": "HlUwkGDQIzvSXKilnVmeR", "tableId": "xrgAG9Zc_whfxTeGQ2fqx", @@ -6945,7 +5868,7 @@ "id": "qnVCOfUyejx2ToAQhkmu0", "tableId": "kc1EFvFhlBSc0B0bDgX28", "name": "start_at", - "comment": "", + "comment": "개통일", "dataType": "DATE", "default": "", "options": 0, @@ -6957,7 +5880,7 @@ "widthDefault": 60 }, "meta": { - "updateAt": 1747277755303, + "updateAt": 1747371188940, "createAt": 1747277755303 } }, @@ -6965,7 +5888,7 @@ "id": "JItDVSlR3alwlWIyiXSyW", "tableId": "kc1EFvFhlBSc0B0bDgX28", "name": "end_at", - "comment": "", + "comment": "종료일", "dataType": "DATE", "default": "", "options": 0, @@ -6977,7 +5900,7 @@ "widthDefault": 60 }, "meta": { - "updateAt": 1747277755303, + "updateAt": 1747371193639, "createAt": 1747277755303 } }, @@ -7444,20 +6367,20 @@ "5KRw8TtT2nLqpYfKFOBwe": { "id": "5KRw8TtT2nLqpYfKFOBwe", "tableId": "doERb3lIVeBW_D0NtNYX8", - "name": "ownerinfo_uid", + "name": "clientinfo_uid", "comment": "소유자정보", "dataType": "INT", "default": "", "options": 0, "ui": { "keys": 2, - "widthName": 77, + "widthName": 73, "widthComment": 62, "widthDataType": 60, "widthDefault": 60 }, "meta": { - "updateAt": 1747297973050, + "updateAt": 1747367958122, "createAt": 1747286811587 } }, @@ -7470,7 +6393,7 @@ "default": "", "options": 8, "ui": { - "keys": 2, + "keys": 0, "widthName": 60, "widthComment": 60, "widthDataType": 60, @@ -7510,7 +6433,7 @@ "default": "", "options": 0, "ui": { - "keys": 2, + "keys": 0, "widthName": 73, "widthComment": 60, "widthDataType": 60, @@ -7530,7 +6453,7 @@ "default": "", "options": 0, "ui": { - "keys": 2, + "keys": 0, "widthName": 73, "widthComment": 60, "widthDataType": 60, @@ -7610,7 +6533,7 @@ "default": "", "options": 8, "ui": { - "keys": 2, + "keys": 0, "widthName": 76, "widthComment": 60, "widthDataType": 60, @@ -7630,7 +6553,7 @@ "default": "", "options": 8, "ui": { - "keys": 2, + "keys": 0, "widthName": 66, "widthComment": 60, "widthDataType": 60, @@ -7690,7 +6613,7 @@ "default": "", "options": 8, "ui": { - "keys": 2, + "keys": 0, "widthName": 76, "widthComment": 60, "widthDataType": 60, @@ -7710,7 +6633,7 @@ "default": "", "options": 8, "ui": { - "keys": 2, + "keys": 0, "widthName": 60, "widthComment": 60, "widthDataType": 60, @@ -7744,20 +6667,20 @@ "SaTapKkBzVUluKTG_fsBy": { "id": "SaTapKkBzVUluKTG_fsBy", "tableId": "ZLEpY5EjuZV21718zf-Y1", - "name": "ownerinfo_uid", + "name": "clientinfo_uid", "comment": "", "dataType": "INT", "default": "", "options": 0, "ui": { - "keys": 2, - "widthName": 77, + "keys": 0, + "widthName": 73, "widthComment": 60, "widthDataType": 60, "widthDefault": 60 }, "meta": { - "updateAt": 1747298069681, + "updateAt": 1747367978937, "createAt": 1747297811324 } }, @@ -7780,6 +6703,486 @@ "updateAt": 1747297979214, "createAt": 1747297931757 } + }, + "TRMh2T-cxkATOXOzBSIYE": { + "id": "TRMh2T-cxkATOXOzBSIYE", + "tableId": "sgFc3Tg9sWiMm4hsEwKm9", + "name": "code", + "comment": "", + "dataType": "VARCHAR(20)", + "default": "", + "options": 12, + "ui": { + "keys": 0, + "widthName": 60, + "widthComment": 60, + "widthDataType": 75, + "widthDefault": 60 + }, + "meta": { + "updateAt": 1747367179707, + "createAt": 1747367157715 + } + }, + "74hYN_2bj1ubH9fDJVRVz": { + "id": "74hYN_2bj1ubH9fDJVRVz", + "tableId": "kc1EFvFhlBSc0B0bDgX28", + "name": "serverinfo_uid", + "comment": "", + "dataType": "INT", + "default": "", + "options": 4, + "ui": { + "keys": 0, + "widthName": 76, + "widthComment": 60, + "widthDataType": 60, + "widthDefault": 60 + }, + "meta": { + "updateAt": 1747374069326, + "createAt": 1747373947529 + } + }, + "JXFtN33CEiVr8DDSQay0k": { + "id": "JXFtN33CEiVr8DDSQay0k", + "tableId": "kc1EFvFhlBSc0B0bDgX28", + "name": "code", + "comment": "", + "dataType": "VARCHAR(20)", + "default": "", + "options": 12, + "ui": { + "keys": 0, + "widthName": 60, + "widthComment": 60, + "widthDataType": 75, + "widthDefault": 60 + }, + "meta": { + "updateAt": 1747374066119, + "createAt": 1747374044582 + } + }, + "zBz4vBOZSIA8vKmfqXckO": { + "id": "zBz4vBOZSIA8vKmfqXckO", + "tableId": "RTq5rHQupiXXJPXqpN8K5", + "name": "uid", + "comment": "", + "dataType": "INT", + "default": "", + "options": 15, + "ui": { + "keys": 1, + "widthName": 60, + "widthComment": 60, + "widthDataType": 60, + "widthDefault": 60 + }, + "meta": { + "updateAt": 1747374857754, + "createAt": 1747374853724 + } + }, + "YqInlreLnga0pOXtaP8GF": { + "id": "YqInlreLnga0pOXtaP8GF", + "tableId": "RTq5rHQupiXXJPXqpN8K5", + "name": "type", + "comment": "", + "dataType": "VARCHAR(20)", + "default": "'VPC-CS'", + "options": 8, + "ui": { + "keys": 0, + "widthName": 60, + "widthComment": 60, + "widthDataType": 75, + "widthDefault": 60 + }, + "meta": { + "updateAt": 1747375226334, + "createAt": 1747374853724 + } + }, + "ixoWg1kPLrUYL069d75Kq": { + "id": "ixoWg1kPLrUYL069d75Kq", + "tableId": "RTq5rHQupiXXJPXqpN8K5", + "name": "ip", + "comment": "", + "dataType": "VARCHAR(50)", + "default": "", + "options": 0, + "ui": { + "keys": 0, + "widthName": 60, + "widthComment": 60, + "widthDataType": 75, + "widthDefault": 60 + }, + "meta": { + "updateAt": 1747374993341, + "createAt": 1747374853724 + } + }, + "0STHSEXiceoCa6a7jGXV5": { + "id": "0STHSEXiceoCa6a7jGXV5", + "tableId": "RTq5rHQupiXXJPXqpN8K5", + "name": "domain", + "comment": "", + "dataType": "VARCHAR(100)", + "default": "", + "options": 0, + "ui": { + "keys": 0, + "widthName": 60, + "widthComment": 60, + "widthDataType": 81, + "widthDefault": 60 + }, + "meta": { + "updateAt": 1747375169681, + "createAt": 1747374853724 + } + }, + "j2hkudsfMKexNL6P7SM8R": { + "id": "j2hkudsfMKexNL6P7SM8R", + "tableId": "RTq5rHQupiXXJPXqpN8K5", + "name": "description", + "comment": "", + "dataType": "TEXT", + "default": "", + "options": 0, + "ui": { + "keys": 0, + "widthName": 61, + "widthComment": 60, + "widthDataType": 60, + "widthDefault": 60 + }, + "meta": { + "updateAt": 1747374853724, + "createAt": 1747374853724 + } + }, + "lf3Q5NccF2HWpq4GlYVta": { + "id": "lf3Q5NccF2HWpq4GlYVta", + "tableId": "RTq5rHQupiXXJPXqpN8K5", + "name": "manufactur_at", + "comment": "제조일", + "dataType": "TIMESTAMP", + "default": "", + "options": 0, + "ui": { + "keys": 0, + "widthName": 78, + "widthComment": 60, + "widthDataType": 65, + "widthDefault": 60 + }, + "meta": { + "updateAt": 1747374853724, + "createAt": 1747374853724 + } + }, + "mDU5e29uBK_pIGHPmO6Nv": { + "id": "mDU5e29uBK_pIGHPmO6Nv", + "tableId": "RTq5rHQupiXXJPXqpN8K5", + "name": "status", + "comment": "", + "dataType": "VARCHAR(20)", + "default": "'use'", + "options": 8, + "ui": { + "keys": 0, + "widthName": 60, + "widthComment": 60, + "widthDataType": 75, + "widthDefault": 60 + }, + "meta": { + "updateAt": 1747374853724, + "createAt": 1747374853724 + } + }, + "W9QKu7VjB-92E2pV0v2dk": { + "id": "W9QKu7VjB-92E2pV0v2dk", + "tableId": "RTq5rHQupiXXJPXqpN8K5", + "name": "updated_at", + "comment": "", + "dataType": "TIMESTAMP", + "default": "", + "options": 0, + "ui": { + "keys": 0, + "widthName": 62, + "widthComment": 60, + "widthDataType": 65, + "widthDefault": 60 + }, + "meta": { + "updateAt": 1747374853724, + "createAt": 1747374853724 + } + }, + "pzEFysMFfI2J8uB8YHXxA": { + "id": "pzEFysMFfI2J8uB8YHXxA", + "tableId": "RTq5rHQupiXXJPXqpN8K5", + "name": "created_at", + "comment": "", + "dataType": "TIMESTAMP", + "default": "CURRENT_TIMESTAMP", + "options": 8, + "ui": { + "keys": 0, + "widthName": 60, + "widthComment": 60, + "widthDataType": 65, + "widthDefault": 122 + }, + "meta": { + "updateAt": 1747374853725, + "createAt": 1747374853724 + } + }, + "VYbvSvXIEQPQtx6GL-tdv": { + "id": "VYbvSvXIEQPQtx6GL-tdv", + "tableId": "RTq5rHQupiXXJPXqpN8K5", + "name": "code", + "comment": "", + "dataType": "VARCHAR(20)", + "default": "", + "options": 12, + "ui": { + "keys": 0, + "widthName": 60, + "widthComment": 60, + "widthDataType": 75, + "widthDefault": 60 + }, + "meta": { + "updateAt": 1747374914892, + "createAt": 1747374914892 + } + }, + "Ve6X-7qKKUxId0tll1Caz": { + "id": "Ve6X-7qKKUxId0tll1Caz", + "tableId": "sgFc3Tg9sWiMm4hsEwKm9", + "name": "defenceinfo_uid", + "comment": "", + "dataType": "INT", + "default": "", + "options": 8, + "ui": { + "keys": 2, + "widthName": 86, + "widthComment": 60, + "widthDataType": 60, + "widthDefault": 60 + }, + "meta": { + "updateAt": 1747375465879, + "createAt": 1747375452269 + } + }, + "HcPbXEU_CjGa4ZpnzN2tj": { + "id": "HcPbXEU_CjGa4ZpnzN2tj", + "tableId": "sgFc3Tg9sWiMm4hsEwKm9", + "name": "type", + "comment": "", + "dataType": "VARCHAR(20)", + "default": "'VPC-CS'", + "options": 8, + "ui": { + "keys": 0, + "widthName": 60, + "widthComment": 60, + "widthDataType": 75, + "widthDefault": 60 + }, + "meta": { + "updateAt": 1747375735729, + "createAt": 1747375735728 + } + }, + "sqR0RO_KImSS3iNSVWt0Q": { + "id": "sqR0RO_KImSS3iNSVWt0Q", + "tableId": "gYqhvNLZjWrQk8LNKH3il", + "name": "type", + "comment": "", + "dataType": "VARCHAR(20)", + "default": "'CPU'", + "options": 8, + "ui": { + "keys": 0, + "widthName": 60, + "widthComment": 60, + "widthDataType": 75, + "widthDefault": 60 + }, + "meta": { + "updateAt": 1747375752080, + "createAt": 1747375752080 + } + }, + "J97WIRanerqkRvOlQCnL3": { + "id": "J97WIRanerqkRvOlQCnL3", + "tableId": "B4qGh3KZsXHQ3_4EOgwJZ", + "name": "code", + "comment": "", + "dataType": "VARCHAR(20)", + "default": "", + "options": 12, + "ui": { + "keys": 0, + "widthName": 60, + "widthComment": 60, + "widthDataType": 75, + "widthDefault": 60 + }, + "meta": { + "updateAt": 1747380440853, + "createAt": 1747378814732 + } + }, + "gb59smF6KMFsvojjxwvuJ": { + "id": "gb59smF6KMFsvojjxwvuJ", + "tableId": "q0nHqNHYRczLFnV35V_qc", + "name": "serviceinfo_uid", + "comment": "", + "dataType": "INT", + "default": "", + "options": 8, + "ui": { + "keys": 2, + "widthName": 80, + "widthComment": 60, + "widthDataType": 60, + "widthDefault": 60 + }, + "meta": { + "updateAt": 1747379640347, + "createAt": 1747379584781 + } + }, + "YHS-M0tbd3fsXWddxXjHh": { + "id": "YHS-M0tbd3fsXWddxXjHh", + "tableId": "q0nHqNHYRczLFnV35V_qc", + "name": "uid", + "comment": "", + "dataType": "INT", + "default": "", + "options": 11, + "ui": { + "keys": 1, + "widthName": 60, + "widthComment": 60, + "widthDataType": 60, + "widthDefault": 60 + }, + "meta": { + "updateAt": 1747379716004, + "createAt": 1747379627412 + } + }, + "dEsFAYW9ehgWZ4EEPMAX_": { + "id": "dEsFAYW9ehgWZ4EEPMAX_", + "tableId": "q0nHqNHYRczLFnV35V_qc", + "name": "billing_type", + "comment": "", + "dataType": "VARCHAR(20)", + "default": "'month'", + "options": 8, + "ui": { + "keys": 0, + "widthName": 63, + "widthComment": 60, + "widthDataType": 75, + "widthDefault": 60 + }, + "meta": { + "updateAt": 1747379627412, + "createAt": 1747379627412 + } + }, + "BAc1ONx63wWUDHDHNxk5v": { + "id": "BAc1ONx63wWUDHDHNxk5v", + "tableId": "q0nHqNHYRczLFnV35V_qc", + "name": "amount", + "comment": "", + "dataType": "INT", + "default": "0", + "options": 8, + "ui": { + "keys": 0, + "widthName": 60, + "widthComment": 60, + "widthDataType": 60, + "widthDefault": 60 + }, + "meta": { + "updateAt": 1747379627412, + "createAt": 1747379627412 + } + }, + "3xpC59e170haRrVKuaiol": { + "id": "3xpC59e170haRrVKuaiol", + "tableId": "q0nHqNHYRczLFnV35V_qc", + "name": "created_at", + "comment": "", + "dataType": "TIMESTAMP", + "default": "CURRENT_TIMESTAMP", + "options": 8, + "ui": { + "keys": 0, + "widthName": 60, + "widthComment": 60, + "widthDataType": 65, + "widthDefault": 122 + }, + "meta": { + "updateAt": 1747379627412, + "createAt": 1747379627412 + } + }, + "ARlzuJPlNjSld6grPvPsA": { + "id": "ARlzuJPlNjSld6grPvPsA", + "tableId": "q0nHqNHYRczLFnV35V_qc", + "name": "serverinfo_uid", + "comment": "", + "dataType": "INT", + "default": "", + "options": 8, + "ui": { + "keys": 2, + "widthName": 76, + "widthComment": 60, + "widthDataType": 60, + "widthDefault": 60 + }, + "meta": { + "updateAt": 1747379694076, + "createAt": 1747379666902 + } + }, + "UKMpq-uPW9JhNhwRMtBmC": { + "id": "UKMpq-uPW9JhNhwRMtBmC", + "tableId": "kc1EFvFhlBSc0B0bDgX28", + "name": "code", + "comment": "", + "dataType": "VARCHAR(20)", + "default": "", + "options": 12, + "ui": { + "keys": 0, + "widthName": 60, + "widthComment": 60, + "widthDataType": 75, + "widthDefault": 60 + }, + "meta": { + "updateAt": 1747380826300, + "createAt": 1747380826300 + } } }, "relationshipEntities": { @@ -7811,34 +7214,6 @@ "createAt": 1745819764143 } }, - "lVmT5NRPuRWiB5-mz3uij": { - "id": "lVmT5NRPuRWiB5-mz3uij", - "identification": false, - "relationshipType": 16, - "startRelationshipType": 2, - "start": { - "tableId": "B4qGh3KZsXHQ3_4EOgwJZ", - "columnIds": [ - "F9EPb6nsDx6Tf3GG8rvP1" - ], - "x": 2732.1847, - "y": 2338.0849, - "direction": 2 - }, - "end": { - "tableId": "IhXnqMFBU_GmCvISNyaKj", - "columnIds": [ - "pDILaJt_-vUo0fH_c6t2O" - ], - "x": 2998.8895, - "y": 2445.4365, - "direction": 1 - }, - "meta": { - "updateAt": 1746576167030, - "createAt": 1745819764143 - } - }, "WXDbQNvgLU6e2AEqZl8If": { "id": "WXDbQNvgLU6e2AEqZl8If", "identification": false, @@ -7858,7 +7233,7 @@ "columnIds": [ "sscrxOdwLlx94tx1j_MrH" ], - "x": 696.1378, + "x": 692.1378, "y": 1680.2032428571429, "direction": 2 }, @@ -7867,34 +7242,6 @@ "createAt": 1745819764143 } }, - "5zrgwg2t7XYDC0zIz0ORc": { - "id": "5zrgwg2t7XYDC0zIz0ORc", - "identification": false, - "relationshipType": 16, - "startRelationshipType": 2, - "start": { - "tableId": "kc1EFvFhlBSc0B0bDgX28", - "columnIds": [ - "nb5CGzskl3_LIRA0yyede" - ], - "x": 233.6772, - "y": 1144.4514, - "direction": 8 - }, - "end": { - "tableId": "R4reSshLxH3DQW6fUfSPa", - "columnIds": [ - "bEnLVhafLMHZluEaYba4n" - ], - "x": 316.6454, - "y": 2404.7777, - "direction": 4 - }, - "meta": { - "updateAt": 1746604536738, - "createAt": 1745819764143 - } - }, "aKIaANWEYltTtJffBo7DN": { "id": "aKIaANWEYltTtJffBo7DN", "identification": false, @@ -7905,8 +7252,8 @@ "columnIds": [ "nb5CGzskl3_LIRA0yyede" ], - "x": 696.1378, - "y": 1908.7746714285718, + "x": 692.1378, + "y": 1863.060385714286, "direction": 2 }, "end": { @@ -7914,8 +7261,8 @@ "columnIds": [ "zG8_7CN0n4heTPXcS1V8e" ], - "x": 1189.7734, - "y": 2450.738, + "x": 1185.2953, + "y": 2076.666, "direction": 1 }, "meta": { @@ -7923,34 +7270,6 @@ "createAt": 1745819764143 } }, - "2fpNq-aTVMnLCnp481j3_": { - "id": "2fpNq-aTVMnLCnp481j3_", - "identification": false, - "relationshipType": 16, - "startRelationshipType": 2, - "start": { - "tableId": "B4qGh3KZsXHQ3_4EOgwJZ", - "columnIds": [ - "F9EPb6nsDx6Tf3GG8rvP1" - ], - "x": 2430.9915, - "y": 2473.7822, - "direction": 1 - }, - "end": { - "tableId": "sgFc3Tg9sWiMm4hsEwKm9", - "columnIds": [ - "uNqzMzAALwe_V_QA41OFW" - ], - "x": 1704.7734, - "y": 2450.738, - "direction": 2 - }, - "meta": { - "updateAt": 1746604474225, - "createAt": 1745819764143 - } - }, "qrtpEEOK_OBwxcghJlb0I": { "id": "qrtpEEOK_OBwxcghJlb0I", "identification": false, @@ -7961,17 +7280,17 @@ "columnIds": [ "nb5CGzskl3_LIRA0yyede" ], - "x": 437.13779999999997, - "y": 1977.3461, - "direction": 8 + "x": 692.1378, + "y": 1954.4889571428575, + "direction": 2 }, "end": { "tableId": "5KwHMmZppj-7TjRC_xQ54", "columnIds": [ "CgGKx59wNvLpWcoBrEuvK" ], - "x": 1188.0608, - "y": 2981.8469, + "x": 1178.7675, + "y": 2663.8046, "direction": 1 }, "meta": { @@ -7989,8 +7308,8 @@ "columnIds": [ "2HB01q46-mugMjuOz85YG" ], - "x": 2427.4319, - "y": 3071.5816, + "x": 2457.4319, + "y": 2627.0816, "direction": 1 }, "end": { @@ -7998,8 +7317,8 @@ "columnIds": [ "AKpf8UbHiwRJll36PQR6f" ], - "x": 1712.0608, - "y": 2981.8469, + "x": 1702.7675, + "y": 2663.8046, "direction": 2 }, "meta": { @@ -8017,8 +7336,8 @@ "columnIds": [ "nb5CGzskl3_LIRA0yyede" ], - "x": 696.1378, - "y": 1817.3461000000002, + "x": 692.1378, + "y": 1771.6318142857144, "direction": 2 }, "end": { @@ -8026,8 +7345,8 @@ "columnIds": [ "jw-RY9uJDPlANghUUPnJ4" ], - "x": 1187.7587, - "y": 1919.0614, + "x": 1180.4415, + "y": 1536.5532, "direction": 1 }, "meta": { @@ -8043,8 +7362,8 @@ "start": { "tableId": "ZLEpY5EjuZV21718zf-Y1", "columnIds": [], - "x": 2438.1231, - "y": 1614.0484, + "x": 2439.4932, + "y": 1232.3495, "direction": 1 }, "end": { @@ -8052,8 +7371,8 @@ "columnIds": [ "fdfaSp8HaDoxD96LL1tX4" ], - "x": 1702.7587, - "y": 1919.0614, + "x": 1695.4415, + "y": 1536.5532, "direction": 2 }, "meta": { @@ -8071,8 +7390,8 @@ "columnIds": [ "nb5CGzskl3_LIRA0yyede" ], - "x": 696.1378, - "y": 1771.6318142857144, + "x": 692.1378, + "y": 1725.9175285714286, "direction": 2 }, "end": { @@ -8080,8 +7399,8 @@ "columnIds": [ "fDS7QeP4XnANQE_qEtGsY" ], - "x": 1188.1223, - "y": 1658.9997, + "x": 1180.7967, + "y": 1296.9182, "direction": 1 }, "meta": { @@ -8099,8 +7418,8 @@ "columnIds": [ "7B0zaLoZnOoMNW8OHZlrQ" ], - "x": 2427.0448, - "y": 1288.5589, + "x": 2417.4558, + "y": 978.7781, "direction": 1 }, "end": { @@ -8108,8 +7427,8 @@ "columnIds": [ "dDoAacc03mr5Qr0bIwlN6" ], - "x": 1703.1223, - "y": 1658.9997, + "x": 1695.7967, + "y": 1296.9182, "direction": 2 }, "meta": { @@ -8127,8 +7446,8 @@ "columnIds": [ "mfHtgzc_Aeocr6xkgwYWh" ], - "x": 693.8661999999999, - "y": 3072.4966, + "x": 723.2781, + "y": 2704.8495, "direction": 2 }, "end": { @@ -8136,8 +7455,8 @@ "columnIds": [ "DGl10GI58QwOHwpTu4Z1Y" ], - "x": 1178.9706, - "y": 3306.2826, + "x": 1181.8279, + "y": 2969.3078, "direction": 1 }, "meta": { @@ -8156,7 +7475,7 @@ "_AcWUYKzNJd-V0fRHq8Cx" ], "x": 1699.0947, - "y": 872.8022666666667, + "y": 922.1356, "direction": 2 }, "end": { @@ -8201,34 +7520,6 @@ "createAt": 1745914916196 } }, - "vm1jrQz9O3U0SgH8t06u-": { - "id": "vm1jrQz9O3U0SgH8t06u-", - "identification": false, - "relationshipType": 16, - "startRelationshipType": 2, - "start": { - "tableId": "kc1EFvFhlBSc0B0bDgX28", - "columnIds": [ - "nb5CGzskl3_LIRA0yyede" - ], - "x": 696.1378, - "y": 1863.060385714286, - "direction": 2 - }, - "end": { - "tableId": "CYHveKA03TPJiz6X5wq2L", - "columnIds": [ - "RtHk4GL4mwwGvwZ0UAoXQ" - ], - "x": 1187.9662, - "y": 2182.1851, - "direction": 1 - }, - "meta": { - "updateAt": 1746576801535, - "createAt": 1746576801535 - } - }, "AH1dyESfueUlhcoiU6KsQ": { "id": "AH1dyESfueUlhcoiU6KsQ", "identification": false, @@ -8239,8 +7530,8 @@ "columnIds": [ "7B0zaLoZnOoMNW8OHZlrQ" ], - "x": 2687.0448, - "y": 1362.5589, + "x": 2675.4558, + "y": 1046.7781, "direction": 8 }, "end": { @@ -8248,8 +7539,8 @@ "columnIds": [ "f7_MGvRjkwL1xkCWrAgDR" ], - "x": 2694.1231, - "y": 1446.0484, + "x": 2688.4932, + "y": 1132.3495, "direction": 4 }, "meta": { @@ -8257,62 +7548,6 @@ "createAt": 1746595277837 } }, - "QvPqTtlLZg4ZVLrIjQGT4": { - "id": "QvPqTtlLZg4ZVLrIjQGT4", - "identification": false, - "relationshipType": 16, - "startRelationshipType": 2, - "start": { - "tableId": "xrgAG9Zc_whfxTeGQ2fqx", - "columnIds": [ - "r7fMKgeUcNq4FhYZPN3h8" - ], - "x": 2429.8024, - "y": 2034.7664, - "direction": 1 - }, - "end": { - "tableId": "CYHveKA03TPJiz6X5wq2L", - "columnIds": [ - "2DXZGT0BJwjeij0IKXFa1" - ], - "x": 1709.9662, - "y": 2182.1851, - "direction": 2 - }, - "meta": { - "updateAt": 1746604423391, - "createAt": 1746604423391 - } - }, - "9R2rjPFcsYMu-1-2X7ns9": { - "id": "9R2rjPFcsYMu-1-2X7ns9", - "identification": false, - "relationshipType": 16, - "startRelationshipType": 2, - "start": { - "tableId": "RMhrLs7bOaopKmKt9YKHQ", - "columnIds": [ - "Jh6e_-9QYe1Tqve0PE3kT" - ], - "x": 2736.1253, - "y": 2710.5239, - "direction": 2 - }, - "end": { - "tableId": "IhXnqMFBU_GmCvISNyaKj", - "columnIds": [ - "7oTkP7etYsNgI6J6xQZVG" - ], - "x": 2998.8895, - "y": 2521.4365, - "direction": 1 - }, - "meta": { - "updateAt": 1746783631249, - "createAt": 1746783631249 - } - }, "H3ufP8FbEnPlyFiHAggt0": { "id": "H3ufP8FbEnPlyFiHAggt0", "identification": false, @@ -8323,8 +7558,8 @@ "columnIds": [ "nb5CGzskl3_LIRA0yyede" ], - "x": 696.1378, - "y": 1954.4889571428575, + "x": 692.1378, + "y": 1908.7746714285718, "direction": 2 }, "end": { @@ -8332,8 +7567,8 @@ "columnIds": [ "YKXKsIEJE-vmIMQd5ZUMC" ], - "x": 1193.1632, - "y": 2718.1499, + "x": 1180.3332, + "y": 2374.5767, "direction": 1 }, "meta": { @@ -8351,8 +7586,8 @@ "columnIds": [ "Jh6e_-9QYe1Tqve0PE3kT" ], - "x": 2423.1254, - "y": 2753.381, + "x": 2445.6254, + "y": 2279.381, "direction": 1 }, "end": { @@ -8360,8 +7595,8 @@ "columnIds": [ "ox7xu7XaYBZyB2alu2HcK" ], - "x": 1708.1632, - "y": 2718.1499, + "x": 1695.3332, + "y": 2374.5767, "direction": 2 }, "meta": { @@ -8369,174 +7604,6 @@ "createAt": 1746783814940 } }, - "WzZmsRAw4JdkIQsi-HCOq": { - "id": "WzZmsRAw4JdkIQsi-HCOq", - "identification": false, - "relationshipType": 16, - "startRelationshipType": 2, - "start": { - "tableId": "6ajvOCaGuXU9pzV0Y9jEi", - "columnIds": [ - "_AcWUYKzNJd-V0fRHq8Cx" - ], - "x": 673.5947, - "y": 398.6356, - "direction": 2 - }, - "end": { - "tableId": "T-aAH59sOSNr6TdUbOGNm", - "columnIds": [ - "OWh0eBheafnaAraiKcG5D" - ], - "x": 1180.6871, - "y": 1209.6675, - "direction": 1 - }, - "meta": { - "updateAt": 1747031912541, - "createAt": 1747031912541 - } - }, - "LpPaH4pRUn0U836Oxn2h8": { - "id": "LpPaH4pRUn0U836Oxn2h8", - "identification": false, - "relationshipType": 16, - "startRelationshipType": 2, - "start": { - "tableId": "B4qGh3KZsXHQ3_4EOgwJZ", - "columnIds": [ - "F9EPb6nsDx6Tf3GG8rvP1" - ], - "x": 2196.6847, - "y": 2161.5849, - "direction": 1 - }, - "end": { - "tableId": "T-aAH59sOSNr6TdUbOGNm", - "columnIds": [ - "ZxkaWAlThwzbADqyDPMeV" - ], - "x": 1681.6871, - "y": 1209.6675, - "direction": 2 - }, - "meta": { - "updateAt": 1747032014573, - "createAt": 1747032014573 - } - }, - "gZWxiGVxIRao1kOuaxdiU": { - "id": "gZWxiGVxIRao1kOuaxdiU", - "identification": false, - "relationshipType": 16, - "startRelationshipType": 2, - "start": { - "tableId": "6ajvOCaGuXU9pzV0Y9jEi", - "columnIds": [ - "_AcWUYKzNJd-V0fRHq8Cx" - ], - "x": 673.5947, - "y": 334.6356, - "direction": 2 - }, - "end": { - "tableId": "itFYsEk62Kbat4LrIKmUn", - "columnIds": [ - "IKHyOxgbE7VPvy3z65PF2" - ], - "x": 1184.3248, - "y": 1012.6861, - "direction": 1 - }, - "meta": { - "updateAt": 1747032110597, - "createAt": 1747032110597 - } - }, - "I26OJ4iYBO5kLWX4g2LJV": { - "id": "I26OJ4iYBO5kLWX4g2LJV", - "identification": false, - "relationshipType": 16, - "startRelationshipType": 2, - "start": { - "tableId": "xrgAG9Zc_whfxTeGQ2fqx", - "columnIds": [ - "r7fMKgeUcNq4FhYZPN3h8" - ], - "x": 2168.731, - "y": 1247.7664, - "direction": 1 - }, - "end": { - "tableId": "itFYsEk62Kbat4LrIKmUn", - "columnIds": [ - "jTgQrDoraWjifIoU8XaJU" - ], - "x": 1696.3248, - "y": 1012.6861, - "direction": 2 - }, - "meta": { - "updateAt": 1747032168094, - "createAt": 1747032168094 - } - }, - "dzvA2g0z62LPmClZ32wPE": { - "id": "dzvA2g0z62LPmClZ32wPE", - "identification": false, - "relationshipType": 16, - "startRelationshipType": 1, - "start": { - "tableId": "6ajvOCaGuXU9pzV0Y9jEi", - "columnIds": [ - "_AcWUYKzNJd-V0fRHq8Cx" - ], - "x": 1701.0947, - "y": 1114.8022666666666, - "direction": 2 - }, - "end": { - "tableId": "xrgAG9Zc_whfxTeGQ2fqx", - "columnIds": [ - "HlUwkGDQIzvSXKilnVmeR" - ], - "x": 2201.231, - "y": 1874.7664, - "direction": 1 - }, - "meta": { - "updateAt": 1747033067366, - "createAt": 1747033067366 - } - }, - "Trklw7votg2N3SEwtuiuX": { - "id": "Trklw7votg2N3SEwtuiuX", - "identification": false, - "relationshipType": 16, - "startRelationshipType": 1, - "start": { - "tableId": "6ajvOCaGuXU9pzV0Y9jEi", - "columnIds": [ - "_AcWUYKzNJd-V0fRHq8Cx" - ], - "x": 1302.8447, - "y": 1168.1356, - "direction": 8 - }, - "end": { - "tableId": "B4qGh3KZsXHQ3_4EOgwJZ", - "columnIds": [ - "F6TXYV3uwRzb-aZYCmf5x" - ], - "x": 2219.1847, - "y": 2264.0849, - "direction": 1 - }, - "meta": { - "updateAt": 1747033130118, - "createAt": 1747033130118 - } - }, "STHM-pzaTO72SEkIGYTCA": { "id": "STHM-pzaTO72SEkIGYTCA", "identification": false, @@ -8612,8 +7679,8 @@ "columnIds": [ "Mlq3l8ZyEkSzXldwOmRed" ], - "x": 684.6268, - "y": 1091.0409, + "x": 709.3262, + "y": 945.1988, "direction": 2 }, "meta": { @@ -8631,18 +7698,18 @@ "columnIds": [ "fsAJySlXPbGQahV59hQgo" ], - "x": 684.6268, - "y": 1203.0409, - "direction": 2 + "x": 455.3262, + "y": 1057.1988000000001, + "direction": 8 }, "end": { "tableId": "M9XC2MNIJqyKe77s6znI7", "columnIds": [ "XqPP8eaTMK9vWD9QQJkYy" ], - "x": 1179.209, - "y": 1317.8083, - "direction": 1 + "x": 460.46479999999997, + "y": 1212.971, + "direction": 4 }, "meta": { "updateAt": 1747281724119, @@ -8659,18 +7726,18 @@ "columnIds": [ "nb5CGzskl3_LIRA0yyede" ], - "x": 696.1378, - "y": 1725.9175285714286, - "direction": 2 + "x": 435.13779999999997, + "y": 1657.3461, + "direction": 4 }, "end": { "tableId": "M9XC2MNIJqyKe77s6znI7", "columnIds": [ "ZeTOeaI1N5mWuBiB0tO1F" ], - "x": 1179.209, - "y": 1429.8083, - "direction": 1 + "x": 460.46479999999997, + "y": 1436.971, + "direction": 8 }, "meta": { "updateAt": 1747282258543, @@ -8744,7 +7811,7 @@ "_AcWUYKzNJd-V0fRHq8Cx" ], "x": 1699.0947, - "y": 922.1356000000001, + "y": 1070.1356, "direction": 2 }, "end": { @@ -8752,8 +7819,8 @@ "columnIds": [ "5KRw8TtT2nLqpYfKFOBwe" ], - "x": 2427.0448, - "y": 1140.5589, + "x": 2417.4558, + "y": 842.7781, "direction": 1 }, "meta": { @@ -8856,7 +7923,7 @@ "_AcWUYKzNJd-V0fRHq8Cx" ], "x": 1699.0947, - "y": 1070.1356, + "y": 1107.1356, "direction": 2 }, "end": { @@ -8912,7 +7979,7 @@ "Jh6e_-9QYe1Tqve0PE3kT" ], "x": 2936.1254, - "y": 2753.381, + "y": 2741.381, "direction": 2 }, "end": { @@ -8996,7 +8063,7 @@ "_AcWUYKzNJd-V0fRHq8Cx" ], "x": 1699.0947, - "y": 971.4689333333334, + "y": 1094.8022666666666, "direction": 2 }, "end": { @@ -9040,6 +8107,118 @@ "updateAt": 1747297931757, "createAt": 1747297931757 } + }, + "Ze2IarmACVoT2vZUHxTJu": { + "id": "Ze2IarmACVoT2vZUHxTJu", + "identification": false, + "relationshipType": 16, + "startRelationshipType": 1, + "start": { + "tableId": "B4qGh3KZsXHQ3_4EOgwJZ", + "columnIds": [ + "F9EPb6nsDx6Tf3GG8rvP1" + ], + "x": 2446.3712, + "y": 1518.4445, + "direction": 1 + }, + "end": { + "tableId": "kc1EFvFhlBSc0B0bDgX28", + "columnIds": [ + "74hYN_2bj1ubH9fDJVRVz" + ], + "x": 695.1378, + "y": 1757.3461, + "direction": 2 + }, + "meta": { + "updateAt": 1747373947530, + "createAt": 1747373947530 + } + }, + "rvhOgmNcWHmmWI1PYPjzk": { + "id": "rvhOgmNcWHmmWI1PYPjzk", + "identification": false, + "relationshipType": 16, + "startRelationshipType": 2, + "start": { + "tableId": "RTq5rHQupiXXJPXqpN8K5", + "columnIds": [ + "zBz4vBOZSIA8vKmfqXckO" + ], + "x": 2449.8927, + "y": 1866.4513, + "direction": 1 + }, + "end": { + "tableId": "sgFc3Tg9sWiMm4hsEwKm9", + "columnIds": [ + "Ve6X-7qKKUxId0tll1Caz" + ], + "x": 1706.2953, + "y": 2076.666, + "direction": 2 + }, + "meta": { + "updateAt": 1747375452269, + "createAt": 1747375452269 + } + }, + "gy8AYT4ifY9wU-1_ttgwO": { + "id": "gy8AYT4ifY9wU-1_ttgwO", + "identification": false, + "relationshipType": 16, + "startRelationshipType": 2, + "start": { + "tableId": "kc1EFvFhlBSc0B0bDgX28", + "columnIds": [ + "nb5CGzskl3_LIRA0yyede" + ], + "x": 692.1378, + "y": 1817.3461000000002, + "direction": 2 + }, + "end": { + "tableId": "q0nHqNHYRczLFnV35V_qc", + "columnIds": [ + "gb59smF6KMFsvojjxwvuJ" + ], + "x": 1182.1226, + "y": 1785.7783, + "direction": 1 + }, + "meta": { + "updateAt": 1747379584781, + "createAt": 1747379584781 + } + }, + "OfL_b7drVbtK_qtISBxwG": { + "id": "OfL_b7drVbtK_qtISBxwG", + "identification": false, + "relationshipType": 16, + "startRelationshipType": 2, + "start": { + "tableId": "B4qGh3KZsXHQ3_4EOgwJZ", + "columnIds": [ + "F9EPb6nsDx6Tf3GG8rvP1" + ], + "x": 2446.3712, + "y": 1518.4445, + "direction": 1 + }, + "end": { + "tableId": "q0nHqNHYRczLFnV35V_qc", + "columnIds": [ + "ARlzuJPlNjSld6grPvPsA" + ], + "x": 1697.1226, + "y": 1785.7783, + "direction": 2 + }, + "meta": { + "updateAt": 1747379666902, + "createAt": 1747379666902 + } } }, "indexEntities": {}, diff --git a/app/Entities/Customer/ServicePartEntity.php b/app/Entities/Customer/ServicePartEntity.php new file mode 100644 index 0000000..80b0e18 --- /dev/null +++ b/app/Entities/Customer/ServicePartEntity.php @@ -0,0 +1,11 @@ + $extra_class, ...array_diff_key($extras, ['class' => ''])]); break; + case 'manufactur_at': + case 'billing_at': + case 'start_at': + case 'end_at': case 'updated_at': case 'created_at': $extra_class = isset($extras['class']) ? $extras['class'] . ' calender' : 'calender'; @@ -313,6 +317,10 @@ class CommonHelper } $value = implode(" , ", $roles); break; + case 'manufactur_at': + case 'billing_at': + case 'start_at': + case 'end_at': case 'updated_at': case 'created_at': $value = $value ? date("Y-m-d", strtotime($value)) : ""; diff --git a/app/Helpers/Customer/ServiceHelper.php b/app/Helpers/Customer/ServiceHelper.php index 4c4a44e..414b00c 100644 --- a/app/Helpers/Customer/ServiceHelper.php +++ b/app/Helpers/Customer/ServiceHelper.php @@ -19,11 +19,31 @@ class ServiceHelper extends CustomerHelper $extras = (strpos($viewDatas['field_rules'][$field], 'required') !== false) ? ["class" => "form-control", "required" => "", ...$extras] : ["class" => "form-control", ...$extras]; } switch ($field) { - case 'payment_date': - case 'start_at': - case 'end_at': - $extra_class = isset($extras['class']) ? $extras['class'] . ' calender' : 'calender'; - $form = form_input($field, $value ?? "", ['class' => $extra_class, ...array_diff_key($extras, ['class' => ''])]); + case 'CPU': + case 'RAM': + case 'DISK': + if (!is_array($viewDatas['field_options'][$field])) { + throw new \Exception(__METHOD__ . "에서 {$field}의 field_options가 array형태가 아닙니다."); + } + if (in_array($viewDatas['action'], ['create_form', 'modify_form'])) { + $form = " "; + $form .= "
"; + $form .= "
"; + $form .= ""; + $form .= ""; + $form .= "
"; + $form .= "
"; + } else { + $formOptions = ["" => lang($viewDatas['class_path'] . '.label.' . $field) . ' 선택']; + foreach ($viewDatas['field_options'][$field] as $key => $label) { + $formOptions[$key] = $label; + } + $form = form_dropdown($field, $formOptions, $value, $extras); + } break; default: $form = parent::getFieldForm($field, $value, $viewDatas, $extras); @@ -31,20 +51,4 @@ class ServiceHelper extends CustomerHelper } return $form; } // - public function getFieldView(string $field, array $viewDatas, array $extras = []): string - { - $value = $viewDatas['entity']->$field ?? ""; - switch ($field) { - case 'payment_date': - case 'start_at': - case 'end_at': - $value = $value ? date("Y-m-d", strtotime($value)) : ""; - break; - - default: - $value = parent::getFieldView($field, $viewDatas, $extras); - break; - } - return $value; - } } diff --git a/app/Helpers/Equipment/NetworkHelper.php b/app/Helpers/Equipment/NetworkHelper.php deleted file mode 100644 index c76ef24..0000000 --- a/app/Helpers/Equipment/NetworkHelper.php +++ /dev/null @@ -1,34 +0,0 @@ -setTitleField(field: NetworkModel::TITLE); - } - - // public function getListButton(string $action, array $viewDatas, array $extras = []): string - // { - // switch ($action) { - // case 'create': - // $extras = ["class" => "btn btn-outline btn-primary btn-circle", "target" => "_self", ...$extras]; - // $action = anchor( - // current_url() . '/' . $action . '?' . $this->request->getUri()->getQuery(), - // '입력', - // $extras - // ); - // break; - // default: - // $action = parent::getListButton($action, $viewDatas, $extras); - // break; - // } - // return $action; - // } -} diff --git a/app/Helpers/Equipment/ServerHelper.php b/app/Helpers/Equipment/ServerHelper.php index 8919ff5..c05e7b0 100644 --- a/app/Helpers/Equipment/ServerHelper.php +++ b/app/Helpers/Equipment/ServerHelper.php @@ -13,42 +13,4 @@ class ServerHelper extends EquipmentHelper parent::__construct($request); $this->setTitleField(field: ServerModel::TITLE); } - public function getFieldForm(string $field, mixed $value, array $viewDatas, array $extras = []): string - { - if (in_array($viewDatas['action'], ['create', 'modify'])) { - $extras = (strpos($viewDatas['field_rules'][$field], 'required') !== false) ? ["class" => "form-control", "required" => "", ...$extras] : ["class" => "form-control", ...$extras]; - } - switch ($field) { - case 'cpu_partinfo_uid': - case 'ram_partinfo_uid': - case 'disk_partinfo_uid': - if (!is_array($viewDatas['field_options'][$field])) { - throw new \Exception(__METHOD__ . "에서 {$field}의 field_options가 array형태가 아닙니다."); - } - if (in_array($viewDatas['action'], ['create_form', 'modify_form'])) { - $form = " "; - $form .= "
"; - $form .= "
"; - $form .= ""; - $form .= ""; - $form .= "
"; - $form .= "
"; - } else { - $formOptions = ["" => lang($viewDatas['class_path'] . '.label.' . $field) . ' 선택']; - foreach ($viewDatas['field_options'][$field] as $key => $label) { - $formOptions[$key] = $label; - } - $form = form_dropdown($field, $formOptions, $value, $extras); - } - break; - default: - $form = parent::getFieldForm($field, $value, $viewDatas, $extras); - break; - } - return $form; - } // } diff --git a/app/Language/en/Customer/Service.php b/app/Language/en/Customer/Service.php index 8e47928..a302742 100644 --- a/app/Language/en/Customer/Service.php +++ b/app/Language/en/Customer/Service.php @@ -3,15 +3,20 @@ return [ 'title' => "고객서비스정보", 'label' => [ 'clientinfo_uid' => "고객명", + 'code' => "Rack코드", 'type' => "종류", 'title' => "제목", - 'payment_date' => "결제일", - 'amount' => "결제금액", + 'billing_at' => "청구일", 'start_at' => "개통일", 'end_at' => "해지일", 'status' => "상태", 'updated_at' => "수정일", 'created_at' => "신청일", + 'SERVER' => "서버", + 'CPU' => "CPU", + 'RAM' => "RAM", + 'DISK' => "DISK", + 'IP' => "IP", ], 'DEFAULTS' => [ 'type' => "hosting", diff --git a/app/Language/en/Equipment/Line.php b/app/Language/en/Equipment/Line.php index 01112d8..06e52e8 100644 --- a/app/Language/en/Equipment/Line.php +++ b/app/Language/en/Equipment/Line.php @@ -5,9 +5,9 @@ return [ 'clientinfo_uid' => "소유자명", 'title' => "제목", 'type' => "종류", - 'price' => "금액", 'bandwith' => "CIDR대역", 'status' => "상태", + 'start_at' => "개통일", 'updated_at' => "수정일", 'created_at' => "작성일", ], diff --git a/app/Language/en/Equipment/Network.php b/app/Language/en/Equipment/Network.php deleted file mode 100644 index 23f9427..0000000 --- a/app/Language/en/Equipment/Network.php +++ /dev/null @@ -1,33 +0,0 @@ - "네트워크장비정보", - 'label' => [ - 'clientinfo_uid' => "소유자명", - 'code' => "코드", - 'type' => "종류", - 'model' => "모델", - 'price' => "금액", - 'description' => "설명", - 'status' => "상태", - 'manufactur_at' => "입고일", - 'updated_at' => "수정일", - 'created_at' => "작성일", - ], - 'DEFAULTS' => [ - 'type' => 'L2', - 'status' => "use" - ], - "TYPE" => [ - "L2" => "L2", - "L3" => "L3", - "L4" => "L4", - "Router" => "Router", - "colocation" => "코로케이션", - ], - "STATUS" => [ - "use" => "사용가능", - "pause" => "일시정지", - "occupied" => "사용중", - "terminated" => "해지", - ], -]; diff --git a/app/Language/en/Equipment/Part.php b/app/Language/en/Equipment/Part.php index 4bab518..e0c07e8 100644 --- a/app/Language/en/Equipment/Part.php +++ b/app/Language/en/Equipment/Part.php @@ -2,10 +2,8 @@ return [ 'title' => "부품장비정보", 'label' => [ - 'clientinfo_uid' => "소유자명", 'type' => "종류", 'model' => "모델", - 'price' => "금액", 'description' => "설명", 'status' => "상태", 'manufactur_at' => "입고일", diff --git a/app/Language/en/Equipment/Server.php b/app/Language/en/Equipment/Server.php index f8de666..7f3d41a 100644 --- a/app/Language/en/Equipment/Server.php +++ b/app/Language/en/Equipment/Server.php @@ -2,19 +2,14 @@ return [ 'title' => "서버장비정보", 'label' => [ - 'clientinfo_uid' => "소유자명", - 'code' => "코드", + 'code' => "장비코드", 'type' => "종류", 'model' => "모델", - 'price' => "금액", 'description' => "설명", 'status' => "상태", 'manufactur_at' => "입고일", 'updated_at' => "수정일", 'created_at' => "작성일", - 'cpu_partinfo_uid' => "CPU", - 'ram_partinfo_uid' => "RAM", - 'disk_partinfo_uid' => "DISK", ], 'DEFAULTS' => [ 'type' => 'RacKMount', diff --git a/app/Language/en/Equipment/Software.php b/app/Language/en/Equipment/Software.php index 5613571..8edf00e 100644 --- a/app/Language/en/Equipment/Software.php +++ b/app/Language/en/Equipment/Software.php @@ -4,7 +4,6 @@ return [ 'label' => [ 'type' => "종류", 'model' => "모델", - 'price' => "금액", 'description' => "설명", 'status' => "상태", 'updated_at' => "수정일", diff --git a/app/Models/Customer/ServiceModel.php b/app/Models/Customer/ServiceModel.php index 5801c53..ec1e7fc 100644 --- a/app/Models/Customer/ServiceModel.php +++ b/app/Models/Customer/ServiceModel.php @@ -14,10 +14,10 @@ class ServiceModel extends CustomerModel protected $returnType = ServiceEntity::class; protected $allowedFields = [ "clientinfo_uid", + "code", "type", "title", - "payment_date", - "amount", + "billing_at", "start_at", "end_at", "status", @@ -36,14 +36,15 @@ class ServiceModel extends CustomerModel case "clientinfo_uid": $rule = "required|numeric"; break; - case "amount": - $rule = "if_exist|numeric"; + case "code": + $rule = "required|trim|min_length[4]|max_length[20]"; + $rule .= in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->table}.{$field}]" : ""; break; case "title": case "type": $rule = "required|trim|string"; break; - case "payment_date": + case "billing_at": $rule = "required|valid_date"; break; case "start_at": diff --git a/app/Models/Equipment/NetworkModel.php b/app/Models/Customer/ServicePartModel.php similarity index 61% rename from app/Models/Equipment/NetworkModel.php rename to app/Models/Customer/ServicePartModel.php index 7d32bd2..7ddd2ea 100644 --- a/app/Models/Equipment/NetworkModel.php +++ b/app/Models/Customer/ServicePartModel.php @@ -1,26 +1,26 @@ table}.{$field}]" : ""; + break; + case "title": case "type": - case "status": $rule = "required|trim|string"; break; - case "manufactur_at": + case "billing_at": $rule = "required|valid_date"; break; - case "description": - $rule = "if_exist|trim|string"; - break; + case "start_at": + case "end_at": + $rule = "if_exist|valid_date"; default: $rule = parent::getFieldRule($action, $field); break; diff --git a/app/Models/Equipment/LineModel.php b/app/Models/Equipment/LineModel.php index 49183fc..784be9f 100644 --- a/app/Models/Equipment/LineModel.php +++ b/app/Models/Equipment/LineModel.php @@ -17,8 +17,8 @@ class LineModel extends EquipmentModel "type", "title", "bandwith", - "price", "status", + "start_at", "updated_at" ]; public function __construct() @@ -34,9 +34,6 @@ class LineModel extends EquipmentModel case "clientinfo_uid": $rule = "if_exist|permit_empty|numeric"; break; - case "price": - $rule = "required|numeric"; - break; case "title": case "bandwith": case "type": diff --git a/app/Models/Equipment/PartModel.php b/app/Models/Equipment/PartModel.php index cbf077a..ec32b2e 100644 --- a/app/Models/Equipment/PartModel.php +++ b/app/Models/Equipment/PartModel.php @@ -13,10 +13,8 @@ class PartModel extends EquipmentModel protected $primaryKey = self::PK; protected $returnType = PartEntity::class; protected $allowedFields = [ - "clientinfo_uid", "type", "model", - "price", "description", "manufactur_at", "status", @@ -32,12 +30,6 @@ class PartModel extends EquipmentModel throw new \Exception(__FUNCTION__ . "=> field가 array 입니다.\n" . var_export($field, true)); } switch ($field) { - case "clientinfo_uid": - $rule = "if_exist|permit_empty|numeric"; - break; - case "price": - $rule = "required|numeric"; - break; case "model": case "type": case "status": diff --git a/app/Models/Equipment/ServerModel.php b/app/Models/Equipment/ServerModel.php index e3e5f54..1ec40ff 100644 --- a/app/Models/Equipment/ServerModel.php +++ b/app/Models/Equipment/ServerModel.php @@ -13,14 +13,12 @@ class ServerModel extends EquipmentModel protected $primaryKey = self::PK; protected $returnType = ServerEntity::class; protected $allowedFields = [ - "clientinfo_uid", "code", "type", "model", - "manufactur_at", - "price", - "status", "description", + "manufactur_at", + "status", "updated_at" ]; public function __construct() @@ -33,13 +31,10 @@ class ServerModel extends EquipmentModel throw new \Exception(__FUNCTION__ . "=> field가 array 입니다.\n" . var_export($field, true)); } switch ($field) { - case "clientinfo_uid": - $rule = "if_exist|permit_empty|numeric"; - break; - case "price": - $rule = "required|numeric"; - break; case "code": + $rule = "required|trim|min_length[4]|max_length[20]"; + $rule .= in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->table}.{$field}]" : ""; + break; case "model": case "type": case "manufactur_at": diff --git a/app/Models/Equipment/ServerPartModel.php b/app/Models/Equipment/ServerPartModel.php deleted file mode 100644 index 643a92a..0000000 --- a/app/Models/Equipment/ServerPartModel.php +++ /dev/null @@ -1,43 +0,0 @@ - field가 array 입니다.\n" . var_export($field, true)); - } - switch ($field) { - case "serverinfo_uid": - case "partinfo_uid": - $rule = "required|numeric"; - break; - case "type": - $rule = "required|trim|string"; - break; - default: - $rule = parent::getFieldRule($action, $field); - break; - } - return $rule; - } -} diff --git a/app/Models/Equipment/SoftwareModel.php b/app/Models/Equipment/SoftwareModel.php index cdcc73f..690618c 100644 --- a/app/Models/Equipment/SoftwareModel.php +++ b/app/Models/Equipment/SoftwareModel.php @@ -13,10 +13,8 @@ class SoftwareModel extends EquipmentModel protected $primaryKey = self::PK; protected $returnType = SoftwareEntity::class; protected $allowedFields = [ - "clientinfo_uid", "type", "model", - "price", "status", "description", "updated_at" @@ -31,9 +29,6 @@ class SoftwareModel extends EquipmentModel throw new \Exception(__FUNCTION__ . "=> field가 array 입니다.\n" . var_export($field, true)); } switch ($field) { - case "price": - $rule = "required|numeric"; - break; case "model": case "type": case "status": diff --git a/app/Services/Customer/ServiceService.php b/app/Services/Customer/ServiceService.php index 4deeb5a..e44d020 100644 --- a/app/Services/Customer/ServiceService.php +++ b/app/Services/Customer/ServiceService.php @@ -29,18 +29,22 @@ class ServiceService extends CustomerService { return [ "clientinfo_uid", + "code", "type", "title", - "payment_date", - "amount", + "billing_at", "start_at", - "end_at", + "SERVER", + "CPU", + "RAM", + "DISK", + "IP", "status", ]; } public function getFilterFields(): array { - return ["clientinfo_uid", 'type', 'status']; + return ["clientinfo_uid", 'type', "SERVER", "CPU", "RAM", "DISK", "IP", 'status']; } public function getBatchJobFields(): array { diff --git a/app/Services/Equipment/IpService.php b/app/Services/Equipment/IpService.php index 9a647fe..ec0a03d 100644 --- a/app/Services/Equipment/IpService.php +++ b/app/Services/Equipment/IpService.php @@ -41,4 +41,19 @@ class IpService extends EquipmentService { return ['status']; } + public function getFormFieldOption(string $field, array $options = []): array + { + switch ($field) { + case 'IP': + foreach ($this->getEntities(['status' => 'use']) as $entity) { + $options[$entity->getPK()] = $entity->getTitle(); + } + break; + default: + $options = parent::getFormFieldOption($field, $options); + break; + } + // dd($options); + return $options; + } } diff --git a/app/Services/Equipment/LineService.php b/app/Services/Equipment/LineService.php index d5aaf44..f5a19b5 100644 --- a/app/Services/Equipment/LineService.php +++ b/app/Services/Equipment/LineService.php @@ -29,16 +29,16 @@ class LineService extends EquipmentService { return [ "clientinfo_uid", + "start_at", "type", "title", "bandwith", - "price", "status", ]; } public function getFilterFields(): array { - return ["clientinfo_uid", "type", 'status']; + return ["clientinfo_uid", "type", 'status',]; } public function getBatchJobFields(): array { diff --git a/app/Services/Equipment/NetworkService.php b/app/Services/Equipment/NetworkService.php deleted file mode 100644 index 70f2d84..0000000 --- a/app/Services/Equipment/NetworkService.php +++ /dev/null @@ -1,49 +0,0 @@ -getEntities(['type' => 'CPU']) as $entity) { - $options[$entity->getPK()] = $entity->getTitle(); - } - break; - case 'ram_partinfo_uid': - foreach ($this->getEntities(['type' => 'RAM']) as $entity) { - $options[$entity->getPK()] = $entity->getTitle(); - } - break; - case 'disk_partinfo_uid': - foreach ($this->getEntities(['type' => 'DISK']) as $entity) { + case 'CPU': + case 'RAM': + case 'DISK': + foreach ($this->getEntities(['type' => $field]) as $entity) { $options[$entity->getPK()] = $entity->getTitle(); } break; diff --git a/app/Services/Equipment/ServerPartService.php b/app/Services/Equipment/ServerPartService.php deleted file mode 100644 index 23d6796..0000000 --- a/app/Services/Equipment/ServerPartService.php +++ /dev/null @@ -1,44 +0,0 @@ -getEntities() as $entity) { + $options[$entity->getPK()] = $entity->getTitle(); + } + break; + default: + $options = parent::getFormFieldOption($field, $options); + break; + } + // dd($options); + return $options; } } diff --git a/app/Services/Equipment/SoftwareService.php b/app/Services/Equipment/SoftwareService.php index aee0817..0ff6995 100644 --- a/app/Services/Equipment/SoftwareService.php +++ b/app/Services/Equipment/SoftwareService.php @@ -30,7 +30,6 @@ class SoftwareService extends EquipmentService return [ "type", "model", - "price", "status", "description", ]; diff --git a/app/Views/admin/equipment/server/create_form.php b/app/Views/admin/customer/service/create_form.php similarity index 100% rename from app/Views/admin/equipment/server/create_form.php rename to app/Views/admin/customer/service/create_form.php diff --git a/app/Views/admin/equipment/server/index.php b/app/Views/admin/customer/service/index.php similarity index 100% rename from app/Views/admin/equipment/server/index.php rename to app/Views/admin/customer/service/index.php diff --git a/app/Views/admin/equipment/server/modify_form.php b/app/Views/admin/customer/service/modify_form.php similarity index 100% rename from app/Views/admin/equipment/server/modify_form.php rename to app/Views/admin/customer/service/modify_form.php diff --git a/app/Views/admin/equipment/server/view.php b/app/Views/admin/customer/service/view.php similarity index 100% rename from app/Views/admin/equipment/server/view.php rename to app/Views/admin/customer/service/view.php diff --git a/app/Views/admin/equipment/server/welcome_message.php b/app/Views/admin/customer/service/welcome_message.php similarity index 100% rename from app/Views/admin/equipment/server/welcome_message.php rename to app/Views/admin/customer/service/welcome_message.php diff --git a/app/Views/layouts/admin/left_menu/equipment.php b/app/Views/layouts/admin/left_menu/equipment.php index 8fdc0ca..045707e 100644 --- a/app/Views/layouts/admin/left_menu/equipment.php +++ b/app/Views/layouts/admin/left_menu/equipment.php @@ -11,9 +11,6 @@
IP정보
-
- Network정보 -
Server정보