dbms_init...1

This commit is contained in:
최준흠 2025-06-09 11:46:37 +09:00
parent 1381aef94a
commit 9711cf7f50
18 changed files with 142 additions and 130 deletions

View File

@ -71,11 +71,10 @@ abstract class CustomerController extends AdminController
}
return $this->_equipmentService[$key];
}
protected function getFormFieldOption(string $field): array
protected function getFormFieldOption(string $field, array $options = []): array
{
switch ($field) {
case 'clientinfo_uid':
$options = [];
foreach ($this->getClientService()->getEntities() as $entity) {
$options[$entity->getPK()] = $entity->getTitle();
}
@ -89,14 +88,12 @@ abstract class CustomerController extends AdminController
case 'DEFENCE':
case 'SOFTWARE':
case 'DOMAIN':
$options = [];
// throw new \Exception(__FUNCTION__ . "에서 item_type이 지정되지 않았습니다.->{$item_type}");
foreach ($this->getEquipmentService($field)->getEntities() as $entity) {
$options[$entity->getPK()] = $entity->getTitle();
}
break;
default:
$options = parent::getFormFieldOption($field);
$options = parent::getFormFieldOption($field, $options);
break;
}
return $options;

View File

@ -24,6 +24,7 @@ class ServiceItemController extends CustomerController
// $this->view_path .= strtolower($this->getService()->getClassName()) . DIRECTORY_SEPARATOR;
}
public function getService(): ServiceItemService
{
if (!$this->_service) {
@ -46,30 +47,24 @@ class ServiceItemController extends CustomerController
return $this->_serviceService;
}
protected function getFormFieldOption(string $field): array
protected function getFormFieldOption(string $field, array $options = []): array
{
switch ($field) {
case 'serviceinfo_uid':
$temps = [];
foreach ($this->getServiceService()->getEntities() as $entity) {
$temps[$entity->getPK()] = $entity->getTitle();
$options[$entity->getPK()] = $entity->getTitle();
}
$options[$field] = $temps;
break;
case 'item_uid':
$temps = [];
$item_type = $this->request->getVar('item_type');
if (!$item_type) {
throw new \Exception(__FUNCTION__ . "에서 item_type이 지정되지 않았습니다.");
}
// throw new \Exception(__FUNCTION__ . "에서 item_type이 지정되지 않았습니다.->{$item_type}");
foreach ($this->getEquipmentService($item_type)->getEntities() as $entity) {
$temps[$entity->getPK()] = $entity->getTitle();
}
$options[$field] = $temps;
//CustomerController에서 선언된 getFormFieldOption사용 됨
$options = parent::getFormFieldOption($item_type, $options);
break;
default:
$options = parent::getFormFieldOption($field);
$options = parent::getFormFieldOption($field, $options);
break;
}
return $options;

View File

@ -23,18 +23,16 @@ abstract class EquipmentController extends AdminController
return $this->_clientService;
}
//Index,FieldForm관련
protected function getFormFieldOption(string $field): array
protected function getFormFieldOption(string $field, array $options = []): array
{
switch ($field) {
case 'clientinfo_uid':
$temps = [];
foreach ($this->getClientService()->getEntities() as $entity) {
$temps[$entity->getPK()] = $entity->getTitle();
$options[$entity->getPK()] = $entity->getTitle();
}
$options[$field] = $temps;
break;
default:
$options = parent::getFormFieldOption($field);
$options = parent::getFormFieldOption($field, $options);
break;
}
return $options;

View File

@ -44,18 +44,16 @@ class IpController extends PartController
}
return $this->_lineService;
}
protected function getFormFieldOption(string $field): array
protected function getFormFieldOption(string $field, $options = []): array
{
switch ($field) {
case 'lineinfo_uid':
$temps = [];
foreach ($this->getLineService()->getEntities() as $entity) {
$temps[$entity->getPK()] = $entity->getTitle();
$options[$entity->getPK()] = $entity->getTitle();
}
$options[$field] = $temps;
break;
default:
$options = parent::getFormFieldOption($field);
$options = parent::getFormFieldOption($field, $options);
break;
}
return $options;

View File

@ -14,18 +14,16 @@ abstract class PartController extends EquipmentController
{
parent::initController($request, $response, $logger);
}
protected function getFormFieldOption(string $field): array
protected function getFormFieldOption(string $field, array $options = []): array
{
switch ($field) {
case 'clientinfo_uid':
$temps = [];
foreach ($this->getClientService()->getEntities() as $entity) {
$temps[$entity->getPK()] = $entity->getTitle();
$options[$entity->getPK()] = $entity->getTitle();
}
$options[$field] = $temps;
break;
default:
$options = parent::getFormFieldOption($field);
$options = parent::getFormFieldOption($field, $options);
break;
}
return $options;

View File

@ -46,18 +46,16 @@ class MyLogController extends AdminController
return $this->_userService;
}
//Index,FieldForm관련
protected function getFormFieldOption(string $field): array
protected function getFormFieldOption(string $field, array $options = []): array
{
switch ($field) {
case 'user_uid':
$temps = [];
foreach ($this->getUserService()->getEntities() as $entity) {
$temps[$entity->getPK()] = $entity->getTitle();
$options[$entity->getPK()] = $entity->getTitle();
}
$options = $temps;
break;
default:
$options = parent::getFormFieldOption($field);
$options = parent::getFormFieldOption($field . $options);
break;
}
return $options;

View File

@ -179,7 +179,7 @@ abstract class CommonController extends BaseController
}
return $rule;
}
protected function getFormFieldOption(string $field): array
protected function getFormFieldOption(string $field, array $options = []): array
{
switch ($field) {
default:
@ -189,7 +189,6 @@ abstract class CommonController extends BaseController
if (!is_array($options)) {
throw new \Exception(__FUNCTION__ . "에서 field의 options 값이 array가 아닙니다.\n" . var_export($options, true));
}
// dd($options);
return $options;
}
protected function setValidation(Validation $validation, string $field, string $rule): Validation

File diff suppressed because one or more lines are too long

View File

@ -4,9 +4,9 @@
"settings": {
"width": 3000,
"height": 3000,
"scrollTop": -1225.2786,
"scrollLeft": -419.3704,
"zoomLevel": 0.76,
"scrollTop": -1102.0309,
"scrollLeft": -743.6028,
"zoomLevel": 0.82,
"show": 511,
"database": 4,
"databaseName": "",
@ -244,15 +244,15 @@
"AlvBDBVGfLoVcNjd__kFZ"
],
"ui": {
"x": 1698.5505,
"y": 1429.6758,
"x": 1699.7701,
"y": 1476.0173,
"zIndex": 2,
"widthName": 60,
"widthComment": 60,
"color": ""
},
"meta": {
"updateAt": 1749015086720,
"updateAt": 1749435456344,
"createAt": 1745819764137
}
},
@ -283,15 +283,15 @@
"8ZPjmeG3NoO6C0icGibJP"
],
"ui": {
"x": 160.0246,
"y": 2080.502,
"x": 957.9838,
"y": 1802.951,
"zIndex": 2,
"widthName": 68,
"widthComment": 89,
"color": ""
},
"meta": {
"updateAt": 1749008110893,
"updateAt": 1749435425211,
"createAt": 1745819764138
}
},
@ -586,15 +586,15 @@
"pzEFysMFfI2J8uB8YHXxA"
],
"ui": {
"x": 165.71,
"y": 2405.2704,
"x": 1716.7304,
"y": 1776.6989,
"zIndex": 796,
"widthName": 64,
"widthComment": 71,
"color": ""
},
"meta": {
"updateAt": 1749008115517,
"updateAt": 1749435428160,
"createAt": 1747374666215
}
},
@ -791,9 +791,11 @@
"columnIds": [
"N_yJVoCN4oUEDhYqdzApb",
"NzxkmndrTbH7xb6fbnGV7",
"_UFwKNcesG423815BIYBi",
"Gb6fmS40Q3wvnvD1HMTqR",
"SGWWOOHjCF81V4O5tUiJu",
"uuDbJDSDQLey7Km1W9hlJ",
"Gb6fmS40Q3wvnvD1HMTqR",
"_UFwKNcesG423815BIYBi",
"RpyPtXKwtu3XFr5BM61TA",
"FJtEzmrQUsMMbrWbzr8IR",
"hQ5EOPiUpDbVpWQwawtw4",
"9o7wfPp7WK2nZoxkDZ9Y1",
@ -814,9 +816,11 @@
"VEOHJafcl0c6ihDwJXFEN",
"GLfHynBuy8Bzby9_5oRkq",
"Fx2k158yi9P2l5An09ae1",
"_UFwKNcesG423815BIYBi",
"Gb6fmS40Q3wvnvD1HMTqR",
"SGWWOOHjCF81V4O5tUiJu",
"uuDbJDSDQLey7Km1W9hlJ",
"Gb6fmS40Q3wvnvD1HMTqR",
"_UFwKNcesG423815BIYBi",
"RpyPtXKwtu3XFr5BM61TA",
"FJtEzmrQUsMMbrWbzr8IR",
"hQ5EOPiUpDbVpWQwawtw4",
"9o7wfPp7WK2nZoxkDZ9Y1",
@ -828,14 +832,14 @@
],
"ui": {
"x": 934.3741,
"y": 1070.1363,
"y": 1028.673,
"zIndex": 2395,
"widthName": 60,
"widthComment": 62,
"color": ""
},
"meta": {
"updateAt": 1749083403230,
"updateAt": 1749436036873,
"createAt": 1748485662214
}
},
@ -885,7 +889,6 @@
"columnIds": [
"goZoW_pUw3n5ZLMQzWgFd",
"TerqekzImISduE6ewW1b5",
"RdC0qfV8xczStXW9cLOe8",
"NfZNTuHX_ZzyIuhI7DTJE",
"Yoi_Exlpp4kDz8xumGHgZ",
"5OcpSdnrgDxZ9eZ7_pQr9",
@ -922,28 +925,9 @@
"color": ""
},
"meta": {
"updateAt": 1749083388529,
"updateAt": 1749435563253,
"createAt": 1748507247933
}
},
"AGzDxujSx1KebEyWD3U-K": {
"id": "AGzDxujSx1KebEyWD3U-K",
"name": "serverinfo_items",
"comment": "서버",
"columnIds": [],
"seqColumnIds": [],
"ui": {
"x": 1033.8628,
"y": 1881.8377,
"zIndex": 2538,
"widthName": 88,
"widthComment": 60,
"color": ""
},
"meta": {
"updateAt": 1748826312620,
"createAt": 1748826277019
}
}
},
"tableColumnEntities": {
@ -6371,7 +6355,7 @@
"id": "Gb6fmS40Q3wvnvD1HMTqR",
"tableId": "B8haiEbPc1lRBWTv1g25G",
"name": "location",
"comment": "",
"comment": "지역코드",
"dataType": "VARCHAR(20)",
"default": "",
"options": 0,
@ -6383,7 +6367,7 @@
"widthDefault": 60
},
"meta": {
"updateAt": 1748831006481,
"updateAt": 1749436007741,
"createAt": 1748828139083
}
},
@ -6391,19 +6375,19 @@
"id": "uuDbJDSDQLey7Km1W9hlJ",
"tableId": "B8haiEbPc1lRBWTv1g25G",
"name": "type",
"comment": "",
"comment": "서비스형식",
"dataType": "VARCHAR(20)",
"default": "",
"options": 8,
"ui": {
"keys": 0,
"widthName": 60,
"widthComment": 60,
"widthComment": 62,
"widthDataType": 75,
"widthDefault": 60
},
"meta": {
"updateAt": 1748831001856,
"updateAt": 1749436035703,
"createAt": 1748828295310
}
},
@ -6431,19 +6415,19 @@
"id": "_UFwKNcesG423815BIYBi",
"tableId": "B8haiEbPc1lRBWTv1g25G",
"name": "switch",
"comment": "",
"comment": "스위치코드",
"dataType": "VARCHAR(20)",
"default": "",
"options": 8,
"ui": {
"keys": 0,
"widthName": 60,
"widthComment": 60,
"widthComment": 62,
"widthDataType": 75,
"widthDefault": 60
},
"meta": {
"updateAt": 1748830922946,
"updateAt": 1749435976042,
"createAt": 1748828471024
}
},
@ -6526,6 +6510,46 @@
"updateAt": 1749083398020,
"createAt": 1749083385992
}
},
"SGWWOOHjCF81V4O5tUiJu": {
"id": "SGWWOOHjCF81V4O5tUiJu",
"tableId": "B8haiEbPc1lRBWTv1g25G",
"name": "title",
"comment": "서비스명",
"dataType": "VARCHAR(255)",
"default": "",
"options": 8,
"ui": {
"keys": 0,
"widthName": 60,
"widthComment": 60,
"widthDataType": 81,
"widthDefault": 60
},
"meta": {
"updateAt": 1749435003173,
"createAt": 1749434957365
}
},
"RpyPtXKwtu3XFr5BM61TA": {
"id": "RpyPtXKwtu3XFr5BM61TA",
"tableId": "B8haiEbPc1lRBWTv1g25G",
"name": "code",
"comment": "서버코드",
"dataType": "VARCHAR(20)",
"default": "",
"options": 8,
"ui": {
"keys": 0,
"widthName": 60,
"widthComment": 60,
"widthDataType": 75,
"widthDefault": 60
},
"meta": {
"updateAt": 1749435995917,
"createAt": 1749435553877
}
}
},
"relationshipEntities": {
@ -6800,8 +6824,8 @@
"columnIds": [
"NzxkmndrTbH7xb6fbnGV7"
],
"x": 1442.3741,
"y": 1242.1363,
"x": 1450.3741,
"y": 1224.673,
"direction": 2
},
"meta": {
@ -6820,7 +6844,7 @@
"N_yJVoCN4oUEDhYqdzApb"
],
"x": 934.3741,
"y": 1242.1363,
"y": 1224.673,
"direction": 1
},
"end": {
@ -6829,7 +6853,7 @@
"TerqekzImISduE6ewW1b5"
],
"x": 662.0137,
"y": 1548.9949,
"y": 1536.9949,
"direction": 2
},
"meta": {

View File

@ -3,9 +3,11 @@ return [
'title' => "고객서비스정보",
'label' => [
'clientinfo_uid' => "고객명",
'title' => "서비스명",
'type' => "서비스형식",
'location' => "위치",
'switch' => "스위치코드",
'type' => "형식",
'code' => "서버코드",
'raid' => "RAID",
'billing_at' => "청구일",
'start_at' => "개통일",
@ -29,13 +31,28 @@ return [
'type' => "default",
'status' => 'default'
],
"SWITCH" => [
"R35P10" => "R35P10",
"R45P20" => "R45P20",
],
"LOCATION" => [
"default" => "치바",
"tokyo" => "도쿄",
],
"SWITCH" => [
"R35P10" => "R35P10",
"R45P20" => "R45P20",
"CODE" => [
"JPN130" => "JPN130",
"JPN140" => "JPN140",
"JPN138" => "JPN138",
"R45P20" => "R45P20",
"X1508C" => "X1508C",
"X1508D" => "X1508D",
"X2001A" => "X2001A",
"X2001B" => "X2001B",
"X2001C" => "X2001C",
"X2001D" => "X2001D",
"X2001E" => "X2001E",
"P2404I510" => "P2404I510",
"P2404I710" => "P2404I710",
],
"TYPE" => [
"default" => "일반",

View File

@ -3,7 +3,6 @@ return [
'title' => "서비스항목정보",
'label' => [
'serviceinfo_uid' => "서비스명",
'code' => "서버코드",
'item_type' => "항목형식",
'item_uid' => "항목",
'billing_cycle' => "청구방식",
@ -21,21 +20,6 @@ return [
'type' => "default",
'status' => 'default'
],
"CODE" => [
"JPN130" => "JPN130",
"JPN140" => "JPN140",
"JPN138" => "JPN138",
"R45P20" => "R45P20",
"X1508C" => "X1508C",
"X1508D" => "X1508D",
"X2001A" => "X2001A",
"X2001B" => "X2001B",
"X2001C" => "X2001C",
"X2001D" => "X2001D",
"X2001E" => "X2001E",
"P2404I510" => "P2404I510",
"P2404I710" => "P2404I710",
],
"ITEM_TYPE" => [
"LINE" => "라인",
"IP" => "IP주소",

View File

@ -14,7 +14,6 @@ class ServiceItemModel extends CustomerModel
protected $returnType = ServiceItemEntity::class;
protected $allowedFields = [
"serviceinfo_uid",
"code",
"item_type",
"item_uid",
"billing_cycle",

View File

@ -8,15 +8,17 @@ class ServiceModel extends CustomerModel
{
const TABLE = "serviceinfo";
const PK = "uid";
const TITLE = "code";
const TITLE = "title";
protected $table = self::TABLE;
protected $primaryKey = self::PK;
protected $returnType = ServiceEntity::class;
protected $allowedFields = [
"clientinfo_uid",
"switch",
"location",
"title",
"type",
"location",
"switch",
"code",
"raid",
"billing_at",
"start_at",
@ -37,8 +39,11 @@ class ServiceModel extends CustomerModel
case "clientinfo_uid":
$rule = "required|numeric";
break;
case "switch":
case "title":
case "type":
case "location":
case "switch":
case "code":
case "status":
$rule = "required|trim|string";
break;

View File

@ -26,7 +26,6 @@ class ServiceItemService extends CustomerService
{
return [
"serviceinfo_uid",
"code",
"item_type",
"item_uid",
"billing_cycle",
@ -38,7 +37,7 @@ class ServiceItemService extends CustomerService
}
public function getFilterFields(): array
{
return ["serviceinfo_uid", 'code', 'item_type', 'item_uid', 'billing_cycle', 'status'];
return ["serviceinfo_uid", 'item_type', 'item_uid', 'billing_cycle', 'status'];
}
public function getBatchJobFields(): array
{
@ -46,6 +45,6 @@ class ServiceItemService extends CustomerService
}
public function getIndexFields(): array
{
return ['serviceinfo_uid', 'code', 'item_type', 'item_uid', 'billing_cycle', 'price', 'amount', 'start_at', 'status'];
return ['serviceinfo_uid', 'item_type', 'item_uid', 'billing_cycle', 'price', 'amount', 'start_at', 'status'];
}
}

View File

@ -26,9 +26,11 @@ class ServiceService extends CustomerService
{
return [
"clientinfo_uid",
"switch",
"location",
"title",
"type",
"location",
"switch",
"code",
"raid",
"billing_at",
"start_at",
@ -38,7 +40,7 @@ class ServiceService extends CustomerService
}
public function getFilterFields(): array
{
return ["clientinfo_uid", 'location', 'switch', 'type', 'raid', 'status'];
return ["clientinfo_uid", 'type', 'location', 'switch', 'code', 'raid', 'status'];
}
public function getBatchJobFields(): array
{
@ -46,6 +48,6 @@ class ServiceService extends CustomerService
}
public function getIndexFields(): array
{
return ['clientinfo_uid', 'location', 'switch', 'type', 'raid', 'billing_at', 'start_at', 'status'];
return ['clientinfo_uid', 'title', 'type', 'location', 'switch', 'code', 'raid', 'billing_at', 'start_at', 'status'];
}
}

View File

@ -44,7 +44,7 @@
</td>
</tr>
<tr>
<td colspan="11">
<td colspan="<?= count($viewDatas['control']['index_fields']) + 2 ?>">
<table class="table table-bordered table-hover table-striped">
<tr>
<?php foreach ($viewDatas['item_types'] as $field => $label): ?>

View File

@ -12,7 +12,7 @@
<h5 class="modal-title" id="iframe_modal_label">
&nbsp;&nbsp;<?= ICONS['DESKTOP'] ?>&nbsp;&nbsp;
</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close" onClick="window.location.reload()"></button>
</div>
<div class="modal-body" style="max-height: 80vh; overflow-y: auto;">
<iframe id="form-container" src="about:blank" width="100%" frameborder="0" allowfullscreen></iframe>

View File

@ -12,7 +12,7 @@
<h5 class="modal-title" id="iframe_modal_label">
&nbsp;&nbsp;<?= ICONS['DESKTOP'] ?> <?= $viewDatas['title'] ?>&nbsp;&nbsp;
</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close" onClick="window.location.reload()"></button>
</div>
<div class="modal-body" style="max-height: 80vh; overflow-y: auto;">
<iframe id="form-container" src="about:blank" width="100%" frameborder="0" allowfullscreen></iframe>