diff --git a/app/Services/Equipment/ServerPartService.php b/app/Services/Equipment/ServerPartService.php index 5f5c0df..a746cee 100644 --- a/app/Services/Equipment/ServerPartService.php +++ b/app/Services/Equipment/ServerPartService.php @@ -243,27 +243,15 @@ class ServerPartService extends EquipmentService } break; case 'delete': - //기존 ServerPart정보 삭제(서버파트정보 (월비용,일회성) 상품 회수처리) + //서버정보에 해당하는 ServerPart정보 모두 회수처리 후 서버정보에 기본 ServerPart를 다시 등록해준다. foreach ($this->getEntities(['serverinfo_uid' => $serverEntity->getPK()]) as $entity) { - switch ($entity->getType()) { - case 'CPU': - case 'RAM': - //기본이 아닌 결제방식의 경우 모두 회수처리 - if ($entity->getBilling() !== PAYMENT['BILLING']['BASE']) { - //Type에 따른 부품서비스 정의 - $this->getPartService($entity->getType())->setServerPart('delete', $entity, $entity, []); - //서버연결정보 식제 - parent::delete($entity); - } - break; - default: //DISK,IP,SWITCH,CS,SOFTWARE,OS등은 모두 회수처리 - //Type에 따른 부품서비스 정의 - $this->getPartService($entity->getType())->setServerPart('delete', $entity, $entity, []); - //서버연결정보 식제 - parent::delete($entity); - break; - } + //Type에 따른 부품서비스 정의 + $this->getPartService($entity->getType())->setServerPart('delete', $entity, $entity, []); + //서버연결정보 식제 + parent::delete($entity); } + //서버정보에 기본 ServerPart를 다시 등록해준다. + $this->setServer('create', $serverEntity, []); break; default: throw new \Exception(__METHOD__ . "에서 오류발생:{$action}은 정의되지 않은 작업입니다."); diff --git a/app/Services/Equipment/ServerService.php b/app/Services/Equipment/ServerService.php index fe0a494..ca70a53 100644 --- a/app/Services/Equipment/ServerService.php +++ b/app/Services/Equipment/ServerService.php @@ -157,6 +157,8 @@ class ServerService extends EquipmentService $formDatas['format_at'] = date("Y-m-d"); $formDatas['status'] = STATUS['AVAILABLE']; $entity = parent::modify($entity, $formDatas); + //서버파트정보해지 + $this->getServerPartService()->setServer('delete', $entity, []); break; default: throw new \Exception(__METHOD__ . "에서 오류발생:{$action}은 정의되지 않은 작업입니다."); @@ -211,7 +213,7 @@ class ServerService extends EquipmentService $this->getServiceService()->setAmount($serviceEntity); } //서버파트정보해지 - $this->getServerPartService()->setServer('dedete', $entity, []); + $this->getServerPartService()->setServer('delete', $entity, []); return parent::delete($entity); } //List 검색용