dbmsv2 init...1

This commit is contained in:
최준흠 2025-09-02 22:08:24 +09:00
parent bc60c1c08a
commit 289b814fcd
12 changed files with 168 additions and 103 deletions

View File

@ -50,6 +50,10 @@ class ServiceHelper extends CustomerHelper
$extras['class'] = array_key_exists('class', $extras) ? $extras['class'] . ' select-field' : 'select-field'; $extras['class'] = array_key_exists('class', $extras) ? $extras['class'] . ' select-field' : 'select-field';
$form = $this->form_dropdown_custom($field, array_key_exists('entity', $viewDatas) ? $viewDatas['entity']->getServerEntity()->getPK() : $value, $viewDatas, $extras); $form = $this->form_dropdown_custom($field, array_key_exists('entity', $viewDatas) ? $viewDatas['entity']->getServerEntity()->getPK() : $value, $viewDatas, $extras);
break; break;
case 'switchinfo_uid':
$extras['class'] = array_key_exists('class', $extras) ? $extras['class'] . ' select-field' : 'select-field';
$form = $this->form_dropdown_custom($field, array_key_exists('entity', $viewDatas) ? $viewDatas['entity']->getSwitchEntity()->getPK() : $value, $viewDatas, $extras);
break;
default: default:
$form = parent::getFieldForm($field, $value, $viewDatas, $extras); $form = parent::getFieldForm($field, $value, $viewDatas, $extras);
break; break;

View File

