dbmsv4 init...2
This commit is contained in:
parent
0e72ca6428
commit
fba37415c4
@ -255,7 +255,16 @@ abstract class CommonService
|
||||
if (!$dto instanceof $dtoClass) {
|
||||
throw new RuntimeException(__METHOD__ . "에서 오류발생: " . get_class($dto) . "는 사용할 수 없습니다. ({$dtoClass} 필요)");
|
||||
}
|
||||
$entity = $this->modify_process($this->getEntity($uid), $dto->toArray());
|
||||
$entity = $this->getEntity($uid);
|
||||
if (!$entity) {
|
||||
throw new \Exception(__METHOD__ . "에서 오류발생: {$uid}에 해당하는 정보을 찾을수 없습니다.");
|
||||
}
|
||||
// 💡 동적으로 가져온 Entity 클래스 이름으로 instanceof 검사
|
||||
$entityClass = $this->getEntityClass();
|
||||
if (!$entity instanceof $entityClass) {
|
||||
throw new RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 {$entityClass}만 가능");
|
||||
}
|
||||
$entity = $this->modify_process($entity, $dto->toArray());
|
||||
// 트랜잭션 완료 및 커밋
|
||||
$db->transComplete();
|
||||
return $entity;
|
||||
@ -274,10 +283,10 @@ abstract class CommonService
|
||||
}
|
||||
|
||||
//배치 작업용 수정
|
||||
protected function batchjob_process(string|int $uid, array $formDatas): object
|
||||
protected function batchjob_process($entity, array $formDatas): object
|
||||
{
|
||||
// modify_process를 호출하여 로직 재사용 (PK 로드 및 PK 제거/방어 로직 포함)
|
||||
$entity = $this->modify_process($this->getEntity($uid), $formDatas);
|
||||
$entity = $this->modify_process($entity, $formDatas);
|
||||
return $entity;
|
||||
}
|
||||
final public function batchjob(array $uids, object $dto): array
|
||||
@ -293,7 +302,16 @@ abstract class CommonService
|
||||
//일괄작업처리
|
||||
$entities = [];
|
||||
foreach ($uids as $uid) {
|
||||
$entities[] = $this->batchjob_process($uid, $dto->toArray());
|
||||
$entity = $this->getEntity($uid);
|
||||
if (!$entity) {
|
||||
throw new \Exception(__METHOD__ . "에서 오류발생: {$uid}에 해당하는 정보을 찾을수 없습니다.");
|
||||
}
|
||||
// 💡 동적으로 가져온 Entity 클래스 이름으로 instanceof 검사
|
||||
$entityClass = $this->getEntityClass();
|
||||
if (!$entity instanceof $entityClass) {
|
||||
throw new RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 {$entityClass}만 가능");
|
||||
}
|
||||
$entities[] = $this->batchjob_process($entity, $dto->toArray());
|
||||
}
|
||||
// 트랜잭션 완료 및 커밋
|
||||
$db->transComplete();
|
||||
@ -313,20 +331,8 @@ abstract class CommonService
|
||||
}
|
||||
|
||||
//삭제용 (일반)
|
||||
protected function delete_process(string|int $uid): object
|
||||
protected function delete_process($entity): object
|
||||
{
|
||||
if (!$uid) {
|
||||
throw new \Exception("삭제에 필요한 PrimaryKey 가 정의 되지 않았습니다.");
|
||||
}
|
||||
$entity = $this->getEntity($uid);
|
||||
if (!$entity) {
|
||||
throw new \Exception(__METHOD__ . "에서 오류발생: {$uid}에 해당하는 정보을 찾을수 없습니다.");
|
||||
}
|
||||
// 💡 동적으로 가져온 Entity 클래스 이름으로 instanceof 검사
|
||||
$entityClass = $this->getEntityClass();
|
||||
if (!$entity instanceof $entityClass) {
|
||||
throw new RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 {$entityClass}만 가능");
|
||||
}
|
||||
//삭제
|
||||
$result = $this->model->delete($entity->getPK());
|
||||
log_message('debug', $this->model->getLastQuery());
|
||||
@ -341,8 +347,20 @@ abstract class CommonService
|
||||
{
|
||||
$db = \Config\Database::connect();
|
||||
try {
|
||||
if (!$uid) {
|
||||
throw new \Exception("삭제에 필요한 PrimaryKey 가 정의 되지 않았습니다.");
|
||||
}
|
||||
$entity = $this->getEntity($uid);
|
||||
if (!$entity) {
|
||||
throw new \Exception(__METHOD__ . "에서 오류발생: {$uid}에 해당하는 정보을 찾을수 없습니다.");
|
||||
}
|
||||
// 💡 동적으로 가져온 Entity 클래스 이름으로 instanceof 검사
|
||||
$entityClass = $this->getEntityClass();
|
||||
if (!$entity instanceof $entityClass) {
|
||||
throw new RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 {$entityClass}만 가능");
|
||||
}
|
||||
$db->transException(true)->transStart();
|
||||
$entity = $this->delete_process($uid);
|
||||
$entity = $this->delete_process($entity);
|
||||
// 트랜잭션 완료 및 커밋
|
||||
$db->transComplete();
|
||||
return $entity;
|
||||
@ -361,10 +379,10 @@ abstract class CommonService
|
||||
}
|
||||
|
||||
//삭제용 (배치 작업)
|
||||
protected function batchjob_delete_process(string|int $uid): object
|
||||
protected function batchjob_delete_process($entity): object
|
||||
{
|
||||
// delete_process를 호출하여 로직 재사용 (CommonEntity 로드 및 유효성 검사)
|
||||
$entity = $this->delete_process($uid);
|
||||
$entity = $this->delete_process($entity);
|
||||
return $entity;
|
||||
}
|
||||
|
||||
@ -376,7 +394,16 @@ abstract class CommonService
|
||||
//일괄작업처리
|
||||
$entities = [];
|
||||
foreach ($uids as $uid) {
|
||||
$entities[] = $this->batchjob_delete_process($uid);
|
||||
$entity = $this->getEntity($uid);
|
||||
if (!$entity) {
|
||||
throw new \Exception(__METHOD__ . "에서 오류발생: {$uid}에 해당하는 정보을 찾을수 없습니다.");
|
||||
}
|
||||
// 💡 동적으로 가져온 Entity 클래스 이름으로 instanceof 검사
|
||||
$entityClass = $this->getEntityClass();
|
||||
if (!$entity instanceof $entityClass) {
|
||||
throw new RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 {$entityClass}만 가능");
|
||||
}
|
||||
$entities[] = $this->batchjob_delete_process($entity);
|
||||
}
|
||||
// 트랜잭션 완료 및 커밋
|
||||
$db->transComplete();
|
||||
|
||||
@ -146,6 +146,11 @@ class ServerPartService extends EquipmentService
|
||||
//서버파트 수정
|
||||
return parent::modify_process($entity, $formDatas);
|
||||
}
|
||||
protected function delete_process($entity): ServerPartEntity
|
||||
{
|
||||
$this->getPartService($entity->getType())->detachFromServerPart($entity);
|
||||
return parent::delete_process($entity);
|
||||
}
|
||||
//List 검색용
|
||||
//FormFilter 조건절 처리
|
||||
//검색어조건절처리
|
||||
@ -195,7 +200,7 @@ class ServerPartService extends EquipmentService
|
||||
]) as $entity
|
||||
) {
|
||||
$this->getPartService($entity->getType())->detachFromServerPart($entity);
|
||||
parent::delete($entity->getPK());
|
||||
parent::delete_process($entity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -268,8 +268,8 @@ class ServerService extends EquipmentService
|
||||
$this->getFormService()->setFormRules('modify', $fields);
|
||||
parent::modify_process($entity, $formDatas);
|
||||
//서버파트정보처리
|
||||
service('part_ipservice')->detachFromService($entity);
|
||||
service('part_switchservice')->detachFromService($entity);
|
||||
service('equipment_serverpartservice')->detachFromService($entity);
|
||||
service('part_ipservice')->detachFromServer($entity);
|
||||
service('part_switchservice')->detachFromServer($entity);
|
||||
service('equipment_serverpartservice')->detachFromServer($entity);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user