dbmsv3 init...1

This commit is contained in:
choi.jh 2025-10-22 17:00:04 +09:00
parent 4ae8f548df
commit 3b675cc332
21 changed files with 386 additions and 423 deletions

View File

@ -156,12 +156,8 @@ class ServiceController extends CustomerController
if (!$entity instanceof ServiceEntity) {
throw new \Exception("{$uid}에 대한 정보를 찾을수 없습니다.");
}
$formDatas = $this->getService()->getFormDatas();
if (!array_key_exists('serverinfo_uid', $formDatas)) {
throw new \Exception("서비스의 메인서버로 설정할 서버정보가 없습니다.");
}
//서버정보설정
$this->getService()->changeServer($entity, $formDatas);
$this->getService()->changeServer($entity, $this->getService()->getFormDatas());
$db->transCommit();
return $this->getResultSuccess('메인서버 설정이 바뀌었습니다.');
} catch (\Exception $e) {

View File

@ -161,7 +161,6 @@ abstract class CommonController extends BaseController
$this->getService()->setFormFilters();
$this->getService()->setFormRules();
$this->doValidations();
$this->getService()->getFormDatas();
$this->entity = $this->create_process($this->getService()->getFormDatas());
$db->transCommit();
return $this->getResultSuccess();

View File

@ -4,8 +4,8 @@
"settings": {
"width": 3000,
"height": 3000,
"scrollTop": -1890.7873,
"scrollLeft": -626,
"scrollTop": -600.7873,
"scrollLeft": -1689,
"zoomLevel": 0.79,
"show": 511,
"database": 4,
@ -5002,7 +5002,7 @@
"comment": "관리자정보",
"dataType": "INT",
"default": "",
"options": 8,
"options": 0,
"ui": {
"keys": 2,
"widthName": 60,
@ -5011,7 +5011,7 @@
"widthDefault": 60
},
"meta": {
"updateAt": 1755506997919,
"updateAt": 1761105786867,
"createAt": 1750829265309
}
},
@ -7882,7 +7882,7 @@
"comment": "서비스정보",
"dataType": "INT",
"default": "",
"options": 8,
"options": 0,
"ui": {
"keys": 2,
"widthName": 80,
@ -7891,7 +7891,7 @@
"widthDefault": 60
},
"meta": {
"updateAt": 1755653435161,
"updateAt": 1761105782772,
"createAt": 1755653412891
}
},
@ -9697,7 +9697,7 @@
"id": "e74Cc4zZztxyoazM_ssbu",
"identification": false,
"relationshipType": 16,
"startRelationshipType": 2,
"startRelationshipType": 1,
"start": {
"tableId": "Jq5Qkun2FzQhCGKANIVOZ",
"columnIds": [
@ -10005,7 +10005,7 @@
"id": "S-DADUvespt-XHt1mSG1Q",
"identification": false,
"relationshipType": 8,
"startRelationshipType": 2,
"startRelationshipType": 1,
"start": {
"tableId": "B8haiEbPc1lRBWTv1g25G",
"columnIds": [

File diff suppressed because one or more lines are too long

View File

@ -18,10 +18,6 @@ class ClientEntity extends CustomerEntity
{
return sprintf("[%s]%s", $this->getSite(), $title ? $title : $this->getTitle());
}
final public function getCode(): string
{
return $this->attributes['code'];
}
public function getName(): string
{
return $this->attributes['name'];

View File

@ -1,5 +0,0 @@
<?php
namespace App\Interfaces\Customer;
interface CustomerInterface {}

View File

@ -1,10 +0,0 @@
<?php
namespace App\Interfaces\Customer;
use App\Entities\Customer\ServiceEntity;
interface ServiceInterface extends CustomerInterface
{
public function setService(string $action, ServiceEntity $serviceEntity, array $formDatas): ServiceEntity;
}

View File

@ -6,5 +6,8 @@ use App\Entities\Equipment\ServerEntity;
interface ServerInterface extends EquipmentInterface
{
public function setServer(string $action, ServerEntity $serverEntity, array $formDatas): ServerEntity;
//서버 생성
public function setServer(ServerEntity $serverEntity): void;
//서버 해지
public function unsetServer(ServerEntity $serverEntity): void;
}

View File

@ -16,7 +16,6 @@ class ClientModel extends CustomerModel
protected $allowedFields = [
"uid",
"user_uid",
"code",
"site",
"role",
"name",
@ -71,7 +70,6 @@ class ClientModel extends CustomerModel
//입력전 코드처리
final public function create(array $formDatas): ClientEntity
{
$formDatas['code'] = $formDatas['site'] . "_c" . uniqid();
// 관리자 UID는 현재 인증된 사용자로 설정
$formDatas['user_uid'] = $this->getMyAuth()->getUIDByAuthInfo();
return parent::create($formDatas);

View File

@ -100,7 +100,6 @@ class ServerModel extends EquipmentModel
//입력전 코드처리
final public function create(array $formDatas): ServerEntity
{
$formDatas['code'] = $formDatas['site'] . "_s" . uniqid();
// 관리자 UID는 현재 인증된 사용자로 설정
$formDatas['user_uid'] = $this->getMyAuth()->getUIDByAuthInfo();
return parent::create($formDatas);

View File

@ -83,7 +83,7 @@ class AccountService extends CustomerService implements PaymentInterface
$this->setBalance($formDatas);
$entity = parent::create($formDatas);
//Log처리
$this->getMylogService()->create(['title' => "[{$entity->getTitle()}] 예치금 처리", ['status'] => $entity->getStatus()]);
$this->getMylogService()->create(['title' => "[{$entity->getTitle()}] 예치금 처리", 'status' => $entity->getStatus()]);
return $entity;
}
//List 검색용

View File

@ -54,7 +54,7 @@ class CouponService extends CustomerService
$this->setBalance($formDatas);
$entity = parent::create($formDatas);
//Log처리
$this->getMylogService()->create(['title' => "[{$entity->getTitle()}] 쿠폰 처리", ['status'] => $entity->getStatus()]);
$this->getMylogService()->create(['title' => "[{$entity->getTitle()}] 쿠폰 처리", 'status' => $entity->getStatus()]);
return $entity;
}
}

View File

@ -53,7 +53,7 @@ class PointService extends CustomerService
$this->setBalance($formDatas);
$entity = parent::create($formDatas);
//Log처리
$this->getMylogService()->create(['title' => "[{$entity->getTitle()}] 포인트 처리", ['status'] => $entity->getStatus()]);
$this->getMylogService()->create(['title' => "[{$entity->getTitle()}] 포인트 처리", 'status' => $entity->getStatus()]);
return $entity;
}
}

View File

@ -181,37 +181,28 @@ class ServiceService extends CustomerService
$day = $lastDayOfNextMonth;
}
// 일(day)을 설정
$date->setDate(
(int)$date->format('Y'),
(int)$date->format('m'),
$day
);
$date->setDate((int)$date->format('Y'), (int)$date->format('m'), $day);
// 최종 결과 리턴 (YYYY-MM-DD)
return $date->format('Y-m-d');
}
//조정된 금액 설정
final public function getCaculatedAmount(ServiceEntity $entity): int
//총 서비스금액 설정
private function getCaculatedAmount(ServiceEntity $entity): int
{
$serverAmount = $this->getServerService()->getCaculatedAmount($entity->getServerEntity());
//총서비스금액 계산
//기본:상면비+회선비+서버금액(price)+서버파트연결(월비용)-할인액
$caculatedAmount = $entity->getRack() + $entity->getLine() + $entity->getServerEntity()->getPrice();
// echo "기본금액: {$entity->getRack()} + {$entity->getLine()} + {$entity->getServerEntity()->getPrice()} = {$caculatedAmount}\n";
//해당 서비스(서버) 관련 결제방식(Billing)이 Month인 ServerPart 전체를 다시 검사하여 월청구액을 합산한다.
foreach ($this->getServerPartService()->getEntities(['serverinfo_uid' => $entity->getServerEntity()->getPK()]) as $serverPartEntity) {
if ($serverPartEntity->getBilling() === PAYMENT['BILLING']['MONTH']) { //월비용일때만 적용
$caculatedAmount += $serverPartEntity->getTotalAmount(); //단가*Cnt
}
}
$caculatedAmount = $entity->getRack() + $entity->getLine() + $serverAmount - $entity->getSale();
// echo "총서비스금액: {$caculatedAmount} - 할인액: {$entity->getSale()} = 최종금액: " . ($caculatedAmount - $entity->getSale()) . "\n";
// exit;
return $caculatedAmount - $entity->getSale();
return $caculatedAmount;
}
//서비스 총금액설정
final public function setAmount(ServiceEntity $entity): ServiceEntity
public function setAmount(int $uid): serviceEntity
{
$entity = parent::modify($entity, ['amount' => $this->getCaculatedAmount($entity)]);
$entity = $this->getPaymentService()->setService('modify', $entity, []);
return $entity;
$entity = $this->getEntity($uid);
if (!$entity instanceof ServiceEntity) {
throw new \Exception(__METHOD__ . "에서 오류발생: [{$uid}]에 대한 서비스정보를 찾을수 없습니다.");
}
return parent::modify($entity, ['amount' => $this->getCaculatedAmount($entity)]);;
}
//기본 기능부분
//FieldForm관련용
@ -230,50 +221,68 @@ class ServiceService extends CustomerService
//생성
public function create(array $formDatas): ServiceEntity
{
//신규등록(월청구액 전달값 그대로 사용하므로 getCaculatedAmount 필요없음)
$entity = parent::create($formDatas);
if (!array_key_exists('serverinfo_uid', $formDatas)) {
throw new \Exception(__METHOD__ . "에서 오류발생: 서버가 지정되지 않았습니다.");
}
//서버등록
$entity = $this->getServerService()->setService('create', $entity, $formDatas);
//전체 서비스금액 설정
$entity = $this->getPaymentService()->setService('create', $entity, $formDatas);
$entity = parent::modify($entity, ['paymentifo_uid' => $entity->getPaymentEntity()->getPK()]);
//Log처리
$this->getMylogService()->create(['title' => "[{$entity->getTitle()}] 서비스정보 추가", ['status'] => $entity->getStatus()]);
//서비스 정보 생성
$entity = parent::create($formDatas);
//지정된 서버정보에 서비스 설정
$serverEntity = $this->getServerService()->setService($entity, $entity->getServerInfoUID());
//서비스 총금액 설정
$entity = $this->setAmount($entity->getUID());
//결제정보 등록
$paymentEntity = $this->getPaymentService()->createService($entity);
//추가 필수정보 수정용
$entity = parent::modify($entity, [
'serverinfo_id' => $serverEntity->getPK(),
'payment_uid' => $paymentEntity->getPK()
]);
//Log정보 등록
$this->getMylogService()->create([
'title' => "[{$entity->getCustomTitle()}] 서비스정보 추가",
'status' => $entity->getStatus(),
]);
return $entity;
}
//수정
public function modify(mixed $entity, array $formDatas): ServiceEntity
{
//수정전 정보
$oldEntity = clone $entity; //반드시 clone 할것
//서비스정보 수정
$entity = parent::modify($entity, $formDatas);
//기존 서버정보와 다르다면 서버변경
if ($oldEntity->getServerEntity()->getPK() != $formDatas['serverinfo_uid']) {
//기존서버처리
$oldEntity = $this->getServerService()->setService('delete', $oldEntity, ['serverinfo_uid' => $oldEntity->getServerInfoUID()]);
//수정할신규서버처리
$entity = $this->getServerService()->setService('create', $entity, $formDatas);
if (!array_key_exists('serverinfo_uid', $formDatas)) {
throw new \Exception(__METHOD__ . "에서 오류발생: 서버가 지정되지 않았습니다.");
}
//전체 서비스 금액 재계산 후 설정
$entity = $this->setAmount($entity);
//Log처리
$this->getMylogService()->create(['title' => "[{$entity->getTitle()}] 서비스 수정", ['status'] => $entity->getStatus()]);
//기존서버정보 해지
$this->getServerService()->unsetService($entity, $entity->getServerInfoUID());
//서비스 정보 수정
$entity = parent::modify($entity, $formDatas);
//지정된 서버정보에 서비스 설정
$serverEntity = $this->getServerService()->setService($entity, $entity->getServerInfoUID());
//서비스 총금액 설정
$entity = $this->setAmount($entity->getUID());
//결제정보 수정
$paymentEntity = $this->getPaymentService()->modifyService($entity);
//추가 필수정보 수정용
$entity = parent::modify($entity, [
'serverinfo_id' => $serverEntity->getPK(),
'payment_uid' => $paymentEntity->getPK()
]);
//Log정보 등록
$this->getMylogService()->create([
'title' => "[{$entity->getCustomTitle()}] 서비스정보 수정",
'status' => $entity->getStatus(),
]);
return $entity;
}
//삭제
public function delete(mixed $entity): ServiceEntity
{
//서비스서버해지
foreach ($this->getServerService()->getEntities(['serviceinfo_uid' => $entity->getPK()]) as $serverEntity) {
$this->getServerService()->setService('delete', $entity, ['serverinfo_uid' => $serverEntity->getPK()]);
}
//기존서버정보 해지
$this->getServerService()->unsetService($entity, $entity->getServerInfoUID());
$entity = parent::delete($entity);
//Log처리
$this->getMylogService()->create(['title' => "[{$entity->getTitle()}] 서비스 해지", ['status'] => $entity->getStatus()]);
//Log정보 등록
$this->getMylogService()->create([
'title' => "[{$entity->getTitle()}] 서비스 해지",
'status' => $entity->getStatus()
]);
return $entity;
}
//비고(History)설정
@ -281,42 +290,41 @@ class ServiceService extends CustomerService
{
return parent::modify($entity, $formDatas);
}
//대체서버추가(가격변동은 없음)
//대체서버추가
public function addServer(ServiceEntity $entity, array $formDatas): ServiceEntity
{
if (!array_key_exists('serverinfo_uid', $formDatas)) {
throw new \Exception(__METHOD__ . "에서 오류발생:대체서버가 지정되지 않았습니다.");
}
$formDatas['type'] = 'alternative'; //대체서버로 등록하기위해 필요
return $this->getServerService()->setService('create', $entity, $formDatas);
$this->getServerService()->setService($entity, $formDatas['serverinfo_uid'], SERVER['TYPES']['ALTERNATIVE']);
return $entity;
}
//대체서버를 메인서버로 설정
public function changeServer(ServiceEntity $entity, array $formDatas): ServiceEntity
{
//수정전 정보
$oldEntity = clone $entity; //반드시 clone 할것
//기존 서버의 Type정보가져오기 위함
$oldServerEntity = $oldEntity->getServerEntity();
if (!$oldServerEntity instanceof ServerEntity) {
throw new \Exception(__METHOD__ . "에서 오류발생: 기존 메인 서버정보를 찾을수 없습니다.");
if (!array_key_exists('serverinfo_uid', $formDatas)) {
throw new \Exception(__METHOD__ . "에서 오류발생:메인서버로 전환할 대체서버가 지정되지 않았습니다.");
}
$type = $oldServerEntity->getType();
//기존메인서버 정보를 대체서버로 변경
$oldEntity = $this->getServerService()->setService('modify', $oldEntity, ['type' => SERVER['TYPES']['ALTERNATIVE']]);
//서비스정보 수정
$entity = parent::modify($entity, $formDatas);
//메인서버로 선정된 대체서버정보 Type을 기존 메인서버의 Type으로 변경
$entity = $this->getServerService()->setService('modify', $entity, ['type' => $type]);
//전체 서비스 금액 재계산 후 설정
return $this->setAmount($entity);
//기존 메인서버정보 가져오기
$serverEntity = $this->getServerService()->getEntity($entity->getServerInfoUID());
if (!$serverEntity instanceof ServerEntity) {
throw new \Exception(__METHOD__ . "에서 오류발생: {$entity->getServerInfoUID()}에 대한 서버정보를 찾을수 없습니다.");
}
//지정된 대체서버의 Type을 메인서버의 Type으로 전환
$this->getServerService()->setService($entity, $formDatas['serverinfo_uid'], $serverEntity->getType());
return $this->modify($entity, $formDatas);
}
//대체서버해지(대체서버는 해지는 가격변동은 없음)
//대체서버해지
public function terminateServer(ServiceEntity $entity, array $formDatas): ServiceEntity
{
if (!array_key_exists('serverinfo_uid', $formDatas)) {
throw new \Exception(__METHOD__ . "에서 오류발생:메인서버로 전환할 대체서버가 지정되지 않았습니다.");
}
if ($entity->getServerEntity()->getPK() === $formDatas['serverinfo_uid']) {
throw new \Exception(__METHOD__ . "에서 오류발생: 서비스의 메인 서버정보는 해지할 수 없습니다.");
}
//대체서버해지
return $this->getServerService()->setService('delete', $entity, ['serverinfo_uid' => $formDatas['serverinfo_uid']]);
$this->getServerService()->unsetService($entity, $formDatas['serverinfo_uid']);
return $entity;
}
}

View File

@ -204,45 +204,38 @@ class ServerPartService extends EquipmentService implements ServerInterface
return $formDatas;
}
//서버정보 설정
final public function setServer(string $action, ServerEntity $serverEntity, array $serverFormDatas): ServerEntity
public function setServer(ServerEntity $serverEntity): void
{
switch ($action) {
case 'create':
$server_type = strtoupper($serverEntity->getTitle()); //서버의 Title로 구분해서 기본부품 추가
foreach (SERVERPART['SERVER_PARTTYPES'] as $parttype) {
//해당 server_type의 정의된 상수값이 있으면
if (array_key_exists($server_type, SERVERPART[$parttype])) {
foreach (SERVERPART[$parttype][$server_type] as $serverpart) {
$formDatas = [];
$formDatas['serverinfo_uid'] = $serverEntity->getPK();
$formDatas["part_uid"] = $serverpart["UID"];
$formDatas['billing'] = PAYMENT['BILLING']['BASE'];
$formDatas['type'] = $parttype;
$formDatas['cnt'] = $serverpart["CNT"];
$formDatas['extra'] = $serverpart["EXTRA"];
$formDatas = $this->setDefaultPartByServer($parttype, $formDatas);
//서버연결정보 생성
parent::create($formDatas);
}
}
$server_type = $serverEntity->getTitle(); //대소문자구분 필요->서버의 Title로 구분해서 기본부품 추가
foreach (SERVERPART['SERVER_PARTTYPES'] as $parttype) {
//해당 server_type의 정의된 상수값이 있으면
if (array_key_exists($server_type, SERVERPART[$parttype])) {
foreach (SERVERPART[$parttype][$server_type] as $serverpart) {
$formDatas = [];
$formDatas['serverinfo_uid'] = $serverEntity->getPK();
$formDatas["part_uid"] = $serverpart["UID"];
$formDatas['billing'] = PAYMENT['BILLING']['BASE'];
$formDatas['type'] = $parttype;
$formDatas['cnt'] = $serverpart["CNT"];
$formDatas['extra'] = $serverpart["EXTRA"];
$formDatas = $this->setDefaultPartByServer($parttype, $formDatas);
//서버연결정보 생성
parent::create($formDatas);
}
break;
case 'delete':
//서버정보에 해당하는 ServerPart정보 모두 회수처리 후 서버정보에 기본 ServerPart를 다시 등록해준다.
foreach ($this->getEntities(['serverinfo_uid' => $serverEntity->getPK()]) as $entity) {
//Type에 따른 부품서비스 정의
$this->getPartService($entity->getType())->setServerPart('delete', $entity, []);
//서버연결정보 식제
parent::delete($entity);
}
//서버정보에 기본 ServerPart를 다시 등록해준다.
$this->setServer('create', $serverEntity, []);
break;
default:
throw new \Exception(__METHOD__ . "에서 오류발생:{$action}은 정의되지 않은 작업입니다.");
// break;
}
}
return $serverEntity;
}
public function unsetServer(ServerEntity $serverEntity): void
{
//서버정보에 해당하는 ServerPart정보 모두 회수처리 후 서버정보에 기본 ServerPart를 다시 등록해준다.
foreach ($this->getEntities(['serverinfo_uid' => $serverEntity->getPK()]) as $entity) {
//Type에 따른 부품서비스 정의
$this->getPartService($entity->getType())->setServerPart('delete', $entity, []);
//서버연결정보 식제
parent::delete($entity);
}
//서버정보에 기본 ServerPart를 다시 등록해준다.
$this->setServer($serverEntity);
}
//partEntity 정보 추가
protected function getEntity_process(mixed $entity): ServerPartEntity
@ -395,7 +388,7 @@ class ServerPartService extends EquipmentService implements ServerInterface
case PAYMENT['BILLING']['MONTH']: //월별과금일때만 처리
if ($entity->getServiceInfoUID() !== null) { //서비스가 정의되어 있으면
//서비스 금액만 재계산변경
$this->getServiceService()->setAmount($this->getServiceService()->getEntity($entity->getServiceInfoUID()));
$this->getServiceService()->setAmount($entity->getServiceInfoUID());
}
break;
case PAYMENT['BILLING']['ONETIME']: //일회성일때만 처리

View File

@ -5,7 +5,6 @@ namespace App\Services\Equipment;
use App\Entities\Customer\ServiceEntity;
use App\Entities\Equipment\ServerEntity;
use App\Helpers\Equipment\ServerHelper;
use App\Interfaces\Customer\ServiceInterface;
use App\Models\Equipment\ServerModel;
use App\Services\Customer\ServiceService;
use App\Services\Equipment\EquipmentService;
@ -13,7 +12,7 @@ use App\Services\Equipment\ServerPartService;
use App\Services\Part\IPService;
use App\Services\Part\SWITCHService;
class ServerService extends EquipmentService implements ServiceInterface
class ServerService extends EquipmentService
{
private ?ServiceService $_serviceService = null;
private ?ServerPartService $_serverPartService = null;
@ -169,6 +168,7 @@ class ServerService extends EquipmentService implements ServiceInterface
}
return $rows;
}
//서버 Title별 카운트수
final public function getStockCount(): array
{
$builder = $this->getModel()->select('title,COUNT(*) AS cnt')->groupBy('title')->builder();
@ -179,73 +179,59 @@ class ServerService extends EquipmentService implements ServiceInterface
}
return $rows;
}
//서비스정보 설정
public function setService(string $action, ServiceEntity $serviceEntity, array $serviceFormDatas): ServiceEntity
//총 서버금액 설정()
//기본:서버금액(price)+서버파트연결(월비용)
final public function getCaculatedAmount(ServerEntity $entity): int
{
switch ($action) {
case 'create':
if (!array_key_exists('serverinfo_uid', $serviceFormDatas)) {
throw new \Exception(__METHOD__ . "에서 {$action}오류발생: 서버가 지정되지 않았습니다.\n" . var_export($serviceFormDatas, true));
}
$entity = $this->getEntity($serviceFormDatas['serverinfo_uid']);
if (!$entity instanceof ServerEntity || $entity->getStatus() != STATUS['AVAILABLE']) {
throw new \Exception(__METHOD__ . "에서 {$action}오류발생: {$serviceFormDatas['serverinfo_uid']}에 대한 서버정보를 찾을수 없거나, 사용가능 서버가 아닙니다.");
}
$formDatas = [];
//대체서버 추가용인지 확인
if (array_key_exists('type', $serviceFormDatas)) {
$formDatas['type'] = $serviceFormDatas['type'];
}
$formDatas['clientinfo_uid'] = $serviceEntity->getClientInfoUID();
$formDatas['serviceinfo_uid'] = $serviceEntity->getPK();
$formDatas['status'] = STATUS['OCCUPIED'];
$entity = parent::modify($entity, $formDatas);
break;
case 'modify':
$entity = $serviceEntity->getServerEntity();
if (!$entity instanceof ServerEntity) {
throw new \Exception(__METHOD__ . "에서 {$action}오류발생: {$serviceFormDatas['serverinfo_uid']}에 대한 서버정보를 찾을수 없거나, 사용가능 서버가 아닙니다.");
}
$formDatas = [];
if (array_key_exists('type', $serviceFormDatas)) {
$formDatas['type'] = $serviceFormDatas['type'];
}
$entity = parent::modify($entity, $formDatas);
break;
case 'delete':
if (!array_key_exists('serverinfo_uid', $serviceFormDatas)) {
throw new \Exception(__METHOD__ . "에서 {$action}오류발생: 서버가 지정되지 않았습니다.");
}
$selectedEntity = null;
foreach ($this->getEntities(['serviceinfo_uid' => $serviceEntity->getPK()]) as $entity) {
if ($entity->getPK() == $serviceFormDatas['serverinfo_uid']) {
if ($serviceEntity->getServerEntity()->getPK() == $entity->getPK()) {
throw new \Exception(__METHOD__ . "에서 {$action}오류발생: 서비스의 메인 서버정보는 해지할 수 없습니다.");
}
$selectedEntity = $entity;
break;
}
}
if (!$selectedEntity instanceof ServerEntity) {
throw new \Exception(__METHOD__ . "에서 {$action}오류발생: 해지 할 서버정보를 찾을수 없습니다.");
}
$formDatas = [];
$formDatas['clientinfo_uid'] = null;
$formDatas['serviceinfo_uid'] = null;
$formDatas['format_at'] = date("Y-m-d");
$formDatas['status'] = STATUS['AVAILABLE'];
$entity = parent::modify($selectedEntity, $formDatas);
//서버파트정보해지
$this->getServerPartService()->setServer('delete', $entity, []);
break;
default:
throw new \Exception(__METHOD__ . "에서 오류발생:{$action}은 정의되지 않은 작업입니다.");
// break;
$caculatedAmount = $entity->getPrice();
//해당 서비스(서버) 관련 결제방식(Billing)이 Month인 ServerPart 전체를 다시 검사하여 월청구액을 합산한다.
foreach ($this->getServerPartService()->getEntities(['serverinfo_uid' => $entity->getPK()]) as $serverPartEntity) {
if ($serverPartEntity->getBilling() === PAYMENT['BILLING']['MONTH']) { //월비용일때만 적용
$caculatedAmount += $serverPartEntity->getTotalAmount(); //단가*Cnt
}
}
return $caculatedAmount;
}
//서비스 생성
public function setService(ServiceEntity $serviceEntity, int $uid, string $type = ""): ServerEntity
{
$entity = $this->getEntity($uid);
if (!$entity instanceof ServerEntity) {
throw new \Exception(__METHOD__ . "에서 {$action}->setServerEntity오류발생:결제정보를 찾을수 없습니다.");
throw new \Exception(__METHOD__ . "에서 오류발생: [{$uid}]에 대한 서버정보를 찾을수 없습니다.");
}
return $serviceEntity->setServerEntity($entity);
$formDatas = [];
$formDatas['clientinfo_uid'] = $serviceEntity->getClientInfoUID();
$formDatas['serviceinfo_uid'] = $serviceEntity->getPK();
if ($type !== "") { //대체서버 추가
$formDatas['type'] = $type;
}
$formDatas['status'] = STATUS['OCCUPIED'];
return $this->modify($entity, $formDatas);
}
//서비스 해지
public function unsetService(ServiceEntity $serviceEntity, int $uid): void
{
//서버정보 가져오기
$entity = $this->getEntity($uid);
if (!$entity instanceof ServerEntity) {
throw new \Exception(__METHOD__ . "에서 오류발생: [{$uid}]에 대한 서버정보를 찾을수 없습니다.");
}
$formDatas = [];
$formDatas['clientinfo_uid'] = null;
$formDatas['serviceinfo_uid'] = null;
$formDatas['format_at'] = date("Y-m-d");
$formDatas['status'] = STATUS['AVAILABLE'];
//Switch정보 해지
if ($entity->getSwitch() !== null) { //기존 서버정보에 Switch가 정의되어 있으면
$this->getSwitchService()->unsetServer($entity);
}
//IP정보해지
if ($entity->getIP() !== null) { //기존 서버정보에 IP가 정의되어 있으면
$this->getIPService()->unsetServer($entity);
}
//서버파트정보해지
$this->getServerPartService()->unsetServer($entity);
$this->modify($entity, $formDatas);
}
//기본 기능부분
//FieldForm관련용
@ -266,23 +252,32 @@ class ServerService extends EquipmentService implements ServiceInterface
//서버정보 생성
$entity = parent::create($formDatas);
//서버의 Type별 서버파트정보등록(서버파트연결 자동등록용)
$entity = $this->getServerPartService()->setServer('create', $entity, []);
$this->getServerPartService()->setServer($entity);
if ($entity->getSwitch() !== null) { //Switch가 정의되어 있으면
$entity = $this->getSwitchService()->setServer('create', $entity, []);
$this->getSwitchService()->setServer($entity);
}
// dd($entity);
if ($entity->getIP() !== null) { //IP가 정의되어 있으면
$entity = $this->getIPService()->setServer('create', $entity, []);
$this->getIPService()->setServer($entity);
}
//Log처리
$this->getMylogService()->create(['title' => "[{$entity->getTitle()}] 서버 추가", ['status'] => $entity->getStatus()]);
$this->getMylogService()->create([
'title' => "[{$entity->getTitle()}] 서버 추가",
'status' => $entity->getStatus()
]);
return $entity;
}
//수정
public function modify(mixed $entity, array $formDatas): ServerEntity
{
//수정전 정보
$oldEntity = clone $entity; //반드시 clone 할것
//Switch정보 수정
if ($entity->getSwitch() !== null) { //기존 서버정보에 Switch가 정의되어 있으면
$this->getSwitchService()->unsetServer($entity);
}
//IP정보 수정
if ($entity->getSwitch() !== null) { //기존 서버정보에 IP가 정의되어 있으면
$this->getIPService()->unsetServer($entity);
}
//ip값이 없으면 null처리
if (array_key_exists('ip', $formDatas) && !$formDatas['ip']) {
$formDatas['ip'] = null;
@ -290,25 +285,20 @@ class ServerService extends EquipmentService implements ServiceInterface
//서버정보 수정
$entity = parent::modify($entity, $formDatas);
//서비스가 연결되어 있고 대체서버가 아니면, 서비스정보수정(청구액수정)
if ($entity->getServiceInfoUID() !== null && $entity->getType() !== "alternative") {
$this->getServiceService()->setAmount($this->getServiceService()->getEntity($entity->getServiceInfoUID()));
}
//Switch정보 수정
if ($oldEntity->getSwitch() !== null) { //기존 서버정보에 Switch가 정의되어 있으면
$oldEntity = $this->getSwitchService()->setServer('delete', $oldEntity, []);
if ($entity->getServiceInfoUID() !== null && $entity->getType() !== SERVER['TYPES']['ALTERNATIVE']) {
$this->getServiceService()->setAmount($entity->getServiceInfoUID());
}
if ($entity->getSwitch() !== null) { //Switch가 정의되어 있으면
$entity = $this->getSwitchService()->setServer('create', $entity, []);
}
//IP정보 수정
if ($oldEntity->getIP() !== null) { //기존 서버정보에 IP가 정의되어 있으면
$oldEntity = $this->getIPService()->setServer('delete', $oldEntity, []);
$this->getSwitchService()->setServer($entity);
}
if ($entity->getIP() !== null) { //IP가 정의되어 있으면
$entity = $this->getIPService()->setServer('create', $entity, []);
$this->getIPService()->setServer($entity);
}
//Log처리
$this->getMylogService()->create(['title' => "[{$entity->getTitle()}] 서버 수정", ['status'] => $entity->getStatus()]);
$this->getMylogService()->create([
'title' => "[{$entity->getTitle()}] 서버 수정",
'status' => $entity->getStatus()
]);
return $entity;
}
//삭제
@ -318,11 +308,22 @@ class ServerService extends EquipmentService implements ServiceInterface
if ($entity->getServiceInfoUID() !== null || $entity->getStatus() !== STATUS['AVAILABLE']) {
throw new \Exception("서비스중인 서버는 삭제하실수 없습니다.");
}
//Switch정보 해지
if ($entity->getSwitch() !== null) { //기존 서버정보에 Switch가 정의되어 있으면
$this->getSwitchService()->unsetServer($entity);
}
//IP정보해지
if ($entity->getIP() !== null) { //기존 서버정보에 IP가 정의되어 있으면
$this->getIPService()->unsetServer($entity);
}
//서버파트정보해지
$entity = $this->getServerPartService()->setServer('delete', $entity, []);
$this->getServerPartService()->unsetServer($entity);
$entity = parent::delete($entity);
//Log처리
$this->getMylogService()->create(['title' => "[{$entity->getTitle()}] 서버 삭제", ['status'] => $entity->getStatus()]);
$this->getMylogService()->create([
'title' => "[{$entity->getTitle()}] 서버 삭제",
'status' => $entity->getStatus()
]);
return $entity;
}
//List 검색용

View File

@ -2,6 +2,8 @@
namespace App\Services;
use App\Entities\Customer\ServiceEntity;
use App\Entities\MyLogEntity;
use App\Helpers\MyLogHelper;
use App\Models\MyLogModel;
use App\Services\CommonService;

View File

@ -112,48 +112,41 @@ class IPService extends PartService implements ServerInterface
parent::setOrderBy($field, $value);
}
//서버관련 작업
public function setServer(string $action, ServerEntity $serverEntity, array $serverDatas): ServerEntity
public function setServer(ServerEntity $serverEntity): void
{
switch ($action) {
case 'create':
$formDatas = [];
$formDatas['clientinfo_uid'] = $serverEntity->getClientInfoUID();
$formDatas['serviceinfo_uid'] = $serverEntity->getServiceInfoUID();
$formDatas['serverinfo_uid'] = $serverEntity->getPK();
$formDatas['status'] = STATUS['OCCUPIED'];
if (!array_key_exists('status', $formDatas)) {
throw new \Exception(__METHOD__ . ":에서 {$action}오류발생: IP상태가 설정되지 않았습니다.");
}
//IP정보에서 해당하는 IP가 있으면 가져와서 사용중인지 체크 후 수정
$entity = $this->getEntity(['ip' => $serverEntity->getIP()]);
if ($entity instanceof IPEntity) {
if ($entity->getStatus() !== STATUS['AVAILABLE']) {
throw new \Exception(__METHOD__ . ":에서 {$action}오류발생: {$serverEntity->getIP()}는 사용중인 IP입니다.");
}
$entity = parent::modify($entity, $formDatas);
}
break;
case 'delete': //반드시 serverPartEntity 사용해야함
$formDatas = [];
$formDatas['clientinfo_uid'] = null;
$formDatas['serviceinfo_uid'] = null;
$formDatas['serverinfo_uid'] = null;
$formDatas['old_clientinfo_uid'] = $serverEntity->getClientInfoUID() ?? null;
$formDatas['status'] = STATUS['AVAILABLE'];
if (!array_key_exists('status', $formDatas)) {
throw new \Exception(__METHOD__ . ":에서 {$action}오류발생: IP상태가 설정되지 않았습니다.");
}
//IP정보가져와서 있으면 수정
$entity = $this->getEntity(['ip' => $serverEntity->getIP()]);
if ($entity instanceof IPEntity) {
$entity = parent::modify($entity, $formDatas);
}
break;
default:
throw new \Exception(__METHOD__ . ":에서 {$action}오류발생: 정의되지 않은 작업입니다.");
// break;
$formDatas = [];
$formDatas['clientinfo_uid'] = $serverEntity->getClientInfoUID();
$formDatas['serviceinfo_uid'] = $serverEntity->getServiceInfoUID();
$formDatas['serverinfo_uid'] = $serverEntity->getPK();
$formDatas['status'] = STATUS['OCCUPIED'];
if (!array_key_exists('status', $formDatas)) {
throw new \Exception(__METHOD__ . ":에서 오류발생: IP상태가 설정되지 않았습니다.");
}
//IP정보에서 해당하는 IP가 있으면 가져와서 사용중인지 체크 후 수정
$entity = $this->getEntity(['ip' => $serverEntity->getIP()]);
if ($entity instanceof IPEntity) {
if ($entity->getStatus() !== STATUS['AVAILABLE']) {
throw new \Exception(__METHOD__ . ":에서 오류발생: {$serverEntity->getIP()}는 사용중인 IP입니다.");
}
$entity = parent::modify($entity, $formDatas);
}
}
public function unsetServer(ServerEntity $serverEntity): void
{
$formDatas = [];
$formDatas['clientinfo_uid'] = null;
$formDatas['serviceinfo_uid'] = null;
$formDatas['serverinfo_uid'] = null;
$formDatas['old_clientinfo_uid'] = $serverEntity->getClientInfoUID() ?? null;
$formDatas['status'] = STATUS['AVAILABLE'];
if (!array_key_exists('status', $formDatas)) {
throw new \Exception(__METHOD__ . ":에서 오류발생: IP상태가 설정되지 않았습니다.");
}
//IP정보가져와서 있으면 수정
$entity = $this->getEntity(['ip' => $serverEntity->getIP()]);
if ($entity instanceof IPEntity) {
$entity = parent::modify($entity, $formDatas);
}
return $serverEntity;
}
//서버파트관련 작업

View File

@ -91,48 +91,41 @@ class SWITCHService extends PartService implements ServerInterface
parent::setOrderBy($field, $value);
}
//서버관련 작업
public function setServer(string $action, ServerEntity $serverEntity, array $serverDatas): ServerEntity
public function setServer(ServerEntity $serverEntity): void
{
switch ($action) {
case 'create':
$formDatas = [];
$formDatas['clientinfo_uid'] = $serverEntity->getClientInfoUID();
$formDatas['serviceinfo_uid'] = $serverEntity->getServiceInfoUID();
$formDatas['serverinfo_uid'] = $serverEntity->getPK();
$formDatas['status'] = STATUS['OCCUPIED'];
if (!array_key_exists('status', $formDatas)) {
throw new \Exception(__METHOD__ . ":에서 {$action}오류발생: Switch상태가 설정되지 않았습니다.");
}
//Switch정보에서 해당하는 Switch가 있으면 가져와서 사용중인지 체크 후 수정
$entity = $this->getEntity(['code' => $serverEntity->getSwitch()]);
if ($entity instanceof SWITCHEntity) {
if ($entity->getStatus() !== STATUS['AVAILABLE']) {
throw new \Exception(__METHOD__ . ":에서 {$action}오류발생: {$serverEntity->getSwitch()}는 사용중인 Switch입니다.");
}
$entity = parent::modify($entity, $formDatas);
}
break;
case 'delete': //반드시 serverPartEntity 사용해야함
$formDatas = [];
$formDatas['clientinfo_uid'] = null;
$formDatas['serviceinfo_uid'] = null;
$formDatas['serverinfo_uid'] = null;
$formDatas['old_clientinfo_uid'] = $serverEntity->getClientInfoUID() ?? null;
$formDatas['status'] = STATUS['AVAILABLE'];
if (!array_key_exists('status', $formDatas)) {
throw new \Exception(__METHOD__ . ":에서 {$action}오류발생: Switch상태가 설정되지 않았습니다.");
}
//Switch정보가져와서 있으면 수정
$entity = $this->getEntity(['code' => $serverEntity->getSwitch()]);
if ($entity instanceof SWITCHEntity) {
$entity = parent::modify($entity, $formDatas);
}
break;
default:
throw new \Exception(__METHOD__ . ":에서 {$action}오류발생: 정의되지 않은 작업입니다.");
// break;
$formDatas = [];
$formDatas['clientinfo_uid'] = $serverEntity->getClientInfoUID();
$formDatas['serviceinfo_uid'] = $serverEntity->getServiceInfoUID();
$formDatas['serverinfo_uid'] = $serverEntity->getPK();
$formDatas['status'] = STATUS['OCCUPIED'];
if (!array_key_exists('status', $formDatas)) {
throw new \Exception(__METHOD__ . ":에서 오류발생: Switch상태가 설정되지 않았습니다.");
}
//Switch정보에서 해당하는 Switch가 있으면 가져와서 사용중인지 체크 후 수정
$entity = $this->getEntity(['code' => $serverEntity->getSwitch()]);
if ($entity instanceof SWITCHEntity) {
if ($entity->getStatus() !== STATUS['AVAILABLE']) {
throw new \Exception(__METHOD__ . ":에서 오류발생: {$serverEntity->getSwitch()}는 사용중인 Switch입니다.");
}
$entity = parent::modify($entity, $formDatas);
}
}
public function unsetServer(ServerEntity $serverEntity): void
{
$formDatas = [];
$formDatas['clientinfo_uid'] = null;
$formDatas['serviceinfo_uid'] = null;
$formDatas['serverinfo_uid'] = null;
$formDatas['old_clientinfo_uid'] = $serverEntity->getClientInfoUID() ?? null;
$formDatas['status'] = STATUS['AVAILABLE'];
if (!array_key_exists('status', $formDatas)) {
throw new \Exception(__METHOD__ . ":에서 오류발생: Switch상태가 설정되지 않았습니다.");
}
//Switch정보가져와서 있으면 수정
$entity = $this->getEntity(['code' => $serverEntity->getSwitch()]);
if ($entity instanceof SWITCHEntity) {
$entity = parent::modify($entity, $formDatas);
}
return $serverEntity;
}
//서버파트관련 작업
public function setServerPart(string $action, ServerPartEntity $serverPartEntity, array $serverPartDatas): ServerPartEntity

View File

@ -7,15 +7,13 @@ use App\Entities\Customer\ServiceEntity;
use App\Entities\Equipment\ServerPartEntity;
use App\Entities\PaymentEntity;
use App\Helpers\PaymentHelper;
use App\Interfaces\Customer\ServiceInterface;
use App\Interfaces\Equipment\ServerPartInterface;
use App\Models\PaymentModel;
use App\Services\CommonService;
use App\Services\Customer\AccountService;
use App\Services\Customer\ServiceService;
use App\Services\Equipment\ServerPartService;
class PaymentService extends CommonService implements ServiceInterface, ServerPartInterface
class PaymentService extends CommonService
{
private ?ServiceService $_serviceService = null;
private ?ServerPartService $_serverPartService = null;
@ -110,73 +108,56 @@ class PaymentService extends CommonService implements ServiceInterface, ServerPa
}
return $unPaids;
}
//서비스정보 설정
final public function setService(string $action, ServiceEntity $serviceEntity, array $serviceFormDatas): ServiceEntity
//서비스 생성
public function createService(ServiceEntity $serviceEntity): PaymentEntity
{
switch ($action) {
case 'create': //서비스 가격 추가용
$formDatas = [];
$formDatas['clientinfo_uid'] = $serviceEntity->getClientInfoUID();
$formDatas['serviceinfo_uid'] = $serviceEntity->getPK();
$formDatas['serverinfo_uid'] = $serviceEntity->getServerInfoUID();
$formDatas['title'] = sprintf(
"[%s/%s] %s 서비스비용",
$serviceEntity->getServerEntity()->getCode(),
$serviceEntity->getServerEntity()->getIP(),
date("Y년 n월", strtotime($serviceEntity->getBillingAt()))
);
$formDatas['amount'] = $serviceEntity->getAmount();
$formDatas['billing'] = PAYMENT['BILLING']['MONTH'];
$formDatas['billing_at'] = $serviceEntity->getBillingAt();
$entity = parent::create($formDatas);
break;
case 'modify': //서비스 가격 수정용
if ($serviceEntity->getPaymentUID() === null) {
throw new \Exception(__METHOD__ . "에서 {$action}오류발생:서비스정보에 결제정보가 정의되지 않았습니다.");
}
$entity = $this->getEntity($serviceEntity->getPaymentUID());
if (!$entity instanceof PaymentEntity) {
throw new \Exception(__METHOD__ . "에서 {$action}오류발생:결제정보를 찾을수 없습니다.");
}
if ($entity->getStatus() === STATUS['PAID']) {
throw new \Exception(__METHOD__ . "에서 {$action}오류발생:결제완료된 서비스는 수정할수 없습니다.");
}
$formDatas = [];
$formDatas['clientinfo_uid'] = $serviceEntity->getClientInfoUID();
$formDatas['serviceinfo_uid'] = $serviceEntity->getPK();
$formDatas['serverinfo_uid'] = $serviceEntity->getServerInfoUID();
$formDatas['title'] = sprintf(
"[%s/%s] %s 서비스비용",
$serviceEntity->getServerEntity()->getCode(),
$serviceEntity->getServerEntity()->getIP(),
date("Y년 n월", strtotime($serviceEntity->getBillingAt()))
);
$formDatas['amount'] = $serviceEntity->getAmount();
$formDatas['billing'] = PAYMENT['BILLING']['MONTH'];
$formDatas['billing_at'] = $serviceEntity->getBillingAt();
$entity = parent::modify($entity, $formDatas);
break;
case 'delete':
if ($serviceEntity->getPaymentUID() === null) {
throw new \Exception(__METHOD__ . "에서 {$action}오류발생:서비스정보에 결제정보가 정의되지 않았습니다.");
}
$entity = $this->getEntity($serviceEntity->getPaymentUID());
if (!$entity instanceof PaymentEntity) {
throw new \Exception(__METHOD__ . "에서 {$action}오류발생:결제정보를 찾을수 없습니다.");
}
if ($entity->getStatus() === STATUS['PAID']) {
throw new \Exception(__METHOD__ . "에서 {$action}오류발생:결제완료된 서비스는 수정할수 없습니다.");
}
$entity = parent::delete($entity);
break;
default:
throw new \Exception(__METHOD__ . "에서 오류발생:{$action}은 정의되지 않은 작업입니다.");
// break;
}
$formDatas = [];
$formDatas['clientinfo_uid'] = $serviceEntity->getClientInfoUID();
$formDatas['serviceinfo_uid'] = $serviceEntity->getPK();
$formDatas['serverinfo_uid'] = $serviceEntity->getServerInfoUID();
$formDatas['title'] = sprintf(
"[%s/%s] %s 서비스비용",
$serviceEntity->getServerEntity()->getCode(),
$serviceEntity->getServerEntity()->getIP(),
date("Y년 n월", strtotime($serviceEntity->getBillingAt()))
);
$formDatas['amount'] = $serviceEntity->getAmount();
$formDatas['billing'] = PAYMENT['BILLING']['MONTH'];
$formDatas['billing_at'] = $serviceEntity->getBillingAt();
return $this->create($formDatas);
}
//서비스 변경
public function modifyService(ServiceEntity $serviceEntity): PaymentEntity
{
$entity = $this->getEntity($serviceEntity->getPaymentUID());
if (!$entity instanceof PaymentEntity) {
throw new \Exception(__METHOD__ . "에서 {$action}->setPaymentEntity오류발생:결제정보를 찾을수 없습니다.");
throw new \Exception(__METHOD__ . "에서 오류발생:결제정보를 찾을수 없습니다.");
}
$formDatas = [];
$formDatas['clientinfo_uid'] = $serviceEntity->getClientInfoUID();
$formDatas['serviceinfo_uid'] = $serviceEntity->getPK();
$formDatas['serverinfo_uid'] = $serviceEntity->getServerInfoUID();
$formDatas['title'] = sprintf(
"[%s/%s] %s 서비스비용",
$serviceEntity->getServerEntity()->getCode(),
$serviceEntity->getServerEntity()->getIP(),
date("Y년 n월", strtotime($serviceEntity->getBillingAt()))
);
$formDatas['amount'] = $serviceEntity->getAmount();
$formDatas['billing'] = PAYMENT['BILLING']['MONTH'];
$formDatas['billing_at'] = $serviceEntity->getBillingAt();
return $this->modify($entity, $formDatas);
}
//서비스 해지
public function deleteService(ServiceEntity $serviceEntity): void
{
if ($serviceEntity->getPaymentUID() !== null) {
$entity = $this->getEntity($serviceEntity->getPaymentUID());
if (!$entity instanceof PaymentEntity) {
throw new \Exception(__METHOD__ . "에서 오류발생:결제정보를 찾을수 없습니다.");
}
$this->delete($entity);
}
return $serviceEntity->setPaymentEntity($entity);
}
final public function setServerPart(string $action, ServerPartEntity $serverPartEntity, array $servicePartFormDatas): ServerPartEntity
{
@ -289,20 +270,40 @@ class PaymentService extends CommonService implements ServiceInterface, ServerPa
$formDatas['clientinfo_uid'] = $serviceEntity->getClientInfoUID();
$entity = parent::create($formDatas);
//Log처리
$this->getMylogService()->create(['title' => "[{$entity->getTitle()}] 일회성 결제", ['status'] => $entity->getStatus()]);
$this->getMylogService()->create([
'title' => "[{$entity->getTitle()}] 일회성 결제",
'status' => $entity->getStatus()
]);
return $entity;
}
//월과금용 일괄결제처리(결제는 무조건 예치금으로만 처리)
public function batchjob(mixed $entity, array $formDatas): mixed
{
if (!$entity instanceof PaymentEntity) {
throw new \Exception(__METHOD__ . "에서 오류발생:결제정보가 정의되지 않았습니다.");
}
//결제 완료 처리 후 추가정보 처리
$formDatas['status'] = STATUS['PAID'];
$entity = parent::batchjob($entity, $formDatas);
//Log처리
$this->getMylogService()->create(['title' => "[{$entity->getTitle()}] 월과금 결제", ['status'] => $entity->getStatus()]);
$this->getMylogService()->create([
'title' => "[{$entity->getTitle()}] 월과금 결제",
'status' => $entity->getStatus()
]);
//예치금처리
return $this->getAccountService()->setPayment('create', $entity, []);
}
//결제정보 삭제
public function delete(mixed $entity): PaymentEntity
{
if (!$entity instanceof PaymentEntity) {
throw new \Exception(__METHOD__ . "에서 오류발생:결제정보가 정의되지 않았습니다.");
}
if ($entity->getStatus() === STATUS['PAID']) {
throw new \Exception(__METHOD__ . "에서 오류발생:결제완료된 서비스는 삭제할수 없습니다.");
}
return parent::delete($entity);
}
//List 검색용
//OrderBy 처리
final public function setOrderBy(mixed $field = null, mixed $value = null): void

View File

@ -8,9 +8,6 @@
<div class="accordion-item">
<a href="/admin/board?category=<?= BOARD['CATEGORY']['NOTICE'] ?>"><?= ICONS['SERVICE_ITEM_LINE'] ?>공지사항</a>
</div>
<div class="accordion-item">
<a href="/admin/board?category=<?= BOARD['CATEGORY']['WORKING'] ?>"><?= ICONS['SERVICE_ITEM_SERVER'] ?>작업일지</a>
</div>
<div class="accordion-item">
<a href="/admin/board?category=<?= BOARD['CATEGORY']['REQUESTTASK'] ?>"><?= ICONS['SERVICE_ITEM_SERVER'] ?>요청업무</a>
</div>