@ -19,9 +19,9 @@ class ServerHelper extends EquipmentHelper
$serverpartEntity = $viewDatas['entity']->getServerPartEntity($partType); $serverpartEntity = $viewDatas['entity']->getServerPartEntity($partType);
} }
$form = ""; $form = "";
//수정시 Type별 사용할 hidden serverinfopartinfo_uid //수정시 Type별 사용할 hidden partinfo_uid
if ($serverpartEntity !== null) { if ($serverpartEntity !== null) {
$form .= form_hidden("serverinfopartinfo_uid_{$partType}", $serverpartEntity->getPK()); $form .= form_hidden("partinfo_uid_{$partType}", $serverpartEntity->getPK());
} }
//기존 입력화면에서 return 된것인지? //기존 입력화면에서 return 된것인지?
if ($value === null && $serverpartEntity !== null) { if ($value === null && $serverpartEntity !== null) {
@ -45,40 +45,40 @@ class ServerHelper extends EquipmentHelper
case 'partinfo_uid_CPU': case 'partinfo_uid_CPU':
$form = $this->getServerPartForm($field, $value, $viewDatas, $extras, 'CPU'); $form = $this->getServerPartForm($field, $value, $viewDatas, $extras, 'CPU');
break; break;
case 'serverinfopartinfo_uid_CPU_cnt': case 'partinfo_uid_CPU_cnt':
$form = form_dropdown($field, $viewDatas['serverinfopartinfo_cnt_options'], $value, $extras) . ""; $form = form_dropdown($field, $viewDatas['serverinfopartinfo_cnt_options'], $value, $extras) . "";
break; break;
case 'partinfo_uid_RAM': case 'partinfo_uid_RAM':
$form = $this->getServerPartForm($field, $value, $viewDatas, $extras, 'RAM',); $form = $this->getServerPartForm($field, $value, $viewDatas, $extras, 'RAM',);
break; break;
case 'serverinfopartinfo_uid_RAM_cnt': case 'partinfo_uid_RAM_cnt':
$form = form_dropdown($field, $viewDatas['serverinfopartinfo_cnt_options'], $value, $extras) . ""; $form = form_dropdown($field, $viewDatas['serverinfopartinfo_cnt_options'], $value, $extras) . "";
break; break;
case 'partinfo_uid_DISK': case 'partinfo_uid_DISK':
$form = $this->getServerPartForm($field, $value, $viewDatas, $extras, 'DISK'); $form = $this->getServerPartForm($field, $value, $viewDatas, $extras, 'DISK');
break; break;
case 'serverinfopartinfo_uid_DISK_cnt': case 'partinfo_uid_DISK_cnt':
$form = form_dropdown($field, $viewDatas['serverinfopartinfo_cnt_options'], $value, $extras) . ""; $form = form_dropdown($field, $viewDatas['serverinfopartinfo_cnt_options'], $value, $extras) . "";
break; break;
case 'serverinfopartinfo_uid_DISK_extra': case 'partinfo_uid_DISK_extra':
$form = $this->form_dropdown_custom($field, $value, $viewDatas, $extras); $form = $this->form_dropdown_custom($field, $value, $viewDatas, $extras);
break; break;
case 'partinfo_uid_OS': case 'partinfo_uid_OS':
$form = $this->getServerPartForm($field, $value, $viewDatas, $extras, 'OS'); $form = $this->getServerPartForm($field, $value, $viewDatas, $extras, 'OS');
break; break;
case 'serverinfopartinfo_uid_OS_cnt': case 'partinfo_uid_OS_cnt':
$form = form_dropdown($field, $viewDatas['serverinfopartinfo_cnt_options'], $value, $extras) . ""; $form = form_dropdown($field, $viewDatas['serverinfopartinfo_cnt_options'], $value, $extras) . "";
break; break;
case 'partinfo_uid_DB': case 'partinfo_uid_DB':
$form = $this->getServerPartForm($field, $value, $viewDatas, $extras, 'DB'); $form = $this->getServerPartForm($field, $value, $viewDatas, $extras, 'DB');
break; break;
case 'serverinfopartinfo_uid_DB_cnt': case 'partinfo_uid_DB_cnt':
$form = form_dropdown($field, $viewDatas['serverinfopartinfo_cnt_options'], $value, $extras) . ""; $form = form_dropdown($field, $viewDatas['serverinfopartinfo_cnt_options'], $value, $extras) . "";
break; break;
case 'partinfo_uid_SOFTWARE': case 'partinfo_uid_SOFTWARE':
$form = $this->getServerPartForm($field, $value, $viewDatas, $extras, 'SOFTWARE'); $form = $this->getServerPartForm($field, $value, $viewDatas, $extras, 'SOFTWARE');
break; break;
case 'serverinfopartinfo_uid_SOFTWARE_cnt': case 'partinfo_uid_SOFTWARE_cnt':
$form = form_dropdown($field, $viewDatas['serverinfopartinfo_cnt_options'], $value, $extras) . ""; $form = form_dropdown($field, $viewDatas['serverinfopartinfo_cnt_options'], $value, $extras) . "";
break; break;
case 'ipinfo_uid': case 'ipinfo_uid':

View File

@ -19,9 +19,9 @@ class ServerPartHelper extends EquipmentHelper
$serverpartEntity = $viewDatas['entity']->getServerPartEntity($partType); $serverpartEntity = $viewDatas['entity']->getServerPartEntity($partType);
} }
$form = ""; $form = "";
//수정시 Type별 사용할 hidden serverinfopartinfo_uid //수정시 Type별 사용할 hidden partinfo_uid
if ($serverpartEntity !== null) { if ($serverpartEntity !== null) {
$form .= form_hidden("serverinfopartinfo_uid_{$partType}", $serverpartEntity->getPK()); $form .= form_hidden("partinfo_uid_{$partType}", $serverpartEntity->getPK());
} }
//기존 입력화면에서 return 된것인지? //기존 입력화면에서 return 된것인지?
if ($value === null && $serverpartEntity !== null) { if ($value === null && $serverpartEntity !== null) {
@ -45,40 +45,40 @@ class ServerPartHelper extends EquipmentHelper
case 'partinfo_uid_CPU': case 'partinfo_uid_CPU':
$form = $this->getServerPartForm($field, $value, $viewDatas, $extras, 'CPU'); $form = $this->getServerPartForm($field, $value, $viewDatas, $extras, 'CPU');
break; break;
case 'serverinfopartinfo_uid_CPU_cnt': case 'partinfo_uid_CPU_cnt':
$form = form_dropdown($field, $viewDatas['serverinfopartinfo_cnt_options'], $value, $extras) . ""; $form = form_dropdown($field, $viewDatas['serverinfopartinfo_cnt_options'], $value, $extras) . "";
break; break;
case 'partinfo_uid_RAM': case 'partinfo_uid_RAM':
$form = $this->getServerPartForm($field, $value, $viewDatas, $extras, 'RAM',); $form = $this->getServerPartForm($field, $value, $viewDatas, $extras, 'RAM',);
break; break;
case 'serverinfopartinfo_uid_RAM_cnt': case 'partinfo_uid_RAM_cnt':
$form = form_dropdown($field, $viewDatas['serverinfopartinfo_cnt_options'], $value, $extras) . ""; $form = form_dropdown($field, $viewDatas['serverinfopartinfo_cnt_options'], $value, $extras) . "";
break; break;
case 'partinfo_uid_DISK': case 'partinfo_uid_DISK':
$form = $this->getServerPartForm($field, $value, $viewDatas, $extras, 'DISK'); $form = $this->getServerPartForm($field, $value, $viewDatas, $extras, 'DISK');
break; break;
case 'serverinfopartinfo_uid_DISK_cnt': case 'partinfo_uid_DISK_cnt':
$form = form_dropdown($field, $viewDatas['serverinfopartinfo_cnt_options'], $value, $extras) . ""; $form = form_dropdown($field, $viewDatas['serverinfopartinfo_cnt_options'], $value, $extras) . "";
break; break;
case 'serverinfopartinfo_uid_DISK_extra': case 'partinfo_uid_DISK_extra':
$form = $this->form_dropdown_custom($field, $value, $viewDatas, $extras); $form = $this->form_dropdown_custom($field, $value, $viewDatas, $extras);
break; break;
case 'partinfo_uid_OS': case 'partinfo_uid_OS':
$form = $this->getServerPartForm($field, $value, $viewDatas, $extras, 'OS'); $form = $this->getServerPartForm($field, $value, $viewDatas, $extras, 'OS');
break; break;
case 'serverinfopartinfo_uid_OS_cnt': case 'partinfo_uid_OS_cnt':
$form = form_dropdown($field, $viewDatas['serverinfopartinfo_cnt_options'], $value, $extras) . ""; $form = form_dropdown($field, $viewDatas['serverinfopartinfo_cnt_options'], $value, $extras) . "";
break; break;
case 'partinfo_uid_DB': case 'partinfo_uid_DB':
$form = $this->getServerPartForm($field, $value, $viewDatas, $extras, 'DB'); $form = $this->getServerPartForm($field, $value, $viewDatas, $extras, 'DB');
break; break;
case 'serverinfopartinfo_uid_DB_cnt': case 'partinfo_uid_DB_cnt':
$form = form_dropdown($field, $viewDatas['serverinfopartinfo_cnt_options'], $value, $extras) . ""; $form = form_dropdown($field, $viewDatas['serverinfopartinfo_cnt_options'], $value, $extras) . "";
break; break;
case 'partinfo_uid_SOFTWARE': case 'partinfo_uid_SOFTWARE':
$form = $this->getServerPartForm($field, $value, $viewDatas, $extras, 'SOFTWARE'); $form = $this->getServerPartForm($field, $value, $viewDatas, $extras, 'SOFTWARE');
break; break;
case 'serverinfopartinfo_uid_SOFTWARE_cnt': case 'partinfo_uid_SOFTWARE_cnt':
$form = form_dropdown($field, $viewDatas['serverinfopartinfo_cnt_options'], $value, $extras) . ""; $form = form_dropdown($field, $viewDatas['serverinfopartinfo_cnt_options'], $value, $extras) . "";
break; break;
case 'ipinfo_uid': case 'ipinfo_uid':

View File

@ -19,18 +19,18 @@ return [
"ipinfo_uid" => "IP정보", "ipinfo_uid" => "IP정보",
"csinfo_uid" => "CS정보", "csinfo_uid" => "CS정보",
'partinfo_uid_CPU' => "CPU", 'partinfo_uid_CPU' => "CPU",
'serverinfopartinfo_uid_CPU_cnt' => "CPU갯수", 'partinfo_uid_CPU_cnt' => "CPU갯수",
'partinfo_uid_RAM' => "RAM", 'partinfo_uid_RAM' => "RAM",
'serverinfopartinfo_uid_RAM_cnt' => "RAM갯수", 'partinfo_uid_RAM_cnt' => "RAM갯수",
'partinfo_uid_DISK' => "DISK", 'partinfo_uid_DISK' => "DISK",
'serverinfopartinfo_uid_DISK_cnt' => "DISK갯수", 'partinfo_uid_DISK_cnt' => "DISK갯수",
'serverinfopartinfo_uid_DISK_extra' => "RAID설정", 'partinfo_uid_DISK_extra' => "RAID설정",
'partinfo_uid_OS' => "OS", 'partinfo_uid_OS' => "OS",
'serverinfopartinfo_uid_OS_cnt' => "OS갯수", 'partinfo_uid_OS_cnt' => "OS갯수",
'partinfo_uid_DB' => "DB", 'partinfo_uid_DB' => "DB",
'serverinfopartinfo_uid_DB_cnt' => "DB갯수", 'partinfo_uid_DB_cnt' => "DB갯수",
'partinfo_uid_SOFTWARE' => "기타SW", 'partinfo_uid_SOFTWARE' => "기타SW",
'serverinfopartinfo_uid_SOFTWARE_cnt' => "SOFTWARE갯수", 'partinfo_uid_SOFTWARE_cnt' => "SOFTWARE갯수",
], ],
"TITLE" => [ "TITLE" => [
'HP DL360 Gen6' => "HP DL360 Gen6", 'HP DL360 Gen6' => "HP DL360 Gen6",
@ -50,7 +50,7 @@ return [
'occupied' => "서비스중", 'occupied' => "서비스중",
'forbidden' => "사용불가", 'forbidden' => "사용불가",
], ],
"SERVERINFOPARTINFO_UID_DISK_EXTRA" => [ "PARTINFO_UID_DISK_EXTRA" => [
'RAID0' => "RAID0", 'RAID0' => "RAID0",
'RAID1' => "RAID1", 'RAID1' => "RAID1",
'RAID5' => "RAID5", 'RAID5' => "RAID5",

View File

@ -98,9 +98,13 @@ class ServiceService extends CustomerService
{ {
//서버정보 정의 //서버정보 정의
$serverEntityy = $this->getServerService()->getEntity(['serviceinfo_uid' => $entity->getPK()]); $serverEntityy = $this->getServerService()->getEntity(['serviceinfo_uid' => $entity->getPK()]);
if ($serverEntityy) { if ($serverEntityy !== null) {
$entity->setServerEntity($serverEntityy); $entity->setServerEntity($serverEntityy);
} }
$switchEntityy = $this->getSwitchService()->getEntity(['serviceinfo_uid' => $entity->getPK()]);
if ($switchEntityy !== null) {
$entity->setSwitchEntity($switchEntityy);
}
// //IP정보 정의 // //IP정보 정의
// foreach ($this->getIPService()->getEntities(['serverinfo_uid' => $entity->getPK()]) as $ipEntity) { // foreach ($this->getIPService()->getEntities(['serverinfo_uid' => $entity->getPK()]) as $ipEntity) {
// $entity->addIPEntity($ipEntity); // $entity->addIPEntity($ipEntity);
@ -160,46 +164,38 @@ class ServiceService extends CustomerService
} }
//다른장치 설정용 //다른장치 설정용
private function disableSetServiceToEquipments(ServiceEntity $entity): ServiceEntity private function disableService(ServiceEntity $entity): ServiceEntity
{ {
//기존 Server정보와 다른경우 사용가능상태로 변경 //기존 Server정보와 다른경우 사용가능상태로 변경
$serverEntity = $entity->getServerEntity(); $serverEntity = $entity->getServerEntity();
if ($serverEntity !== null) { if ($serverEntity !== null) {
$serverEntity = $this->getServerService()->setService( $serverEntity = $this->getServerService()->disableService($serverEntity);
$entity,
$serverEntity->getPK(),
ServerEntity::STATUS_AVAILABLE
);
$entity->setServerEntity(null); $entity->setServerEntity(null);
} }
//기존 Switch정보와 다른경우 사용가능상태로 변경 //기존 Switch정보와 다른경우 사용가능상태로 변경
$switchEntity = $entity->getSwitchEntity(); $switchEntity = $entity->getSwitchEntity();
if ($switchEntity !== null) { if ($switchEntity !== null) {
$switchEntity = $this->getSwitchService()->setService( $switchEntity = $this->getSwitchService()->disableService($switchEntity);
$entity,
$switchEntity->getPK(),
SwitchEntity::STATUS_AVAILABLE
);
$entity->setSwitchEntity(null); $entity->setSwitchEntity(null);
} }
return $entity; return $entity;
} }
private function enableServiceToEquipments(ServiceEntity $entity, array $formDatas): ServiceEntity private function enableService(ServiceEntity $entity, array $formDatas): ServiceEntity
{ {
//서버경우 서비스중으로 설정 //서버경우 서비스중으로 설정
$serverEntity = $this->getServerService()->setService( $serverEntity = $this->getServerService()->getEntity($formDatas['serverinfo_uid']);
$entity, if (!$serverEntity) {
$formDatas['serverinfo_uid'], throw new \Exception("{$formDatas['serverinfo_uid']}에 대한 서버정보를 찾을수 없습니다.");
ServerEntity::STATUS_OCCUPIED }
); $serverEntity = $this->getServerService()->enableService($entity, $serverEntity);
$entity->setServerEntity($serverEntity); $entity->setServerEntity($serverEntity);
//Switch경우 서비스중으로 설정 //Switch경우 서비스중으로 설정
$serverEntity = $this->getSwitchService()->setService( $switchEntity = $this->getServerService()->getEntity($formDatas['switchinfo_uid']);
$entity, if (!$switchEntity) {
$formDatas['switchinfo_uid'], throw new \Exception("{$formDatas['switchinfo_uid']}에 대한 스위치정보를 찾을수 없습니다.");
SwitchEntity::STATUS_OCCUPIED }
); $switchEntity = $this->getSwitchService()->enableService($entity, $switchEntity);
$entity->setSwitchEntity($serverEntity); $entity->setSwitchEntity($switchEntity);
return $entity; return $entity;
} }
//생성 //생성
@ -213,7 +209,7 @@ class ServiceService extends CustomerService
throw new \Exception("스위치정보가 지정되지 않았습니다."); throw new \Exception("스위치정보가 지정되지 않았습니다.");
} }
//신규정보 Enable //신규정보 Enable
return $this->enableServiceToEquipments($entity, $formDatas); return $this->enableService($entity, $formDatas);
} }
//수정 //수정
public function modify(mixed $entity, array $formDatas): ServiceEntity public function modify(mixed $entity, array $formDatas): ServiceEntity
@ -226,15 +222,15 @@ class ServiceService extends CustomerService
throw new \Exception("스위치정보가 지정되지 않았습니다."); throw new \Exception("스위치정보가 지정되지 않았습니다.");
} }
//기존정보 Disable //기존정보 Disable
$entity = $this->disableSetServiceToEquipments($entity); $entity = $this->disableService($entity);
//신규정보 Enable //신규정보 Enable
return $this->enableServiceToEquipments($entity, $formDatas); return $this->enableService($entity, $formDatas);
} }
//삭제 //삭제
public function delete(mixed $entity): ServiceEntity public function delete(mixed $entity): ServiceEntity
{ {
//기존정보 Disable //기존정보 Disable
$entity = $this->disableSetServiceToEquipments($entity); $entity = $this->disableService($entity);
return parent::delete($entity); return parent::delete($entity);
} }
} }

