dbmsv4 init...3

This commit is contained in:
최준흠 2025-12-18 13:57:44 +09:00
parent 8f6ee9c541
commit eaa33ac5d0
69 changed files with 1089 additions and 1123 deletions

View File

@ -11,7 +11,7 @@ class ServiceCell extends CustomerCell
public function detail(array $params): string
{
$this->getService()->action_init_process(__FUNCTION__);
$this->getService()->getFormService()->action_init_process(__FUNCTION__);
//서비스별 미납 Count
$unPaids = service('paymentservice')->getUnPaids('serviceinfo_uid', ['clientinfo_uid' => $params['clientinfo_uid']]);
//서비스별 서버리스트

View File

@ -59,7 +59,7 @@ class ServerCell extends EquipmentCell
}
public function detail(array $params): string
{
$this->getService()->action_init_process(__FUNCTION__);
$this->getService()->getFormService()->action_init_process(__FUNCTION__);
if (!array_key_exists('serviceEntity', $params)) {
return static::class . '->' . __FUNCTION__ . "에서 오류발생: 서비스 정보가 정의되지 않았습니다.";
}

View File

@ -14,7 +14,7 @@ class ServerPartCell extends EquipmentCell
public function parttable(array $params): string
{
$this->getService()->action_init_process(__FUNCTION__);
$this->getService()->getFormService()->action_init_process(__FUNCTION__);
if (!array_key_exists('serverinfo_uid', $params)) {
return "서버정보를 정의하셔야합니다.";
}

View File

@ -15,7 +15,7 @@ class MylogCell extends CommonCell
public function dashboard(array $params): string
{
$this->getService()->action_init_process(__FUNCTION__);
$this->getService()->getFormService()->action_init_process(__FUNCTION__);
$this->getService()->setLimit(20);
$template = array_key_exists('template', $params) ? $params['template'] : __FUNCTION__;
return view('cells/mylog/' . $template, [

View File

@ -13,7 +13,7 @@ class DISKCell extends PartCell
public function stock(array $params): string
{
$this->getService()->action_init_process(__FUNCTION__);
$this->getService()->getFormService()->action_init_process(__FUNCTION__);
$template = array_key_exists('template', $params) ? $params['template'] : 'disk_stock';
return view('cells/part/' . $template, [
'partCellDatas' => [

View File

@ -14,7 +14,7 @@ class PaymentCell extends CommonCell
public function detail(array $params): string
{
$this->getService()->action_init_process(__FUNCTION__);
$this->getService()->getFormService()->action_init_process(__FUNCTION__);
$entities = $this->getService()->getEntities(['clientinfo_uid' => $params['clientinfo_uid'], 'billing' => PAYMENT['BILLING']['ONETIME'], 'status' => STATUS['UNPAID']]);
$template = array_key_exists('template', $params) ? $params['template'] : __FUNCTION__;
return view('cells/payment/' . $template, [

View File

@ -19,11 +19,11 @@ abstract class AdminController extends CommonController
}
protected function action_init_process(string $action, array $formDatas = []): void
{
$this->service->action_init_process($action, $formDatas);
parent::action_init_process($action, $formDatas);
$this->addViewDatas('layout', $this->layouts);
$this->addViewDatas('title', $this->getTitle());
$this->addViewDatas('helper', $this->service->getHelper());
$this->service->getFormService()->action_init_process($action, $formDatas);
$this->addViewDatas('formFields', $this->service->getFormService()->getFormFields());
$this->addViewDatas('formRules', $this->service->getFormService()->getFormRules());
$this->addViewDatas('formFilters', $this->service->getFormService()->getFormFilters());

View File

@ -2,6 +2,7 @@
namespace App\Controllers\Admin\Customer\Wallet;
use App\Entities\Customer\ClientEntity;
use CodeIgniter\HTTP\RedirectResponse;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
@ -24,17 +25,17 @@ class AccountController extends WalletController
{
try {
$uid = $this->request->getVar('clientinfo_uid');
if (!$uid) {
throw new RuntimeException(static::class . '->' . __FUNCTION__ . "에서 오류발생: 고객정보 번호가 정의되지 않았습니다..");
}
$clientEntity = service('customer_clientservice')->getEntity($uid);
if (!$clientEntity) {
throw new RuntimeException(static::class . '->' . __FUNCTION__ . "에서 오류발생: {$uid}에 해당하는 고객정보을 찾을수 없습니다.");
$clientEntity = null;
if ($uid) {
$clientEntity = service('customer_clientservice')->getEntity($uid);
if (!$clientEntity) {
throw new RuntimeException(static::class . '->' . __FUNCTION__ . "에서 오류발생: {$uid}에 해당하는 고객정보을 찾을수 없습니다.");
}
}
$action = __FUNCTION__;
$formDatas = [];
$formDatas['clientinfo_uid'] = $uid;
$formDatas['alias'] = $clientEntity->getTitle();
$formDatas['alias'] = $clientEntity instanceof ClientEntity ? $clientEntity->getTitle() : "";
$formDatas['issue_at'] = date('Y-m-d');
$this->action_init_process($action, $formDatas);
$this->addViewDatas('formDatas', $formDatas);

View File

@ -22,10 +22,10 @@ class Home extends AbstractWebController
}
protected function action_init_process(string $action, array $formDatas = []): void
{
$this->service->action_init_process($action, $formDatas);
parent::action_init_process($action, $formDatas);
$this->addViewDatas('layout', $this->layouts);
$this->addViewDatas('helper', $this->service->getHelper());
$this->service->getFormService()->action_init_process($action, $formDatas);
$this->addViewDatas('formFields', $this->service->getFormService()->getFormFields());
$this->addViewDatas('formRules', $this->service->getFormService()->getFormRules());
$this->addViewDatas('formFilters', $this->service->getFormService()->getFormFilters());

View File

@ -21,10 +21,11 @@ abstract class AuthController extends AbstractWebController
}
protected function action_init_process(string $action, array $formDatas = []): void
{
$this->service->action_init_process($action, $formDatas);
parent::action_init_process($action, $formDatas);
$this->addViewDatas('layout', $this->layouts);
$this->addViewDatas('helper', $this->service->getHelper());
//Fields,Rules,Filters,Options등 초기화
$this->service->getFormService()->action_init_process($action, $formDatas);
$this->addViewDatas('formFields', $this->service->getFormService()->getFormFields());
$this->addViewDatas('formRules', $this->service->getFormService()->getFormRules());
$this->addViewDatas('formFilters', $this->service->getFormService()->getFormFilters());

View File

@ -25,7 +25,6 @@ class LocalController extends AuthController
//로그인처리
protected function login_process(): UserEntity
{
$this->action_init_process('login');
return $this->service->login(new LocalDTO($this->request->getPost()));
}
protected function logout_process(): void

View File

@ -59,7 +59,7 @@ abstract class CommonDTO
}
}
public function __get(string $name)
public function __get(string $name): mixed
{
// 1. 속성이 클래스에 실제로 존재하는지 확인
if (property_exists($this, $name)) {

View File

@ -38,25 +38,24 @@ class ClientDTO extends CommonDTO
/**
* role 속성을 읽을 자동으로 배열로 변환해서 반환
*/
public function __get(string $name)
public function __get(string $name): mixed
{
// role을 요청했고, 실제 데이터가 문자열로 존재한다면 배열로 변환
if ($name === 'role') {
if (is_string($this->role)) {
return explode(DEFAULTS["DELIMITER_ROLE"], $this->role);
}
return []; // null이거나 값이 없으면 빈 배열 반환
switch ($name) {
case 'role':
$value = is_string($this->$name) ? explode(DEFAULTS["DELIMITER_ROLE"], $this->role) : [];
break;
default:
// 부모에게 위임 (혹시 CommonDTO에도 __get이 있다면)
$value = parent::__get($name);
break;
}
// 부모에게 위임 (혹시 CommonDTO에도 __get이 있다면)
// CommonDTO에 __get이 없다면 이 줄은 에러가 날 수 있으므로,
// 보통은 아래처럼 처리하거나 속성을 리턴해야 합니다.
return $this->{$name} ?? null;
return $value;
}
// role 값을 설정할 때도 배열을 받을 수 있게 하려면 __set도 필요할 수 있습니다.
// (선택 사항)
public function setRole(array $roles)
public function setRole(array $roles): void
{
$this->role = implode(DEFAULTS["DELIMITER_ROLE"], $roles);
}

View File

@ -12,9 +12,9 @@ class AccountDTO extends CommonDTO
public ?string $bank = null;
public ?string $title = null;
public ?string $alias = null;
public ?string $email = null;
public ?string $issue_at = null;
public ?int $amount = null;
public ?int $balance = null;
public ?string $status = null;
public ?string $content = null;

View File

@ -11,6 +11,7 @@ class CouponDTO extends CommonDTO
public ?int $clientinfo_uid = null;
public ?string $title = null;
public ?int $amount = null;
public ?int $balance = null;
public ?string $status = null;
public ?string $content = null;

View File

@ -11,6 +11,7 @@ class PointDTO extends CommonDTO
public ?int $clientinfo_uid = null;
public ?string $title = null;
public ?int $amount = null;
public ?int $balance = null;
public ?string $status = null;
public ?string $content = null;

View File

@ -31,25 +31,24 @@ class UserDTO extends CommonDTO
/**
* role 속성을 읽을 자동으로 배열로 변환해서 반환
*/
public function __get(string $name)
public function __get(string $name): mixed
{
// role을 요청했고, 실제 데이터가 문자열로 존재한다면 배열로 변환
if ($name === 'role') {
if (is_string($this->role)) {
return explode(DEFAULTS["DELIMITER_ROLE"], $this->role);
}
return []; // null이거나 값이 없으면 빈 배열 반환
switch ($name) {
case 'role':
$value = is_string($this->name) ? explode(DEFAULTS["DELIMITER_ROLE"], $this->role) : [];
break;
default:
// 부모에게 위임 (혹시 CommonDTO에도 __get이 있다면)
$value = parent::__get($name);
break;
}
// 부모에게 위임 (혹시 CommonDTO에도 __get이 있다면)
// CommonDTO에 __get이 없다면 이 줄은 에러가 날 수 있으므로,
// 보통은 아래처럼 처리하거나 속성을 리턴해야 합니다.
return $this->{$name} ?? null;
return $value;
}
// role 값을 설정할 때도 배열을 받을 수 있게 하려면 __set도 필요할 수 있습니다.
// (선택 사항)
public function setRole(array $roles)
public function setRole(array $roles): void
{
$this->role = implode(DEFAULTS["DELIMITER_ROLE"], $roles);
}

View File

@ -61,7 +61,7 @@ class ClientEntity extends CustomerEntity
return $decodedRole;
}
// 2-b. JSON이 아니면 CSV로 가정하고 변환
$parts = explode(',', $role);
$parts = explode(DEFAULTS["DELIMITER_ROLE"], $role);
// 각 요소의 불필요한 공백과 따옴표 제거
$cleanedRoles = array_map(fn($item) => trim($item, " \t\n\r\0\x0B\""), $parts);
return array_filter($cleanedRoles);

View File

@ -44,7 +44,7 @@ class UserEntity extends CommonEntity
return $decodedRole;
}
// 2-b. JSON이 아니면 CSV로 가정하고 변환
$parts = explode(',', $role);
$parts = explode(DEFAULTS["DELIMITER_ROLE"], $role);
// 각 요소의 불필요한 공백과 따옴표 제거
$cleanedRoles = array_map(fn($item) => trim($item, " \t\n\r\0\x0B\""), $parts);
return array_filter($cleanedRoles);

View File

@ -10,7 +10,21 @@ class GoogleForm extends CommonForm
{
parent::__construct();
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = ['access_code'];
$filters = [];
switch ($action) {
case 'login':
case 'login_form':
break;
}
$this->setFormFields($fields);
$this->setFormRules($action, $fields);
$this->setFormFilters($filters);
$this->setFormOptions($action, $filters);
$this->setBatchjobFilters($filters);
}
public function getFormRule(string $action, string $field): string
{
switch ($field) {

View File

@ -10,7 +10,21 @@ class LocalForm extends CommonForm
{
parent::__construct();
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = ['id', 'passwd'];
$filters = [];
switch ($action) {
case 'login':
case 'login_form':
break;
}
$this->setFormFields($fields);
$this->setFormRules($action, $fields);
$this->setFormFilters($filters);
$this->setFormOptions($action, $filters);
$this->setBatchjobFilters($filters);
}
public function getFormRule(string $action, string $field): string
{
switch ($field) {

View File

@ -10,18 +10,68 @@ class BoardForm extends CommonForm
{
parent::__construct();
}
// protected function getValidationRule(string $field, string $rule): array
// {
// switch ($field) {
// case 'role':
// $field = "{$field}.*";
// break;
// default:
// return parent::getValidationRule($field, $rule);
// // break;
// }
// return array($field, $rule);
// }
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
'category',
'worker_uid',
'title',
'status',
'content',
];
$filters = [
'user_uid',
'worker_uid',
'category',
'status',
];
$indexFilter = $filters;
$batchjobFilters = ['user_uid', 'category', 'status'];
switch ($action) {
case 'create':
case 'create_form':
break;
case 'modify':
case 'modify_form':
$fields = [...$fields, 'status'];
break;
case 'view':
$fields = [
'category',
'worker_uid',
'title',
'status',
'created_at',
'content'
];
break;
case 'index':
$fields = [
'category',
'worker_uid',
'title',
'status',
'created_at'
];
break;
case 'download':
$fields = [
'category',
'worker_uid',
'title',
'status',
'created_at',
'content'
];
break;
}
$this->setFormFields($fields);
$this->setFormRules($action, $fields);
$this->setFormFilters($filters);
$this->setFormOptions($action, $filters, $formDatas);
$this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters);
}
public function getFormRule(string $action, string $field): string
{
switch ($field) {

View File

@ -20,6 +20,7 @@ abstract class CommonForm
{
$this->_validation = service('validation');
}
abstract public function action_init_process(string $action, array $formDatas = []): void;
final public function setAttributes(array $attributes): void
{
$this->_attributes = $attributes;

View File

@ -8,6 +8,57 @@ class ClientForm extends CustomerForm
{
parent::__construct();
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
'site',
'name',
'email',
'phone',
'role',
];
$filters = [
'site',
'role',
'status',
];
$indexFilter = $filters;
$batchjobFilters = ['site', 'role', 'status'];
switch ($action) {
case 'create':
case 'create_form':
break;
case 'modify':
case 'modify_form':
$fields = [...$fields, 'status'];
break;
case 'view':
$fields = [...$fields, 'status', 'created_at'];
break;
case 'index':
case 'download':
$fields = [
'site',
'name',
'email',
'phone',
'role',
'account_balance',
'coupon_balance',
'point_balance',
'status',
'created_at',
'updated_at',
];
break;
}
$this->setFormFields($fields);
$this->setFormRules($action, $fields);
$this->setFormFilters($filters);
$this->setFormOptions($action, $filters, $formDatas);
$this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters);
}
public function getFormRule(string $action, string $field): string
{
switch ($field) {

View File

@ -8,6 +8,74 @@ class ServiceForm extends CustomerForm
{
parent::__construct();
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"site",
"location",
"clientinfo_uid",
'serverinfo_uid',
"rack",
"line",
"title",
"start_at",
"billing_at",
"status",
'sale',
"history",
];
$filters = [
'site',
'location',
"rack",
"line",
'clientinfo_uid',
'serverinfo_uid',
'user_uid',
'status',
];
$indexFilter = $filters;
$batchjobFilters = [
'site',
'location',
'clientinfo_uid',
'status'
];
switch ($action) {
case 'create':
case 'create_form':
case 'modify':
case 'modify_form':
break;
case 'view':
$fields = [...$fields, 'created_at'];
break;
case 'index':
case 'download':
$fields = [
'site',
'location',
'clientinfo_uid',
'serverinfo_uid',
'sale',
'amount',
'billing_at',
'status',
'start_at',
'created_at'
];
break;
case 'alternative_create_form':
$fields = ['serverinfo_uid'];
break;
}
$this->setFormFields($fields);
$this->setFormRules($action, $fields);
$this->setFormFilters($filters);
$this->setFormOptions($action, $filters, $formDatas);
$this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters);
}
public function getFormRule(string $action, string $field): string
{
switch ($field) {

View File

@ -8,27 +8,70 @@ class AccountForm extends WalletForm
{
parent::__construct();
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"clientinfo_uid",
"bank",
"title",
"alias",
"issue_at",
"amount",
"status",
"content"
];
$filters = [
"clientinfo_uid",
"bank",
"status",
];
$indexFilter = $filters;
$actionButtons = ['view' => ICONS['SEARCH']];
$batchjobFilters = ['bank', 'status'];
switch ($action) {
case 'create':
case 'create_form':
break;
case 'modify':
case 'modify_form':
$fields = [...$fields, 'status'];
break;
case 'view':
$fields = [...$fields, 'created_at'];
break;
case 'index':
case 'download':
$fields = [
"clientinfo_uid",
"bank",
"title",
"alias",
"issue_at",
"amount",
"status",
'created_at',
];
break;
}
$this->setFormFields($fields);
$this->setFormRules($action, $fields);
$this->setFormFilters($filters);
$this->setFormOptions($action, $filters, $formDatas);
$this->setIndexFilters($indexFilter);
$this->setActionButtons($actionButtons);
$this->setBatchjobFilters($batchjobFilters);
}
public function getFormRule(string $action, string $field): string
{
switch ($field) {
case "user_uid":
case "clientinfo_uid":
case "amount":
case "balance":
$rule = "required|numeric";
break;
case "bank":
case "title":
case "alias":
case "status":
$rule = "required|trim|string";
break;
case "issue_at":
$rule = "required|valid_date";
break;
case "content":
$rule = "permit_empty|trim|string";
break;
default:
$rule = parent::getFormRule($action, $field);
break;

View File

@ -8,24 +8,48 @@ class CouponForm extends WalletForm
{
parent::__construct();
}
public function getFormRule(string $action, string $field): string
public function action_init_process(string $action, array $formDatas = []): void
{
switch ($field) {
case "clientinfo_uid":
case "amount":
$rule = "required|numeric";
$fields = [
"clientinfo_uid",
"title",
"amount",
"status",
"content",
];
$filters = [
"clientinfo_uid",
"status",
];
$indexFilter = $filters;
$actionButtons = ['view' => ICONS['SEARCH']];
$batchjobFilters = ['status'];
switch ($action) {
case 'create':
case 'create_form':
case 'modify':
case 'modify_form':
break;
case "title":
case "status":
$rule = "required|trim|string";
case 'view':
$fields = [...$fields, 'created_at'];
break;
case "content":
$rule = "permit_empty|trim|string";
break;
default:
$rule = parent::getFormRule($action, $field);
case 'index':
case 'download':
$fields = [
"clientinfo_uid",
"title",
"amount",
"status",
'created_at'
];
break;
}
return $rule;
$this->setFormFields($fields);
$this->setFormRules($action, $fields);
$this->setFormFilters($filters);
$this->setFormOptions($action, $filters, $formDatas);
$this->setIndexFilters($indexFilter);
$this->setActionButtons($actionButtons);
$this->setBatchjobFilters($batchjobFilters);
}
}

View File

@ -8,24 +8,48 @@ class PointForm extends WalletForm
{
parent::__construct();
}
public function getFormRule(string $action, string $field): string
public function action_init_process(string $action, array $formDatas = []): void
{
switch ($field) {
case "clientinfo_uid":
case "amount":
$rule = "required|numeric";
$fields = [
"clientinfo_uid",
"title",
"amount",
"status",
"content",
];
$filters = [
"clientinfo_uid",
"status",
];
$indexFilter = $filters;
$actionButtons = ['view' => ICONS['SEARCH']];
$batchjobFilters = ['status'];
switch ($action) {
case 'create':
case 'create_form':
case 'modify':
case 'modify_form':
break;
case "title":
case "status":
$rule = "required|trim|string";
case 'view':
$fields = [...$fields, 'created_at'];
break;
case "content":
$rule = "permit_empty|trim|string";
break;
default:
$rule = parent::getFormRule($action, $field);
case 'index':
case 'download':
$fields = [
"clientinfo_uid",
"title",
"amount",
"status",
'created_at'
];
break;
}
return $rule;
$this->setFormFields($fields);
$this->setFormRules($action, $fields);
$this->setFormFilters($filters);
$this->setFormOptions($action, $filters, $formDatas);
$this->setIndexFilters($indexFilter);
$this->setActionButtons($actionButtons);
$this->setBatchjobFilters($batchjobFilters);
}
}

View File

@ -10,4 +10,26 @@ abstract class WalletForm extends CustomerForm
{
parent::__construct();
}
public function getFormRule(string $action, string $field): string
{
switch ($field) {
case "user_uid":
case "clientinfo_uid":
case "amount":
case "balance":
$rule = "required|numeric";
break;
case "title":
case "status":
$rule = "required|trim|string";
break;
case "content":
$rule = "permit_empty|trim|string";
break;
default:
$rule = parent::getFormRule($action, $field);
break;
}
return $rule;
}
}

View File

@ -8,6 +8,40 @@ class CHASSISForm extends EquipmentForm
{
parent::__construct();
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"title",
"price",
"stock",
];
$filters = [
"status",
];
$indexFilter = $filters;
$batchjobFilters = ['status'];
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;
}
$this->setFormFields($fields);
$this->setFormRules($action, $fields);
$this->setFormFilters($filters);
$this->setFormOptions($action, $filters, $formDatas);
$this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters);
}
public function getFormRule(string $action, string $field): string
{
switch ($field) {

View File

@ -8,6 +8,43 @@ class LineForm extends EquipmentForm
{
parent::__construct();
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"type",
"title",
"bandwith",
"start_at",
"end_at",
];
$filters = [
"type",
"status",
];
$indexFilter = $filters;
$batchjobFilters = ['status'];
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;
}
$this->setFormFields($fields);
$this->setFormRules($action, $fields);
$this->setFormFilters($filters);
$this->setFormOptions($action, $filters, $formDatas);
$this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters);
}
public function getFormRule(string $action, string $field): string
{
switch ($field) {

View File

@ -8,6 +8,66 @@ class ServerForm extends EquipmentForm
{
parent::__construct();
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"code",
"type",
"chassisinfo_uid",
"switchinfo_uid",
"ip",
"title",
"os",
"price",
"manufactur_at",
"format_at",
];
$filters = [
"clientinfo_uid",
'type',
"chassisinfo_uid",
'switchinfo_uid',
'ip',
'os',
"status",
];
$indexFilter = $filters;
$batchjobFilters = ['type', 'switchinfo_uid', 'ip', 'os', 'status'];
switch ($action) {
case 'create':
case 'create_form':
case 'modify':
case 'modify_form':
$fields = [...$fields, 'status'];
break;
case 'view':
$fields = ['clientinfo_uid', ...$fields, 'status', 'created_at'];
break;
case 'index':
case 'download':
$fields = [
'clientinfo_uid',
"code",
"type",
"switchinfo_uid",
"ip",
"title",
"os",
"part",
"price",
"manufactur_at",
"format_at",
'status',
];
break;
}
$this->setFormFields($fields);
$this->setFormRules($action, $fields);
$this->setFormFilters($filters);
$this->setFormOptions($action, $filters, $formDatas);
$this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters);
}
public function getFormRule(string $action, string $field): string
{
switch ($field) {

View File

@ -10,6 +10,50 @@ class ServerPartForm extends EquipmentForm
{
parent::__construct();
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"serverinfo_uid",
"type",
"billing",
"part_uid",
"cnt",
"extra",
"amount",
];
$filters = [
"serverinfo_uid",
"type",
"part_uid",
"billing",
];
$indexFilter = [
"serverinfo_uid",
"type",
"billing",
];
$batchjobFilters = ['billing', 'type'];
switch ($action) {
case 'create':
case 'create_form':
case 'modify':
case 'modify_form':
break;
case 'view':
$fields = [...$fields, 'created_at'];
break;
case 'index':
case 'download':
$fields = [...$fields, 'created_at'];
break;
}
$this->setFormFields($fields);
$this->setFormRules($action, $fields);
$this->setFormFilters($filters);
$this->setFormOptions($action, $filters, $formDatas);
$this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters);
}
public function getFormRule(string $action, string $field): string
{
switch ($field) {

View File

@ -10,7 +10,33 @@ class MylogForm extends CommonForm
{
parent::__construct();
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = ['title', 'content'];
$filters = ['user_uid'];
$indexFilter = $filters;
$batchjobFilters = $filters;
switch ($action) {
case 'create':
case 'create_form':
case 'modify':
case 'modify_form':
break;
case 'view':
$fields = [...$fields, 'status', 'created_at'];
break;
case 'index':
case 'download':
$fields = [...$fields, 'status', 'created_at'];
break;
}
$this->setFormFields($fields);
$this->setFormRules($action, $fields);
$this->setFormFilters($filters);
$this->setFormOptions($action, $filters, $formDatas);
$this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters);
}
public function getFormRule(string $action, string $field): string
{
switch ($field) {

View File

@ -8,6 +8,40 @@ class CPUForm extends PartForm
{
parent::__construct();
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"title",
"price",
"stock",
];
$filters = [
"status",
];
$indexFilter = $filters;
$batchjobFilters = ['status'];
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;
}
$this->setFormFields($fields);
$this->setFormRules($action, $fields);
$this->setFormFilters($filters);
$this->setFormOptions($action, $filters, $formDatas);
$this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters);
}
public function getFormRule(string $action, string $field): string
{
switch ($field) {

View File

@ -8,6 +8,67 @@ class CSForm extends PartForm
{
parent::__construct();
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"type",
"ip",
"accountid",
"domain",
"price",
];
$filters = [
"clientinfo_uid",
'serverinfo_uid',
'type',
'status'
];
$indexFilter = $filters;
$batchjobFilters = ['status'];
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;
}
$this->setFormFields($fields);
$this->setFormRules($action, $fields);
$this->setFormFilters($filters);
$this->setFormOptions($action, $filters, $formDatas);
$this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters);
}
public function getFormRule(string $action, string $field): string
{
switch ($field) {

View File

@ -8,6 +8,41 @@ class DISKForm extends PartForm
{
parent::__construct();
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"title",
"price",
"stock",
];
$filters = [
"status",
];
$indexFilter = $filters;
$batchjobFilters = ['status'];
switch ($action) {
case 'create':
case 'create_form':
break;
case 'modify':
case 'modify_form':
$fields = [...$fields, "format", 'status'];
break;
case 'view':
$fields = [...$fields, "format", 'status', 'created_at'];
break;
case 'index':
case 'download':
$fields = [...$fields, "format", 'status', 'created_at'];
break;
}
$this->setFormFields($fields);
$this->setFormRules($action, $fields);
$this->setFormFilters($filters);
$this->setFormOptions($action, $filters, $formDatas);
$this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters);
}
public function getFormRule(string $action, string $field): string
{
switch ($field) {

View File

@ -8,6 +8,58 @@ class IPForm extends PartForm
{
parent::__construct();
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"lineinfo_uid",
"ip",
"price",
];
$filters = [
'old_clientinfo_uid',
'clientinfo_uid',
'serverinfo_uid',
"lineinfo_uid",
'status'
];
$indexFilter = $filters;
$batchjobFilters = ['status'];
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;
}
$this->setFormFields($fields);
$this->setFormRules($action, $fields);
$this->setFormFilters($filters);
$this->setFormOptions($action, $filters, $formDatas);
$this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters);
}
public function getFormRule(string $action, string $field): string
{
switch ($field) {

View File

@ -8,6 +8,40 @@ class RAMForm extends PartForm
{
parent::__construct();
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"title",
"price",
"stock",
];
$filters = [
"status",
];
$indexFilter = $filters;
$batchjobFilters = ['status'];
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;
}
$this->setFormFields($fields);
$this->setFormRules($action, $fields);
$this->setFormFilters($filters);
$this->setFormOptions($action, $filters, $formDatas);
$this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters);
}
public function getFormRule(string $action, string $field): string
{
switch ($field) {

View File

@ -8,6 +8,40 @@ class SOFTWAREForm extends PartForm
{
parent::__construct();
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"title",
"price",
"stock",
];
$filters = [
"status",
];
$indexFilter = $filters;
$batchjobFilters = ['status'];
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;
}
$this->setFormFields($fields);
$this->setFormRules($action, $fields);
$this->setFormFilters($filters);
$this->setFormOptions($action, $filters, $formDatas);
$this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters);
}
public function getFormRule(string $action, string $field): string
{
switch ($field) {

View File

@ -8,6 +8,59 @@ class SWITCHForm extends PartForm
{
parent::__construct();
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"code",
"price",
];
$filters = [
'clientinfo_uid',
'serviceinfo_uid',
'serverinfo_uid',
'status'
];
$indexFilter = $filters;
$batchjobFilters = ['status',];
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;
}
$this->setFormFields($fields);
$this->setFormRules($action, $fields);
$this->setFormFilters($filters);
$this->setFormOptions($action, $filters, $formDatas);
$this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters);
}
public function getFormRule(string $action, string $field): string
{
switch ($field) {

View File

@ -10,6 +10,73 @@ class PaymentForm extends CommonForm
{
parent::__construct();
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"serviceinfo_uid",
"title",
"amount",
"billing",
"billing_at",
"pay",
"status",
"content",
];
$filters = ['user_uid', 'clientinfo_uid', 'serviceinfo_uid', 'status', 'billing', 'pay'];
$indexFilter = ['clientinfo_uid', 'serviceinfo_uid', 'status', 'billing', 'pay'];
$batchjobFilters = ['status'];
$actionButtons = ['paid' => '결제', 'view' => ICONS['SEARCH'], 'delete' => ICONS['DELETE']];
$batchjobButtons = ['batchjob' => '일괄결제', 'invoice' => '청구서발행'];
switch ($action) {
case 'create':
case 'create_form':
break;
case 'modify':
case 'modify_form':
break;
case 'view':
$fields = [
'clientinfo_uid',
"serviceinfo_uid",
'billing',
'title',
'amount',
'billing_at',
'pay',
'status',
'updated_at',
'countdown',
'user_uid',
'created_at',
'content'
];
break;
case 'index':
case 'download':
$fields = [
'clientinfo_uid',
"serviceinfo_uid",
'billing',
'title',
'amount',
'billing_at',
'pay',
'updated_at',
'countdown',
'user_uid',
'created_at'
];
break;
}
$this->setFormFields($fields);
$this->setFormRules($action, $fields);
$this->setFormFilters($filters);
$this->setFormOptions($action, $filters, $formDatas);
$this->setIndexFilters($indexFilter);
$this->setActionButtons($actionButtons);
$this->setBatchjobFilters($batchjobFilters);
$this->setBatchjobButtons($batchjobButtons);
}
public function getFormRule(string $action, string $field): string
{
switch ($field) {

View File

@ -10,18 +10,43 @@ class UserForm extends CommonForm
{
parent::__construct();
}
// protected function getValidationRule(string $field, string $rule): array
// {
// switch ($field) {
// case 'role':
// $field = "{$field}.*";
// break;
// default:
// return parent::getValidationRule($field, $rule);
// // break;
// }
// return array($field, $rule);
// }
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
'id',
'passwd',
'confirmpassword',
'name',
'email',
'mobile',
'role'
];
$filters = ['role', 'status'];
$indexFilter = $filters;
$batchjobFilters = ['status'];
switch ($action) {
case 'create':
case 'create_form':
break;
case 'modify':
case 'modify_form':
$fields = [...$fields, 'status'];
break;
case 'view':
$fields = ['id', 'name', 'email', 'mobile', 'role', 'status', 'created_at'];
break;
case 'index':
case 'download':
$fields = ['id', 'name', 'email', 'mobile', 'role', 'status', 'created_at'];
break;
}
$this->setFormFields($fields);
$this->setFormRules($action, $fields);
$this->setFormFilters($filters);
$this->setFormOptions($action, $filters, $formDatas);
$this->setIndexFilters($indexFilter);
$this->setBatchjobFilters($batchjobFilters);
}
public function getFormRule(string $action, string $field): string
{
switch ($field) {

View File

@ -19,6 +19,7 @@ class CouponModel extends WalletModel
"title",
"content",
"amount",
"balance",
"status",
];
public function __construct()

View File

@ -19,6 +19,7 @@ class PointModel extends WalletModel
"title",
"content",
"amount",
"balance",
"status",
];
public function __construct()

View File

@ -8,7 +8,6 @@ use App\Forms\Auth\GoogleForm;
use App\Libraries\MySocket\GoogleSocket\CURL;
use App\Models\UserModel;
use CodeIgniter\Exceptions\PageNotFoundException;
use CodeIgniter\Validation\Exceptions\ValidationException;
class GoogleService extends AuthService
{
@ -40,21 +39,6 @@ class GoogleService extends AuthService
}
return $this->_form;
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = ['access_code'];
$filters = [];
switch ($action) {
case 'login':
case 'login_form':
break;
}
$this->getFormService()->setFormFields($fields);
$this->getFormService()->setFormRules($action, $fields);
$this->getFormService()->setFormFilters($filters);
$this->getFormService()->setFormOptions($action, $filters);
$this->getFormService()->setBatchjobFilters($filters);
}
protected function getEntity_process(mixed $entity): UserEntity
{
return $entity;

View File

@ -6,7 +6,6 @@ use App\DTOs\Auth\LocalDTO;
use App\Entities\UserEntity;
use App\Forms\Auth\LocalForm;
use App\Models\UserModel;
use CodeIgniter\Validation\Exceptions\ValidationException;
use RuntimeException;
class LocalService extends AuthService
@ -39,27 +38,13 @@ class LocalService extends AuthService
}
return $this->_form;
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = ['id', 'passwd'];
$filters = [];
switch ($action) {
case 'login':
case 'login_form':
break;
}
$this->getFormService()->setFormFields($fields);
$this->getFormService()->setFormRules($action, $fields);
$this->getFormService()->setFormFilters($filters);
$this->getFormService()->setFormOptions($action, $filters);
$this->getFormService()->setBatchjobFilters($filters);
}
protected function getEntity_process(mixed $entity): UserEntity
{
return $entity;
}
protected function login_process(array $formDatas): UserEntity
{
$this->getFormService()->action_init_process('login', $formDatas);
//입력값 검증
$this->getFormService()->validate($formDatas);
//로그인 정보확인

View File

@ -57,68 +57,6 @@ class BoardService extends CommonService
}
return $this->_helper;
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
'category',
'worker_uid',
'title',
'status',
'content',
];
$filters = [
'user_uid',
'worker_uid',
'category',
'status',
];
$indexFilter = $filters;
$batchjobFilters = ['user_uid', 'category', 'status'];
switch ($action) {
case 'create':
case 'create_form':
break;
case 'modify':
case 'modify_form':
$fields = [...$fields, 'status'];
break;
case 'view':
$fields = [
'category',
'worker_uid',
'title',
'status',
'created_at',
'content'
];
break;
case 'index':
$fields = [
'category',
'worker_uid',
'title',
'status',
'created_at'
];
break;
case 'download':
$fields = [
'category',
'worker_uid',
'title',
'status',
'created_at',
'content'
];
break;
}
$this->getFormService()->setFormFields($fields);
$this->getFormService()->setFormRules($action, $fields);
$this->getFormService()->setFormFilters($filters);
$this->getFormService()->setFormOptions($action, $filters, $formDatas);
$this->getFormService()->setIndexFilters($indexFilter);
$this->getFormService()->setBatchjobFilters($batchjobFilters);
}
//기본 기능부분
protected function getEntity_process(mixed $entity): BoardEntity
{

View File

@ -19,7 +19,6 @@ abstract class CommonService
private array $_classPaths = [];
protected $title = null;
protected function __construct(protected CommonModel $model) {}
abstract public function action_init_process(string $action, array $formDatas = []): void;
abstract public function getDTOClass(): string;
abstract public function createDTO(array $formDatas): CommonDTO;
abstract public function getEntityClass(): string;
@ -177,15 +176,20 @@ abstract class CommonService
//생성용
protected function create_process(array $formDatas): CommonEntity
{
// 데이터 검증
$this->getFormService()->validate($formDatas);
// 💡 동적으로 가져온 Entity 클래스 이름으로 instanceof 검사
$entityClass = $this->getEntityClass();
$entity = new $entityClass($formDatas);
if (!$entity instanceof $entityClass) {
throw new RuntimeException(static::class . '->' . __FUNCTION__ . "에서 오류발생:Return Type은 {$entityClass}만 가능");
try {
$this->getFormService()->action_init_process('create', $formDatas);
// 데이터 검증
$this->getFormService()->validate($formDatas);
// 💡 동적으로 가져온 Entity 클래스 이름으로 instanceof 검사
$entityClass = $this->getEntityClass();
$entity = new $entityClass($formDatas);
if (!$entity instanceof $entityClass) {
throw new RuntimeException("Return Type은 {$entityClass}만 가능");
}
return $this->save_process($entity);
} catch (\Throwable $e) {
throw new RuntimeException(static::class . '->' . __FUNCTION__ . "에서 오류발생:" . $e->getMessage() . var_export($entity));
}
return $this->save_process($entity);
}
final public function create(array $formDatas): CommonEntity
{
@ -215,16 +219,20 @@ abstract class CommonService
//수정용
protected function modify_process($entity, array $formDatas): CommonEntity
{
$fields = array_keys($formDatas);
$this->getFormService()->setFormFields($fields);
$this->getFormService()->setFormRules('modify', $fields);
// 데이터 검증
$this->getFormService()->validate($formDatas);
// 2. 폼 데이터를 엔티티에 병합합니다. (fill() 사용)
$entity->fill($formDatas);
// var_dump($formDatas);
// dd($entity);
return $this->save_process($entity);
try {
$this->getFormService()->action_init_process('modify', $formDatas);
// 2. 사용자 입력값(formDatas)을 Entity에 주입
// fill()을 사용하면 Entity 내부에서 어떤 값이 변경되었는지(Dirty) 추적 시작
$entity->fill($formDatas);
if (!$entity->hasChanged()) {
return $entity;
}
// 데이터 검증
$this->getFormService()->validate($entity->toArray());
return $this->save_process($entity);
} catch (\Throwable $e) {
throw new RuntimeException(static::class . '->' . __FUNCTION__ . "에서 오류발생:" . $e->getMessage() . "\n" . var_export($entity));
}
}
final public function modify(string|int $uid, array $formDatas): CommonEntity

View File

@ -59,57 +59,6 @@ class ClientService extends CustomerService
}
return $this->_helper;
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
'site',
'name',
'email',
'phone',
'role',
];
$filters = [
'site',
'role',
'status',
];
$indexFilter = $filters;
$batchjobFilters = ['site', 'role', 'status'];
switch ($action) {
case 'create':
case 'create_form':
break;
case 'modify':
case 'modify_form':
$fields = [...$fields, 'status'];
break;
case 'view':
$fields = [...$fields, 'status', 'created_at'];
break;
case 'index':
case 'download':
$fields = [
'site',
'name',
'email',
'phone',
'role',
'account_balance',
'coupon_balance',
'point_balance',
'status',
'created_at',
'updated_at',
];
break;
}
$this->getFormService()->setFormFields($fields);
$this->getFormService()->setFormRules($action, $fields);
$this->getFormService()->setFormFilters($filters);
$this->getFormService()->setFormOptions($action, $filters, $formDatas);
$this->getFormService()->setIndexFilters($indexFilter);
$this->getFormService()->setBatchjobFilters($batchjobFilters);
}
//기본 기능부분
protected function getEntity_process(mixed $entity): ClientEntity
{

View File

@ -60,74 +60,6 @@ class ServiceService extends CustomerService
}
return $this->_helper;
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"site",
"location",
"clientinfo_uid",
'serverinfo_uid',
"rack",
"line",
"title",
"start_at",
"billing_at",
"status",
'sale',
"history",
];
$filters = [
'site',
'location',
"rack",
"line",
'clientinfo_uid',
'serverinfo_uid',
'user_uid',
'status',
];
$indexFilter = $filters;
$batchjobFilters = [
'site',
'location',
'clientinfo_uid',
'status'
];
switch ($action) {
case 'create':
case 'create_form':
case 'modify':
case 'modify_form':
break;
case 'view':
$fields = [...$fields, 'created_at'];
break;
case 'index':
case 'download':
$fields = [
'site',
'location',
'clientinfo_uid',
'serverinfo_uid',
'sale',
'amount',
'billing_at',
'status',
'start_at',
'created_at'
];
break;
case 'alternative_create_form':
$fields = ['serverinfo_uid'];
break;
}
$this->getFormService()->setFormFields($fields);
$this->getFormService()->setFormRules($action, $fields);
$this->getFormService()->setFormFilters($filters);
$this->getFormService()->setFormOptions($action, $filters, $formDatas);
$this->getFormService()->setIndexFilters($indexFilter);
$this->getFormService()->setBatchjobFilters($batchjobFilters);
}
//추가 기능
//interval을 기준으로 최근 신규 서비스정보 가져오기
final public function getNewServiceEntities(int $interval, string $status = STATUS['AVAILABLE']): array
@ -173,12 +105,21 @@ class ServiceService extends CustomerService
return $date->format('Y-m-d');
}
// 서비스금액관련처리
final public function updateAmount(ServiceEntity $entity): ServiceEntity
private function getCalculatedAmount(int $rack_price, int $line_price, int $sale_price, $serverinfo_uid): int
{
//총 서비스금액 구하기
$server_amount = service('equipment_serverservice')->getCalculatedAmount($entity->getServerInfoUID());
$server_amount = service('equipment_serverservice')->getCalculatedAmount($serverinfo_uid);
return (int)$server_amount + $rack_price + $line_price - $sale_price;
}
final public function updateAmount(ServiceEntity $entity): ServiceEntity
{
//기본:서버금액(서버비+서버파트(월비용))+상면비+회선비-할인액
$entity->amount = (int)$server_amount + $entity->getRack() + $entity->getLine() - $entity->getSale();
$entity->amount = $this->getCalculatedAmount(
$entity->getRack(),
$entity->getLine(),
$entity->getSale(),
$entity->getServerInfoUID()
);
//총 서비스금액 설정 및 저장
if (!$this->model->save($entity)) {
// 저장 실패 시 예외 처리
@ -211,6 +152,8 @@ class ServiceService extends CustomerService
{
//생성폼에는 없는 필수항목 지정용(code)
$formDatas['code'] = $formDatas['site'] . "_s" . uniqid();
//총서비스금액
$formDatas['amount'] = $this->getCalculatedAmount($formDatas['rack'], $formDatas['line'], $formDatas['sale'], $formDatas['serverinfo_uid']);
//서비스 생성
$entity = parent::create_process($formDatas);
if (!$entity instanceof ServiceEntity) {

View File

@ -61,59 +61,6 @@ class AccountService extends WalletService
}
return $this->_helper;
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"clientinfo_uid",
"bank",
"title",
"alias",
"issue_at",
"amount",
"status",
"content"
];
$filters = [
"clientinfo_uid",
"bank",
"status",
];
$indexFilter = $filters;
$actionButtons = ['view' => ICONS['SEARCH']];
$batchjobFilters = ['bank', 'status'];
switch ($action) {
case 'create':
case 'create_form':
break;
case 'modify':
case 'modify_form':
$fields = [...$fields, 'status'];
break;
case 'view':
$fields = [...$fields, 'created_at'];
break;
case 'index':
case 'download':
$fields = [
"clientinfo_uid",
"bank",
"title",
"alias",
"issue_at",
"amount",
"status",
'created_at',
];
break;
}
$this->getFormService()->setFormFields($fields);
$this->getFormService()->setFormRules($action, $fields);
$this->getFormService()->setFormFilters($filters);
$this->getFormService()->setFormOptions($action, $filters, $formDatas);
$this->getFormService()->setIndexFilters($indexFilter);
$this->getFormService()->setActionButtons($actionButtons);
$this->getFormService()->setBatchjobFilters($batchjobFilters);
}
//기본 기능부분
protected function getEntity_process(mixed $entity): AccountEntity
{
@ -143,33 +90,37 @@ class AccountService extends WalletService
throw new RuntimeException(static::class . '->' . __FUNCTION__ . "에서 오류발생: 잔액이 0보다 값이 정의 되었습니다.");
}
//고객 잔액 갱신
service('customer_clientservice')->modify_process($clientEntity, [self::CLIENTINFO_BALANCE_FIELD => $formDatas['balance']]);
service('customer_clientservice')->modify($clientEntity->getPK(), [self::CLIENTINFO_BALANCE_FIELD => $formDatas['balance']]);
return parent::deposit_process($clientEntity, $formDatas);
}
//결제 관련 출금 처리
protected function withdrawal_process(ClientEntity $clientEntity, array $formDatas): array
{
if (!array_key_exists('amount', $formDatas)) {
throw new RuntimeException(static::class . '->' . __FUNCTION__ . "에서 오류발생: 출금액이 정의되지 않았습니다.");
try {
if (!array_key_exists('amount', $formDatas)) {
throw new RuntimeException(static::class . '->' . __FUNCTION__ . "에서 오류발생: 출금액이 정의되지 않았습니다.");
}
if ($clientEntity->getAccountBalance() < $formDatas['amount']) {
throw new RuntimeException(sprintf(
"%s 에서 오류발생: 출금액(%s원) , %s 고객의 예치금액(%s원)이 부족합니다.",
static::class . '->' . __FUNCTION__,
number_format($formDatas['amount']),
$clientEntity->getTitle(),
number_format($clientEntity->getAccountBalance())
));
}
//최종처리
$formDatas['bank'] = array_key_exists('bank', $formDatas) ? $formDatas['bank'] : BANKS['결제차감'];
$formDatas['alias'] = array_key_exists('alias', $formDatas) ? $formDatas['alias'] : $clientEntity->getTitle();
$formDatas['balance'] = $clientEntity->getAccountBalance() - $formDatas['amount'];
if ($formDatas['balance'] < 0) {
throw new RuntimeException(static::class . '->' . __FUNCTION__ . "에서 오류발생: 잔액({$formDatas['balance']})이 0보다 작은 값이 정의되었습니다.");
}
//고객의 Account Balance수정
service('customer_clientservice')->modify($clientEntity->getPK(), [self::CLIENTINFO_BALANCE_FIELD => $formDatas['balance']]);
return parent::withdrawal_process($clientEntity, $formDatas);
} catch (\Throwable $e) {
throw new RuntimeException(static::class . '->' . __FUNCTION__ . "에서 오류발생:" . $e->getMessage());
}
if ($clientEntity->getAccountBalance() < $formDatas['amount']) {
throw new RuntimeException(sprintf(
"%s 에서 오류발생: 출금액(%s원) , %s 고객의 예치금액(%s원)이 부족합니다.",
static::class . '->' . __FUNCTION__,
number_format($formDatas['amount']),
$clientEntity->getTitle(),
number_format($clientEntity->getAccountBalance())
));
}
//최종처리
$formDatas['bank'] = array_key_exists('bank', $formDatas) ? $formDatas['bank'] : BANKS['결제차감'];
$formDatas['alias'] = array_key_exists('alias', $formDatas) ? $formDatas['alias'] : $clientEntity->getTitle();
$formDatas['balance'] = $clientEntity->getAccountBalance() - $formDatas['amount'];
if ($formDatas['balance'] < 0) {
throw new RuntimeException(static::class . '->' . __FUNCTION__ . "에서 오류발생: 잔액({$formDatas['balance']})이 0보다 작은 값이 정의되었습니다.");
}
//고객 잔액 갱신
service('customer_clientservice')->modify_process($clientEntity, [self::CLIENTINFO_BALANCE_FIELD => $formDatas['balance']]);
return parent::withdrawal_process($clientEntity, $formDatas);
}
}

View File

@ -61,50 +61,6 @@ class CouponService extends WalletService
}
return $this->_helper;
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"clientinfo_uid",
"title",
"amount",
"status",
"content",
];
$filters = [
"clientinfo_uid",
"status",
];
$indexFilter = $filters;
$actionButtons = ['view' => ICONS['SEARCH']];
$batchjobFilters = ['status'];
switch ($action) {
case 'create':
case 'create_form':
case 'modify':
case 'modify_form':
break;
case 'view':
$fields = [...$fields, 'created_at'];
break;
case 'index':
case 'download':
$fields = [
"clientinfo_uid",
"title",
"amount",
"status",
'created_at'
];
break;
}
$this->getFormService()->setFormFields($fields);
$this->getFormService()->setFormRules($action, $fields);
$this->getFormService()->setFormFilters($filters);
$this->getFormService()->setFormOptions($action, $filters, $formDatas);
$this->getFormService()->setIndexFilters($indexFilter);
$this->getFormService()->setActionButtons($actionButtons);
$this->getFormService()->setBatchjobFilters($batchjobFilters);
}
//기본 기능부분
protected function getEntity_process(mixed $entity): CouponEntity
{

View File

@ -61,50 +61,6 @@ class PointService extends WalletService
}
return $this->_helper;
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"clientinfo_uid",
"title",
"amount",
"status",
"content",
];
$filters = [
"clientinfo_uid",
"status",
];
$indexFilter = $filters;
$actionButtons = ['view' => ICONS['SEARCH']];
$batchjobFilters = ['status'];
switch ($action) {
case 'create':
case 'create_form':
case 'modify':
case 'modify_form':
break;
case 'view':
$fields = [...$fields, 'created_at'];
break;
case 'index':
case 'download':
$fields = [
"clientinfo_uid",
"title",
"amount",
"status",
'created_at'
];
break;
}
$this->getFormService()->setFormFields($fields);
$this->getFormService()->setFormRules($action, $fields);
$this->getFormService()->setFormFilters($filters);
$this->getFormService()->setFormOptions($action, $filters, $formDatas);
$this->getFormService()->setIndexFilters($indexFilter);
$this->getFormService()->setActionButtons($actionButtons);
$this->getFormService()->setBatchjobFilters($batchjobFilters);
}
//기본 기능부분
protected function getEntity_process(mixed $entity): PointEntity
{

View File

@ -73,8 +73,6 @@ abstract class WalletService extends CustomerService
'amount' => $paymentEntity->getAmount(),
'status' => STATUS['WITHDRAWAL'],
];
//초기화
$this->action_init_process('create');
$this->create_process($formDatas);
}
}

