service === null) { $this->service = service('collectorservice'); } } protected function action_init_process(string $action): void { $fields = ['trafficinfo_uid', 'in', 'out', 'raw_in', 'raw_out']; $filters = ['trafficinfo_uid']; $batchjobFilters = $filters; $actionButtons = ['view' => ICONS['SEARCH']]; $batchjobButtons = []; parent::action_init_process($action); switch ($action) { case 'create': case 'create_form': case 'modify': case 'modify_form': break; case 'view': $fields = [...$fields, 'created_at']; break; case 'index': case 'download': $fields = [...$fields, 'created_at']; break; default: throw new \Exception("[{$action}] 지원하지 않는 action입니다."); // break; } $this->service->getFormService()->setFormFields($fields); $this->service->getFormService()->setFormRules($action, $fields); $this->service->getFormService()->setFormFilters($filters); $this->service->getFormService()->setFormOptions($filters); $this->service->getFormService()->setBatchjobFilters($batchjobFilters); $this->service->getFormService()->setActionButtons($actionButtons); $this->service->getFormService()->setBatchjobButtons($batchjobButtons); parent::action_init_process($action); } protected function create_process(): CollectorEntity { $entity = parent::create_process(); if (!$entity instanceof CollectorEntity) { throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 CollectorEntity만 가능"); } return $entity; } protected function modify_form_process($uid): CollectorEntity { $entity = parent::modify_form_process($uid); if (!$entity instanceof CollectorEntity) { throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 CollectorEntity만 가능"); } return $entity; } protected function modify_process($uid): CollectorEntity { $entity = parent::modify_process($uid); if (!$entity instanceof CollectorEntity) { throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 CollectorEntity만 가능"); } return $entity; } protected function delete_process($uid): CollectorEntity { $entity = parent::delete_process($uid); if (!$entity instanceof CollectorEntity) { throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 CollectorEntity만 가능"); } return $entity; } protected function view_process($uid): CollectorEntity { $entity = parent::view_process($uid); if (!$entity instanceof CollectorEntity) { throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 CollectorEntity만 가능"); } return $entity; } protected function batchjob_process($uid, array $formDatas): CollectorEntity { $entity = parent::batchjob_process($uid, $formDatas); if (!$entity instanceof CollectorEntity) { throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 CollectorEntity만 가능"); } return $entity; } protected function batchjob_delete_process($uid): CollectorEntity { $entity = $this->service->delete($uid); if (!$entity instanceof CollectorEntity) { throw new \RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 CollectorEntity만 가능"); } return $entity; } }