View File

@ -100,10 +100,10 @@ class ServerPartService extends EquipmentService
$serverPartFormDatas["serverinfo_uid"] = $serverEntity->getPK(); $serverPartFormDatas["serverinfo_uid"] = $serverEntity->getPK();
$serverPartFormDatas["serviceinfo_uid"] = $serverEntity->getServiceInfoUID(); $serverPartFormDatas["serviceinfo_uid"] = $serverEntity->getServiceInfoUID();
$serverPartFormDatas["type"] = $partType; $serverPartFormDatas["type"] = $partType;
$serverPartFormDatas["billing"] = array_key_exists("serverinfopartinfo_uid_{$partType}_billing", $formDatas) ? $formDatas["serverinfopartinfo_uid_{$partType}_billing"] : null; $serverPartFormDatas["billing"] = array_key_exists("partinfo_uid_{$partType}_billing", $formDatas) ? $formDatas["partinfo_uid_{$partType}_billing"] : null;
$serverPartFormDatas["amount"] = array_key_exists("serverinfopartinfo_uid_{$partType}_amount", $formDatas) ? $formDatas["serverinfopartinfo_uid_{$partType}_amount"] : 0; $serverPartFormDatas["amount"] = array_key_exists("partinfo_uid_{$partType}_amount", $formDatas) ? $formDatas["partinfo_uid_{$partType}_amount"] : 0;
$serverPartFormDatas["cnt"] = array_key_exists("serverinfopartinfo_uid_{$partType}_cnt", $formDatas) ? $formDatas["serverinfopartinfo_uid_{$partType}_cnt"] : null; $serverPartFormDatas["cnt"] = array_key_exists("partinfo_uid_{$partType}_cnt", $formDatas) ? $formDatas["partinfo_uid_{$partType}_cnt"] : null;
$serverPartFormDatas["extra"] = array_key_exists("serverinfopartinfo_uid_{$partType}_extra", $formDatas) ? $formDatas["serverinfopartinfo_uid_{$partType}_extra"] : null; $serverPartFormDatas["extra"] = array_key_exists("partinfo_uid_{$partType}_extra", $formDatas) ? $formDatas["partinfo_uid_{$partType}_extra"] : null;
$entity = parent::create($serverPartFormDatas); $entity = parent::create($serverPartFormDatas);
//부품정보 정의 //부품정보 정의
$partEntity = $this->getPartService()->getEntity($entity->getPartInfoUID()); $partEntity = $this->getPartService()->getEntity($entity->getPartInfoUID());

