dbmsv4 init...1
This commit is contained in:
parent
5e47854cbe
commit
3542458ac7
@ -13,6 +13,12 @@ use App\Services\Equipment\ServerPartService;
|
||||
use App\Services\Equipment\ServerService;
|
||||
use App\Services\MylogService;
|
||||
use App\Services\Part\CPUService;
|
||||
use App\Services\Part\CSService;
|
||||
use App\Services\Part\DISKService;
|
||||
use App\Services\Part\IPService;
|
||||
use App\Services\Part\RAMService;
|
||||
use App\Services\Part\SOFTWAREService;
|
||||
use App\Services\Part\SWITCHService;
|
||||
use App\Services\PaymentService;
|
||||
use App\Services\UserService;
|
||||
use CodeIgniter\Config\BaseService;
|
||||
@ -213,21 +219,21 @@ class Services extends BaseService
|
||||
new \App\Models\Part\SWITCHModel(),
|
||||
);
|
||||
}
|
||||
public static function part_ipservice($getShared = true): IPervice
|
||||
public static function part_ipservice($getShared = true): IPService
|
||||
{
|
||||
if ($getShared) {
|
||||
return static::getSharedInstance(__FUNCTION__);
|
||||
}
|
||||
return new IPervice(
|
||||
return new IPService(
|
||||
new \App\Models\Part\IPModel(),
|
||||
);
|
||||
}
|
||||
public static function part_csservice($getShared = true): CService
|
||||
public static function part_csservice($getShared = true): CSService
|
||||
{
|
||||
if ($getShared) {
|
||||
return static::getSharedInstance(__FUNCTION__);
|
||||
}
|
||||
return new CService(
|
||||
return new CSService(
|
||||
new \App\Models\Part\CSModel(),
|
||||
);
|
||||
}
|
||||
|
||||
250
app/Controllers/Admin/Part/CSController.php
Normal file
250
app/Controllers/Admin/Part/CSController.php
Normal file
@ -0,0 +1,250 @@
|
||||
<?php
|
||||
|
||||
namespace App\Controllers\Admin\Part;
|
||||
|
||||
use App\Entities\Part\CSEntity;
|
||||
use CodeIgniter\HTTP\DownloadResponse;
|
||||
use CodeIgniter\HTTP\RedirectResponse;
|
||||
use CodeIgniter\HTTP\RequestInterface;
|
||||
use CodeIgniter\HTTP\ResponseInterface;
|
||||
use CodeIgniter\Validation\Exceptions\ValidationException;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
class CSController extends PartController
|
||||
{
|
||||
public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
|
||||
{
|
||||
parent::initController($request, $response, $logger);
|
||||
if ($this->service === null) {
|
||||
$this->service = service('part_softwareservice');
|
||||
}
|
||||
}
|
||||
protected function action_init_process(string $action): void
|
||||
{
|
||||
$fields = [
|
||||
"type",
|
||||
"ip",
|
||||
"accountid",
|
||||
"domain",
|
||||
"price",
|
||||
];
|
||||
$filters = [
|
||||
"clientinfo_uid",
|
||||
'serverinfo_uid',
|
||||
'type',
|
||||
'status'
|
||||
];
|
||||
$batchjobFilters = ['status'];
|
||||
// $actionButtons = ['view' => ICONS['SEARCH']];
|
||||
// $batchjobButtons = [];
|
||||
parent::action_init_process($action);
|
||||
switch ($action) {
|
||||
case 'create':
|
||||
case 'create_form':
|
||||
case 'modify':
|
||||
case 'modify_form':
|
||||
$fields = [...$fields, 'status'];
|
||||
break;
|
||||
case 'view':
|
||||
$fields = [
|
||||
...$fields,
|
||||
"clientinfo_uid",
|
||||
'serverinfo_uid',
|
||||
'type',
|
||||
'ip',
|
||||
'accountid',
|
||||
'domain',
|
||||
'price',
|
||||
'status',
|
||||
'created_at'
|
||||
];
|
||||
break;
|
||||
case 'index':
|
||||
case 'download':
|
||||
$fields = [
|
||||
...$fields,
|
||||
"clientinfo_uid",
|
||||
'serverinfo_uid',
|
||||
'type',
|
||||
'ip',
|
||||
'accountid',
|
||||
'domain',
|
||||
'price',
|
||||
'status',
|
||||
'created_at'
|
||||
];
|
||||
break;
|
||||
default:
|
||||
throw new \Exception("[{$action}] 지원하지 않는 action입니다.");
|
||||
// break;
|
||||
}
|
||||
$this->service->getFormService()->setFormFields($fields);
|
||||
$this->service->getFormService()->setFormRules($action, $fields);
|
||||
$this->service->getFormService()->setFormFilters($filters);
|
||||
$this->service->getFormService()->setFormOptions($filters);
|
||||
$this->service->getFormService()->setBatchjobFilters($batchjobFilters);
|
||||
// $this->service->getFormService()->setActionButtons($actionButtons);
|
||||
// $this->service->getFormService()->setBatchjobButtons($batchjobButtons);
|
||||
parent::action_init_process($action);
|
||||
}
|
||||
|
||||
public function create_form(): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$this->addViewDatas('formDatas', $this->create_form_process());
|
||||
return $this->create_form_result_process($action);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 생성폼 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function create(): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$entity = $this->create_process();
|
||||
if (!$entity instanceof CSEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 CSEntity만 가능");
|
||||
}
|
||||
return $this->create_result_process($entity);
|
||||
} catch (ValidationException $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 생성 검증오류:" . $e->getMessage());
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 생성 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function modify_form($uid): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$entity = $this->modify_form_process($uid);
|
||||
if (!$entity instanceof CSEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 CSEntity만 가능");
|
||||
}
|
||||
$this->addViewDatas('entity', $entity);
|
||||
return $this->modify_form_result_process($action);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 수정폼 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function modify($uid): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$entity = $this->modify_process($uid);
|
||||
if (!$entity instanceof CSEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 CSEntity만 가능");
|
||||
}
|
||||
$this->addViewDatas('entity', $entity);
|
||||
return $this->modify_result_process($entity);
|
||||
} catch (ValidationException $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 수정 검증오류:" . $e->getMessage());
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 수정 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function delete($uid): RedirectResponse
|
||||
{
|
||||
try {
|
||||
$entity = $this->delete_process($uid);
|
||||
if (!$entity instanceof CSEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 CSEntity만 가능");
|
||||
}
|
||||
return $this->delete_result_process($entity);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 삭제 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function view($uid): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$entity = $this->view_process($uid);
|
||||
if (!$entity instanceof CSEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 CSEntity만 가능");
|
||||
}
|
||||
$this->addViewDatas('entity', $entity);
|
||||
return $this->view_result_process($action);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 상세보기 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function batchjob(): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
// 사전작업 및 데이터 추출 초기화
|
||||
list($uids, $selectedFields, $formDatas) = $this->batchjob_pre_process();
|
||||
$this->service->getFormService()->setFormFields($selectedFields);
|
||||
$this->service->getFormService()->setFormRules(__FUNCTION__, $selectedFields);
|
||||
$this->service->getFormService()->setFormFilters($selectedFields);
|
||||
$this->service->getFormService()->setFormOptions($selectedFields);
|
||||
$entities = [];
|
||||
$errors = [];
|
||||
foreach ($uids as $uid) {
|
||||
try {
|
||||
$entities[] = $this->batchjob_process($uid, $formDatas);
|
||||
} catch (ValidationException $e) {
|
||||
log_message('error', "{$this->getTitle()}에서 {$uid} 수정 검증오류:" . $e->getMessage());
|
||||
$errors[] = $e->getMessage();
|
||||
} catch (\Exception $e) {
|
||||
log_message('error', "{$this->getTitle()}에서 {$uid} 수정 오류:" . $e->getMessage());
|
||||
$errors[] = $e->getMessage();
|
||||
}
|
||||
}
|
||||
return $this->batchjob_result_process($uids, $entities, $errors);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 일괄작업처리 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public function batchjob_delete(): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$uids = $this->batchjob_delete_pre_process();
|
||||
$entities = [];
|
||||
$errors = [];
|
||||
foreach ($uids as $uid) {
|
||||
try {
|
||||
$entities[] = $this->batchjob_delete_process($uid);
|
||||
} catch (\Exception $e) {
|
||||
log_message('error', "{$this->getTitle()}에서 {$uid} 삭제 오류:" . $e->getMessage());
|
||||
$errors[] = $e->getMessage();
|
||||
}
|
||||
}
|
||||
return $this->batchjob_delete_result_process($uids, $entities, $errors);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 일괄삭제 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public function index(): string|ResponseInterface
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$this->index_process($action);
|
||||
$this->index_result_process($action);
|
||||
} catch (\Exception $e) {
|
||||
session()->setFlashdata('message', $e->getMessage());
|
||||
}
|
||||
return $this->index_result_process($action);
|
||||
}
|
||||
|
||||
public function download(string $output_type, mixed $uid = false): DownloadResponse|RedirectResponse|string
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
return $this->download_process($action, $output_type, $uid);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
//기본 함수 작업
|
||||
//Custom 추가 함수
|
||||
}
|
||||
224
app/Controllers/Admin/Part/DISKController.php
Normal file
224
app/Controllers/Admin/Part/DISKController.php
Normal file
@ -0,0 +1,224 @@
|
||||
<?php
|
||||
|
||||
namespace App\Controllers\Admin\Part;
|
||||
|
||||
use App\Entities\Part\DISKEntity;
|
||||
use CodeIgniter\HTTP\DownloadResponse;
|
||||
use CodeIgniter\HTTP\RedirectResponse;
|
||||
use CodeIgniter\HTTP\RequestInterface;
|
||||
use CodeIgniter\HTTP\ResponseInterface;
|
||||
use CodeIgniter\Validation\Exceptions\ValidationException;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
class DISKController extends PartController
|
||||
{
|
||||
public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
|
||||
{
|
||||
parent::initController($request, $response, $logger);
|
||||
if ($this->service === null) {
|
||||
$this->service = service('part_diskservice');
|
||||
}
|
||||
}
|
||||
protected function action_init_process(string $action): void
|
||||
{
|
||||
$fields = [
|
||||
"title",
|
||||
"price",
|
||||
"stock",
|
||||
"format",
|
||||
];
|
||||
$filters = [
|
||||
"status",
|
||||
];
|
||||
$batchjobFilters = ['status'];
|
||||
// $actionButtons = ['view' => ICONS['SEARCH']];
|
||||
// $batchjobButtons = [];
|
||||
parent::action_init_process($action);
|
||||
switch ($action) {
|
||||
case 'create':
|
||||
case 'create_form':
|
||||
case 'modify':
|
||||
case 'modify_form':
|
||||
$fields = [...$fields, 'status'];
|
||||
break;
|
||||
case 'view':
|
||||
$fields = [...$fields, 'status', 'created_at'];
|
||||
break;
|
||||
case 'index':
|
||||
case 'download':
|
||||
$fields = [...$fields, 'status', 'created_at'];
|
||||
break;
|
||||
default:
|
||||
throw new \Exception("[{$action}] 지원하지 않는 action입니다.");
|
||||
// break;
|
||||
}
|
||||
$this->service->getFormService()->setFormFields($fields);
|
||||
$this->service->getFormService()->setFormRules($action, $fields);
|
||||
$this->service->getFormService()->setFormFilters($filters);
|
||||
$this->service->getFormService()->setFormOptions($filters);
|
||||
$this->service->getFormService()->setBatchjobFilters($batchjobFilters);
|
||||
// $this->service->getFormService()->setActionButtons($actionButtons);
|
||||
// $this->service->getFormService()->setBatchjobButtons($batchjobButtons);
|
||||
parent::action_init_process($action);
|
||||
}
|
||||
|
||||
public function create_form(): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$this->addViewDatas('formDatas', $this->create_form_process());
|
||||
return $this->create_form_result_process($action);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 생성폼 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function create(): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$entity = $this->create_process();
|
||||
if (!$entity instanceof DISKEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 DISKEntity만 가능");
|
||||
}
|
||||
return $this->create_result_process($entity);
|
||||
} catch (ValidationException $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 생성 검증오류:" . $e->getMessage());
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 생성 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function modify_form($uid): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$entity = $this->modify_form_process($uid);
|
||||
if (!$entity instanceof DISKEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 DISKEntity만 가능");
|
||||
}
|
||||
$this->addViewDatas('entity', $entity);
|
||||
return $this->modify_form_result_process($action);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 수정폼 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function modify($uid): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$entity = $this->modify_process($uid);
|
||||
if (!$entity instanceof DISKEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 DISKEntity만 가능");
|
||||
}
|
||||
$this->addViewDatas('entity', $entity);
|
||||
return $this->modify_result_process($entity);
|
||||
} catch (ValidationException $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 수정 검증오류:" . $e->getMessage());
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 수정 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function delete($uid): RedirectResponse
|
||||
{
|
||||
try {
|
||||
$entity = $this->delete_process($uid);
|
||||
if (!$entity instanceof DISKEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 DISKEntity만 가능");
|
||||
}
|
||||
return $this->delete_result_process($entity);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 삭제 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function view($uid): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$entity = $this->view_process($uid);
|
||||
if (!$entity instanceof DISKEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 DISKEntity만 가능");
|
||||
}
|
||||
$this->addViewDatas('entity', $entity);
|
||||
return $this->view_result_process($action);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 상세보기 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function batchjob(): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
// 사전작업 및 데이터 추출 초기화
|
||||
list($uids, $selectedFields, $formDatas) = $this->batchjob_pre_process();
|
||||
$this->service->getFormService()->setFormFields($selectedFields);
|
||||
$this->service->getFormService()->setFormRules(__FUNCTION__, $selectedFields);
|
||||
$this->service->getFormService()->setFormFilters($selectedFields);
|
||||
$this->service->getFormService()->setFormOptions($selectedFields);
|
||||
$entities = [];
|
||||
$errors = [];
|
||||
foreach ($uids as $uid) {
|
||||
try {
|
||||
$entities[] = $this->batchjob_process($uid, $formDatas);
|
||||
} catch (ValidationException $e) {
|
||||
log_message('error', "{$this->getTitle()}에서 {$uid} 수정 검증오류:" . $e->getMessage());
|
||||
$errors[] = $e->getMessage();
|
||||
} catch (\Exception $e) {
|
||||
log_message('error', "{$this->getTitle()}에서 {$uid} 수정 오류:" . $e->getMessage());
|
||||
$errors[] = $e->getMessage();
|
||||
}
|
||||
}
|
||||
return $this->batchjob_result_process($uids, $entities, $errors);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 일괄작업처리 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public function batchjob_delete(): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$uids = $this->batchjob_delete_pre_process();
|
||||
$entities = [];
|
||||
$errors = [];
|
||||
foreach ($uids as $uid) {
|
||||
try {
|
||||
$entities[] = $this->batchjob_delete_process($uid);
|
||||
} catch (\Exception $e) {
|
||||
log_message('error', "{$this->getTitle()}에서 {$uid} 삭제 오류:" . $e->getMessage());
|
||||
$errors[] = $e->getMessage();
|
||||
}
|
||||
}
|
||||
return $this->batchjob_delete_result_process($uids, $entities, $errors);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 일괄삭제 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public function index(): string|ResponseInterface
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$this->index_process($action);
|
||||
$this->index_result_process($action);
|
||||
} catch (\Exception $e) {
|
||||
session()->setFlashdata('message', $e->getMessage());
|
||||
}
|
||||
return $this->index_result_process($action);
|
||||
}
|
||||
|
||||
public function download(string $output_type, mixed $uid = false): DownloadResponse|RedirectResponse|string
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
return $this->download_process($action, $output_type, $uid);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
//기본 함수 작업
|
||||
//Custom 추가 함수
|
||||
}
|
||||
241
app/Controllers/Admin/Part/IPController.php
Normal file
241
app/Controllers/Admin/Part/IPController.php
Normal file
@ -0,0 +1,241 @@
|
||||
<?php
|
||||
|
||||
namespace App\Controllers\Admin\Part;
|
||||
|
||||
use App\Entities\Part\IPEntity;
|
||||
use CodeIgniter\HTTP\DownloadResponse;
|
||||
use CodeIgniter\HTTP\RedirectResponse;
|
||||
use CodeIgniter\HTTP\RequestInterface;
|
||||
use CodeIgniter\HTTP\ResponseInterface;
|
||||
use CodeIgniter\Validation\Exceptions\ValidationException;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
class IPController extends PartController
|
||||
{
|
||||
public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
|
||||
{
|
||||
parent::initController($request, $response, $logger);
|
||||
if ($this->service === null) {
|
||||
$this->service = service('part_softwareservice');
|
||||
}
|
||||
}
|
||||
protected function action_init_process(string $action): void
|
||||
{
|
||||
$fields = [
|
||||
"lineinfo_uid",
|
||||
"ip",
|
||||
"price",
|
||||
];
|
||||
$filters = [
|
||||
'old_clientinfo_uid',
|
||||
'clientinfo_uid',
|
||||
'serverinfo_uid',
|
||||
"lineinfo_uid",
|
||||
'status'
|
||||
];
|
||||
$batchjobFilters = ['status'];
|
||||
// $actionButtons = ['view' => ICONS['SEARCH']];
|
||||
// $batchjobButtons = [];
|
||||
parent::action_init_process($action);
|
||||
switch ($action) {
|
||||
case 'create':
|
||||
case 'create_form':
|
||||
case 'modify':
|
||||
case 'modify_form':
|
||||
$fields = [...$fields, 'status'];
|
||||
break;
|
||||
case 'view':
|
||||
$fields = [
|
||||
...$fields,
|
||||
'clientinfo_uid',
|
||||
'serverinfo_uid',
|
||||
'old_clientinfo_uid',
|
||||
'status',
|
||||
'created_at'
|
||||
];
|
||||
break;
|
||||
case 'index':
|
||||
case 'download':
|
||||
$fields = [
|
||||
...$fields,
|
||||
'clientinfo_uid',
|
||||
'serverinfo_uid',
|
||||
'old_clientinfo_uid',
|
||||
'status',
|
||||
'created_at'
|
||||
];
|
||||
break;
|
||||
default:
|
||||
throw new \Exception("[{$action}] 지원하지 않는 action입니다.");
|
||||
// break;
|
||||
}
|
||||
$this->service->getFormService()->setFormFields($fields);
|
||||
$this->service->getFormService()->setFormRules($action, $fields);
|
||||
$this->service->getFormService()->setFormFilters($filters);
|
||||
$this->service->getFormService()->setFormOptions($filters);
|
||||
$this->service->getFormService()->setBatchjobFilters($batchjobFilters);
|
||||
// $this->service->getFormService()->setActionButtons($actionButtons);
|
||||
// $this->service->getFormService()->setBatchjobButtons($batchjobButtons);
|
||||
parent::action_init_process($action);
|
||||
}
|
||||
|
||||
public function create_form(): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$this->addViewDatas('formDatas', $this->create_form_process());
|
||||
return $this->create_form_result_process($action);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 생성폼 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function create(): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$entity = $this->create_process();
|
||||
if (!$entity instanceof IPEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 IPEntity만 가능");
|
||||
}
|
||||
return $this->create_result_process($entity);
|
||||
} catch (ValidationException $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 생성 검증오류:" . $e->getMessage());
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 생성 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function modify_form($uid): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$entity = $this->modify_form_process($uid);
|
||||
if (!$entity instanceof IPEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 IPEntity만 가능");
|
||||
}
|
||||
$this->addViewDatas('entity', $entity);
|
||||
return $this->modify_form_result_process($action);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 수정폼 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function modify($uid): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$entity = $this->modify_process($uid);
|
||||
if (!$entity instanceof IPEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 IPEntity만 가능");
|
||||
}
|
||||
$this->addViewDatas('entity', $entity);
|
||||
return $this->modify_result_process($entity);
|
||||
} catch (ValidationException $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 수정 검증오류:" . $e->getMessage());
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 수정 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function delete($uid): RedirectResponse
|
||||
{
|
||||
try {
|
||||
$entity = $this->delete_process($uid);
|
||||
if (!$entity instanceof IPEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 IPEntity만 가능");
|
||||
}
|
||||
return $this->delete_result_process($entity);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 삭제 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function view($uid): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$entity = $this->view_process($uid);
|
||||
if (!$entity instanceof IPEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 IPEntity만 가능");
|
||||
}
|
||||
$this->addViewDatas('entity', $entity);
|
||||
return $this->view_result_process($action);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 상세보기 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function batchjob(): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
// 사전작업 및 데이터 추출 초기화
|
||||
list($uids, $selectedFields, $formDatas) = $this->batchjob_pre_process();
|
||||
$this->service->getFormService()->setFormFields($selectedFields);
|
||||
$this->service->getFormService()->setFormRules(__FUNCTION__, $selectedFields);
|
||||
$this->service->getFormService()->setFormFilters($selectedFields);
|
||||
$this->service->getFormService()->setFormOptions($selectedFields);
|
||||
$entities = [];
|
||||
$errors = [];
|
||||
foreach ($uids as $uid) {
|
||||
try {
|
||||
$entities[] = $this->batchjob_process($uid, $formDatas);
|
||||
} catch (ValidationException $e) {
|
||||
log_message('error', "{$this->getTitle()}에서 {$uid} 수정 검증오류:" . $e->getMessage());
|
||||
$errors[] = $e->getMessage();
|
||||
} catch (\Exception $e) {
|
||||
log_message('error', "{$this->getTitle()}에서 {$uid} 수정 오류:" . $e->getMessage());
|
||||
$errors[] = $e->getMessage();
|
||||
}
|
||||
}
|
||||
return $this->batchjob_result_process($uids, $entities, $errors);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 일괄작업처리 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public function batchjob_delete(): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$uids = $this->batchjob_delete_pre_process();
|
||||
$entities = [];
|
||||
$errors = [];
|
||||
foreach ($uids as $uid) {
|
||||
try {
|
||||
$entities[] = $this->batchjob_delete_process($uid);
|
||||
} catch (\Exception $e) {
|
||||
log_message('error', "{$this->getTitle()}에서 {$uid} 삭제 오류:" . $e->getMessage());
|
||||
$errors[] = $e->getMessage();
|
||||
}
|
||||
}
|
||||
return $this->batchjob_delete_result_process($uids, $entities, $errors);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 일괄삭제 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public function index(): string|ResponseInterface
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$this->index_process($action);
|
||||
$this->index_result_process($action);
|
||||
} catch (\Exception $e) {
|
||||
session()->setFlashdata('message', $e->getMessage());
|
||||
}
|
||||
return $this->index_result_process($action);
|
||||
}
|
||||
|
||||
public function download(string $output_type, mixed $uid = false): DownloadResponse|RedirectResponse|string
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
return $this->download_process($action, $output_type, $uid);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
//기본 함수 작업
|
||||
//Custom 추가 함수
|
||||
}
|
||||
223
app/Controllers/Admin/Part/RAMController.php
Normal file
223
app/Controllers/Admin/Part/RAMController.php
Normal file
@ -0,0 +1,223 @@
|
||||
<?php
|
||||
|
||||
namespace App\Controllers\Admin\Part;
|
||||
|
||||
use App\Entities\Part\RAMEntity;
|
||||
use CodeIgniter\HTTP\DownloadResponse;
|
||||
use CodeIgniter\HTTP\RedirectResponse;
|
||||
use CodeIgniter\HTTP\RequestInterface;
|
||||
use CodeIgniter\HTTP\ResponseInterface;
|
||||
use CodeIgniter\Validation\Exceptions\ValidationException;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
class RAMController extends PartController
|
||||
{
|
||||
public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
|
||||
{
|
||||
parent::initController($request, $response, $logger);
|
||||
if ($this->service === null) {
|
||||
$this->service = service('part_ramservice');
|
||||
}
|
||||
}
|
||||
protected function action_init_process(string $action): void
|
||||
{
|
||||
$fields = [
|
||||
"title",
|
||||
"price",
|
||||
"stock",
|
||||
];
|
||||
$filters = [
|
||||
"status",
|
||||
];
|
||||
$batchjobFilters = ['status'];
|
||||
// $actionButtons = ['view' => ICONS['SEARCH']];
|
||||
// $batchjobButtons = [];
|
||||
parent::action_init_process($action);
|
||||
switch ($action) {
|
||||
case 'create':
|
||||
case 'create_form':
|
||||
case 'modify':
|
||||
case 'modify_form':
|
||||
$fields = [...$fields, 'status'];
|
||||
break;
|
||||
case 'view':
|
||||
$fields = [...$fields, 'status', 'created_at'];
|
||||
break;
|
||||
case 'index':
|
||||
case 'download':
|
||||
$fields = [...$fields, 'status', 'created_at'];
|
||||
break;
|
||||
default:
|
||||
throw new \Exception("[{$action}] 지원하지 않는 action입니다.");
|
||||
// break;
|
||||
}
|
||||
$this->service->getFormService()->setFormFields($fields);
|
||||
$this->service->getFormService()->setFormRules($action, $fields);
|
||||
$this->service->getFormService()->setFormFilters($filters);
|
||||
$this->service->getFormService()->setFormOptions($filters);
|
||||
$this->service->getFormService()->setBatchjobFilters($batchjobFilters);
|
||||
// $this->service->getFormService()->setActionButtons($actionButtons);
|
||||
// $this->service->getFormService()->setBatchjobButtons($batchjobButtons);
|
||||
parent::action_init_process($action);
|
||||
}
|
||||
|
||||
public function create_form(): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$this->addViewDatas('formDatas', $this->create_form_process());
|
||||
return $this->create_form_result_process($action);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 생성폼 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function create(): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$entity = $this->create_process();
|
||||
if (!$entity instanceof RAMEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 RAMEntity만 가능");
|
||||
}
|
||||
return $this->create_result_process($entity);
|
||||
} catch (ValidationException $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 생성 검증오류:" . $e->getMessage());
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 생성 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function modify_form($uid): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$entity = $this->modify_form_process($uid);
|
||||
if (!$entity instanceof RAMEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 RAMEntity만 가능");
|
||||
}
|
||||
$this->addViewDatas('entity', $entity);
|
||||
return $this->modify_form_result_process($action);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 수정폼 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function modify($uid): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$entity = $this->modify_process($uid);
|
||||
if (!$entity instanceof RAMEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 RAMEntity만 가능");
|
||||
}
|
||||
$this->addViewDatas('entity', $entity);
|
||||
return $this->modify_result_process($entity);
|
||||
} catch (ValidationException $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 수정 검증오류:" . $e->getMessage());
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 수정 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function delete($uid): RedirectResponse
|
||||
{
|
||||
try {
|
||||
$entity = $this->delete_process($uid);
|
||||
if (!$entity instanceof RAMEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 RAMEntity만 가능");
|
||||
}
|
||||
return $this->delete_result_process($entity);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 삭제 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function view($uid): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$entity = $this->view_process($uid);
|
||||
if (!$entity instanceof RAMEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 RAMEntity만 가능");
|
||||
}
|
||||
$this->addViewDatas('entity', $entity);
|
||||
return $this->view_result_process($action);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 상세보기 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function batchjob(): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
// 사전작업 및 데이터 추출 초기화
|
||||
list($uids, $selectedFields, $formDatas) = $this->batchjob_pre_process();
|
||||
$this->service->getFormService()->setFormFields($selectedFields);
|
||||
$this->service->getFormService()->setFormRules(__FUNCTION__, $selectedFields);
|
||||
$this->service->getFormService()->setFormFilters($selectedFields);
|
||||
$this->service->getFormService()->setFormOptions($selectedFields);
|
||||
$entities = [];
|
||||
$errors = [];
|
||||
foreach ($uids as $uid) {
|
||||
try {
|
||||
$entities[] = $this->batchjob_process($uid, $formDatas);
|
||||
} catch (ValidationException $e) {
|
||||
log_message('error', "{$this->getTitle()}에서 {$uid} 수정 검증오류:" . $e->getMessage());
|
||||
$errors[] = $e->getMessage();
|
||||
} catch (\Exception $e) {
|
||||
log_message('error', "{$this->getTitle()}에서 {$uid} 수정 오류:" . $e->getMessage());
|
||||
$errors[] = $e->getMessage();
|
||||
}
|
||||
}
|
||||
return $this->batchjob_result_process($uids, $entities, $errors);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 일괄작업처리 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public function batchjob_delete(): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$uids = $this->batchjob_delete_pre_process();
|
||||
$entities = [];
|
||||
$errors = [];
|
||||
foreach ($uids as $uid) {
|
||||
try {
|
||||
$entities[] = $this->batchjob_delete_process($uid);
|
||||
} catch (\Exception $e) {
|
||||
log_message('error', "{$this->getTitle()}에서 {$uid} 삭제 오류:" . $e->getMessage());
|
||||
$errors[] = $e->getMessage();
|
||||
}
|
||||
}
|
||||
return $this->batchjob_delete_result_process($uids, $entities, $errors);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 일괄삭제 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public function index(): string|ResponseInterface
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$this->index_process($action);
|
||||
$this->index_result_process($action);
|
||||
} catch (\Exception $e) {
|
||||
session()->setFlashdata('message', $e->getMessage());
|
||||
}
|
||||
return $this->index_result_process($action);
|
||||
}
|
||||
|
||||
public function download(string $output_type, mixed $uid = false): DownloadResponse|RedirectResponse|string
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
return $this->download_process($action, $output_type, $uid);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
//기본 함수 작업
|
||||
//Custom 추가 함수
|
||||
}
|
||||
223
app/Controllers/Admin/Part/SOFTWAREController.php
Normal file
223
app/Controllers/Admin/Part/SOFTWAREController.php
Normal file
@ -0,0 +1,223 @@
|
||||
<?php
|
||||
|
||||
namespace App\Controllers\Admin\Part;
|
||||
|
||||
use App\Entities\Part\SOFTWAREEntity;
|
||||
use CodeIgniter\HTTP\DownloadResponse;
|
||||
use CodeIgniter\HTTP\RedirectResponse;
|
||||
use CodeIgniter\HTTP\RequestInterface;
|
||||
use CodeIgniter\HTTP\ResponseInterface;
|
||||
use CodeIgniter\Validation\Exceptions\ValidationException;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
class SOFTWAREController extends PartController
|
||||
{
|
||||
public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
|
||||
{
|
||||
parent::initController($request, $response, $logger);
|
||||
if ($this->service === null) {
|
||||
$this->service = service('part_softwareservice');
|
||||
}
|
||||
}
|
||||
protected function action_init_process(string $action): void
|
||||
{
|
||||
$fields = [
|
||||
"title",
|
||||
"price",
|
||||
"stock",
|
||||
];
|
||||
$filters = [
|
||||
"status",
|
||||
];
|
||||
$batchjobFilters = ['status'];
|
||||
// $actionButtons = ['view' => ICONS['SEARCH']];
|
||||
// $batchjobButtons = [];
|
||||
parent::action_init_process($action);
|
||||
switch ($action) {
|
||||
case 'create':
|
||||
case 'create_form':
|
||||
case 'modify':
|
||||
case 'modify_form':
|
||||
$fields = [...$fields, 'status'];
|
||||
break;
|
||||
case 'view':
|
||||
$fields = [...$fields, 'status', 'created_at'];
|
||||
break;
|
||||
case 'index':
|
||||
case 'download':
|
||||
$fields = [...$fields, 'status', 'created_at'];
|
||||
break;
|
||||
default:
|
||||
throw new \Exception("[{$action}] 지원하지 않는 action입니다.");
|
||||
// break;
|
||||
}
|
||||
$this->service->getFormService()->setFormFields($fields);
|
||||
$this->service->getFormService()->setFormRules($action, $fields);
|
||||
$this->service->getFormService()->setFormFilters($filters);
|
||||
$this->service->getFormService()->setFormOptions($filters);
|
||||
$this->service->getFormService()->setBatchjobFilters($batchjobFilters);
|
||||
// $this->service->getFormService()->setActionButtons($actionButtons);
|
||||
// $this->service->getFormService()->setBatchjobButtons($batchjobButtons);
|
||||
parent::action_init_process($action);
|
||||
}
|
||||
|
||||
public function create_form(): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$this->addViewDatas('formDatas', $this->create_form_process());
|
||||
return $this->create_form_result_process($action);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 생성폼 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function create(): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$entity = $this->create_process();
|
||||
if (!$entity instanceof SOFTWAREEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 SOFTWAREEntity만 가능");
|
||||
}
|
||||
return $this->create_result_process($entity);
|
||||
} catch (ValidationException $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 생성 검증오류:" . $e->getMessage());
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 생성 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function modify_form($uid): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$entity = $this->modify_form_process($uid);
|
||||
if (!$entity instanceof SOFTWAREEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 SOFTWAREEntity만 가능");
|
||||
}
|
||||
$this->addViewDatas('entity', $entity);
|
||||
return $this->modify_form_result_process($action);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 수정폼 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function modify($uid): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$entity = $this->modify_process($uid);
|
||||
if (!$entity instanceof SOFTWAREEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 SOFTWAREEntity만 가능");
|
||||
}
|
||||
$this->addViewDatas('entity', $entity);
|
||||
return $this->modify_result_process($entity);
|
||||
} catch (ValidationException $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 수정 검증오류:" . $e->getMessage());
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 수정 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function delete($uid): RedirectResponse
|
||||
{
|
||||
try {
|
||||
$entity = $this->delete_process($uid);
|
||||
if (!$entity instanceof SOFTWAREEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 SOFTWAREEntity만 가능");
|
||||
}
|
||||
return $this->delete_result_process($entity);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 삭제 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function view($uid): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$entity = $this->view_process($uid);
|
||||
if (!$entity instanceof SOFTWAREEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 SOFTWAREEntity만 가능");
|
||||
}
|
||||
$this->addViewDatas('entity', $entity);
|
||||
return $this->view_result_process($action);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 상세보기 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function batchjob(): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
// 사전작업 및 데이터 추출 초기화
|
||||
list($uids, $selectedFields, $formDatas) = $this->batchjob_pre_process();
|
||||
$this->service->getFormService()->setFormFields($selectedFields);
|
||||
$this->service->getFormService()->setFormRules(__FUNCTION__, $selectedFields);
|
||||
$this->service->getFormService()->setFormFilters($selectedFields);
|
||||
$this->service->getFormService()->setFormOptions($selectedFields);
|
||||
$entities = [];
|
||||
$errors = [];
|
||||
foreach ($uids as $uid) {
|
||||
try {
|
||||
$entities[] = $this->batchjob_process($uid, $formDatas);
|
||||
} catch (ValidationException $e) {
|
||||
log_message('error', "{$this->getTitle()}에서 {$uid} 수정 검증오류:" . $e->getMessage());
|
||||
$errors[] = $e->getMessage();
|
||||
} catch (\Exception $e) {
|
||||
log_message('error', "{$this->getTitle()}에서 {$uid} 수정 오류:" . $e->getMessage());
|
||||
$errors[] = $e->getMessage();
|
||||
}
|
||||
}
|
||||
return $this->batchjob_result_process($uids, $entities, $errors);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 일괄작업처리 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public function batchjob_delete(): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$uids = $this->batchjob_delete_pre_process();
|
||||
$entities = [];
|
||||
$errors = [];
|
||||
foreach ($uids as $uid) {
|
||||
try {
|
||||
$entities[] = $this->batchjob_delete_process($uid);
|
||||
} catch (\Exception $e) {
|
||||
log_message('error', "{$this->getTitle()}에서 {$uid} 삭제 오류:" . $e->getMessage());
|
||||
$errors[] = $e->getMessage();
|
||||
}
|
||||
}
|
||||
return $this->batchjob_delete_result_process($uids, $entities, $errors);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 일괄삭제 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public function index(): string|ResponseInterface
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$this->index_process($action);
|
||||
$this->index_result_process($action);
|
||||
} catch (\Exception $e) {
|
||||
session()->setFlashdata('message', $e->getMessage());
|
||||
}
|
||||
return $this->index_result_process($action);
|
||||
}
|
||||
|
||||
public function download(string $output_type, mixed $uid = false): DownloadResponse|RedirectResponse|string
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
return $this->download_process($action, $output_type, $uid);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
//기본 함수 작업
|
||||
//Custom 추가 함수
|
||||
}
|
||||
244
app/Controllers/Admin/Part/SWITCHController.php
Normal file
244
app/Controllers/Admin/Part/SWITCHController.php
Normal file
@ -0,0 +1,244 @@
|
||||
<?php
|
||||
|
||||
namespace App\Controllers\Admin\Part;
|
||||
|
||||
use App\Entities\Part\SWITCHEntity;
|
||||
use CodeIgniter\HTTP\DownloadResponse;
|
||||
use CodeIgniter\HTTP\RedirectResponse;
|
||||
use CodeIgniter\HTTP\RequestInterface;
|
||||
use CodeIgniter\HTTP\ResponseInterface;
|
||||
use CodeIgniter\Validation\Exceptions\ValidationException;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
class SWITCHController extends PartController
|
||||
{
|
||||
public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
|
||||
{
|
||||
parent::initController($request, $response, $logger);
|
||||
if ($this->service === null) {
|
||||
$this->service = service('part_softwareservice');
|
||||
}
|
||||
}
|
||||
protected function action_init_process(string $action): void
|
||||
{
|
||||
$fields = [
|
||||
"code",
|
||||
"price",
|
||||
];
|
||||
$filters = [
|
||||
'clientinfo_uid',
|
||||
'serviceinfo_uid',
|
||||
'serverinfo_uid',
|
||||
'status'
|
||||
];
|
||||
$batchjobFilters = [
|
||||
'status',
|
||||
];
|
||||
// $actionButtons = ['view' => ICONS['SEARCH']];
|
||||
// $batchjobButtons = [];
|
||||
parent::action_init_process($action);
|
||||
switch ($action) {
|
||||
case 'create':
|
||||
case 'create_form':
|
||||
case 'modify':
|
||||
case 'modify_form':
|
||||
$fields = [
|
||||
...$fields,
|
||||
'status',
|
||||
];
|
||||
break;
|
||||
case 'view':
|
||||
$fields = [
|
||||
...$fields,
|
||||
'clientinfo_uid',
|
||||
'serviceinfo_uid',
|
||||
'serverinfo_uid',
|
||||
'status',
|
||||
'created_at'
|
||||
];
|
||||
break;
|
||||
case 'index':
|
||||
case 'download':
|
||||
$fields = [
|
||||
...$fields,
|
||||
'clientinfo_uid',
|
||||
'serviceinfo_uid',
|
||||
'serverinfo_uid',
|
||||
'status',
|
||||
'created_at'
|
||||
];
|
||||
break;
|
||||
default:
|
||||
throw new \Exception("[{$action}] 지원하지 않는 action입니다.");
|
||||
// break;
|
||||
}
|
||||
$this->service->getFormService()->setFormFields($fields);
|
||||
$this->service->getFormService()->setFormRules($action, $fields);
|
||||
$this->service->getFormService()->setFormFilters($filters);
|
||||
$this->service->getFormService()->setFormOptions($filters);
|
||||
$this->service->getFormService()->setBatchjobFilters($batchjobFilters);
|
||||
// $this->service->getFormService()->setActionButtons($actionButtons);
|
||||
// $this->service->getFormService()->setBatchjobButtons($batchjobButtons);
|
||||
parent::action_init_process($action);
|
||||
}
|
||||
|
||||
public function create_form(): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$this->addViewDatas('formDatas', $this->create_form_process());
|
||||
return $this->create_form_result_process($action);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 생성폼 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function create(): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$entity = $this->create_process();
|
||||
if (!$entity instanceof SWITCHEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 SWITCHEntity만 가능");
|
||||
}
|
||||
return $this->create_result_process($entity);
|
||||
} catch (ValidationException $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 생성 검증오류:" . $e->getMessage());
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 생성 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function modify_form($uid): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$entity = $this->modify_form_process($uid);
|
||||
if (!$entity instanceof SWITCHEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 SWITCHEntity만 가능");
|
||||
}
|
||||
$this->addViewDatas('entity', $entity);
|
||||
return $this->modify_form_result_process($action);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 수정폼 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function modify($uid): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$entity = $this->modify_process($uid);
|
||||
if (!$entity instanceof SWITCHEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 SWITCHEntity만 가능");
|
||||
}
|
||||
$this->addViewDatas('entity', $entity);
|
||||
return $this->modify_result_process($entity);
|
||||
} catch (ValidationException $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 수정 검증오류:" . $e->getMessage());
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 수정 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function delete($uid): RedirectResponse
|
||||
{
|
||||
try {
|
||||
$entity = $this->delete_process($uid);
|
||||
if (!$entity instanceof SWITCHEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 SWITCHEntity만 가능");
|
||||
}
|
||||
return $this->delete_result_process($entity);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 삭제 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function view($uid): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$entity = $this->view_process($uid);
|
||||
if (!$entity instanceof SWITCHEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 SWITCHEntity만 가능");
|
||||
}
|
||||
$this->addViewDatas('entity', $entity);
|
||||
return $this->view_result_process($action);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 {$uid} 상세보기 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function batchjob(): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
// 사전작업 및 데이터 추출 초기화
|
||||
list($uids, $selectedFields, $formDatas) = $this->batchjob_pre_process();
|
||||
$this->service->getFormService()->setFormFields($selectedFields);
|
||||
$this->service->getFormService()->setFormRules(__FUNCTION__, $selectedFields);
|
||||
$this->service->getFormService()->setFormFilters($selectedFields);
|
||||
$this->service->getFormService()->setFormOptions($selectedFields);
|
||||
$entities = [];
|
||||
$errors = [];
|
||||
foreach ($uids as $uid) {
|
||||
try {
|
||||
$entities[] = $this->batchjob_process($uid, $formDatas);
|
||||
} catch (ValidationException $e) {
|
||||
log_message('error', "{$this->getTitle()}에서 {$uid} 수정 검증오류:" . $e->getMessage());
|
||||
$errors[] = $e->getMessage();
|
||||
} catch (\Exception $e) {
|
||||
log_message('error', "{$this->getTitle()}에서 {$uid} 수정 오류:" . $e->getMessage());
|
||||
$errors[] = $e->getMessage();
|
||||
}
|
||||
}
|
||||
return $this->batchjob_result_process($uids, $entities, $errors);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 일괄작업처리 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public function batchjob_delete(): string|RedirectResponse
|
||||
{
|
||||
try {
|
||||
$uids = $this->batchjob_delete_pre_process();
|
||||
$entities = [];
|
||||
$errors = [];
|
||||
foreach ($uids as $uid) {
|
||||
try {
|
||||
$entities[] = $this->batchjob_delete_process($uid);
|
||||
} catch (\Exception $e) {
|
||||
log_message('error', "{$this->getTitle()}에서 {$uid} 삭제 오류:" . $e->getMessage());
|
||||
$errors[] = $e->getMessage();
|
||||
}
|
||||
}
|
||||
return $this->batchjob_delete_result_process($uids, $entities, $errors);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 일괄삭제 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public function index(): string|ResponseInterface
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
$this->index_process($action);
|
||||
$this->index_result_process($action);
|
||||
} catch (\Exception $e) {
|
||||
session()->setFlashdata('message', $e->getMessage());
|
||||
}
|
||||
return $this->index_result_process($action);
|
||||
}
|
||||
|
||||
public function download(string $output_type, mixed $uid = false): DownloadResponse|RedirectResponse|string
|
||||
{
|
||||
try {
|
||||
$action = __FUNCTION__;
|
||||
$this->action_init_process($action);
|
||||
return $this->download_process($action, $output_type, $uid);
|
||||
} catch (\Exception $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 오류:" . $e->getMessage());
|
||||
}
|
||||
}
|
||||
//기본 함수 작업
|
||||
//Custom 추가 함수
|
||||
}
|
||||
@ -10,7 +10,7 @@ class CPUDTO extends CommonDTO
|
||||
public ?string $title = null;
|
||||
public ?int $price = null;
|
||||
public ?string $used = null;
|
||||
public ?int $string = null;
|
||||
public ?int $stock = null;
|
||||
public ?string $status = null;
|
||||
|
||||
public function __construct(array $datas = [])
|
||||
|
||||
29
app/DTOs/Part/CSDTO.php
Normal file
29
app/DTOs/Part/CSDTO.php
Normal file
@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace App\DTOs\Part;
|
||||
|
||||
use App\DTOs\CommonDTO;
|
||||
|
||||
class CSDTO extends CommonDTO
|
||||
{
|
||||
public ?int $uid = null;
|
||||
public ?int $clientinfo_uid = null;
|
||||
public ?int $serviceinfo_uid = null;
|
||||
public ?int $serverinfo_uid = null;
|
||||
public ?string $type = null;
|
||||
public ?string $ip = null;
|
||||
public ?string $accountid = null;
|
||||
public ?string $domain = null;
|
||||
public ?int $price = null;
|
||||
public ?string $status = null;
|
||||
|
||||
public function __construct(array $datas = [])
|
||||
{
|
||||
parent::__construct();
|
||||
foreach ($datas as $key => $value) {
|
||||
if (property_exists($this, $key)) {
|
||||
$this->{$key} = $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
26
app/DTOs/Part/DISKDTO.php
Normal file
26
app/DTOs/Part/DISKDTO.php
Normal file
@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace App\DTOs\Part;
|
||||
|
||||
use App\DTOs\CommonDTO;
|
||||
|
||||
class DISKDTO extends CommonDTO
|
||||
{
|
||||
public ?int $uid = null;
|
||||
public ?string $title = null;
|
||||
public ?int $price = null;
|
||||
public ?string $used = null;
|
||||
public ?int $stock = null;
|
||||
public ?int $format = null;
|
||||
public ?string $status = null;
|
||||
|
||||
public function __construct(array $datas = [])
|
||||
{
|
||||
parent::__construct();
|
||||
foreach ($datas as $key => $value) {
|
||||
if (property_exists($this, $key)) {
|
||||
$this->{$key} = $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
28
app/DTOs/Part/IPDTO.php
Normal file
28
app/DTOs/Part/IPDTO.php
Normal file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace App\DTOs\Part;
|
||||
|
||||
use App\DTOs\CommonDTO;
|
||||
|
||||
class IPDTO extends CommonDTO
|
||||
{
|
||||
public ?int $uid = null;
|
||||
public ?int $lineinfo_uid = null;
|
||||
public ?int $old_clientinfo_uid = null;
|
||||
public ?int $clientinfo_uid = null;
|
||||
public ?int $serviceinfo_uid = null;
|
||||
public ?int $serverinfo_uid = null;
|
||||
public ?string $ip = null;
|
||||
public ?int $price = null;
|
||||
public ?string $status = null;
|
||||
|
||||
public function __construct(array $datas = [])
|
||||
{
|
||||
parent::__construct();
|
||||
foreach ($datas as $key => $value) {
|
||||
if (property_exists($this, $key)) {
|
||||
$this->{$key} = $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
25
app/DTOs/Part/RAMDTO.php
Normal file
25
app/DTOs/Part/RAMDTO.php
Normal file
@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace App\DTOs\Part;
|
||||
|
||||
use App\DTOs\CommonDTO;
|
||||
|
||||
class RAMDTO extends CommonDTO
|
||||
{
|
||||
public ?int $uid = null;
|
||||
public ?string $title = null;
|
||||
public ?int $price = null;
|
||||
public ?string $used = null;
|
||||
public ?int $stock = null;
|
||||
public ?string $status = null;
|
||||
|
||||
public function __construct(array $datas = [])
|
||||
{
|
||||
parent::__construct();
|
||||
foreach ($datas as $key => $value) {
|
||||
if (property_exists($this, $key)) {
|
||||
$this->{$key} = $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
25
app/DTOs/Part/SOFTWAREDTO.php
Normal file
25
app/DTOs/Part/SOFTWAREDTO.php
Normal file
@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace App\DTOs\Part;
|
||||
|
||||
use App\DTOs\CommonDTO;
|
||||
|
||||
class SOFTWAREDTO extends CommonDTO
|
||||
{
|
||||
public ?int $uid = null;
|
||||
public ?string $title = null;
|
||||
public ?int $price = null;
|
||||
public ?string $used = null;
|
||||
public ?int $stock = null;
|
||||
public ?string $status = null;
|
||||
|
||||
public function __construct(array $datas = [])
|
||||
{
|
||||
parent::__construct();
|
||||
foreach ($datas as $key => $value) {
|
||||
if (property_exists($this, $key)) {
|
||||
$this->{$key} = $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
26
app/DTOs/Part/SWITCHDTO.php
Normal file
26
app/DTOs/Part/SWITCHDTO.php
Normal file
@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace App\DTOs\Part;
|
||||
|
||||
use App\DTOs\CommonDTO;
|
||||
|
||||
class SWITCHDTO extends CommonDTO
|
||||
{
|
||||
public ?int $uid = null;
|
||||
public ?int $clientinfo_uid = null;
|
||||
public ?int $serviceinfo_uid = null;
|
||||
public ?int $serverinfo_uid = null;
|
||||
public ?string $code = null;
|
||||
public ?int $price = null;
|
||||
public ?string $status = null;
|
||||
|
||||
public function __construct(array $datas = [])
|
||||
{
|
||||
parent::__construct();
|
||||
foreach ($datas as $key => $value) {
|
||||
if (property_exists($this, $key)) {
|
||||
$this->{$key} = $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2,8 +2,6 @@
|
||||
|
||||
namespace App\Forms\Part;
|
||||
|
||||
use App\Forms\CommonForm;
|
||||
|
||||
class CPUForm extends PartForm
|
||||
{
|
||||
public function __construct()
|
||||
@ -13,6 +11,9 @@ class CPUForm extends PartForm
|
||||
public function getFormRule(string $action, string $field): string
|
||||
{
|
||||
switch ($field) {
|
||||
case "format":
|
||||
$rule = "required|numeric";
|
||||
break;
|
||||
default:
|
||||
$rule = parent::getFormRule($action, $field);
|
||||
break;
|
||||
|
||||
34
app/Forms/Part/CSForm.php
Normal file
34
app/Forms/Part/CSForm.php
Normal file
@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace App\Forms\Part;
|
||||
|
||||
class CSForm extends PartForm
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
public function getFormRule(string $action, string $field): string
|
||||
{
|
||||
switch ($field) {
|
||||
case "type":
|
||||
$rule = "required|trim|string";
|
||||
break;
|
||||
case "ip":
|
||||
$rule = "required|trim|valid_ip[both]"; //ipv4 , ipv6 , both(ipv4,ipv6)
|
||||
$rule .= in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->getAttribute('table')}.{$field}]" : "";
|
||||
break;
|
||||
case "accountid":
|
||||
case "domain":
|
||||
$rule = "permit_empty|trim|string";
|
||||
break;
|
||||
case "status":
|
||||
$rule = "required|trim|string";
|
||||
break;
|
||||
default:
|
||||
$rule = parent::getFormRule($action, $field);
|
||||
break;
|
||||
}
|
||||
return $rule;
|
||||
}
|
||||
}
|
||||
20
app/Forms/Part/DISKForm.php
Normal file
20
app/Forms/Part/DISKForm.php
Normal file
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace App\Forms\Part;
|
||||
|
||||
class DISKForm extends PartForm
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
public function getFormRule(string $action, string $field): string
|
||||
{
|
||||
switch ($field) {
|
||||
default:
|
||||
$rule = parent::getFormRule($action, $field);
|
||||
break;
|
||||
}
|
||||
return $rule;
|
||||
}
|
||||
}
|
||||
30
app/Forms/Part/IPForm.php
Normal file
30
app/Forms/Part/IPForm.php
Normal file
@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace App\Forms\Part;
|
||||
|
||||
class IPForm extends PartForm
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
public function getFormRule(string $action, string $field): string
|
||||
{
|
||||
switch ($field) {
|
||||
case "lineinfo_uid":
|
||||
$rule = "required|numeric";
|
||||
break;
|
||||
case "ip":
|
||||
$rule = "required|trim|valid_ip[both]"; //ipv4 , ipv6 , both(ipv4,ipv6)
|
||||
$rule .= in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->getAttribute('table')}.{$field}]" : "";
|
||||
break;
|
||||
case "status":
|
||||
$rule = "required|trim|string";
|
||||
break;
|
||||
default:
|
||||
$rule = parent::getFormRule($action, $field);
|
||||
break;
|
||||
}
|
||||
return $rule;
|
||||
}
|
||||
}
|
||||
@ -20,7 +20,7 @@ abstract class PartForm extends CommonForm
|
||||
case "clientinfo_uid":
|
||||
case "serviceinfo_uid":
|
||||
case "serverinfo_uid":
|
||||
$rule = "permit_empty|trim|string";
|
||||
$rule = "permit_empty|numeric";
|
||||
break;
|
||||
case "price":
|
||||
case "stock":
|
||||
|
||||
20
app/Forms/Part/RAMForm.php
Normal file
20
app/Forms/Part/RAMForm.php
Normal file
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace App\Forms\Part;
|
||||
|
||||
class RAMForm extends PartForm
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
public function getFormRule(string $action, string $field): string
|
||||
{
|
||||
switch ($field) {
|
||||
default:
|
||||
$rule = parent::getFormRule($action, $field);
|
||||
break;
|
||||
}
|
||||
return $rule;
|
||||
}
|
||||
}
|
||||
20
app/Forms/Part/SOFTWAREForm.php
Normal file
20
app/Forms/Part/SOFTWAREForm.php
Normal file
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace App\Forms\Part;
|
||||
|
||||
class SOFTWAREForm extends PartForm
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
public function getFormRule(string $action, string $field): string
|
||||
{
|
||||
switch ($field) {
|
||||
default:
|
||||
$rule = parent::getFormRule($action, $field);
|
||||
break;
|
||||
}
|
||||
return $rule;
|
||||
}
|
||||
}
|
||||
23
app/Forms/Part/SWITCHForm.php
Normal file
23
app/Forms/Part/SWITCHForm.php
Normal file
@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace App\Forms\Part;
|
||||
|
||||
class SWITCHForm extends PartForm
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
public function getFormRule(string $action, string $field): string
|
||||
{
|
||||
switch ($field) {
|
||||
case "status":
|
||||
$rule = "required|trim|string";
|
||||
break;
|
||||
default:
|
||||
$rule = parent::getFormRule($action, $field);
|
||||
break;
|
||||
}
|
||||
return $rule;
|
||||
}
|
||||
}
|
||||
@ -2,12 +2,11 @@
|
||||
|
||||
namespace App\Helpers;
|
||||
|
||||
use App\Entities\CommonEntity;
|
||||
use App\Libraries\AuthContext;
|
||||
use App\Traits\UtilTrait;
|
||||
use RuntimeException;
|
||||
|
||||
class CommonHelper
|
||||
abstract class CommonHelper
|
||||
{
|
||||
use UtilTrait;
|
||||
private array $_attributes = [];
|
||||
|
||||
@ -2,9 +2,7 @@
|
||||
|
||||
namespace App\Helpers\Customer;
|
||||
|
||||
use App\Helpers\CommonHelper;
|
||||
|
||||
class AccountHelper extends CommonHelper
|
||||
class AccountHelper extends CustomerHelper
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
|
||||
@ -2,9 +2,7 @@
|
||||
|
||||
namespace App\Helpers\Customer;
|
||||
|
||||
use App\Helpers\CommonHelper;
|
||||
|
||||
class ClientHelper extends CommonHelper
|
||||
class ClientHelper extends CustomerHelper
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
|
||||
@ -2,9 +2,7 @@
|
||||
|
||||
namespace App\Helpers\Customer;
|
||||
|
||||
use App\Helpers\CommonHelper;
|
||||
|
||||
class CouponHelper extends CommonHelper
|
||||
class CouponHelper extends CustomerHelper
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
|
||||
13
app/Helpers/Customer/CustomerHelper.php
Normal file
13
app/Helpers/Customer/CustomerHelper.php
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Helpers\Customer;
|
||||
|
||||
use App\Helpers\CommonHelper;
|
||||
|
||||
abstract class CustomerHelper extends CommonHelper
|
||||
{
|
||||
protected function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
}
|
||||
@ -2,9 +2,7 @@
|
||||
|
||||
namespace App\Helpers\Customer;
|
||||
|
||||
use App\Helpers\CommonHelper;
|
||||
|
||||
class PointHelper extends CommonHelper
|
||||
class PointHelper extends CustomerHelper
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
|
||||
13
app/Helpers/Equipment/EquipmentHelper.php
Normal file
13
app/Helpers/Equipment/EquipmentHelper.php
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Helpers\Equipment;
|
||||
|
||||
use App\Helpers\CommonHelper;
|
||||
|
||||
abstract class EquipmentHelper extends CommonHelper
|
||||
{
|
||||
protected function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
}
|
||||
@ -2,9 +2,7 @@
|
||||
|
||||
namespace App\Helpers\Equipment;
|
||||
|
||||
use App\Helpers\CommonHelper;
|
||||
|
||||
class LineHelper extends CommonHelper
|
||||
class LineHelper extends EquipmentHelper
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
|
||||
@ -2,9 +2,7 @@
|
||||
|
||||
namespace App\Helpers\Equipment;
|
||||
|
||||
use App\Helpers\CommonHelper;
|
||||
|
||||
class ServerHelper extends CommonHelper
|
||||
class ServerHelper extends EquipmentHelper
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
|
||||
@ -2,9 +2,7 @@
|
||||
|
||||
namespace App\Helpers\Equipment;
|
||||
|
||||
use App\Helpers\CommonHelper;
|
||||
|
||||
class ServerPartHelper extends CommonHelper
|
||||
class ServerPartHelper extends EquipmentHelper
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
|
||||
@ -2,9 +2,7 @@
|
||||
|
||||
namespace App\Helpers\Part;
|
||||
|
||||
use App\Helpers\CommonHelper;
|
||||
|
||||
class CPUHelper extends CommonHelper
|
||||
class CPUHelper extends PartHelper
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
|
||||
11
app/Helpers/Part/CSHelper.php
Normal file
11
app/Helpers/Part/CSHelper.php
Normal file
@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace App\Helpers\Part;
|
||||
|
||||
class CSHelper extends PartHelper
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
}
|
||||
11
app/Helpers/Part/DISKHelper.php
Normal file
11
app/Helpers/Part/DISKHelper.php
Normal file
@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace App\Helpers\Part;
|
||||
|
||||
class DISKHelper extends PartHelper
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
}
|
||||
11
app/Helpers/Part/IPHelper.php
Normal file
11
app/Helpers/Part/IPHelper.php
Normal file
@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace App\Helpers\Part;
|
||||
|
||||
class IPHelper extends PartHelper
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
}
|
||||
13
app/Helpers/Part/PartHelper.php
Normal file
13
app/Helpers/Part/PartHelper.php
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Helpers\Part;
|
||||
|
||||
use App\Helpers\CommonHelper;
|
||||
|
||||
abstract class PartHelper extends CommonHelper
|
||||
{
|
||||
protected function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
}
|
||||
11
app/Helpers/Part/RAMHelper.php
Normal file
11
app/Helpers/Part/RAMHelper.php
Normal file
@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace App\Helpers\Part;
|
||||
|
||||
class RAMHelper extends PartHelper
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
}
|
||||
11
app/Helpers/Part/SOFTWAREHelper.php
Normal file
11
app/Helpers/Part/SOFTWAREHelper.php
Normal file
@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace App\Helpers\Part;
|
||||
|
||||
class SOFTWAREHelper extends PartHelper
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
}
|
||||
23
app/Helpers/Part/SWITCHHelper.php
Normal file
23
app/Helpers/Part/SWITCHHelper.php
Normal file
@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace App\Helpers\Part;
|
||||
|
||||
class SWITCHHelper extends PartHelper
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
public function getListButton(string $action, string $label, array $viewDatas, array $extras = []): string
|
||||
{
|
||||
switch ($action) {
|
||||
case 'modify':
|
||||
$action = parent::getListButton($action, $viewDatas['entity']->getCode(), $viewDatas, $extras);
|
||||
break;
|
||||
default:
|
||||
$action = parent::getListButton($action, $label, $viewDatas, $extras);
|
||||
break;
|
||||
}
|
||||
return $action;
|
||||
}
|
||||
}
|
||||
@ -29,30 +29,4 @@ class CSModel extends PartModel
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
public function getFormRule(string $action, string $field): string
|
||||
{
|
||||
if (is_array($field)) {
|
||||
throw new \Exception(__FUNCTION__ . "=> field가 array 입니다.\n" . var_export($field, true));
|
||||
}
|
||||
switch ($field) {
|
||||
case "type":
|
||||
$rule = "required|trim|string";
|
||||
break;
|
||||
case "ip":
|
||||
$rule = "required|trim|valid_ip[both]"; //ipv4 , ipv6 , both(ipv4,ipv6)
|
||||
$rule .= in_array($action, ["create", "create_form"]) ? "|is_unique[" . $this->getTable() . "." . $field . "]" : "";
|
||||
break;
|
||||
case "accountid":
|
||||
case "domain":
|
||||
$rule = "permit_empty|trim|string";
|
||||
break;
|
||||
case "status":
|
||||
$rule = "required|trim|string";
|
||||
break;
|
||||
default:
|
||||
$rule = parent::getFormRule($action, $field);
|
||||
break;
|
||||
}
|
||||
return $rule;
|
||||
}
|
||||
}
|
||||
|
||||
@ -28,32 +28,4 @@ class IPModel extends PartModel
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
public function getFormRule(string $action, string $field): string
|
||||
{
|
||||
if (is_array($field)) {
|
||||
throw new \Exception(__FUNCTION__ . "=> field가 array 입니다.\n" . var_export($field, true));
|
||||
}
|
||||
switch ($field) {
|
||||
case "lineinfo_uid":
|
||||
$rule = "required|numeric";
|
||||
break;
|
||||
case "old_clientinfo_uid":
|
||||
case "clientinfo_uid":
|
||||
case "serviceinfo_uid":
|
||||
case "serverinfo_uid":
|
||||
$rule = "permit_empty|numeric";
|
||||
break;
|
||||
case "ip":
|
||||
$rule = "required|trim|valid_ip[both]"; //ipv4 , ipv6 , both(ipv4,ipv6)
|
||||
$rule .= in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->table}.{$field}]" : "";
|
||||
break;
|
||||
case "status":
|
||||
$rule = "required|trim|string";
|
||||
break;
|
||||
default:
|
||||
$rule = parent::getFormRule($action, $field);
|
||||
break;
|
||||
}
|
||||
return $rule;
|
||||
}
|
||||
}
|
||||
|
||||
@ -27,19 +27,4 @@ class SWITCHModel extends PartModel
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
public function getFormRule(string $action, string $field): string
|
||||
{
|
||||
if (is_array($field)) {
|
||||
throw new \Exception(__FUNCTION__ . "=> field가 array 입니다.\n" . var_export($field, true));
|
||||
}
|
||||
switch ($field) {
|
||||
case "status":
|
||||
$rule = "required|trim|string";
|
||||
break;
|
||||
default:
|
||||
$rule = parent::getFormRule($action, $field);
|
||||
break;
|
||||
}
|
||||
return $rule;
|
||||
}
|
||||
}
|
||||
|
||||
95
app/Services/Part/CSService.php
Normal file
95
app/Services/Part/CSService.php
Normal file
@ -0,0 +1,95 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\Part;
|
||||
|
||||
use App\DTOs\Part\CSDTO;
|
||||
use App\Entities\Part\CSEntity;
|
||||
use App\Forms\Part\CSForm;
|
||||
use App\Helpers\Part\CSHelper;
|
||||
use App\Models\Part\CSModel;
|
||||
use RuntimeException;
|
||||
|
||||
class CSService extends PartService
|
||||
{
|
||||
private $_form = null;
|
||||
private $_helper = null;
|
||||
public function __construct(CSModel $model)
|
||||
{
|
||||
parent::__construct($model);
|
||||
$this->addClassPaths('CS');
|
||||
}
|
||||
public function createDTO(array $formDatas): CSDTO
|
||||
{
|
||||
return new CSDTO($formDatas);
|
||||
}
|
||||
public function getFormService(): CSForm
|
||||
{
|
||||
if ($this->_form === null) {
|
||||
$this->_form = new CSForm();
|
||||
$this->_form->setAttributes([
|
||||
'pk_field' => $this->model->getPKField(),
|
||||
'title_field' => $this->model->getTitleField(),
|
||||
'table' => $this->model->getTable(),
|
||||
'useAutoIncrement' => $this->model->useAutoIncrement(),
|
||||
'class_path' => $this->getClassPaths(false)
|
||||
]);
|
||||
}
|
||||
return $this->_form;
|
||||
}
|
||||
public function getHelper(): CSHelper
|
||||
{
|
||||
if ($this->_helper === null) {
|
||||
$this->_helper = new CSHelper();
|
||||
$this->_helper->setAttributes([
|
||||
'pk_field' => $this->model->getPKField(),
|
||||
'title_field' => $this->model->getTitleField(),
|
||||
'table' => $this->model->getTable(),
|
||||
'useAutoIncrement' => $this->model->useAutoIncrement(),
|
||||
'class_path' => $this->getClassPaths(false)
|
||||
]);
|
||||
}
|
||||
return $this->_helper;
|
||||
}
|
||||
//기본 기능부분
|
||||
protected function getEntity_process(mixed $entity): CSEntity
|
||||
{
|
||||
return $entity;
|
||||
}
|
||||
protected function create_process(array $formDatas): CSEntity
|
||||
{
|
||||
return new CSEntity($formDatas);
|
||||
}
|
||||
public function create(object $dto): CSEntity
|
||||
{
|
||||
if (!$dto instanceof CSDTO) {
|
||||
throw new RuntimeException(__METHOD__ . "에서 오류발생:" . get_class($dto) . "는 사용할수 없습니다.");
|
||||
}
|
||||
$entity = parent::create($dto);
|
||||
if (!$entity instanceof CSEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 CSEntity만 가능");
|
||||
}
|
||||
return $entity;
|
||||
}
|
||||
protected function modify_process($uid, array $formDatas): CSEntity
|
||||
{
|
||||
$entity = parent::modify_process($uid, $formDatas);
|
||||
if (!$entity instanceof CSEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 CSEntity만 가능");
|
||||
}
|
||||
return $entity;
|
||||
}
|
||||
public function modify($uid, object $dto): CSEntity
|
||||
{
|
||||
if (!$dto instanceof CSDTO) {
|
||||
throw new RuntimeException(__METHOD__ . "에서 오류발생:" . get_class($dto) . "는 사용할수 없습니다.");
|
||||
}
|
||||
$entity = parent::modify($uid, $dto);
|
||||
if (!$entity instanceof CSEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 CSEntity만 가능");
|
||||
}
|
||||
return $entity;
|
||||
}
|
||||
//List 검색용
|
||||
//FormFilter 조건절 처리
|
||||
//검색어조건절처리
|
||||
}
|
||||
95
app/Services/Part/DISKService.php
Normal file
95
app/Services/Part/DISKService.php
Normal file
@ -0,0 +1,95 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\Part;
|
||||
|
||||
use App\DTOs\Part\DISKDTO;
|
||||
use App\Entities\Part\DISKEntity;
|
||||
use App\Forms\Part\DISKForm;
|
||||
use App\Helpers\Part\DISKHelper;
|
||||
use App\Models\Part\DISKModel;
|
||||
use RuntimeException;
|
||||
|
||||
class DISKService extends PartService
|
||||
{
|
||||
private $_form = null;
|
||||
private $_helper = null;
|
||||
public function __construct(DISKModel $model)
|
||||
{
|
||||
parent::__construct($model);
|
||||
$this->addClassPaths('DISK');
|
||||
}
|
||||
public function createDTO(array $formDatas): DISKDTO
|
||||
{
|
||||
return new DISKDTO($formDatas);
|
||||
}
|
||||
public function getFormService(): DISKForm
|
||||
{
|
||||
if ($this->_form === null) {
|
||||
$this->_form = new DISKForm();
|
||||
$this->_form->setAttributes([
|
||||
'pk_field' => $this->model->getPKField(),
|
||||
'title_field' => $this->model->getTitleField(),
|
||||
'table' => $this->model->getTable(),
|
||||
'useAutoIncrement' => $this->model->useAutoIncrement(),
|
||||
'class_path' => $this->getClassPaths(false)
|
||||
]);
|
||||
}
|
||||
return $this->_form;
|
||||
}
|
||||
public function getHelper(): DISKHelper
|
||||
{
|
||||
if ($this->_helper === null) {
|
||||
$this->_helper = new DISKHelper();
|
||||
$this->_helper->setAttributes([
|
||||
'pk_field' => $this->model->getPKField(),
|
||||
'title_field' => $this->model->getTitleField(),
|
||||
'table' => $this->model->getTable(),
|
||||
'useAutoIncrement' => $this->model->useAutoIncrement(),
|
||||
'class_path' => $this->getClassPaths(false)
|
||||
]);
|
||||
}
|
||||
return $this->_helper;
|
||||
}
|
||||
//기본 기능부분
|
||||
protected function getEntity_process(mixed $entity): DISKEntity
|
||||
{
|
||||
return $entity;
|
||||
}
|
||||
protected function create_process(array $formDatas): DISKEntity
|
||||
{
|
||||
return new DISKEntity($formDatas);
|
||||
}
|
||||
public function create(object $dto): DISKEntity
|
||||
{
|
||||
if (!$dto instanceof DISKDTO) {
|
||||
throw new RuntimeException(__METHOD__ . "에서 오류발생:" . get_class($dto) . "는 사용할수 없습니다.");
|
||||
}
|
||||
$entity = parent::create($dto);
|
||||
if (!$entity instanceof DISKEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 DISKEntity만 가능");
|
||||
}
|
||||
return $entity;
|
||||
}
|
||||
protected function modify_process($uid, array $formDatas): DISKEntity
|
||||
{
|
||||
$entity = parent::modify_process($uid, $formDatas);
|
||||
if (!$entity instanceof DISKEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 DISKEntity만 가능");
|
||||
}
|
||||
return $entity;
|
||||
}
|
||||
public function modify($uid, object $dto): DISKEntity
|
||||
{
|
||||
if (!$dto instanceof DISKDTO) {
|
||||
throw new RuntimeException(__METHOD__ . "에서 오류발생:" . get_class($dto) . "는 사용할수 없습니다.");
|
||||
}
|
||||
$entity = parent::modify($uid, $dto);
|
||||
if (!$entity instanceof DISKEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 DISKEntity만 가능");
|
||||
}
|
||||
return $entity;
|
||||
}
|
||||
//List 검색용
|
||||
//FormFilter 조건절 처리
|
||||
//검색어조건절처리
|
||||
}
|
||||
95
app/Services/Part/IPService.php
Normal file
95
app/Services/Part/IPService.php
Normal file
@ -0,0 +1,95 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\Part;
|
||||
|
||||
use App\DTOs\Part\IPDTO;
|
||||
use App\Entities\Part\IPEntity;
|
||||
use App\Forms\Part\IPForm;
|
||||
use App\Helpers\Part\IPHelper;
|
||||
use App\Models\Part\IPModel;
|
||||
use RuntimeException;
|
||||
|
||||
class IPService extends PartService
|
||||
{
|
||||
private $_form = null;
|
||||
private $_helper = null;
|
||||
public function __construct(IPModel $model)
|
||||
{
|
||||
parent::__construct($model);
|
||||
$this->addClassPaths('IP');
|
||||
}
|
||||
public function createDTO(array $formDatas): IPDTO
|
||||
{
|
||||
return new IPDTO($formDatas);
|
||||
}
|
||||
public function getFormService(): IPForm
|
||||
{
|
||||
if ($this->_form === null) {
|
||||
$this->_form = new IPForm();
|
||||
$this->_form->setAttributes([
|
||||
'pk_field' => $this->model->getPKField(),
|
||||
'title_field' => $this->model->getTitleField(),
|
||||
'table' => $this->model->getTable(),
|
||||
'useAutoIncrement' => $this->model->useAutoIncrement(),
|
||||
'class_path' => $this->getClassPaths(false)
|
||||
]);
|
||||
}
|
||||
return $this->_form;
|
||||
}
|
||||
public function getHelper(): IPHelper
|
||||
{
|
||||
if ($this->_helper === null) {
|
||||
$this->_helper = new IPHelper();
|
||||
$this->_helper->setAttributes([
|
||||
'pk_field' => $this->model->getPKField(),
|
||||
'title_field' => $this->model->getTitleField(),
|
||||
'table' => $this->model->getTable(),
|
||||
'useAutoIncrement' => $this->model->useAutoIncrement(),
|
||||
'class_path' => $this->getClassPaths(false)
|
||||
]);
|
||||
}
|
||||
return $this->_helper;
|
||||
}
|
||||
//기본 기능부분
|
||||
protected function getEntity_process(mixed $entity): IPEntity
|
||||
{
|
||||
return $entity;
|
||||
}
|
||||
protected function create_process(array $formDatas): IPEntity
|
||||
{
|
||||
return new IPEntity($formDatas);
|
||||
}
|
||||
public function create(object $dto): IPEntity
|
||||
{
|
||||
if (!$dto instanceof IPDTO) {
|
||||
throw new RuntimeException(__METHOD__ . "에서 오류발생:" . get_class($dto) . "는 사용할수 없습니다.");
|
||||
}
|
||||
$entity = parent::create($dto);
|
||||
if (!$entity instanceof IPEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 IPEntity만 가능");
|
||||
}
|
||||
return $entity;
|
||||
}
|
||||
protected function modify_process($uid, array $formDatas): IPEntity
|
||||
{
|
||||
$entity = parent::modify_process($uid, $formDatas);
|
||||
if (!$entity instanceof IPEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 IPEntity만 가능");
|
||||
}
|
||||
return $entity;
|
||||
}
|
||||
public function modify($uid, object $dto): IPEntity
|
||||
{
|
||||
if (!$dto instanceof IPDTO) {
|
||||
throw new RuntimeException(__METHOD__ . "에서 오류발생:" . get_class($dto) . "는 사용할수 없습니다.");
|
||||
}
|
||||
$entity = parent::modify($uid, $dto);
|
||||
if (!$entity instanceof IPEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 IPEntity만 가능");
|
||||
}
|
||||
return $entity;
|
||||
}
|
||||
//List 검색용
|
||||
//FormFilter 조건절 처리
|
||||
//검색어조건절처리
|
||||
}
|
||||
95
app/Services/Part/RAMService.php
Normal file
95
app/Services/Part/RAMService.php
Normal file
@ -0,0 +1,95 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\Part;
|
||||
|
||||
use App\DTOs\Part\RAMDTO;
|
||||
use App\Entities\Part\RAMEntity;
|
||||
use App\Forms\Part\RAMForm;
|
||||
use App\Helpers\Part\RAMHelper;
|
||||
use App\Models\Part\RAMModel;
|
||||
use RuntimeException;
|
||||
|
||||
class RAMService extends PartService
|
||||
{
|
||||
private $_form = null;
|
||||
private $_helper = null;
|
||||
public function __construct(RAMModel $model)
|
||||
{
|
||||
parent::__construct($model);
|
||||
$this->addClassPaths('RAM');
|
||||
}
|
||||
public function createDTO(array $formDatas): RAMDTO
|
||||
{
|
||||
return new RAMDTO($formDatas);
|
||||
}
|
||||
public function getFormService(): RAMForm
|
||||
{
|
||||
if ($this->_form === null) {
|
||||
$this->_form = new RAMForm();
|
||||
$this->_form->setAttributes([
|
||||
'pk_field' => $this->model->getPKField(),
|
||||
'title_field' => $this->model->getTitleField(),
|
||||
'table' => $this->model->getTable(),
|
||||
'useAutoIncrement' => $this->model->useAutoIncrement(),
|
||||
'class_path' => $this->getClassPaths(false)
|
||||
]);
|
||||
}
|
||||
return $this->_form;
|
||||
}
|
||||
public function getHelper(): RAMHelper
|
||||
{
|
||||
if ($this->_helper === null) {
|
||||
$this->_helper = new RAMHelper();
|
||||
$this->_helper->setAttributes([
|
||||
'pk_field' => $this->model->getPKField(),
|
||||
'title_field' => $this->model->getTitleField(),
|
||||
'table' => $this->model->getTable(),
|
||||
'useAutoIncrement' => $this->model->useAutoIncrement(),
|
||||
'class_path' => $this->getClassPaths(false)
|
||||
]);
|
||||
}
|
||||
return $this->_helper;
|
||||
}
|
||||
//기본 기능부분
|
||||
protected function getEntity_process(mixed $entity): RAMEntity
|
||||
{
|
||||
return $entity;
|
||||
}
|
||||
protected function create_process(array $formDatas): RAMEntity
|
||||
{
|
||||
return new RAMEntity($formDatas);
|
||||
}
|
||||
public function create(object $dto): RAMEntity
|
||||
{
|
||||
if (!$dto instanceof RAMDTO) {
|
||||
throw new RuntimeException(__METHOD__ . "에서 오류발생:" . get_class($dto) . "는 사용할수 없습니다.");
|
||||
}
|
||||
$entity = parent::create($dto);
|
||||
if (!$entity instanceof RAMEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 RAMEntity만 가능");
|
||||
}
|
||||
return $entity;
|
||||
}
|
||||
protected function modify_process($uid, array $formDatas): RAMEntity
|
||||
{
|
||||
$entity = parent::modify_process($uid, $formDatas);
|
||||
if (!$entity instanceof RAMEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 RAMEntity만 가능");
|
||||
}
|
||||
return $entity;
|
||||
}
|
||||
public function modify($uid, object $dto): RAMEntity
|
||||
{
|
||||
if (!$dto instanceof RAMDTO) {
|
||||
throw new RuntimeException(__METHOD__ . "에서 오류발생:" . get_class($dto) . "는 사용할수 없습니다.");
|
||||
}
|
||||
$entity = parent::modify($uid, $dto);
|
||||
if (!$entity instanceof RAMEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 RAMEntity만 가능");
|
||||
}
|
||||
return $entity;
|
||||
}
|
||||
//List 검색용
|
||||
//FormFilter 조건절 처리
|
||||
//검색어조건절처리
|
||||
}
|
||||
95
app/Services/Part/SOFTWAREService.php
Normal file
95
app/Services/Part/SOFTWAREService.php
Normal file
@ -0,0 +1,95 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\Part;
|
||||
|
||||
use App\DTOs\Part\SOFTWAREDTO;
|
||||
use App\Entities\Part\SOFTWAREEntity;
|
||||
use App\Forms\Part\SOFTWAREForm;
|
||||
use App\Helpers\Part\SOFTWAREHelper;
|
||||
use App\Models\Part\SOFTWAREModel;
|
||||
use RuntimeException;
|
||||
|
||||
class SOFTWAREService extends PartService
|
||||
{
|
||||
private $_form = null;
|
||||
private $_helper = null;
|
||||
public function __construct(SOFTWAREModel $model)
|
||||
{
|
||||
parent::__construct($model);
|
||||
$this->addClassPaths('SOFTWARE');
|
||||
}
|
||||
public function createDTO(array $formDatas): SOFTWAREDTO
|
||||
{
|
||||
return new SOFTWAREDTO($formDatas);
|
||||
}
|
||||
public function getFormService(): SOFTWAREForm
|
||||
{
|
||||
if ($this->_form === null) {
|
||||
$this->_form = new SOFTWAREForm();
|
||||
$this->_form->setAttributes([
|
||||
'pk_field' => $this->model->getPKField(),
|
||||
'title_field' => $this->model->getTitleField(),
|
||||
'table' => $this->model->getTable(),
|
||||
'useAutoIncrement' => $this->model->useAutoIncrement(),
|
||||
'class_path' => $this->getClassPaths(false)
|
||||
]);
|
||||
}
|
||||
return $this->_form;
|
||||
}
|
||||
public function getHelper(): SOFTWAREHelper
|
||||
{
|
||||
if ($this->_helper === null) {
|
||||
$this->_helper = new SOFTWAREHelper();
|
||||
$this->_helper->setAttributes([
|
||||
'pk_field' => $this->model->getPKField(),
|
||||
'title_field' => $this->model->getTitleField(),
|
||||
'table' => $this->model->getTable(),
|
||||
'useAutoIncrement' => $this->model->useAutoIncrement(),
|
||||
'class_path' => $this->getClassPaths(false)
|
||||
]);
|
||||
}
|
||||
return $this->_helper;
|
||||
}
|
||||
//기본 기능부분
|
||||
protected function getEntity_process(mixed $entity): SOFTWAREEntity
|
||||
{
|
||||
return $entity;
|
||||
}
|
||||
protected function create_process(array $formDatas): SOFTWAREEntity
|
||||
{
|
||||
return new SOFTWAREEntity($formDatas);
|
||||
}
|
||||
public function create(object $dto): SOFTWAREEntity
|
||||
{
|
||||
if (!$dto instanceof SOFTWAREDTO) {
|
||||
throw new RuntimeException(__METHOD__ . "에서 오류발생:" . get_class($dto) . "는 사용할수 없습니다.");
|
||||
}
|
||||
$entity = parent::create($dto);
|
||||
if (!$entity instanceof SOFTWAREEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 SOFTWAREEntity만 가능");
|
||||
}
|
||||
return $entity;
|
||||
}
|
||||
protected function modify_process($uid, array $formDatas): SOFTWAREEntity
|
||||
{
|
||||
$entity = parent::modify_process($uid, $formDatas);
|
||||
if (!$entity instanceof SOFTWAREEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 SOFTWAREEntity만 가능");
|
||||
}
|
||||
return $entity;
|
||||
}
|
||||
public function modify($uid, object $dto): SOFTWAREEntity
|
||||
{
|
||||
if (!$dto instanceof SOFTWAREDTO) {
|
||||
throw new RuntimeException(__METHOD__ . "에서 오류발생:" . get_class($dto) . "는 사용할수 없습니다.");
|
||||
}
|
||||
$entity = parent::modify($uid, $dto);
|
||||
if (!$entity instanceof SOFTWAREEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 SOFTWAREEntity만 가능");
|
||||
}
|
||||
return $entity;
|
||||
}
|
||||
//List 검색용
|
||||
//FormFilter 조건절 처리
|
||||
//검색어조건절처리
|
||||
}
|
||||
95
app/Services/Part/SWITCHService.php
Normal file
95
app/Services/Part/SWITCHService.php
Normal file
@ -0,0 +1,95 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\Part;
|
||||
|
||||
use App\DTOs\Part\SWITCHDTO;
|
||||
use App\Entities\Part\SWITCHEntity;
|
||||
use App\Forms\Part\SWITCHForm;
|
||||
use App\Helpers\Part\SWITCHHelper;
|
||||
use App\Models\Part\SWITCHModel;
|
||||
use RuntimeException;
|
||||
|
||||
class SWITCHService extends PartService
|
||||
{
|
||||
private $_form = null;
|
||||
private $_helper = null;
|
||||
public function __construct(SWITCHModel $model)
|
||||
{
|
||||
parent::__construct($model);
|
||||
$this->addClassPaths('SWITCH');
|
||||
}
|
||||
public function createDTO(array $formDatas): SWITCHDTO
|
||||
{
|
||||
return new SWITCHDTO($formDatas);
|
||||
}
|
||||
public function getFormService(): SWITCHForm
|
||||
{
|
||||
if ($this->_form === null) {
|
||||
$this->_form = new SWITCHForm();
|
||||
$this->_form->setAttributes([
|
||||
'pk_field' => $this->model->getPKField(),
|
||||
'title_field' => $this->model->getTitleField(),
|
||||
'table' => $this->model->getTable(),
|
||||
'useAutoIncrement' => $this->model->useAutoIncrement(),
|
||||
'class_path' => $this->getClassPaths(false)
|
||||
]);
|
||||
}
|
||||
return $this->_form;
|
||||
}
|
||||
public function getHelper(): SWITCHHelper
|
||||
{
|
||||
if ($this->_helper === null) {
|
||||
$this->_helper = new SWITCHHelper();
|
||||
$this->_helper->setAttributes([
|
||||
'pk_field' => $this->model->getPKField(),
|
||||
'title_field' => $this->model->getTitleField(),
|
||||
'table' => $this->model->getTable(),
|
||||
'useAutoIncrement' => $this->model->useAutoIncrement(),
|
||||
'class_path' => $this->getClassPaths(false)
|
||||
]);
|
||||
}
|
||||
return $this->_helper;
|
||||
}
|
||||
//기본 기능부분
|
||||
protected function getEntity_process(mixed $entity): SWITCHEntity
|
||||
{
|
||||
return $entity;
|
||||
}
|
||||
protected function create_process(array $formDatas): SWITCHEntity
|
||||
{
|
||||
return new SWITCHEntity($formDatas);
|
||||
}
|
||||
public function create(object $dto): SWITCHEntity
|
||||
{
|
||||
if (!$dto instanceof SWITCHDTO) {
|
||||
throw new RuntimeException(__METHOD__ . "에서 오류발생:" . get_class($dto) . "는 사용할수 없습니다.");
|
||||
}
|
||||
$entity = parent::create($dto);
|
||||
if (!$entity instanceof SWITCHEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 SWITCHEntity만 가능");
|
||||
}
|
||||
return $entity;
|
||||
}
|
||||
protected function modify_process($uid, array $formDatas): SWITCHEntity
|
||||
{
|
||||
$entity = parent::modify_process($uid, $formDatas);
|
||||
if (!$entity instanceof SWITCHEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 SWITCHEntity만 가능");
|
||||
}
|
||||
return $entity;
|
||||
}
|
||||
public function modify($uid, object $dto): SWITCHEntity
|
||||
{
|
||||
if (!$dto instanceof SWITCHDTO) {
|
||||
throw new RuntimeException(__METHOD__ . "에서 오류발생:" . get_class($dto) . "는 사용할수 없습니다.");
|
||||
}
|
||||
$entity = parent::modify($uid, $dto);
|
||||
if (!$entity instanceof SWITCHEntity) {
|
||||
throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 SWITCHEntity만 가능");
|
||||
}
|
||||
return $entity;
|
||||
}
|
||||
//List 검색용
|
||||
//FormFilter 조건절 처리
|
||||
//검색어조건절처리
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user