From 88980a98abee1c0b554dcef3fbf217a15c4268f2 Mon Sep 17 00:00:00 2001 From: "choi.jh" Date: Fri, 5 Sep 2025 10:57:06 +0900 Subject: [PATCH] dbmsv2_init...1 --- .../Admin/Equipment/ServerController.php | 12 --- app/Database/dbmsv2_test1.sql | 2 +- app/Helpers/Customer/ServiceHelper.php | 33 ++++++++ app/Helpers/Equipment/ServerHelper.php | 20 ++--- app/Helpers/Equipment/ServerPartHelper.php | 81 ++++++++++--------- app/Services/Customer/ServiceService.php | 22 ++--- app/Services/Equipment/ServerService.php | 14 ++-- app/Views/admin/server/index.php | 4 +- app/Views/admin/service/index.php | 12 +-- 9 files changed, 112 insertions(+), 88 deletions(-) diff --git a/app/Controllers/Admin/Equipment/ServerController.php b/app/Controllers/Admin/Equipment/ServerController.php index b004bab..0acd11e 100644 --- a/app/Controllers/Admin/Equipment/ServerController.php +++ b/app/Controllers/Admin/Equipment/ServerController.php @@ -4,8 +4,6 @@ namespace App\Controllers\Admin\Equipment; use App\Entities\Equipment\ServerEntity; use App\Helpers\Equipment\ServerHelper; - -use App\Helpers\Equipment\ServerPartHelper; use App\Services\Equipment\ServerService; use CodeIgniter\HTTP\RedirectResponse; use CodeIgniter\HTTP\RequestInterface; @@ -108,14 +106,4 @@ class ServerController extends EquipmentController $this->getService()->codeCheck($formDatas); return parent::modify_process($entity, $formDatas); } - protected function view_process(mixed $entity): ServerEntity - { - $this->serverPartHelper = new ServerPartHelper(); - return parent::view_process($entity); - } - protected function index_process(array $entities = []): array - { - $this->serverPartHelper = new ServerPartHelper(); - return parent::index_process($entities); - } } diff --git a/app/Database/dbmsv2_test1.sql b/app/Database/dbmsv2_test1.sql index e557fe9..a1a590f 100644 --- a/app/Database/dbmsv2_test1.sql +++ b/app/Database/dbmsv2_test1.sql @@ -590,4 +590,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2025-09-05 9:49:49 +-- Dump completed on 2025-09-05 10:17:16 diff --git a/app/Helpers/Customer/ServiceHelper.php b/app/Helpers/Customer/ServiceHelper.php index 20d9fe2..e23e96a 100644 --- a/app/Helpers/Customer/ServiceHelper.php +++ b/app/Helpers/Customer/ServiceHelper.php @@ -2,14 +2,21 @@ namespace App\Helpers\Customer; +use App\Helpers\Equipment\ServerPartHelper; use App\Models\Customer\ServiceModel; class ServiceHelper extends CustomerHelper { + private ?ServerPartHelper $_serverPartHelper = null; public function __construct() { parent::__construct(); $this->setTitleField(field: ServiceModel::TITLE); + $this->_serverPartHelper = new ServerPartHelper(); + } + private function getServerPartHelper(): ServerPartHelper + { + return $this->_serverPartHelper; } public function getFieldForm(string $field, mixed $value, array $viewDatas, array $extras = []): string { @@ -51,6 +58,19 @@ class ServiceHelper extends CustomerHelper } } break; + case 'SWITCH': + case 'IP': + case 'CS': + case 'CPU': + case 'RAM': + case 'DISK': + case 'OS': + case 'DB': + case 'SOFTWARE': + $serverEntity = $viewDatas['entity']->getServerEntity(); + $viewDatas['serverPartEntities'] = $serverEntity->getServerPartEntities($field); + $value = $this->getServerPartHelper()->getFieldView($field, $value, $viewDatas, $extras); + break; default: $value = parent::getFieldView($field, $value, $viewDatas, $extras); break; @@ -81,6 +101,19 @@ class ServiceHelper extends CustomerHelper ] ); break; + case 'SWITCH': + case 'IP': + case 'CS': + case 'CPU': + case 'RAM': + case 'DISK': + case 'OS': + case 'DB': + case 'SOFTWARE': + $serverEntity = $viewDatas['entity']->getServerEntity(); + $viewDatas['serverPartEntities'] = $serverEntity->getServerPartEntities($action); + $action = $this->getServerPartHelper()->getListButton($action, $label, $viewDatas, $extras); + break; default: $action = parent::getListButton($action, $label, $viewDatas, $extras); break; diff --git a/app/Helpers/Equipment/ServerHelper.php b/app/Helpers/Equipment/ServerHelper.php index db1e5d9..b421bf8 100644 --- a/app/Helpers/Equipment/ServerHelper.php +++ b/app/Helpers/Equipment/ServerHelper.php @@ -51,15 +51,11 @@ class ServerHelper extends EquipmentHelper case 'format_at': $value = $value ? date("Y-m-d", strtotime($value)) : ""; break; - case 'ipinfo_uid': - foreach ($viewDatas['entity']->getIPEntities() as $ipEntity) { - $value .= sprintf("
%s%s %s
", $ipEntity->getTitle(), $ipEntity->getAmount()); - } - break; - case 'csinfo_uid': - foreach ($viewDatas['entity']->getCSEntities() as $csEntity) { - $value .= sprintf("
%s%s %s
", $csEntity->getTitle(), $csEntity->getAmount()); - } + case 'CPU': + case 'RAM': + case 'DISK': + $viewDatas['serverPartEntities'] = $viewDatas['entity']->getServerPartEntities($field); + $value = $this->getServerPartHelper()->getFieldView($field, $value, $viewDatas, $extras); break; default: $value = parent::getFieldView($field, $value, $viewDatas, $extras); @@ -90,6 +86,12 @@ class ServerHelper extends EquipmentHelper ] ); break; + case 'CPU': + case 'RAM': + case 'DISK': + $viewDatas['serverPartEntities'] = $viewDatas['entity']->getServerPartEntities($action); + $action = $this->getServerPartHelper()->getListButton($action, $label, $viewDatas, $extras); + break; default: $action = parent::getListButton($action, $label, $viewDatas, $extras); break; diff --git a/app/Helpers/Equipment/ServerPartHelper.php b/app/Helpers/Equipment/ServerPartHelper.php index af8d57b..45cfe57 100644 --- a/app/Helpers/Equipment/ServerPartHelper.php +++ b/app/Helpers/Equipment/ServerPartHelper.php @@ -31,38 +31,42 @@ class ServerPartHelper extends EquipmentHelper public function getFieldForm(string $field, mixed $value, array $viewDatas, array $extras = []): string { switch ($field) { + // case 'SWITCH': + // if (array_key_exists('entity', $viewDatas)) { + // $value = $viewDatas['entity']->getSwitchEntity() !== null ? $viewDatas['entity']->getSwitchEntity()->getPK() : $value; + // } + // $extras['class'] = array_key_exists('class', $extras) ? $extras['class'] . ' select-field' : 'select-field'; + // $form = $this->form_dropdown_custom($field, $value, $viewDatas, $extras); + // break; + // case 'IP': + // $extras['class'] = array_key_exists('class', $extras) ? $extras['class'] . ' select-field' : 'select-field'; + // $form = ""; + // if (array_key_exists('entity', $viewDatas)) { + // foreach ($viewDatas['entity']->getIPEntities() as $ipEntity) { + // $form .= "
" . $this->form_dropdown_custom($field, $ipEntity->getPK(), $viewDatas, $extras) . "
"; + // } + // } + // $form .= $this->form_dropdown_custom($field, $value, $viewDatas, $extras); + // break; + // case 'CS': + // $extras['class'] = array_key_exists('class', $extras) ? $extras['class'] . ' select-field' : 'select-field'; + // $form = ""; + // if (array_key_exists('entity', $viewDatas)) { + // foreach ($viewDatas['entity']->getCSEntities() as $csEntity) { + // $form .= "
" . $this->form_dropdown_custom($field, $csEntity->getPK(), $viewDatas, $extras) . "
"; + // } + // } + // $form .= $this->form_dropdown_custom($field, $value, $viewDatas, $extras); + // break; case 'SWITCH': - if (array_key_exists('entity', $viewDatas)) { - $value = $viewDatas['entity']->getSwitchEntity() !== null ? $viewDatas['entity']->getSwitchEntity()->getPK() : $value; - } - $extras['class'] = array_key_exists('class', $extras) ? $extras['class'] . ' select-field' : 'select-field'; - $form = $this->form_dropdown_custom($field, $value, $viewDatas, $extras); - break; case 'IP': - $extras['class'] = array_key_exists('class', $extras) ? $extras['class'] . ' select-field' : 'select-field'; - $form = ""; - if (array_key_exists('entity', $viewDatas)) { - foreach ($viewDatas['entity']->getIPEntities() as $ipEntity) { - $form .= "
" . $this->form_dropdown_custom($field, $ipEntity->getPK(), $viewDatas, $extras) . "
"; - } - } - $form .= $this->form_dropdown_custom($field, $value, $viewDatas, $extras); - break; case 'CS': - $extras['class'] = array_key_exists('class', $extras) ? $extras['class'] . ' select-field' : 'select-field'; - $form = ""; - if (array_key_exists('entity', $viewDatas)) { - foreach ($viewDatas['entity']->getCSEntities() as $csEntity) { - $form .= "
" . $this->form_dropdown_custom($field, $csEntity->getPK(), $viewDatas, $extras) . "
"; - } - } - $form .= $this->form_dropdown_custom($field, $value, $viewDatas, $extras); - break; case 'CPU': case 'RAM': case 'DISK': case 'DB': case 'OS': + case 'SOFTWARE': $form = $this->getServerPartForm($field, $value, $viewDatas, $extras, $field); break; case 'CPU_cnt': @@ -70,6 +74,7 @@ class ServerPartHelper extends EquipmentHelper case 'DISK_cnt': case 'DB_cnt': case 'OS_cnt': + case 'SOFTWARE_cnt': $form = "*" . form_dropdown($field, SERVERPART['CNT_RANGE'], $value, $extras) . "개"; break; case 'DISK_extra': @@ -100,7 +105,7 @@ class ServerPartHelper extends EquipmentHelper case 'DB': case 'SOFTWARE': $temps = []; - foreach ($viewDatas['entity']->getServerPartEntities($field) as $partEntity) { + foreach ($viewDatas['serverPartEntities'] as $partEntity) { $modal = form_label( ICONS['SETUP'], $field, @@ -144,17 +149,21 @@ class ServerPartHelper extends EquipmentHelper case 'OS': case 'DB': case 'SOFTWARE': - $extras = ["class" => "btn btn-sm btn-outline btn-circle", "target" => "_self", ...$extras]; - $action = form_label( - $label ? $label : ICONS['SETUP'], - $action, - [ - "data-src" => "/admin/equipment/serverpart?serverinfo_uid={$viewDatas['entity']->getPK()}&type={$action}&ActionTemplate=popup", - "data-bs-toggle" => "modal", - "data-bs-target" => "#index_action_form", - ...$extras - ] - ); + $temps = []; + foreach ($viewDatas['serverPartEntities'] as $partEntity) { + $extras = ["class" => "btn btn-sm btn-outline btn-circle", "target" => "_self", ...$extras]; + $temps[] = form_label( + $label ? $label : ICONS['SETUP'], + $action, + [ + "data-src" => "/admin/equipment/serverpart?serverinfo_uid={$partEntity->getServerInfoUID()}&type={$partEntity->getType()}&ActionTemplate=popup", + "data-bs-toggle" => "modal", + "data-bs-target" => "#index_action_form", + ...$extras, + ] + ); + } + $action = implode("
", $temps); break; default: $action = parent::getListButton($action, $label, $viewDatas, $extras); diff --git a/app/Services/Customer/ServiceService.php b/app/Services/Customer/ServiceService.php index 971bad8..8bb54b0 100644 --- a/app/Services/Customer/ServiceService.php +++ b/app/Services/Customer/ServiceService.php @@ -191,17 +191,7 @@ class ServiceService extends CustomerService return $this->getModel()->query($sql, [$billing_at, $status]); } - //다른장치 설정용 - private function disableService(ServiceEntity $entity): ServiceEntity - { - //기존 Server정보와 다른경우 사용가능상태로 변경 - $serverEntity = $entity->getServerEntity(); - if ($serverEntity !== null) { - $serverEntity = $this->getServerService()->disableService($entity, $serverEntity); - $entity->setServerEntity(null); - } - return $entity; - } + //서버설정용 private function enableService(ServiceEntity $entity, array $formDatas): ServiceEntity { //서버경우 서비스중으로 설정 @@ -213,6 +203,16 @@ class ServiceService extends CustomerService $entity->setServerEntity($serverEntity); return $entity; } + private function disableService(ServiceEntity $entity): ServiceEntity + { + //기존 Server정보와 다른경우 사용가능상태로 변경 + $serverEntity = $entity->getServerEntity(); + if ($serverEntity !== null) { + $serverEntity = $this->getServerService()->disableService($entity, $serverEntity); + $entity->setServerEntity(null); + } + return $entity; + } //생성 public function create(array $formDatas): ServiceEntity { diff --git a/app/Services/Equipment/ServerService.php b/app/Services/Equipment/ServerService.php index a7b75c1..0d22fc0 100644 --- a/app/Services/Equipment/ServerService.php +++ b/app/Services/Equipment/ServerService.php @@ -166,11 +166,12 @@ class ServerService extends EquipmentService $formDatas['status'] = STATUS['OCCUPIED'];; $entity = parent::modify($entity, $formDatas); //ServerPart경우 서비스번호 설정 - $serverPartEntities = []; foreach ($this->getServerPartService()->getEntities(['serverinfo_uid' => $entity->getPK()]) as $serverPartEntity) { - $serverPartEntities[] = $this->getServerPartService()->enableService($entity, $serverPartEntity, $formDatas); + $entity->addServerPartEntity( + $serverPartEntity->getType(), + $this->getServerPartService()->enableService($entity, $serverPartEntity, $formDatas) + ); } - $entity->setServerPartEntities($serverPartEntities); return $entity; } public function disableService(ServiceEntity $serviceEntity, ServerEntity $entity): ServerEntity @@ -182,11 +183,12 @@ class ServerService extends EquipmentService $formDatas['status'] = STATUS['AVAILABLE']; $entity = parent::modify($entity, $formDatas); //ServerPart경우 서비스번호 해지 - $serverPartEntities = []; foreach ($this->getServerPartService()->getEntities(['serverinfo_uid' => $entity->getPK()]) as $serverPartEntity) { - $serverPartEntities[] = $this->getServerPartService()->disableService($serverPartEntity); + $entity->addServerPartEntity( + $serverPartEntity->getType(), + $this->getServerPartService()->disableService($serverPartEntity) + ); } - $entity->setServerPartEntities($serverPartEntities); return $entity; } } diff --git a/app/Views/admin/server/index.php b/app/Views/admin/server/index.php index 4efc175..6620db5 100644 --- a/app/Views/admin/server/index.php +++ b/app/Views/admin/server/index.php @@ -72,8 +72,8 @@ - - + +
getListButton($partType, $partType, $viewDatas) ?>getFieldView($partType, "", $viewDatas) ?>getListButton($partType, $partType, $viewDatas) ?>getFieldView($partType, "", $viewDatas) ?>
diff --git a/app/Views/admin/service/index.php b/app/Views/admin/service/index.php index cc4e23b..d4f8eb6 100644 --- a/app/Views/admin/service/index.php +++ b/app/Views/admin/service/index.php @@ -81,19 +81,9 @@ getFieldView($partType, "", $viewDatas) ?> - - IP - getFieldView("ipinfo_uid", "", $viewDatas) ?> - - - CS - getFieldView("csinfo_uid", "", $viewDatas) ?> - - -
getFieldView('user_uid', $entity->user_uid, $viewDatas) ?>
- + getFieldView('user_uid', $entity->user_uid, $viewDatas) ?> getListButton('view', '', $viewDatas) ?>  getListButton('history', '', $viewDatas) ?>