View File

@ -29,16 +29,16 @@ class ServerService extends EquipmentService
"format_at", "format_at",
"status", "status",
"partinfo_uid_CPU", "partinfo_uid_CPU",
"serverinfopartinfo_uid_CPU_cnt", "partinfo_uid_CPU_cnt",
"partinfo_uid_RAM", "partinfo_uid_RAM",
"serverinfopartinfo_uid_RAM_cnt", "partinfo_uid_RAM_cnt",
"partinfo_uid_DISK", "partinfo_uid_DISK",
"serverinfopartinfo_uid_DISK_cnt", "partinfo_uid_DISK_cnt",
"serverinfopartinfo_uid_DISK_extra", "partinfo_uid_DISK_extra",
"partinfo_uid_OS", "partinfo_uid_OS",
"serverinfopartinfo_uid_OS_cnt", "partinfo_uid_OS_cnt",
"partinfo_uid_SOFTWARE", "partinfo_uid_SOFTWARE",
"serverinfopartinfo_uid_SOFTWARE_cnt", "partinfo_uid_SOFTWARE_cnt",
"ipinfo_uid", "ipinfo_uid",
"csinfo_uid", "csinfo_uid",
]; ];
@ -53,7 +53,7 @@ class ServerService extends EquipmentService
"partinfo_uid_CPU", "partinfo_uid_CPU",
"partinfo_uid_RAM", "partinfo_uid_RAM",
"partinfo_uid_DISK", "partinfo_uid_DISK",
"serverinfopartinfo_uid_DISK_extra", "partinfo_uid_DISK_extra",
"partinfo_uid_OS", "partinfo_uid_OS",
"partinfo_uid_SOFTWARE", "partinfo_uid_SOFTWARE",
"ipinfo_uid", "ipinfo_uid",
@ -223,22 +223,20 @@ class ServerService extends EquipmentService
parent::setOrderBy($field, $value); parent::setOrderBy($field, $value);
} }
public function setService(ServiceEntity $serviceEntity, mixed $uid, string $status): ServerEntity public function enableService(ServiceEntity $serviceEntity, ServerEntity $entity): ServerEntity
{ {
$entity = $this->getEntity($uid); $formDatas = [];
if (!$entity) { $formDatas["clientinfo_uid"] = $serviceEntity->getClientInfoUID();
throw new \Exception("{$uid}에 대한 서버정보를 찾을수 없습니다."); $formDatas["serviceinfo_uid"] = $serviceEntity->getPK();
} $formDatas['status'] = ServerEntity::STATUS_OCCUPIED;
$formDatas = ['status' => $status]; return parent::modify($entity, $formDatas);
if ($status === ServerEntity::STATUS_OCCUPIED) { }
$formDatas["clientinfo_uid"] = $serviceEntity->getClientInfoUID(); public function disableService(ServerEntity $entity): ServerEntity
$formDatas["serviceinfo_uid"] = $serviceEntity->getPK(); {
} elseif ($status === ServerEntity::STATUS_AVAILABLE) { $formDatas = [];
$formDatas["clientinfo_uid"] = null; $formDatas["clientinfo_uid"] = null;
$formDatas["serviceinfo_uid"] = null; $formDatas["serviceinfo_uid"] = null;
} else { $formDatas['status'] = ServerEntity::STATUS_AVAILABLE;
throw new \Exception(__METHOD__ . "에서 오류발생: {$status}는 지정되지 않은 상태값입니다.");
}
return parent::modify($entity, $formDatas); return parent::modify($entity, $formDatas);
} }
} }