View File

@ -60,40 +60,6 @@ class CHASSISService extends EquipmentService
}
return $this->_helper;
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"title",
"price",
"stock",
];
$filters = [
"status",
];
$indexFilter = $filters;
$batchjobFilters = ['status'];
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;
}
$this->getFormService()->setFormFields($fields);
$this->getFormService()->setFormRules($action, $fields);
$this->getFormService()->setFormFilters($filters);
$this->getFormService()->setFormOptions($action, $filters, $formDatas);
$this->getFormService()->setIndexFilters($indexFilter);
$this->getFormService()->setBatchjobFilters($batchjobFilters);
}
//기본 기능부분
protected function getEntity_process(mixed $entity): CHASSISEntity
{

View File

@ -59,43 +59,6 @@ class LineService extends EquipmentService
}
return $this->_helper;
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"type",
"title",
"bandwith",
"start_at",
"end_at",
];
$filters = [
"type",
"status",
];
$indexFilter = $filters;
$batchjobFilters = ['status'];
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;
}
$this->getFormService()->setFormFields($fields);
$this->getFormService()->setFormRules($action, $fields);
$this->getFormService()->setFormFilters($filters);
$this->getFormService()->setFormOptions($action, $filters, $formDatas);
$this->getFormService()->setIndexFilters($indexFilter);
$this->getFormService()->setBatchjobFilters($batchjobFilters);
}
//기본 기능부분
protected function getEntity_process(mixed $entity): LineEntity
{

View File

@ -63,50 +63,6 @@ class ServerPartService extends EquipmentService
}
return $this->_helper;
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"serverinfo_uid",
"type",
"billing",
"part_uid",
"cnt",
"extra",
"amount",
];
$filters = [
"serverinfo_uid",
"type",
"part_uid",
"billing",
];
$indexFilter = [
"serverinfo_uid",
"type",
"billing",
];
$batchjobFilters = ['billing', 'type'];
switch ($action) {
case 'create':
case 'create_form':
case 'modify':
case 'modify_form':
break;
case 'view':
$fields = [...$fields, 'created_at'];
break;
case 'index':
case 'download':
$fields = [...$fields, 'created_at'];
break;
}
$this->getFormService()->setFormFields($fields);
$this->getFormService()->setFormRules($action, $fields);
$this->getFormService()->setFormFilters($filters);
$this->getFormService()->setFormOptions($action, $filters, $formDatas);
$this->getFormService()->setIndexFilters($indexFilter);
$this->getFormService()->setBatchjobFilters($batchjobFilters);
}
//각 파트별 서비스
private function getPartService(string $type): PartService
{

View File

@ -60,66 +60,6 @@ class ServerService extends EquipmentService
}
return $this->_helper;
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"code",
"type",
"chassisinfo_uid",
"switchinfo_uid",
"ip",
"title",
"os",
"price",
"manufactur_at",
"format_at",
];
$filters = [
"clientinfo_uid",
'type',
"chassisinfo_uid",
'switchinfo_uid',
'ip',
'os',
"status",
];
$indexFilter = $filters;
$batchjobFilters = ['type', 'switchinfo_uid', 'ip', 'os', 'status'];
switch ($action) {
case 'create':
case 'create_form':
case 'modify':
case 'modify_form':
$fields = [...$fields, 'status'];
break;
case 'view':
$fields = ['clientinfo_uid', ...$fields, 'status', 'created_at'];
break;
case 'index':
case 'download':
$fields = [
'clientinfo_uid',
"code",
"type",
"switchinfo_uid",
"ip",
"title",
"os",
"part",
"price",
"manufactur_at",
"format_at",
'status',
];
break;
}
$this->getFormService()->setFormFields($fields);
$this->getFormService()->setFormRules($action, $fields);
$this->getFormService()->setFormFilters($filters);
$this->getFormService()->setFormOptions($action, $filters, $formDatas);
$this->getFormService()->setIndexFilters($indexFilter);
$this->getFormService()->setBatchjobFilters($batchjobFilters);
}
final public function getTotalServiceCount(array $where = []): array
{
$totalCounts = [

View File

@ -45,33 +45,6 @@ class MylogService extends CommonService implements PipelineStepInterface
}
return $this->_form;
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = ['title', 'content'];
$filters = ['user_uid'];
$indexFilter = $filters;
$batchjobFilters = $filters;
switch ($action) {
case 'create':
case 'create_form':
case 'modify':
case 'modify_form':
break;
case 'view':
$fields = [...$fields, 'status', 'created_at'];
break;
case 'index':
case 'download':
$fields = [...$fields, 'status', 'created_at'];
break;
}
$this->getFormService()->setFormFields($fields);
$this->getFormService()->setFormRules($action, $fields);
$this->getFormService()->setFormFilters($filters);
$this->getFormService()->setFormOptions($action, $filters, $formDatas);
$this->getFormService()->setIndexFilters($indexFilter);
$this->getFormService()->setBatchjobFilters($batchjobFilters);
}
public function getHelper(): MylogHelper
{
if ($this->_helper === null) {

View File

@ -59,40 +59,6 @@ class CPUService extends PartType1Service
}
return $this->_helper;
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"title",
"price",
"stock",
];
$filters = [
"status",
];
$indexFilter = $filters;
$batchjobFilters = ['status'];
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;
}
$this->getFormService()->setFormFields($fields);
$this->getFormService()->setFormRules($action, $fields);
$this->getFormService()->setFormFilters($filters);
$this->getFormService()->setFormOptions($action, $filters, $formDatas);
$this->getFormService()->setIndexFilters($indexFilter);
$this->getFormService()->setBatchjobFilters($batchjobFilters);
}
//기본 기능부분
protected function getEntity_process(mixed $entity): CPUEntity
{

View File

@ -60,67 +60,6 @@ class CSService extends PartType2Service
}
return $this->_helper;
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"type",
"ip",
"accountid",
"domain",
"price",
];
$filters = [
"clientinfo_uid",
'serverinfo_uid',
'type',
'status'
];
$indexFilter = $filters;
$batchjobFilters = ['status'];
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;
}
$this->getFormService()->setFormFields($fields);
$this->getFormService()->setFormRules($action, $fields);
$this->getFormService()->setFormFilters($filters);
$this->getFormService()->setFormOptions($action, $filters, $formDatas);
$this->getFormService()->setIndexFilters($indexFilter);
$this->getFormService()->setBatchjobFilters($batchjobFilters);
}
//기본 기능부분
protected function getEntity_process(mixed $entity): CSEntity
{

View File

@ -60,42 +60,6 @@ class DISKService extends PartType1Service
}
return $this->_helper;
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"title",
"price",
"stock",
];
$filters = [
"status",
];
$indexFilter = $filters;
$batchjobFilters = ['status'];
switch ($action) {
case 'create':
case 'create_form':
break;
case 'modify':
case 'modify_form':
$fields = [...$fields, "format", 'status'];
break;
case 'view':
$fields = [...$fields, "format", 'status', 'created_at'];
break;
case 'index':
case 'download':
$fields = [...$fields, "format", 'status', 'created_at'];
break;
}
$this->getFormService()->setFormFields($fields);
$this->getFormService()->setFormRules($action, $fields);
$this->getFormService()->setFormFilters($filters);
$this->getFormService()->setFormOptions($action, $filters, $formDatas);
$this->getFormService()->setIndexFilters($indexFilter);
$this->getFormService()->setBatchjobFilters($batchjobFilters);
}
//기본 기능부분
protected function getEntity_process(mixed $entity): DISKEntity
{

View File

@ -60,58 +60,6 @@ class IPService extends PartType3Service
}
return $this->_helper;
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"lineinfo_uid",
"ip",
"price",
];
$filters = [
'old_clientinfo_uid',
'clientinfo_uid',
'serverinfo_uid',
"lineinfo_uid",
'status'
];
$indexFilter = $filters;
$batchjobFilters = ['status'];
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;
}
$this->getFormService()->setFormFields($fields);
$this->getFormService()->setFormRules($action, $fields);
$this->getFormService()->setFormFilters($filters);
$this->getFormService()->setFormOptions($action, $filters, $formDatas);
$this->getFormService()->setIndexFilters($indexFilter);
$this->getFormService()->setBatchjobFilters($batchjobFilters);
}
//기본 기능부분
protected function getEntity_process(mixed $entity): IPEntity
{

View File

@ -8,7 +8,6 @@ use App\Helpers\Part\RAMHelper;
use App\Forms\Part\RAMForm;
use App\Entities\Part\RAMEntity;
use App\Entities\Equipment\ServerPartEntity;
use App\Entities\CommonEntity;
use App\DTOs\Part\RAMDTO;
class RAMService extends PartType1Service
@ -60,40 +59,6 @@ class RAMService extends PartType1Service
}
return $this->_helper;
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"title",
"price",
"stock",
];
$filters = [
"status",
];
$indexFilter = $filters;
$batchjobFilters = ['status'];
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;
}
$this->getFormService()->setFormFields($fields);
$this->getFormService()->setFormRules($action, $fields);
$this->getFormService()->setFormFilters($filters);
$this->getFormService()->setFormOptions($action, $filters, $formDatas);
$this->getFormService()->setIndexFilters($indexFilter);
$this->getFormService()->setBatchjobFilters($batchjobFilters);
}
//기본 기능부분
protected function getEntity_process(mixed $entity): RAMEntity
{

View File

@ -46,40 +46,6 @@ class SOFTWAREService extends PartType1Service
}
return $this->_form;
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"title",
"price",
"stock",
];
$filters = [
"status",
];
$indexFilter = $filters;
$batchjobFilters = ['status'];
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;
}
$this->getFormService()->setFormFields($fields);
$this->getFormService()->setFormRules($action, $fields);
$this->getFormService()->setFormFilters($filters);
$this->getFormService()->setFormOptions($action, $filters, $formDatas);
$this->getFormService()->setIndexFilters($indexFilter);
$this->getFormService()->setBatchjobFilters($batchjobFilters);
}
public function getHelper(): SOFTWAREHelper
{
if ($this->_helper === null) {

View File

@ -61,59 +61,6 @@ class SWITCHService extends PartType3Service
}
return $this->_helper;
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"code",
"price",
];
$filters = [
'clientinfo_uid',
'serviceinfo_uid',
'serverinfo_uid',
'status'
];
$indexFilter = $filters;
$batchjobFilters = ['status',];
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;
}
$this->getFormService()->setFormFields($fields);
$this->getFormService()->setFormRules($action, $fields);
$this->getFormService()->setFormFilters($filters);
$this->getFormService()->setFormOptions($action, $filters, $formDatas);
$this->getFormService()->setIndexFilters($indexFilter);
$this->getFormService()->setBatchjobFilters($batchjobFilters);
}
//기본 기능부분
protected function getEntity_process(mixed $entity): SWITCHEntity
{

View File

@ -65,73 +65,6 @@ class PaymentService extends CommonService
}
return $this->_helper;
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
"serviceinfo_uid",
"title",
"amount",
"billing",
"billing_at",
"pay",
"status",
"content",
];
$filters = ['user_uid', 'clientinfo_uid', 'serviceinfo_uid', 'status', 'billing', 'pay'];
$indexFilter = ['clientinfo_uid', 'serviceinfo_uid', 'status', 'billing', 'pay'];
$batchjobFilters = ['status'];
$actionButtons = ['paid' => '결제', 'view' => ICONS['SEARCH'], 'delete' => ICONS['DELETE']];
$batchjobButtons = ['batchjob' => '일괄결제', 'invoice' => '청구서발행'];
switch ($action) {
case 'create':
case 'create_form':
break;
case 'modify':
case 'modify_form':
break;
case 'view':
$fields = [
'clientinfo_uid',
"serviceinfo_uid",
'billing',
'title',
'amount',
'billing_at',
'pay',
'status',
'updated_at',
'countdown',
'user_uid',
'created_at',
'content'
];
break;
case 'index':
case 'download':
$fields = [
'clientinfo_uid',
"serviceinfo_uid",
'billing',
'title',
'amount',
'billing_at',
'pay',
'updated_at',
'countdown',
'user_uid',
'created_at'
];
break;
}
$this->getFormService()->setFormFields($fields);
$this->getFormService()->setFormRules($action, $fields);
$this->getFormService()->setFormFilters($filters);
$this->getFormService()->setFormOptions($action, $filters, $formDatas);
$this->getFormService()->setIndexFilters($indexFilter);
$this->getFormService()->setActionButtons($actionButtons);
$this->getFormService()->setBatchjobFilters($batchjobFilters);
$this->getFormService()->setBatchjobButtons($batchjobButtons);
}
//총 미납건수, 금액
final public function getUnPaids(string $group, array $where = []): array
{
@ -357,7 +290,6 @@ class PaymentService extends CommonService
throw new RuntimeException(static::class . '->' . __FUNCTION__ . "에서 오류발생: 서비스정보가 정의되지 않아 일회성 상품을 설정하실수 없습니다.");
}
$formDatas = $this->getFormDatasFromServerPart($serverPartEntity);
$this->action_init_process('create', $formDatas);
return parent::create_process($formDatas);
}
public function modifyByServerPart(ServerPartEntity $oldServerPartEntity, ServerPartEntity $serverPartEntity): PaymentEntity

View File

@ -59,43 +59,6 @@ class UserService extends CommonService
}
return $this->_helper;
}
public function action_init_process(string $action, array $formDatas = []): void
{
$fields = [
'id',
'passwd',
'confirmpassword',
'name',
'email',
'mobile',
'role'
];
$filters = ['role', 'status'];
$indexFilter = $filters;
$batchjobFilters = ['status'];
switch ($action) {
case 'create':
case 'create_form':
break;
case 'modify':
case 'modify_form':
$fields = [...$fields, 'status'];
break;
case 'view':
$fields = ['id', 'name', 'email', 'mobile', 'role', 'status', 'created_at'];
break;
case 'index':
case 'download':
$fields = ['id', 'name', 'email', 'mobile', 'role', 'status', 'created_at'];
break;
}
$this->getFormService()->setFormFields($fields);
$this->getFormService()->setFormRules($action, $fields);
$this->getFormService()->setFormFilters($filters);
$this->getFormService()->setFormOptions($action, $filters, $formDatas);
$this->getFormService()->setIndexFilters($indexFilter);
$this->getFormService()->setBatchjobFilters($batchjobFilters);
}
//기본 기능부분
protected function getEntity_process(mixed $entity): UserEntity
{