dbmsv2 init...1
This commit is contained in:
parent
298bf48929
commit
ab02a23bab
@ -278,7 +278,7 @@ CREATE TABLE `partinfo` (
|
|||||||
|
|
||||||
LOCK TABLES `partinfo` WRITE;
|
LOCK TABLES `partinfo` WRITE;
|
||||||
/*!40000 ALTER TABLE `partinfo` DISABLE KEYS */;
|
/*!40000 ALTER TABLE `partinfo` DISABLE KEYS */;
|
||||||
INSERT INTO `partinfo` VALUES (1,'CPU1','CPU','Xeon E5530 2.4Ghz 4Core',50000,100,'available','2025-09-05 01:27:05','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,100,'available','2025-09-05 00:05:26','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,100,'available','2025-09-05 01:27:05','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,100,'available','2025-09-05 00:04:09','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,100,'available',NULL,'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,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);
|
||||||
/*!40000 ALTER TABLE `partinfo` ENABLE KEYS */;
|
/*!40000 ALTER TABLE `partinfo` ENABLE KEYS */;
|
||||||
UNLOCK TABLES;
|
UNLOCK TABLES;
|
||||||
|
|
||||||
@ -422,7 +422,7 @@ CREATE TABLE `serverpartinfo` (
|
|||||||
KEY `FK_serviceinfo_TO_serverpartinfo` (`serviceinfo_uid`),
|
KEY `FK_serviceinfo_TO_serverpartinfo` (`serviceinfo_uid`),
|
||||||
CONSTRAINT `FK_serverinfo_TO_serverpartinfo` FOREIGN KEY (`serverinfo_uid`) REFERENCES `serverinfo` (`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`)
|
CONSTRAINT `FK_serviceinfo_TO_serverpartinfo` FOREIGN KEY (`serviceinfo_uid`) REFERENCES `serviceinfo` (`uid`)
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=40 DEFAULT CHARSET=utf8 COMMENT='서버파트정보';
|
) ENGINE=InnoDB AUTO_INCREMENT=46 DEFAULT CHARSET=utf8 COMMENT='서버파트정보';
|
||||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
--
|
--
|
||||||
@ -431,7 +431,7 @@ CREATE TABLE `serverpartinfo` (
|
|||||||
|
|
||||||
LOCK TABLES `serverpartinfo` WRITE;
|
LOCK TABLES `serverpartinfo` WRITE;
|
||||||
/*!40000 ALTER TABLE `serverpartinfo` DISABLE KEYS */;
|
/*!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');
|
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');
|
||||||
/*!40000 ALTER TABLE `serverpartinfo` ENABLE KEYS */;
|
/*!40000 ALTER TABLE `serverpartinfo` ENABLE KEYS */;
|
||||||
UNLOCK TABLES;
|
UNLOCK TABLES;
|
||||||
|
|
||||||
@ -592,4 +592,4 @@ UNLOCK TABLES;
|
|||||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||||
|
|
||||||
-- Dump completed on 2025-09-17 14:44:52
|
-- Dump completed on 2025-09-17 17:09:24
|
||||||
|
|||||||
@ -57,6 +57,14 @@ class ServerPartHelper extends EquipmentHelper
|
|||||||
$attributes = ['data-price' => 'getPrice'];
|
$attributes = ['data-price' => 'getPrice'];
|
||||||
$form = $this->form_dropdown_common($field, $value, $viewDatas, $extras, $attributes);
|
$form = $this->form_dropdown_common($field, $value, $viewDatas, $extras, $attributes);
|
||||||
break;
|
break;
|
||||||
|
case 'extra':
|
||||||
|
if (array_key_exists('type', $viewDatas['control']['form_datas']) && $viewDatas['control']['form_datas']['type'] === 'DISK') {
|
||||||
|
$options = ["" => lang("{$viewDatas['class_path']}.label.{$field}") . " 선택", ...lang("{$viewDatas['class_path']}.EXTRA.{$viewDatas['control']['form_datas']['type']}")];
|
||||||
|
$form = form_dropdown($field, $options, $value, $extras);
|
||||||
|
} else {
|
||||||
|
$form = parent::getFieldForm($field, $value, $viewDatas, $extras);;
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
$form = parent::getFieldForm($field, $value, $viewDatas, $extras);
|
$form = parent::getFieldForm($field, $value, $viewDatas, $extras);
|
||||||
break;
|
break;
|
||||||
|
|||||||
@ -32,10 +32,12 @@ return [
|
|||||||
"CS" => "CS",
|
"CS" => "CS",
|
||||||
],
|
],
|
||||||
"EXTRA" => [
|
"EXTRA" => [
|
||||||
'RAID0' => "RAID0",
|
'DISK' => [
|
||||||
'RAID1' => "RAID1",
|
'RAID0' => "RAID0",
|
||||||
'RAID5' => "RAID5",
|
'RAID1' => "RAID1",
|
||||||
'RAID6' => "RAID6",
|
'RAID5' => "RAID5",
|
||||||
'RAID10' => "RAID10",
|
'RAID6' => "RAID6",
|
||||||
|
'RAID10' => "RAID10",
|
||||||
|
],
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
namespace App\Services\Customer;
|
namespace App\Services\Customer;
|
||||||
|
|
||||||
use App\Entities\Customer\PaymentEntity;
|
use App\Entities\Customer\PaymentEntity;
|
||||||
|
use App\Entities\Customer\ServiceEntity;
|
||||||
use App\Entities\Equipment\ServerPartEntity;
|
use App\Entities\Equipment\ServerPartEntity;
|
||||||
use App\Helpers\Customer\PaymentHelper;
|
use App\Helpers\Customer\PaymentHelper;
|
||||||
use App\Models\Customer\PaymentModel;
|
use App\Models\Customer\PaymentModel;
|
||||||
@ -93,24 +94,6 @@ class PaymentService extends CustomerService
|
|||||||
}
|
}
|
||||||
return $options;
|
return $options;
|
||||||
}
|
}
|
||||||
//서비스 설정
|
|
||||||
public function setServerPart(ServerPartEntity $serverPartEntity): PaymentEntity
|
|
||||||
{
|
|
||||||
if ($serverPartEntity->getBilling() === PAYMENT['BILLING']['ONETIME']) {
|
|
||||||
if ($serverPartEntity->getServiceInfoUID() === null) {
|
|
||||||
throw new \Exception("일회성 부품 추가는 서비스정보가 정의된 후에만 가능합니다.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$formDatas = [];
|
|
||||||
$formDatas['clientinfo_uid'] = $serverPartEntity->getClientInfoUID();
|
|
||||||
$formDatas['serviceinfo_uid'] = $serverPartEntity->getServiceInfoUID();
|
|
||||||
$formDatas['serverinfo_uid'] = $serverPartEntity->getServerInfoUID();
|
|
||||||
$formDatas['title'] = sprintf("[%s] 부품정보 설정", $serverPartEntity->getPartEntity()->getTitle());
|
|
||||||
$formDatas['amount'] = $serverPartEntity->getAmount();
|
|
||||||
$formDatas['billing'] = $serverPartEntity->getBilling();
|
|
||||||
$formDatas['billing_at'] = date("Y-m-d"); //일회성은 지급일이 당일기준처리
|
|
||||||
return $this->create($formDatas);
|
|
||||||
}
|
|
||||||
//List 검색용
|
//List 검색용
|
||||||
//OrderBy 처리
|
//OrderBy 처리
|
||||||
public function setOrderBy(mixed $field = null, mixed $value = null): void
|
public function setOrderBy(mixed $field = null, mixed $value = null): void
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
namespace App\Services\Customer;
|
namespace App\Services\Customer;
|
||||||
|
|
||||||
use App\Entities\Customer\ClientEntity;
|
use App\Entities\Customer\ClientEntity;
|
||||||
|
use App\Entities\Customer\PaymentEntity;
|
||||||
use App\Entities\Customer\ServiceEntity;
|
use App\Entities\Customer\ServiceEntity;
|
||||||
use App\Entities\Equipment\ServerEntity;
|
use App\Entities\Equipment\ServerEntity;
|
||||||
use App\Entities\UserEntity;
|
use App\Entities\UserEntity;
|
||||||
@ -206,11 +207,18 @@ class ServiceService extends CustomerService
|
|||||||
throw new \Exception("서버가 지정되지 않았습니다.");
|
throw new \Exception("서버가 지정되지 않았습니다.");
|
||||||
}
|
}
|
||||||
$entity = parent::create($formDatas);
|
$entity = parent::create($formDatas);
|
||||||
return $entity->setServerEntity($this->getServerService()->setService(
|
$entity = $entity->setServerEntity($this->getServerService()->setService($entity, $formDatas['serverinfo_uid'], STATUS['OCCUPIED']));
|
||||||
$entity,
|
// 결제정보에 추가한다.
|
||||||
$formDatas['serverinfo_uid'],
|
$paymentDatas = [];
|
||||||
STATUS['OCCUPIED']
|
$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);
|
||||||
|
return $entity;
|
||||||
}
|
}
|
||||||
//수정
|
//수정
|
||||||
public function modify(mixed $entity, array $formDatas): ServiceEntity
|
public function modify(mixed $entity, array $formDatas): ServiceEntity
|
||||||
@ -220,21 +228,33 @@ class ServiceService extends CustomerService
|
|||||||
}
|
}
|
||||||
//기존서버정보 사용가능으로 설정
|
//기존서버정보 사용가능으로 설정
|
||||||
if ($entity->getServerInfoUID() && $entity->getServerInfoUID() !== $formDatas['serverinfo_uid']) {
|
if ($entity->getServerInfoUID() && $entity->getServerInfoUID() !== $formDatas['serverinfo_uid']) {
|
||||||
$entity = $this->getServerService()->setService(
|
$this->getServerService()->setService($entity, $entity->getServerEntity()->getPK(), STATUS['AVAILABLE']);
|
||||||
$entity,
|
|
||||||
$entity->getServerEntity()->getPK(),
|
|
||||||
STATUS['AVAILABLE']
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
//서비스 정보수정
|
//서비스 정보수정
|
||||||
$entity = parent::modify($entity, $formDatas);
|
$entity = parent::modify($entity, $formDatas);
|
||||||
//신규서버정보 사용중으로 설정
|
//신규서버정보 사용중으로 설정
|
||||||
if ($entity->getServerInfoUID() !== $formDatas['serverinfo_uid']) {
|
if ($entity->getServerInfoUID() !== $formDatas['serverinfo_uid']) {
|
||||||
$entity = $this->getServerService()->setService(
|
$entity->setServerEntity($this->getServerService()->setService($entity, $formDatas['serverinfo_uid'], STATUS['OCCUPIED']));
|
||||||
$entity,
|
}
|
||||||
$formDatas['serverinfo_uid'],
|
//수정된 정보중 서버,결제일,청구액이 바뀐경우 결제정보에서 미납인경우 수정해준다.
|
||||||
STATUS['OCCUPIED']
|
if (
|
||||||
);
|
$entity->getServerInfoUID() !== $formDatas['serverinfo_uid'] ||
|
||||||
|
$entity->getBillingAt() !== $formDatas['billing_at'] ||
|
||||||
|
$entity->getAmount() !== $formDatas['amount']
|
||||||
|
) {
|
||||||
|
$paymentEntity = $this->getPaymentService()->getEntity(['serviceinfo_uid' => $entity->getPK(), 'status' => STATUS['UNPAID']]);
|
||||||
|
if (!($paymentEntity instanceof PaymentEntity)) {
|
||||||
|
throw new \Exception("{$entity->getPK()}에 해당하는 미결제정보를 찾을수 없습니다.");
|
||||||
|
}
|
||||||
|
$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()->modify($paymentEntity, $paymentDatas);
|
||||||
}
|
}
|
||||||
return $entity;
|
return $entity;
|
||||||
}
|
}
|
||||||
@ -242,11 +262,7 @@ class ServiceService extends CustomerService
|
|||||||
public function delete(mixed $entity): ServiceEntity
|
public function delete(mixed $entity): ServiceEntity
|
||||||
{
|
{
|
||||||
//기존서버정보 사용가능으로 설정
|
//기존서버정보 사용가능으로 설정
|
||||||
$entity = $this->getServerService()->setService(
|
$this->getServerService()->setService($entity, $entity->getServerEntity()->getPK(), STATUS['AVAILABLE']);
|
||||||
$entity,
|
|
||||||
$entity->getServerEntity()->getPK(),
|
|
||||||
STATUS['AVAILABLE']
|
|
||||||
);
|
|
||||||
return parent::delete($entity);
|
return parent::delete($entity);
|
||||||
}
|
}
|
||||||
//History
|
//History
|
||||||
|
|||||||
@ -6,8 +6,9 @@ use App\Entities\Equipment\PartEntity;
|
|||||||
use App\Entities\Equipment\ServerPartEntity;
|
use App\Entities\Equipment\ServerPartEntity;
|
||||||
use App\Helpers\Equipment\PartHelper;
|
use App\Helpers\Equipment\PartHelper;
|
||||||
use App\Models\Equipment\PartModel;
|
use App\Models\Equipment\PartModel;
|
||||||
|
use App\Interfaces\Equipment\ServerPartInterface;
|
||||||
|
|
||||||
class PartService extends EquipmentService
|
class PartService extends EquipmentService implements ServerPartInterface
|
||||||
{
|
{
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -210,8 +210,23 @@ class ServerPartService extends EquipmentService
|
|||||||
$entity = $entity->setPartEntity(
|
$entity = $entity->setPartEntity(
|
||||||
$this->setServerPart($entity, $formDatas['part_uid'], STATUS['OCCUPIED'])
|
$this->setServerPart($entity, $formDatas['part_uid'], STATUS['OCCUPIED'])
|
||||||
);
|
);
|
||||||
//일회성인경우 결제정보에 추가한다.
|
//기본 부품이 아닌경우 결제정보에 추가한다.
|
||||||
$this->getPaymentService()->setServerPart($entity);
|
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);
|
||||||
|
}
|
||||||
return $entity;
|
return $entity;
|
||||||
}
|
}
|
||||||
//수정
|
//수정
|
||||||
@ -235,9 +250,10 @@ class ServerPartService extends EquipmentService
|
|||||||
//기존 정보변경
|
//기존 정보변경
|
||||||
$entity = parent::modify($entity, $formDatas);
|
$entity = parent::modify($entity, $formDatas);
|
||||||
//부품연결정보에 부품정보 정의
|
//부품연결정보에 부품정보 정의
|
||||||
return $entity->setPartEntity(
|
if ($entity->getPartUID() != $formDatas['part_uid']) {
|
||||||
$this->setServerPart($entity, $formDatas['part_uid'], STATUS['OCCUPIED'])
|
$entity->setPartEntity($this->setServerPart($entity, $formDatas['part_uid'], STATUS['OCCUPIED']));
|
||||||
);
|
}
|
||||||
|
return $entity;
|
||||||
}
|
}
|
||||||
//삭제
|
//삭제
|
||||||
public function delete(mixed $entity): ServerPartEntity
|
public function delete(mixed $entity): ServerPartEntity
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user