View File

@ -64,24 +64,22 @@ class SwitchService extends EquipmentService
parent::setOrderBy($field, $value); parent::setOrderBy($field, $value);
} }
public function setService(ServiceEntity $serviceEntity, mixed $uid, string $status): SwitchEntity public function enableService(ServiceEntity $serviceEntity, SwitchEntity $entity): SwitchEntity
{ {
$entity = $this->getEntity($uid); $formDatas = [];
if (!$entity) { $formDatas["clientinfo_uid"] = $serviceEntity->getClientInfoUID();
throw new \Exception("{$uid}에 대한 서버정보를 찾을수 없습니다."); $formDatas["serviceinfo_uid"] = $serviceEntity->getPK();
} $formDatas["serverinfo_uid"] = $serviceEntity->getServerEntity()->getPK();
$formDatas = ['status' => $status]; $formDatas['status'] = SwitchEntity::STATUS_OCCUPIED;
if ($status === SwitchEntity::STATUS_OCCUPIED) { return parent::modify($entity, $formDatas);
$formDatas["clientinfo_uid"] = $serviceEntity->getClientInfoUID(); }
$formDatas["serviceinfo_uid"] = $serviceEntity->getPK(); public function disableService(SwitchEntity $entity): SwitchEntity
$formDatas["serverinfo_uid"] = $serviceEntity->getServerEntity()->getPK(); {
} elseif ($status === SwitchEntity::STATUS_AVAILABLE) { $formDatas = [];
$formDatas["clientinfo_uid"] = null; $formDatas["clientinfo_uid"] = null;
$formDatas["serviceinfo_uid"] = null; $formDatas["serviceinfo_uid"] = null;
$formDatas["serverinfo_uid"] = null; $formDatas["serverinfo_uid"] = null;
} else { $formDatas['status'] = SwitchEntity::STATUS_AVAILABLE;
throw new \Exception(__METHOD__ . "에서 오류발생: {$status}는 지정되지 않은 상태값입니다.");
}
return parent::modify($entity, $formDatas); return parent::modify($entity, $formDatas);
} }
} }

