dbmsv2 init...1
This commit is contained in:
parent
dff01f8dee
commit
9fa605e130
@ -384,8 +384,8 @@ define('SERVICE_UNPAID_ITEM_TYPE', $_ENV['SERVICE_UNPAID_ITEM_TYPE'] ?? $_SERVER
|
||||
define(
|
||||
'SITE_PREFIX',
|
||||
[
|
||||
'prime' => $_ENV['PREFIX_Client'] ?? $_SERVER['PREFIX_Client'] ?? 'PR',
|
||||
'itsolution' => $_ENV['PREFIX_Client'] ?? $_SERVER['PREFIX_Client'] ?? 'IT',
|
||||
'gdidc' => $_ENV['PREFIX_Client'] ?? $_SERVER['PREFIX_Client'] ?? 'GD',
|
||||
'prime' => $_ENV['PREFIX_Client'] ?? $_SERVER['PREFIX_Client'] ?? 'PIC',
|
||||
'itsolution' => $_ENV['PREFIX_Client'] ?? $_SERVER['PREFIX_Client'] ?? 'IIC',
|
||||
'gdidc' => $_ENV['PREFIX_Client'] ?? $_SERVER['PREFIX_Client'] ?? 'GIC',
|
||||
],
|
||||
);
|
||||
|
||||
@ -4,9 +4,9 @@
|
||||
"settings": {
|
||||
"width": 3000,
|
||||
"height": 3000,
|
||||
"scrollTop": -962.0994,
|
||||
"scrollLeft": -672.1533,
|
||||
"zoomLevel": 0.79,
|
||||
"scrollTop": -1450.0603,
|
||||
"scrollLeft": -1122,
|
||||
"zoomLevel": 1,
|
||||
"show": 511,
|
||||
"database": 4,
|
||||
"databaseName": "",
|
||||
@ -69,7 +69,14 @@
|
||||
"sWc1LMcA0iFU_8byUhUnv",
|
||||
"UoS3Mvohv6zri0971LA1O",
|
||||
"sXGbpO3Qip9Ed7NxK_Bdj",
|
||||
"-Cg-8t54mL4p_RVJqoVEC"
|
||||
"-Cg-8t54mL4p_RVJqoVEC",
|
||||
"y4yqEjn054HMDyVTrysPw",
|
||||
"YjcBb9KuGXDVq-G904P1k",
|
||||
"zprESM3XUJWWKC7ykd6bV",
|
||||
"xBEcgXJ9gdmBDCdg1kmTd",
|
||||
"v69SOu4bJ3yPh0LPCs06I",
|
||||
"zEgsZkg-rIZbtF9AWri-c",
|
||||
"wM3eezHxl6nAo_rtAeJ_s"
|
||||
],
|
||||
"indexIds": [],
|
||||
"memoIds": []
|
||||
@ -244,9 +251,9 @@
|
||||
"9F6QpQqxeEggZ0FHM81O1",
|
||||
"tsDqk1dzwzUtvBzpjmarJ",
|
||||
"IiWPO22p9r3zajF_EcPpe",
|
||||
"bh-W1plz0vCW2rURDnfDR",
|
||||
"hmZlcR-Pw2C_ife1zzo5o",
|
||||
"AGBQ4FnuIDU-Dy5QoS0Fu",
|
||||
"bh-W1plz0vCW2rURDnfDR",
|
||||
"tNaVOzr3vywCXiQdfUJWq",
|
||||
"6bQ_6eGfINic9LpM6PtDw",
|
||||
"X-NZLAAPpv21iBJTwymIG"
|
||||
@ -296,9 +303,9 @@
|
||||
"5LbBaqufhFMN2X15ksCbZ",
|
||||
"gf3QFUo-9exbygXX3-0H0",
|
||||
"IiWPO22p9r3zajF_EcPpe",
|
||||
"bh-W1plz0vCW2rURDnfDR",
|
||||
"hmZlcR-Pw2C_ife1zzo5o",
|
||||
"AGBQ4FnuIDU-Dy5QoS0Fu",
|
||||
"bh-W1plz0vCW2rURDnfDR",
|
||||
"tNaVOzr3vywCXiQdfUJWq",
|
||||
"6bQ_6eGfINic9LpM6PtDw",
|
||||
"yjaoHnd4nFaa-3REXvRfN",
|
||||
@ -311,15 +318,15 @@
|
||||
"aY2pn1J3VHF_qV5XFM_zf"
|
||||
],
|
||||
"ui": {
|
||||
"x": 740.179,
|
||||
"y": 1541.8541,
|
||||
"x": 800.9385,
|
||||
"y": 1634.2588,
|
||||
"zIndex": 2,
|
||||
"widthName": 60,
|
||||
"widthComment": 60,
|
||||
"color": ""
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755653857413,
|
||||
"updateAt": 1755668734126,
|
||||
"createAt": 1745819764137
|
||||
}
|
||||
},
|
||||
@ -429,11 +436,12 @@
|
||||
"columnIds": [
|
||||
"Id0h8QbOdlhPj9P1zTm5o",
|
||||
"f7_MGvRjkwL1xkCWrAgDR",
|
||||
"4sj8hIYAiLSSF89eeNXdQ",
|
||||
"60w6M5QqxGAvJa3EEMDbR",
|
||||
"sJfMcwfDgXnsZ89DVVDA2",
|
||||
"QznZ6PY_T3OGj3YD4GdOX",
|
||||
"6qd6rcTkraI_AbHcVbp6T",
|
||||
"dIY_dF7qvUpTGyBwlnHjG",
|
||||
"aWjaosOJdZd4AqZ-dk69F",
|
||||
"nDoaVrEhO8hLuHbgZV4il",
|
||||
"Vm1-FnoJLcJ0GRnTp0vnn",
|
||||
"R-UjmO-S2UeQdddVNwH5M",
|
||||
@ -444,6 +452,7 @@
|
||||
"Id0h8QbOdlhPj9P1zTm5o",
|
||||
"SFj3q5xg6pcI4RSDKPSgI",
|
||||
"f7_MGvRjkwL1xkCWrAgDR",
|
||||
"4sj8hIYAiLSSF89eeNXdQ",
|
||||
"60w6M5QqxGAvJa3EEMDbR",
|
||||
"nIeV_YUzCUo3ZwJEtefBV",
|
||||
"ZPFSJbnNsml6U3UKwtSVX",
|
||||
@ -457,6 +466,7 @@
|
||||
"sWwdum3AkxFncLEFPN1CM",
|
||||
"ImCmrkHrB4nfB35PilQnf",
|
||||
"6i-Ag5fvYugIDFg9tH3HA",
|
||||
"sJfMcwfDgXnsZ89DVVDA2",
|
||||
"QznZ6PY_T3OGj3YD4GdOX",
|
||||
"6qd6rcTkraI_AbHcVbp6T",
|
||||
"0ONL4QLQRyZ32MBJ7TN7u",
|
||||
@ -471,15 +481,15 @@
|
||||
"CX9ODlVw-gFnxgfMJ1JyV"
|
||||
],
|
||||
"ui": {
|
||||
"x": 1514.7956,
|
||||
"y": 1440.8948,
|
||||
"x": 1540.5299,
|
||||
"y": 1515.3125,
|
||||
"zIndex": 2,
|
||||
"widthName": 60,
|
||||
"widthComment": 60,
|
||||
"color": ""
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755654232567,
|
||||
"updateAt": 1755677464387,
|
||||
"createAt": 1745819764138
|
||||
}
|
||||
},
|
||||
@ -924,6 +934,7 @@
|
||||
"Vf3bNvvEPfu1zCs4rcHTU",
|
||||
"N-2m8O_JzS6-sDEcL5zTv",
|
||||
"1ZM86qoxmCcoKnqOpE2oj",
|
||||
"mIkGBA96-a6Rh6AoRddl7",
|
||||
"50a08OnwVq9SXAXX5pq6s",
|
||||
"ptLUIGfIqm89XGRz_V2ww",
|
||||
"hQ5EOPiUpDbVpWQwawtw4",
|
||||
@ -943,6 +954,7 @@
|
||||
"Vf3bNvvEPfu1zCs4rcHTU",
|
||||
"N-2m8O_JzS6-sDEcL5zTv",
|
||||
"1ZM86qoxmCcoKnqOpE2oj",
|
||||
"mIkGBA96-a6Rh6AoRddl7",
|
||||
"NzxkmndrTbH7xb6fbnGV7",
|
||||
"x3mRYyi3hsNg-7bPbddVH",
|
||||
"KcB0lsCfyDNkaBkLXrHec",
|
||||
@ -998,7 +1010,7 @@
|
||||
"color": ""
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755654974759,
|
||||
"updateAt": 1755660518169,
|
||||
"createAt": 1748485662214
|
||||
}
|
||||
},
|
||||
@ -1046,6 +1058,8 @@
|
||||
"comment": "스위치정보",
|
||||
"columnIds": [
|
||||
"CKqk9KisacveOubGKDQHa",
|
||||
"9FYinSR3C6jDrEsRsCMpl",
|
||||
"E30sHnqJytLlBmfL7ueOG",
|
||||
"wi1XbZM3emknh42sOMkYq",
|
||||
"sVypeCGZk-JXvsbwc93Rw",
|
||||
"QEXGVSZ3sjvmtUCdgXl6_",
|
||||
@ -1062,7 +1076,11 @@
|
||||
"CKqk9KisacveOubGKDQHa",
|
||||
"GGL413h2VpSCaHyrCkWSA",
|
||||
"Li6TetD-ZbH9MNKGAK0im",
|
||||
"_Ftnl1jfEidMZj7ag7w7v",
|
||||
"9FYinSR3C6jDrEsRsCMpl",
|
||||
"E30sHnqJytLlBmfL7ueOG",
|
||||
"wi1XbZM3emknh42sOMkYq",
|
||||
"0DqzeiTdKUa6hunIDyuc4",
|
||||
"sVypeCGZk-JXvsbwc93Rw",
|
||||
"_KISusuMe8-oGta7xOaz0",
|
||||
"QEXGVSZ3sjvmtUCdgXl6_",
|
||||
@ -1071,15 +1089,15 @@
|
||||
"qOLH2re1rmaG-63c08R8x"
|
||||
],
|
||||
"ui": {
|
||||
"x": 88.893,
|
||||
"y": 1443.8934,
|
||||
"x": 74.9689,
|
||||
"y": 1414.7795,
|
||||
"zIndex": 2509,
|
||||
"widthName": 60,
|
||||
"widthComment": 62,
|
||||
"color": ""
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755653730437,
|
||||
"updateAt": 1755666709923,
|
||||
"createAt": 1750898626895
|
||||
}
|
||||
},
|
||||
@ -1364,6 +1382,8 @@
|
||||
"comment": "CS정보(한서버 여러개 앞단 등록가능)",
|
||||
"columnIds": [
|
||||
"PuLZie9O9warTXzmBPj3F",
|
||||
"q_IaRBb367b9mgGozh6jB",
|
||||
"7Tqt0jVOln16nire8AE2K",
|
||||
"GtBqjKsmtYWvsd0fckBc0",
|
||||
"JtbW3CtPKBxnw4Fohhpci",
|
||||
"2KpyBHvmw6fmuTZhPAWYf",
|
||||
@ -1379,6 +1399,8 @@
|
||||
"PuLZie9O9warTXzmBPj3F",
|
||||
"SlovGoAbswPj9pLEDGAO_",
|
||||
"pcpeNmSmqH_DtbRLyaYv9",
|
||||
"q_IaRBb367b9mgGozh6jB",
|
||||
"7Tqt0jVOln16nire8AE2K",
|
||||
"GtBqjKsmtYWvsd0fckBc0",
|
||||
"JtbW3CtPKBxnw4Fohhpci",
|
||||
"2KpyBHvmw6fmuTZhPAWYf",
|
||||
@ -1390,18 +1412,20 @@
|
||||
"J6Q1DK6nYtjbR0gheWzY6",
|
||||
"cvcacwm-6mn2YlVM7rpSx",
|
||||
"bhWMMkiKCtXDKt4cP-_sB",
|
||||
"QntZma68vv35q1xARB2R4"
|
||||
"QntZma68vv35q1xARB2R4",
|
||||
"W4u2iQCMhE_0W4Ex8Z_2j",
|
||||
"S-_BBM4Qv5LCTvGVKmQQw"
|
||||
],
|
||||
"ui": {
|
||||
"x": 87.9303,
|
||||
"y": 1724.3252,
|
||||
"x": 77.8039,
|
||||
"y": 1753.4391,
|
||||
"zIndex": 4045,
|
||||
"widthName": 60,
|
||||
"widthComment": 201,
|
||||
"color": ""
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755653784249,
|
||||
"updateAt": 1755665171861,
|
||||
"createAt": 1755244574868
|
||||
}
|
||||
},
|
||||
@ -1584,8 +1608,9 @@
|
||||
"comment": "서버정보_part정보(CASECADE)",
|
||||
"columnIds": [
|
||||
"XXQzeCrEymboccXMZCzMo",
|
||||
"IbWdZlEEF70bGqUDkU5ub",
|
||||
"l2g7xess8DY86_ZOm7Ca1",
|
||||
"IbWdZlEEF70bGqUDkU5ub",
|
||||
"eu4eV0U7BRaP7Zk-oyBhV",
|
||||
"mYEan5gjLS5bBthtFCc6w",
|
||||
"SioEINPlR0iyL87vqa4N-",
|
||||
"NdvFKvSSsZJ3s1sEMgXzt",
|
||||
@ -1598,8 +1623,9 @@
|
||||
"CvilrbKyyz1NnLPndNkb8",
|
||||
"x23F_sFvFpqLOXzldHBFn",
|
||||
"HZIdc4faH9k91g-JN-NhW",
|
||||
"IbWdZlEEF70bGqUDkU5ub",
|
||||
"l2g7xess8DY86_ZOm7Ca1",
|
||||
"IbWdZlEEF70bGqUDkU5ub",
|
||||
"eu4eV0U7BRaP7Zk-oyBhV",
|
||||
"mYEan5gjLS5bBthtFCc6w",
|
||||
"SioEINPlR0iyL87vqa4N-",
|
||||
"fqqyFASOLVXWIKq61Jce7",
|
||||
@ -1610,15 +1636,15 @@
|
||||
"kDyVwSigBBYnp_F9MyRAw"
|
||||
],
|
||||
"ui": {
|
||||
"x": 1515.6117,
|
||||
"y": 1810.3055,
|
||||
"x": 1543.4598,
|
||||
"y": 1910.3055,
|
||||
"zIndex": 4514,
|
||||
"widthName": 101,
|
||||
"widthComment": 165,
|
||||
"color": ""
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755654072586,
|
||||
"updateAt": 1755664896195,
|
||||
"createAt": 1755476453282
|
||||
}
|
||||
},
|
||||
@ -9972,8 +9998,8 @@
|
||||
"name": "location",
|
||||
"comment": "지역코드(chiba,tokyo,3center등)",
|
||||
"dataType": "VARCHAR(20)",
|
||||
"default": "",
|
||||
"options": 0,
|
||||
"default": "'chiba'",
|
||||
"options": 8,
|
||||
"ui": {
|
||||
"keys": 0,
|
||||
"widthName": 60,
|
||||
@ -9982,7 +10008,7 @@
|
||||
"widthDefault": 60
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755593517165,
|
||||
"updateAt": 1755668336051,
|
||||
"createAt": 1755237587825
|
||||
}
|
||||
},
|
||||
@ -13062,7 +13088,7 @@
|
||||
"widthDefault": 60
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755653797503,
|
||||
"updateAt": 1755664722248,
|
||||
"createAt": 1755653779889
|
||||
}
|
||||
},
|
||||
@ -13185,6 +13211,246 @@
|
||||
"updateAt": 1755655622958,
|
||||
"createAt": 1755654833478
|
||||
}
|
||||
},
|
||||
"mIkGBA96-a6Rh6AoRddl7": {
|
||||
"id": "mIkGBA96-a6Rh6AoRddl7",
|
||||
"tableId": "B8haiEbPc1lRBWTv1g25G",
|
||||
"name": "site",
|
||||
"comment": "Site구분",
|
||||
"dataType": "VARCHAR(20)",
|
||||
"default": "'prime'",
|
||||
"options": 8,
|
||||
"ui": {
|
||||
"keys": 0,
|
||||
"widthName": 60,
|
||||
"widthComment": 60,
|
||||
"widthDataType": 75,
|
||||
"widthDefault": 60
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755660515026,
|
||||
"createAt": 1755660515026
|
||||
}
|
||||
},
|
||||
"W4u2iQCMhE_0W4Ex8Z_2j": {
|
||||
"id": "W4u2iQCMhE_0W4Ex8Z_2j",
|
||||
"tableId": "SEgsi7mbM-56Rsx5-qj8K",
|
||||
"name": "clientinfo_uid",
|
||||
"comment": "고객정보",
|
||||
"dataType": "INT",
|
||||
"default": "",
|
||||
"options": 0,
|
||||
"ui": {
|
||||
"keys": 0,
|
||||
"widthName": 73,
|
||||
"widthComment": 60,
|
||||
"widthDataType": 60,
|
||||
"widthDefault": 60
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755664458165,
|
||||
"createAt": 1755664458165
|
||||
}
|
||||
},
|
||||
"S-_BBM4Qv5LCTvGVKmQQw": {
|
||||
"id": "S-_BBM4Qv5LCTvGVKmQQw",
|
||||
"tableId": "SEgsi7mbM-56Rsx5-qj8K",
|
||||
"name": "serviceinfo_uid",
|
||||
"comment": "서비스정보",
|
||||
"dataType": "INT",
|
||||
"default": "",
|
||||
"options": 0,
|
||||
"ui": {
|
||||
"keys": 0,
|
||||
"widthName": 80,
|
||||
"widthComment": 62,
|
||||
"widthDataType": 60,
|
||||
"widthDefault": 60
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755664458165,
|
||||
"createAt": 1755664458165
|
||||
}
|
||||
},
|
||||
"sJfMcwfDgXnsZ89DVVDA2": {
|
||||
"id": "sJfMcwfDgXnsZ89DVVDA2",
|
||||
"tableId": "ZLEpY5EjuZV21718zf-Y1",
|
||||
"name": "serviceinfo_uid",
|
||||
"comment": "서비스정보",
|
||||
"dataType": "INT",
|
||||
"default": "",
|
||||
"options": 0,
|
||||
"ui": {
|
||||
"keys": 2,
|
||||
"widthName": 80,
|
||||
"widthComment": 62,
|
||||
"widthDataType": 60,
|
||||
"widthDefault": 60
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755664545515,
|
||||
"createAt": 1755664509604
|
||||
}
|
||||
},
|
||||
"E30sHnqJytLlBmfL7ueOG": {
|
||||
"id": "E30sHnqJytLlBmfL7ueOG",
|
||||
"tableId": "IsMoJXzvtuoOFFt93qS0w",
|
||||
"name": "serviceinfo_uid",
|
||||
"comment": "서비스정보",
|
||||
"dataType": "INT",
|
||||
"default": "",
|
||||
"options": 0,
|
||||
"ui": {
|
||||
"keys": 2,
|
||||
"widthName": 80,
|
||||
"widthComment": 62,
|
||||
"widthDataType": 60,
|
||||
"widthDefault": 60
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755664604764,
|
||||
"createAt": 1755664567491
|
||||
}
|
||||
},
|
||||
"7Tqt0jVOln16nire8AE2K": {
|
||||
"id": "7Tqt0jVOln16nire8AE2K",
|
||||
"tableId": "SEgsi7mbM-56Rsx5-qj8K",
|
||||
"name": "serviceinfo_uid",
|
||||
"comment": "서비스정보",
|
||||
"dataType": "INT",
|
||||
"default": "",
|
||||
"options": 0,
|
||||
"ui": {
|
||||
"keys": 2,
|
||||
"widthName": 80,
|
||||
"widthComment": 62,
|
||||
"widthDataType": 60,
|
||||
"widthDefault": 60
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755664722936,
|
||||
"createAt": 1755664615534
|
||||
}
|
||||
},
|
||||
"eu4eV0U7BRaP7Zk-oyBhV": {
|
||||
"id": "eu4eV0U7BRaP7Zk-oyBhV",
|
||||
"tableId": "8GYAVBvZGaMFeq3QuXk_B",
|
||||
"name": "serviceinfo_uid",
|
||||
"comment": "서비스정보",
|
||||
"dataType": "INT",
|
||||
"default": "",
|
||||
"options": 0,
|
||||
"ui": {
|
||||
"keys": 2,
|
||||
"widthName": 80,
|
||||
"widthComment": 62,
|
||||
"widthDataType": 60,
|
||||
"widthDefault": 60
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755664953679,
|
||||
"createAt": 1755664858263
|
||||
}
|
||||
},
|
||||
"9FYinSR3C6jDrEsRsCMpl": {
|
||||
"id": "9FYinSR3C6jDrEsRsCMpl",
|
||||
"tableId": "IsMoJXzvtuoOFFt93qS0w",
|
||||
"name": "clientinfo_uid",
|
||||
"comment": "고객정보",
|
||||
"dataType": "INT",
|
||||
"default": "",
|
||||
"options": 0,
|
||||
"ui": {
|
||||
"keys": 2,
|
||||
"widthName": 73,
|
||||
"widthComment": 60,
|
||||
"widthDataType": 60,
|
||||
"widthDefault": 60
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755665914148,
|
||||
"createAt": 1755665105225
|
||||
}
|
||||
},
|
||||
"q_IaRBb367b9mgGozh6jB": {
|
||||
"id": "q_IaRBb367b9mgGozh6jB",
|
||||
"tableId": "SEgsi7mbM-56Rsx5-qj8K",
|
||||
"name": "clientinfo_uid",
|
||||
"comment": "고객정보",
|
||||
"dataType": "INT",
|
||||
"default": "",
|
||||
"options": 0,
|
||||
"ui": {
|
||||
"keys": 2,
|
||||
"widthName": 73,
|
||||
"widthComment": 60,
|
||||
"widthDataType": 60,
|
||||
"widthDefault": 60
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755665190302,
|
||||
"createAt": 1755665152928
|
||||
}
|
||||
},
|
||||
"0DqzeiTdKUa6hunIDyuc4": {
|
||||
"id": "0DqzeiTdKUa6hunIDyuc4",
|
||||
"tableId": "IsMoJXzvtuoOFFt93qS0w",
|
||||
"name": "previous_clientinfo_uid",
|
||||
"comment": "고객정보",
|
||||
"dataType": "INT",
|
||||
"default": "",
|
||||
"options": 0,
|
||||
"ui": {
|
||||
"keys": 0,
|
||||
"widthName": 123,
|
||||
"widthComment": 60,
|
||||
"widthDataType": 60,
|
||||
"widthDefault": 60
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755665948597,
|
||||
"createAt": 1755665921459
|
||||
}
|
||||
},
|
||||
"_Ftnl1jfEidMZj7ag7w7v": {
|
||||
"id": "_Ftnl1jfEidMZj7ag7w7v",
|
||||
"tableId": "IsMoJXzvtuoOFFt93qS0w",
|
||||
"name": "old_clientinfo_uid",
|
||||
"comment": "전고객정보",
|
||||
"dataType": "INT",
|
||||
"default": "",
|
||||
"options": 0,
|
||||
"ui": {
|
||||
"keys": 0,
|
||||
"widthName": 95,
|
||||
"widthComment": 62,
|
||||
"widthDataType": 60,
|
||||
"widthDefault": 60
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755666058411,
|
||||
"createAt": 1755665990924
|
||||
}
|
||||
},
|
||||
"4sj8hIYAiLSSF89eeNXdQ": {
|
||||
"id": "4sj8hIYAiLSSF89eeNXdQ",
|
||||
"tableId": "ZLEpY5EjuZV21718zf-Y1",
|
||||
"name": "old_clientinfo_uid",
|
||||
"comment": "전고객정보",
|
||||
"dataType": "INT",
|
||||
"default": "",
|
||||
"options": 0,
|
||||
"ui": {
|
||||
"keys": 2,
|
||||
"widthName": 95,
|
||||
"widthComment": 62,
|
||||
"widthDataType": 60,
|
||||
"widthDefault": 60
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755666918277,
|
||||
"createAt": 1755666739577
|
||||
}
|
||||
}
|
||||
},
|
||||
"relationshipEntities": {
|
||||
@ -13207,8 +13473,8 @@
|
||||
"columnIds": [
|
||||
"f7_MGvRjkwL1xkCWrAgDR"
|
||||
],
|
||||
"x": 2025.7956,
|
||||
"y": 1600.8948,
|
||||
"x": 2072.5299,
|
||||
"y": 1687.3125,
|
||||
"direction": 2
|
||||
},
|
||||
"meta": {
|
||||
@ -15251,8 +15517,8 @@
|
||||
"columnIds": [
|
||||
"l2g7xess8DY86_ZOm7Ca1"
|
||||
],
|
||||
"x": 2110.6117,
|
||||
"y": 1934.3055,
|
||||
"x": 2138.4598,
|
||||
"y": 2046.3055,
|
||||
"direction": 2
|
||||
},
|
||||
"meta": {
|
||||
@ -15467,7 +15733,7 @@
|
||||
"V6BuLrtFrGgCWaHSUkSLb"
|
||||
],
|
||||
"x": 1229.3092000000001,
|
||||
"y": 905.4850333333333,
|
||||
"y": 887.1517,
|
||||
"direction": 2
|
||||
},
|
||||
"end": {
|
||||
@ -15495,7 +15761,7 @@
|
||||
"V6BuLrtFrGgCWaHSUkSLb"
|
||||
],
|
||||
"x": 1229.3092000000001,
|
||||
"y": 1052.1517,
|
||||
"y": 997.1517,
|
||||
"direction": 2
|
||||
},
|
||||
"end": {
|
||||
@ -15504,7 +15770,7 @@
|
||||
"N-2m8O_JzS6-sDEcL5zTv"
|
||||
],
|
||||
"x": 1526.2804,
|
||||
"y": 1080.8582000000001,
|
||||
"y": 1031.8582000000001,
|
||||
"direction": 1
|
||||
},
|
||||
"meta": {
|
||||
@ -15523,7 +15789,7 @@
|
||||
"nNWsAWbHfKWqx8EwxvuM1"
|
||||
],
|
||||
"x": 2179.2804,
|
||||
"y": 1184.8582000000001,
|
||||
"y": 1196.8582000000001,
|
||||
"direction": 2
|
||||
},
|
||||
"end": {
|
||||
@ -15578,8 +15844,8 @@
|
||||
"columnIds": [
|
||||
"RITMHZcQAJ7KvtxkTtMv-"
|
||||
],
|
||||
"x": 740.179,
|
||||
"y": 1639.8541,
|
||||
"x": 800.9385,
|
||||
"y": 1732.2588,
|
||||
"direction": 1
|
||||
},
|
||||
"end": {
|
||||
@ -15587,8 +15853,8 @@
|
||||
"columnIds": [
|
||||
"wi1XbZM3emknh42sOMkYq"
|
||||
],
|
||||
"x": 601.893,
|
||||
"y": 1555.8934,
|
||||
"x": 591.9689,
|
||||
"y": 1641.446166666667,
|
||||
"direction": 2
|
||||
},
|
||||
"meta": {
|
||||
@ -15606,8 +15872,8 @@
|
||||
"columnIds": [
|
||||
"RITMHZcQAJ7KvtxkTtMv-"
|
||||
],
|
||||
"x": 740.179,
|
||||
"y": 1835.8541,
|
||||
"x": 800.9385,
|
||||
"y": 1928.2588,
|
||||
"direction": 1
|
||||
},
|
||||
"end": {
|
||||
@ -15615,8 +15881,8 @@
|
||||
"columnIds": [
|
||||
"GtBqjKsmtYWvsd0fckBc0"
|
||||
],
|
||||
"x": 621.9303,
|
||||
"y": 1884.3252,
|
||||
"x": 615.8039,
|
||||
"y": 2060.105766666667,
|
||||
"direction": 2
|
||||
},
|
||||
"meta": {
|
||||
@ -15635,7 +15901,7 @@
|
||||
"nNWsAWbHfKWqx8EwxvuM1"
|
||||
],
|
||||
"x": 1526.2804,
|
||||
"y": 1288.8582000000001,
|
||||
"y": 1251.8582000000001,
|
||||
"direction": 1
|
||||
},
|
||||
"end": {
|
||||
@ -15643,9 +15909,9 @@
|
||||
"columnIds": [
|
||||
"4iRyOhmW3b7kbiZT8lQyY"
|
||||
],
|
||||
"x": 1319.179,
|
||||
"y": 1607.1874333333335,
|
||||
"direction": 2
|
||||
"x": 1235.1885,
|
||||
"y": 1634.2588,
|
||||
"direction": 4
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755653818593,
|
||||
@ -15662,7 +15928,7 @@
|
||||
"columnIds": [
|
||||
"V6BuLrtFrGgCWaHSUkSLb"
|
||||
],
|
||||
"x": 962.8092,
|
||||
"x": 1140.4758666666667,
|
||||
"y": 1272.1517,
|
||||
"direction": 8
|
||||
},
|
||||
@ -15671,8 +15937,8 @@
|
||||
"columnIds": [
|
||||
"JRdeV7n53lb1iSmmYnhHX"
|
||||
],
|
||||
"x": 1029.679,
|
||||
"y": 1541.8541,
|
||||
"x": 945.6885,
|
||||
"y": 1634.2588,
|
||||
"direction": 4
|
||||
},
|
||||
"meta": {
|
||||
@ -15691,7 +15957,7 @@
|
||||
"V6BuLrtFrGgCWaHSUkSLb"
|
||||
],
|
||||
"x": 1229.3092000000001,
|
||||
"y": 1198.8183666666666,
|
||||
"y": 1107.1517,
|
||||
"direction": 2
|
||||
},
|
||||
"end": {
|
||||
@ -15699,8 +15965,8 @@
|
||||
"columnIds": [
|
||||
"60w6M5QqxGAvJa3EEMDbR"
|
||||
],
|
||||
"x": 1514.7956,
|
||||
"y": 1520.8948,
|
||||
"x": 1540.5299,
|
||||
"y": 1572.6458333333335,
|
||||
"direction": 1
|
||||
},
|
||||
"meta": {
|
||||
@ -15718,8 +15984,8 @@
|
||||
"columnIds": [
|
||||
"RITMHZcQAJ7KvtxkTtMv-"
|
||||
],
|
||||
"x": 1319.179,
|
||||
"y": 1737.8541000000002,
|
||||
"x": 1379.9385,
|
||||
"y": 1732.2588,
|
||||
"direction": 2
|
||||
},
|
||||
"end": {
|
||||
@ -15727,8 +15993,8 @@
|
||||
"columnIds": [
|
||||
"QznZ6PY_T3OGj3YD4GdOX"
|
||||
],
|
||||
"x": 1514.7956,
|
||||
"y": 1680.8948,
|
||||
"x": 1540.5299,
|
||||
"y": 1801.979166666667,
|
||||
"direction": 1
|
||||
},
|
||||
"meta": {
|
||||
@ -15746,8 +16012,8 @@
|
||||
"columnIds": [
|
||||
"RITMHZcQAJ7KvtxkTtMv-"
|
||||
],
|
||||
"x": 1319.179,
|
||||
"y": 1868.520766666667,
|
||||
"x": 1379.9385,
|
||||
"y": 1928.2588,
|
||||
"direction": 2
|
||||
},
|
||||
"end": {
|
||||
@ -15755,14 +16021,238 @@
|
||||
"columnIds": [
|
||||
"IbWdZlEEF70bGqUDkU5ub"
|
||||
],
|
||||
"x": 1515.6117,
|
||||
"y": 1934.3055,
|
||||
"x": 1543.4598,
|
||||
"y": 2046.3055,
|
||||
"direction": 1
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755654048878,
|
||||
"createAt": 1755654048878
|
||||
}
|
||||
},
|
||||
"y4yqEjn054HMDyVTrysPw": {
|
||||
"id": "y4yqEjn054HMDyVTrysPw",
|
||||
"identification": false,
|
||||
"relationshipType": 16,
|
||||
"startRelationshipType": 1,
|
||||
"start": {
|
||||
"tableId": "B8haiEbPc1lRBWTv1g25G",
|
||||
"columnIds": [
|
||||
"nNWsAWbHfKWqx8EwxvuM1"
|
||||
],
|
||||
"x": 1689.5304,
|
||||
"y": 1416.8582000000001,
|
||||
"direction": 8
|
||||
},
|
||||
"end": {
|
||||
"tableId": "ZLEpY5EjuZV21718zf-Y1",
|
||||
"columnIds": [
|
||||
"sJfMcwfDgXnsZ89DVVDA2"
|
||||
],
|
||||
"x": 1806.5299,
|
||||
"y": 1515.3125,
|
||||
"direction": 4
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755664509604,
|
||||
"createAt": 1755664509604
|
||||
}
|
||||
},
|
||||
"YjcBb9KuGXDVq-G904P1k": {
|
||||
"id": "YjcBb9KuGXDVq-G904P1k",
|
||||
"identification": false,
|
||||
"relationshipType": 16,
|
||||
"startRelationshipType": 1,
|
||||
"start": {
|
||||
"tableId": "B8haiEbPc1lRBWTv1g25G",
|
||||
"columnIds": [
|
||||
"nNWsAWbHfKWqx8EwxvuM1"
|
||||
],
|
||||
"x": 1526.2804,
|
||||
"y": 1141.8582000000001,
|
||||
"direction": 1
|
||||
},
|
||||
"end": {
|
||||
"tableId": "IsMoJXzvtuoOFFt93qS0w",
|
||||
"columnIds": [
|
||||
"E30sHnqJytLlBmfL7ueOG"
|
||||
],
|
||||
"x": 591.9689,
|
||||
"y": 1460.1128333333336,
|
||||
"direction": 2
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755664567491,
|
||||
"createAt": 1755664567491
|
||||
}
|
||||
},
|
||||
"zprESM3XUJWWKC7ykd6bV": {
|
||||
"id": "zprESM3XUJWWKC7ykd6bV",
|
||||
"identification": false,
|
||||
"relationshipType": 16,
|
||||
"startRelationshipType": 1,
|
||||
"start": {
|
||||
"tableId": "B8haiEbPc1lRBWTv1g25G",
|
||||
"columnIds": [
|
||||
"nNWsAWbHfKWqx8EwxvuM1"
|
||||
],
|
||||
"x": 1526.2804,
|
||||
"y": 1361.8582000000001,
|
||||
"direction": 1
|
||||
},
|
||||
"end": {
|
||||
"tableId": "SEgsi7mbM-56Rsx5-qj8K",
|
||||
"columnIds": [
|
||||
"7Tqt0jVOln16nire8AE2K"
|
||||
],
|
||||
"x": 615.8039,
|
||||
"y": 1937.4391000000003,
|
||||
"direction": 2
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755664615534,
|
||||
"createAt": 1755664615534
|
||||
}
|
||||
},
|
||||
"xBEcgXJ9gdmBDCdg1kmTd": {
|
||||
"id": "xBEcgXJ9gdmBDCdg1kmTd",
|
||||
"identification": false,
|
||||
"relationshipType": 16,
|
||||
"startRelationshipType": 1,
|
||||
"start": {
|
||||
"tableId": "B8haiEbPc1lRBWTv1g25G",
|
||||
"columnIds": [
|
||||
"nNWsAWbHfKWqx8EwxvuM1"
|
||||
],
|
||||
"x": 2016.0304,
|
||||
"y": 1416.8582000000001,
|
||||
"direction": 8
|
||||
},
|
||||
"end": {
|
||||
"tableId": "8GYAVBvZGaMFeq3QuXk_B",
|
||||
"columnIds": [
|
||||
"eu4eV0U7BRaP7Zk-oyBhV"
|
||||
],
|
||||
"x": 1840.9598,
|
||||
"y": 1910.3055,
|
||||
"direction": 4
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755664858263,
|
||||
"createAt": 1755664858263
|
||||
}
|
||||
},
|
||||
"v69SOu4bJ3yPh0LPCs06I": {
|
||||
"id": "v69SOu4bJ3yPh0LPCs06I",
|
||||
"identification": false,
|
||||
"relationshipType": 16,
|
||||
"startRelationshipType": 1,
|
||||
"start": {
|
||||
"tableId": "6ajvOCaGuXU9pzV0Y9jEi",
|
||||
"columnIds": [
|
||||
"V6BuLrtFrGgCWaHSUkSLb"
|
||||
],
|
||||
"x": 785.1425333333333,
|
||||
"y": 1272.1517,
|
||||
"direction": 8
|
||||
},
|
||||
"end": {
|
||||
"tableId": "IsMoJXzvtuoOFFt93qS0w",
|
||||
"columnIds": [
|
||||
"9FYinSR3C6jDrEsRsCMpl"
|
||||
],
|
||||
"x": 591.9689,
|
||||
"y": 1550.7795000000003,
|
||||
"direction": 2
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755665105225,
|
||||
"createAt": 1755665105225
|
||||
}
|
||||
},
|
||||
"zEgsZkg-rIZbtF9AWri-c": {
|
||||
"id": "zEgsZkg-rIZbtF9AWri-c",
|
||||
"identification": false,
|
||||
"relationshipType": 16,
|
||||
"startRelationshipType": 1,
|
||||
"start": {
|
||||
"tableId": "6ajvOCaGuXU9pzV0Y9jEi",
|
||||
"columnIds": [
|
||||
"V6BuLrtFrGgCWaHSUkSLb"
|
||||
],
|
||||
"x": 962.8091999999999,
|
||||
"y": 1272.1517,
|
||||
"direction": 8
|
||||
},
|
||||
"end": {
|
||||
"tableId": "SEgsi7mbM-56Rsx5-qj8K",
|
||||
"columnIds": [
|
||||
"q_IaRBb367b9mgGozh6jB"
|
||||
],
|
||||
"x": 615.8039,
|
||||
"y": 1814.7724333333335,
|
||||
"direction": 2
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755665152928,
|
||||
"createAt": 1755665152928
|
||||
}
|
||||
},
|
||||
"wK9OV-2kUGVkPrUoQ37Jk": {
|
||||
"id": "wK9OV-2kUGVkPrUoQ37Jk",
|
||||
"identification": false,
|
||||
"relationshipType": 16,
|
||||
"startRelationshipType": 1,
|
||||
"start": {
|
||||
"tableId": "6ajvOCaGuXU9pzV0Y9jEi",
|
||||
"columnIds": [
|
||||
"V6BuLrtFrGgCWaHSUkSLb"
|
||||
],
|
||||
"x": 856.2092000000001,
|
||||
"y": 1272.1517,
|
||||
"direction": 8
|
||||
},
|
||||
"end": {
|
||||
"tableId": "IsMoJXzvtuoOFFt93qS0w",
|
||||
"columnIds": [
|
||||
"_Ftnl1jfEidMZj7ag7w7v"
|
||||
],
|
||||
"x": 606.9689,
|
||||
"y": 1599.7795,
|
||||
"direction": 2
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755665990925,
|
||||
"createAt": 1755665990925
|
||||
}
|
||||
},
|
||||
"wM3eezHxl6nAo_rtAeJ_s": {
|
||||
"id": "wM3eezHxl6nAo_rtAeJ_s",
|
||||
"identification": false,
|
||||
"relationshipType": 16,
|
||||
"startRelationshipType": 1,
|
||||
"start": {
|
||||
"tableId": "6ajvOCaGuXU9pzV0Y9jEi",
|
||||
"columnIds": [
|
||||
"V6BuLrtFrGgCWaHSUkSLb"
|
||||
],
|
||||
"x": 1229.3092000000001,
|
||||
"y": 1217.1517,
|
||||
"direction": 2
|
||||
},
|
||||
"end": {
|
||||
"tableId": "ZLEpY5EjuZV21718zf-Y1",
|
||||
"columnIds": [
|
||||
"4sj8hIYAiLSSF89eeNXdQ"
|
||||
],
|
||||
"x": 1540.5299,
|
||||
"y": 1687.3125000000002,
|
||||
"direction": 1
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1755666739577,
|
||||
"createAt": 1755666739577
|
||||
}
|
||||
}
|
||||
},
|
||||
"indexEntities": {},
|
||||
|
||||
@ -136,6 +136,8 @@ DROP TABLE IF EXISTS `csinfo`;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `csinfo` (
|
||||
`uid` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`clientinfo_uid` int(11) DEFAULT NULL COMMENT '고객정보',
|
||||
`serviceinfo_uid` int(11) DEFAULT NULL COMMENT '서비스정보',
|
||||
`serverinfo_uid` int(11) DEFAULT NULL COMMENT '서버정보',
|
||||
`type` varchar(20) NOT NULL COMMENT '구분(KCS,VCS)',
|
||||
`ip` varchar(50) NOT NULL,
|
||||
@ -149,7 +151,11 @@ CREATE TABLE `csinfo` (
|
||||
PRIMARY KEY (`uid`),
|
||||
UNIQUE KEY `UQ_ip` (`ip`),
|
||||
KEY `FK_serverinfo_TO_csinfo` (`serverinfo_uid`),
|
||||
CONSTRAINT `FK_serverinfo_TO_csinfo` FOREIGN KEY (`serverinfo_uid`) REFERENCES `serverinfo` (`uid`)
|
||||
KEY `FK_serviceinfo_TO_csinfo` (`serviceinfo_uid`),
|
||||
KEY `FK_clientinfo_TO_csinfo` (`clientinfo_uid`),
|
||||
CONSTRAINT `FK_clientinfo_TO_csinfo` FOREIGN KEY (`clientinfo_uid`) REFERENCES `clientinfo` (`uid`),
|
||||
CONSTRAINT `FK_serverinfo_TO_csinfo` FOREIGN KEY (`serverinfo_uid`) REFERENCES `serverinfo` (`uid`),
|
||||
CONSTRAINT `FK_serviceinfo_TO_csinfo` FOREIGN KEY (`serviceinfo_uid`) REFERENCES `serviceinfo` (`uid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='CS정보(한서버 여러개 앞단 등록가능)';
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
@ -172,7 +178,9 @@ DROP TABLE IF EXISTS `ipinfo`;
|
||||
CREATE TABLE `ipinfo` (
|
||||
`uid` int(11) NOT NULL AUTO_INCREMENT COMMENT 'IP정보',
|
||||
`lineinfo_uid` int(11) NOT NULL COMMENT '회선정보',
|
||||
`old_clientinfo_uid` int(11) DEFAULT NULL COMMENT '전고객정보',
|
||||
`clientinfo_uid` int(11) DEFAULT NULL COMMENT '고객정보',
|
||||
`serviceinfo_uid` int(11) DEFAULT NULL COMMENT '서비스정보',
|
||||
`serverinfo_uid` int(11) DEFAULT NULL COMMENT '서버정보',
|
||||
`ip` char(16) NOT NULL,
|
||||
`price` int(11) NOT NULL DEFAULT 0 COMMENT '기본금액',
|
||||
@ -186,9 +194,13 @@ CREATE TABLE `ipinfo` (
|
||||
KEY `FK_lineinfo_TO_ipinfo` (`lineinfo_uid`),
|
||||
KEY `FK_clientinfo_TO_ipinfo` (`clientinfo_uid`),
|
||||
KEY `FK_serverinfo_TO_ipinfo` (`serverinfo_uid`),
|
||||
KEY `FK_serviceinfo_TO_ipinfo` (`serviceinfo_uid`),
|
||||
KEY `FK_clientinfo_TO_ipinfo1` (`old_clientinfo_uid`),
|
||||
CONSTRAINT `FK_clientinfo_TO_ipinfo` FOREIGN KEY (`clientinfo_uid`) REFERENCES `clientinfo` (`uid`),
|
||||
CONSTRAINT `FK_clientinfo_TO_ipinfo1` FOREIGN KEY (`old_clientinfo_uid`) REFERENCES `clientinfo` (`uid`),
|
||||
CONSTRAINT `FK_lineinfo_TO_ipinfo` FOREIGN KEY (`lineinfo_uid`) REFERENCES `lineinfo` (`uid`),
|
||||
CONSTRAINT `FK_serverinfo_TO_ipinfo` FOREIGN KEY (`serverinfo_uid`) REFERENCES `serverinfo` (`uid`)
|
||||
CONSTRAINT `FK_serverinfo_TO_ipinfo` FOREIGN KEY (`serverinfo_uid`) REFERENCES `serverinfo` (`uid`),
|
||||
CONSTRAINT `FK_serviceinfo_TO_ipinfo` FOREIGN KEY (`serviceinfo_uid`) REFERENCES `serviceinfo` (`uid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=' IP정보';
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
@ -386,8 +398,9 @@ DROP TABLE IF EXISTS `serverinfo_partinfo`;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `serverinfo_partinfo` (
|
||||
`uid` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`serverinfo_uid` int(11) NOT NULL COMMENT '서버정보',
|
||||
`partinfo_uid` int(11) NOT NULL COMMENT 'PART정보',
|
||||
`serverinfo_uid` int(11) NOT NULL COMMENT '서버정보',
|
||||
`serviceinfo_uid` int(11) DEFAULT NULL COMMENT '서비스정보',
|
||||
`billing_method` varchar(20) NOT NULL COMMENT '청구방법(month,onetime)',
|
||||
`cnt` tinyint(4) NOT NULL DEFAULT 1 COMMENT '갯수',
|
||||
`extra` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '추가정보(RAID등)',
|
||||
@ -396,8 +409,10 @@ CREATE TABLE `serverinfo_partinfo` (
|
||||
PRIMARY KEY (`uid`),
|
||||
KEY `FK_partinfo_TO_serverinfo_partinfo` (`partinfo_uid`),
|
||||
KEY `FK_serverinfo_TO_serverinfo_partinfo` (`serverinfo_uid`),
|
||||
KEY `FK_serviceinfo_TO_serverinfo_partinfo` (`serviceinfo_uid`),
|
||||
CONSTRAINT `FK_partinfo_TO_serverinfo_partinfo` FOREIGN KEY (`partinfo_uid`) REFERENCES `partinfo` (`uid`),
|
||||
CONSTRAINT `FK_serverinfo_TO_serverinfo_partinfo` FOREIGN KEY (`serverinfo_uid`) REFERENCES `serverinfo` (`uid`)
|
||||
CONSTRAINT `FK_serverinfo_TO_serverinfo_partinfo` FOREIGN KEY (`serverinfo_uid`) REFERENCES `serverinfo` (`uid`),
|
||||
CONSTRAINT `FK_serviceinfo_TO_serverinfo_partinfo` FOREIGN KEY (`serviceinfo_uid`) REFERENCES `serviceinfo` (`uid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='서버정보_part정보(CASECADE)';
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
@ -422,6 +437,7 @@ CREATE TABLE `serviceinfo` (
|
||||
`user_uid` int(11) NOT NULL COMMENT '관리자정보',
|
||||
`clientinfo_uid` int(11) NOT NULL COMMENT '고객정보',
|
||||
`code` varchar(20) NOT NULL COMMENT '서비스코드',
|
||||
`site` varchar(20) NOT NULL DEFAULT 'prime' COMMENT 'Site구분',
|
||||
`type` varchar(20) NOT NULL COMMENT '서비스형식((일반, 자사,코로케이션 등)',
|
||||
`location` varchar(20) DEFAULT NULL COMMENT '지역코드(chiba,tokyo,3center등)',
|
||||
`billing_at` date NOT NULL COMMENT '청구일',
|
||||
@ -460,6 +476,8 @@ DROP TABLE IF EXISTS `switchinfo`;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `switchinfo` (
|
||||
`uid` int(11) NOT NULL AUTO_INCREMENT COMMENT '스위치정보',
|
||||
`clientinfo_uid` int(11) DEFAULT NULL COMMENT '고객정보',
|
||||
`serviceinfo_uid` int(11) DEFAULT NULL COMMENT '서비스정보',
|
||||
`serverinfo_uid` int(11) DEFAULT NULL COMMENT '서버정보',
|
||||
`code` varchar(20) NOT NULL COMMENT 'switch코드',
|
||||
`status` varchar(20) NOT NULL DEFAULT 'available',
|
||||
@ -469,7 +487,11 @@ CREATE TABLE `switchinfo` (
|
||||
PRIMARY KEY (`uid`),
|
||||
UNIQUE KEY `UQ_code` (`code`),
|
||||
KEY `FK_serverinfo_TO_switchinfo` (`serverinfo_uid`),
|
||||
CONSTRAINT `FK_serverinfo_TO_switchinfo` FOREIGN KEY (`serverinfo_uid`) REFERENCES `serverinfo` (`uid`)
|
||||
KEY `FK_serviceinfo_TO_switchinfo` (`serviceinfo_uid`),
|
||||
KEY `FK_clientinfo_TO_switchinfo` (`clientinfo_uid`),
|
||||
CONSTRAINT `FK_clientinfo_TO_switchinfo` FOREIGN KEY (`clientinfo_uid`) REFERENCES `clientinfo` (`uid`),
|
||||
CONSTRAINT `FK_serverinfo_TO_switchinfo` FOREIGN KEY (`serverinfo_uid`) REFERENCES `serverinfo` (`uid`),
|
||||
CONSTRAINT `FK_serviceinfo_TO_switchinfo` FOREIGN KEY (`serviceinfo_uid`) REFERENCES `serviceinfo` (`uid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='스위치정보';
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
@ -557,4 +579,4 @@ UNLOCK TABLES;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
|
||||
-- Dump completed on 2025-08-20 11:20:06
|
||||
-- Dump completed on 2025-08-20 14:16:06
|
||||
|
||||
584
app/Database/dbmsv2_test1.sql
Normal file
584
app/Database/dbmsv2_test1.sql
Normal file
File diff suppressed because one or more lines are too long
@ -256,9 +256,13 @@ class CommonHelper
|
||||
$form = $this->form_dropdown_disabled($field, $value, $viewDatas['control']['filter_optons'][$field], $extras);
|
||||
}
|
||||
break;
|
||||
case 'issue_at':
|
||||
case 'expired_at':
|
||||
case 'billing_at':
|
||||
case 'start_at':
|
||||
case 'end_at':
|
||||
case 'manufactur_at':
|
||||
case 'format_at':
|
||||
case 'updated_at':
|
||||
case 'created_at':
|
||||
$extras['class'] = array_key_exists('class', $extras) ? $extras['class'] . ' calender' : 'calender';
|
||||
@ -266,11 +270,15 @@ class CommonHelper
|
||||
break;
|
||||
case 'description':
|
||||
case 'content':
|
||||
case 'history':
|
||||
$extras['class'] = array_key_exists('class', $extras) ? $extras['class'] . ' tinymce' : 'tinymce';
|
||||
$form = form_textarea($field, $value ?? "", ['id' => $field, ...$extras]);
|
||||
break;
|
||||
case 'clientinfo_uid':
|
||||
case 'user_uid':
|
||||
case 'old_clientinfo_uid':
|
||||
case 'clientinfo_uid':
|
||||
case 'serviceinfo_uid':
|
||||
case 'serverinfo_uid':
|
||||
$extras['class'] = array_key_exists('class', $extras) ? $extras['class'] . ' select-field' : 'select-field';
|
||||
$form = $this->form_dropdown_disabled($field, $value, $viewDatas['control']['filter_optons'][$field], $extras);
|
||||
break;
|
||||
@ -298,8 +306,8 @@ class CommonHelper
|
||||
}
|
||||
$value = implode(" , ", $roles);
|
||||
break;
|
||||
case 'updated_at':
|
||||
case 'created_at':
|
||||
case 'updated_at':
|
||||
case 'deleted_at':
|
||||
$value = $value ? date("Y-m-d", strtotime($value)) : "";
|
||||
break;
|
||||
|
||||
@ -2,11 +2,14 @@
|
||||
return [
|
||||
'title' => "고객예치금",
|
||||
'label' => [
|
||||
'user_uid' => "관리자",
|
||||
'clientinfo_uid' => "고객명",
|
||||
'bank' => "은행",
|
||||
'title' => "제목",
|
||||
'alias' => "입/출금자명",
|
||||
'amount' => "금액",
|
||||
'status' => "입/출금",
|
||||
'status' => "상태",
|
||||
'issue_at' => "수정일",
|
||||
'updated_at' => "수정일",
|
||||
'created_at' => "작성일",
|
||||
'deleted_at' => "삭제일",
|
||||
|
||||
@ -4,7 +4,7 @@ return [
|
||||
'label' => [
|
||||
'user_uid' => "관리자UID",
|
||||
'code' => "고객코드",
|
||||
'site' => "구분",
|
||||
'site' => "사이트",
|
||||
'email' => "메일",
|
||||
'phone' => "연락처",
|
||||
'role' => "권한",
|
||||
|
||||
@ -5,6 +5,7 @@ return [
|
||||
'user_uid' => "관리자",
|
||||
'clientinfo_uid' => "고객",
|
||||
'serviceinfo_uid' => "서비스",
|
||||
'title' => "청구항목",
|
||||
'amount' => "청구금액",
|
||||
'billing_method' => "청구방법",
|
||||
'billing_at' => "지급기한일",
|
||||
|
||||
@ -5,10 +5,12 @@ return [
|
||||
'user_uid' => "관리자",
|
||||
'clientinfo_uid' => "고객",
|
||||
'serverinfo_uid' => "서버",
|
||||
'type' => "서비스형식",
|
||||
'site' => "사이트",
|
||||
'code' => "코드",
|
||||
'type' => "형식",
|
||||
'location' => "위치",
|
||||
'billing_at' => "결제일",
|
||||
'amount' => "서비스금액",
|
||||
'amount' => "과금액",
|
||||
'start_at' => "시작일",
|
||||
'end_at' => "해지일",
|
||||
'history' => "사용이력",
|
||||
@ -17,6 +19,11 @@ return [
|
||||
'created_at' => "신청일",
|
||||
'deleted_at' => "삭제일",
|
||||
],
|
||||
"SITE" => [
|
||||
"prime" => "PRIME",
|
||||
"itsolution" => "ITSOLUTION",
|
||||
"gdidc" => "GDIDC",
|
||||
],
|
||||
"LOCATION" => [
|
||||
"chiba" => "치바",
|
||||
"tokyo" => "도쿄",
|
||||
|
||||
@ -2,6 +2,10 @@
|
||||
return [
|
||||
'title' => "CS(VPN)정보",
|
||||
'label' => [
|
||||
'' => "서버",
|
||||
'clientinfo_uid' => "고객",
|
||||
'serviceinfo_uid' => "서비스",
|
||||
'serverinfo_uid' => "서버",
|
||||
'type' => "종류",
|
||||
'ip' => "IP",
|
||||
'accountid' => "계정ID",
|
||||
|
||||
@ -3,7 +3,8 @@ return [
|
||||
'title' => "IP정보",
|
||||
'label' => [
|
||||
'lineinfo_uid' => '회선정보',
|
||||
'clientinfo_uid' => '(이전)고객정보',
|
||||
'old_clientinfo_uid' => "전고객",
|
||||
'clientinfo_uid' => '고객정보',
|
||||
'serverinfo_uid' => '서버정보',
|
||||
'ip' => "IP",
|
||||
'price' => "소비자금액",
|
||||
|
||||
@ -5,12 +5,12 @@ return [
|
||||
'clientinfo_uid' => "고객번호",
|
||||
'serviceinfo_uid' => "서비스번호",
|
||||
'code' => "장비번호",
|
||||
'type' => "장비종류",
|
||||
'type' => "장비벤더",
|
||||
'title' => "장비명",
|
||||
'price' => "기본금액",
|
||||
'total_price' => "최종금액",
|
||||
'manufactur_at' => "입고일",
|
||||
'format_at' => "포맷보유",
|
||||
'format_at' => "포맷보류일",
|
||||
'status' => "상태",
|
||||
'updated_at' => "수정일",
|
||||
'created_at' => "작성일",
|
||||
|
||||
@ -3,6 +3,9 @@ return [
|
||||
'title' => "Switch정보",
|
||||
'label' => [
|
||||
'code' => "코드",
|
||||
'clientinfo_uid' => "고객",
|
||||
'serviceinfo_uid' => "서비스",
|
||||
'serverinfo_uid' => "서버",
|
||||
'status' => "사용여부",
|
||||
'updated_at' => "수정일",
|
||||
'created_at' => "작성일",
|
||||
|
||||
@ -16,7 +16,7 @@ class ClientProcess implements MigrationProcessInterface
|
||||
{
|
||||
$temps = [];
|
||||
$temps['site'] = 'prime';
|
||||
$temps['code'] = $row['Client_Code'];
|
||||
$temps['code'] = 'PI' . $row['Client_Code'];
|
||||
$temps['user_uid'] = 1;
|
||||
$temps['role'] = $row['Client_Reseller'] == 30 ? "reseller" : "user";
|
||||
$temps['name'] = $row['Client_Name'];
|
||||
|
||||
@ -14,8 +14,8 @@ class SwitchCodeProcess implements MigrationProcessInterface
|
||||
}
|
||||
public function process(array $row, int $cnt): void
|
||||
{
|
||||
if (empty($row['service_sw']) || strlen($row['service_sw']) <= 4 || $row['service_sw'] === '1회성 장비') {
|
||||
echo "{$cnt} -> SKIP SWITCHCODE\n";
|
||||
if (!preg_match('/^C ?\d{2}PA\d{2}$/', $row['service_sw'])) {
|
||||
echo "{$cnt} {$row['service_sw']}-> SKIP SWITCHCODE\n";
|
||||
return;
|
||||
}
|
||||
$temps = [];
|
||||
|
||||
@ -98,10 +98,10 @@ abstract class CommonModel extends Model
|
||||
case "updated_at":
|
||||
case "created_at":
|
||||
case "deleted_at":
|
||||
$rule = "if_exist|valid_date";
|
||||
$rule = "permit_empty|valid_date";
|
||||
break;
|
||||
default:
|
||||
$rule = "if_exist|trim|string";
|
||||
$rule = "permit_empty|trim|string";
|
||||
break;
|
||||
}
|
||||
return $rule;
|
||||
@ -109,10 +109,14 @@ abstract class CommonModel extends Model
|
||||
// create, modify 직전 작업용 작업
|
||||
protected function convert_process(string $action, string $field, array $formDatas): mixed
|
||||
{
|
||||
$convertedData = null;
|
||||
// 필드 값 존재 여부 확인
|
||||
$hasValue = array_key_exists($field, $formDatas);
|
||||
$value = $hasValue ? $formDatas[$field] : null;
|
||||
switch ($field) {
|
||||
case $this->getPKField():
|
||||
// $formDatas에 전달된 값이 없는 경우
|
||||
if (!array_key_exists($field, $formDatas)) {
|
||||
// PK 값이 없으면 UUID-like 값 생성
|
||||
if (!$hasValue || empty($value)) {
|
||||
$randomBytes = bin2hex(random_bytes(32));
|
||||
$convertedData = sprintf(
|
||||
'%08s-%04s-%04x-%04x-%12s',
|
||||
@ -122,16 +126,40 @@ abstract class CommonModel extends Model
|
||||
substr($randomBytes, 16, 4),
|
||||
substr($randomBytes, 20, 12)
|
||||
);
|
||||
} else {
|
||||
$convertedData = $value;
|
||||
}
|
||||
break;
|
||||
case "editor": // content 등 textarea를 사용한 Field
|
||||
case "detail": //content등 textarea를 사용한 Field
|
||||
case "content": // content 등 textarea를 사용한 Field
|
||||
case "discription": // content 등 textarea를 사용한 Field
|
||||
$convertedData = htmlentities($formDatas[$field], ENT_QUOTES);
|
||||
case "editor":
|
||||
case "detail":
|
||||
case "content":
|
||||
case "discription":
|
||||
case "history":
|
||||
// textarea 계열은 XSS 방지
|
||||
if ($value === '' || $value === null) {
|
||||
$convertedData = null; // 기본적으로 null
|
||||
} elseif ($value === ' ') {
|
||||
$convertedData = ''; // 공백 하나 → 의도적인 빈칸 저장
|
||||
} else {
|
||||
$convertedData = htmlentities($value, ENT_QUOTES, 'UTF-8');
|
||||
}
|
||||
break;
|
||||
default:
|
||||
$convertedData = $formDatas[$field];
|
||||
if ($value === '' || $value === null) {
|
||||
if ($action === 'insert') {
|
||||
// INSERT → unset 해서 DB default 사용
|
||||
return null;
|
||||
}
|
||||
if ($action === 'update') {
|
||||
// UPDATE → 기본은 null 처리
|
||||
$convertedData = null;
|
||||
}
|
||||
} elseif ($value === ' ') {
|
||||
// 공백 하나 → 빈칸으로 저장
|
||||
$convertedData = '';
|
||||
} else {
|
||||
$convertedData = $value;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return $convertedData;
|
||||
|
||||
@ -13,12 +13,14 @@ class AccountModel extends CustomerModel
|
||||
protected $primaryKey = self::PK;
|
||||
protected $returnType = AccountEntity::class;
|
||||
protected $allowedFields = [
|
||||
"user_uid",
|
||||
"clientinfo_uid",
|
||||
"status",
|
||||
"alias",
|
||||
"bank",
|
||||
"title",
|
||||
"alias",
|
||||
"issue_at",
|
||||
"amount",
|
||||
"updated_at"
|
||||
"status",
|
||||
];
|
||||
public function __construct()
|
||||
{
|
||||
@ -30,15 +32,20 @@ class AccountModel extends CustomerModel
|
||||
throw new \Exception(__FUNCTION__ . "=> field가 array 입니다.\n" . var_export($field, true));
|
||||
}
|
||||
switch ($field) {
|
||||
case "user_uid":
|
||||
case "clientinfo_uid":
|
||||
case "amount":
|
||||
$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;
|
||||
default:
|
||||
$rule = parent::getFormFieldRule($action, $field);
|
||||
break;
|
||||
|
||||
@ -15,17 +15,17 @@ class ClientModel extends CustomerModel
|
||||
protected $returnType = ClientEntity::class;
|
||||
protected $allowedFields = [
|
||||
"user_uid",
|
||||
"site",
|
||||
"code",
|
||||
"name",
|
||||
"email",
|
||||
"phone",
|
||||
"site",
|
||||
"role",
|
||||
"name",
|
||||
"phone",
|
||||
"email",
|
||||
"history",
|
||||
"account_balance",
|
||||
"coupon_balance",
|
||||
"point_balance",
|
||||
"status",
|
||||
"updated_at"
|
||||
"status"
|
||||
];
|
||||
public function __construct()
|
||||
{
|
||||
@ -38,11 +38,7 @@ class ClientModel extends CustomerModel
|
||||
}
|
||||
switch ($field) {
|
||||
case "user_uid":
|
||||
$rule = "required|numeric";
|
||||
break;
|
||||
case "code":
|
||||
$rule = "required|trim|alpha_numeric|min_length[4]|max_length[20]";
|
||||
$rule .= in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->table}.{$field}]" : "";
|
||||
$rule = "required|numeric";
|
||||
break;
|
||||
case "name":
|
||||
$rule = "required|trim|string";
|
||||
@ -53,12 +49,16 @@ class ClientModel extends CustomerModel
|
||||
$rule = "required|trim|string";
|
||||
break;
|
||||
case "email":
|
||||
$rule = "if_exist|trim|valid_email";
|
||||
$rule = "permit_empty|trim|valid_email";
|
||||
break;
|
||||
case "phone":
|
||||
case "history":
|
||||
$rule = "permit_empty|trim|string";
|
||||
break;
|
||||
case "account_balance":
|
||||
case "coupon_balance":
|
||||
case "point_balance":
|
||||
$rule = "if_exist|numeric";
|
||||
$rule = "permit_empty|numeric";
|
||||
break;
|
||||
default:
|
||||
$rule = parent::getFormFieldRule($action, $field);
|
||||
|
||||
@ -13,11 +13,11 @@ class CouponModel extends CustomerModel
|
||||
protected $primaryKey = self::PK;
|
||||
protected $returnType = CouponEntity::class;
|
||||
protected $allowedFields = [
|
||||
"user_uid",
|
||||
"clientinfo_uid",
|
||||
"status",
|
||||
"title",
|
||||
"amount",
|
||||
"updated_at"
|
||||
"cnt",
|
||||
"status",
|
||||
];
|
||||
public function __construct()
|
||||
{
|
||||
@ -29,8 +29,9 @@ class CouponModel extends CustomerModel
|
||||
throw new \Exception(__FUNCTION__ . "=> field가 array 입니다.\n" . var_export($field, true));
|
||||
}
|
||||
switch ($field) {
|
||||
case "user_uid":
|
||||
case "clientinfo_uid":
|
||||
case "amount":
|
||||
case "cnt":
|
||||
$rule = "required|numeric";
|
||||
break;
|
||||
case "title":
|
||||
|
||||
@ -12,4 +12,36 @@ abstract class CustomerModel extends CommonModel
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
public function getFormFieldRule(string $action, string $field): string
|
||||
{
|
||||
if (is_array($field)) {
|
||||
throw new \Exception(__FUNCTION__ . "=> field가 array 입니다.\n" . var_export($field, true));
|
||||
}
|
||||
switch ($field) {
|
||||
case "user_uid":
|
||||
$rule = "required|numeric";
|
||||
break;
|
||||
case "clientinfo_uid":
|
||||
case "serviceinfo_uid":
|
||||
case "serverinfo_uid":
|
||||
$rule = "permit_empty|trim|numeric";
|
||||
break;
|
||||
case "title":
|
||||
$rule = "required|trim|string";
|
||||
$rule .= in_array($action, ["create", "create_form"]) ? "|is_unique[" . $this->getTable() . "." . $field . "]" : "";
|
||||
break;
|
||||
case "code":
|
||||
$rule = "required|trim|alpha_numeric|min_length[4]|max_length[20]";
|
||||
$rule .= in_array($action, ["create", "create_form"]) ? "|is_unique[" . $this->getTable() . "." . $field . "]" : "";
|
||||
break;
|
||||
case "status":
|
||||
$rule = "permit_empty|trim|string";
|
||||
break;
|
||||
default:
|
||||
$rule = parent::getFormFieldRule($action, $field);
|
||||
break;
|
||||
}
|
||||
return $rule;
|
||||
}
|
||||
}
|
||||
|
||||
@ -22,8 +22,7 @@ class PaymentModel extends CustomerModel
|
||||
"billing_method",
|
||||
"billing_at",
|
||||
"pay_method",
|
||||
"status",
|
||||
"updated_at"
|
||||
"status"
|
||||
];
|
||||
public function __construct()
|
||||
{
|
||||
@ -36,21 +35,21 @@ class PaymentModel extends CustomerModel
|
||||
}
|
||||
switch ($field) {
|
||||
case "user_uid":
|
||||
case "clientinfo_uid":
|
||||
case "serviceinfo_uid":
|
||||
case "amount":
|
||||
$rule = "required|numeric";
|
||||
$rule = "required|numeric";
|
||||
break;
|
||||
case "title":
|
||||
case "billing_method":
|
||||
case "clientinfo_uid":
|
||||
case "serviceinfo_uid":
|
||||
case "status":
|
||||
$rule = "required|trim|string";
|
||||
break;
|
||||
case "billing_at":
|
||||
$rule = "required|valid_date";
|
||||
break;
|
||||
case "pay_method":
|
||||
case "status":
|
||||
$rule = "if_exist|trim|string";
|
||||
$rule = "permit_empty|trim|string";
|
||||
break;
|
||||
default:
|
||||
$rule = parent::getFormFieldRule($action, $field);
|
||||
@ -58,4 +57,25 @@ class PaymentModel extends CustomerModel
|
||||
}
|
||||
return $rule;
|
||||
}
|
||||
|
||||
/**
|
||||
* 서비스(고객)별 미납결제정보
|
||||
* @param array<string> checkDate = 'now' , '-1 day' , '-2 day'등
|
||||
* @return array<string, array<string,int>>
|
||||
* [serviceinfo_uid => count], [clientinfo_uid => count]
|
||||
*/
|
||||
final public function getUnPaidCount(string $checkDate = 'now', string $idx_field = "serviceinfo_uid"): array
|
||||
{
|
||||
// strtotime 기준으로 날짜 계산
|
||||
$dateTime = date('Y-m-d H:i:s', strtotime($checkDate));
|
||||
$rows = $this->asArray()
|
||||
->select("{$idx_field}, COUNT(*) as cnt")
|
||||
->where('billing_at <', $dateTime)
|
||||
->where('amount >', 0)
|
||||
->where('status', PaymentEntity::STATUS_UNPAID)
|
||||
->groupBy($idx_field)
|
||||
->findAll();
|
||||
//array_column($rows, 'cnt', 'serviceinfo_uid')는 serviceinfo_uid를 키로 하고 cnt를 값으로 하는 연관 배열을 생성합니다.
|
||||
return array_column($rows, 'cnt', $idx_field);
|
||||
}
|
||||
}
|
||||
|
||||
@ -13,11 +13,11 @@ class PointModel extends CustomerModel
|
||||
protected $primaryKey = self::PK;
|
||||
protected $returnType = PointEntity::class;
|
||||
protected $allowedFields = [
|
||||
"user_uid",
|
||||
"clientinfo_uid",
|
||||
"status",
|
||||
"title",
|
||||
"amount",
|
||||
"updated_at"
|
||||
"status",
|
||||
];
|
||||
public function __construct()
|
||||
{
|
||||
@ -29,6 +29,7 @@ class PointModel extends CustomerModel
|
||||
throw new \Exception(__FUNCTION__ . "=> field가 array 입니다.\n" . var_export($field, true));
|
||||
}
|
||||
switch ($field) {
|
||||
case "user_uid":
|
||||
case "clientinfo_uid":
|
||||
case "amount":
|
||||
$rule = "required|numeric";
|
||||
|
||||
@ -18,12 +18,14 @@ class ServiceModel extends CustomerModel
|
||||
"user_uid",
|
||||
"clientinfo_uid",
|
||||
"code",
|
||||
"site",
|
||||
"type",
|
||||
"location",
|
||||
"billing_at",
|
||||
"amount",
|
||||
"start_at",
|
||||
"end_at",
|
||||
"history",
|
||||
"status",
|
||||
];
|
||||
public function __construct()
|
||||
@ -36,15 +38,12 @@ class ServiceModel extends CustomerModel
|
||||
throw new \Exception(__FUNCTION__ . "=> field가 array 입니다.\n" . var_export($field, true));
|
||||
}
|
||||
switch ($field) {
|
||||
case "code":
|
||||
$rule = "required|trim|alpha_numeric|min_length[4]|max_length[20]";
|
||||
$rule .= in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->table}.{$field}]" : "";
|
||||
break;
|
||||
case "user_uid":
|
||||
case "clientinfo_uid":
|
||||
case "amount":
|
||||
$rule = "required|numeric";
|
||||
break;
|
||||
case "site":
|
||||
case "type":
|
||||
case "location":
|
||||
case "status":
|
||||
@ -55,7 +54,10 @@ class ServiceModel extends CustomerModel
|
||||
$rule = "required|valid_date";
|
||||
break;
|
||||
case "end_at":
|
||||
$rule = "if_exist|valid_date";
|
||||
$rule = "permit_empty|valid_date";
|
||||
break;
|
||||
case "history":
|
||||
$rule = "permit_empty|trim|string";
|
||||
break;
|
||||
default:
|
||||
$rule = parent::getFormFieldRule($action, $field);
|
||||
|
||||
@ -13,6 +13,9 @@ class CSModel extends EquipmentModel
|
||||
protected $primaryKey = self::PK;
|
||||
protected $returnType = CSEntity::class;
|
||||
protected $allowedFields = [
|
||||
"clientinfo_uid",
|
||||
"serviceinfo_uid",
|
||||
"serverinfo_uid",
|
||||
"type",
|
||||
"ip",
|
||||
"accountid",
|
||||
@ -35,13 +38,11 @@ class CSModel extends EquipmentModel
|
||||
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 "price":
|
||||
$rule = "required|numeric";
|
||||
$rule .= in_array($action, ["create", "create_form"]) ? "|is_unique[" . $this->getTable() . "." . $field . "]" : "";
|
||||
break;
|
||||
case "accountid":
|
||||
case "domain":
|
||||
$rule = "if_exist|trim|string";
|
||||
$rule = "permit_empty|trim|string";
|
||||
break;
|
||||
default:
|
||||
$rule = parent::getFormFieldRule($action, $field);
|
||||
|
||||
@ -10,4 +10,36 @@ abstract class EquipmentModel extends CommonModel
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
public function getFormFieldRule(string $action, string $field): string
|
||||
{
|
||||
if (is_array($field)) {
|
||||
throw new \Exception(__FUNCTION__ . "=> field가 array 입니다.\n" . var_export($field, true));
|
||||
}
|
||||
switch ($field) {
|
||||
case "title":
|
||||
$rule = "required|trim|string";
|
||||
$rule .= in_array($action, ["create", "create_form"]) ? "|is_unique[" . $this->getTable() . "." . $field . "]" : "";
|
||||
break;
|
||||
case "code":
|
||||
$rule = "required|trim|alpha_numeric|min_length[4]|max_length[20]";
|
||||
$rule .= in_array($action, ["create", "create_form"]) ? "|is_unique[" . $this->getTable() . "." . $field . "]" : "";
|
||||
break;
|
||||
case "clientinfo_uid":
|
||||
case "serviceinfo_uid":
|
||||
case "serverinfo_uid":
|
||||
$rule = "permit_empty|trim|string";
|
||||
break;
|
||||
case "price":
|
||||
$rule = "required|numeric";
|
||||
break;
|
||||
case "status":
|
||||
$rule = "permit_empty|trim|string";
|
||||
break;
|
||||
default:
|
||||
$rule = parent::getFormFieldRule($action, $field);
|
||||
break;
|
||||
}
|
||||
return $rule;
|
||||
}
|
||||
}
|
||||
|
||||
@ -14,14 +14,13 @@ class IpModel extends EquipmentModel
|
||||
protected $returnType = IpEntity::class;
|
||||
protected $allowedFields = [
|
||||
"lineinfo_uid",
|
||||
"old_clientinfo_uid",
|
||||
"clientinfo_uid",
|
||||
"serviceinfo_uid",
|
||||
"serverinfo_uid",
|
||||
"ip",
|
||||
"price",
|
||||
"amount",
|
||||
"history",
|
||||
"status",
|
||||
"updated_at"
|
||||
];
|
||||
public function __construct()
|
||||
{
|
||||
@ -34,21 +33,19 @@ class IpModel extends EquipmentModel
|
||||
}
|
||||
switch ($field) {
|
||||
case "lineinfo_uid":
|
||||
case "price":
|
||||
$rule = "required|numeric";
|
||||
break;
|
||||
case "clientinfo_uid":
|
||||
case "serverinfo_uid":
|
||||
case "history":
|
||||
$rule = "if_exist|trim|string";
|
||||
case "old_clientinfo_uid":
|
||||
$rule = "permit_empty|numeric";
|
||||
break;
|
||||
case "status":
|
||||
$rule = "permit_empty|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->table}.{$field}]" : "";
|
||||
break;
|
||||
case "price":
|
||||
case "amount":
|
||||
$rule = "if_exist|numeric";
|
||||
break;
|
||||
default:
|
||||
$rule = parent::getFormFieldRule($action, $field);
|
||||
break;
|
||||
|
||||
@ -19,7 +19,6 @@ class LineModel extends EquipmentModel
|
||||
"start_at",
|
||||
"end_at",
|
||||
"status",
|
||||
"updated_at"
|
||||
];
|
||||
public function __construct()
|
||||
{
|
||||
@ -31,17 +30,14 @@ class LineModel extends EquipmentModel
|
||||
throw new \Exception(__FUNCTION__ . "=> field가 array 입니다.\n" . var_export($field, true));
|
||||
}
|
||||
switch ($field) {
|
||||
case "price":
|
||||
$rule = "required|numeric";
|
||||
break;
|
||||
case "title":
|
||||
$rule = "required|trim|string";
|
||||
$rule .= in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->table}.{$field}]" : "";
|
||||
break;
|
||||
case "bandwith":
|
||||
case "type":
|
||||
$rule = "required|trim|string";
|
||||
break;
|
||||
case "start_at":
|
||||
case "end_at":
|
||||
$rule = "permit_empty|valid_date";
|
||||
break;
|
||||
default:
|
||||
$rule = parent::getFormFieldRule($action, $field);
|
||||
break;
|
||||
|
||||
@ -28,10 +28,6 @@ class PartModel extends EquipmentModel
|
||||
throw new \Exception(__FUNCTION__ . "=> field가 array 입니다.\n" . var_export($field, true));
|
||||
}
|
||||
switch ($field) {
|
||||
case "title":
|
||||
$rule = "required|trim|string";
|
||||
$rule .= in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->table}.{$field}]" : "";
|
||||
break;
|
||||
case "type":
|
||||
case "status":
|
||||
$rule = "required|trim|string";
|
||||
|
||||
@ -20,6 +20,7 @@ class ServerModel extends EquipmentModel
|
||||
"type",
|
||||
"title",
|
||||
"price",
|
||||
"total_price",
|
||||
"manufactur_at",
|
||||
"format_at",
|
||||
"status",
|
||||
@ -34,26 +35,21 @@ class ServerModel extends EquipmentModel
|
||||
throw new \Exception(__FUNCTION__ . "=> field가 array 입니다.\n" . var_export($field, true));
|
||||
}
|
||||
switch ($field) {
|
||||
case "code":
|
||||
$rule = "required|trim|alpha_numeric|min_length[4]|max_length[20]";
|
||||
$rule .= in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->table}.{$field}]" : "";
|
||||
case "serviceinfo_uid":
|
||||
$rule = "required|trim|string";
|
||||
break;
|
||||
case "type":
|
||||
case "status":
|
||||
$rule = "required|trim|string";
|
||||
break;
|
||||
case "title":
|
||||
$rule = "required|trim|string";
|
||||
$rule .= in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->table}.{$field}]" : "";
|
||||
break;
|
||||
case "price":
|
||||
$rule = "required|numeric";
|
||||
case "total_price":
|
||||
$rule = "permit_empty|numeric";
|
||||
break;
|
||||
case "manufactur_at":
|
||||
$rule = "required|valid_date";
|
||||
break;
|
||||
case "format_at":
|
||||
$rule = "if_exist|valid_date";
|
||||
$rule = "permit_empty|valid_date";
|
||||
break;
|
||||
default:
|
||||
$rule = parent::getFormFieldRule($action, $field);
|
||||
|
||||
@ -14,8 +14,10 @@ class SwitchModel extends EquipmentModel
|
||||
// protected $useAutoIncrement = false;
|
||||
protected $returnType = SwitchEntity::class;
|
||||
protected $allowedFields = [
|
||||
"code",
|
||||
"clientinfo_uid",
|
||||
"serviceinfo_uid",
|
||||
"serverinfo_uid",
|
||||
"code",
|
||||
"status",
|
||||
];
|
||||
public function __construct()
|
||||
@ -28,10 +30,6 @@ class SwitchModel extends EquipmentModel
|
||||
throw new \Exception(__FUNCTION__ . "=> field가 array 입니다.\n" . var_export($field, true));
|
||||
}
|
||||
switch ($field) {
|
||||
case "code":
|
||||
$rule = "required|trim|alpha_numeric|min_length[4]|max_length[20]";
|
||||
$rule .= in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->table}.{$field}]" : "";
|
||||
break;
|
||||
case "status":
|
||||
$rule = "required|trim|string";
|
||||
break;
|
||||
|
||||
@ -30,7 +30,16 @@ class MyLogModel extends CommonModel
|
||||
}
|
||||
switch ($field) {
|
||||
case "user_uid":
|
||||
$rule = "if_exist|numeric";
|
||||
$rule = "permit_empty|numeric";
|
||||
break;
|
||||
case 'titler':
|
||||
$rule = "required|trim|string";
|
||||
break;
|
||||
case 'content':
|
||||
$rule = "permit_empty|trim|string";
|
||||
break;
|
||||
case 'status':
|
||||
$rule = "permit_empty|trim|string";
|
||||
break;
|
||||
default:
|
||||
$rule = parent::getFormFieldRule($action, $field);
|
||||
|
||||
@ -37,10 +37,10 @@ class UserModel extends CommonModel
|
||||
$rule .= in_array($action, ["create", "create_form"]) ? "|is_unique[{$this->table}.{$field}]" : "";
|
||||
break;
|
||||
case "passwd":
|
||||
$rule = in_array($action, ["create", "create_form"]) ? "required|trim|string" : "if_exist|trim|string";
|
||||
$rule = in_array($action, ["create", "create_form"]) ? "required|trim|string" : "permit_empty|trim|string";
|
||||
break;
|
||||
case "confirmpassword":
|
||||
$rule = in_array($action, ["create", "create_form"]) ? "required|trim|string|matches[passwd]" : "if_exist|trim|string|matches[passwd]";
|
||||
$rule = in_array($action, ["create", "create_form"]) ? "required|trim|string|matches[passwd]" : "permit_empty|trim|string|matches[passwd]";
|
||||
break;
|
||||
case "email":
|
||||
$rule = "required|trim|valid_email";
|
||||
|
||||
@ -53,10 +53,10 @@ class UserSNSModel extends CommonModel
|
||||
return $rule;
|
||||
}
|
||||
//List 검색용
|
||||
public function setList_WordFilter(string $word): void
|
||||
{
|
||||
$this->orLike(self::TABLE . '.id', $word, 'both');
|
||||
$this->orLike(self::TABLE . "." . self::TITLE, $word, 'both');
|
||||
$this->orLike(self::TABLE . '.email', $word, 'both');
|
||||
}
|
||||
// public function setList_WordFilter(string $word): void
|
||||
// {
|
||||
// $this->orLike(self::TABLE . '.id', $word, 'both');
|
||||
// $this->orLike(self::TABLE . "." . self::TITLE, $word, 'both');
|
||||
// $this->orLike(self::TABLE . '.email', $word, 'both');
|
||||
// }
|
||||
}
|
||||
|
||||
@ -17,10 +17,12 @@ class AccountService extends CustomerService
|
||||
{
|
||||
return [
|
||||
"clientinfo_uid",
|
||||
"status",
|
||||
"alias",
|
||||
"bank",
|
||||
"title",
|
||||
"amount"
|
||||
"alias",
|
||||
"issue_at",
|
||||
"amount",
|
||||
"status",
|
||||
];
|
||||
}
|
||||
public function getFilterFields(): array
|
||||
|
||||
@ -17,9 +17,9 @@ class CouponService extends CustomerService
|
||||
{
|
||||
return [
|
||||
"clientinfo_uid",
|
||||
"status",
|
||||
"title",
|
||||
"amount",
|
||||
"cnt",
|
||||
"status",
|
||||
];
|
||||
}
|
||||
public function getFilterFields(): array
|
||||
@ -40,11 +40,11 @@ class CouponService extends CustomerService
|
||||
if (!$entity) {
|
||||
throw new \Exception("{$formDatas['clientinfo_uid']}에 대한 고객정보를 찾을수 없습니다.");
|
||||
}
|
||||
$amount = intval($formDatas['amount']);
|
||||
$cnt = intval($formDatas['cnt']);
|
||||
if ($formDatas['status'] === CouponEntity::DEFAULT_STATUS) { //입금, 쿠폰추가
|
||||
$entity = $this->getClientService()->deposit($entity, 'coupon_balance', $amount);
|
||||
$entity = $this->getClientService()->deposit($entity, 'coupon_balance', $cnt);
|
||||
} else { // 출금, 쿠폰사용
|
||||
$entity = $this->getClientService()->withdrawal($entity, 'coupon_balance', $amount);
|
||||
$entity = $this->getClientService()->withdrawal($entity, 'coupon_balance', $cnt);
|
||||
}
|
||||
}
|
||||
public function create(array $formDatas): CouponEntity
|
||||
|
||||
@ -32,8 +32,7 @@ class PaymentService extends CustomerService
|
||||
"billing_method",
|
||||
"billing_at",
|
||||
"pay_method",
|
||||
"status",
|
||||
"updated_at"
|
||||
"status"
|
||||
];
|
||||
}
|
||||
public function getFilterFields(): array
|
||||
@ -46,7 +45,7 @@ class PaymentService extends CustomerService
|
||||
}
|
||||
public function getIndexFields(): array
|
||||
{
|
||||
return ['clientinfo_uid', 'billing_method', 'amount', 'billing_at', 'pay_method', 'status', 'countdown', 'user_uid'];
|
||||
return ['clientinfo_uid', 'billing_method', 'title', 'amount', 'billing_at', 'pay_method', 'status', 'countdown', 'user_uid'];
|
||||
}
|
||||
public function getBatchJobButtons(): array
|
||||
{
|
||||
@ -74,19 +73,6 @@ class PaymentService extends CustomerService
|
||||
}
|
||||
return $options;
|
||||
}
|
||||
//미납서비스 정보
|
||||
final public function getUnPaidCount(): array
|
||||
{
|
||||
$sql = sprintf("SELECT serviceinfo_uid,COUNT(*) as CNT
|
||||
FROM payment
|
||||
WHERE billing_at < NOW() AND amount > 0 AND status = '%s'
|
||||
GROUP BY serviceinfo_uid", PaymentEntity::DEFAULT_STATUS);
|
||||
$unpaids = [];
|
||||
foreach ($this->getModel()->query($sql)->getResult() as $row) {
|
||||
$unpaids[$row->serverinfo_uid] = $row->CNT;
|
||||
}
|
||||
return $unpaids;
|
||||
}
|
||||
//List 검색용
|
||||
//OrderBy 처리
|
||||
public function setOrderBy(mixed $field = null, mixed $value = null): void
|
||||
@ -94,4 +80,9 @@ class PaymentService extends CustomerService
|
||||
$this->getModel()->orderBy('billing_at ASC');
|
||||
parent::setOrderBy($field, $value);
|
||||
}
|
||||
//미납서비스 정보
|
||||
final public function getUnPaidCount(string $checkDate = 'now', string $idx_field = "serviceinfo_uid"): array
|
||||
{
|
||||
return $this->getModel()->getUnPaidCount($checkDate, $idx_field);
|
||||
}
|
||||
}
|
||||
|
||||
@ -17,9 +17,9 @@ class PointService extends CustomerService
|
||||
{
|
||||
return [
|
||||
"clientinfo_uid",
|
||||
"status",
|
||||
"title",
|
||||
"amount"
|
||||
"amount",
|
||||
"status",
|
||||
];
|
||||
}
|
||||
public function getFilterFields(): array
|
||||
|
||||
@ -20,24 +20,26 @@ class ServiceService extends CustomerService
|
||||
"clientinfo_uid",
|
||||
"type",
|
||||
"location",
|
||||
"serverinfo_uid",
|
||||
"billing_at",
|
||||
"amount",
|
||||
"start_at",
|
||||
"end_at",
|
||||
"history",
|
||||
"status",
|
||||
];
|
||||
}
|
||||
public function getFilterFields(): array
|
||||
{
|
||||
return ['clientinfo_uid', 'serverinfo_uid', 'type', 'location', 'status'];
|
||||
return ['site', 'clientinfo_uid', 'serverinfo_uid', 'type', 'location', 'status'];
|
||||
}
|
||||
public function getBatchJobFields(): array
|
||||
{
|
||||
return ['clientinfo_uid', 'status'];
|
||||
return ['site', 'clientinfo_uid', 'status'];
|
||||
}
|
||||
public function getIndexFields(): array
|
||||
{
|
||||
return ['clientinfo_uid', 'type', 'location', 'serverinfo_uid', 'billing_at', 'amount', 'start_at', 'end_at', 'updated_at', 'status', 'user_uid'];
|
||||
return ['site', 'clientinfo_uid', 'type', 'location', 'serverinfo_uid', 'billing_at', 'amount', 'start_at', 'end_at', 'updated_at', 'status', 'user_uid'];
|
||||
}
|
||||
//Entity의 관련객체정의용
|
||||
public function setSearchIp(string $ip): void
|
||||
|
||||
@ -15,6 +15,7 @@ class CSService extends EquipmentService
|
||||
public function getFormFields(): array
|
||||
{
|
||||
return [
|
||||
"serverinfo_uid",
|
||||
"type",
|
||||
"ip",
|
||||
"accountid",
|
||||
@ -25,7 +26,7 @@ class CSService extends EquipmentService
|
||||
}
|
||||
public function getFilterFields(): array
|
||||
{
|
||||
return ["type", 'status'];
|
||||
return ["clientinfo_uid", 'serverinfo_uid', 'type', 'status'];
|
||||
}
|
||||
public function getBatchJobFields(): array
|
||||
{
|
||||
@ -33,7 +34,7 @@ class CSService extends EquipmentService
|
||||
}
|
||||
public function getIndexFields(): array
|
||||
{
|
||||
return ['type', 'ip', 'accountid', 'domain', 'price', 'status'];
|
||||
return ["clientinfo_uid", 'serverinfo_uid', 'type', 'ip', 'accountid', 'domain', 'price', 'status'];
|
||||
}
|
||||
//List 검색용
|
||||
//OrderBy 처리
|
||||
|
||||
@ -50,7 +50,6 @@ abstract class EquipmentService extends CommonService
|
||||
}
|
||||
return $this->_serverService;
|
||||
}
|
||||
//ServiceItemController,ServiceController에서 사용
|
||||
//기본기능
|
||||
//FieldForm관련용
|
||||
public function getFormFieldOption(string $field, array $options = []): array
|
||||
|
||||
@ -20,18 +20,15 @@ class IpService extends EquipmentService
|
||||
{
|
||||
return [
|
||||
"lineinfo_uid",
|
||||
"clientinfo_uid",
|
||||
"serverinfo_uid",
|
||||
"ip",
|
||||
"price",
|
||||
"amount",
|
||||
"history",
|
||||
"status",
|
||||
];
|
||||
}
|
||||
public function getFilterFields(): array
|
||||
{
|
||||
return ["lineinfo_uid", 'status'];
|
||||
return ['old_clientinfo_uid', 'clientinfo_uid', 'serverinfo_uid', "lineinfo_uid", 'status'];
|
||||
}
|
||||
public function getBatchJobFields(): array
|
||||
{
|
||||
@ -39,7 +36,7 @@ class IpService extends EquipmentService
|
||||
}
|
||||
public function getIndexFields(): array
|
||||
{
|
||||
return ['lineinfo_uid', 'clientinfo_uid', 'serverinfo_uid', 'ip', 'price', 'amount', 'status'];
|
||||
return ['lineinfo_uid', 'ip', 'price', 'amount', 'status', 'clientinfo_uid', 'serverinfo_uid', 'old_clientinfo_uid'];
|
||||
}
|
||||
final public function getLineService(): LineService
|
||||
{
|
||||
@ -56,12 +53,9 @@ class IpService extends EquipmentService
|
||||
case 'lineinfo_uid':
|
||||
$options = $this->getLineService()->getEntities();
|
||||
break;
|
||||
case 'clientinfo_uid':
|
||||
case 'old_clientinfo_uid':
|
||||
$options = $this->getClientService()->getEntities();
|
||||
break;
|
||||
case 'serverinfo_uid':
|
||||
$options = $this->getServerService()->getEntities();
|
||||
break;
|
||||
default:
|
||||
$options = parent::getFormFieldOption($field, $options);
|
||||
break;
|
||||
|
||||
@ -16,6 +16,7 @@ class ServerService extends EquipmentService
|
||||
public function getFormFields(): array
|
||||
{
|
||||
return [
|
||||
"serviceinfo_uid",
|
||||
"code",
|
||||
"type",
|
||||
"title",
|
||||
@ -27,7 +28,7 @@ class ServerService extends EquipmentService
|
||||
}
|
||||
public function getFilterFields(): array
|
||||
{
|
||||
return ['clientinfo_uid', 'serviceinfo_uid', 'status'];
|
||||
return ['clientinfo_uid', 'serviceinfo_uid', 'type', 'status'];
|
||||
}
|
||||
public function getBatchJobFields(): array
|
||||
{
|
||||
|
||||
@ -16,22 +16,25 @@ class SwitchService extends EquipmentService
|
||||
public function getFormFields(): array
|
||||
{
|
||||
return [
|
||||
"serverinfo_uid",
|
||||
"code",
|
||||
"status",
|
||||
];
|
||||
}
|
||||
public function getFilterFields(): array
|
||||
{
|
||||
return ['status'];
|
||||
return ['clientinfo_uid', 'serviceinfo_uid', 'serverinfo_uid', 'status'];
|
||||
}
|
||||
public function getBatchJobFields(): array
|
||||
{
|
||||
return ['status'];
|
||||
return ['clientinfo_uid', 'serverinfo_uid', 'status'];
|
||||
}
|
||||
public function getIndexFields(): array
|
||||
{
|
||||
return ['code', 'status'];
|
||||
return ['code', 'clientinfo_uid', 'serviceinfo_uid', 'serverinfo_uid', 'status'];
|
||||
}
|
||||
//기본기능
|
||||
//FieldForm관련용
|
||||
//상태변경
|
||||
public function setStatus(string $code, string $status): SwitchEntity
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user