diff --git a/app/Database/dbmsv2.vuerd.json b/app/Database/dbmsv2.vuerd.json index fd694ef..b66abe0 100644 --- a/app/Database/dbmsv2.vuerd.json +++ b/app/Database/dbmsv2.vuerd.json @@ -4,8 +4,8 @@ "settings": { "width": 3000, "height": 3000, - "scrollTop": -624.4768, - "scrollLeft": -1686, + "scrollTop": -1655.4768, + "scrollLeft": -167, "zoomLevel": 0.76, "show": 511, "database": 4, @@ -340,6 +340,7 @@ "OGYYobEerCY_Fsb8dqU0D", "1q8jG5dQKdD35_XYimkSk", "HYB03rpc8hol5HFnZGtAi", + "Mp3WiH2boEKm5P3XFL0lQ", "VycsOgeM1SXkcq_5XYUMS", "k4vpMNZ75fNUjX-hrjXzs", "8ZPjmeG3NoO6C0icGibJP", @@ -359,6 +360,7 @@ "zL9bBVm37HTSU-xWpwxxJ", "G9PMddYQm9ohnzkJUa_nw", "HYB03rpc8hol5HFnZGtAi", + "Mp3WiH2boEKm5P3XFL0lQ", "P84ZMnZu1nZtRhDY18T5o", "6qEigzm8oyPReGxYdSzNi", "VycsOgeM1SXkcq_5XYUMS", @@ -375,7 +377,7 @@ "color": "" }, "meta": { - "updateAt": 1756961442460, + "updateAt": 1758087644044, "createAt": 1745819764138 } }, @@ -8364,6 +8366,26 @@ "updateAt": 1757395574609, "createAt": 1757395574605 } + }, + "Mp3WiH2boEKm5P3XFL0lQ": { + "id": "Mp3WiH2boEKm5P3XFL0lQ", + "tableId": "ZMGIWLFEswObjH2Sx0NlW", + "name": "stock", + "comment": "재고", + "dataType": "INT", + "default": "0", + "options": 8, + "ui": { + "keys": 0, + "widthName": 60, + "widthComment": 60, + "widthDataType": 60, + "widthDefault": 60 + }, + "meta": { + "updateAt": 1758087660022, + "createAt": 1758087641569 + } } }, "relationshipEntities": { diff --git a/app/Database/dbmsv2_test1.sql b/app/Database/dbmsv2_test1.sql index c185d6f..23e0499 100644 --- a/app/Database/dbmsv2_test1.sql +++ b/app/Database/dbmsv2_test1.sql @@ -261,6 +261,7 @@ CREATE TABLE `partinfo` ( `type` varchar(20) NOT NULL COMMENT '부품구분', `title` varchar(50) NOT NULL, `price` int(11) NOT NULL DEFAULT 0 COMMENT '기본금액', + `stock` int(11) NOT NULL DEFAULT 0 COMMENT '재고수', `status` varchar(20) NOT NULL DEFAULT 'available', `updated_at` timestamp NULL DEFAULT NULL, `created_at` timestamp NOT NULL DEFAULT current_timestamp(), @@ -277,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,'available','2025-09-05 01:27:05','2025-09-04 04:54:34',NULL),(2,'CPU2','CPU','Xeon E5540 2.4Ghz 4Core',50000,'available',NULL,'2025-09-04 04:54:34',NULL),(3,'CPU3','CPU','Xeon X5560 2.8Ghz 8Core',80000,'available','2025-09-05 00:05:26','2025-09-04 04:54:34',NULL),(4,'CPU4','CPU','Xeon X5650 2.6Ghz 12Core',100000,'available',NULL,'2025-09-04 04:54:34',NULL),(5,'CPU5','CPU','Xeon E5-2690v2 2.6Ghz 12Core',100000,'available',NULL,'2025-09-04 04:54:34',NULL),(6,'CPU6','CPU','Xeon E5-2690v4 3.0Ghz 20Core',150000,'available','2025-09-05 00:04:09','2025-09-04 04:54:34',NULL),(7,'RAM7','RAM','2G',20000,'available','2025-09-05 01:27:05','2025-09-04 04:54:34',NULL),(8,'RAM8','RAM','4G',30000,'available',NULL,'2025-09-04 04:54:34',NULL),(9,'RAM9','RAM','8G',40000,'available','2025-09-05 00:05:26','2025-09-04 04:54:34',NULL),(10,'RAM10','RAM','16G',60000,'available','2025-09-05 00:04:09','2025-09-04 04:54:34',NULL),(11,'RAM11','RAM','32G',100000,'available',NULL,'2025-09-04 04:54:34',NULL),(12,'RAM12','RAM','64G',100000,'available',NULL,'2025-09-04 04:54:34',NULL),(13,'DISK13','DISK','SATA 128G',50000,'available',NULL,'2025-09-04 04:54:34',NULL),(14,'DISK14','DISK','SATA 256G',70000,'available','2025-09-05 01:27:05','2025-09-04 04:54:34',NULL),(15,'DISK15','DISK','SATA 512G',90000,'available',NULL,'2025-09-04 04:54:34',NULL),(16,'DISK16','DISK','SAS 128G',60000,'available',NULL,'2025-09-04 04:54:34',NULL),(17,'DISK17','DISK','SAS 256G',80000,'available',NULL,'2025-09-04 04:54:34',NULL),(18,'DISK18','DISK','SAS 512G',100000,'available',NULL,'2025-09-04 04:54:34',NULL),(19,'DISK19','DISK','SSD 128G',60000,'available',NULL,'2025-09-04 04:54:34',NULL),(20,'DISK20','DISK','SSD 256G',80000,'available',NULL,'2025-09-04 04:54:34',NULL),(21,'DISK21','DISK','SSD 512G',100000,'available',NULL,'2025-09-04 04:54:34',NULL),(22,'DISK22','DISK','SSD 1T',120000,'available','2025-09-05 00:04:09','2025-09-04 04:54:34',NULL),(23,'DISK23','DISK','SSD 2T',150000,'available',NULL,'2025-09-04 04:54:34',NULL),(24,'DISK24','DISK','NVME 512G',120000,'available',NULL,'2025-09-04 04:54:34',NULL),(25,'DISK25','DISK','NVME 1T',150000,'available',NULL,'2025-09-04 04:54:34',NULL),(26,'DISK26','DISK','NVME 2T',180000,'available',NULL,'2025-09-04 04:54:34',NULL),(27,'OS27','OS','Windows 10',10000,'available',NULL,'2025-09-04 04:54:34',NULL),(28,'OS28','OS','Windows 11',20000,'available',NULL,'2025-09-04 04:54:34',NULL),(29,'OS29','OS','Windows NT 2008R2',30000,'available',NULL,'2025-09-04 04:54:34',NULL),(30,'OS30','OS','Windows NT 2012R2',30000,'available',NULL,'2025-09-04 04:54:34',NULL),(31,'OS31','OS','Windows NT 2016R2',30000,'available',NULL,'2025-09-04 04:54:34',NULL),(32,'OS32','OS','Windows NT 2019R2',30000,'available',NULL,'2025-09-04 04:54:34',NULL),(33,'OS33','OS','CentOS 7',10000,'available',NULL,'2025-09-04 04:54:34',NULL),(34,'OS34','OS','CentOS 8',10000,'available',NULL,'2025-09-04 04:54:34',NULL),(35,'OS35','OS','CentOS 9',10000,'available',NULL,'2025-09-04 04:54:34',NULL),(36,'OS36','OS','Ununtu 20.04',10000,'available',NULL,'2025-09-04 04:54:34',NULL),(37,'OS37','OS','Ununtu 21.04',10000,'available',NULL,'2025-09-04 04:54:34',NULL),(38,'OS38','OS','Ununtu 22.04',10000,'available',NULL,'2025-09-04 04:54:34',NULL),(39,'DB39','DB','Windows MSSQL 2008',10000,'available',NULL,'2025-09-04 04:54:34',NULL),(40,'DB40','DB','Windows MSSQL 2012',10000,'available',NULL,'2025-09-04 04:54:34',NULL),(41,'DB41','DB','Mysql',10000,'available',NULL,'2025-09-04 04:54:34',NULL),(42,'DB42','DB','Postgress',10000,'available',NULL,'2025-09-04 04:54:34',NULL),(43,'SOFTWARE43','SOFTWARE','닷디펜더',50000,'available',NULL,'2025-09-04 04:54:34',NULL),(44,'SOFTWARE44','SOFTWARE','딥파인더',50000,'available',NULL,'2025-09-04 04:54:34',NULL); +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); /*!40000 ALTER TABLE `partinfo` ENABLE KEYS */; UNLOCK TABLES; @@ -309,7 +310,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 DEFAULT CHARSET=utf8 COMMENT='결제정보'; +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='결제정보'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -318,6 +319,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); /*!40000 ALTER TABLE `payment` ENABLE KEYS */; UNLOCK TABLES; @@ -420,7 +422,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=30 DEFAULT CHARSET=utf8 COMMENT='서버파트정보'; +) ENGINE=InnoDB AUTO_INCREMENT=40 DEFAULT CHARSET=utf8 COMMENT='서버파트정보'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -429,7 +431,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'); +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'); /*!40000 ALTER TABLE `serverpartinfo` ENABLE KEYS */; UNLOCK TABLES; @@ -590,4 +592,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2025-09-16 17:53:55 +-- Dump completed on 2025-09-17 14:44:52 diff --git a/app/Entities/Equipment/PartEntity.php b/app/Entities/Equipment/PartEntity.php index 7dde72c..dfa7575 100644 --- a/app/Entities/Equipment/PartEntity.php +++ b/app/Entities/Equipment/PartEntity.php @@ -18,6 +18,10 @@ class PartEntity extends EquipmentEntity { return $this->attributes['price']; } + public function getStock(): int + { + return $this->attributes['stock']; + } public function getCustomTitle(): string { return $this->getTitle() . " " . number_format($this->getPrice()) . "원"; diff --git a/app/Language/en/Equipment/Part.php b/app/Language/en/Equipment/Part.php index ab2ea77..1ef7ccb 100644 --- a/app/Language/en/Equipment/Part.php +++ b/app/Language/en/Equipment/Part.php @@ -5,6 +5,7 @@ return [ 'type' => "종류", 'title' => "모델명", 'price' => "기본가", + 'stock' => "재고", 'status' => "상태", 'updated_at' => "수정일", 'created_at' => "작성일", diff --git a/app/Models/Equipment/PartModel.php b/app/Models/Equipment/PartModel.php index f9262ca..2931530 100644 --- a/app/Models/Equipment/PartModel.php +++ b/app/Models/Equipment/PartModel.php @@ -16,6 +16,7 @@ class PartModel extends EquipmentModel "type", "title", "price", + "stock", "status", "updated_at" ]; @@ -34,6 +35,7 @@ class PartModel extends EquipmentModel $rule = "required|trim|string"; break; case "price": + case "stock": $rule = "required|numeric"; break; default: diff --git a/app/Services/Equipment/PartService.php b/app/Services/Equipment/PartService.php index 1d03fc7..4e0ef6d 100644 --- a/app/Services/Equipment/PartService.php +++ b/app/Services/Equipment/PartService.php @@ -3,6 +3,7 @@ namespace App\Services\Equipment; use App\Entities\Equipment\PartEntity; +use App\Entities\Equipment\ServerPartEntity; use App\Helpers\Equipment\PartHelper; use App\Models\Equipment\PartModel; @@ -19,6 +20,7 @@ class PartService extends EquipmentService "type", "title", "price", + "stock", "status", ]; } @@ -35,6 +37,7 @@ class PartService extends EquipmentService "type", "title", "price", + "stock", "status", ]; } @@ -44,6 +47,26 @@ class PartService extends EquipmentService } //기본 기능부분 //FieldForm관련용 + //서비스파트 설정 + public function setServerPart(ServerPartEntity $serverPartEntity, mixed $uid, string $status): PartEntity + { + $entity = $this->getEntity($uid); + if (!($entity instanceof PartEntity)) { + throw new \Exception("{$uid}에 해당하는 부품정보를 찾을수없습니다."); + } + //부품정보에 서버정보 설정 및 서비스,고객정보 정의 + $formDatas = []; + if ($status === STATUS['AVAILABLE']) { //해지된 부품 재고수를 처리 + $formDatas['stock'] = $entity->getStock() + $serverPartEntity->getCnt(); + } + if ($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); + } //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 552a2b5..685aeef 100644 --- a/app/Services/Equipment/ServerPartService.php +++ b/app/Services/Equipment/ServerPartService.php @@ -180,9 +180,9 @@ class ServerPartService extends EquipmentService case 'CS': $partEntity = $this->getCSService()->setServerPart($entity, $part_uid, $status); break; - default: - throw new \Exception(__METHOD__ . "에서 오류발생: {$entity->getType()}은 지정되지 않은 부품파트입니다."); - // break; + default: //CPU/RAM/DISK/OS/DB/SOFTWARE + $partEntity = $this->getPartService()->setServerPart($entity, $part_uid, $status); + break; } return $partEntity; }