View File

@ -31,9 +31,9 @@
<th nowrap class="text-end"><?= $viewDatas['helper']->getFieldLabel("partinfo_uid_{$partType}", lang("{$viewDatas['class_path']}.label.partinfo_uid_{$partType}"), $viewDatas) ?></th> <th nowrap class="text-end"><?= $viewDatas['helper']->getFieldLabel("partinfo_uid_{$partType}", lang("{$viewDatas['class_path']}.label.partinfo_uid_{$partType}"), $viewDatas) ?></th>
<td nowrap class="text-start"> <td nowrap class="text-start">
<?= $viewDatas['helper']->getFieldForm("partinfo_uid_{$partType}", old("partinfo_uid_{$partType}") ?? ($viewDatas['control']['form_datas']["partinfo_uid_{$partType}"] ?? null), $viewDatas) ?> <?= $viewDatas['helper']->getFieldForm("partinfo_uid_{$partType}", old("partinfo_uid_{$partType}") ?? ($viewDatas['control']['form_datas']["partinfo_uid_{$partType}"] ?? null), $viewDatas) ?>
<?= $viewDatas['helper']->getFieldForm("serverinfopartinfo_uid_{$partType}_cnt", old("serverinfopartinfo_uid_{$partType}_cnt") ?? ($viewDatas['control']['form_datas']["serverinfopartinfo_uid_{$partType}_cnt"] ?? null), $viewDatas) ?> <?= $viewDatas['helper']->getFieldForm("partinfo_uid_{$partType}_cnt", old("partinfo_uid_{$partType}_cnt") ?? ($viewDatas['control']['form_datas']["partinfo_uid_{$partType}_cnt"] ?? null), $viewDatas) ?>
<?php if ($partType === "DISK"): ?> <?php if ($partType === "DISK"): ?>
<?= $viewDatas['helper']->getFieldForm("serverinfopartinfo_uid_{$partType}_extra", old("serverinfopartinfo_uid_{$partType}_extra") ?? ($viewDatas['control']['form_datas']["serverinfopartinfo_uid_{$partType}_extra"] ?? null), $viewDatas) ?> <?= $viewDatas['helper']->getFieldForm("partinfo_uid_{$partType}_extra", old("partinfo_uid_{$partType}_extra") ?? ($viewDatas['control']['form_datas']["partinfo_uid_{$partType}_extra"] ?? null), $viewDatas) ?>
<?php endif ?> <?php endif ?>
</td> </td>
</tr> </tr>

View File

