dbmsv2_init...1

This commit is contained in:
choi.jh 2025-09-05 10:57:06 +09:00
parent fc3746eb2d
commit 88980a98ab
9 changed files with 112 additions and 88 deletions

View File

@ -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);
}
}

View File

@ -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

View File

@ -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;

View File

@ -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("<div>%s%s %s</div>", $ipEntity->getTitle(), $ipEntity->getAmount());
}
break;
case 'csinfo_uid':
foreach ($viewDatas['entity']->getCSEntities() as $csEntity) {
$value .= sprintf("<div>%s%s %s</div>", $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;

View File

@ -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 .= "<div>" . $this->form_dropdown_custom($field, $ipEntity->getPK(), $viewDatas, $extras) . "</div>";
// }
// }
// $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 .= "<div>" . $this->form_dropdown_custom($field, $csEntity->getPK(), $viewDatas, $extras) . "</div>";
// }
// }
// $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 .= "<div>" . $this->form_dropdown_custom($field, $ipEntity->getPK(), $viewDatas, $extras) . "</div>";
}
}
$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 .= "<div>" . $this->form_dropdown_custom($field, $csEntity->getPK(), $viewDatas, $extras) . "</div>";
}
}
$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("<BR>", $temps);
break;
default:
$action = parent::getListButton($action, $label, $viewDatas, $extras);

View File

@ -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
{

View File

@ -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;
}
}

View File

@ -72,8 +72,8 @@
<table class="table table-bordered table-striped m-0 p-0">
<?php foreach (SERVERPART['SERVER_PARTTTYPES'] as $partType): ?>
<tr class="m-0 p-0">
<th class="text-end m-0 p-0"><?= $viewDatas['serverPartHelper']->getListButton($partType, $partType, $viewDatas) ?></th>
<td class="text-start m-0 p-0"><?= $viewDatas['serverPartHelper']->getFieldView($partType, "", $viewDatas) ?></td>
<th class="text-end m-0 p-0"><?= $viewDatas['helper']->getListButton($partType, $partType, $viewDatas) ?></th>
<td class="text-start m-0 p-0"><?= $viewDatas['helper']->getFieldView($partType, "", $viewDatas) ?></td>
</tr>
<?php endforeach ?>
</table>

View File

@ -81,19 +81,9 @@
<td class="m-0 p-0"><?= $viewDatas['helper']->getFieldView($partType, "", $viewDatas) ?></td>
</tr>
<?php endforeach ?>
<tr class="m-0 p-0">
<th class="m-0 p-0">IP</th>
<td class="m-0 p-0"><?= $viewDatas['helper']->getFieldView("ipinfo_uid", "", $viewDatas) ?></td>
</tr>
<tr class="m-0 p-0">
<th class="m-0 p-0">CS</th>
<td class="m-0 p-0"><?= $viewDatas['helper']->getFieldView("csinfo_uid", "", $viewDatas) ?></td>
</tr>
</table>
</td>
<td nowrap>
<div><?= $viewDatas['helper']->getFieldView('user_uid', $entity->user_uid, $viewDatas) ?></div>
</td>
<td nowrap><?= $viewDatas['helper']->getFieldView('user_uid', $entity->user_uid, $viewDatas) ?></td>
<td nowrap>
<?= $viewDatas['helper']->getListButton('view', '', $viewDatas) ?>&nbsp;
<?= $viewDatas['helper']->getListButton('history', '', $viewDatas) ?>&nbsp;