dbmsv3 init...1

This commit is contained in:
choi.jh 2025-10-28 13:41:54 +09:00
parent cad35e3ee3
commit 377a08ecad
11 changed files with 819 additions and 52 deletions

View File

@ -420,34 +420,52 @@ define("SERVERPART", [
"SERVICE_PARTTYPES" => ['SOFTWARE', 'CS', 'IP'],
"ALL_PARTTYPES" => ['CPU', 'RAM', 'DISK', 'SOFTWARE', 'IP', 'CS'],
"CPU" => [
"HP DL360 Gen6B" => [["UID" => 1, "CNT" => 2, "EXTRA" => ""]],
"HP DL360 Gen7C" => [["UID" => 2, "CNT" => 2, "EXTRA" => ""]],
"HP DL360 Gen7D" => [["UID" => 3, "CNT" => 2, "EXTRA" => ""]],
"HP DL360 Gen8D" => [["UID" => 3, "CNT" => 2, "EXTRA" => ""]],
"HP DL360 Gen8E" => [["UID" => 4, "CNT" => 2, "EXTRA" => ""]],
"HP DL360 Gen9E" => [["UID" => 4, "CNT" => 2, "EXTRA" => ""]],
"HP DL360 Gen10" => [["UID" => 5, "CNT" => 2, "EXTRA" => ""]],
"HP DL360 GEN6B" => [["UID" => 1, "CNT" => 2, "EXTRA" => ""]],
"HP DL360 GEN7C" => [["UID" => 2, "CNT" => 2, "EXTRA" => ""]],
"HP DL360 GEN7D" => [["UID" => 3, "CNT" => 2, "EXTRA" => ""]],
"HP DL360 GEN8D" => [["UID" => 3, "CNT" => 2, "EXTRA" => ""]],
"HP DL360 GEN8E" => [["UID" => 4, "CNT" => 2, "EXTRA" => ""]],
"HP DL360 GEN9E" => [["UID" => 4, "CNT" => 2, "EXTRA" => ""]],
"HP DL360 GEN10" => [["UID" => 5, "CNT" => 2, "EXTRA" => ""]],
"Hitach HA3000" => [["UID" => 5, "CNT" => 2, "EXTRA" => ""]],
"DESKTOP I5-9" => [["UID" => 7, "CNT" => 1, "EXTRA" => ""]],
"DESKTOP I5-10" => [["UID" => 8, "CNT" => 1, "EXTRA" => ""]],
"DESKTOP I5-12" => [["UID" => 9, "CNT" => 1, "EXTRA" => ""]],
"DESKTOP I7-9" => [["UID" => 10, "CNT" => 1, "EXTRA" => ""]],
"DESKTOP I7-10" => [["UID" => 11, "CNT" => 1, "EXTRA" => ""]],
"DESKTOP I7-12" => [["UID" => 12, "CNT" => 1, "EXTRA" => ""]],
],
"RAM" => [
"HP DL360 Gen6B" => [["UID" => 2, "CNT" => 1, "EXTRA" => ""]],
"HP DL360 Gen7C" => [["UID" => 2, "CNT" => 2, "EXTRA" => ""]],
"HP DL360 Gen7D" => [["UID" => 2, "CNT" => 2, "EXTRA" => ""]],
"HP DL360 Gen8D" => [["UID" => 3, "CNT" => 2, "EXTRA" => ""]],
"HP DL360 Gen8E" => [["UID" => 3, "CNT" => 4, "EXTRA" => ""]],
"HP DL360 Gen9E" => [["UID" => 4, "CNT" => 4, "EXTRA" => ""]],
"HP DL360 Gen10" => [["UID" => 5, "CNT" => 2, "EXTRA" => ""]],
"HP DL360 GEN6B" => [["UID" => 2, "CNT" => 1, "EXTRA" => ""]],
"HP DL360 GEN7C" => [["UID" => 2, "CNT" => 2, "EXTRA" => ""]],
"HP DL360 GEN7D" => [["UID" => 2, "CNT" => 2, "EXTRA" => ""]],
"HP DL360 GEN8D" => [["UID" => 3, "CNT" => 2, "EXTRA" => ""]],
"HP DL360 GEN8E" => [["UID" => 3, "CNT" => 4, "EXTRA" => ""]],
"HP DL360 GEN9E" => [["UID" => 4, "CNT" => 4, "EXTRA" => ""]],
"HP DL360 GEN10" => [["UID" => 5, "CNT" => 2, "EXTRA" => ""]],
"Hitach HA3000" => [["UID" => 5, "CNT" => 2, "EXTRA" => ""]],
"DESKTOP I5-9" => [["UID" => 9, "CNT" => 1, "EXTRA" => ""]],
"DESKTOP I5-10" => [["UID" => 9, "CNT" => 1, "EXTRA" => ""]],
"DESKTOP I5-12" => [["UID" => 10, "CNT" => 1, "EXTRA" => ""]],
"DESKTOP I7-9" => [["UID" => 9, "CNT" => 1, "EXTRA" => ""]],
"DESKTOP I7-10" => [["UID" => 9, "CNT" => 1, "EXTRA" => ""]],
"DESKTOP I7-12" => [["UID" => 10, "CNT" => 1, "EXTRA" => ""]],
],
"DISK" => [
"HP DL360 Gen6B" => [["UID" => 8, "CNT" => 2, "EXTRA" => "RAID1"], ["UID" => 9, "CNT" => 2, "EXTRA" => "RAID1"],],
"HP DL360 Gen7C" => [["UID" => 8, "CNT" => 2, "EXTRA" => "RAID1"], ["UID" => 9, "CNT" => 2, "EXTRA" => "RAID1"],],
"HP DL360 Gen7D" => [["UID" => 8, "CNT" => 2, "EXTRA" => "RAID1"], ["UID" => 9, "CNT" => 2, "EXTRA" => "RAID1"],],
"HP DL360 Gen8C" => [["UID" => 8, "CNT" => 2, "EXTRA" => "RAID1"], ["UID" => 9, "CNT" => 2, "EXTRA" => "RAID1"],],
"HP DL360 Gen8D" => [["UID" => 8, "CNT" => 2, "EXTRA" => "RAID1"], ["UID" => 9, "CNT" => 2, "EXTRA" => "RAID1"],],
"HP DL360 Gen9E" => [["UID" => 8, "CNT" => 2, "EXTRA" => "RAID1"], ["UID" => 9, "CNT" => 2, "EXTRA" => "RAID1"],],
"HP DL360 Gen10" => [["UID" => 8, "CNT" => 2, "EXTRA" => "RAID1"], ["UID" => 9, "CNT" => 2, "EXTRA" => "RAID1"],],
"HP DL360 GEN6B" => [["UID" => 8, "CNT" => 2, "EXTRA" => "RAID1"], ["UID" => 9, "CNT" => 2, "EXTRA" => "RAID1"],],
"HP DL360 GEN7C" => [["UID" => 8, "CNT" => 2, "EXTRA" => "RAID1"], ["UID" => 9, "CNT" => 2, "EXTRA" => "RAID1"],],
"HP DL360 GEN7D" => [["UID" => 8, "CNT" => 2, "EXTRA" => "RAID1"], ["UID" => 9, "CNT" => 2, "EXTRA" => "RAID1"],],
"HP DL360 GEN8C" => [["UID" => 8, "CNT" => 2, "EXTRA" => "RAID1"], ["UID" => 9, "CNT" => 2, "EXTRA" => "RAID1"],],
"HP DL360 GEN8D" => [["UID" => 8, "CNT" => 2, "EXTRA" => "RAID1"], ["UID" => 9, "CNT" => 2, "EXTRA" => "RAID1"],],
"HP DL360 GEN9E" => [["UID" => 8, "CNT" => 2, "EXTRA" => "RAID1"], ["UID" => 9, "CNT" => 2, "EXTRA" => "RAID1"],],
"HP DL360 GEN10" => [["UID" => 8, "CNT" => 2, "EXTRA" => "RAID1"], ["UID" => 9, "CNT" => 2, "EXTRA" => "RAID1"],],
"Hitach HA3000" => [["UID" => 8, "CNT" => 2, "EXTRA" => "RAID1"], ["UID" => 9, "CNT" => 2, "EXTRA" => "RAID1"],],
"DESKTOP I5-9" => [["UID" => 8, "CNT" => 1, "EXTRA" => ""]],
"DESKTOP I5-10" => [["UID" => 8, "CNT" => 1, "EXTRA" => ""]],
"DESKTOP I5-12" => [["UID" => 9, "CNT" => 1, "EXTRA" => ""]],
"DESKTOP I7-9" => [["UID" => 8, "CNT" => 1, "EXTRA" => ""]],
"DESKTOP I7-10" => [["UID" => 8, "CNT" => 1, "EXTRA" => ""]],
"DESKTOP I7-12" => [["UID" => 9, "CNT" => 1, "EXTRA" => ""]],
]
]);
//결제 관련