@ -0,0 +1,69 @@
<?= $this->extend(LAYOUTS[$viewDatas['layout']]['path']) ?>
<?= $this->section('content') ?>
<?php if ($error = session('error')): echo $viewDatas['helper']->alert($error) ?><?php endif ?>
<div class="layout_top"><?= $this->include(LAYOUTS[$viewDatas['layout']]['path'] . '/top'); ?></div>
<!-- Layout Middle Start -->
<table class="layout_middle">
<tr>
<td class="layout_left">
<!-- Layout Left Start -->
<?= $this->include(LAYOUTS[$viewDatas['layout']]['path'] . '/left_menu'); ?>
<!-- Layout Left End -->
</td>
<td class="layout_right">
<!-- Layout Right Start -->
<div class="layout_header"><?= $this->include("templates/{$viewDatas['layout']}/index_header"); ?></div>
<div id="container" class="layout_content">
<link href="/css/<?= $viewDatas['layout'] ?>/index.css" media="screen" rel="stylesheet" type="text/css" />
<div class="index_body">
<?= $this->include("templates/{$viewDatas['layout']}/index_content_top"); ?>
<?= form_open(current_url(), ['id' => 'batchjob_form', 'method' => "post"]) ?>
<table class="index_table data table table-bordered table-hover table-striped" data-rtc-resizable-table="reisze_table">
<thead>
<tr>
<th class="index_head_short_column">번호</th>
<?php foreach ($viewDatas['control']['actionFields'] as $field): ?>
<th data-rtc-resizable="<?= $field ?>"><?= $viewDatas['helper']->getListLabel($field, lang("{$viewDatas['class_path']}.label.{$field}"), $viewDatas) ?></th>
<?php endforeach ?>
<th class="index_head_short_column">추가정보</th>
<th class="index_head_short_column">작업</th>
</thead>
<tbody>
<?php $cnt = 0 ?>
<?php foreach ($viewDatas['entities'] as $entity): ?>
<?php $viewDatas['entity'] = $entity; ?>
<tr <?= $viewDatas['entity']->getStatus() === $viewDatas['entity']::DEFAULT_STATUS ? "" : 'class="table-danger"' ?>>
<?php $viewDatas['cnt'] = $viewDatas['total_count'] - (($viewDatas['page'] - 1) * $viewDatas['per_page'] + $cnt); ?>
<td nowrap><?= $viewDatas['helper']->getListButton('modify', '', $viewDatas) ?></td>
<?php foreach ($viewDatas['control']['actionFields'] as $field): ?>
<td><?= $viewDatas['helper']->getFieldView($field, $entity->$field, $viewDatas) ?></td>
<?php endforeach ?>
<td nowrap>
<?php foreach (SERVER['PARTTYPES'] as $partType): ?>
<div><?= $viewDatas['helper']->getFieldView($partType, "", $viewDatas) ?></div>
<?php endforeach; ?>
<div><?= $viewDatas['helper']->getFieldView("ipinfo_uid", "", $viewDatas) ?></div>
<div><?= $viewDatas['helper']->getFieldView("csinfo_uid", "", $viewDatas) ?></div>
</td>
<td nowrap>
<?= $viewDatas['helper']->getListButton('view', '', $viewDatas) ?>&nbsp;
<?= $viewDatas['helper']->getListButton('history', '', $viewDatas) ?>&nbsp;
<?= $viewDatas['helper']->getListButton('delete', '', $viewDatas) ?>
</td>
</tr>
<?php $cnt++ ?>
<?php endforeach ?>
</tbody>
</table>
<?= $this->include("templates/{$viewDatas['layout']}/index_content_bottom"); ?>
<?= form_close() ?>
</div>
</div>
<div class="layout_footer"><?= $this->include("templates/{$viewDatas['layout']}/index_footer"); ?></div>
<!-- Layout Right End -->
</td>
</tr>
</table>
<!-- Layout Middle End -->
<div class="layout_bottom"><?= $this->include(LAYOUTS[$viewDatas['layout']]['path'] . '/bottom'); ?></div>
<?= $this->endSection() ?>

View File

