From 9bd48d3f003de94fba2f13ea0453cc2863e5796d Mon Sep 17 00:00:00 2001 From: "choi.jh" Date: Thu, 18 Sep 2025 17:17:11 +0900 Subject: [PATCH] dbmsv2 init...1 --- app/Cells/Customer/ServiceCell.php | 2 +- app/Config/Constants.php | 7 +- .../Admin/Customer/PaymentController.php | 4 +- .../Admin/Customer/ServiceController.php | 2 +- app/Controllers/Admin/Home.php | 3 +- app/Controllers/CLI/Payment.php | 2 +- app/Database/dbmsv2.vuerd.json | 36 ++- app/Database/dbmsv2_test1.sql | 24 +- app/Entities/Equipment/ServerPartEntity.php | 2 +- app/Entities/{Customer => }/PaymentEntity.php | 18 +- app/Helpers/Customer/ServiceHelper.php | 2 +- app/Helpers/Equipment/ServerPartHelper.php | 10 +- app/Helpers/{Customer => }/PaymentHelper.php | 6 +- .../Equipment/ServerPartInterface.php | 2 +- app/Language/en/Equipment/ServerPart.php | 4 +- app/Language/en/{Customer => }/Payment.php | 0 app/Models/Equipment/ServerPartModel.php | 6 +- app/Models/{Customer => }/PaymentModel.php | 11 +- app/Services/Customer/ClientService.php | 9 + app/Services/Customer/CustomerService.php | 17 -- app/Services/Customer/PaymentService.php | 129 ----------- app/Services/Customer/ServiceService.php | 25 ++- app/Services/Equipment/CSService.php | 18 +- app/Services/Equipment/IPService.php | 21 +- app/Services/Equipment/PartService.php | 19 +- app/Services/Equipment/ServerPartService.php | 92 ++++---- app/Services/Equipment/SwitchService.php | 21 +- app/Services/PaymentService.php | 206 ++++++++++++++++++ app/Views/cells/serverpart/parttable.php | 8 +- 29 files changed, 427 insertions(+), 279 deletions(-) rename app/Entities/{Customer => }/PaymentEntity.php (72%) rename app/Helpers/{Customer => }/PaymentHelper.php (95%) rename app/Language/en/{Customer => }/Payment.php (100%) rename app/Models/{Customer => }/PaymentModel.php (86%) delete mode 100644 app/Services/Customer/PaymentService.php create mode 100644 app/Services/PaymentService.php diff --git a/app/Cells/Customer/ServiceCell.php b/app/Cells/Customer/ServiceCell.php index 1adaf7d..5853d37 100644 --- a/app/Cells/Customer/ServiceCell.php +++ b/app/Cells/Customer/ServiceCell.php @@ -2,7 +2,7 @@ namespace App\Cells\Customer; -use App\Services\Customer\PaymentService; +use App\Services\PaymentService; use App\Services\Customer\ServiceService; class ServiceCell extends CustomerCell diff --git a/app/Config/Constants.php b/app/Config/Constants.php index 3b569b3..a5f5faa 100644 --- a/app/Config/Constants.php +++ b/app/Config/Constants.php @@ -240,6 +240,7 @@ define('ICONS', [ 'SERVER_ITEM_SOFTWARE' => '', 'SERVER_ITEM_IP' => '', 'SERVER_ITEM_CS' => '', + 'SERVER_ITEM_ETC' => '', ]); //메신저 아이콘 define('MESSENGER_ICONS', [ @@ -398,9 +399,9 @@ define("SERVICE", [ //서버파트 관련 define("SERVERPART", [ "CNT_RANGE" => array_combine(range(1, 10), range(1, 10)), - "SERVER_PARTTYPES" => ['CPU', 'RAM', 'DISK'], - "SERVICE_PARTTYPES" => ['SWITCH', 'IP', 'OS', 'SOFTWARE', 'CS'], - "ALL_PARTTYPES" => ['CPU', 'RAM', 'DISK', 'OS', 'DB', 'SOFTWARE', 'SWITCH', 'IP', 'CS'], + "SERVER_PARTTYPES" => ['CPU', 'RAM', 'DISK', 'ETC'], + "SERVICE_PARTTYPES" => ['SWITCH', 'IP', 'OS', 'SOFTWARE', 'CS', 'ETC'], + "ALL_PARTTYPES" => ['CPU', 'RAM', 'DISK', 'OS', 'DB', 'SOFTWARE', 'SWITCH', 'IP', 'CS', 'ETC'], ]); //결제 관련 define("PAYMENT", [ diff --git a/app/Controllers/Admin/Customer/PaymentController.php b/app/Controllers/Admin/Customer/PaymentController.php index 9e8c5df..56b85d9 100644 --- a/app/Controllers/Admin/Customer/PaymentController.php +++ b/app/Controllers/Admin/Customer/PaymentController.php @@ -3,12 +3,12 @@ namespace App\Controllers\Admin\Customer; use App\Entities\Customer\ClientEntity; -use App\Entities\Customer\PaymentEntity; +use App\Entities\PaymentEntity; use App\Entities\Customer\ServiceEntity; use App\Libraries\LogCollector; use App\Services\Customer\ClientService; -use App\Services\Customer\PaymentService; +use App\Services\PaymentService; use CodeIgniter\HTTP\RedirectResponse; use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\HTTP\ResponseInterface; diff --git a/app/Controllers/Admin/Customer/ServiceController.php b/app/Controllers/Admin/Customer/ServiceController.php index c5163b6..80ed89a 100644 --- a/app/Controllers/Admin/Customer/ServiceController.php +++ b/app/Controllers/Admin/Customer/ServiceController.php @@ -3,7 +3,7 @@ namespace App\Controllers\Admin\Customer; use App\Entities\Customer\ServiceEntity; -use App\Services\Customer\PaymentService; +use App\Services\PaymentService; use App\Services\Customer\ServiceService; use CodeIgniter\HTTP\RedirectResponse; use CodeIgniter\HTTP\RequestInterface; diff --git a/app/Controllers/Admin/Home.php b/app/Controllers/Admin/Home.php index 8d11e8f..da52440 100644 --- a/app/Controllers/Admin/Home.php +++ b/app/Controllers/Admin/Home.php @@ -2,9 +2,8 @@ namespace App\Controllers\Admin; -use App\Helpers\HomeHelper; use App\Services\Customer\ServiceService; -use App\Services\Customer\PaymentService; +use App\Services\PaymentService; use CodeIgniter\HTTP\RedirectResponse; use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\HTTP\ResponseInterface; diff --git a/app/Controllers/CLI/Payment.php b/app/Controllers/CLI/Payment.php index 499e419..d11b7b3 100644 --- a/app/Controllers/CLI/Payment.php +++ b/app/Controllers/CLI/Payment.php @@ -3,7 +3,7 @@ namespace App\Controllers\CLI; use App\Controllers\BaseController; -use App\Entities\Customer\PaymentEntity; +use App\Entities\PaymentEntity; use App\Entities\Customer\ServiceEntity; use App\Services\Customer\ServiceService; use CodeIgniter\HTTP\RequestInterface; diff --git a/app/Database/dbmsv2.vuerd.json b/app/Database/dbmsv2.vuerd.json index b66abe0..752f3d2 100644 --- a/app/Database/dbmsv2.vuerd.json +++ b/app/Database/dbmsv2.vuerd.json @@ -4,8 +4,8 @@ "settings": { "width": 3000, "height": 3000, - "scrollTop": -1655.4768, - "scrollLeft": -167, + "scrollTop": -660.4768, + "scrollLeft": -1800, "zoomLevel": 0.76, "show": 511, "database": 4, @@ -604,6 +604,7 @@ "s1Az-lXWK0NlVQqFEEK8o", "8mPFhDdUY8QLPvc8rNw1B", "vxhl-9RMNJ8zU9oqzEWo8", + "d4HxTQuDbI7SN2qBS84s2", "vbPIGWHquXROtCfId6RVF", "FhnUrn_dOrdhaBe_P3ty-", "SA3xJ9nRW8EWDCFoMjnj3", @@ -631,6 +632,7 @@ "8mPFhDdUY8QLPvc8rNw1B", "LRN5qjIRZ18UOhqFbBLuo", "vxhl-9RMNJ8zU9oqzEWo8", + "d4HxTQuDbI7SN2qBS84s2", "vbPIGWHquXROtCfId6RVF", "FhnUrn_dOrdhaBe_P3ty-", "SA3xJ9nRW8EWDCFoMjnj3", @@ -651,7 +653,7 @@ "color": "" }, "meta": { - "updateAt": 1756951965260, + "updateAt": 1758175481304, "createAt": 1748484896313 } }, @@ -8386,6 +8388,26 @@ "updateAt": 1758087660022, "createAt": 1758087641569 } + }, + "d4HxTQuDbI7SN2qBS84s2": { + "id": "d4HxTQuDbI7SN2qBS84s2", + "tableId": "QCNA57Pi6A9dJDgybxS5v", + "name": "serverpartinfo_uid", + "comment": "서버파트연결정보", + "dataType": "INT", + "default": "", + "options": 0, + "ui": { + "keys": 0, + "widthName": 97, + "widthComment": 98, + "widthDataType": 60, + "widthDefault": 60 + }, + "meta": { + "updateAt": 1758175486130, + "createAt": 1758175348505 + } } }, "relationshipEntities": { @@ -8465,7 +8487,7 @@ "s1Az-lXWK0NlVQqFEEK8o" ], "x": 2338.5336, - "y": 618.633, + "y": 624.633, "direction": 1 }, "meta": { @@ -8717,7 +8739,7 @@ "8mPFhDdUY8QLPvc8rNw1B" ], "x": 2338.5336, - "y": 802.633, + "y": 820.633, "direction": 1 }, "meta": { @@ -8772,8 +8794,8 @@ "columnIds": [ "vxhl-9RMNJ8zU9oqzEWo8" ], - "x": 2649.0336, - "y": 894.633, + "x": 2657.5336, + "y": 918.633, "direction": 8 }, "meta": { diff --git a/app/Database/dbmsv2_test1.sql b/app/Database/dbmsv2_test1.sql index b77f224..a10c8ae 100644 --- a/app/Database/dbmsv2_test1.sql +++ b/app/Database/dbmsv2_test1.sql @@ -211,7 +211,7 @@ CREATE TABLE `ipinfo` ( LOCK TABLES `ipinfo` WRITE; /*!40000 ALTER TABLE `ipinfo` DISABLE KEYS */; -INSERT INTO `ipinfo` VALUES (1,1,NULL,NULL,NULL,NULL,'23.125.207.0',0,'available',NULL,'2025-09-04 04:58:46',NULL),(2,1,NULL,NULL,NULL,NULL,'23.125.207.1',0,'available',NULL,'2025-09-04 04:58:46',NULL),(3,1,NULL,NULL,NULL,NULL,'23.125.207.2',0,'available',NULL,'2025-09-04 04:58:46',NULL),(4,1,NULL,NULL,NULL,NULL,'23.125.207.3',0,'available',NULL,'2025-09-04 04:58:46',NULL),(5,1,NULL,NULL,NULL,NULL,'23.125.207.4',0,'available',NULL,'2025-09-04 04:58:46',NULL),(6,1,NULL,NULL,NULL,NULL,'23.125.207.5',0,'available',NULL,'2025-09-04 04:58:46',NULL),(7,1,NULL,NULL,NULL,NULL,'23.125.207.6',0,'available',NULL,'2025-09-04 04:58:46',NULL),(8,1,NULL,NULL,NULL,NULL,'23.125.207.7',0,'available',NULL,'2025-09-04 04:58:46',NULL),(9,1,NULL,NULL,NULL,NULL,'23.125.207.8',0,'available',NULL,'2025-09-04 04:58:46',NULL),(10,1,NULL,NULL,NULL,NULL,'23.125.207.9',0,'available',NULL,'2025-09-04 04:58:46',NULL),(11,1,NULL,NULL,NULL,NULL,'23.125.207.10',0,'available',NULL,'2025-09-04 04:58:46',NULL),(12,1,NULL,NULL,NULL,NULL,'23.125.207.11',0,'available',NULL,'2025-09-04 04:58:46',NULL),(13,1,NULL,NULL,NULL,NULL,'23.125.207.12',0,'available',NULL,'2025-09-04 04:58:46',NULL),(14,1,NULL,NULL,NULL,NULL,'23.125.207.13',0,'available',NULL,'2025-09-04 04:58:46',NULL),(15,1,NULL,NULL,NULL,NULL,'23.125.207.14',0,'available',NULL,'2025-09-04 04:58:46',NULL),(16,1,NULL,NULL,NULL,NULL,'23.125.207.15',0,'available',NULL,'2025-09-04 04:58:46',NULL),(17,1,NULL,NULL,NULL,NULL,'23.125.207.16',0,'available',NULL,'2025-09-04 04:58:46',NULL),(18,1,NULL,NULL,NULL,NULL,'23.125.207.17',0,'available',NULL,'2025-09-04 04:58:46',NULL),(19,1,NULL,NULL,NULL,NULL,'23.125.207.18',0,'available',NULL,'2025-09-04 04:58:46',NULL),(20,1,NULL,NULL,NULL,NULL,'23.125.207.19',0,'available',NULL,'2025-09-04 04:58:46',NULL),(21,1,NULL,NULL,NULL,NULL,'23.125.207.20',0,'available',NULL,'2025-09-04 04:58:46',NULL),(22,1,NULL,NULL,NULL,NULL,'23.125.207.21',0,'available',NULL,'2025-09-04 04:58:46',NULL),(23,1,NULL,NULL,NULL,NULL,'23.125.207.22',0,'available',NULL,'2025-09-04 04:58:46',NULL),(24,1,NULL,NULL,NULL,NULL,'23.125.207.23',0,'available',NULL,'2025-09-04 04:58:46',NULL),(25,1,NULL,NULL,NULL,NULL,'23.125.207.24',0,'available',NULL,'2025-09-04 04:58:46',NULL),(26,1,NULL,NULL,NULL,NULL,'23.125.207.25',0,'available',NULL,'2025-09-04 04:58:46',NULL),(27,1,NULL,NULL,NULL,NULL,'23.125.207.26',0,'available',NULL,'2025-09-04 04:58:46',NULL),(28,1,NULL,NULL,NULL,NULL,'23.125.207.27',0,'available',NULL,'2025-09-04 04:58:46',NULL),(29,1,NULL,NULL,NULL,NULL,'23.125.207.28',0,'available',NULL,'2025-09-04 04:58:46',NULL),(30,1,NULL,NULL,NULL,NULL,'23.125.207.29',0,'available',NULL,'2025-09-04 04:58:46',NULL),(31,1,NULL,NULL,NULL,NULL,'23.125.207.30',0,'available',NULL,'2025-09-04 04:58:46',NULL),(32,1,NULL,NULL,NULL,NULL,'23.125.207.31',0,'available',NULL,'2025-09-04 04:58:46',NULL),(33,1,NULL,NULL,NULL,NULL,'23.125.207.32',0,'available',NULL,'2025-09-04 04:58:46',NULL),(34,1,NULL,NULL,NULL,NULL,'23.125.207.33',0,'available',NULL,'2025-09-04 04:58:46',NULL),(35,1,NULL,NULL,NULL,NULL,'23.125.207.34',0,'available',NULL,'2025-09-04 04:58:46',NULL),(36,1,NULL,NULL,NULL,NULL,'23.125.207.35',0,'available',NULL,'2025-09-04 04:58:46',NULL),(37,1,NULL,NULL,NULL,NULL,'23.125.207.36',0,'available',NULL,'2025-09-04 04:58:46',NULL),(38,1,NULL,NULL,NULL,NULL,'23.125.207.37',0,'available',NULL,'2025-09-04 04:58:46',NULL),(39,1,NULL,NULL,NULL,NULL,'23.125.207.38',0,'available',NULL,'2025-09-04 04:58:46',NULL),(40,1,NULL,NULL,NULL,NULL,'23.125.207.39',0,'available',NULL,'2025-09-04 04:58:46',NULL),(41,1,NULL,NULL,NULL,NULL,'23.125.207.40',0,'available',NULL,'2025-09-04 04:58:46',NULL),(42,1,NULL,NULL,NULL,NULL,'23.125.207.41',0,'available',NULL,'2025-09-04 04:58:46',NULL),(43,1,NULL,NULL,NULL,NULL,'23.125.207.42',0,'available',NULL,'2025-09-04 04:58:46',NULL),(44,1,NULL,NULL,NULL,NULL,'23.125.207.43',0,'available',NULL,'2025-09-04 04:58:46',NULL),(45,1,NULL,NULL,NULL,NULL,'23.125.207.44',0,'available',NULL,'2025-09-04 04:58:46',NULL),(46,1,NULL,NULL,NULL,NULL,'23.125.207.45',0,'available',NULL,'2025-09-04 04:58:46',NULL),(47,1,NULL,NULL,NULL,NULL,'23.125.207.46',0,'available',NULL,'2025-09-04 04:58:46',NULL),(48,1,NULL,NULL,NULL,NULL,'23.125.207.47',0,'available',NULL,'2025-09-04 04:58:46',NULL),(49,1,NULL,NULL,NULL,NULL,'23.125.207.48',0,'available',NULL,'2025-09-04 04:58:46',NULL),(50,1,NULL,NULL,NULL,NULL,'23.125.207.49',0,'available',NULL,'2025-09-04 04:58:46',NULL),(51,1,NULL,NULL,NULL,NULL,'23.125.207.50',0,'available',NULL,'2025-09-04 04:58:46',NULL),(52,1,NULL,NULL,NULL,NULL,'23.125.207.51',0,'available',NULL,'2025-09-04 04:58:46',NULL),(53,1,NULL,NULL,NULL,NULL,'23.125.207.52',0,'available',NULL,'2025-09-04 04:58:46',NULL),(54,1,NULL,NULL,NULL,NULL,'23.125.207.53',0,'available',NULL,'2025-09-04 04:58:46',NULL),(55,1,NULL,NULL,NULL,NULL,'23.125.207.54',0,'available',NULL,'2025-09-04 04:58:46',NULL),(56,1,NULL,NULL,NULL,NULL,'23.125.207.55',0,'available',NULL,'2025-09-04 04:58:46',NULL),(57,1,NULL,NULL,NULL,NULL,'23.125.207.56',0,'available',NULL,'2025-09-04 04:58:46',NULL),(58,1,NULL,NULL,NULL,NULL,'23.125.207.57',0,'available',NULL,'2025-09-04 04:58:46',NULL),(59,1,NULL,NULL,NULL,NULL,'23.125.207.58',0,'available',NULL,'2025-09-04 04:58:46',NULL),(60,1,NULL,NULL,NULL,NULL,'23.125.207.59',0,'available',NULL,'2025-09-04 04:58:46',NULL),(61,1,NULL,NULL,NULL,NULL,'23.125.207.60',0,'available',NULL,'2025-09-04 04:58:46',NULL),(62,1,NULL,NULL,NULL,NULL,'23.125.207.61',0,'available',NULL,'2025-09-04 04:58:46',NULL),(63,1,NULL,NULL,NULL,NULL,'23.125.207.62',0,'available',NULL,'2025-09-04 04:58:46',NULL),(64,1,NULL,NULL,NULL,NULL,'23.125.207.63',0,'available',NULL,'2025-09-04 04:58:46',NULL),(65,1,NULL,NULL,NULL,NULL,'23.125.207.64',0,'available',NULL,'2025-09-04 04:58:46',NULL),(66,1,NULL,NULL,NULL,NULL,'23.125.207.65',0,'available',NULL,'2025-09-04 04:58:46',NULL),(67,1,NULL,NULL,NULL,NULL,'23.125.207.66',0,'available',NULL,'2025-09-04 04:58:46',NULL),(68,1,NULL,NULL,NULL,NULL,'23.125.207.67',0,'available',NULL,'2025-09-04 04:58:46',NULL),(69,1,NULL,NULL,NULL,NULL,'23.125.207.68',0,'available',NULL,'2025-09-04 04:58:46',NULL),(70,1,NULL,NULL,NULL,NULL,'23.125.207.69',0,'available',NULL,'2025-09-04 04:58:46',NULL),(71,1,NULL,NULL,NULL,NULL,'23.125.207.70',0,'available',NULL,'2025-09-04 04:58:46',NULL),(72,1,NULL,NULL,NULL,NULL,'23.125.207.71',0,'available',NULL,'2025-09-04 04:58:46',NULL),(73,1,NULL,NULL,NULL,NULL,'23.125.207.72',0,'available',NULL,'2025-09-04 04:58:46',NULL),(74,1,NULL,NULL,NULL,NULL,'23.125.207.73',0,'available',NULL,'2025-09-04 04:58:46',NULL),(75,1,NULL,NULL,NULL,NULL,'23.125.207.74',0,'available',NULL,'2025-09-04 04:58:46',NULL),(76,1,NULL,NULL,NULL,NULL,'23.125.207.75',0,'available',NULL,'2025-09-04 04:58:46',NULL),(77,1,NULL,NULL,NULL,NULL,'23.125.207.76',0,'available',NULL,'2025-09-04 04:58:46',NULL),(78,1,NULL,NULL,NULL,NULL,'23.125.207.77',0,'available',NULL,'2025-09-04 04:58:46',NULL),(79,1,NULL,NULL,NULL,NULL,'23.125.207.78',0,'available',NULL,'2025-09-04 04:58:46',NULL),(80,1,NULL,NULL,NULL,NULL,'23.125.207.79',0,'available',NULL,'2025-09-04 04:58:46',NULL),(81,1,NULL,NULL,NULL,NULL,'23.125.207.80',0,'available',NULL,'2025-09-04 04:58:46',NULL),(82,1,NULL,NULL,NULL,NULL,'23.125.207.81',0,'available',NULL,'2025-09-04 04:58:46',NULL),(83,1,NULL,NULL,NULL,NULL,'23.125.207.82',0,'available',NULL,'2025-09-04 04:58:46',NULL),(84,1,NULL,NULL,NULL,NULL,'23.125.207.83',0,'available',NULL,'2025-09-04 04:58:46',NULL),(85,1,NULL,NULL,NULL,NULL,'23.125.207.84',0,'available',NULL,'2025-09-04 04:58:46',NULL),(86,1,NULL,NULL,NULL,NULL,'23.125.207.85',0,'available',NULL,'2025-09-04 04:58:46',NULL),(87,1,NULL,NULL,NULL,NULL,'23.125.207.86',0,'available',NULL,'2025-09-04 04:58:46',NULL),(88,1,NULL,NULL,NULL,NULL,'23.125.207.87',0,'available',NULL,'2025-09-04 04:58:46',NULL),(89,1,NULL,NULL,NULL,NULL,'23.125.207.88',0,'available',NULL,'2025-09-04 04:58:46',NULL),(90,1,NULL,NULL,NULL,NULL,'23.125.207.89',0,'available',NULL,'2025-09-04 04:58:46',NULL),(91,1,NULL,NULL,NULL,NULL,'23.125.207.90',0,'available',NULL,'2025-09-04 04:58:46',NULL),(92,1,NULL,NULL,NULL,NULL,'23.125.207.91',0,'available',NULL,'2025-09-04 04:58:46',NULL),(93,1,NULL,NULL,NULL,NULL,'23.125.207.92',0,'available',NULL,'2025-09-04 04:58:46',NULL),(94,1,NULL,NULL,NULL,NULL,'23.125.207.93',0,'available',NULL,'2025-09-04 04:58:46',NULL),(95,1,NULL,NULL,NULL,NULL,'23.125.207.94',0,'available',NULL,'2025-09-04 04:58:46',NULL),(96,1,NULL,NULL,NULL,NULL,'23.125.207.95',0,'available',NULL,'2025-09-04 04:58:46',NULL),(97,1,NULL,NULL,NULL,NULL,'23.125.207.96',0,'available',NULL,'2025-09-04 04:58:46',NULL),(98,1,NULL,NULL,NULL,NULL,'23.125.207.97',0,'available',NULL,'2025-09-04 04:58:46',NULL),(99,1,NULL,NULL,NULL,NULL,'23.125.207.98',0,'available',NULL,'2025-09-04 04:58:46',NULL),(100,1,NULL,NULL,NULL,NULL,'23.125.207.99',0,'available',NULL,'2025-09-04 04:58:46',NULL),(101,1,NULL,NULL,NULL,NULL,'23.125.207.100',0,'available',NULL,'2025-09-04 04:58:46',NULL),(102,1,NULL,NULL,NULL,NULL,'23.125.207.101',0,'available',NULL,'2025-09-04 04:58:46',NULL),(103,1,NULL,NULL,NULL,NULL,'23.125.207.102',0,'available',NULL,'2025-09-04 04:58:46',NULL),(104,1,NULL,NULL,NULL,NULL,'23.125.207.103',0,'available',NULL,'2025-09-04 04:58:46',NULL),(105,1,NULL,NULL,NULL,NULL,'23.125.207.104',0,'available',NULL,'2025-09-04 04:58:46',NULL),(106,1,NULL,NULL,NULL,NULL,'23.125.207.105',0,'available',NULL,'2025-09-04 04:58:46',NULL),(107,1,NULL,NULL,NULL,NULL,'23.125.207.106',0,'available',NULL,'2025-09-04 04:58:46',NULL),(108,1,NULL,NULL,NULL,NULL,'23.125.207.107',0,'available',NULL,'2025-09-04 04:58:46',NULL),(109,1,NULL,NULL,NULL,NULL,'23.125.207.108',0,'available',NULL,'2025-09-04 04:58:46',NULL),(110,1,NULL,NULL,NULL,NULL,'23.125.207.109',0,'available',NULL,'2025-09-04 04:58:46',NULL),(111,1,NULL,NULL,NULL,NULL,'23.125.207.110',0,'available',NULL,'2025-09-04 04:58:46',NULL),(112,1,NULL,NULL,NULL,NULL,'23.125.207.111',0,'available',NULL,'2025-09-04 04:58:46',NULL),(113,1,NULL,NULL,NULL,NULL,'23.125.207.112',0,'available',NULL,'2025-09-04 04:58:46',NULL),(114,1,NULL,NULL,NULL,NULL,'23.125.207.113',0,'available',NULL,'2025-09-04 04:58:46',NULL),(115,1,NULL,NULL,NULL,NULL,'23.125.207.114',0,'available',NULL,'2025-09-04 04:58:46',NULL),(116,1,NULL,NULL,NULL,NULL,'23.125.207.115',0,'available',NULL,'2025-09-04 04:58:46',NULL),(117,1,NULL,NULL,NULL,NULL,'23.125.207.116',0,'available',NULL,'2025-09-04 04:58:46',NULL),(118,1,NULL,NULL,NULL,NULL,'23.125.207.117',0,'available',NULL,'2025-09-04 04:58:46',NULL),(119,1,NULL,NULL,NULL,NULL,'23.125.207.118',0,'available',NULL,'2025-09-04 04:58:46',NULL),(120,1,NULL,NULL,NULL,NULL,'23.125.207.119',0,'available',NULL,'2025-09-04 04:58:46',NULL),(121,1,NULL,NULL,NULL,NULL,'23.125.207.120',0,'available',NULL,'2025-09-04 04:58:46',NULL),(122,1,NULL,NULL,NULL,NULL,'23.125.207.121',0,'available',NULL,'2025-09-04 04:58:46',NULL),(123,1,NULL,NULL,NULL,NULL,'23.125.207.122',0,'available',NULL,'2025-09-04 04:58:46',NULL),(124,1,NULL,NULL,NULL,NULL,'23.125.207.123',0,'available',NULL,'2025-09-04 04:58:46',NULL),(125,1,NULL,NULL,NULL,NULL,'23.125.207.124',0,'available',NULL,'2025-09-04 04:58:46',NULL),(126,1,NULL,NULL,NULL,NULL,'23.125.207.125',0,'available',NULL,'2025-09-04 04:58:46',NULL),(127,1,NULL,NULL,NULL,NULL,'23.125.207.126',0,'available',NULL,'2025-09-04 04:58:46',NULL),(128,1,NULL,NULL,NULL,NULL,'23.125.207.127',0,'available',NULL,'2025-09-04 04:58:46',NULL),(129,1,NULL,NULL,NULL,NULL,'23.125.207.128',0,'available',NULL,'2025-09-04 04:58:46',NULL),(130,1,NULL,NULL,NULL,NULL,'23.125.207.129',0,'available',NULL,'2025-09-04 04:58:46',NULL),(131,1,NULL,NULL,NULL,NULL,'23.125.207.130',0,'available',NULL,'2025-09-04 04:58:46',NULL),(132,1,NULL,NULL,NULL,NULL,'23.125.207.131',0,'available',NULL,'2025-09-04 04:58:46',NULL),(133,1,NULL,NULL,NULL,NULL,'23.125.207.132',0,'available',NULL,'2025-09-04 04:58:46',NULL),(134,1,NULL,NULL,NULL,NULL,'23.125.207.133',0,'available',NULL,'2025-09-04 04:58:46',NULL),(135,1,NULL,NULL,NULL,NULL,'23.125.207.134',0,'available',NULL,'2025-09-04 04:58:46',NULL),(136,1,NULL,NULL,NULL,NULL,'23.125.207.135',0,'available',NULL,'2025-09-04 04:58:46',NULL),(137,1,NULL,NULL,NULL,NULL,'23.125.207.136',0,'available',NULL,'2025-09-04 04:58:46',NULL),(138,1,NULL,NULL,NULL,NULL,'23.125.207.137',0,'available',NULL,'2025-09-04 04:58:46',NULL),(139,1,NULL,NULL,NULL,NULL,'23.125.207.138',0,'available',NULL,'2025-09-04 04:58:46',NULL),(140,1,NULL,NULL,NULL,NULL,'23.125.207.139',0,'available',NULL,'2025-09-04 04:58:46',NULL),(141,1,NULL,NULL,NULL,NULL,'23.125.207.140',0,'available',NULL,'2025-09-04 04:58:46',NULL),(142,1,NULL,NULL,NULL,NULL,'23.125.207.141',0,'available',NULL,'2025-09-04 04:58:46',NULL),(143,1,NULL,NULL,NULL,NULL,'23.125.207.142',0,'available',NULL,'2025-09-04 04:58:46',NULL),(144,1,NULL,NULL,NULL,NULL,'23.125.207.143',0,'available',NULL,'2025-09-04 04:58:46',NULL),(145,1,NULL,NULL,NULL,NULL,'23.125.207.144',0,'available',NULL,'2025-09-04 04:58:46',NULL),(146,1,NULL,NULL,NULL,NULL,'23.125.207.145',0,'available',NULL,'2025-09-04 04:58:46',NULL),(147,1,NULL,NULL,NULL,NULL,'23.125.207.146',0,'available',NULL,'2025-09-04 04:58:46',NULL),(148,1,NULL,NULL,NULL,NULL,'23.125.207.147',0,'available',NULL,'2025-09-04 04:58:46',NULL),(149,1,NULL,NULL,NULL,NULL,'23.125.207.148',0,'available',NULL,'2025-09-04 04:58:46',NULL),(150,1,NULL,NULL,NULL,NULL,'23.125.207.149',0,'available',NULL,'2025-09-04 04:58:46',NULL),(151,1,NULL,NULL,NULL,NULL,'23.125.207.150',0,'available',NULL,'2025-09-04 04:58:46',NULL),(152,1,NULL,NULL,NULL,NULL,'23.125.207.151',0,'available',NULL,'2025-09-04 04:58:46',NULL),(153,1,NULL,NULL,NULL,NULL,'23.125.207.152',0,'available',NULL,'2025-09-04 04:58:46',NULL),(154,1,NULL,NULL,NULL,NULL,'23.125.207.153',0,'available',NULL,'2025-09-04 04:58:46',NULL),(155,1,NULL,NULL,NULL,NULL,'23.125.207.154',0,'available',NULL,'2025-09-04 04:58:46',NULL),(156,1,NULL,NULL,NULL,NULL,'23.125.207.155',0,'available',NULL,'2025-09-04 04:58:46',NULL),(157,1,NULL,NULL,NULL,NULL,'23.125.207.156',0,'available',NULL,'2025-09-04 04:58:46',NULL),(158,1,NULL,NULL,NULL,NULL,'23.125.207.157',0,'available',NULL,'2025-09-04 04:58:46',NULL),(159,1,NULL,NULL,NULL,NULL,'23.125.207.158',0,'available',NULL,'2025-09-04 04:58:46',NULL),(160,1,NULL,NULL,NULL,NULL,'23.125.207.159',0,'available',NULL,'2025-09-04 04:58:46',NULL),(161,1,NULL,NULL,NULL,NULL,'23.125.207.160',0,'available',NULL,'2025-09-04 04:58:46',NULL),(162,1,NULL,NULL,NULL,NULL,'23.125.207.161',0,'available',NULL,'2025-09-04 04:58:46',NULL),(163,1,NULL,NULL,NULL,NULL,'23.125.207.162',0,'available',NULL,'2025-09-04 04:58:46',NULL),(164,1,NULL,NULL,NULL,NULL,'23.125.207.163',0,'available',NULL,'2025-09-04 04:58:46',NULL),(165,1,NULL,NULL,NULL,NULL,'23.125.207.164',0,'available',NULL,'2025-09-04 04:58:46',NULL),(166,1,NULL,NULL,NULL,NULL,'23.125.207.165',0,'available',NULL,'2025-09-04 04:58:46',NULL),(167,1,NULL,NULL,NULL,NULL,'23.125.207.166',0,'available',NULL,'2025-09-04 04:58:46',NULL),(168,1,NULL,NULL,NULL,NULL,'23.125.207.167',0,'available',NULL,'2025-09-04 04:58:46',NULL),(169,1,NULL,NULL,NULL,NULL,'23.125.207.168',0,'available',NULL,'2025-09-04 04:58:46',NULL),(170,1,NULL,NULL,NULL,NULL,'23.125.207.169',0,'available',NULL,'2025-09-04 04:58:46',NULL),(171,1,NULL,NULL,NULL,NULL,'23.125.207.170',0,'available',NULL,'2025-09-04 04:58:46',NULL),(172,1,NULL,NULL,NULL,NULL,'23.125.207.171',0,'available',NULL,'2025-09-04 04:58:46',NULL),(173,1,NULL,NULL,NULL,NULL,'23.125.207.172',0,'available',NULL,'2025-09-04 04:58:46',NULL),(174,1,NULL,NULL,NULL,NULL,'23.125.207.173',0,'available',NULL,'2025-09-04 04:58:46',NULL),(175,1,NULL,NULL,NULL,NULL,'23.125.207.174',0,'available',NULL,'2025-09-04 04:58:46',NULL),(176,1,NULL,NULL,NULL,NULL,'23.125.207.175',0,'available',NULL,'2025-09-04 04:58:46',NULL),(177,1,NULL,NULL,NULL,NULL,'23.125.207.176',0,'available',NULL,'2025-09-04 04:58:46',NULL),(178,1,NULL,NULL,NULL,NULL,'23.125.207.177',0,'available',NULL,'2025-09-04 04:58:46',NULL),(179,1,NULL,NULL,NULL,NULL,'23.125.207.178',0,'available',NULL,'2025-09-04 04:58:46',NULL),(180,1,NULL,NULL,NULL,NULL,'23.125.207.179',0,'available',NULL,'2025-09-04 04:58:46',NULL),(181,1,NULL,NULL,NULL,NULL,'23.125.207.180',0,'available',NULL,'2025-09-04 04:58:46',NULL),(182,1,NULL,NULL,NULL,NULL,'23.125.207.181',0,'available',NULL,'2025-09-04 04:58:46',NULL),(183,1,NULL,NULL,NULL,NULL,'23.125.207.182',0,'available',NULL,'2025-09-04 04:58:46',NULL),(184,1,NULL,NULL,NULL,NULL,'23.125.207.183',0,'available',NULL,'2025-09-04 04:58:46',NULL),(185,1,NULL,NULL,NULL,NULL,'23.125.207.184',0,'available',NULL,'2025-09-04 04:58:46',NULL),(186,1,NULL,NULL,NULL,NULL,'23.125.207.185',0,'available',NULL,'2025-09-04 04:58:46',NULL),(187,1,NULL,NULL,NULL,NULL,'23.125.207.186',0,'available',NULL,'2025-09-04 04:58:46',NULL),(188,1,NULL,NULL,NULL,NULL,'23.125.207.187',0,'available',NULL,'2025-09-04 04:58:46',NULL),(189,1,NULL,NULL,NULL,NULL,'23.125.207.188',0,'available',NULL,'2025-09-04 04:58:46',NULL),(190,1,NULL,NULL,NULL,NULL,'23.125.207.189',0,'available',NULL,'2025-09-04 04:58:46',NULL),(191,1,NULL,NULL,NULL,NULL,'23.125.207.190',0,'available',NULL,'2025-09-04 04:58:46',NULL),(192,1,NULL,NULL,NULL,NULL,'23.125.207.191',0,'available',NULL,'2025-09-04 04:58:46',NULL),(193,1,NULL,NULL,NULL,NULL,'23.125.207.192',0,'available',NULL,'2025-09-04 04:58:46',NULL),(194,1,NULL,NULL,NULL,NULL,'23.125.207.193',0,'available',NULL,'2025-09-04 04:58:46',NULL),(195,1,NULL,NULL,NULL,NULL,'23.125.207.194',0,'available',NULL,'2025-09-04 04:58:46',NULL),(196,1,NULL,NULL,NULL,NULL,'23.125.207.195',0,'available',NULL,'2025-09-04 04:58:46',NULL),(197,1,NULL,NULL,NULL,NULL,'23.125.207.196',0,'available',NULL,'2025-09-04 04:58:46',NULL),(198,1,NULL,NULL,NULL,NULL,'23.125.207.197',0,'available',NULL,'2025-09-04 04:58:46',NULL),(199,1,NULL,NULL,NULL,NULL,'23.125.207.198',0,'available',NULL,'2025-09-04 04:58:46',NULL),(200,1,NULL,NULL,NULL,NULL,'23.125.207.199',0,'available',NULL,'2025-09-04 04:58:46',NULL),(201,1,NULL,NULL,NULL,NULL,'23.125.207.200',0,'available',NULL,'2025-09-04 04:58:46',NULL),(202,1,NULL,NULL,NULL,NULL,'23.125.207.201',0,'available',NULL,'2025-09-04 04:58:46',NULL),(203,1,NULL,NULL,NULL,NULL,'23.125.207.202',0,'available',NULL,'2025-09-04 04:58:46',NULL),(204,1,NULL,NULL,NULL,NULL,'23.125.207.203',0,'available',NULL,'2025-09-04 04:58:46',NULL),(205,1,NULL,NULL,NULL,NULL,'23.125.207.204',0,'available',NULL,'2025-09-04 04:58:46',NULL),(206,1,NULL,NULL,NULL,NULL,'23.125.207.205',0,'available',NULL,'2025-09-04 04:58:46',NULL),(207,1,NULL,NULL,NULL,NULL,'23.125.207.206',0,'available',NULL,'2025-09-04 04:58:46',NULL),(208,1,NULL,NULL,NULL,NULL,'23.125.207.207',0,'available',NULL,'2025-09-04 04:58:46',NULL),(209,1,NULL,NULL,NULL,NULL,'23.125.207.208',0,'available',NULL,'2025-09-04 04:58:46',NULL),(210,1,NULL,NULL,NULL,NULL,'23.125.207.209',0,'available',NULL,'2025-09-04 04:58:46',NULL),(211,1,NULL,NULL,NULL,NULL,'23.125.207.210',0,'available',NULL,'2025-09-04 04:58:46',NULL),(212,1,NULL,NULL,NULL,NULL,'23.125.207.211',0,'available',NULL,'2025-09-04 04:58:46',NULL),(213,1,NULL,NULL,NULL,NULL,'23.125.207.212',0,'available',NULL,'2025-09-04 04:58:46',NULL),(214,1,NULL,NULL,NULL,NULL,'23.125.207.213',0,'available',NULL,'2025-09-04 04:58:46',NULL),(215,1,NULL,NULL,NULL,NULL,'23.125.207.214',0,'available',NULL,'2025-09-04 04:58:46',NULL),(216,1,NULL,NULL,NULL,NULL,'23.125.207.215',0,'available',NULL,'2025-09-04 04:58:46',NULL),(217,1,NULL,NULL,NULL,NULL,'23.125.207.216',0,'available',NULL,'2025-09-04 04:58:46',NULL),(218,1,NULL,NULL,NULL,NULL,'23.125.207.217',0,'available',NULL,'2025-09-04 04:58:46',NULL),(219,1,NULL,NULL,NULL,NULL,'23.125.207.218',0,'available',NULL,'2025-09-04 04:58:46',NULL),(220,1,NULL,NULL,NULL,NULL,'23.125.207.219',0,'available',NULL,'2025-09-04 04:58:46',NULL),(221,1,NULL,NULL,NULL,NULL,'23.125.207.220',0,'available',NULL,'2025-09-04 04:58:46',NULL),(222,1,NULL,NULL,NULL,NULL,'23.125.207.221',0,'available',NULL,'2025-09-04 04:58:46',NULL),(223,1,NULL,NULL,NULL,NULL,'23.125.207.222',0,'available',NULL,'2025-09-04 04:58:46',NULL),(224,1,NULL,NULL,NULL,NULL,'23.125.207.223',0,'available',NULL,'2025-09-04 04:58:46',NULL),(225,1,NULL,NULL,NULL,NULL,'23.125.207.224',0,'available',NULL,'2025-09-04 04:58:46',NULL),(226,1,NULL,NULL,NULL,NULL,'23.125.207.225',0,'available',NULL,'2025-09-04 04:58:46',NULL),(227,1,NULL,NULL,NULL,NULL,'23.125.207.226',0,'available',NULL,'2025-09-04 04:58:46',NULL),(228,1,NULL,NULL,NULL,NULL,'23.125.207.227',0,'available',NULL,'2025-09-04 04:58:46',NULL),(229,1,NULL,NULL,NULL,NULL,'23.125.207.228',0,'available',NULL,'2025-09-04 04:58:46',NULL),(230,1,NULL,NULL,NULL,NULL,'23.125.207.229',0,'available',NULL,'2025-09-04 04:58:46',NULL),(231,1,NULL,NULL,NULL,NULL,'23.125.207.230',0,'available',NULL,'2025-09-04 04:58:46',NULL),(232,1,NULL,NULL,NULL,NULL,'23.125.207.231',0,'available',NULL,'2025-09-04 04:58:46',NULL),(233,1,NULL,NULL,NULL,NULL,'23.125.207.232',0,'available',NULL,'2025-09-04 04:58:46',NULL),(234,1,NULL,NULL,NULL,NULL,'23.125.207.233',0,'available',NULL,'2025-09-04 04:58:46',NULL),(235,1,NULL,NULL,NULL,NULL,'23.125.207.234',0,'available',NULL,'2025-09-04 04:58:46',NULL),(236,1,NULL,NULL,NULL,NULL,'23.125.207.235',0,'available',NULL,'2025-09-04 04:58:46',NULL),(237,1,NULL,NULL,NULL,NULL,'23.125.207.236',0,'available',NULL,'2025-09-04 04:58:46',NULL),(238,1,NULL,NULL,NULL,NULL,'23.125.207.237',0,'available',NULL,'2025-09-04 04:58:46',NULL),(239,1,NULL,NULL,NULL,NULL,'23.125.207.238',0,'available',NULL,'2025-09-04 04:58:46',NULL),(240,1,NULL,NULL,NULL,NULL,'23.125.207.239',0,'available',NULL,'2025-09-04 04:58:46',NULL),(241,1,NULL,NULL,NULL,NULL,'23.125.207.240',0,'available',NULL,'2025-09-04 04:58:46',NULL),(242,1,NULL,NULL,NULL,NULL,'23.125.207.241',0,'available',NULL,'2025-09-04 04:58:46',NULL),(243,1,NULL,NULL,NULL,NULL,'23.125.207.242',0,'available',NULL,'2025-09-04 04:58:46',NULL),(244,1,NULL,NULL,NULL,NULL,'23.125.207.243',0,'available',NULL,'2025-09-04 04:58:46',NULL),(245,1,NULL,NULL,NULL,NULL,'23.125.207.244',0,'available',NULL,'2025-09-04 04:58:46',NULL),(246,1,NULL,NULL,NULL,NULL,'23.125.207.245',0,'available',NULL,'2025-09-04 04:58:46',NULL),(247,1,NULL,NULL,NULL,NULL,'23.125.207.246',0,'available',NULL,'2025-09-04 04:58:46',NULL),(248,1,NULL,NULL,NULL,NULL,'23.125.207.247',0,'available',NULL,'2025-09-04 04:58:46',NULL),(249,1,NULL,NULL,NULL,NULL,'23.125.207.248',0,'available',NULL,'2025-09-04 04:58:46',NULL),(250,1,NULL,NULL,NULL,NULL,'23.125.207.249',0,'available',NULL,'2025-09-04 04:58:46',NULL),(251,1,NULL,NULL,NULL,NULL,'23.125.207.250',0,'available',NULL,'2025-09-04 04:58:46',NULL),(252,1,NULL,NULL,NULL,NULL,'23.125.207.251',0,'available',NULL,'2025-09-04 04:58:46',NULL),(253,1,NULL,NULL,NULL,NULL,'23.125.207.252',0,'available',NULL,'2025-09-04 04:58:46',NULL),(254,1,NULL,NULL,NULL,NULL,'23.125.207.253',0,'available',NULL,'2025-09-04 04:58:46',NULL),(255,1,NULL,NULL,NULL,NULL,'23.125.207.254',0,'available',NULL,'2025-09-04 04:58:46',NULL),(256,1,NULL,NULL,NULL,NULL,'23.125.207.255',0,'available',NULL,'2025-09-04 04:58:46',NULL),(257,2,NULL,NULL,NULL,NULL,'13.220.20.0',0,'available',NULL,'2025-09-04 04:59:12',NULL),(258,2,585,NULL,NULL,NULL,'13.220.20.1',0,'available','2025-09-11 06:15:35','2025-09-04 04:59:12',NULL),(259,2,NULL,NULL,5,12,'13.220.20.2',0,'occupied','2025-09-16 07:48:37','2025-09-04 04:59:12',NULL),(260,2,NULL,NULL,NULL,NULL,'13.220.20.3',0,'available','2025-09-05 11:31:50','2025-09-04 04:59:12',NULL),(261,2,NULL,NULL,NULL,NULL,'13.220.20.4',0,'available',NULL,'2025-09-04 04:59:12',NULL),(262,2,NULL,NULL,NULL,NULL,'13.220.20.5',0,'available',NULL,'2025-09-04 04:59:12',NULL),(263,2,NULL,NULL,NULL,NULL,'13.220.20.6',0,'available',NULL,'2025-09-04 04:59:12',NULL),(264,2,NULL,NULL,NULL,NULL,'13.220.20.7',0,'available',NULL,'2025-09-04 04:59:12',NULL),(265,2,NULL,NULL,NULL,NULL,'13.220.20.8',0,'available',NULL,'2025-09-04 04:59:12',NULL),(266,2,NULL,NULL,NULL,NULL,'13.220.20.9',0,'available',NULL,'2025-09-04 04:59:12',NULL),(267,2,NULL,NULL,NULL,NULL,'13.220.20.10',0,'available',NULL,'2025-09-04 04:59:12',NULL),(268,2,NULL,NULL,NULL,NULL,'13.220.20.11',0,'available',NULL,'2025-09-04 04:59:12',NULL),(269,2,NULL,NULL,NULL,NULL,'13.220.20.12',0,'available',NULL,'2025-09-04 04:59:12',NULL),(270,2,NULL,NULL,NULL,NULL,'13.220.20.13',0,'available',NULL,'2025-09-04 04:59:12',NULL),(271,2,NULL,NULL,NULL,NULL,'13.220.20.14',0,'available',NULL,'2025-09-04 04:59:12',NULL),(272,2,NULL,NULL,NULL,NULL,'13.220.20.15',0,'available',NULL,'2025-09-04 04:59:12',NULL),(273,2,NULL,NULL,NULL,NULL,'13.220.20.16',0,'available',NULL,'2025-09-04 04:59:12',NULL),(274,2,NULL,NULL,NULL,NULL,'13.220.20.17',0,'available',NULL,'2025-09-04 04:59:12',NULL),(275,2,NULL,NULL,NULL,NULL,'13.220.20.18',0,'available',NULL,'2025-09-04 04:59:12',NULL),(276,2,NULL,NULL,NULL,NULL,'13.220.20.19',0,'available',NULL,'2025-09-04 04:59:12',NULL),(277,2,NULL,NULL,NULL,NULL,'13.220.20.20',0,'available',NULL,'2025-09-04 04:59:12',NULL),(278,2,NULL,NULL,NULL,NULL,'13.220.20.21',0,'available',NULL,'2025-09-04 04:59:12',NULL),(279,2,NULL,NULL,NULL,NULL,'13.220.20.22',0,'available',NULL,'2025-09-04 04:59:12',NULL),(280,2,NULL,NULL,NULL,NULL,'13.220.20.23',0,'available',NULL,'2025-09-04 04:59:12',NULL),(281,2,NULL,NULL,NULL,NULL,'13.220.20.24',0,'available',NULL,'2025-09-04 04:59:12',NULL),(282,2,NULL,NULL,NULL,NULL,'13.220.20.25',0,'available',NULL,'2025-09-04 04:59:12',NULL),(283,2,NULL,NULL,NULL,NULL,'13.220.20.26',0,'available',NULL,'2025-09-04 04:59:12',NULL),(284,2,NULL,NULL,NULL,NULL,'13.220.20.27',0,'available',NULL,'2025-09-04 04:59:12',NULL),(285,2,NULL,NULL,NULL,NULL,'13.220.20.28',0,'available',NULL,'2025-09-04 04:59:12',NULL),(286,2,NULL,NULL,NULL,NULL,'13.220.20.29',0,'available',NULL,'2025-09-04 04:59:12',NULL),(287,2,NULL,NULL,NULL,NULL,'13.220.20.30',0,'available',NULL,'2025-09-04 04:59:12',NULL),(288,2,NULL,NULL,NULL,NULL,'13.220.20.31',0,'available',NULL,'2025-09-04 04:59:12',NULL),(289,2,NULL,NULL,NULL,NULL,'13.220.20.32',0,'available',NULL,'2025-09-04 04:59:12',NULL),(290,2,NULL,NULL,NULL,NULL,'13.220.20.33',0,'available',NULL,'2025-09-04 04:59:12',NULL),(291,2,NULL,NULL,NULL,NULL,'13.220.20.34',0,'available',NULL,'2025-09-04 04:59:12',NULL),(292,2,NULL,NULL,NULL,NULL,'13.220.20.35',0,'available',NULL,'2025-09-04 04:59:12',NULL),(293,2,NULL,NULL,NULL,NULL,'13.220.20.36',0,'available',NULL,'2025-09-04 04:59:12',NULL),(294,2,NULL,NULL,NULL,NULL,'13.220.20.37',0,'available',NULL,'2025-09-04 04:59:12',NULL),(295,2,NULL,NULL,NULL,NULL,'13.220.20.38',0,'available',NULL,'2025-09-04 04:59:12',NULL),(296,2,NULL,NULL,NULL,NULL,'13.220.20.39',0,'available',NULL,'2025-09-04 04:59:12',NULL),(297,2,NULL,NULL,NULL,NULL,'13.220.20.40',0,'available',NULL,'2025-09-04 04:59:12',NULL),(298,2,NULL,NULL,NULL,NULL,'13.220.20.41',0,'available',NULL,'2025-09-04 04:59:12',NULL),(299,2,NULL,NULL,NULL,NULL,'13.220.20.42',0,'available',NULL,'2025-09-04 04:59:12',NULL),(300,2,NULL,NULL,NULL,NULL,'13.220.20.43',0,'available',NULL,'2025-09-04 04:59:12',NULL),(301,2,NULL,NULL,NULL,NULL,'13.220.20.44',0,'available',NULL,'2025-09-04 04:59:12',NULL),(302,2,NULL,NULL,NULL,NULL,'13.220.20.45',0,'available',NULL,'2025-09-04 04:59:12',NULL),(303,2,NULL,NULL,NULL,NULL,'13.220.20.46',0,'available',NULL,'2025-09-04 04:59:12',NULL),(304,2,NULL,NULL,NULL,NULL,'13.220.20.47',0,'available',NULL,'2025-09-04 04:59:12',NULL),(305,2,NULL,NULL,NULL,NULL,'13.220.20.48',0,'available',NULL,'2025-09-04 04:59:12',NULL),(306,2,NULL,NULL,NULL,NULL,'13.220.20.49',0,'available',NULL,'2025-09-04 04:59:12',NULL),(307,2,NULL,NULL,NULL,NULL,'13.220.20.50',0,'available',NULL,'2025-09-04 04:59:12',NULL),(308,2,NULL,NULL,NULL,NULL,'13.220.20.51',0,'available',NULL,'2025-09-04 04:59:12',NULL),(309,2,NULL,NULL,NULL,NULL,'13.220.20.52',0,'available',NULL,'2025-09-04 04:59:12',NULL),(310,2,NULL,NULL,NULL,NULL,'13.220.20.53',0,'available',NULL,'2025-09-04 04:59:12',NULL),(311,2,NULL,NULL,NULL,NULL,'13.220.20.54',0,'available',NULL,'2025-09-04 04:59:12',NULL),(312,2,NULL,NULL,NULL,NULL,'13.220.20.55',0,'available',NULL,'2025-09-04 04:59:12',NULL),(313,2,NULL,NULL,NULL,NULL,'13.220.20.56',0,'available',NULL,'2025-09-04 04:59:12',NULL),(314,2,NULL,NULL,NULL,NULL,'13.220.20.57',0,'available',NULL,'2025-09-04 04:59:12',NULL),(315,2,NULL,NULL,NULL,NULL,'13.220.20.58',0,'available',NULL,'2025-09-04 04:59:12',NULL),(316,2,NULL,NULL,NULL,NULL,'13.220.20.59',0,'available',NULL,'2025-09-04 04:59:12',NULL),(317,2,NULL,NULL,NULL,NULL,'13.220.20.60',0,'available',NULL,'2025-09-04 04:59:12',NULL),(318,2,NULL,NULL,NULL,NULL,'13.220.20.61',0,'available',NULL,'2025-09-04 04:59:12',NULL),(319,2,NULL,NULL,NULL,NULL,'13.220.20.62',0,'available',NULL,'2025-09-04 04:59:12',NULL),(320,2,NULL,NULL,NULL,NULL,'13.220.20.63',0,'available',NULL,'2025-09-04 04:59:12',NULL),(321,2,NULL,NULL,NULL,NULL,'13.220.20.64',0,'available',NULL,'2025-09-04 04:59:12',NULL),(322,2,NULL,NULL,NULL,NULL,'13.220.20.65',0,'available',NULL,'2025-09-04 04:59:12',NULL),(323,2,NULL,NULL,NULL,NULL,'13.220.20.66',0,'available',NULL,'2025-09-04 04:59:12',NULL),(324,2,NULL,NULL,NULL,NULL,'13.220.20.67',0,'available',NULL,'2025-09-04 04:59:12',NULL),(325,2,NULL,NULL,NULL,NULL,'13.220.20.68',0,'available',NULL,'2025-09-04 04:59:12',NULL),(326,2,NULL,NULL,NULL,NULL,'13.220.20.69',0,'available',NULL,'2025-09-04 04:59:12',NULL),(327,2,NULL,NULL,NULL,NULL,'13.220.20.70',0,'available',NULL,'2025-09-04 04:59:12',NULL),(328,2,NULL,NULL,NULL,NULL,'13.220.20.71',0,'available',NULL,'2025-09-04 04:59:12',NULL),(329,2,NULL,NULL,NULL,NULL,'13.220.20.72',0,'available',NULL,'2025-09-04 04:59:12',NULL),(330,2,NULL,NULL,NULL,NULL,'13.220.20.73',0,'available',NULL,'2025-09-04 04:59:12',NULL),(331,2,NULL,NULL,NULL,NULL,'13.220.20.74',0,'available',NULL,'2025-09-04 04:59:12',NULL),(332,2,NULL,NULL,NULL,NULL,'13.220.20.75',0,'available',NULL,'2025-09-04 04:59:12',NULL),(333,2,NULL,NULL,NULL,NULL,'13.220.20.76',0,'available',NULL,'2025-09-04 04:59:12',NULL),(334,2,NULL,NULL,NULL,NULL,'13.220.20.77',0,'available',NULL,'2025-09-04 04:59:12',NULL),(335,2,NULL,NULL,NULL,NULL,'13.220.20.78',0,'available',NULL,'2025-09-04 04:59:12',NULL),(336,2,NULL,NULL,NULL,NULL,'13.220.20.79',0,'available',NULL,'2025-09-04 04:59:12',NULL),(337,2,NULL,NULL,NULL,NULL,'13.220.20.80',0,'available',NULL,'2025-09-04 04:59:12',NULL),(338,2,NULL,NULL,NULL,NULL,'13.220.20.81',0,'available',NULL,'2025-09-04 04:59:12',NULL),(339,2,NULL,NULL,NULL,NULL,'13.220.20.82',0,'available',NULL,'2025-09-04 04:59:12',NULL),(340,2,NULL,NULL,NULL,NULL,'13.220.20.83',0,'available',NULL,'2025-09-04 04:59:12',NULL),(341,2,NULL,NULL,NULL,NULL,'13.220.20.84',0,'available',NULL,'2025-09-04 04:59:12',NULL),(342,2,NULL,NULL,NULL,NULL,'13.220.20.85',0,'available',NULL,'2025-09-04 04:59:12',NULL),(343,2,NULL,NULL,NULL,NULL,'13.220.20.86',0,'available',NULL,'2025-09-04 04:59:12',NULL),(344,2,NULL,NULL,NULL,NULL,'13.220.20.87',0,'available',NULL,'2025-09-04 04:59:12',NULL),(345,2,NULL,NULL,NULL,NULL,'13.220.20.88',0,'available',NULL,'2025-09-04 04:59:12',NULL),(346,2,NULL,NULL,NULL,NULL,'13.220.20.89',0,'available',NULL,'2025-09-04 04:59:12',NULL),(347,2,NULL,NULL,NULL,NULL,'13.220.20.90',0,'available',NULL,'2025-09-04 04:59:12',NULL),(348,2,NULL,NULL,NULL,NULL,'13.220.20.91',0,'available',NULL,'2025-09-04 04:59:12',NULL),(349,2,NULL,NULL,NULL,NULL,'13.220.20.92',0,'available',NULL,'2025-09-04 04:59:12',NULL),(350,2,NULL,NULL,NULL,NULL,'13.220.20.93',0,'available',NULL,'2025-09-04 04:59:12',NULL),(351,2,NULL,NULL,NULL,NULL,'13.220.20.94',0,'available',NULL,'2025-09-04 04:59:12',NULL),(352,2,NULL,NULL,NULL,NULL,'13.220.20.95',0,'available',NULL,'2025-09-04 04:59:12',NULL),(353,2,NULL,NULL,NULL,NULL,'13.220.20.96',0,'available',NULL,'2025-09-04 04:59:12',NULL),(354,2,NULL,NULL,NULL,NULL,'13.220.20.97',0,'available',NULL,'2025-09-04 04:59:12',NULL),(355,2,NULL,NULL,NULL,NULL,'13.220.20.98',0,'available',NULL,'2025-09-04 04:59:12',NULL),(356,2,NULL,NULL,NULL,NULL,'13.220.20.99',0,'available',NULL,'2025-09-04 04:59:12',NULL),(357,2,NULL,NULL,NULL,NULL,'13.220.20.100',0,'available',NULL,'2025-09-04 04:59:12',NULL),(358,2,NULL,NULL,NULL,NULL,'13.220.20.101',0,'available',NULL,'2025-09-04 04:59:12',NULL),(359,2,NULL,NULL,NULL,NULL,'13.220.20.102',0,'available',NULL,'2025-09-04 04:59:12',NULL),(360,2,NULL,NULL,NULL,NULL,'13.220.20.103',0,'available',NULL,'2025-09-04 04:59:12',NULL),(361,2,NULL,NULL,NULL,NULL,'13.220.20.104',0,'available',NULL,'2025-09-04 04:59:12',NULL),(362,2,NULL,NULL,NULL,NULL,'13.220.20.105',0,'available',NULL,'2025-09-04 04:59:12',NULL),(363,2,NULL,NULL,NULL,NULL,'13.220.20.106',0,'available',NULL,'2025-09-04 04:59:12',NULL),(364,2,NULL,NULL,NULL,NULL,'13.220.20.107',0,'available',NULL,'2025-09-04 04:59:12',NULL),(365,2,NULL,NULL,NULL,NULL,'13.220.20.108',0,'available',NULL,'2025-09-04 04:59:12',NULL),(366,2,NULL,NULL,NULL,NULL,'13.220.20.109',0,'available',NULL,'2025-09-04 04:59:12',NULL),(367,2,NULL,NULL,NULL,NULL,'13.220.20.110',0,'available',NULL,'2025-09-04 04:59:12',NULL),(368,2,NULL,NULL,NULL,NULL,'13.220.20.111',0,'available',NULL,'2025-09-04 04:59:12',NULL),(369,2,NULL,NULL,NULL,NULL,'13.220.20.112',0,'available',NULL,'2025-09-04 04:59:12',NULL),(370,2,NULL,NULL,NULL,NULL,'13.220.20.113',0,'available',NULL,'2025-09-04 04:59:12',NULL),(371,2,NULL,NULL,NULL,NULL,'13.220.20.114',0,'available',NULL,'2025-09-04 04:59:12',NULL),(372,2,NULL,NULL,NULL,NULL,'13.220.20.115',0,'available',NULL,'2025-09-04 04:59:12',NULL),(373,2,NULL,NULL,NULL,NULL,'13.220.20.116',0,'available',NULL,'2025-09-04 04:59:12',NULL),(374,2,NULL,NULL,NULL,NULL,'13.220.20.117',0,'available',NULL,'2025-09-04 04:59:12',NULL),(375,2,NULL,NULL,NULL,NULL,'13.220.20.118',0,'available',NULL,'2025-09-04 04:59:12',NULL),(376,2,NULL,NULL,NULL,NULL,'13.220.20.119',0,'available',NULL,'2025-09-04 04:59:12',NULL),(377,2,NULL,NULL,NULL,NULL,'13.220.20.120',0,'available',NULL,'2025-09-04 04:59:12',NULL),(378,2,NULL,NULL,NULL,NULL,'13.220.20.121',0,'available',NULL,'2025-09-04 04:59:12',NULL),(379,2,NULL,NULL,NULL,NULL,'13.220.20.122',0,'available',NULL,'2025-09-04 04:59:12',NULL),(380,2,NULL,NULL,NULL,NULL,'13.220.20.123',0,'available',NULL,'2025-09-04 04:59:12',NULL),(381,2,NULL,NULL,NULL,NULL,'13.220.20.124',0,'available',NULL,'2025-09-04 04:59:12',NULL),(382,2,NULL,NULL,NULL,NULL,'13.220.20.125',0,'available',NULL,'2025-09-04 04:59:12',NULL),(383,2,NULL,NULL,NULL,NULL,'13.220.20.126',0,'available',NULL,'2025-09-04 04:59:12',NULL),(384,2,NULL,NULL,NULL,NULL,'13.220.20.127',0,'available',NULL,'2025-09-04 04:59:12',NULL),(385,2,NULL,NULL,NULL,NULL,'13.220.20.128',0,'available',NULL,'2025-09-04 04:59:12',NULL),(386,2,NULL,NULL,NULL,NULL,'13.220.20.129',0,'available',NULL,'2025-09-04 04:59:12',NULL),(387,2,NULL,NULL,NULL,NULL,'13.220.20.130',0,'available',NULL,'2025-09-04 04:59:12',NULL),(388,2,NULL,NULL,NULL,NULL,'13.220.20.131',0,'available',NULL,'2025-09-04 04:59:12',NULL),(389,2,NULL,NULL,NULL,NULL,'13.220.20.132',0,'available',NULL,'2025-09-04 04:59:12',NULL),(390,2,NULL,NULL,NULL,NULL,'13.220.20.133',0,'available',NULL,'2025-09-04 04:59:12',NULL),(391,2,NULL,NULL,NULL,NULL,'13.220.20.134',0,'available',NULL,'2025-09-04 04:59:12',NULL),(392,2,NULL,NULL,NULL,NULL,'13.220.20.135',0,'available',NULL,'2025-09-04 04:59:12',NULL),(393,2,NULL,NULL,NULL,NULL,'13.220.20.136',0,'available',NULL,'2025-09-04 04:59:12',NULL),(394,2,NULL,NULL,NULL,NULL,'13.220.20.137',0,'available',NULL,'2025-09-04 04:59:12',NULL),(395,2,NULL,NULL,NULL,NULL,'13.220.20.138',0,'available',NULL,'2025-09-04 04:59:12',NULL),(396,2,NULL,NULL,NULL,NULL,'13.220.20.139',0,'available',NULL,'2025-09-04 04:59:12',NULL),(397,2,NULL,NULL,NULL,NULL,'13.220.20.140',0,'available',NULL,'2025-09-04 04:59:12',NULL),(398,2,NULL,NULL,NULL,NULL,'13.220.20.141',0,'available',NULL,'2025-09-04 04:59:12',NULL),(399,2,NULL,NULL,NULL,NULL,'13.220.20.142',0,'available',NULL,'2025-09-04 04:59:12',NULL),(400,2,NULL,NULL,NULL,NULL,'13.220.20.143',0,'available',NULL,'2025-09-04 04:59:12',NULL),(401,2,NULL,NULL,NULL,NULL,'13.220.20.144',0,'available',NULL,'2025-09-04 04:59:12',NULL),(402,2,NULL,NULL,NULL,NULL,'13.220.20.145',0,'available',NULL,'2025-09-04 04:59:12',NULL),(403,2,NULL,NULL,NULL,NULL,'13.220.20.146',0,'available',NULL,'2025-09-04 04:59:12',NULL),(404,2,NULL,NULL,NULL,NULL,'13.220.20.147',0,'available',NULL,'2025-09-04 04:59:12',NULL),(405,2,NULL,NULL,NULL,NULL,'13.220.20.148',0,'available',NULL,'2025-09-04 04:59:12',NULL),(406,2,NULL,NULL,NULL,NULL,'13.220.20.149',0,'available',NULL,'2025-09-04 04:59:12',NULL),(407,2,NULL,NULL,NULL,NULL,'13.220.20.150',0,'available',NULL,'2025-09-04 04:59:12',NULL),(408,2,NULL,NULL,NULL,NULL,'13.220.20.151',0,'available',NULL,'2025-09-04 04:59:12',NULL),(409,2,NULL,NULL,NULL,NULL,'13.220.20.152',0,'available',NULL,'2025-09-04 04:59:12',NULL),(410,2,NULL,NULL,NULL,NULL,'13.220.20.153',0,'available',NULL,'2025-09-04 04:59:12',NULL),(411,2,NULL,NULL,NULL,NULL,'13.220.20.154',0,'available',NULL,'2025-09-04 04:59:12',NULL),(412,2,NULL,NULL,NULL,NULL,'13.220.20.155',0,'available',NULL,'2025-09-04 04:59:12',NULL),(413,2,NULL,NULL,NULL,NULL,'13.220.20.156',0,'available',NULL,'2025-09-04 04:59:12',NULL),(414,2,NULL,NULL,NULL,NULL,'13.220.20.157',0,'available',NULL,'2025-09-04 04:59:12',NULL),(415,2,NULL,NULL,NULL,NULL,'13.220.20.158',0,'available',NULL,'2025-09-04 04:59:12',NULL),(416,2,NULL,NULL,NULL,NULL,'13.220.20.159',0,'available',NULL,'2025-09-04 04:59:12',NULL),(417,2,NULL,NULL,NULL,NULL,'13.220.20.160',0,'available',NULL,'2025-09-04 04:59:12',NULL),(418,2,NULL,NULL,NULL,NULL,'13.220.20.161',0,'available',NULL,'2025-09-04 04:59:12',NULL),(419,2,NULL,NULL,NULL,NULL,'13.220.20.162',0,'available',NULL,'2025-09-04 04:59:12',NULL),(420,2,NULL,NULL,NULL,NULL,'13.220.20.163',0,'available',NULL,'2025-09-04 04:59:12',NULL),(421,2,NULL,NULL,NULL,NULL,'13.220.20.164',0,'available',NULL,'2025-09-04 04:59:12',NULL),(422,2,NULL,NULL,NULL,NULL,'13.220.20.165',0,'available',NULL,'2025-09-04 04:59:12',NULL),(423,2,NULL,NULL,NULL,NULL,'13.220.20.166',0,'available',NULL,'2025-09-04 04:59:12',NULL),(424,2,NULL,NULL,NULL,NULL,'13.220.20.167',0,'available',NULL,'2025-09-04 04:59:12',NULL),(425,2,NULL,NULL,NULL,NULL,'13.220.20.168',0,'available',NULL,'2025-09-04 04:59:12',NULL),(426,2,NULL,NULL,NULL,NULL,'13.220.20.169',0,'available',NULL,'2025-09-04 04:59:12',NULL),(427,2,NULL,NULL,NULL,NULL,'13.220.20.170',0,'available',NULL,'2025-09-04 04:59:12',NULL),(428,2,NULL,NULL,NULL,NULL,'13.220.20.171',0,'available',NULL,'2025-09-04 04:59:12',NULL),(429,2,NULL,NULL,NULL,NULL,'13.220.20.172',0,'available',NULL,'2025-09-04 04:59:12',NULL),(430,2,NULL,NULL,NULL,NULL,'13.220.20.173',0,'available',NULL,'2025-09-04 04:59:12',NULL),(431,2,NULL,NULL,NULL,NULL,'13.220.20.174',0,'available',NULL,'2025-09-04 04:59:12',NULL),(432,2,NULL,NULL,NULL,NULL,'13.220.20.175',0,'available',NULL,'2025-09-04 04:59:12',NULL),(433,2,NULL,NULL,NULL,NULL,'13.220.20.176',0,'available',NULL,'2025-09-04 04:59:12',NULL),(434,2,NULL,NULL,NULL,NULL,'13.220.20.177',0,'available',NULL,'2025-09-04 04:59:12',NULL),(435,2,NULL,NULL,NULL,NULL,'13.220.20.178',0,'available',NULL,'2025-09-04 04:59:12',NULL),(436,2,NULL,NULL,NULL,NULL,'13.220.20.179',0,'available',NULL,'2025-09-04 04:59:12',NULL),(437,2,NULL,NULL,NULL,NULL,'13.220.20.180',0,'available',NULL,'2025-09-04 04:59:12',NULL),(438,2,NULL,NULL,NULL,NULL,'13.220.20.181',0,'available',NULL,'2025-09-04 04:59:12',NULL),(439,2,NULL,NULL,NULL,NULL,'13.220.20.182',0,'available',NULL,'2025-09-04 04:59:12',NULL),(440,2,NULL,NULL,NULL,NULL,'13.220.20.183',0,'available',NULL,'2025-09-04 04:59:12',NULL),(441,2,NULL,NULL,NULL,NULL,'13.220.20.184',0,'available',NULL,'2025-09-04 04:59:12',NULL),(442,2,NULL,NULL,NULL,NULL,'13.220.20.185',0,'available',NULL,'2025-09-04 04:59:12',NULL),(443,2,NULL,NULL,NULL,NULL,'13.220.20.186',0,'available',NULL,'2025-09-04 04:59:12',NULL),(444,2,NULL,NULL,NULL,NULL,'13.220.20.187',0,'available',NULL,'2025-09-04 04:59:12',NULL),(445,2,NULL,NULL,NULL,NULL,'13.220.20.188',0,'available',NULL,'2025-09-04 04:59:12',NULL),(446,2,NULL,NULL,NULL,NULL,'13.220.20.189',0,'available',NULL,'2025-09-04 04:59:12',NULL),(447,2,NULL,NULL,NULL,NULL,'13.220.20.190',0,'available',NULL,'2025-09-04 04:59:12',NULL),(448,2,NULL,NULL,NULL,NULL,'13.220.20.191',0,'available',NULL,'2025-09-04 04:59:12',NULL),(449,2,NULL,NULL,NULL,NULL,'13.220.20.192',0,'available',NULL,'2025-09-04 04:59:12',NULL),(450,2,NULL,NULL,NULL,NULL,'13.220.20.193',0,'available',NULL,'2025-09-04 04:59:12',NULL),(451,2,NULL,NULL,NULL,NULL,'13.220.20.194',0,'available',NULL,'2025-09-04 04:59:12',NULL),(452,2,NULL,NULL,NULL,NULL,'13.220.20.195',0,'available',NULL,'2025-09-04 04:59:12',NULL),(453,2,NULL,NULL,NULL,NULL,'13.220.20.196',0,'available',NULL,'2025-09-04 04:59:12',NULL),(454,2,NULL,NULL,NULL,NULL,'13.220.20.197',0,'available',NULL,'2025-09-04 04:59:12',NULL),(455,2,NULL,NULL,NULL,NULL,'13.220.20.198',0,'available',NULL,'2025-09-04 04:59:12',NULL),(456,2,NULL,NULL,NULL,NULL,'13.220.20.199',0,'available',NULL,'2025-09-04 04:59:12',NULL),(457,2,NULL,NULL,NULL,NULL,'13.220.20.200',0,'available',NULL,'2025-09-04 04:59:12',NULL),(458,2,NULL,NULL,NULL,NULL,'13.220.20.201',0,'available',NULL,'2025-09-04 04:59:12',NULL),(459,2,NULL,NULL,NULL,NULL,'13.220.20.202',0,'available',NULL,'2025-09-04 04:59:12',NULL),(460,2,NULL,NULL,NULL,NULL,'13.220.20.203',0,'available',NULL,'2025-09-04 04:59:12',NULL),(461,2,NULL,NULL,NULL,NULL,'13.220.20.204',0,'available',NULL,'2025-09-04 04:59:12',NULL),(462,2,NULL,NULL,NULL,NULL,'13.220.20.205',0,'available',NULL,'2025-09-04 04:59:12',NULL),(463,2,NULL,NULL,NULL,NULL,'13.220.20.206',0,'available',NULL,'2025-09-04 04:59:12',NULL),(464,2,NULL,NULL,NULL,NULL,'13.220.20.207',0,'available',NULL,'2025-09-04 04:59:12',NULL),(465,2,NULL,NULL,NULL,NULL,'13.220.20.208',0,'available',NULL,'2025-09-04 04:59:12',NULL),(466,2,NULL,NULL,NULL,NULL,'13.220.20.209',0,'available',NULL,'2025-09-04 04:59:12',NULL),(467,2,NULL,NULL,NULL,NULL,'13.220.20.210',0,'available',NULL,'2025-09-04 04:59:12',NULL),(468,2,NULL,NULL,NULL,NULL,'13.220.20.211',0,'available',NULL,'2025-09-04 04:59:12',NULL),(469,2,NULL,NULL,NULL,NULL,'13.220.20.212',0,'available',NULL,'2025-09-04 04:59:12',NULL),(470,2,NULL,NULL,NULL,NULL,'13.220.20.213',0,'available',NULL,'2025-09-04 04:59:12',NULL),(471,2,NULL,NULL,NULL,NULL,'13.220.20.214',0,'available',NULL,'2025-09-04 04:59:12',NULL),(472,2,NULL,NULL,NULL,NULL,'13.220.20.215',0,'available',NULL,'2025-09-04 04:59:12',NULL),(473,2,NULL,NULL,NULL,NULL,'13.220.20.216',0,'available',NULL,'2025-09-04 04:59:12',NULL),(474,2,NULL,NULL,NULL,NULL,'13.220.20.217',0,'available',NULL,'2025-09-04 04:59:12',NULL),(475,2,NULL,NULL,NULL,NULL,'13.220.20.218',0,'available',NULL,'2025-09-04 04:59:12',NULL),(476,2,NULL,NULL,NULL,NULL,'13.220.20.219',0,'available',NULL,'2025-09-04 04:59:12',NULL),(477,2,NULL,NULL,NULL,NULL,'13.220.20.220',0,'available',NULL,'2025-09-04 04:59:12',NULL),(478,2,NULL,NULL,NULL,NULL,'13.220.20.221',0,'available',NULL,'2025-09-04 04:59:12',NULL),(479,2,NULL,NULL,NULL,NULL,'13.220.20.222',0,'available',NULL,'2025-09-04 04:59:12',NULL),(480,2,NULL,NULL,NULL,NULL,'13.220.20.223',0,'available',NULL,'2025-09-04 04:59:12',NULL),(481,2,NULL,NULL,NULL,NULL,'13.220.20.224',0,'available',NULL,'2025-09-04 04:59:12',NULL),(482,2,NULL,NULL,NULL,NULL,'13.220.20.225',0,'available',NULL,'2025-09-04 04:59:12',NULL),(483,2,NULL,NULL,NULL,NULL,'13.220.20.226',0,'available',NULL,'2025-09-04 04:59:12',NULL),(484,2,NULL,NULL,NULL,NULL,'13.220.20.227',0,'available',NULL,'2025-09-04 04:59:12',NULL),(485,2,NULL,NULL,NULL,NULL,'13.220.20.228',0,'available',NULL,'2025-09-04 04:59:12',NULL),(486,2,NULL,NULL,NULL,NULL,'13.220.20.229',0,'available',NULL,'2025-09-04 04:59:12',NULL),(487,2,NULL,NULL,NULL,NULL,'13.220.20.230',0,'available',NULL,'2025-09-04 04:59:12',NULL),(488,2,NULL,NULL,NULL,NULL,'13.220.20.231',0,'available',NULL,'2025-09-04 04:59:12',NULL),(489,2,NULL,NULL,NULL,NULL,'13.220.20.232',0,'available',NULL,'2025-09-04 04:59:12',NULL),(490,2,NULL,NULL,NULL,NULL,'13.220.20.233',0,'available',NULL,'2025-09-04 04:59:12',NULL),(491,2,NULL,NULL,NULL,NULL,'13.220.20.234',0,'available',NULL,'2025-09-04 04:59:12',NULL),(492,2,NULL,NULL,NULL,NULL,'13.220.20.235',0,'available',NULL,'2025-09-04 04:59:12',NULL),(493,2,NULL,NULL,NULL,NULL,'13.220.20.236',0,'available',NULL,'2025-09-04 04:59:12',NULL),(494,2,NULL,NULL,NULL,NULL,'13.220.20.237',0,'available',NULL,'2025-09-04 04:59:12',NULL),(495,2,NULL,NULL,NULL,NULL,'13.220.20.238',0,'available',NULL,'2025-09-04 04:59:12',NULL),(496,2,NULL,NULL,NULL,NULL,'13.220.20.239',0,'available',NULL,'2025-09-04 04:59:12',NULL),(497,2,NULL,NULL,NULL,NULL,'13.220.20.240',0,'available',NULL,'2025-09-04 04:59:12',NULL),(498,2,NULL,NULL,NULL,NULL,'13.220.20.241',0,'available',NULL,'2025-09-04 04:59:12',NULL),(499,2,NULL,NULL,NULL,NULL,'13.220.20.242',0,'available',NULL,'2025-09-04 04:59:12',NULL),(500,2,NULL,NULL,NULL,NULL,'13.220.20.243',0,'available',NULL,'2025-09-04 04:59:12',NULL),(501,2,NULL,NULL,NULL,NULL,'13.220.20.244',0,'available',NULL,'2025-09-04 04:59:12',NULL),(502,2,NULL,NULL,NULL,NULL,'13.220.20.245',0,'available',NULL,'2025-09-04 04:59:12',NULL),(503,2,NULL,NULL,NULL,NULL,'13.220.20.246',0,'available',NULL,'2025-09-04 04:59:12',NULL),(504,2,NULL,NULL,NULL,NULL,'13.220.20.247',0,'available',NULL,'2025-09-04 04:59:12',NULL),(505,2,NULL,NULL,NULL,NULL,'13.220.20.248',0,'available',NULL,'2025-09-04 04:59:12',NULL),(506,2,NULL,NULL,NULL,NULL,'13.220.20.249',0,'available',NULL,'2025-09-04 04:59:12',NULL),(507,2,NULL,NULL,NULL,NULL,'13.220.20.250',0,'available',NULL,'2025-09-04 04:59:12',NULL),(508,2,NULL,NULL,NULL,NULL,'13.220.20.251',0,'available',NULL,'2025-09-04 04:59:12',NULL),(509,2,NULL,NULL,NULL,NULL,'13.220.20.252',0,'available',NULL,'2025-09-04 04:59:12',NULL),(510,2,NULL,NULL,NULL,NULL,'13.220.20.253',0,'available',NULL,'2025-09-04 04:59:12',NULL),(511,2,NULL,NULL,NULL,NULL,'13.220.20.254',0,'available',NULL,'2025-09-04 04:59:12',NULL),(512,2,NULL,NULL,NULL,NULL,'13.220.20.255',0,'available',NULL,'2025-09-04 04:59:12',NULL); +INSERT INTO `ipinfo` VALUES (1,1,NULL,NULL,NULL,NULL,'23.125.207.0',0,'available',NULL,'2025-09-04 04:58:46',NULL),(2,1,NULL,NULL,NULL,NULL,'23.125.207.1',0,'available',NULL,'2025-09-04 04:58:46',NULL),(3,1,NULL,NULL,NULL,NULL,'23.125.207.2',0,'available',NULL,'2025-09-04 04:58:46',NULL),(4,1,NULL,NULL,NULL,NULL,'23.125.207.3',0,'available',NULL,'2025-09-04 04:58:46',NULL),(5,1,NULL,NULL,NULL,NULL,'23.125.207.4',0,'available',NULL,'2025-09-04 04:58:46',NULL),(6,1,NULL,NULL,NULL,NULL,'23.125.207.5',0,'available',NULL,'2025-09-04 04:58:46',NULL),(7,1,NULL,NULL,NULL,NULL,'23.125.207.6',0,'available',NULL,'2025-09-04 04:58:46',NULL),(8,1,NULL,NULL,NULL,NULL,'23.125.207.7',0,'available',NULL,'2025-09-04 04:58:46',NULL),(9,1,NULL,NULL,NULL,NULL,'23.125.207.8',0,'available',NULL,'2025-09-04 04:58:46',NULL),(10,1,NULL,NULL,NULL,NULL,'23.125.207.9',0,'available',NULL,'2025-09-04 04:58:46',NULL),(11,1,NULL,NULL,NULL,NULL,'23.125.207.10',0,'available',NULL,'2025-09-04 04:58:46',NULL),(12,1,NULL,NULL,NULL,NULL,'23.125.207.11',0,'available',NULL,'2025-09-04 04:58:46',NULL),(13,1,NULL,NULL,NULL,NULL,'23.125.207.12',0,'available',NULL,'2025-09-04 04:58:46',NULL),(14,1,NULL,NULL,NULL,NULL,'23.125.207.13',0,'available',NULL,'2025-09-04 04:58:46',NULL),(15,1,NULL,NULL,NULL,NULL,'23.125.207.14',0,'available',NULL,'2025-09-04 04:58:46',NULL),(16,1,NULL,NULL,NULL,NULL,'23.125.207.15',0,'available',NULL,'2025-09-04 04:58:46',NULL),(17,1,NULL,NULL,NULL,NULL,'23.125.207.16',0,'available',NULL,'2025-09-04 04:58:46',NULL),(18,1,NULL,NULL,NULL,NULL,'23.125.207.17',0,'available',NULL,'2025-09-04 04:58:46',NULL),(19,1,NULL,NULL,NULL,NULL,'23.125.207.18',0,'available',NULL,'2025-09-04 04:58:46',NULL),(20,1,NULL,NULL,NULL,NULL,'23.125.207.19',0,'available',NULL,'2025-09-04 04:58:46',NULL),(21,1,NULL,NULL,NULL,NULL,'23.125.207.20',0,'available',NULL,'2025-09-04 04:58:46',NULL),(22,1,NULL,NULL,NULL,NULL,'23.125.207.21',0,'available',NULL,'2025-09-04 04:58:46',NULL),(23,1,NULL,NULL,NULL,NULL,'23.125.207.22',0,'available',NULL,'2025-09-04 04:58:46',NULL),(24,1,NULL,NULL,NULL,NULL,'23.125.207.23',0,'available',NULL,'2025-09-04 04:58:46',NULL),(25,1,NULL,NULL,NULL,NULL,'23.125.207.24',0,'available',NULL,'2025-09-04 04:58:46',NULL),(26,1,NULL,NULL,NULL,NULL,'23.125.207.25',0,'available',NULL,'2025-09-04 04:58:46',NULL),(27,1,NULL,NULL,NULL,NULL,'23.125.207.26',0,'available',NULL,'2025-09-04 04:58:46',NULL),(28,1,NULL,NULL,NULL,NULL,'23.125.207.27',0,'available',NULL,'2025-09-04 04:58:46',NULL),(29,1,NULL,NULL,NULL,NULL,'23.125.207.28',0,'available',NULL,'2025-09-04 04:58:46',NULL),(30,1,NULL,NULL,NULL,NULL,'23.125.207.29',0,'available',NULL,'2025-09-04 04:58:46',NULL),(31,1,NULL,NULL,NULL,NULL,'23.125.207.30',0,'available',NULL,'2025-09-04 04:58:46',NULL),(32,1,NULL,NULL,NULL,NULL,'23.125.207.31',0,'available',NULL,'2025-09-04 04:58:46',NULL),(33,1,NULL,NULL,NULL,NULL,'23.125.207.32',0,'available',NULL,'2025-09-04 04:58:46',NULL),(34,1,NULL,NULL,NULL,NULL,'23.125.207.33',0,'available',NULL,'2025-09-04 04:58:46',NULL),(35,1,NULL,NULL,NULL,NULL,'23.125.207.34',0,'available',NULL,'2025-09-04 04:58:46',NULL),(36,1,NULL,NULL,NULL,NULL,'23.125.207.35',0,'available',NULL,'2025-09-04 04:58:46',NULL),(37,1,NULL,NULL,NULL,NULL,'23.125.207.36',0,'available',NULL,'2025-09-04 04:58:46',NULL),(38,1,NULL,NULL,NULL,NULL,'23.125.207.37',0,'available',NULL,'2025-09-04 04:58:46',NULL),(39,1,NULL,NULL,NULL,NULL,'23.125.207.38',0,'available',NULL,'2025-09-04 04:58:46',NULL),(40,1,NULL,NULL,NULL,NULL,'23.125.207.39',0,'available',NULL,'2025-09-04 04:58:46',NULL),(41,1,NULL,NULL,NULL,NULL,'23.125.207.40',0,'available',NULL,'2025-09-04 04:58:46',NULL),(42,1,NULL,NULL,NULL,NULL,'23.125.207.41',0,'available',NULL,'2025-09-04 04:58:46',NULL),(43,1,NULL,NULL,NULL,NULL,'23.125.207.42',0,'available',NULL,'2025-09-04 04:58:46',NULL),(44,1,NULL,NULL,NULL,NULL,'23.125.207.43',0,'available',NULL,'2025-09-04 04:58:46',NULL),(45,1,NULL,NULL,NULL,NULL,'23.125.207.44',0,'available',NULL,'2025-09-04 04:58:46',NULL),(46,1,NULL,NULL,NULL,NULL,'23.125.207.45',0,'available',NULL,'2025-09-04 04:58:46',NULL),(47,1,NULL,NULL,NULL,NULL,'23.125.207.46',0,'available',NULL,'2025-09-04 04:58:46',NULL),(48,1,NULL,NULL,NULL,NULL,'23.125.207.47',0,'available',NULL,'2025-09-04 04:58:46',NULL),(49,1,NULL,NULL,NULL,NULL,'23.125.207.48',0,'available',NULL,'2025-09-04 04:58:46',NULL),(50,1,NULL,NULL,NULL,NULL,'23.125.207.49',0,'available',NULL,'2025-09-04 04:58:46',NULL),(51,1,NULL,NULL,NULL,NULL,'23.125.207.50',0,'available',NULL,'2025-09-04 04:58:46',NULL),(52,1,NULL,NULL,NULL,NULL,'23.125.207.51',0,'available',NULL,'2025-09-04 04:58:46',NULL),(53,1,NULL,NULL,NULL,NULL,'23.125.207.52',0,'available',NULL,'2025-09-04 04:58:46',NULL),(54,1,NULL,NULL,NULL,NULL,'23.125.207.53',0,'available',NULL,'2025-09-04 04:58:46',NULL),(55,1,NULL,NULL,NULL,NULL,'23.125.207.54',0,'available',NULL,'2025-09-04 04:58:46',NULL),(56,1,NULL,NULL,NULL,NULL,'23.125.207.55',0,'available',NULL,'2025-09-04 04:58:46',NULL),(57,1,NULL,NULL,NULL,NULL,'23.125.207.56',0,'available',NULL,'2025-09-04 04:58:46',NULL),(58,1,NULL,NULL,NULL,NULL,'23.125.207.57',0,'available',NULL,'2025-09-04 04:58:46',NULL),(59,1,NULL,NULL,NULL,NULL,'23.125.207.58',0,'available',NULL,'2025-09-04 04:58:46',NULL),(60,1,NULL,NULL,NULL,NULL,'23.125.207.59',0,'available',NULL,'2025-09-04 04:58:46',NULL),(61,1,NULL,NULL,NULL,NULL,'23.125.207.60',0,'available',NULL,'2025-09-04 04:58:46',NULL),(62,1,NULL,NULL,NULL,NULL,'23.125.207.61',0,'available',NULL,'2025-09-04 04:58:46',NULL),(63,1,NULL,NULL,NULL,NULL,'23.125.207.62',0,'available',NULL,'2025-09-04 04:58:46',NULL),(64,1,NULL,NULL,NULL,NULL,'23.125.207.63',0,'available',NULL,'2025-09-04 04:58:46',NULL),(65,1,NULL,NULL,NULL,NULL,'23.125.207.64',0,'available',NULL,'2025-09-04 04:58:46',NULL),(66,1,NULL,NULL,NULL,NULL,'23.125.207.65',0,'available',NULL,'2025-09-04 04:58:46',NULL),(67,1,NULL,NULL,NULL,NULL,'23.125.207.66',0,'available',NULL,'2025-09-04 04:58:46',NULL),(68,1,NULL,NULL,NULL,NULL,'23.125.207.67',0,'available',NULL,'2025-09-04 04:58:46',NULL),(69,1,NULL,NULL,NULL,NULL,'23.125.207.68',0,'available',NULL,'2025-09-04 04:58:46',NULL),(70,1,NULL,NULL,NULL,NULL,'23.125.207.69',0,'available',NULL,'2025-09-04 04:58:46',NULL),(71,1,NULL,NULL,NULL,NULL,'23.125.207.70',0,'available',NULL,'2025-09-04 04:58:46',NULL),(72,1,NULL,NULL,NULL,NULL,'23.125.207.71',0,'available',NULL,'2025-09-04 04:58:46',NULL),(73,1,NULL,NULL,NULL,NULL,'23.125.207.72',0,'available',NULL,'2025-09-04 04:58:46',NULL),(74,1,NULL,NULL,NULL,NULL,'23.125.207.73',0,'available',NULL,'2025-09-04 04:58:46',NULL),(75,1,NULL,NULL,NULL,NULL,'23.125.207.74',0,'available',NULL,'2025-09-04 04:58:46',NULL),(76,1,NULL,NULL,NULL,NULL,'23.125.207.75',0,'available',NULL,'2025-09-04 04:58:46',NULL),(77,1,NULL,NULL,NULL,NULL,'23.125.207.76',0,'available',NULL,'2025-09-04 04:58:46',NULL),(78,1,NULL,NULL,NULL,NULL,'23.125.207.77',0,'available',NULL,'2025-09-04 04:58:46',NULL),(79,1,NULL,NULL,NULL,NULL,'23.125.207.78',0,'available',NULL,'2025-09-04 04:58:46',NULL),(80,1,NULL,NULL,NULL,NULL,'23.125.207.79',0,'available',NULL,'2025-09-04 04:58:46',NULL),(81,1,NULL,NULL,NULL,NULL,'23.125.207.80',0,'available',NULL,'2025-09-04 04:58:46',NULL),(82,1,NULL,NULL,NULL,NULL,'23.125.207.81',0,'available',NULL,'2025-09-04 04:58:46',NULL),(83,1,NULL,NULL,NULL,NULL,'23.125.207.82',0,'available',NULL,'2025-09-04 04:58:46',NULL),(84,1,NULL,NULL,NULL,NULL,'23.125.207.83',0,'available',NULL,'2025-09-04 04:58:46',NULL),(85,1,NULL,NULL,NULL,NULL,'23.125.207.84',0,'available',NULL,'2025-09-04 04:58:46',NULL),(86,1,NULL,NULL,NULL,NULL,'23.125.207.85',0,'available',NULL,'2025-09-04 04:58:46',NULL),(87,1,NULL,NULL,NULL,NULL,'23.125.207.86',0,'available',NULL,'2025-09-04 04:58:46',NULL),(88,1,NULL,NULL,NULL,NULL,'23.125.207.87',0,'available',NULL,'2025-09-04 04:58:46',NULL),(89,1,NULL,NULL,NULL,NULL,'23.125.207.88',0,'available',NULL,'2025-09-04 04:58:46',NULL),(90,1,NULL,NULL,NULL,NULL,'23.125.207.89',0,'available',NULL,'2025-09-04 04:58:46',NULL),(91,1,NULL,NULL,NULL,NULL,'23.125.207.90',0,'available',NULL,'2025-09-04 04:58:46',NULL),(92,1,NULL,NULL,NULL,NULL,'23.125.207.91',0,'available',NULL,'2025-09-04 04:58:46',NULL),(93,1,NULL,NULL,NULL,NULL,'23.125.207.92',0,'available',NULL,'2025-09-04 04:58:46',NULL),(94,1,NULL,NULL,NULL,NULL,'23.125.207.93',0,'available',NULL,'2025-09-04 04:58:46',NULL),(95,1,NULL,NULL,NULL,NULL,'23.125.207.94',0,'available',NULL,'2025-09-04 04:58:46',NULL),(96,1,NULL,NULL,NULL,NULL,'23.125.207.95',0,'available',NULL,'2025-09-04 04:58:46',NULL),(97,1,NULL,NULL,NULL,NULL,'23.125.207.96',0,'available',NULL,'2025-09-04 04:58:46',NULL),(98,1,NULL,NULL,NULL,NULL,'23.125.207.97',0,'available',NULL,'2025-09-04 04:58:46',NULL),(99,1,NULL,NULL,NULL,NULL,'23.125.207.98',0,'available',NULL,'2025-09-04 04:58:46',NULL),(100,1,NULL,NULL,NULL,NULL,'23.125.207.99',0,'available',NULL,'2025-09-04 04:58:46',NULL),(101,1,NULL,NULL,NULL,NULL,'23.125.207.100',0,'available',NULL,'2025-09-04 04:58:46',NULL),(102,1,NULL,NULL,NULL,NULL,'23.125.207.101',0,'available',NULL,'2025-09-04 04:58:46',NULL),(103,1,NULL,NULL,NULL,NULL,'23.125.207.102',0,'available',NULL,'2025-09-04 04:58:46',NULL),(104,1,NULL,NULL,NULL,NULL,'23.125.207.103',0,'available',NULL,'2025-09-04 04:58:46',NULL),(105,1,NULL,NULL,NULL,NULL,'23.125.207.104',0,'available',NULL,'2025-09-04 04:58:46',NULL),(106,1,NULL,NULL,NULL,NULL,'23.125.207.105',0,'available',NULL,'2025-09-04 04:58:46',NULL),(107,1,NULL,NULL,NULL,NULL,'23.125.207.106',0,'available',NULL,'2025-09-04 04:58:46',NULL),(108,1,NULL,NULL,NULL,NULL,'23.125.207.107',0,'available',NULL,'2025-09-04 04:58:46',NULL),(109,1,NULL,NULL,NULL,NULL,'23.125.207.108',0,'available',NULL,'2025-09-04 04:58:46',NULL),(110,1,NULL,NULL,NULL,NULL,'23.125.207.109',0,'available',NULL,'2025-09-04 04:58:46',NULL),(111,1,NULL,NULL,NULL,NULL,'23.125.207.110',0,'available',NULL,'2025-09-04 04:58:46',NULL),(112,1,NULL,NULL,NULL,NULL,'23.125.207.111',0,'available',NULL,'2025-09-04 04:58:46',NULL),(113,1,NULL,NULL,NULL,NULL,'23.125.207.112',0,'available',NULL,'2025-09-04 04:58:46',NULL),(114,1,NULL,NULL,NULL,NULL,'23.125.207.113',0,'available',NULL,'2025-09-04 04:58:46',NULL),(115,1,NULL,NULL,NULL,NULL,'23.125.207.114',0,'available',NULL,'2025-09-04 04:58:46',NULL),(116,1,NULL,NULL,NULL,NULL,'23.125.207.115',0,'available',NULL,'2025-09-04 04:58:46',NULL),(117,1,NULL,NULL,NULL,NULL,'23.125.207.116',0,'available',NULL,'2025-09-04 04:58:46',NULL),(118,1,NULL,NULL,NULL,NULL,'23.125.207.117',0,'available',NULL,'2025-09-04 04:58:46',NULL),(119,1,NULL,NULL,NULL,NULL,'23.125.207.118',0,'available',NULL,'2025-09-04 04:58:46',NULL),(120,1,NULL,NULL,NULL,NULL,'23.125.207.119',0,'available',NULL,'2025-09-04 04:58:46',NULL),(121,1,NULL,NULL,NULL,NULL,'23.125.207.120',0,'available',NULL,'2025-09-04 04:58:46',NULL),(122,1,NULL,NULL,NULL,NULL,'23.125.207.121',0,'available',NULL,'2025-09-04 04:58:46',NULL),(123,1,NULL,NULL,NULL,NULL,'23.125.207.122',0,'available',NULL,'2025-09-04 04:58:46',NULL),(124,1,NULL,NULL,NULL,NULL,'23.125.207.123',0,'available',NULL,'2025-09-04 04:58:46',NULL),(125,1,NULL,NULL,NULL,NULL,'23.125.207.124',0,'available',NULL,'2025-09-04 04:58:46',NULL),(126,1,NULL,NULL,NULL,NULL,'23.125.207.125',0,'available',NULL,'2025-09-04 04:58:46',NULL),(127,1,NULL,NULL,NULL,NULL,'23.125.207.126',0,'available',NULL,'2025-09-04 04:58:46',NULL),(128,1,NULL,NULL,NULL,NULL,'23.125.207.127',0,'available',NULL,'2025-09-04 04:58:46',NULL),(129,1,NULL,NULL,NULL,NULL,'23.125.207.128',0,'available',NULL,'2025-09-04 04:58:46',NULL),(130,1,NULL,NULL,NULL,NULL,'23.125.207.129',0,'available',NULL,'2025-09-04 04:58:46',NULL),(131,1,NULL,NULL,NULL,NULL,'23.125.207.130',0,'available',NULL,'2025-09-04 04:58:46',NULL),(132,1,NULL,NULL,NULL,NULL,'23.125.207.131',0,'available',NULL,'2025-09-04 04:58:46',NULL),(133,1,NULL,NULL,NULL,NULL,'23.125.207.132',0,'available',NULL,'2025-09-04 04:58:46',NULL),(134,1,NULL,NULL,NULL,NULL,'23.125.207.133',0,'available',NULL,'2025-09-04 04:58:46',NULL),(135,1,NULL,NULL,NULL,NULL,'23.125.207.134',0,'available',NULL,'2025-09-04 04:58:46',NULL),(136,1,NULL,NULL,NULL,NULL,'23.125.207.135',0,'available',NULL,'2025-09-04 04:58:46',NULL),(137,1,NULL,NULL,NULL,NULL,'23.125.207.136',0,'available',NULL,'2025-09-04 04:58:46',NULL),(138,1,NULL,NULL,NULL,NULL,'23.125.207.137',0,'available',NULL,'2025-09-04 04:58:46',NULL),(139,1,NULL,NULL,NULL,NULL,'23.125.207.138',0,'available',NULL,'2025-09-04 04:58:46',NULL),(140,1,NULL,NULL,NULL,NULL,'23.125.207.139',0,'available',NULL,'2025-09-04 04:58:46',NULL),(141,1,NULL,NULL,NULL,NULL,'23.125.207.140',0,'available',NULL,'2025-09-04 04:58:46',NULL),(142,1,NULL,NULL,NULL,NULL,'23.125.207.141',0,'available',NULL,'2025-09-04 04:58:46',NULL),(143,1,NULL,NULL,NULL,NULL,'23.125.207.142',0,'available',NULL,'2025-09-04 04:58:46',NULL),(144,1,NULL,NULL,NULL,NULL,'23.125.207.143',0,'available',NULL,'2025-09-04 04:58:46',NULL),(145,1,NULL,NULL,NULL,NULL,'23.125.207.144',0,'available',NULL,'2025-09-04 04:58:46',NULL),(146,1,NULL,NULL,NULL,NULL,'23.125.207.145',0,'available',NULL,'2025-09-04 04:58:46',NULL),(147,1,NULL,NULL,NULL,NULL,'23.125.207.146',0,'available',NULL,'2025-09-04 04:58:46',NULL),(148,1,NULL,NULL,NULL,NULL,'23.125.207.147',0,'available',NULL,'2025-09-04 04:58:46',NULL),(149,1,NULL,NULL,NULL,NULL,'23.125.207.148',0,'available',NULL,'2025-09-04 04:58:46',NULL),(150,1,NULL,NULL,NULL,NULL,'23.125.207.149',0,'available',NULL,'2025-09-04 04:58:46',NULL),(151,1,NULL,NULL,NULL,NULL,'23.125.207.150',0,'available',NULL,'2025-09-04 04:58:46',NULL),(152,1,NULL,NULL,NULL,NULL,'23.125.207.151',0,'available',NULL,'2025-09-04 04:58:46',NULL),(153,1,NULL,NULL,NULL,NULL,'23.125.207.152',0,'available',NULL,'2025-09-04 04:58:46',NULL),(154,1,NULL,NULL,NULL,NULL,'23.125.207.153',0,'available',NULL,'2025-09-04 04:58:46',NULL),(155,1,NULL,NULL,NULL,NULL,'23.125.207.154',0,'available',NULL,'2025-09-04 04:58:46',NULL),(156,1,NULL,NULL,NULL,NULL,'23.125.207.155',0,'available',NULL,'2025-09-04 04:58:46',NULL),(157,1,NULL,NULL,NULL,NULL,'23.125.207.156',0,'available',NULL,'2025-09-04 04:58:46',NULL),(158,1,NULL,NULL,NULL,NULL,'23.125.207.157',0,'available',NULL,'2025-09-04 04:58:46',NULL),(159,1,NULL,NULL,NULL,NULL,'23.125.207.158',0,'available',NULL,'2025-09-04 04:58:46',NULL),(160,1,NULL,NULL,NULL,NULL,'23.125.207.159',0,'available',NULL,'2025-09-04 04:58:46',NULL),(161,1,NULL,NULL,NULL,NULL,'23.125.207.160',0,'available',NULL,'2025-09-04 04:58:46',NULL),(162,1,NULL,NULL,NULL,NULL,'23.125.207.161',0,'available',NULL,'2025-09-04 04:58:46',NULL),(163,1,NULL,NULL,NULL,NULL,'23.125.207.162',0,'available',NULL,'2025-09-04 04:58:46',NULL),(164,1,NULL,NULL,NULL,NULL,'23.125.207.163',0,'available',NULL,'2025-09-04 04:58:46',NULL),(165,1,NULL,NULL,NULL,NULL,'23.125.207.164',0,'available',NULL,'2025-09-04 04:58:46',NULL),(166,1,NULL,NULL,NULL,NULL,'23.125.207.165',0,'available',NULL,'2025-09-04 04:58:46',NULL),(167,1,NULL,NULL,NULL,NULL,'23.125.207.166',0,'available',NULL,'2025-09-04 04:58:46',NULL),(168,1,NULL,NULL,NULL,NULL,'23.125.207.167',0,'available',NULL,'2025-09-04 04:58:46',NULL),(169,1,NULL,NULL,NULL,NULL,'23.125.207.168',0,'available',NULL,'2025-09-04 04:58:46',NULL),(170,1,NULL,NULL,NULL,NULL,'23.125.207.169',0,'available',NULL,'2025-09-04 04:58:46',NULL),(171,1,NULL,NULL,NULL,NULL,'23.125.207.170',0,'available',NULL,'2025-09-04 04:58:46',NULL),(172,1,NULL,NULL,NULL,NULL,'23.125.207.171',0,'available',NULL,'2025-09-04 04:58:46',NULL),(173,1,NULL,NULL,NULL,NULL,'23.125.207.172',0,'available',NULL,'2025-09-04 04:58:46',NULL),(174,1,NULL,NULL,NULL,NULL,'23.125.207.173',0,'available',NULL,'2025-09-04 04:58:46',NULL),(175,1,NULL,NULL,NULL,NULL,'23.125.207.174',0,'available',NULL,'2025-09-04 04:58:46',NULL),(176,1,NULL,NULL,NULL,NULL,'23.125.207.175',0,'available',NULL,'2025-09-04 04:58:46',NULL),(177,1,NULL,NULL,NULL,NULL,'23.125.207.176',0,'available',NULL,'2025-09-04 04:58:46',NULL),(178,1,NULL,NULL,NULL,NULL,'23.125.207.177',0,'available',NULL,'2025-09-04 04:58:46',NULL),(179,1,NULL,NULL,NULL,NULL,'23.125.207.178',0,'available',NULL,'2025-09-04 04:58:46',NULL),(180,1,NULL,NULL,NULL,NULL,'23.125.207.179',0,'available',NULL,'2025-09-04 04:58:46',NULL),(181,1,NULL,NULL,NULL,NULL,'23.125.207.180',0,'available',NULL,'2025-09-04 04:58:46',NULL),(182,1,NULL,NULL,NULL,NULL,'23.125.207.181',0,'available',NULL,'2025-09-04 04:58:46',NULL),(183,1,NULL,NULL,NULL,NULL,'23.125.207.182',0,'available',NULL,'2025-09-04 04:58:46',NULL),(184,1,NULL,NULL,NULL,NULL,'23.125.207.183',0,'available',NULL,'2025-09-04 04:58:46',NULL),(185,1,NULL,NULL,NULL,NULL,'23.125.207.184',0,'available',NULL,'2025-09-04 04:58:46',NULL),(186,1,NULL,NULL,NULL,NULL,'23.125.207.185',0,'available',NULL,'2025-09-04 04:58:46',NULL),(187,1,NULL,NULL,NULL,NULL,'23.125.207.186',0,'available',NULL,'2025-09-04 04:58:46',NULL),(188,1,NULL,NULL,NULL,NULL,'23.125.207.187',0,'available',NULL,'2025-09-04 04:58:46',NULL),(189,1,NULL,NULL,NULL,NULL,'23.125.207.188',0,'available',NULL,'2025-09-04 04:58:46',NULL),(190,1,NULL,NULL,NULL,NULL,'23.125.207.189',0,'available',NULL,'2025-09-04 04:58:46',NULL),(191,1,NULL,NULL,NULL,NULL,'23.125.207.190',0,'available',NULL,'2025-09-04 04:58:46',NULL),(192,1,NULL,NULL,NULL,NULL,'23.125.207.191',0,'available',NULL,'2025-09-04 04:58:46',NULL),(193,1,NULL,NULL,NULL,NULL,'23.125.207.192',0,'available',NULL,'2025-09-04 04:58:46',NULL),(194,1,NULL,NULL,NULL,NULL,'23.125.207.193',0,'available',NULL,'2025-09-04 04:58:46',NULL),(195,1,NULL,NULL,NULL,NULL,'23.125.207.194',0,'available',NULL,'2025-09-04 04:58:46',NULL),(196,1,NULL,NULL,NULL,NULL,'23.125.207.195',0,'available',NULL,'2025-09-04 04:58:46',NULL),(197,1,NULL,NULL,NULL,NULL,'23.125.207.196',0,'available',NULL,'2025-09-04 04:58:46',NULL),(198,1,NULL,NULL,NULL,NULL,'23.125.207.197',0,'available',NULL,'2025-09-04 04:58:46',NULL),(199,1,NULL,NULL,NULL,NULL,'23.125.207.198',0,'available',NULL,'2025-09-04 04:58:46',NULL),(200,1,NULL,NULL,NULL,NULL,'23.125.207.199',0,'available',NULL,'2025-09-04 04:58:46',NULL),(201,1,NULL,NULL,NULL,NULL,'23.125.207.200',0,'available',NULL,'2025-09-04 04:58:46',NULL),(202,1,NULL,NULL,NULL,NULL,'23.125.207.201',0,'available',NULL,'2025-09-04 04:58:46',NULL),(203,1,NULL,NULL,NULL,NULL,'23.125.207.202',0,'available',NULL,'2025-09-04 04:58:46',NULL),(204,1,NULL,NULL,NULL,NULL,'23.125.207.203',0,'available',NULL,'2025-09-04 04:58:46',NULL),(205,1,NULL,NULL,NULL,NULL,'23.125.207.204',0,'available',NULL,'2025-09-04 04:58:46',NULL),(206,1,NULL,NULL,NULL,NULL,'23.125.207.205',0,'available',NULL,'2025-09-04 04:58:46',NULL),(207,1,NULL,NULL,NULL,NULL,'23.125.207.206',0,'available',NULL,'2025-09-04 04:58:46',NULL),(208,1,NULL,NULL,NULL,NULL,'23.125.207.207',0,'available',NULL,'2025-09-04 04:58:46',NULL),(209,1,NULL,NULL,NULL,NULL,'23.125.207.208',0,'available',NULL,'2025-09-04 04:58:46',NULL),(210,1,NULL,NULL,NULL,NULL,'23.125.207.209',0,'available',NULL,'2025-09-04 04:58:46',NULL),(211,1,NULL,NULL,NULL,NULL,'23.125.207.210',0,'available',NULL,'2025-09-04 04:58:46',NULL),(212,1,NULL,NULL,NULL,NULL,'23.125.207.211',0,'available',NULL,'2025-09-04 04:58:46',NULL),(213,1,NULL,NULL,NULL,NULL,'23.125.207.212',0,'available',NULL,'2025-09-04 04:58:46',NULL),(214,1,NULL,NULL,NULL,NULL,'23.125.207.213',0,'available',NULL,'2025-09-04 04:58:46',NULL),(215,1,NULL,NULL,NULL,NULL,'23.125.207.214',0,'available',NULL,'2025-09-04 04:58:46',NULL),(216,1,NULL,NULL,NULL,NULL,'23.125.207.215',0,'available',NULL,'2025-09-04 04:58:46',NULL),(217,1,NULL,NULL,NULL,NULL,'23.125.207.216',0,'available',NULL,'2025-09-04 04:58:46',NULL),(218,1,NULL,NULL,NULL,NULL,'23.125.207.217',0,'available',NULL,'2025-09-04 04:58:46',NULL),(219,1,NULL,NULL,NULL,NULL,'23.125.207.218',0,'available',NULL,'2025-09-04 04:58:46',NULL),(220,1,NULL,NULL,NULL,NULL,'23.125.207.219',0,'available',NULL,'2025-09-04 04:58:46',NULL),(221,1,NULL,NULL,NULL,NULL,'23.125.207.220',0,'available',NULL,'2025-09-04 04:58:46',NULL),(222,1,NULL,NULL,NULL,NULL,'23.125.207.221',0,'available',NULL,'2025-09-04 04:58:46',NULL),(223,1,NULL,NULL,NULL,NULL,'23.125.207.222',0,'available',NULL,'2025-09-04 04:58:46',NULL),(224,1,NULL,NULL,NULL,NULL,'23.125.207.223',0,'available',NULL,'2025-09-04 04:58:46',NULL),(225,1,NULL,NULL,NULL,NULL,'23.125.207.224',0,'available',NULL,'2025-09-04 04:58:46',NULL),(226,1,NULL,NULL,NULL,NULL,'23.125.207.225',0,'available',NULL,'2025-09-04 04:58:46',NULL),(227,1,NULL,NULL,NULL,NULL,'23.125.207.226',0,'available',NULL,'2025-09-04 04:58:46',NULL),(228,1,NULL,NULL,NULL,NULL,'23.125.207.227',0,'available',NULL,'2025-09-04 04:58:46',NULL),(229,1,NULL,NULL,NULL,NULL,'23.125.207.228',0,'available',NULL,'2025-09-04 04:58:46',NULL),(230,1,NULL,NULL,NULL,NULL,'23.125.207.229',0,'available',NULL,'2025-09-04 04:58:46',NULL),(231,1,NULL,NULL,NULL,NULL,'23.125.207.230',0,'available',NULL,'2025-09-04 04:58:46',NULL),(232,1,NULL,NULL,NULL,NULL,'23.125.207.231',0,'available',NULL,'2025-09-04 04:58:46',NULL),(233,1,NULL,NULL,NULL,NULL,'23.125.207.232',0,'available',NULL,'2025-09-04 04:58:46',NULL),(234,1,NULL,NULL,NULL,NULL,'23.125.207.233',0,'available',NULL,'2025-09-04 04:58:46',NULL),(235,1,NULL,NULL,NULL,NULL,'23.125.207.234',0,'available',NULL,'2025-09-04 04:58:46',NULL),(236,1,NULL,NULL,NULL,NULL,'23.125.207.235',0,'available',NULL,'2025-09-04 04:58:46',NULL),(237,1,NULL,NULL,NULL,NULL,'23.125.207.236',0,'available',NULL,'2025-09-04 04:58:46',NULL),(238,1,NULL,NULL,NULL,NULL,'23.125.207.237',0,'available',NULL,'2025-09-04 04:58:46',NULL),(239,1,NULL,NULL,NULL,NULL,'23.125.207.238',0,'available',NULL,'2025-09-04 04:58:46',NULL),(240,1,NULL,NULL,NULL,NULL,'23.125.207.239',0,'available',NULL,'2025-09-04 04:58:46',NULL),(241,1,NULL,NULL,NULL,NULL,'23.125.207.240',0,'available',NULL,'2025-09-04 04:58:46',NULL),(242,1,NULL,NULL,NULL,NULL,'23.125.207.241',0,'available',NULL,'2025-09-04 04:58:46',NULL),(243,1,NULL,NULL,NULL,NULL,'23.125.207.242',0,'available',NULL,'2025-09-04 04:58:46',NULL),(244,1,NULL,NULL,NULL,NULL,'23.125.207.243',0,'available',NULL,'2025-09-04 04:58:46',NULL),(245,1,NULL,NULL,NULL,NULL,'23.125.207.244',0,'available',NULL,'2025-09-04 04:58:46',NULL),(246,1,NULL,NULL,NULL,NULL,'23.125.207.245',0,'available',NULL,'2025-09-04 04:58:46',NULL),(247,1,NULL,NULL,NULL,NULL,'23.125.207.246',0,'available',NULL,'2025-09-04 04:58:46',NULL),(248,1,NULL,NULL,NULL,NULL,'23.125.207.247',0,'available',NULL,'2025-09-04 04:58:46',NULL),(249,1,NULL,NULL,NULL,NULL,'23.125.207.248',0,'available',NULL,'2025-09-04 04:58:46',NULL),(250,1,NULL,NULL,NULL,NULL,'23.125.207.249',0,'available',NULL,'2025-09-04 04:58:46',NULL),(251,1,NULL,NULL,NULL,NULL,'23.125.207.250',0,'available',NULL,'2025-09-04 04:58:46',NULL),(252,1,NULL,NULL,NULL,NULL,'23.125.207.251',0,'available',NULL,'2025-09-04 04:58:46',NULL),(253,1,NULL,NULL,NULL,NULL,'23.125.207.252',0,'available',NULL,'2025-09-04 04:58:46',NULL),(254,1,NULL,NULL,NULL,NULL,'23.125.207.253',0,'available',NULL,'2025-09-04 04:58:46',NULL),(255,1,NULL,NULL,NULL,NULL,'23.125.207.254',0,'available',NULL,'2025-09-04 04:58:46',NULL),(256,1,NULL,NULL,NULL,NULL,'23.125.207.255',0,'available',NULL,'2025-09-04 04:58:46',NULL),(257,2,NULL,NULL,NULL,NULL,'13.220.20.0',0,'available',NULL,'2025-09-04 04:59:12',NULL),(258,2,585,NULL,NULL,NULL,'13.220.20.1',0,'available','2025-09-11 06:15:35','2025-09-04 04:59:12',NULL),(259,2,NULL,NULL,5,12,'13.220.20.2',0,'occupied','2025-09-16 07:48:37','2025-09-04 04:59:12',NULL),(260,2,585,585,5,12,'13.220.20.3',0,'occupied','2025-09-17 23:56:25','2025-09-04 04:59:12',NULL),(261,2,NULL,NULL,NULL,NULL,'13.220.20.4',0,'available',NULL,'2025-09-04 04:59:12',NULL),(262,2,NULL,NULL,NULL,NULL,'13.220.20.5',0,'available',NULL,'2025-09-04 04:59:12',NULL),(263,2,NULL,NULL,NULL,NULL,'13.220.20.6',0,'available',NULL,'2025-09-04 04:59:12',NULL),(264,2,NULL,NULL,NULL,NULL,'13.220.20.7',0,'available',NULL,'2025-09-04 04:59:12',NULL),(265,2,NULL,NULL,NULL,NULL,'13.220.20.8',0,'available',NULL,'2025-09-04 04:59:12',NULL),(266,2,NULL,NULL,NULL,NULL,'13.220.20.9',0,'available',NULL,'2025-09-04 04:59:12',NULL),(267,2,NULL,NULL,NULL,NULL,'13.220.20.10',0,'available',NULL,'2025-09-04 04:59:12',NULL),(268,2,NULL,NULL,NULL,NULL,'13.220.20.11',0,'available',NULL,'2025-09-04 04:59:12',NULL),(269,2,NULL,NULL,NULL,NULL,'13.220.20.12',0,'available',NULL,'2025-09-04 04:59:12',NULL),(270,2,NULL,NULL,NULL,NULL,'13.220.20.13',0,'available',NULL,'2025-09-04 04:59:12',NULL),(271,2,NULL,NULL,NULL,NULL,'13.220.20.14',0,'available',NULL,'2025-09-04 04:59:12',NULL),(272,2,NULL,NULL,NULL,NULL,'13.220.20.15',0,'available',NULL,'2025-09-04 04:59:12',NULL),(273,2,NULL,NULL,NULL,NULL,'13.220.20.16',0,'available',NULL,'2025-09-04 04:59:12',NULL),(274,2,NULL,NULL,NULL,NULL,'13.220.20.17',0,'available',NULL,'2025-09-04 04:59:12',NULL),(275,2,NULL,NULL,NULL,NULL,'13.220.20.18',0,'available',NULL,'2025-09-04 04:59:12',NULL),(276,2,NULL,NULL,NULL,NULL,'13.220.20.19',0,'available',NULL,'2025-09-04 04:59:12',NULL),(277,2,NULL,NULL,NULL,NULL,'13.220.20.20',0,'available',NULL,'2025-09-04 04:59:12',NULL),(278,2,NULL,NULL,NULL,NULL,'13.220.20.21',0,'available',NULL,'2025-09-04 04:59:12',NULL),(279,2,NULL,NULL,NULL,NULL,'13.220.20.22',0,'available',NULL,'2025-09-04 04:59:12',NULL),(280,2,NULL,NULL,NULL,NULL,'13.220.20.23',0,'available',NULL,'2025-09-04 04:59:12',NULL),(281,2,NULL,NULL,NULL,NULL,'13.220.20.24',0,'available',NULL,'2025-09-04 04:59:12',NULL),(282,2,NULL,NULL,NULL,NULL,'13.220.20.25',0,'available',NULL,'2025-09-04 04:59:12',NULL),(283,2,NULL,NULL,NULL,NULL,'13.220.20.26',0,'available',NULL,'2025-09-04 04:59:12',NULL),(284,2,NULL,NULL,NULL,NULL,'13.220.20.27',0,'available',NULL,'2025-09-04 04:59:12',NULL),(285,2,NULL,NULL,NULL,NULL,'13.220.20.28',0,'available',NULL,'2025-09-04 04:59:12',NULL),(286,2,NULL,NULL,NULL,NULL,'13.220.20.29',0,'available',NULL,'2025-09-04 04:59:12',NULL),(287,2,NULL,NULL,NULL,NULL,'13.220.20.30',0,'available',NULL,'2025-09-04 04:59:12',NULL),(288,2,NULL,NULL,NULL,NULL,'13.220.20.31',0,'available',NULL,'2025-09-04 04:59:12',NULL),(289,2,NULL,NULL,NULL,NULL,'13.220.20.32',0,'available',NULL,'2025-09-04 04:59:12',NULL),(290,2,NULL,NULL,NULL,NULL,'13.220.20.33',0,'available',NULL,'2025-09-04 04:59:12',NULL),(291,2,NULL,NULL,NULL,NULL,'13.220.20.34',0,'available',NULL,'2025-09-04 04:59:12',NULL),(292,2,NULL,NULL,NULL,NULL,'13.220.20.35',0,'available',NULL,'2025-09-04 04:59:12',NULL),(293,2,NULL,NULL,NULL,NULL,'13.220.20.36',0,'available',NULL,'2025-09-04 04:59:12',NULL),(294,2,NULL,NULL,NULL,NULL,'13.220.20.37',0,'available',NULL,'2025-09-04 04:59:12',NULL),(295,2,NULL,NULL,NULL,NULL,'13.220.20.38',0,'available',NULL,'2025-09-04 04:59:12',NULL),(296,2,NULL,NULL,NULL,NULL,'13.220.20.39',0,'available',NULL,'2025-09-04 04:59:12',NULL),(297,2,NULL,NULL,NULL,NULL,'13.220.20.40',0,'available',NULL,'2025-09-04 04:59:12',NULL),(298,2,NULL,NULL,NULL,NULL,'13.220.20.41',0,'available',NULL,'2025-09-04 04:59:12',NULL),(299,2,NULL,NULL,NULL,NULL,'13.220.20.42',0,'available',NULL,'2025-09-04 04:59:12',NULL),(300,2,NULL,NULL,NULL,NULL,'13.220.20.43',0,'available',NULL,'2025-09-04 04:59:12',NULL),(301,2,NULL,NULL,NULL,NULL,'13.220.20.44',0,'available',NULL,'2025-09-04 04:59:12',NULL),(302,2,NULL,NULL,NULL,NULL,'13.220.20.45',0,'available',NULL,'2025-09-04 04:59:12',NULL),(303,2,NULL,NULL,NULL,NULL,'13.220.20.46',0,'available',NULL,'2025-09-04 04:59:12',NULL),(304,2,NULL,NULL,NULL,NULL,'13.220.20.47',0,'available',NULL,'2025-09-04 04:59:12',NULL),(305,2,NULL,NULL,NULL,NULL,'13.220.20.48',0,'available',NULL,'2025-09-04 04:59:12',NULL),(306,2,NULL,NULL,NULL,NULL,'13.220.20.49',0,'available',NULL,'2025-09-04 04:59:12',NULL),(307,2,NULL,NULL,NULL,NULL,'13.220.20.50',0,'available',NULL,'2025-09-04 04:59:12',NULL),(308,2,NULL,NULL,NULL,NULL,'13.220.20.51',0,'available',NULL,'2025-09-04 04:59:12',NULL),(309,2,NULL,NULL,NULL,NULL,'13.220.20.52',0,'available',NULL,'2025-09-04 04:59:12',NULL),(310,2,NULL,NULL,NULL,NULL,'13.220.20.53',0,'available',NULL,'2025-09-04 04:59:12',NULL),(311,2,NULL,NULL,NULL,NULL,'13.220.20.54',0,'available',NULL,'2025-09-04 04:59:12',NULL),(312,2,NULL,NULL,NULL,NULL,'13.220.20.55',0,'available',NULL,'2025-09-04 04:59:12',NULL),(313,2,NULL,NULL,NULL,NULL,'13.220.20.56',0,'available',NULL,'2025-09-04 04:59:12',NULL),(314,2,NULL,NULL,NULL,NULL,'13.220.20.57',0,'available',NULL,'2025-09-04 04:59:12',NULL),(315,2,NULL,NULL,NULL,NULL,'13.220.20.58',0,'available',NULL,'2025-09-04 04:59:12',NULL),(316,2,NULL,NULL,NULL,NULL,'13.220.20.59',0,'available',NULL,'2025-09-04 04:59:12',NULL),(317,2,NULL,NULL,NULL,NULL,'13.220.20.60',0,'available',NULL,'2025-09-04 04:59:12',NULL),(318,2,NULL,NULL,NULL,NULL,'13.220.20.61',0,'available',NULL,'2025-09-04 04:59:12',NULL),(319,2,NULL,NULL,NULL,NULL,'13.220.20.62',0,'available',NULL,'2025-09-04 04:59:12',NULL),(320,2,NULL,NULL,NULL,NULL,'13.220.20.63',0,'available',NULL,'2025-09-04 04:59:12',NULL),(321,2,NULL,NULL,NULL,NULL,'13.220.20.64',0,'available',NULL,'2025-09-04 04:59:12',NULL),(322,2,NULL,NULL,NULL,NULL,'13.220.20.65',0,'available',NULL,'2025-09-04 04:59:12',NULL),(323,2,NULL,NULL,NULL,NULL,'13.220.20.66',0,'available',NULL,'2025-09-04 04:59:12',NULL),(324,2,NULL,NULL,NULL,NULL,'13.220.20.67',0,'available',NULL,'2025-09-04 04:59:12',NULL),(325,2,NULL,NULL,NULL,NULL,'13.220.20.68',0,'available',NULL,'2025-09-04 04:59:12',NULL),(326,2,NULL,NULL,NULL,NULL,'13.220.20.69',0,'available',NULL,'2025-09-04 04:59:12',NULL),(327,2,NULL,NULL,NULL,NULL,'13.220.20.70',0,'available',NULL,'2025-09-04 04:59:12',NULL),(328,2,NULL,NULL,NULL,NULL,'13.220.20.71',0,'available',NULL,'2025-09-04 04:59:12',NULL),(329,2,NULL,NULL,NULL,NULL,'13.220.20.72',0,'available',NULL,'2025-09-04 04:59:12',NULL),(330,2,NULL,NULL,NULL,NULL,'13.220.20.73',0,'available',NULL,'2025-09-04 04:59:12',NULL),(331,2,NULL,NULL,NULL,NULL,'13.220.20.74',0,'available',NULL,'2025-09-04 04:59:12',NULL),(332,2,NULL,NULL,NULL,NULL,'13.220.20.75',0,'available',NULL,'2025-09-04 04:59:12',NULL),(333,2,NULL,NULL,NULL,NULL,'13.220.20.76',0,'available',NULL,'2025-09-04 04:59:12',NULL),(334,2,NULL,NULL,NULL,NULL,'13.220.20.77',0,'available',NULL,'2025-09-04 04:59:12',NULL),(335,2,NULL,NULL,NULL,NULL,'13.220.20.78',0,'available',NULL,'2025-09-04 04:59:12',NULL),(336,2,NULL,NULL,NULL,NULL,'13.220.20.79',0,'available',NULL,'2025-09-04 04:59:12',NULL),(337,2,NULL,NULL,NULL,NULL,'13.220.20.80',0,'available',NULL,'2025-09-04 04:59:12',NULL),(338,2,NULL,NULL,NULL,NULL,'13.220.20.81',0,'available',NULL,'2025-09-04 04:59:12',NULL),(339,2,NULL,NULL,NULL,NULL,'13.220.20.82',0,'available',NULL,'2025-09-04 04:59:12',NULL),(340,2,NULL,NULL,NULL,NULL,'13.220.20.83',0,'available',NULL,'2025-09-04 04:59:12',NULL),(341,2,NULL,NULL,NULL,NULL,'13.220.20.84',0,'available',NULL,'2025-09-04 04:59:12',NULL),(342,2,NULL,NULL,NULL,NULL,'13.220.20.85',0,'available',NULL,'2025-09-04 04:59:12',NULL),(343,2,NULL,NULL,NULL,NULL,'13.220.20.86',0,'available',NULL,'2025-09-04 04:59:12',NULL),(344,2,NULL,NULL,NULL,NULL,'13.220.20.87',0,'available',NULL,'2025-09-04 04:59:12',NULL),(345,2,NULL,NULL,NULL,NULL,'13.220.20.88',0,'available',NULL,'2025-09-04 04:59:12',NULL),(346,2,NULL,NULL,NULL,NULL,'13.220.20.89',0,'available',NULL,'2025-09-04 04:59:12',NULL),(347,2,NULL,NULL,NULL,NULL,'13.220.20.90',0,'available',NULL,'2025-09-04 04:59:12',NULL),(348,2,NULL,NULL,NULL,NULL,'13.220.20.91',0,'available',NULL,'2025-09-04 04:59:12',NULL),(349,2,NULL,NULL,NULL,NULL,'13.220.20.92',0,'available',NULL,'2025-09-04 04:59:12',NULL),(350,2,NULL,NULL,NULL,NULL,'13.220.20.93',0,'available',NULL,'2025-09-04 04:59:12',NULL),(351,2,NULL,NULL,NULL,NULL,'13.220.20.94',0,'available',NULL,'2025-09-04 04:59:12',NULL),(352,2,NULL,NULL,NULL,NULL,'13.220.20.95',0,'available',NULL,'2025-09-04 04:59:12',NULL),(353,2,NULL,NULL,NULL,NULL,'13.220.20.96',0,'available',NULL,'2025-09-04 04:59:12',NULL),(354,2,NULL,NULL,NULL,NULL,'13.220.20.97',0,'available',NULL,'2025-09-04 04:59:12',NULL),(355,2,NULL,NULL,NULL,NULL,'13.220.20.98',0,'available',NULL,'2025-09-04 04:59:12',NULL),(356,2,NULL,NULL,NULL,NULL,'13.220.20.99',0,'available',NULL,'2025-09-04 04:59:12',NULL),(357,2,NULL,NULL,NULL,NULL,'13.220.20.100',0,'available',NULL,'2025-09-04 04:59:12',NULL),(358,2,NULL,NULL,NULL,NULL,'13.220.20.101',0,'available',NULL,'2025-09-04 04:59:12',NULL),(359,2,NULL,NULL,NULL,NULL,'13.220.20.102',0,'available',NULL,'2025-09-04 04:59:12',NULL),(360,2,NULL,NULL,NULL,NULL,'13.220.20.103',0,'available',NULL,'2025-09-04 04:59:12',NULL),(361,2,NULL,NULL,NULL,NULL,'13.220.20.104',0,'available',NULL,'2025-09-04 04:59:12',NULL),(362,2,NULL,NULL,NULL,NULL,'13.220.20.105',0,'available',NULL,'2025-09-04 04:59:12',NULL),(363,2,NULL,NULL,NULL,NULL,'13.220.20.106',0,'available',NULL,'2025-09-04 04:59:12',NULL),(364,2,NULL,NULL,NULL,NULL,'13.220.20.107',0,'available',NULL,'2025-09-04 04:59:12',NULL),(365,2,NULL,NULL,NULL,NULL,'13.220.20.108',0,'available',NULL,'2025-09-04 04:59:12',NULL),(366,2,NULL,NULL,NULL,NULL,'13.220.20.109',0,'available',NULL,'2025-09-04 04:59:12',NULL),(367,2,NULL,NULL,NULL,NULL,'13.220.20.110',0,'available',NULL,'2025-09-04 04:59:12',NULL),(368,2,NULL,NULL,NULL,NULL,'13.220.20.111',0,'available',NULL,'2025-09-04 04:59:12',NULL),(369,2,NULL,NULL,NULL,NULL,'13.220.20.112',0,'available',NULL,'2025-09-04 04:59:12',NULL),(370,2,NULL,NULL,NULL,NULL,'13.220.20.113',0,'available',NULL,'2025-09-04 04:59:12',NULL),(371,2,NULL,NULL,NULL,NULL,'13.220.20.114',0,'available',NULL,'2025-09-04 04:59:12',NULL),(372,2,NULL,NULL,NULL,NULL,'13.220.20.115',0,'available',NULL,'2025-09-04 04:59:12',NULL),(373,2,NULL,NULL,NULL,NULL,'13.220.20.116',0,'available',NULL,'2025-09-04 04:59:12',NULL),(374,2,NULL,NULL,NULL,NULL,'13.220.20.117',0,'available',NULL,'2025-09-04 04:59:12',NULL),(375,2,NULL,NULL,NULL,NULL,'13.220.20.118',0,'available',NULL,'2025-09-04 04:59:12',NULL),(376,2,NULL,NULL,NULL,NULL,'13.220.20.119',0,'available',NULL,'2025-09-04 04:59:12',NULL),(377,2,NULL,NULL,NULL,NULL,'13.220.20.120',0,'available',NULL,'2025-09-04 04:59:12',NULL),(378,2,NULL,NULL,NULL,NULL,'13.220.20.121',0,'available',NULL,'2025-09-04 04:59:12',NULL),(379,2,NULL,NULL,NULL,NULL,'13.220.20.122',0,'available',NULL,'2025-09-04 04:59:12',NULL),(380,2,NULL,NULL,NULL,NULL,'13.220.20.123',0,'available',NULL,'2025-09-04 04:59:12',NULL),(381,2,NULL,NULL,NULL,NULL,'13.220.20.124',0,'available',NULL,'2025-09-04 04:59:12',NULL),(382,2,NULL,NULL,NULL,NULL,'13.220.20.125',0,'available',NULL,'2025-09-04 04:59:12',NULL),(383,2,NULL,NULL,NULL,NULL,'13.220.20.126',0,'available',NULL,'2025-09-04 04:59:12',NULL),(384,2,NULL,NULL,NULL,NULL,'13.220.20.127',0,'available',NULL,'2025-09-04 04:59:12',NULL),(385,2,NULL,NULL,NULL,NULL,'13.220.20.128',0,'available',NULL,'2025-09-04 04:59:12',NULL),(386,2,NULL,NULL,NULL,NULL,'13.220.20.129',0,'available',NULL,'2025-09-04 04:59:12',NULL),(387,2,NULL,NULL,NULL,NULL,'13.220.20.130',0,'available',NULL,'2025-09-04 04:59:12',NULL),(388,2,NULL,NULL,NULL,NULL,'13.220.20.131',0,'available',NULL,'2025-09-04 04:59:12',NULL),(389,2,NULL,NULL,NULL,NULL,'13.220.20.132',0,'available',NULL,'2025-09-04 04:59:12',NULL),(390,2,NULL,NULL,NULL,NULL,'13.220.20.133',0,'available',NULL,'2025-09-04 04:59:12',NULL),(391,2,NULL,NULL,NULL,NULL,'13.220.20.134',0,'available',NULL,'2025-09-04 04:59:12',NULL),(392,2,NULL,NULL,NULL,NULL,'13.220.20.135',0,'available',NULL,'2025-09-04 04:59:12',NULL),(393,2,NULL,NULL,NULL,NULL,'13.220.20.136',0,'available',NULL,'2025-09-04 04:59:12',NULL),(394,2,NULL,NULL,NULL,NULL,'13.220.20.137',0,'available',NULL,'2025-09-04 04:59:12',NULL),(395,2,NULL,NULL,NULL,NULL,'13.220.20.138',0,'available',NULL,'2025-09-04 04:59:12',NULL),(396,2,NULL,NULL,NULL,NULL,'13.220.20.139',0,'available',NULL,'2025-09-04 04:59:12',NULL),(397,2,NULL,NULL,NULL,NULL,'13.220.20.140',0,'available',NULL,'2025-09-04 04:59:12',NULL),(398,2,NULL,NULL,NULL,NULL,'13.220.20.141',0,'available',NULL,'2025-09-04 04:59:12',NULL),(399,2,NULL,NULL,NULL,NULL,'13.220.20.142',0,'available',NULL,'2025-09-04 04:59:12',NULL),(400,2,NULL,NULL,NULL,NULL,'13.220.20.143',0,'available',NULL,'2025-09-04 04:59:12',NULL),(401,2,NULL,NULL,NULL,NULL,'13.220.20.144',0,'available',NULL,'2025-09-04 04:59:12',NULL),(402,2,NULL,NULL,NULL,NULL,'13.220.20.145',0,'available',NULL,'2025-09-04 04:59:12',NULL),(403,2,NULL,NULL,NULL,NULL,'13.220.20.146',0,'available',NULL,'2025-09-04 04:59:12',NULL),(404,2,NULL,NULL,NULL,NULL,'13.220.20.147',0,'available',NULL,'2025-09-04 04:59:12',NULL),(405,2,NULL,NULL,NULL,NULL,'13.220.20.148',0,'available',NULL,'2025-09-04 04:59:12',NULL),(406,2,NULL,NULL,NULL,NULL,'13.220.20.149',0,'available',NULL,'2025-09-04 04:59:12',NULL),(407,2,NULL,NULL,NULL,NULL,'13.220.20.150',0,'available',NULL,'2025-09-04 04:59:12',NULL),(408,2,NULL,NULL,NULL,NULL,'13.220.20.151',0,'available',NULL,'2025-09-04 04:59:12',NULL),(409,2,NULL,NULL,NULL,NULL,'13.220.20.152',0,'available',NULL,'2025-09-04 04:59:12',NULL),(410,2,NULL,NULL,NULL,NULL,'13.220.20.153',0,'available',NULL,'2025-09-04 04:59:12',NULL),(411,2,NULL,NULL,NULL,NULL,'13.220.20.154',0,'available',NULL,'2025-09-04 04:59:12',NULL),(412,2,NULL,NULL,NULL,NULL,'13.220.20.155',0,'available',NULL,'2025-09-04 04:59:12',NULL),(413,2,NULL,NULL,NULL,NULL,'13.220.20.156',0,'available',NULL,'2025-09-04 04:59:12',NULL),(414,2,NULL,NULL,NULL,NULL,'13.220.20.157',0,'available',NULL,'2025-09-04 04:59:12',NULL),(415,2,NULL,NULL,NULL,NULL,'13.220.20.158',0,'available',NULL,'2025-09-04 04:59:12',NULL),(416,2,NULL,NULL,NULL,NULL,'13.220.20.159',0,'available',NULL,'2025-09-04 04:59:12',NULL),(417,2,NULL,NULL,NULL,NULL,'13.220.20.160',0,'available',NULL,'2025-09-04 04:59:12',NULL),(418,2,NULL,NULL,NULL,NULL,'13.220.20.161',0,'available',NULL,'2025-09-04 04:59:12',NULL),(419,2,NULL,NULL,NULL,NULL,'13.220.20.162',0,'available',NULL,'2025-09-04 04:59:12',NULL),(420,2,NULL,NULL,NULL,NULL,'13.220.20.163',0,'available',NULL,'2025-09-04 04:59:12',NULL),(421,2,NULL,NULL,NULL,NULL,'13.220.20.164',0,'available',NULL,'2025-09-04 04:59:12',NULL),(422,2,NULL,NULL,NULL,NULL,'13.220.20.165',0,'available',NULL,'2025-09-04 04:59:12',NULL),(423,2,NULL,NULL,NULL,NULL,'13.220.20.166',0,'available',NULL,'2025-09-04 04:59:12',NULL),(424,2,NULL,NULL,NULL,NULL,'13.220.20.167',0,'available',NULL,'2025-09-04 04:59:12',NULL),(425,2,NULL,NULL,NULL,NULL,'13.220.20.168',0,'available',NULL,'2025-09-04 04:59:12',NULL),(426,2,NULL,NULL,NULL,NULL,'13.220.20.169',0,'available',NULL,'2025-09-04 04:59:12',NULL),(427,2,NULL,NULL,NULL,NULL,'13.220.20.170',0,'available',NULL,'2025-09-04 04:59:12',NULL),(428,2,NULL,NULL,NULL,NULL,'13.220.20.171',0,'available',NULL,'2025-09-04 04:59:12',NULL),(429,2,NULL,NULL,NULL,NULL,'13.220.20.172',0,'available',NULL,'2025-09-04 04:59:12',NULL),(430,2,NULL,NULL,NULL,NULL,'13.220.20.173',0,'available',NULL,'2025-09-04 04:59:12',NULL),(431,2,NULL,NULL,NULL,NULL,'13.220.20.174',0,'available',NULL,'2025-09-04 04:59:12',NULL),(432,2,NULL,NULL,NULL,NULL,'13.220.20.175',0,'available',NULL,'2025-09-04 04:59:12',NULL),(433,2,NULL,NULL,NULL,NULL,'13.220.20.176',0,'available',NULL,'2025-09-04 04:59:12',NULL),(434,2,NULL,NULL,NULL,NULL,'13.220.20.177',0,'available',NULL,'2025-09-04 04:59:12',NULL),(435,2,NULL,NULL,NULL,NULL,'13.220.20.178',0,'available',NULL,'2025-09-04 04:59:12',NULL),(436,2,NULL,NULL,NULL,NULL,'13.220.20.179',0,'available',NULL,'2025-09-04 04:59:12',NULL),(437,2,NULL,NULL,NULL,NULL,'13.220.20.180',0,'available',NULL,'2025-09-04 04:59:12',NULL),(438,2,NULL,NULL,NULL,NULL,'13.220.20.181',0,'available',NULL,'2025-09-04 04:59:12',NULL),(439,2,NULL,NULL,NULL,NULL,'13.220.20.182',0,'available',NULL,'2025-09-04 04:59:12',NULL),(440,2,NULL,NULL,NULL,NULL,'13.220.20.183',0,'available',NULL,'2025-09-04 04:59:12',NULL),(441,2,NULL,NULL,NULL,NULL,'13.220.20.184',0,'available',NULL,'2025-09-04 04:59:12',NULL),(442,2,NULL,NULL,NULL,NULL,'13.220.20.185',0,'available',NULL,'2025-09-04 04:59:12',NULL),(443,2,NULL,NULL,NULL,NULL,'13.220.20.186',0,'available',NULL,'2025-09-04 04:59:12',NULL),(444,2,NULL,NULL,NULL,NULL,'13.220.20.187',0,'available',NULL,'2025-09-04 04:59:12',NULL),(445,2,NULL,NULL,NULL,NULL,'13.220.20.188',0,'available',NULL,'2025-09-04 04:59:12',NULL),(446,2,NULL,NULL,NULL,NULL,'13.220.20.189',0,'available',NULL,'2025-09-04 04:59:12',NULL),(447,2,NULL,NULL,NULL,NULL,'13.220.20.190',0,'available',NULL,'2025-09-04 04:59:12',NULL),(448,2,NULL,NULL,NULL,NULL,'13.220.20.191',0,'available',NULL,'2025-09-04 04:59:12',NULL),(449,2,NULL,NULL,NULL,NULL,'13.220.20.192',0,'available',NULL,'2025-09-04 04:59:12',NULL),(450,2,NULL,NULL,NULL,NULL,'13.220.20.193',0,'available',NULL,'2025-09-04 04:59:12',NULL),(451,2,NULL,NULL,NULL,NULL,'13.220.20.194',0,'available',NULL,'2025-09-04 04:59:12',NULL),(452,2,NULL,NULL,NULL,NULL,'13.220.20.195',0,'available',NULL,'2025-09-04 04:59:12',NULL),(453,2,NULL,NULL,NULL,NULL,'13.220.20.196',0,'available',NULL,'2025-09-04 04:59:12',NULL),(454,2,NULL,NULL,NULL,NULL,'13.220.20.197',0,'available',NULL,'2025-09-04 04:59:12',NULL),(455,2,NULL,NULL,NULL,NULL,'13.220.20.198',0,'available',NULL,'2025-09-04 04:59:12',NULL),(456,2,NULL,NULL,NULL,NULL,'13.220.20.199',0,'available',NULL,'2025-09-04 04:59:12',NULL),(457,2,NULL,NULL,NULL,NULL,'13.220.20.200',0,'available',NULL,'2025-09-04 04:59:12',NULL),(458,2,NULL,NULL,NULL,NULL,'13.220.20.201',0,'available',NULL,'2025-09-04 04:59:12',NULL),(459,2,NULL,NULL,NULL,NULL,'13.220.20.202',0,'available',NULL,'2025-09-04 04:59:12',NULL),(460,2,NULL,NULL,NULL,NULL,'13.220.20.203',0,'available',NULL,'2025-09-04 04:59:12',NULL),(461,2,NULL,NULL,NULL,NULL,'13.220.20.204',0,'available',NULL,'2025-09-04 04:59:12',NULL),(462,2,NULL,NULL,NULL,NULL,'13.220.20.205',0,'available',NULL,'2025-09-04 04:59:12',NULL),(463,2,NULL,NULL,NULL,NULL,'13.220.20.206',0,'available',NULL,'2025-09-04 04:59:12',NULL),(464,2,NULL,NULL,NULL,NULL,'13.220.20.207',0,'available',NULL,'2025-09-04 04:59:12',NULL),(465,2,NULL,NULL,NULL,NULL,'13.220.20.208',0,'available',NULL,'2025-09-04 04:59:12',NULL),(466,2,NULL,NULL,NULL,NULL,'13.220.20.209',0,'available',NULL,'2025-09-04 04:59:12',NULL),(467,2,NULL,NULL,NULL,NULL,'13.220.20.210',0,'available',NULL,'2025-09-04 04:59:12',NULL),(468,2,NULL,NULL,NULL,NULL,'13.220.20.211',0,'available',NULL,'2025-09-04 04:59:12',NULL),(469,2,NULL,NULL,NULL,NULL,'13.220.20.212',0,'available',NULL,'2025-09-04 04:59:12',NULL),(470,2,NULL,NULL,NULL,NULL,'13.220.20.213',0,'available',NULL,'2025-09-04 04:59:12',NULL),(471,2,NULL,NULL,NULL,NULL,'13.220.20.214',0,'available',NULL,'2025-09-04 04:59:12',NULL),(472,2,NULL,NULL,NULL,NULL,'13.220.20.215',0,'available',NULL,'2025-09-04 04:59:12',NULL),(473,2,NULL,NULL,NULL,NULL,'13.220.20.216',0,'available',NULL,'2025-09-04 04:59:12',NULL),(474,2,NULL,NULL,NULL,NULL,'13.220.20.217',0,'available',NULL,'2025-09-04 04:59:12',NULL),(475,2,NULL,NULL,NULL,NULL,'13.220.20.218',0,'available',NULL,'2025-09-04 04:59:12',NULL),(476,2,NULL,NULL,NULL,NULL,'13.220.20.219',0,'available',NULL,'2025-09-04 04:59:12',NULL),(477,2,NULL,NULL,NULL,NULL,'13.220.20.220',0,'available',NULL,'2025-09-04 04:59:12',NULL),(478,2,NULL,NULL,NULL,NULL,'13.220.20.221',0,'available',NULL,'2025-09-04 04:59:12',NULL),(479,2,NULL,NULL,NULL,NULL,'13.220.20.222',0,'available',NULL,'2025-09-04 04:59:12',NULL),(480,2,NULL,NULL,NULL,NULL,'13.220.20.223',0,'available',NULL,'2025-09-04 04:59:12',NULL),(481,2,NULL,NULL,NULL,NULL,'13.220.20.224',0,'available',NULL,'2025-09-04 04:59:12',NULL),(482,2,NULL,NULL,NULL,NULL,'13.220.20.225',0,'available',NULL,'2025-09-04 04:59:12',NULL),(483,2,NULL,NULL,NULL,NULL,'13.220.20.226',0,'available',NULL,'2025-09-04 04:59:12',NULL),(484,2,NULL,NULL,NULL,NULL,'13.220.20.227',0,'available',NULL,'2025-09-04 04:59:12',NULL),(485,2,NULL,NULL,NULL,NULL,'13.220.20.228',0,'available',NULL,'2025-09-04 04:59:12',NULL),(486,2,NULL,NULL,NULL,NULL,'13.220.20.229',0,'available',NULL,'2025-09-04 04:59:12',NULL),(487,2,NULL,NULL,NULL,NULL,'13.220.20.230',0,'available',NULL,'2025-09-04 04:59:12',NULL),(488,2,NULL,NULL,NULL,NULL,'13.220.20.231',0,'available',NULL,'2025-09-04 04:59:12',NULL),(489,2,NULL,NULL,NULL,NULL,'13.220.20.232',0,'available',NULL,'2025-09-04 04:59:12',NULL),(490,2,NULL,NULL,NULL,NULL,'13.220.20.233',0,'available',NULL,'2025-09-04 04:59:12',NULL),(491,2,NULL,NULL,NULL,NULL,'13.220.20.234',0,'available',NULL,'2025-09-04 04:59:12',NULL),(492,2,NULL,NULL,NULL,NULL,'13.220.20.235',0,'available',NULL,'2025-09-04 04:59:12',NULL),(493,2,NULL,NULL,NULL,NULL,'13.220.20.236',0,'available',NULL,'2025-09-04 04:59:12',NULL),(494,2,NULL,NULL,NULL,NULL,'13.220.20.237',0,'available',NULL,'2025-09-04 04:59:12',NULL),(495,2,NULL,NULL,NULL,NULL,'13.220.20.238',0,'available',NULL,'2025-09-04 04:59:12',NULL),(496,2,NULL,NULL,NULL,NULL,'13.220.20.239',0,'available',NULL,'2025-09-04 04:59:12',NULL),(497,2,NULL,NULL,NULL,NULL,'13.220.20.240',0,'available',NULL,'2025-09-04 04:59:12',NULL),(498,2,NULL,NULL,NULL,NULL,'13.220.20.241',0,'available',NULL,'2025-09-04 04:59:12',NULL),(499,2,NULL,NULL,NULL,NULL,'13.220.20.242',0,'available',NULL,'2025-09-04 04:59:12',NULL),(500,2,NULL,NULL,NULL,NULL,'13.220.20.243',0,'available',NULL,'2025-09-04 04:59:12',NULL),(501,2,NULL,NULL,NULL,NULL,'13.220.20.244',0,'available',NULL,'2025-09-04 04:59:12',NULL),(502,2,NULL,NULL,NULL,NULL,'13.220.20.245',0,'available',NULL,'2025-09-04 04:59:12',NULL),(503,2,NULL,NULL,NULL,NULL,'13.220.20.246',0,'available',NULL,'2025-09-04 04:59:12',NULL),(504,2,NULL,NULL,NULL,NULL,'13.220.20.247',0,'available',NULL,'2025-09-04 04:59:12',NULL),(505,2,NULL,NULL,NULL,NULL,'13.220.20.248',0,'available',NULL,'2025-09-04 04:59:12',NULL),(506,2,NULL,NULL,NULL,NULL,'13.220.20.249',0,'available',NULL,'2025-09-04 04:59:12',NULL),(507,2,NULL,NULL,NULL,NULL,'13.220.20.250',0,'available',NULL,'2025-09-04 04:59:12',NULL),(508,2,NULL,NULL,NULL,NULL,'13.220.20.251',0,'available',NULL,'2025-09-04 04:59:12',NULL),(509,2,NULL,NULL,NULL,NULL,'13.220.20.252',0,'available',NULL,'2025-09-04 04:59:12',NULL),(510,2,NULL,NULL,NULL,NULL,'13.220.20.253',0,'available',NULL,'2025-09-04 04:59:12',NULL),(511,2,NULL,NULL,NULL,NULL,'13.220.20.254',0,'available',NULL,'2025-09-04 04:59:12',NULL),(512,2,NULL,NULL,NULL,NULL,'13.220.20.255',0,'available',NULL,'2025-09-04 04:59:12',NULL); /*!40000 ALTER TABLE `ipinfo` ENABLE KEYS */; UNLOCK TABLES; @@ -278,7 +278,7 @@ CREATE TABLE `partinfo` ( LOCK TABLES `partinfo` WRITE; /*!40000 ALTER TABLE `partinfo` DISABLE KEYS */; -INSERT INTO `partinfo` VALUES (1,'CPU1','CPU','Xeon E5530 2.4Ghz 4Core',50000,99,'available','2025-09-17 07:48:14','2025-09-04 04:54:34',NULL),(2,'CPU2','CPU','Xeon E5540 2.4Ghz 4Core',50000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(3,'CPU3','CPU','Xeon X5560 2.8Ghz 8Core',80000,98,'available','2025-09-17 07:49:12','2025-09-04 04:54:34',NULL),(4,'CPU4','CPU','Xeon X5650 2.6Ghz 12Core',100000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(5,'CPU5','CPU','Xeon E5-2690v2 2.6Ghz 12Core',100000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(6,'CPU6','CPU','Xeon E5-2690v4 3.0Ghz 20Core',150000,100,'available','2025-09-05 00:04:09','2025-09-04 04:54:34',NULL),(7,'RAM7','RAM','2G',20000,98,'available','2025-09-17 07:49:35','2025-09-04 04:54:34',NULL),(8,'RAM8','RAM','4G',30000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(9,'RAM9','RAM','8G',40000,100,'available','2025-09-05 00:05:26','2025-09-04 04:54:34',NULL),(10,'RAM10','RAM','16G',60000,99,'available','2025-09-17 07:47:54','2025-09-04 04:54:34',NULL),(11,'RAM11','RAM','32G',100000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(12,'RAM12','RAM','64G',100000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(13,'DISK13','DISK','SATA 128G',50000,97,'available','2025-09-17 08:09:06','2025-09-04 04:54:34',NULL),(14,'DISK14','DISK','SATA 256G',70000,100,'available','2025-09-05 01:27:05','2025-09-04 04:54:34',NULL),(15,'DISK15','DISK','SATA 512G',90000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(16,'DISK16','DISK','SAS 128G',60000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(17,'DISK17','DISK','SAS 256G',80000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(18,'DISK18','DISK','SAS 512G',100000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(19,'DISK19','DISK','SSD 128G',60000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(20,'DISK20','DISK','SSD 256G',80000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(21,'DISK21','DISK','SSD 512G',100000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(22,'DISK22','DISK','SSD 1T',120000,100,'available','2025-09-05 00:04:09','2025-09-04 04:54:34',NULL),(23,'DISK23','DISK','SSD 2T',150000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(24,'DISK24','DISK','NVME 512G',120000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(25,'DISK25','DISK','NVME 1T',150000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(26,'DISK26','DISK','NVME 2T',180000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(27,'OS27','OS','Windows 10',10000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(28,'OS28','OS','Windows 11',20000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(29,'OS29','OS','Windows NT 2008R2',30000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(30,'OS30','OS','Windows NT 2012R2',30000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(31,'OS31','OS','Windows NT 2016R2',30000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(32,'OS32','OS','Windows NT 2019R2',30000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(33,'OS33','OS','CentOS 7',10000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(34,'OS34','OS','CentOS 8',10000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(35,'OS35','OS','CentOS 9',10000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(36,'OS36','OS','Ununtu 20.04',10000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(37,'OS37','OS','Ununtu 21.04',10000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(38,'OS38','OS','Ununtu 22.04',10000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(39,'DB39','DB','Windows MSSQL 2008',10000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(40,'DB40','DB','Windows MSSQL 2012',10000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(41,'DB41','DB','Mysql',10000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(42,'DB42','DB','Postgress',10000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(43,'SOFTWARE43','SOFTWARE','닷디펜더',50000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(44,'SOFTWARE44','SOFTWARE','딥파인더',50000,100,'available',NULL,'2025-09-04 04:54:34',NULL); +INSERT INTO `partinfo` VALUES (1,'CPU1','CPU','Xeon E5530 2.4Ghz 4Core',50000,99,'available','2025-09-17 07:48:14','2025-09-04 04:54:34',NULL),(2,'CPU2','CPU','Xeon E5540 2.4Ghz 4Core',50000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(3,'CPU3','CPU','Xeon X5560 2.8Ghz 8Core',80000,98,'available','2025-09-17 07:49:12','2025-09-04 04:54:34',NULL),(4,'CPU4','CPU','Xeon X5650 2.6Ghz 12Core',100000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(5,'CPU5','CPU','Xeon E5-2690v2 2.6Ghz 12Core',100000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(6,'CPU6','CPU','Xeon E5-2690v4 3.0Ghz 20Core',150000,100,'available','2025-09-05 00:04:09','2025-09-04 04:54:34',NULL),(7,'RAM7','RAM','2G',20000,98,'available','2025-09-17 07:49:35','2025-09-04 04:54:34',NULL),(8,'RAM8','RAM','4G',30000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(9,'RAM9','RAM','8G',40000,100,'available','2025-09-05 00:05:26','2025-09-04 04:54:34',NULL),(10,'RAM10','RAM','16G',60000,99,'available','2025-09-17 07:47:54','2025-09-04 04:54:34',NULL),(11,'RAM11','RAM','32G',100000,99,'available','2025-09-17 08:13:21','2025-09-04 04:54:34',NULL),(12,'RAM12','RAM','64G',100000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(13,'DISK13','DISK','SATA 128G',50000,95,'available','2025-09-17 08:12:30','2025-09-04 04:54:34',NULL),(14,'DISK14','DISK','SATA 256G',70000,100,'available','2025-09-05 01:27:05','2025-09-04 04:54:34',NULL),(15,'DISK15','DISK','SATA 512G',90000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(16,'DISK16','DISK','SAS 128G',60000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(17,'DISK17','DISK','SAS 256G',80000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(18,'DISK18','DISK','SAS 512G',100000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(19,'DISK19','DISK','SSD 128G',60000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(20,'DISK20','DISK','SSD 256G',80000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(21,'DISK21','DISK','SSD 512G',100000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(22,'DISK22','DISK','SSD 1T',120000,100,'available','2025-09-05 00:04:09','2025-09-04 04:54:34',NULL),(23,'DISK23','DISK','SSD 2T',150000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(24,'DISK24','DISK','NVME 512G',120000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(25,'DISK25','DISK','NVME 1T',150000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(26,'DISK26','DISK','NVME 2T',180000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(27,'OS27','OS','Windows 10',10000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(28,'OS28','OS','Windows 11',20000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(29,'OS29','OS','Windows NT 2008R2',30000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(30,'OS30','OS','Windows NT 2012R2',30000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(31,'OS31','OS','Windows NT 2016R2',30000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(32,'OS32','OS','Windows NT 2019R2',30000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(33,'OS33','OS','CentOS 7',10000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(34,'OS34','OS','CentOS 8',10000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(35,'OS35','OS','CentOS 9',10000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(36,'OS36','OS','Ununtu 20.04',10000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(37,'OS37','OS','Ununtu 21.04',10000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(38,'OS38','OS','Ununtu 22.04',10000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(39,'DB39','DB','Windows MSSQL 2008',10000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(40,'DB40','DB','Windows MSSQL 2012',10000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(41,'DB41','DB','Mysql',10000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(42,'DB42','DB','Postgress',10000,100,'available',NULL,'2025-09-04 04:54:34',NULL),(43,'SOFTWARE43','SOFTWARE','닷디펜더',50000,99,'available','2025-09-18 03:12:40','2025-09-04 04:54:34',NULL),(44,'SOFTWARE44','SOFTWARE','딥파인더',50000,100,'available',NULL,'2025-09-04 04:54:34',NULL); /*!40000 ALTER TABLE `partinfo` ENABLE KEYS */; UNLOCK TABLES; @@ -294,6 +294,7 @@ CREATE TABLE `payment` ( `user_uid` int(11) NOT NULL COMMENT '관리자정보', `clientinfo_uid` int(11) NOT NULL COMMENT '고객정보', `serviceinfo_uid` int(11) NOT NULL COMMENT '서비스정보', + `serverpartinfo_uid` int(11) DEFAULT NULL COMMENT '서버파트연결정보', `title` varchar(50) NOT NULL COMMENT '청구 내용(제품명)', `amount` int(11) NOT NULL DEFAULT 0 COMMENT '청구금액', `billing` varchar(20) NOT NULL COMMENT '청구방법(month,onetime)', @@ -310,7 +311,7 @@ CREATE TABLE `payment` ( CONSTRAINT `FK_clientinfo_TO_payment` FOREIGN KEY (`clientinfo_uid`) REFERENCES `clientinfo` (`uid`), CONSTRAINT `FK_serviceinfo_TO_payment` FOREIGN KEY (`serviceinfo_uid`) REFERENCES `serviceinfo` (`uid`), CONSTRAINT `FK_user_TO_payment` FOREIGN KEY (`user_uid`) REFERENCES `user` (`uid`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='결제정보'; +) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COMMENT='결제정보'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -319,7 +320,7 @@ CREATE TABLE `payment` ( LOCK TABLES `payment` WRITE; /*!40000 ALTER TABLE `payment` DISABLE KEYS */; -INSERT INTO `payment` VALUES (3,1,193,11,'부품정보 [SATA 256G]에 대한 일회성 추가',70000,'onetime','2025-09-17',NULL,'unpaid',NULL,'2025-09-17 01:21:42',NULL); +INSERT INTO `payment` VALUES (3,1,193,11,NULL,'부품정보 [SATA 256G]에 대한 일회성 추가',70000,'onetime','2025-09-17',NULL,'unpaid',NULL,'2025-09-17 01:21:42',NULL),(4,1,585,5,NULL,'[32G] 부품정보 추가',100000,'onetime','2025-09-17',NULL,'unpaid',NULL,'2025-09-17 08:13:21',NULL),(5,1,101,13,NULL,'[HP DL360 Gen8] 서비스',600000,'month','2025-09-26',NULL,'unpaid','2025-09-17 09:33:57','2025-09-17 08:13:58',NULL),(6,1,585,5,NULL,'[13.220.20.3] 부품정보',0,'onetime','2025-09-18',NULL,'unpaid',NULL,'2025-09-17 23:56:25',NULL),(7,1,223,8,NULL,'test.co.kr 구매',50000,'onetime','2025-09-18',NULL,'unpaid',NULL,'2025-09-18 02:26:57',NULL),(8,1,69,9,NULL,'test.111.co.kr',40000,'onetime','2025-09-18',NULL,'unpaid','2025-09-18 02:37:30','2025-09-18 02:34:22',NULL); /*!40000 ALTER TABLE `payment` ENABLE KEYS */; UNLOCK TABLES; @@ -393,7 +394,7 @@ CREATE TABLE `serverinfo` ( LOCK TABLES `serverinfo` WRITE; /*!40000 ALTER TABLE `serverinfo` DISABLE KEYS */; -INSERT INTO `serverinfo` VALUES (4,223,8,'250905-M4','hp','Hitach HA3000',200000,'2025-09-02 15:00:00','2025-09-28 15:00:00','occupied','2025-09-08 07:28:50','2025-09-05 00:04:09',NULL),(5,585,10,'250905-M5','del','HP DL360 Gen7',100000,'2025-09-03 15:00:00','2025-09-26 15:00:00','occupied','2025-09-09 06:39:01','2025-09-05 00:05:26',NULL),(6,391,12,'250905-M6','etc','HP DL360 Gen8',300000,'2025-09-03 15:00:00','2025-09-27 15:00:00','occupied','2025-09-11 07:56:51','2025-09-05 07:36:21',NULL),(10,193,11,'250908-M7','hp','HP DL360 Gen9',500000,'2025-09-02 15:00:00','2025-09-27 15:00:00','occupied','2025-09-11 04:01:30','2025-09-08 07:14:10',NULL),(11,69,9,'250908-M11','etc','HP DL360 Gen10',500000,'2025-09-04 15:00:00','2025-09-26 15:00:00','occupied','2025-09-09 03:40:56','2025-09-08 07:25:24',NULL),(12,585,5,'250911-M12','del','HP DL360 Gen10',4,'2025-09-10 15:00:00',NULL,'occupied','2025-09-16 06:02:48','2025-09-11 03:52:55',NULL),(13,NULL,NULL,'250911-M13','del','HP DL360 Gen8',400000,'2025-09-10 15:00:00',NULL,'available',NULL,'2025-09-11 03:54:45',NULL); +INSERT INTO `serverinfo` VALUES (4,223,8,'250905-M4','hp','Hitach HA3000',200000,'2025-09-02 15:00:00','2025-09-28 15:00:00','occupied','2025-09-08 07:28:50','2025-09-05 00:04:09',NULL),(5,585,10,'250905-M5','del','HP DL360 Gen7',100000,'2025-09-03 15:00:00','2025-09-26 15:00:00','occupied','2025-09-09 06:39:01','2025-09-05 00:05:26',NULL),(6,391,12,'250905-M6','etc','HP DL360 Gen8',300000,'2025-09-03 15:00:00','2025-09-27 15:00:00','occupied','2025-09-11 07:56:51','2025-09-05 07:36:21',NULL),(10,193,11,'250908-M7','hp','HP DL360 Gen9',500000,'2025-09-02 15:00:00','2025-09-27 15:00:00','occupied','2025-09-11 04:01:30','2025-09-08 07:14:10',NULL),(11,69,9,'250908-M11','etc','HP DL360 Gen10',500000,'2025-09-04 15:00:00','2025-09-26 15:00:00','occupied','2025-09-09 03:40:56','2025-09-08 07:25:24',NULL),(12,585,5,'250911-M12','del','HP DL360 Gen10',4,'2025-09-10 15:00:00',NULL,'occupied','2025-09-16 06:02:48','2025-09-11 03:52:55',NULL),(13,101,13,'250911-M13','del','HP DL360 Gen8',400000,'2025-09-10 15:00:00',NULL,'occupied','2025-09-17 09:33:57','2025-09-11 03:54:45',NULL); /*!40000 ALTER TABLE `serverinfo` ENABLE KEYS */; UNLOCK TABLES; @@ -407,9 +408,10 @@ DROP TABLE IF EXISTS `serverpartinfo`; CREATE TABLE `serverpartinfo` ( `uid` int(11) NOT NULL AUTO_INCREMENT, `clientinfo_uid` int(11) DEFAULT NULL COMMENT '고객정보', - `part_uid` int(11) NOT NULL COMMENT 'PART_UID', + `part_uid` int(11) DEFAULT NULL, `serverinfo_uid` int(11) NOT NULL COMMENT '서버정보', `serviceinfo_uid` int(11) DEFAULT NULL COMMENT '서비스정보', + `title` varchar(255) NOT NULL, `type` varchar(20) NOT NULL COMMENT '구분', `billing` varchar(20) NOT NULL COMMENT '청구방법(month,onetime)', `amount` int(11) NOT NULL DEFAULT 0 COMMENT '서비스금액', @@ -422,7 +424,7 @@ CREATE TABLE `serverpartinfo` ( KEY `FK_serviceinfo_TO_serverpartinfo` (`serviceinfo_uid`), CONSTRAINT `FK_serverinfo_TO_serverpartinfo` FOREIGN KEY (`serverinfo_uid`) REFERENCES `serverinfo` (`uid`), CONSTRAINT `FK_serviceinfo_TO_serverpartinfo` FOREIGN KEY (`serviceinfo_uid`) REFERENCES `serviceinfo` (`uid`) -) ENGINE=InnoDB AUTO_INCREMENT=46 DEFAULT CHARSET=utf8 COMMENT='서버파트정보'; +) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=utf8 COMMENT='서버파트정보'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -431,7 +433,7 @@ CREATE TABLE `serverpartinfo` ( LOCK TABLES `serverpartinfo` WRITE; /*!40000 ALTER TABLE `serverpartinfo` DISABLE KEYS */; -INSERT INTO `serverpartinfo` VALUES (4,NULL,6,4,NULL,'CPU','',0,4,NULL,NULL,'2025-09-05 00:04:09'),(5,NULL,10,4,NULL,'RAM','',0,4,NULL,NULL,'2025-09-05 00:04:09'),(6,NULL,22,4,NULL,'DISK','',0,2,NULL,NULL,'2025-09-05 00:04:09'),(7,NULL,3,5,NULL,'CPU','',0,3,NULL,NULL,'2025-09-05 00:05:26'),(8,NULL,9,5,NULL,'RAM','',0,3,NULL,NULL,'2025-09-05 00:05:26'),(9,NULL,14,5,NULL,'DISK','',0,3,'RAID5',NULL,'2025-09-05 00:05:26'),(13,NULL,5,6,NULL,'CPU','',0,10,NULL,'2025-09-05 07:37:42','2025-09-05 07:36:21'),(14,NULL,7,6,NULL,'RAM','base',0,10,'','2025-09-11 03:57:23','2025-09-05 07:36:21'),(15,NULL,26,6,NULL,'DISK','',0,10,'RAID10',NULL,'2025-09-05 07:36:21'),(16,NULL,10,6,NULL,'RAM','onetime',100000,2,NULL,NULL,'2025-09-05 07:38:22'),(17,NULL,14,6,NULL,'DISK','month',10000,2,'RAID1',NULL,'2025-09-05 07:39:26'),(25,NULL,25,4,8,'SWITCH','base',0,1,NULL,NULL,'2025-09-08 08:13:09'),(26,NULL,1,11,9,'CPU','base',100000,2,'','2025-09-11 04:48:29','2025-09-09 03:39:10'),(28,NULL,510,12,5,'SWITCH','base',0,1,NULL,NULL,'2025-09-16 07:48:19'),(29,NULL,259,12,5,'IP','base',0,1,NULL,NULL,'2025-09-16 07:48:37'),(30,NULL,7,11,9,'RAM','base',20000,1,NULL,NULL,'2025-09-16 09:22:24'),(34,NULL,14,11,9,'DISK','base',70000,1,NULL,NULL,'2025-09-17 00:11:51'),(35,69,15,11,9,'DISK','base',90000,1,NULL,NULL,'2025-09-17 00:17:26'),(38,193,14,10,11,'DISK','onetime',70000,1,NULL,NULL,'2025-09-17 01:21:42'),(40,585,13,12,5,'DISK','base',50000,1,NULL,NULL,'2025-09-17 07:47:19'),(41,585,10,12,5,'RAM','base',60000,1,NULL,NULL,'2025-09-17 07:47:54'),(42,585,1,12,5,'CPU','base',50000,1,NULL,NULL,'2025-09-17 07:48:14'),(43,NULL,3,13,NULL,'CPU','base',80000,2,NULL,NULL,'2025-09-17 07:49:12'),(44,NULL,7,13,NULL,'RAM','base',20000,2,NULL,NULL,'2025-09-17 07:49:35'),(45,NULL,13,13,NULL,'DISK','base',50000,2,'RAID1',NULL,'2025-09-17 08:09:06'); +INSERT INTO `serverpartinfo` VALUES (4,NULL,6,4,NULL,'','CPU','',0,4,NULL,NULL,'2025-09-05 00:04:09'),(5,NULL,10,4,NULL,'','RAM','',0,4,NULL,NULL,'2025-09-05 00:04:09'),(6,NULL,22,4,NULL,'','DISK','',0,2,NULL,NULL,'2025-09-05 00:04:09'),(7,NULL,3,5,NULL,'','CPU','',0,3,NULL,NULL,'2025-09-05 00:05:26'),(8,NULL,9,5,NULL,'','RAM','',0,3,NULL,NULL,'2025-09-05 00:05:26'),(9,NULL,14,5,NULL,'','DISK','',0,3,'RAID5',NULL,'2025-09-05 00:05:26'),(13,NULL,5,6,NULL,'','CPU','',0,10,NULL,'2025-09-05 07:37:42','2025-09-05 07:36:21'),(14,NULL,7,6,NULL,'','RAM','base',0,10,'','2025-09-11 03:57:23','2025-09-05 07:36:21'),(15,NULL,26,6,NULL,'','DISK','',0,10,'RAID10',NULL,'2025-09-05 07:36:21'),(16,NULL,10,6,NULL,'','RAM','onetime',100000,2,NULL,NULL,'2025-09-05 07:38:22'),(17,NULL,14,6,NULL,'','DISK','month',10000,2,'RAID1',NULL,'2025-09-05 07:39:26'),(25,NULL,25,4,8,'','SWITCH','base',0,1,NULL,NULL,'2025-09-08 08:13:09'),(26,NULL,1,11,9,'','CPU','base',100000,2,'','2025-09-11 04:48:29','2025-09-09 03:39:10'),(28,NULL,510,12,5,'','SWITCH','base',0,1,NULL,NULL,'2025-09-16 07:48:19'),(29,NULL,259,12,5,'','IP','base',0,1,NULL,NULL,'2025-09-16 07:48:37'),(30,NULL,7,11,9,'','RAM','base',20000,1,NULL,NULL,'2025-09-16 09:22:24'),(34,NULL,14,11,9,'','DISK','base',70000,1,NULL,NULL,'2025-09-17 00:11:51'),(35,69,15,11,9,'','DISK','base',90000,1,NULL,NULL,'2025-09-17 00:17:26'),(38,193,14,10,11,'','DISK','onetime',70000,1,NULL,NULL,'2025-09-17 01:21:42'),(40,585,13,12,5,'','DISK','base',50000,1,NULL,NULL,'2025-09-17 07:47:19'),(41,585,10,12,5,'','RAM','base',60000,1,NULL,NULL,'2025-09-17 07:47:54'),(42,585,1,12,5,'','CPU','base',50000,1,NULL,NULL,'2025-09-17 07:48:14'),(43,NULL,3,13,NULL,'','CPU','base',80000,2,NULL,NULL,'2025-09-17 07:49:12'),(44,NULL,7,13,NULL,'','RAM','base',20000,2,NULL,NULL,'2025-09-17 07:49:35'),(45,NULL,13,13,NULL,'','DISK','base',50000,2,'RAID1',NULL,'2025-09-17 08:09:06'),(46,585,13,12,5,'','DISK','base',50000,2,'RAID1',NULL,'2025-09-17 08:12:30'),(47,585,11,12,5,'','RAM','onetime',100000,1,NULL,NULL,'2025-09-17 08:13:21'),(48,585,260,12,5,'','IP','onetime',0,1,NULL,NULL,'2025-09-17 23:56:25'),(52,223,0,4,8,'test.co.kr 구매','ETC','onetime',40000,1,NULL,'2025-09-18 02:27:53','2025-09-18 02:26:57'),(54,69,0,11,9,'test.111.co.kr','ETC','onetime',40000,1,NULL,'2025-09-18 02:35:08','2025-09-18 02:34:22'),(58,101,43,13,13,'닷디펜더','SOFTWARE','month',100000,1,NULL,'2025-09-18 03:28:03','2025-09-18 03:12:40'); /*!40000 ALTER TABLE `serverpartinfo` ENABLE KEYS */; UNLOCK TABLES; @@ -465,7 +467,7 @@ CREATE TABLE `serviceinfo` ( KEY `FK_clientinfo_TO_serviceinfo` (`clientinfo_uid`), CONSTRAINT `FK_clientinfo_TO_serviceinfo` FOREIGN KEY (`clientinfo_uid`) REFERENCES `clientinfo` (`uid`), CONSTRAINT `FK_user_TO_serviceinfo` FOREIGN KEY (`user_uid`) REFERENCES `user` (`uid`) -) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 COMMENT='서비스정보'; +) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 COMMENT='서비스정보'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -474,7 +476,7 @@ CREATE TABLE `serviceinfo` ( LOCK TABLES `serviceinfo` WRITE; /*!40000 ALTER TABLE `serviceinfo` DISABLE KEYS */; -INSERT INTO `serviceinfo` VALUES (5,1,585,'s1757062232','prime','normal','chiba','2025-09-05',500000,'2025-09-05',NULL,'2025년 9월 11일 서비스 테스트저장 \r\n2025년 9월 11일 서비스 테스트저장2','available','2025-09-16 07:59:28','2025-09-05 08:50:32',NULL),(8,1,223,'s1757316530','itsolution','VPN','tokyo','2025-09-23',500000,'2025-09-08',NULL,NULL,'available','2025-09-09 04:19:07','2025-09-08 07:28:50',NULL),(9,1,69,'s1757389256','gdidc','dedicated','3center','2025-09-27',500000,'2025-09-10',NULL,NULL,'available',NULL,'2025-09-09 03:40:56',NULL),(10,1,585,'s1757398920','prime','alternative','3center','2025-09-25',500000,'2025-09-03',NULL,'2025년 9월 11일 서비스 테스트저장333','available','2025-09-11 03:42:50','2025-09-09 06:22:00',NULL),(11,2,193,'s1757563290','prime','dedicated','tokyo','2025-09-25',400000,'2025-09-10',NULL,NULL,'available',NULL,'2025-09-11 04:01:30',NULL),(12,6,391,'s1757577411','prime','normal','chiba','2025-09-11',300000,'2025-09-11',NULL,NULL,'available',NULL,'2025-09-11 07:56:51',NULL); +INSERT INTO `serviceinfo` VALUES (5,1,585,'s1757062232','prime','normal','chiba','2025-09-05',500000,'2025-09-05',NULL,'2025년 9월 11일 서비스 테스트저장 \r\n2025년 9월 11일 서비스 테스트저장2','available','2025-09-16 07:59:28','2025-09-05 08:50:32',NULL),(8,1,223,'s1757316530','itsolution','VPN','tokyo','2025-09-23',500000,'2025-09-08',NULL,NULL,'available','2025-09-09 04:19:07','2025-09-08 07:28:50',NULL),(9,1,69,'s1757389256','gdidc','dedicated','3center','2025-09-27',500000,'2025-09-10',NULL,NULL,'available',NULL,'2025-09-09 03:40:56',NULL),(10,1,585,'s1757398920','prime','alternative','3center','2025-09-25',500000,'2025-09-03',NULL,'2025년 9월 11일 서비스 테스트저장333','available','2025-09-11 03:42:50','2025-09-09 06:22:00',NULL),(11,2,193,'s1757563290','prime','dedicated','tokyo','2025-09-25',400000,'2025-09-10',NULL,NULL,'available',NULL,'2025-09-11 04:01:30',NULL),(12,6,391,'s1757577411','prime','normal','chiba','2025-09-11',300000,'2025-09-11',NULL,NULL,'available',NULL,'2025-09-11 07:56:51',NULL),(13,1,101,'s1758096838','gdidc','normal','chiba','2025-09-26',650000,'2025-09-17',NULL,NULL,'available','2025-09-18 03:12:40','2025-09-17 08:13:58',NULL); /*!40000 ALTER TABLE `serviceinfo` ENABLE KEYS */; UNLOCK TABLES; @@ -592,4 +594,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2025-09-17 17:09:24 +-- Dump completed on 2025-09-18 15:39:03 diff --git a/app/Entities/Equipment/ServerPartEntity.php b/app/Entities/Equipment/ServerPartEntity.php index 368233b..a6bb1bd 100644 --- a/app/Entities/Equipment/ServerPartEntity.php +++ b/app/Entities/Equipment/ServerPartEntity.php @@ -24,7 +24,7 @@ class ServerPartEntity extends EquipmentEntity //기본기능용 public function getPartUID(): int { - return $this->attributes['part_uid'] ?? 0; + return intval($this->attributes['part_uid']) ?? 0; } public function getType(): string { diff --git a/app/Entities/Customer/PaymentEntity.php b/app/Entities/PaymentEntity.php similarity index 72% rename from app/Entities/Customer/PaymentEntity.php rename to app/Entities/PaymentEntity.php index c8b6b9d..c4ce38f 100644 --- a/app/Entities/Customer/PaymentEntity.php +++ b/app/Entities/PaymentEntity.php @@ -1,15 +1,27 @@ attributes['user_uid']; + } + final public function getClientInfoUID(): int|null + { + return $this->attributes['clientinfo_uid'] ?? null; + } + final public function getServiceInfoUID(): int|null + { + return $this->attributes['serviceinfo_uid'] ?? null; + } public function getBilling(): string { return $this->attributes['billing'] ?? ""; diff --git a/app/Helpers/Customer/ServiceHelper.php b/app/Helpers/Customer/ServiceHelper.php index 9b587b4..c9c7a1e 100644 --- a/app/Helpers/Customer/ServiceHelper.php +++ b/app/Helpers/Customer/ServiceHelper.php @@ -31,7 +31,7 @@ class ServiceHelper extends CustomerHelper } } foreach ($attributes as $attribute_name => $attribute_value) { - $attribute = sprintf(" %s=\"%s\"", $attribute_name, $option_value->$attribute_value()); + $attribute .= sprintf(" %s=\"%s\"", $attribute_name, $option_value->$attribute_value()); } $label = $option_value->getStatus() != $option_value::DEFAULT_STATUS ? STATUS_ICONS['NOT_AVAILABLE'] : STATUS_ICONS['AVAILABLE']; $label .= $option_value->getCustomTitle(); diff --git a/app/Helpers/Equipment/ServerPartHelper.php b/app/Helpers/Equipment/ServerPartHelper.php index 442fec4..3853e33 100644 --- a/app/Helpers/Equipment/ServerPartHelper.php +++ b/app/Helpers/Equipment/ServerPartHelper.php @@ -32,7 +32,7 @@ class ServerPartHelper extends EquipmentHelper // } // } foreach ($attributes as $attribute_name => $attribute_value) { - $attribute = sprintf(" %s=\"%s\"", $attribute_name, $option_value->$attribute_value()); + $attribute .= sprintf(" %s=\"%s\"", $attribute_name, $option_value->$attribute_value()); } $label = $option_value->getStatus() != $option_value::DEFAULT_STATUS ? STATUS_ICONS['NOT_AVAILABLE'] : STATUS_ICONS['AVAILABLE']; $label .= $option_value->getCustomTitle(); @@ -53,8 +53,8 @@ class ServerPartHelper extends EquipmentHelper switch ($field) { case 'part_uid': $extras['class'] = array_key_exists('class', $extras) ? $extras['class'] . ' select-field' : 'select-field'; - $extras['onChange'] = "document.querySelector('input[name=\'amount\']').value = this.options[this.selectedIndex].getAttribute('data-price')"; - $attributes = ['data-price' => 'getPrice']; + $extras['onChange'] = "document.querySelector('input[name=\'amount\']').value = this.options[this.selectedIndex].getAttribute('data-price'); document.querySelector('input[name=\'title\']').value = this.options[this.selectedIndex].getAttribute('data-title')"; + $attributes = ['data-title' => 'getTitle', 'data-price' => 'getPrice']; $form = $this->form_dropdown_common($field, $value, $viewDatas, $extras, $attributes); break; case 'extra': @@ -83,8 +83,9 @@ class ServerPartHelper extends EquipmentHelper case 'SWITCH': case 'IP': case 'CS': + case 'ETC': //파트 Entity - $title = $viewDatas['entity']->getPartEntity()->getTitle(); + $title = $field === 'ETC' ? $viewDatas['entity']->getTitle() : $viewDatas['entity']->getPartEntity()->getTitle(); $title .= $viewDatas['entity']->getCnt() > 1 ? "*" . $viewDatas['entity']->getCnt() . "개" : ""; $title .= $viewDatas['entity']->getExtra() !== "" ? "[" . $viewDatas['entity']->getExtra() . "]" : ""; if (array_key_exists('return', $extras) && $extras['return'] == 'onlyText') { @@ -125,6 +126,7 @@ class ServerPartHelper extends EquipmentHelper case 'OS': case 'DB': case 'SOFTWARE': + case 'ETC': $extras = [ "class" => "btn btn-sm btn-outline btn-circle", "target" => "_self", diff --git a/app/Helpers/Customer/PaymentHelper.php b/app/Helpers/PaymentHelper.php similarity index 95% rename from app/Helpers/Customer/PaymentHelper.php rename to app/Helpers/PaymentHelper.php index e47cb30..895169c 100644 --- a/app/Helpers/Customer/PaymentHelper.php +++ b/app/Helpers/PaymentHelper.php @@ -1,10 +1,10 @@ "고객번호", 'serviceinfo_uid' => "서비스번호", 'serverinfo_uid' => "서버번호", + 'title' => "제목", 'type' => "항목형식", 'billing' => "결제방식", - 'amount' => "제공가", + 'amount' => "제공단가", 'cnt' => "갯수", 'extra' => "추가정보", 'updated_at' => "수정일", @@ -30,6 +31,7 @@ return [ "SWITCH" => "스위치", "IP" => "IP", "CS" => "CS", + "ETC" => "기타", ], "EXTRA" => [ 'DISK' => [ diff --git a/app/Language/en/Customer/Payment.php b/app/Language/en/Payment.php similarity index 100% rename from app/Language/en/Customer/Payment.php rename to app/Language/en/Payment.php diff --git a/app/Models/Equipment/ServerPartModel.php b/app/Models/Equipment/ServerPartModel.php index 58b8f39..b21b885 100644 --- a/app/Models/Equipment/ServerPartModel.php +++ b/app/Models/Equipment/ServerPartModel.php @@ -8,7 +8,7 @@ class ServerPartModel extends EquipmentModel { const TABLE = "serverpartinfo"; const PK = "uid"; - const TITLE = "uid"; + const TITLE = "title"; protected $table = self::TABLE; protected $primaryKey = self::PK; protected $returnType = ServerPartEntity::class; @@ -17,6 +17,7 @@ class ServerPartModel extends EquipmentModel "clientinfo_uid", "serverinfo_uid", "serviceinfo_uid", + "title", "type", "billing", "amount", @@ -34,16 +35,17 @@ class ServerPartModel extends EquipmentModel throw new \Exception(__FUNCTION__ . "=> field가 array 입니다.\n" . var_export($field, true)); } switch ($field) { - case "part_uid": case "serverinfo_uid": case "cnt": case "amount": $rule = "required|numeric"; break; + case "part_uid": case "clientinfo_uid": case "serviceinfo_uid": $rule = "permit_empty|numeric"; break; + case "title": case "type": case "billing": $rule = "required|trim|string"; diff --git a/app/Models/Customer/PaymentModel.php b/app/Models/PaymentModel.php similarity index 86% rename from app/Models/Customer/PaymentModel.php rename to app/Models/PaymentModel.php index 91cc36f..151f6e7 100644 --- a/app/Models/Customer/PaymentModel.php +++ b/app/Models/PaymentModel.php @@ -1,11 +1,10 @@ _paymentService) { + $this->_paymentService = new PaymentService(); + } + return $this->_paymentService; + } //기본 기능부분 //압금(쿠폰:추가)처리 diff --git a/app/Services/Customer/CustomerService.php b/app/Services/Customer/CustomerService.php index 42e23b8..5427850 100644 --- a/app/Services/Customer/CustomerService.php +++ b/app/Services/Customer/CustomerService.php @@ -8,11 +8,9 @@ use App\Helpers\CommonHelper; use App\Models\CommonModel; use App\Services\CommonService; use App\Services\Customer\ClientService; -use App\Services\Customer\PaymentService; use App\Services\Equipment\ServerService; use App\Services\Equipment\SwitchService; use App\Services\UserService; -use CodeIgniter\Model; abstract class CustomerService extends CommonService { @@ -21,7 +19,6 @@ abstract class CustomerService extends CommonService private ?ServiceService $_serviceService = null; private ?ServerService $_serverService = null; private ?SwitchService $_switchService = null; - private ?PaymentService $_paymentServiceService = null; private $_equipmentService = []; protected function __construct(CommonModel $model, CommonHelper $helper) @@ -50,20 +47,6 @@ abstract class CustomerService extends CommonService } return $this->_serviceService; } - final public function getPaymentService(): PaymentService - { - if (!$this->_paymentServiceService) { - $this->_paymentServiceService = new PaymentService(); - } - return $this->_paymentServiceService; - } - final public function getSwitchService(): SwitchService - { - if (!$this->_switchService) { - $this->_switchService = new SwitchService(); - } - return $this->_switchService; - } final public function getServerService(): ServerService { if (!$this->_serverService) { diff --git a/app/Services/Customer/PaymentService.php b/app/Services/Customer/PaymentService.php deleted file mode 100644 index 1089d5f..0000000 --- a/app/Services/Customer/PaymentService.php +++ /dev/null @@ -1,129 +0,0 @@ -addClassName('Payment'); - } - public function getModelClass(): PaymentModel - { - return new PaymentModel(); - } - public function getEntityClass(): PaymentEntity - { - return new PaymentEntity(); - } - public function getFormFields(): array - { - return [ - "clientinfo_uid", - "serviceinfo_uid", - "title", - "amount", - "billing", - "billing_at", - "pay", - "status", - ]; - } - public function getFormFilters(): array - { - return [ - 'clientinfo_uid', - "serviceinfo_uid", - 'billing', - 'pay', - 'status', - 'user_uid', - ]; - } - public function getIndexFields(): array - { - return [ - 'clientinfo_uid', - "serviceinfo_uid", - 'billing', - 'title', - 'amount', - 'billing_at', - 'pay', - 'status', - 'updated_at', - 'countdown', - 'user_uid', - ]; - } - public function getBatchjobFields(): array - { - return ['pay', 'status']; - } - public function getBatchjobButtons(): array - { - return [ - 'batchjob' => '일괄 결제 ', - 'invoice' => '청구서 발행', - ]; - } - //기본 기능부분 - //FieldForm관련용 - public function getFormOption(string $field, array $options = []): array - { - switch ($field) { - case 'user_uid': - $options = $this->getUserService()->getEntities(); - break; - case 'clientinfo_uid': - $options = $this->getClientService()->getEntities(); - break; - case 'serviceinfo_uid': - $options = $this->getServiceService()->getEntities(); - break; - default: - $options = parent::getFormOption($field, $options); - break; - } - return $options; - } - //List 검색용 - //OrderBy 처리 - public function setOrderBy(mixed $field = null, mixed $value = null): void - { - $this->getModel()->orderBy('billing_at ASC'); - parent::setOrderBy($field, $value); - } - //총 미납건수, 금액 - public function getUnPaids(string $group, array $where = []): array - { - return $this->getModel()->groupBy($group) - ->select("serviceinfo_uid,COUNT(uid) as cnt, SUM(amount) as amount") - ->where(['billing_at <=' => date('Y-m-d')]) - ->where(['status' => STATUS['UNPAID']]) - ->where($where) - ->get()->getResult(); - } - - //생성 - public function create(array $formDatas): PaymentEntity - { - // 관리자 UID는 현재 인증된 사용자로 설정 - $formDatas['user_uid'] = $this->getMyAuth()->getUIDByAuthInfo(); - return parent::create($formDatas); - } - //수정 - public function modify(mixed $entity, array $formDatas): PaymentEntity - { - // 관리자 UID는 현재 인증된 사용자로 설정 - $formDatas['user_uid'] = $this->getMyAuth()->getUIDByAuthInfo(); - return parent::modify($entity, $formDatas); - } -} diff --git a/app/Services/Customer/ServiceService.php b/app/Services/Customer/ServiceService.php index 23e7cfc..2e28503 100644 --- a/app/Services/Customer/ServiceService.php +++ b/app/Services/Customer/ServiceService.php @@ -3,19 +3,21 @@ namespace App\Services\Customer; use App\Entities\Customer\ClientEntity; -use App\Entities\Customer\PaymentEntity; use App\Entities\Customer\ServiceEntity; use App\Entities\Equipment\ServerEntity; use App\Entities\UserEntity; +use App\Entities\PaymentEntity; use App\Helpers\Customer\ServiceHelper; use App\Models\Customer\ServiceModel; use App\Services\Equipment\ServerService; use App\Traits\IPTrait; +use App\Services\PaymentService; class ServiceService extends CustomerService { use IPTrait; private ?ServerService $_serverService = null; + private ?PaymentService $_paymentService = null; public function __construct() { parent::__construct(new ServiceModel(), new ServiceHelper()); @@ -117,6 +119,13 @@ class ServiceService extends CustomerService } return $entity->setServerEntity($serverEntity); } + final public function getPaymentService(): PaymentService + { + if (!$this->_paymentService) { + $this->_paymentService = new PaymentService(); + } + return $this->_paymentService; + } //기본 기능부분 public function getFormOption(string $field, array $options = []): array { @@ -209,22 +218,14 @@ class ServiceService extends CustomerService $entity = parent::create($formDatas); $entity = $entity->setServerEntity($this->getServerService()->setService($entity, $formDatas['serverinfo_uid'], STATUS['OCCUPIED'])); // 결제정보에 추가한다. - $paymentDatas = []; - $paymentDatas['clientinfo_uid'] = $entity->getClientInfoUID(); - $paymentDatas['serviceinfo_uid'] = $entity->getPK(); - $paymentDatas['serverinfo_uid'] = $entity->getServerInfoUID(); - $paymentDatas['title'] = sprintf("[%s] 서비스", $entity->getServerEntity()->getTitle()); - $paymentDatas['amount'] = $entity->getAmount(); - $paymentDatas['billing'] = PAYMENT['BILLING']['MONTH']; - $paymentDatas['billing_at'] = $entity->getBillingAt(); - $this->getPaymentService()->create($paymentDatas); + $this->getPaymentService()->service($entity); return $entity; } //수정 public function modify(mixed $entity, array $formDatas): ServiceEntity { if (!array_key_exists('serverinfo_uid', $formDatas)) { - throw new \Exception("신규 서버가 지정되지 않았습니다."); + throw new \Exception("서버가 지정되지 않았습니다."); } //기존서버정보 사용가능으로 설정 if ($entity->getServerInfoUID() && $entity->getServerInfoUID() !== $formDatas['serverinfo_uid']) { @@ -250,7 +251,7 @@ class ServiceService extends CustomerService $paymentDatas['clientinfo_uid'] = $entity->getClientInfoUID(); $paymentDatas['serviceinfo_uid'] = $entity->getPK(); $paymentDatas['serverinfo_uid'] = $entity->getServerInfoUID(); - $paymentDatas['title'] = sprintf("[%s] 서비스", $entity->getServerEntity()->getTitle()); + $paymentDatas['title'] = $entity->getServerEntity()->getTitle(); $paymentDatas['amount'] = $entity->getAmount(); $paymentDatas['billing'] = PAYMENT['BILLING']['MONTH']; $paymentDatas['billing_at'] = $entity->getBillingAt(); diff --git a/app/Services/Equipment/CSService.php b/app/Services/Equipment/CSService.php index bdf4fba..b1af37e 100644 --- a/app/Services/Equipment/CSService.php +++ b/app/Services/Equipment/CSService.php @@ -55,15 +55,21 @@ class CSService extends EquipmentService implements ServerPartInterface } //기본 기능부분 //서비스파트 설정 - public function setServerPart(ServerPartEntity $serverPartEntity, mixed $uid, string $status): CSEntity + public function setServerPart(ServerPartEntity $serverPartEntity, array $serverPartDatas): ServerPartEntity { - $entity = $this->getEntity($uid); + if (!array_key_exists('part_uid', $serverPartDatas)) { + throw new \Exception(__METHOD__ . "에서 오류발생: 부품번호가 정의되지 않았습니다."); + } + if (!array_key_exists('status', $serverPartDatas)) { + throw new \Exception(__METHOD__ . "에서 오류발생: 상태가 정의되지 않았습니다."); + } + $entity = $this->getEntity($serverPartDatas['part_uid']); if (!($entity instanceof CSEntity)) { - throw new \Exception("{$uid}에 해당하는 CS정보를 찾을수없습니다."); + throw new \Exception("{$serverPartDatas['part_uid']}에 해당하는 CS정보를를 찾을수없습니다."); } //부품정보에 서버정보 설정 및 서비스,고객정보 정의 $formDatas = []; - if ($status === STATUS['AVAILABLE']) { + if ($serverPartDatas['status'] === STATUS['AVAILABLE']) { //사용가능 $formDatas['clientinfo_uid'] = null; $formDatas['serviceinfo_uid'] = null; @@ -73,8 +79,8 @@ class CSService extends EquipmentService implements ServerPartInterface $formDatas['serviceinfo_uid'] = $serverPartEntity->getServiceInfoUID(); $formDatas['serverinfo_uid'] = $serverPartEntity->getServerInfoUID(); } - $formDatas['status'] = $status; - return $this->modify($entity, $formDatas); + $formDatas['status'] = $serverPartDatas['status']; + return $serverPartEntity->setPartEntity($this->modify($entity, $formDatas)); } //List 검색용 //OrderBy 처리 diff --git a/app/Services/Equipment/IPService.php b/app/Services/Equipment/IPService.php index c7742ec..3b4488d 100644 --- a/app/Services/Equipment/IPService.php +++ b/app/Services/Equipment/IPService.php @@ -79,17 +79,22 @@ class IPService extends EquipmentService implements ServerPartInterface return $options; } //서비스 설정 - public function setServerPart(ServerPartEntity $serverPartEntity, mixed $uid, string $status): IPEntity + //서비스파트 설정 + public function setServerPart(ServerPartEntity $serverPartEntity, array $serverPartDatas): ServerPartEntity { - $entity = $this->getEntity($uid); + if (!array_key_exists('part_uid', $serverPartDatas)) { + throw new \Exception(__METHOD__ . "에서 오류발생: 부품번호가 정의되지 않았습니다."); + } + if (!array_key_exists('status', $serverPartDatas)) { + throw new \Exception(__METHOD__ . "에서 오류발생: 상태가 정의되지 않았습니다."); + } + $entity = $this->getEntity($serverPartDatas['part_uid']); if (!($entity instanceof IPEntity)) { - throw new \Exception("{$uid}에 해당하는 IP정보를 찾을수없습니다."); + throw new \Exception("{$serverPartDatas['part_uid']}에 해당하는 IP정보를를 찾을수없습니다."); } //부품정보에 서버정보 설정 및 서비스,고객정보 정의 $formDatas = []; - //기존IP 사용자로 고객정보 설정 - $formDatas['old_clientinfo_uid'] = $serverPartEntity->getClientInfoUID(); - if ($status === STATUS['AVAILABLE']) { + if ($serverPartDatas['status'] === STATUS['AVAILABLE']) { //사용가능 $formDatas['clientinfo_uid'] = null; $formDatas['serviceinfo_uid'] = null; @@ -99,8 +104,8 @@ class IPService extends EquipmentService implements ServerPartInterface $formDatas['serviceinfo_uid'] = $serverPartEntity->getServiceInfoUID(); $formDatas['serverinfo_uid'] = $serverPartEntity->getServerInfoUID(); } - $formDatas['status'] = $status; - return $this->modify($entity, $formDatas); + $formDatas['status'] = $serverPartDatas['status']; + return $serverPartEntity->setPartEntity($this->modify($entity, $formDatas)); } //List 검색용 //OrderBy 처리 diff --git a/app/Services/Equipment/PartService.php b/app/Services/Equipment/PartService.php index 1fe65d5..b7dfd42 100644 --- a/app/Services/Equipment/PartService.php +++ b/app/Services/Equipment/PartService.php @@ -49,24 +49,31 @@ class PartService extends EquipmentService implements ServerPartInterface //기본 기능부분 //FieldForm관련용 //서비스파트 설정 - public function setServerPart(ServerPartEntity $serverPartEntity, mixed $uid, string $status): PartEntity + public function setServerPart(ServerPartEntity $serverPartEntity, array $serverPartDatas): ServerPartEntity { - $entity = $this->getEntity($uid); + if (!array_key_exists('part_uid', $serverPartDatas)) { + throw new \Exception(__METHOD__ . "에서 오류발생: 부품번호가 정의되지 않았습니다."); + } + if (!array_key_exists('status', $serverPartDatas)) { + throw new \Exception(__METHOD__ . "에서 오류발생: 상태가 정의되지 않았습니다."); + } + //부품정보가져오기 + $entity = $this->getEntity($serverPartDatas['part_uid']); if (!($entity instanceof PartEntity)) { - throw new \Exception("{$uid}에 해당하는 부품정보를 찾을수없습니다."); + throw new \Exception("{$serverPartDatas['part_uid']}에 해당하는 부품정보를 찾을수없습니다."); } //부품정보에 서버정보 설정 및 서비스,고객정보 정의 $formDatas = []; - if ($status === STATUS['AVAILABLE']) { //해지된 부품 재고수를 처리 + if ($serverPartDatas['status'] === STATUS['AVAILABLE']) { //해지된 부품 재고수를 처리 $formDatas['stock'] = $entity->getStock() + $serverPartEntity->getCnt(); } - if ($status === STATUS['OCCUPIED']) { //추가된 부품 재고수를 처리 + if ($serverPartDatas['status'] === STATUS['OCCUPIED']) { //추가된 부품 재고수를 처리 if ($entity->getStock() < $serverPartEntity->getCnt()) { throw new \Exception("현재 재고수[{$entity->getStock()}]보다 지정하신 갯수({$serverPartEntity->getCnt()})가 더 많습니다."); } $formDatas['stock'] = $entity->getStock() - $serverPartEntity->getCnt(); } - return $this->modify($entity, $formDatas); + return $serverPartEntity->setPartEntity($this->modify($entity, $formDatas)); } //OrderBy 처리 public function setOrderBy(mixed $field = null, mixed $value = null): void diff --git a/app/Services/Equipment/ServerPartService.php b/app/Services/Equipment/ServerPartService.php index efdae99..049f6fb 100644 --- a/app/Services/Equipment/ServerPartService.php +++ b/app/Services/Equipment/ServerPartService.php @@ -2,12 +2,12 @@ namespace App\Services\Equipment; +use App\Services\Equipment\EquipmentService; use App\Entities\Equipment\ServerEntity; use App\Entities\Equipment\ServerPartEntity; use App\Helpers\Equipment\ServerPartHelper; use App\Models\Equipment\ServerPartModel; -use App\Services\Customer\PaymentService; -use App\Services\Equipment\EquipmentService; +use App\Services\PaymentService; class ServerPartService extends EquipmentService { @@ -28,6 +28,7 @@ class ServerPartService extends EquipmentService "type", "billing", "part_uid", + "title", "cnt", "extra", "amount", @@ -111,20 +112,29 @@ class ServerPartService extends EquipmentService throw new \Exception(__METHOD__ . "에서 형식오류:ServicePartEntity만 허용됩니다."); } switch ($entity->getType()) { + case 'CPU': + case 'RAM': + case 'DISK': + case 'OS': + case 'DB': + case 'SOFTWARE': + $partService = $this->getPartService(); + $entity->setPartEntity($partService->getEntity($entity->getPartUID())); + break; case 'SWITCH': $partService = $this->getSwitchService(); + $entity->setPartEntity($partService->getEntity($entity->getPartUID())); break; case 'IP': $partService = $this->getIPService(); + $entity->setPartEntity($partService->getEntity($entity->getPartUID())); break; case 'CS': $partService = $this->getCSService(); - break; - default: - $partService = $this->getPartService(); + $entity->setPartEntity($partService->getEntity($entity->getPartUID())); break; } - return $entity->setPartEntity($partService->getEntity($entity->getPartUID())); + return $entity; } //기본 기능부분 // FieldForm관련용 @@ -152,6 +162,9 @@ class ServerPartService extends EquipmentService case 'CS': $partOptions[$partType] = $this->getCSService()->getEntities(); break; + default: + $partOptions[$partType] = []; + break; } } $options = $partOptions; @@ -166,25 +179,30 @@ class ServerPartService extends EquipmentService } return $options; } - //파트별 정보 수정작업 - private function setServerPart(ServerPartEntity $entity, mixed $part_uid, string $status): mixed + //파트별정보 설정 + private function setServerPart(ServerPartEntity $entity, array $formDatas): ServerPartEntity { //Type에 따른 부품서비스 정의 switch ($entity->getType()) { + case 'CPU': + case 'RAM': + case 'DISK': + case 'OS': + case 'DB': + case 'SOFTWARE': + $entity = $this->getPartService()->setServerPart($entity, $formDatas); + break; case 'SWITCH': - $partEntity = $this->getSwitchService()->setServerPart($entity, $part_uid, $status); + $entity = $this->getSwitchService()->setServerPart($entity, $formDatas); break; case 'IP': - $partEntity = $this->getIPService()->setServerPart($entity, $part_uid, $status); + $entity = $this->getIPService()->setServerPart($entity, $formDatas); break; case 'CS': - $partEntity = $this->getCSService()->setServerPart($entity, $part_uid, $status); - break; - default: //CPU/RAM/DISK/OS/DB/SOFTWARE - $partEntity = $this->getPartService()->setServerPart($entity, $part_uid, $status); + $entity = $this->getCSService()->setServerPart($entity, $formDatas); break; } - return $partEntity; + return $entity; } //부품연결정보생성 public function create(array $formDatas): ServerPartEntity @@ -202,31 +220,15 @@ class ServerPartService extends EquipmentService if (!($serverEntity instanceof ServerEntity)) { throw new \Exception("서버 정보가 지정되지 않았습니다."); } + //생성작업 $formDatas["clientinfo_uid"] = $serverEntity->getClientInfoUID(); $formDatas["serviceinfo_uid"] = $serverEntity->getServiceInfoUID(); $formDatas["serverinfo_uid"] = $serverEntity->getPK(); $entity = parent::create($formDatas); - //부품연결정보에 부품정보 정의 - $entity = $entity->setPartEntity( - $this->setServerPart($entity, $formDatas['part_uid'], STATUS['OCCUPIED']) - ); - //기본 부품이 아닌경우 결제정보에 추가한다. - if ($entity->getBilling() !== PAYMENT['BILLING']['BASE']) { - if ($entity->getBilling() === PAYMENT['BILLING']['ONETIME']) { - if ($entity->getServiceInfoUID() === null) { - throw new \Exception("일회성 부품 추가는 서비스정보가 정의된 후에만 가능합니다."); - } - } - $paymentDatas = []; - $paymentDatas['clientinfo_uid'] = $entity->getClientInfoUID(); - $paymentDatas['serviceinfo_uid'] = $entity->getServiceInfoUID(); - $paymentDatas['serverinfo_uid'] = $entity->getServerInfoUID(); - $paymentDatas['title'] = sprintf("[%s] 부품정보", $entity->getPartEntity()->getTitle()); - $paymentDatas['amount'] = $entity->getAmount(); - $paymentDatas['billing'] = $entity->getBilling(); - $paymentDatas['billing_at'] = date("Y-m-d"); //일회성은 지급일이 당일기준처리 - $this->getPaymentService()->create($paymentDatas); - } + //부품정보 설정 + $entity = $this->setServerPart($entity, ['part_uid' => $formDatas['part_uid'], 'status' => STATUS['OCCUPIED']]); + //결제관련정보 설정 + $entity = $this->getPaymentService()->setServerPart($entity); return $entity; } //수정 @@ -240,26 +242,28 @@ class ServerPartService extends EquipmentService if (!($serverEntity instanceof ServerEntity)) { throw new \Exception("서버 정보가 지정되지 않았습니다."); } + //부품연결정보에 부품정보가 변경된 경우(기존것은 AVAILABLE로 변경) + if ($entity->getPartUID() != $formDatas['part_uid']) { + $entity = $this->setServerPart($entity, ['part_uid' => $entity->getPartUID(), 'status' => STATUS['AVAILABLE']]); + } + //수정작업 $formDatas["clientinfo_uid"] = $serverEntity->getClientInfoUID(); $formDatas["serviceinfo_uid"] = $serverEntity->getServiceInfoUID(); $formDatas["serverinfo_uid"] = $serverEntity->getPK(); - //기존 Part_UID와 신규 Part_UID가 다르면 기존 Part정보 사용가능으로 변경 - if ($entity->getPartUID() != $formDatas['part_uid']) { - $this->setServerPart($entity, $entity->getPartUID(), STATUS['AVAILABLE']); - } - //기존 정보변경 $entity = parent::modify($entity, $formDatas); - //부품연결정보에 부품정보 정의 + //부품연결정보에 부품정보가 변경된 경우 OCCUPIED로 변경 if ($entity->getPartUID() != $formDatas['part_uid']) { - $entity->setPartEntity($this->setServerPart($entity, $formDatas['part_uid'], STATUS['OCCUPIED'])); + $entity = $this->setServerPart($entity, ['part_uid' => $formDatas['part_uid'], 'status' => STATUS['OCCUPIED']]); } + //결제관련정보 정의 + $entity = $this->getPaymentService()->setServerPart($entity, ['action' => __FUNCTION__]); return $entity; } //삭제 public function delete(mixed $entity): ServerPartEntity { //부품연결정보에 부품정보 정의 - $this->setServerPart($entity, $entity->getPartUID(), STATUS['AVAILABLE']); + $entity = $this->setServerPart($entity, ['part_uid' => $entity->getPartUID(), 'status' => STATUS['AVAILABLE']]); return parent::delete($entity); } } diff --git a/app/Services/Equipment/SwitchService.php b/app/Services/Equipment/SwitchService.php index d2d3730..6961837 100644 --- a/app/Services/Equipment/SwitchService.php +++ b/app/Services/Equipment/SwitchService.php @@ -51,15 +51,22 @@ class SwitchService extends EquipmentService implements ServerPartInterface //기본 기능부분 //FieldForm관련용 //서비스파트 설정 - public function setServerPart(ServerPartEntity $serverPartEntity, mixed $uid, string $status): SwitchEntity + public function setServerPart(ServerPartEntity $serverPartEntity, array $serverPartDatas): ServerPartEntity { - $entity = $this->getEntity($uid); - if (!($entity instanceof SwitchEntity)) { - throw new \Exception("{$uid}에 해당하는 스위치정보를 찾을수없습니다."); + if (!array_key_exists('part_uid', $serverPartDatas)) { + throw new \Exception(__METHOD__ . "에서 오류발생: 부품번호가 정의되지 않았습니다."); } + if (!array_key_exists('status', $serverPartDatas)) { + throw new \Exception(__METHOD__ . "에서 오류발생: 상태가 정의되지 않았습니다."); + } + $entity = $this->getEntity($serverPartDatas['part_uid']); + if (!($entity instanceof SwitchEntity)) { + throw new \Exception("{$serverPartDatas['part_uid']}에 해당하는 스위치정보를 찾을수없습니다."); + } + //부품정보에 서버정보 설정 및 서비스,고객정보 정의 $formDatas = []; - if ($status === STATUS['AVAILABLE']) { + if ($serverPartDatas['status'] === STATUS['AVAILABLE']) { //사용가능 $formDatas['clientinfo_uid'] = null; $formDatas['serviceinfo_uid'] = null; @@ -69,8 +76,8 @@ class SwitchService extends EquipmentService implements ServerPartInterface $formDatas['serviceinfo_uid'] = $serverPartEntity->getServiceInfoUID(); $formDatas['serverinfo_uid'] = $serverPartEntity->getServerInfoUID(); } - $formDatas['status'] = $status; - return $this->modify($entity, $formDatas); + $formDatas['status'] = $serverPartDatas['status']; + return $serverPartEntity->setPartEntity($this->modify($entity, $formDatas)); } //List 검색용 //OrderBy 처리 diff --git a/app/Services/PaymentService.php b/app/Services/PaymentService.php new file mode 100644 index 0000000..11dccc4 --- /dev/null +++ b/app/Services/PaymentService.php @@ -0,0 +1,206 @@ +addClassName('Payment'); + } + final public function getFormFields(): array + { + return [ + "clientinfo_uid", + "serviceinfo_uid", + "title", + "amount", + "billing", + "billing_at", + "pay", + "status", + ]; + } + final public function getFormFilters(): array + { + return [ + 'clientinfo_uid', + "serviceinfo_uid", + 'billing', + 'pay', + 'status', + 'user_uid', + ]; + } + final public function getIndexFields(): array + { + return [ + 'clientinfo_uid', + "serviceinfo_uid", + 'billing', + 'title', + 'amount', + 'billing_at', + 'pay', + 'status', + 'updated_at', + 'countdown', + 'user_uid', + ]; + } + final public function getBatchjobFields(): array + { + return ['pay', 'status']; + } + final public function getBatchjobButtons(): array + { + return [ + 'batchjob' => '일괄 결제 ', + 'invoice' => '청구서 발행', + ]; + } + final public function getClientService(): ClientService + { + if (!$this->_clientService) { + $this->_clientService = new ClientService(); + } + return $this->_clientService; + } + final public function getUSerService(): UserService + { + if (!$this->_userService) { + $this->_userService = new UserService(); + } + return $this->_userService; + } + final public function getServiceService(): ServiceService + { + if (!$this->_serviceService) { + $this->_serviceService = new ServiceService(); + } + return $this->_serviceService; + } + //기본 기능부분 + //FieldForm관련용 + final public function getFormOption(string $field, array $options = []): array + { + switch ($field) { + case 'user_uid': + $options = $this->getUserService()->getEntities(); + break; + case 'clientinfo_uid': + $options = $this->getClientService()->getEntities(); + break; + case 'serviceinfo_uid': + $options = $this->getServiceService()->getEntities(); + break; + default: + $options = parent::getFormOption($field, $options); + break; + } + return $options; + } + //List 검색용 + //OrderBy 처리 + public function setOrderBy(mixed $field = null, mixed $value = null): void + { + $this->getModel()->orderBy('billing_at ASC'); + parent::setOrderBy($field, $value); + } + //총 미납건수, 금액 + final public function getUnPaids(string $group, array $where = []): array + { + return $this->getModel()->groupBy($group) + ->select("serviceinfo_uid,COUNT(uid) as cnt, SUM(amount) as amount") + ->where(['billing_at <=' => date('Y-m-d')]) + ->where(['status' => STATUS['UNPAID']]) + ->where($where) + ->get()->getResult(); + } + //생성 + public function create(array $formDatas): PaymentEntity + { + // 관리자 UID는 현재 인증된 사용자로 설정 + $formDatas['user_uid'] = $this->getMyAuth()->getUIDByAuthInfo(); + return parent::create($formDatas); + } + //수정 + public function modify(mixed $entity, array $formDatas): PaymentEntity + { + // 관리자 UID는 현재 인증된 사용자로 설정 + $formDatas['user_uid'] = $this->getMyAuth()->getUIDByAuthInfo(); + return parent::modify($entity, $formDatas); + } + //서버연결정보용 등록 + public function setServerPart(ServerPartEntity $serverPartEntity, array $formDatas = []): ServerPartEntity + { + if ($serverPartEntity->getServiceInfoUID() === null) { + throw new \Exception("서비스정보가 정의된 후에만 가능합니다."); + } + //Service Entity 가져오기 + $serviceEntity = $this->getServiceService()->getEntity($serverPartEntity->getServiceInfoUID()); + if (!$serviceEntity) { + throw new \Exception("[{$serverPartEntity->getServiceInfoUID()}]에 대한 서비스정보를 찾을수 없습니다."); + } + //수정인경우 기존 결제정보 가져오기 + if (array_key_exists('action', $formDatas) && $formDatas['action'] === 'modify') { + $entity = $this->getEntity(['serverpartinfo_uid' => $serverPartEntity->getPK()]); + if (!$entity instanceof PaymentEntity) { + throw new \Exception("{$serverPartEntity->getPK()}에 해당하는 결제정보를 찾을수 없습니다."); + } + } + //월비용인경우 서비스 제공가에 서버연결정보 제공가 합산금액으로 설정 + if ($serverPartEntity->getBilling() === PAYMENT['BILLING']['MONTH']) { + $formDatas['serverinfo_uid'] = $serviceEntity->getServerInfoUID(); + $formDatas['billing_at'] = $serviceEntity->getBillingAt(); + $formDatas['amount'] = $serviceEntity->getAmount() + $serverPartEntity->getAmount(); + $this->getServiceService()->modify($serviceEntity, $formDatas); + } + //일회성인경우 + if ($serverPartEntity->getBilling() === PAYMENT['BILLING']['ONETIME']) { + $formDatas['clientinfo_uid'] = $serverPartEntity->getClientInfoUID(); + $formDatas['serviceinfo_uid'] = $serverPartEntity->getServiceInfoUID(); + $formDatas['serverinfo_uid'] = $serverPartEntity->getServerInfoUID(); + $formDatas['serverpartinfo_uid'] = $serverPartEntity->getPK(); + $formDatas['title'] = $serverPartEntity->getType() === 'ETC' ? $serverPartEntity->getTitle() : $serverPartEntity->getPartEntity()->getTitle(); + $formDatas['amount'] = $serverPartEntity->getAmount(); + $formDatas['billing'] = $serverPartEntity->getBilling(); + if (array_key_exists('action', $formDatas) && $formDatas['action'] === 'modify') { + $this->modify($entity, $formDatas); + } else { + //생성일때만 지급기한일 설정 + $formDatas['billing_at'] = $serverPartEntity->getBilling() === PAYMENT['BILLING']['ONETIME'] ? date("Y-m-d") : $serviceEntity->getBillingAT(); + $this->create($formDatas); + } + } + return $serverPartEntity; + } + + //서비스정보용 등록 + public function service(ServiceEntity $serviceEntity, array $formDatas = []): ServiceEntity + { + $formDatas['clientinfo_uid'] = $serviceEntity->getClientInfoUID(); + $formDatas['serviceinfo_uid'] = $serviceEntity->getPK(); + $formDatas['serverinfo_uid'] = $serviceEntity->getServerInfoUID(); + $formDatas['title'] = $serviceEntity->getServerEntity()->getTitle(); + $formDatas['amount'] = $serviceEntity->getAmount(); + $formDatas['billing'] = PAYMENT['BILLING']['MONTH']; + $formDatas['billing_at'] = $serviceEntity->getBillingAt(); + $this->create($formDatas); + return $serviceEntity; + } +} diff --git a/app/Views/cells/serverpart/parttable.php b/app/Views/cells/serverpart/parttable.php index 6a5cb08..617e43f 100644 --- a/app/Views/cells/serverpart/parttable.php +++ b/app/Views/cells/serverpart/parttable.php @@ -4,7 +4,10 @@ - getHelper()->getFieldView($type, $entity->getPK(), $serverPartCellDatas) ?> + $serverPartCellDatas['service']->getHelper()->getFieldView($type, $entity->getPK(), $serverPartCellDatas), + 'amount' => $entity->getAmount() * $entity->getCnt() + ] ?> @@ -12,7 +15,8 @@ getHelper()->getListButton($type, '', $serverPartCellDatas) ?> - + [원]
+ \ No newline at end of file