File diff suppressed because one or more lines are too long

View File

@ -29,7 +29,7 @@ class ServerPartEntity extends EquipmentEntity
return $this->attributes['payment_uid'] ?? null;
}
//기본기능용
public function getCalulatedAmount(): int
public function getTotalAmount(): int
{
return $this->getAmount() * $this->getCnt();
}

View File

@ -64,6 +64,9 @@ class ServerHelper extends EquipmentHelper
case 'title':
$value = parent::getFieldView($field, $value, $viewDatas, $extras);
break;
case 'price':
$value = number_format($value);
break;
case 'manufactur_at':
case 'format_at':
$value = $value ? date("Y-m-d", strtotime($value)) : "";

View File

@ -31,20 +31,20 @@ return [
SERVER['TYPES']["COLOCATION"] => "코로케이션",
],
"TITLE" => [
"HP DL360 Gen6B" => "HP DL360 Gen6 B",
"HP DL360 Gen7C" => "HP DL360 Gen7 C",
"HP DL360 Gen7D" => "HP DL360 Gen7 D",
"HP DL360 Gen8D" => "HP DL360 Gen8 D",
"HP DL360 Gen8E" => "HP DL360 Gen8 E",
"HP DL360 Gen9E" => "HP DL360 Gen9 E",
"HP DL360 Gen10" => "HP DL360 Gen10",
"HP DL360 GEN6B" => "HP DL360 Gen6 B",
"HP DL360 GEN7C" => "HP DL360 Gen7 C",
"HP DL360 GEN7D" => "HP DL360 Gen7 D",
"HP DL360 GEN8D" => "HP DL360 Gen8 D",
"HP DL360 GEN8E" => "HP DL360 Gen8 E",
"HP DL360 GEN9E" => "HP DL360 Gen9 E",
"HP DL360 GEN10" => "HP DL360 Gen10",
"Hitach HA3000" => "Hitach HA3000",
"DESKTOP I5" => "데탑 I5",
"DESKTOP I5-9" => "데탑 I5 9세대",
"DESKTOP I5-10" => "데탑 I5 10세대",
"DESKTOP I5-12" => "데탑 I5 12세대",
"DESKTOP I7" => "데탑 I7",
"DESKTOP I7-10" => "데탑 I7 10세대",
"DESKTOP I7-9" => "데탑 I5 9세대",
"DESKTOP I7-10" => "데탑 I5 10세대",
"DESKTOP I7-12" => "데탑 I5 12세대",
"MINI I5-12" => "Mini I5 12세대",
"VPC" => "아마존-VPN",
"KCS" => "KT-VPN",

View File

@ -149,12 +149,12 @@ class ServerPartV1Processor
public function delete(ServerPartEntity $entity): ServerPartEntity
{
$this->db->transStart();
// 1) 서버파트정보 삭제
$this->service->getModel()->delete($entity);
// 2) 기존파트값이 있으면 해지
// 1) 기존파트값이 있으면 해지
if ($entity->getPartUID() != null) {
$this->service->getPartService($entity->getType())->detachFromServerPart($entity);
}
// 2) 서버파트정보 삭제
$this->service->getModel()->delete($entity);
// 3) 과금처리
switch ($entity->getBilling()) {
case PAYMENT['BILLING']['MONTH']: //월별과금일때만 처리

View File

@ -121,16 +121,25 @@ class ServerV1Processor
throw new \Exception("서비스중인 서버는 삭제하실수 없습니다.");
}
$this->db->transStart();
//기존 Switch값이 있으면 해지
// 1) 기존 Switch값이 있으면 해지
if ($entity->getSwitch() != null) {
$this->switchService->detachFromServer($entity);
}
//기존 IP값이 있으면 해지
// 2) 기존 Switch값이 있으면 해지
if ($entity->getSwitch() != null) {
$this->switchService->detachFromServer($entity);
}
// 2) 기존 IP값이 있으면 해지
if ($entity->getIP() != null) {
$this->ipService->detachFromServer($entity);
}
//기존 서버파트 해지
$this->serverPartService->detachFromServer($entity);
// 4) 서버정보 삭제
$this->service->getModel()->delete($entity->getPK());
// 5) 로그
$this->logService->getModel()->create(formDatas: [
'title' => "{$entity->getTitle()} 서버 삭제",
'status' => $entity->getStatus(),
]);
$this->db->transComplete();
if ($this->db->transStatus() === false) {
throw new RuntimeException('트랜잭션 실패');

View File

@ -192,13 +192,12 @@ class ServerPartService extends EquipmentService implements ServerPartInterface
//서버관련 작업
public function attachToServer(ServerEntity $serverEntity, array $formDatas = []): void
{
//대소문자구분 필요->서버의 Title로 구분해서 기본부품 추가
$server_model = $serverEntity->getTitle();
//*서버의 Title 대소문자구분 필요->서버의 Title로 구분해서 기본부품 추가
foreach (SERVERPART['SERVER_PARTTYPES'] as $parttype) {
//해당 server_type의 정의된 상수값이 있으면
if (array_key_exists($server_model, SERVERPART[$parttype])) {
foreach (SERVERPART[$parttype][$server_model] as $part) {
$partEntity = $this->getPartService($server_model)->getEntity($part['UID']);
if (array_key_exists($serverEntity->getTitle(), SERVERPART[$parttype])) {
foreach (SERVERPART[$parttype][$serverEntity->getTitle()] as $part) {
$partEntity = $this->getPartService($parttype)->getEntity($part['UID']);
//해당 파트정보 가져오기
$formDatas = [];
$formDatas['serverinfo_uid'] = $serverEntity->getPK();
@ -220,10 +219,7 @@ class ServerPartService extends EquipmentService implements ServerPartInterface
{
//서버정보에 해당하는 ServerPart정보 모두 회수처리 후 서버정보에 기본 ServerPart를 다시 등록해준다.
foreach ($this->getEntities(['serverinfo_uid' => $serverEntity->getPK()]) as $entity) {
//Type에 따른 부품서비스 정의
$this->getPartService($entity->getType())->detachFromServerPart($entity);
//서버연결정보 식제
parent::delete($entity);
$this->delete($entity);
}
//서버정보에 기본 ServerPart를 다시 등록해준다.
$this->attachToServer($serverEntity);

View File

@ -181,7 +181,7 @@ class ServerService extends EquipmentService implements ServerInterface
//해당 서비스(서버) 관련 결제방식(Billing)이 Month인 ServerPart 전체를 다시 검사하여 월청구액을 합산한다.
foreach ($this->getServerPartService()->getEntities(['serverinfo_uid' => $entity->getPK()]) as $serverPartEntity) {
if ($serverPartEntity->getBilling() === PAYMENT['BILLING']['MONTH']) { //월비용일때만 적용
$caculatedAmount += $serverPartEntity->getTotalAmount(); //단가*Cnt
$caculatedAmount += $serverPartEntity->getCalculatedAmount(); //단가*Cnt
}
}
return $caculatedAmount;

View File

@ -179,7 +179,7 @@ class PaymentService extends CommonService implements PaymentInterface
//서버연결정보 수정시에 필요함
$formDatas['serverinfo_uid'] = $serverPartEntity->getServerInfoUID();
$formDatas['title'] = $serverPartEntity->getTitle();
$formDatas['amount'] = $serverPartEntity->getCalulatedAmount(); //단가*cnt
$formDatas['amount'] = $serverPartEntity->getTotalAmount(); //단가*cnt
$formDatas['billing'] = $serverPartEntity->getBilling();
//당일결체일로 설정
$formDatas['billing_at'] = date("Y-m-d");
@ -203,7 +203,7 @@ class PaymentService extends CommonService implements PaymentInterface
//서버연결정보 수정시에 필요함
$formDatas['serverinfo_uid'] = $serverPartEntity->getServerInfoUID();
$formDatas['title'] = $serverPartEntity->getTitle();
$formDatas['amount'] = $serverPartEntity->getCalulatedAmount(); //단가*cnt
$formDatas['amount'] = $serverPartEntity->getTotalAmount(); //단가*cnt
$formDatas['billing'] = $serverPartEntity->getBilling();
return parent::modify($entity, $formDatas);
}

View File

@ -89,7 +89,7 @@
'template' => 'partlist_server'
]) ?>
</td>
<td nowrap><?= $viewDatas['service']->getHelper()->getFieldView('price', $entity->price, $viewDatas) ?></td>
<td nowrap><?= $viewDatas['service']->getHelper()->getFieldView('price', $entity->price, $viewDatas) ?></td>
<td nowrap><?= $viewDatas['service']->getHelper()->getFieldView('manufactur_at', $entity->manufactur_at, $viewDatas) ?></td>
<td nowrap><?= $viewDatas['service']->getHelper()->getFieldView('format_at', $entity->format_at, $viewDatas) ?></td>
<td nowrap><?= $viewDatas['service']->getHelper()->getFieldView('status', $entity->status, $viewDatas) ?></td>