@ -31,9 +31,9 @@
<th nowrap class="text-end"><?= $viewDatas['helper']->getFieldLabel("partinfo_uid_{$partType}", lang("{$viewDatas['class_path']}.label.partinfo_uid_{$partType}"), $viewDatas) ?></th> <th nowrap class="text-end"><?= $viewDatas['helper']->getFieldLabel("partinfo_uid_{$partType}", lang("{$viewDatas['class_path']}.label.partinfo_uid_{$partType}"), $viewDatas) ?></th>
<td nowrap class="text-start"> <td nowrap class="text-start">
<?= $viewDatas['helper']->getFieldForm("partinfo_uid_{$partType}", old("partinfo_uid_{$partType}") ?? ($viewDatas['entity']->getServerPartEntity($partType) ? $viewDatas['entity']->getServerPartEntity($partType)->getPartInfoUID() : ($viewDatas['control']['form_datas']["partinfo_uid_{$partType}"] ?? null)), $viewDatas) ?> <?= $viewDatas['helper']->getFieldForm("partinfo_uid_{$partType}", old("partinfo_uid_{$partType}") ?? ($viewDatas['entity']->getServerPartEntity($partType) ? $viewDatas['entity']->getServerPartEntity($partType)->getPartInfoUID() : ($viewDatas['control']['form_datas']["partinfo_uid_{$partType}"] ?? null)), $viewDatas) ?>
<?= $viewDatas['helper']->getFieldForm("serverinfopartinfo_uid_{$partType}_cnt", old("serverinfopartinfo_uid_{$partType}_cnt") ?? ($viewDatas['entity']->getServerPartEntity($partType) ? $viewDatas['entity']->getServerPartEntity($partType)->getCnt() : ($viewDatas['control']['form_datas']["serverinfopartinfo_uid_{$partType}_cnt"] ?? null)), $viewDatas) ?> <?= $viewDatas['helper']->getFieldForm("partinfo_uid_{$partType}_cnt", old("partinfo_uid_{$partType}_cnt") ?? ($viewDatas['entity']->getServerPartEntity($partType) ? $viewDatas['entity']->getServerPartEntity($partType)->getCnt() : ($viewDatas['control']['form_datas']["partinfo_uid_{$partType}_cnt"] ?? null)), $viewDatas) ?>
<?php if ($partType === "DISK"): ?> <?php if ($partType === "DISK"): ?>
<?= $viewDatas['helper']->getFieldForm("serverinfopartinfo_uid_{$partType}_extra", old("serverinfopartinfo_uid_{$partType}_extra") ?? ($viewDatas['entity']->getServerPartEntity($partType) ? $viewDatas['entity']->getServerPartEntity($partType)->getExtra() : ($viewDatas['control']['form_datas']["serverinfopartinfo_uid_{$partType}_extra"] ?? null)), $viewDatas) ?> <?= $viewDatas['helper']->getFieldForm("partinfo_uid_{$partType}_extra", old("partinfo_uid_{$partType}_extra") ?? ($viewDatas['entity']->getServerPartEntity($partType) ? $viewDatas['entity']->getServerPartEntity($partType)->getExtra() : ($viewDatas['control']['form_datas']["partinfo_uid_{$partType}_extra"] ?? null)), $viewDatas) ?>
<?php endif ?> <?php endif ?>
</td> </td>
</tr> </tr>

View File

@ -31,9 +31,9 @@
<th nowrap class="text-end"><?= $viewDatas['helper']->getFieldLabel("partinfo_uid_{$partType}", lang("{$viewDatas['class_path']}.label.partinfo_uid_{$partType}"), $viewDatas) ?></th> <th nowrap class="text-end"><?= $viewDatas['helper']->getFieldLabel("partinfo_uid_{$partType}", lang("{$viewDatas['class_path']}.label.partinfo_uid_{$partType}"), $viewDatas) ?></th>
<td nowrap class="text-start"> <td nowrap class="text-start">
<?= $viewDatas['helper']->getFieldView("partinfo_uid_{$partType}", old("partinfo_uid_{$partType}") ?? ($viewDatas['entity']->getServerPartEntity($partType) ? $viewDatas['entity']->getServerPartEntity($partType)->getPartInfoUID() : ($viewDatas['control']['form_datas']["partinfo_uid_{$partType}"] ?? null)), $viewDatas) ?> <?= $viewDatas['helper']->getFieldView("partinfo_uid_{$partType}", old("partinfo_uid_{$partType}") ?? ($viewDatas['entity']->getServerPartEntity($partType) ? $viewDatas['entity']->getServerPartEntity($partType)->getPartInfoUID() : ($viewDatas['control']['form_datas']["partinfo_uid_{$partType}"] ?? null)), $viewDatas) ?>
<?= $viewDatas['helper']->getFieldView("serverinfopartinfo_uid_{$partType}_cnt", old("serverinfopartinfo_uid_{$partType}_cnt") ?? ($viewDatas['entity']->getServerPartEntity($partType) ? $viewDatas['entity']->getServerPartEntity($partType)->getCnt() : ($viewDatas['control']['form_datas']["serverinfopartinfo_uid_{$partType}_cnt"] ?? null)), $viewDatas) ?> <?= $viewDatas['helper']->getFieldView("partinfo_uid_{$partType}_cnt", old("partinfo_uid_{$partType}_cnt") ?? ($viewDatas['entity']->getServerPartEntity($partType) ? $viewDatas['entity']->getServerPartEntity($partType)->getCnt() : ($viewDatas['control']['form_datas']["partinfo_uid_{$partType}_cnt"] ?? null)), $viewDatas) ?>
<?php if ($partType === "DISK"): ?> <?php if ($partType === "DISK"): ?>
<?= $viewDatas['helper']->getFieldView("serverinfopartinfo_uid_{$partType}_extra", old("serverinfopartinfo_uid_{$partType}_extra") ?? ($viewDatas['entity']->getServerPartEntity($partType) ? $viewDatas['entity']->getServerPartEntity($partType)->getExtra() : ($viewDatas['control']['form_datas']["serverinfopartinfo_uid_{$partType}_extra"] ?? null)), $viewDatas) ?> <?= $viewDatas['helper']->getFieldView("partinfo_uid_{$partType}_extra", old("partinfo_uid_{$partType}_extra") ?? ($viewDatas['entity']->getServerPartEntity($partType) ? $viewDatas['entity']->getServerPartEntity($partType)->getExtra() : ($viewDatas['control']['form_datas']["partinfo_uid_{$partType}_extra"] ?? null)), $viewDatas) ?>
<?php endif ?> <?php endif ?>
</td> </td>
</tr> </tr>