dbmsv4 init...5
This commit is contained in:
parent
5fc19000ed
commit
ee9d672362
@ -217,10 +217,6 @@ abstract class CommonService
|
|||||||
$errorMsg = is_array($errors) ? implode(", ", $errors) : "DB 저장 작업이 실패했습니다.";
|
$errorMsg = is_array($errors) ? implode(", ", $errors) : "DB 저장 작업이 실패했습니다.";
|
||||||
throw new RuntimeException(static::class . '->' . __FUNCTION__ . "에서 오류발생: " . $errorMsg);
|
throw new RuntimeException(static::class . '->' . __FUNCTION__ . "에서 오류발생: " . $errorMsg);
|
||||||
}
|
}
|
||||||
// CodeIgniter 모델의 getInsertID()를 사용하여 새로 생성된 PK를 확실히 가져옵니다.
|
|
||||||
if ($this->model->useAutoIncrement()) {
|
|
||||||
$entity->{$this->getPKField()} = $this->model->getInsertID();
|
|
||||||
}
|
|
||||||
return $entity;
|
return $entity;
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
log_message('debug', __FUNCTION__ . ":" . var_export($entity, true));
|
log_message('debug', __FUNCTION__ . ":" . var_export($entity, true));
|
||||||
@ -255,7 +251,12 @@ abstract class CommonService
|
|||||||
throw new RuntimeException("Return Type은 {$entityClass}만 가능");
|
throw new RuntimeException("Return Type은 {$entityClass}만 가능");
|
||||||
}
|
}
|
||||||
$entity->fill($formDatas);
|
$entity->fill($formDatas);
|
||||||
return $this->save_process($entity);
|
$entity = $this->save_process($entity);
|
||||||
|
//생성PK 설정
|
||||||
|
if ($this->model->useAutoIncrement()) {
|
||||||
|
$entity->{$this->getPKField()} = $this->model->getInsertID();
|
||||||
|
}
|
||||||
|
return $entity;
|
||||||
} catch (FormValidationException $e) {
|
} catch (FormValidationException $e) {
|
||||||
throw $e; // ✅ 감싸지 말고 그대로
|
throw $e; // ✅ 감싸지 말고 그대로
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
@ -289,7 +290,8 @@ abstract class CommonService
|
|||||||
if (!$entity->hasChanged()) {
|
if (!$entity->hasChanged()) {
|
||||||
return $entity;
|
return $entity;
|
||||||
}
|
}
|
||||||
return $this->save_process($entity);
|
$entity = $this->save_process($entity);
|
||||||
|
return $entity;
|
||||||
} catch (FormValidationException $e) {
|
} catch (FormValidationException $e) {
|
||||||
throw $e; // ✅ 감싸지 말고 그대로
|
throw $e; // ✅ 감싸지 말고 그대로
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
|
|||||||
@ -171,16 +171,18 @@ class ServerService extends EquipmentService
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ✅ 서비스 유지중이면 정상 동기화 (해지 시는 detachFromService에서 따로 처리)
|
//가격 변동이 있는 경우
|
||||||
if ($entity->getServiceInfoUid() !== null) {
|
if ($oldEntity->getPrice() !== $entity->getPrice()) {
|
||||||
$serviceService = service('customer_serviceservice');
|
// ✅ 서비스 유지중이면 정상 동기화 (해지 시는 detachFromService에서 따로 처리)
|
||||||
$serviceEntity = $serviceService->getEntity($entity->getServiceInfoUid());
|
if ($entity->getServiceInfoUid() !== null) {
|
||||||
if (!$serviceEntity instanceof ServiceEntity) {
|
$serviceService = service('customer_serviceservice');
|
||||||
throw new RuntimeException(static::class . '->' . __FUNCTION__ . "에서 오류발생: {$entity->getServiceInfoUid()}에 해당하는 서비스정보을 찾을수 없습니다.");
|
$serviceEntity = $serviceService->getEntity($entity->getServiceInfoUid());
|
||||||
|
if (!$serviceEntity instanceof ServiceEntity) {
|
||||||
|
throw new RuntimeException(static::class . '->' . __FUNCTION__ . "에서 오류발생: {$entity->getServiceInfoUid()}에 해당하는 서비스정보을 찾을수 없습니다.");
|
||||||
|
}
|
||||||
|
$serviceService->recalcAmountAndSyncPayment($serviceEntity);
|
||||||
}
|
}
|
||||||
$serviceService->recalcAmountAndSyncPayment($serviceEntity);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $entity;
|
return $entity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -17,9 +17,9 @@ abstract class PartType3Service extends PartType2Service
|
|||||||
public function attachToServer(ServerEntity $serverEntity, array $formDatas = []): PartEntity
|
public function attachToServer(ServerEntity $serverEntity, array $formDatas = []): PartEntity
|
||||||
{
|
{
|
||||||
$formDatas = [];
|
$formDatas = [];
|
||||||
$formDatas['clientinfo_uid'] = $serverEntity->getClientInfoUid();
|
$formDatas['clientinfo_uid'] = $serverEntity->getClientInfoUid();
|
||||||
$formDatas['serviceinfo_uid'] = $serverEntity->getServiceInfoUid();
|
$formDatas['serviceinfo_uid'] = $serverEntity->getServiceInfoUid();
|
||||||
$formDatas['serverinfo_uid'] = $serverEntity->getPK();
|
$formDatas['serverinfo_uid'] = $serverEntity->getPK();
|
||||||
$formDatas['status'] = STATUS['OCCUPIED'];
|
$formDatas['status'] = STATUS['OCCUPIED'];
|
||||||
//파트정보가져오기
|
//파트정보가져오기
|
||||||
$entity = $this->getPartEntityByServer($serverEntity);
|
$entity = $this->getPartEntityByServer($serverEntity);
|
||||||
@ -27,17 +27,21 @@ abstract class PartType3Service extends PartType2Service
|
|||||||
throw new \Exception(static::class . '->' . __FUNCTION__ . ":에서 오류발생: {$entity->getTitle()}는 사용중입니다.");
|
throw new \Exception(static::class . '->' . __FUNCTION__ . ":에서 오류발생: {$entity->getTitle()}는 사용중입니다.");
|
||||||
}
|
}
|
||||||
//파트정보 수정
|
//파트정보 수정
|
||||||
return parent::modify_process($entity, $formDatas);
|
$entity = parent::modify_process($entity, $formDatas);
|
||||||
|
// dd($entity);
|
||||||
|
return $entity;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function detachFromServer(ServerEntity $serverEntity, array $formDatas = []): PartEntity
|
public function detachFromServer(ServerEntity $serverEntity, array $formDatas = []): PartEntity
|
||||||
{
|
{
|
||||||
$formDatas['clientinfo_uid'] = null;
|
$formDatas['clientinfo_uid'] = null;
|
||||||
$formDatas['serviceinfo_uid'] = null;
|
$formDatas['serviceinfo_uid'] = null;
|
||||||
$formDatas['serverinfo_uid'] = null;
|
$formDatas['serverinfo_uid'] = null;
|
||||||
$formDatas['status'] = STATUS['AVAILABLE'];
|
$formDatas['status'] = STATUS['AVAILABLE'];
|
||||||
//파트정보가져오기
|
//파트정보가져오기
|
||||||
$entity = $this->getPartEntityByServer($serverEntity);
|
$entity = $this->getPartEntityByServer($serverEntity);
|
||||||
return parent::modify_process($entity, $formDatas);
|
$entity = parent::modify_process($entity, $formDatas);
|
||||||
|
// dd($entity);
|
||||||
|
return $entity;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user