예제 #1
0
 public function updatePresident($presidentRow, $data)
 {
     $hasntEmail = isset($data['hasnt_email']) ? $data['hasnt_email'] : 0;
     $this->validateEmail($presidentRow->getId(), $data['email'], $hasntEmail);
     $this->validatePhoneNumbers($data);
     $data = $this->_filterInputPresident($data)->getUnescaped();
     $presidentRow->setEnterpriseId(isset($data['enterprise_id']) ? $data['enterprise_id'] : $presidentRow->getEnterpriseId())->setEducationId(isset($data['education_id']) ? $data['education_id'] : $presidentRow->getEducationId())->setPositionId(isset($data['position_id']) ? $data['position_id'] : $presidentRow->getPositionId())->setFindUsId(isset($data['find_us_id']) ? $data['find_us_id'] : $presidentRow->getFindUsId())->setName(isset($data['name']) ? $data['name'] : $presidentRow->getName())->setNickName(isset($data['nick_name']) ? $data['nick_name'] : $presidentRow->getNickName())->setCpf(isset($data['cpf']) ? $data['cpf'] : $presidentRow->getCpf())->setPhone(isset($data['phone']) ? $data['phone'] : $presidentRow->getPhone())->setCellphone(isset($data['cellphone']) ? $data['cellphone'] : $presidentRow->getCellphone())->setEmail(isset($data['email']) ? $data['email'] : $presidentRow->getEmail())->setBornDate(isset($data['born_date']) ? Vtx_Util_Date::format_iso($data['born_date']) : $presidentRow->getBornDate())->setGender(isset($data['gender']) ? $data['gender'] : $presidentRow->getGender())->setNewsletterEmail(isset($data['newsletter_email']) ? $data['newsletter_email'] : 0)->setNewsletterMail(isset($data['newsletter_mail']) ? $data['newsletter_mail'] : 0)->setNewsletterSms(isset($data['newsletter_sms']) ? $data['newsletter_sms'] : 0)->setAgree(isset($data['agree']) ? $data['agree'] : 0);
     $presidentRow->save();
     return array('status' => true);
 }
예제 #2
0
 public function updateRoleQuestionnaire($rqRowData, $data)
 {
     $data = $this->_filterInputRoleQuestionnaire($data)->getUnescaped();
     $questionnaireId = $data['questionnaire_id'];
     $startDate = Vtx_Util_Date::format_iso($data['start_date']);
     $endDate = Vtx_Util_Date::format_iso($data['end_date']);
     if (!$this->modelQuestionnaire->verifyQuestionnaireOperation($questionnaireId, $startDate, $endDate)) {
         return array('status' => false, 'messageError' => 'Período de configuração inválido.');
     }
     $rqRowData->setStartDate($startDate)->setEndDate($endDate);
     $rqRowData->save();
     return array('status' => true);
 }
예제 #3
0
파일: User.php 프로젝트: Lazaro-Gallo/psmn
 function updateUser($userRowData, $data)
 {
     $verifylogin = DbTable_User::getInstance()->fetchRow(array('Login = ?' => $data['login'], 'Id != ?' => $userRowData->getId()));
     if ($verifylogin) {
         return array('status' => false, 'messageError' => 'Nome de usuário (login) em uso.');
     }
     if (isset($data['change_password'])) {
         unset($data['change_password']);
         $data['password'] = $data['keypass'];
     }
     if (isset($data['password'])) {
         if ($data['keypass'] != $data['keypass_confirm'] or empty($data['keypass'])) {
             return array('status' => false, 'messageError' => 'Senha não confere.');
         }
         $pass = Vtx_Util_String::hashMe(md5($data['password']));
     }
     $data = $this->_filterInputUser($data)->getUnescaped();
     $userRowData->setPositionId(isset($data['position_id']) ? $data['position_id'] : $userRowData->getPositionId())->setEducationId(isset($data['education_id']) ? $data['education_id'] : $userRowData->getEducationId())->setBornDate(isset($data['born_date']) ? Vtx_Util_Date::format_iso($data['born_date']) : $userRowData->getBornDate())->setGender(isset($data['gender']) ? $data['gender'] : $userRowData->getGender())->setCpf(isset($data['cpf']) ? $data['cpf'] : $userRowData->getCpf())->setKeypass(isset($data['password']) ? $pass['sha'] : $userRowData->getKeypass())->setSalt(isset($data['password']) ? $pass['salt'] : $userRowData->getSalt())->setFirstName(isset($data['first_name']) ? $data['first_name'] : $userRowData->getFirstName())->setSurname(isset($data['surname']) ? $data['surname'] : $userRowData->getSurname())->setEmail(isset($data['email']) ? $data['email'] : $userRowData->getEmail())->setLogin(isset($data['login']) ? $data['login'] : $userRowData->getLogin())->setPasswordHint(isset($data['password_hint']) ? $data['password_hint'] : $userRowData->getPasswordHint())->setStatus(isset($data['status']) ? $data['status'] : $userRowData->getLogin());
     //'13302', NULL, NULL, 'VANESSA ZULIAN', '', '000.001.340-40', '*****@*****.**', '40ef7e139a734b368975ca4eb01bbb80b224e4dc241f5a767bb57d593d9e65128dfb7f97ba198bbcce89183d925f6a9e0927487cc1c8cfd1a5bfc80d58c06bef', 'deaaf66b0e537f2', '', NULL, NULL, NULL, '123 teste'
     $userRowData->save();
     return array('status' => true);
 }
예제 #4
0
파일: PSMN.php 프로젝트: Lazaro-Gallo/psmn
 /**
  * @REFATORAR
  * 
  * @param type $blockId
  * @return type
  * @throws Exception
  */
 public function getArrayQuestionsAndAlternatives($questionnaireId, $userId, $blockId = null)
 {
     try {
         $arrDevolutiveRAA = array();
         $arrCriteria = array();
         $arrBlocks = array();
         $arrQuestionnaire = array();
         $arrRadarData = array();
         // Definições do Questionário
         $questionnaireDefs = $this->questionnaire->getQuestionnaireById($questionnaireId);
         $arrQuestionnaire['title'] = $questionnaireDefs->getTitle();
         $arrQuestionnaire['description'] = $questionnaireDefs->getDescription();
         $arrQuestionnaire['long_description'] = $questionnaireDefs->getLongDescription();
         $arrQuestionnaire['operation_beginning'] = Vtx_Util_Date::format_dma($questionnaireDefs->getOperationBeginning());
         $arrQuestionnaire['operation_ending'] = Vtx_Util_Date::format_dma($questionnaireDefs->getOperationEnding());
         // Recupera Dados do Questionario, Bloco e cada um dos enunciados das questoes vinculadas ao Bloco do questionario
         $questionsDefs = $this->question->getAllByQuestionnaireIdBlockId($questionnaireId, $blockId);
         //loop em cada QuestionId do QuestionarioId
         foreach ($questionsDefs as $question_def) {
             $idBlock = "";
             $idCriterion = "";
             $questionId = $question_def->getId();
             $question_value = $question_def->getQuestao();
             //recupera dados da QuestaoId
             // Grava a questão no array de devolutiva
             $arrDevolutiveRAA[$questionId]['designation'] = $question_def->getDesignacao();
             $arrDevolutiveRAA[$questionId]['value'] = $question_value;
             $arrDevolutiveRAA[$questionId]['text'] = $question_def->getTexto();
             // Verifica se existe Bloco válido e grava nos arrays de blocos e devolutiva
             $idBlock = $question_def->getBloco();
             if ($idBlock != "" && $idBlock != 0) {
                 $arrBlocks[$idBlock] = $question_def->getBlocoTitulo();
                 $arrDevolutiveRAA[$questionId]['block'] = $question_def->getBloco();
             }
             // Verifica se existe Critério válido e grava nos arrays de critérios e devolutiva
             $idCriterion = $question_def->getCriterio();
             if ($idCriterion != "" && $idCriterion != 0) {
                 $arrCriteria[$idCriterion] = $question_def->getCriterioTitulo();
                 $arrDevolutiveRAA[$questionId]['criterion'] = $question_def->getCriterio();
             }
             // Verifica se um determinada Empresa respondeu uma questao
             $isAnswered = $this->question->isAnsweredByEnterprise($questionId, $userId);
             //Se empresa respondeu a questaoId verificada, entao entra no condicional abaixo
             if ($isAnswered['status']) {
                 // Recupera a resposta escrita
                 $answer = $this->question->getQuestionAnswer($questionId, $userId);
                 $alternative_id = $answer['alternative_id'];
                 $arrDevolutiveRAA[$questionId]['alternative_id'] = $alternative_id;
                 $arrDevolutiveRAA[$questionId]['write_answer'] = isset($answer['answer_value']) ? $answer['answer_value'] : "";
                 if (count($answer['annual_result']) > 0) {
                     $arrDevolutiveRAA[$questionId]['annual_result'] = $answer['annual_result'];
                     $arrDevolutiveRAA[$questionId]['annual_result_unit'] = $answer['annual_result_unit'];
                 } else {
                     $arrDevolutiveRAA[$questionId]['annual_result'] = "";
                     $arrDevolutiveRAA[$questionId]['annual_result_unit'] = "";
                 }
                 // Recupera o feedback da alternativa escolhida
                 $alternative = $this->alternative->getAlternativeById($alternative_id);
                 $arrDevolutiveRAA[$questionId]['alternative_designation'] = $alternative->getDesignation();
                 $arrDevolutiveRAA[$questionId]['alternative_feedback'] = $alternative->getFeedbackDefault();
                 // Recupera o 'Pontos Fortes' do avaliador da resolução da questão
                 $arrDevolutiveRAA[$questionId]['answer_feedback'] = $this->question->getAnswerFeedback($isAnswered['objAnswered']->getAnswerId());
                 // Recupera o 'Oportunidades de melhoria' do avaliador da resolução da questão
                 $arrDevolutiveRAA[$questionId]['answer_feedback_improve'] = $this->question->getAnswerFeedbackImprove($isAnswered['objAnswered']->getAnswerId());
             }
             // Recupera os dados das alternativas da QuestionId
             $alternativesDefs = $this->alternative->getAllByQuestionId($questionId, false, 'object');
             foreach ($alternativesDefs as $alternative_def) {
                 $arr_alternative[$alternative_def->getDesignation()] = $alternative_def->getValue();
             }
             $arrDevolutiveRAA[$questionId]['alternatives'] = $arr_alternative;
         }
         return array($arrDevolutiveRAA, $arrBlocks, $arrCriteria, $arrQuestionnaire);
     } catch (Vtx_UserException $e) {
         DbTable_Questionnaire::getInstance()->getAdapter()->rollBack();
         return array('status' => false, 'messageError' => $e->getMessage());
     } catch (Exception $e) {
         DbTable_Questionnaire::getInstance()->getAdapter()->rollBack();
         throw new Exception($e);
     }
 }
예제 #5
0
 public function getArrayDevolutiveRAA($questionnaireId, $userId, $blockId = null)
 {
     try {
         $arrDevolutiveRAA = array();
         $arrCriteria = array();
         $arrBlocks = array();
         $arrQuestionnaire = array();
         $arrRadarData = array();
         // Definições do Questionário
         $questionnaireDefs = $this->Questionnaire->getQuestionnaireById($questionnaireId);
         $arrQuestionnaire['title'] = $questionnaireDefs->getTitle();
         $arrQuestionnaire['description'] = $questionnaireDefs->getDescription();
         $arrQuestionnaire['long_description'] = $questionnaireDefs->getLongDescription();
         $arrQuestionnaire['operation_beginning'] = Vtx_Util_Date::format_dma($questionnaireDefs->getOperationBeginning());
         $arrQuestionnaire['operation_ending'] = Vtx_Util_Date::format_dma($questionnaireDefs->getOperationEnding());
         // Definições da Questão
         $questionsDefs = $this->Question->getAllByQuestionnaireIdBlockId($questionnaireId, $blockId);
         $this->Block = new Model_Block();
         foreach ($questionsDefs as $question_def) {
             $idBlock = "";
             $idCriterion = "";
             $questionId = $question_def->getId();
             $question_value = $question_def->getQuestao();
             $perguntas = $this->Block->cacheOrModelBlockById(63);
             // Grava a questão no array de devolutiva
             $arrDevolutiveRAA[$questionId]['designation'] = $question_def->getDesignacao();
             $arrDevolutiveRAA[$questionId]['value'] = $question_value;
             $arrDevolutiveRAA[$questionId]['text'] = $question_def->getTexto();
             $arrDevolutiveRAA[$questionId]['pergunta'] = $perguntas[$questionId]["QuestionSummary"];
             // Verifica se existe Bloco válido e grava nos arrays de blocos e devolutiva
             $idBlock = $question_def->getBloco();
             if ($idBlock != "" && $idBlock != 0) {
                 $arrBlocks[$idBlock] = $question_def->getBlocoTitulo();
                 $arrDevolutiveRAA[$questionId]['block'] = $question_def->getBloco();
             }
             // Verifica se existe Critério válido e grava nos arrays de critérios e devolutiva
             $idCriterion = $question_def->getCriterio();
             if ($idCriterion != "" && $idCriterion != 0) {
                 $arrCriteria[$idCriterion] = $question_def->getCriterioTitulo();
                 $arrDevolutiveRAA[$questionId]['criterion'] = $question_def->getCriterio();
             }
             $isAnswered = $this->Question->isAnsweredByEnterprise($questionId, $userId);
             $isAnsweredVerificador = $this->Question->isAnsweredByVerificador($questionId, $this->userAuth->getUserId(), $userId);
             //var_dump(array_key_exists("objAnswered",$isAnsweredVerificador));exit;
             //var_dump($userId);
             /// print_r($this->Questionnaire->getQuestionsAnsweredByUserId($questionnaireId,43005, $blockId));
             //exit;
             if ($isAnswered['status']) {
                 // Recupera a resposta escrita
                 $answer = $this->Question->getQuestionAnswer($questionId, $userId);
                 if (!array_key_exists("objAnswered", $isAnsweredVerificador)) {
                     $alternative_id = $answer['alternative_id'];
                     $anwser_value = isset($answer['answer_value']) ? $answer['answer_value'] : "";
                 } else {
                     $alternative_id = $isAnsweredVerificador["objAnswered"]['AlternativeId'];
                     $anwser_value = isset($isAnsweredVerificador["objAnswered"]['AnswerValue']) ? $isAnsweredVerificador["objAnswered"]['AnswerValue'] : "";
                 }
                 $arrDevolutiveRAA[$questionId]['alternative_id'] = $alternative_id;
                 $arrDevolutiveRAA[$questionId]['write_answer'] = $anwser_value;
                 if (count($answer['annual_result']) > 0) {
                     $arrDevolutiveRAA[$questionId]['annual_result'] = $answer['annual_result'];
                     $arrDevolutiveRAA[$questionId]['annual_result_unit'] = $answer['annual_result_unit'];
                 } else {
                     $arrDevolutiveRAA[$questionId]['annual_result'] = "";
                     $arrDevolutiveRAA[$questionId]['annual_result_unit'] = "";
                 }
                 // Recupera o feedback da alternativa escolhida
                 $alternative = $this->Alternative->getAlternativeById($alternative_id);
                 $arrDevolutiveRAA[$questionId]['alternative_designation'] = $alternative->getDesignation();
                 $arrDevolutiveRAA[$questionId]['alternative_feedback'] = $alternative->getFeedbackDefault();
                 // Recupera o 'Pontos Fortes' do avaliador da resolução da questão
                 $arrDevolutiveRAA[$questionId]['answer_feedback'] = $this->Question->getAnswerFeedback($isAnswered['objAnswered']->getAnswerId());
                 // Recupera o 'Oportunidades de melhoria' do avaliador da resolução da questão
                 $arrDevolutiveRAA[$questionId]['answer_feedback_improve'] = $this->Question->getAnswerFeedbackImprove($isAnswered['objAnswered']->getAnswerId());
             }
             // Recupera as alternativas da questão
             $alternativesDefs = $this->Alternative->getAllByQuestionId($questionId);
             try {
                 foreach ($alternativesDefs as $alternative_def) {
                     $arr_alternative[$alternative_def['Designation']] = $alternative_def;
                     $arrDevolutiveRAA[$questionId]['alternatives'] = $arr_alternative;
                 }
             } catch (Excception $e) {
             }
         }
         return array($arrDevolutiveRAA, $arrBlocks, $arrCriteria, $arrQuestionnaire);
     } catch (Vtx_UserException $e) {
         DbTable_Questionnaire::getInstance()->getAdapter()->rollBack();
         return array('status' => false, 'messageError' => $e->getMessage());
     } catch (Exception $e) {
         DbTable_Questionnaire::getInstance()->getAdapter()->rollBack();
         throw new Exception($e);
     }
     exit;
 }
예제 #6
0
 public function getArrayDevolutiveReturn($questionnaireId, $userId, $programaId, $blockId = null)
 {
     $this->Questionnaire = new Model_Questionnaire();
     $this->Alternative = new Model_Alternative();
     $this->Question = new Model_Question();
     try {
         $arrDevolutiveRAA = array();
         $arrCriteria = array();
         $arrBlocks = array();
         $arrQuestionnaire = array();
         $arrRadarData = array();
         // Definições do Questionário
         //@TODO - por em cache
         $questionnaireDefs = $this->Questionnaire->getQuestionnaireById($questionnaireId);
         $arrQuestionnaire['title'] = $questionnaireDefs->getTitle();
         $arrQuestionnaire['description'] = $questionnaireDefs->getDescription();
         $arrQuestionnaire['long_description'] = $questionnaireDefs->getLongDescription();
         $arrQuestionnaire['operation_beginning'] = Vtx_Util_Date::format_dma($questionnaireDefs->getOperationBeginning());
         $arrQuestionnaire['operation_ending'] = Vtx_Util_Date::format_dma($questionnaireDefs->getOperationEnding());
         // Definições da Questão
         $questionsDefs = $this->Question->getAllByQuestionnaireIdBlockId($questionnaireId, $blockId);
         $cacheQuestion = new Vtx_Cache_MPE_QuestionarioCache();
         /**
          * - metodo criado para refatorar 2 metodos que faziam a mesma coisa e estavam dentro do foreach
          * - metodo que retorna todas alternativas de todas as questoes de um bloco que um Usuario respondeu
          * - a utilizacao deste metodo reduziu media de 25% a qtd de queries chamadas pelo BD.
          * - no meu exemplo reduziu de 320 para 235.
          * - chamada: $isAnswered = $this->Question->setaQuestionResp($QuestionRespDbTable, $questionId);
          * @author esilva
          */
         $QuestionRespDbTable = $this->Question->getAnswerByBlockId($blockId, $userId, $programaId);
         //var_dump ($QuestionRespDbTable); exit;
         /**
          * 
          * Recupera dados de cada questao de um Bloco:
          * - enunciado questao 
          * - alternativas
          * - resposta
          * - resultado anual
          * 
          */
         foreach ($questionsDefs as $question_def) {
             $idBlock = "";
             $idCriterion = "";
             $questionId = $question_def->getId();
             $question_value = $question_def->getQuestao();
             // Grava a questão no array de devolutiva
             $arrDevolutiveRAA[$questionId]['designation'] = $question_def->getDesignacao();
             $arrDevolutiveRAA[$questionId]['value'] = $question_value;
             $arrDevolutiveRAA[$questionId]['text'] = $question_def->getTexto();
             // Verifica se existe Bloco válido e grava nos arrays de blocos e devolutiva
             $idBlock = $question_def->getBloco();
             if ($idBlock != "" && $idBlock != 0) {
                 $arrBlocks[$idBlock] = $question_def->getBlocoTitulo();
                 $arrDevolutiveRAA[$questionId]['block'] = $question_def->getBloco();
             }
             // Verifica se existe Critério válido e grava nos arrays de critérios e devolutiva
             $idCriterion = $question_def->getCriterio();
             if ($idCriterion != "" && $idCriterion != 0) {
                 $arrCriteria[$idCriterion] = $idCriterion . ". " . $question_def->getCriterioTitulo();
                 $arrDevolutiveRAA[$questionId]['criterion'] = $question_def->getCriterio();
             }
             $isAnswered['answerResult'] = null;
             //se empresa respondeu a questao
             //$isAnswered = $this->Question->isAnsweredByEnterprise($questionId,$userId, true);
             $isAnswered = $this->Question->setaQuestionResp($QuestionRespDbTable, $questionId);
             //var_dump('isAnswered',$isAnswered);
             if ($isAnswered['status']) {
                 // Recupera a resposta
                 //$answer = $this->Question->getQuestionAnswer($questionId,$userId);
                 //refatorado para otimizar queries executadas
                 $answer = $isAnswered['answerResult'];
                 $alternative_id = $answer['alternative_id'];
                 $arrDevolutiveRAA[$questionId]['alternative_id'] = $alternative_id;
                 $arrDevolutiveRAA[$questionId]['write_answer'] = isset($answer['answer_value']) ? $answer['answer_value'] : "";
                 if (count($answer['annual_result']) > 0) {
                     $arrDevolutiveRAA[$questionId]['annual_result'] = $answer['annual_result'];
                     $arrDevolutiveRAA[$questionId]['annual_result_unit'] = $answer['annual_result_unit'];
                 } else {
                     $arrDevolutiveRAA[$questionId]['annual_result'] = "";
                     $arrDevolutiveRAA[$questionId]['annual_result_unit'] = "";
                 }
                 // Recupera o feedback da alternativa escolhida
                 #$alternative =  $this->Alternative->getAlternativeById($alternative_id);
                 //recupera do cache
                 $alternative = $cacheQuestion->alternative($alternative_id, $this->Alternative);
                 $arrDevolutiveRAA[$questionId]['alternative_designation'] = $alternative->getDesignation();
                 $arrDevolutiveRAA[$questionId]['alternative_feedback'] = $alternative->getFeedbackDefault();
                 // Recupera os comentarios 1 do avaliador da resolução da questão
                 //REFACTORING
                 //$arrDevolutiveRAA[$questionId]['answer_feedback'] = $this->Question->getAnswerFeedback( $isAnswered['objAnswered']['AnswerIdValue'] );//$isAnswered['objAnswered']->getAnswerId());
                 $arrDevolutiveRAA[$questionId]['answer_feedback'] = $answer['AnswerFeedback'];
                 // Recupera os comentarios 2 do avaliador da resolução da questão
                 //REFACTORING
                 //$arrDevolutiveRAA[$questionId]['answer_feedback_improve'] = $this->Question->getAnswerFeedbackImprove($isAnswered['objAnswered']['AnswerIdValue']);
                 $arrDevolutiveRAA[$questionId]['answer_feedback_improve'] = $answer['AnswerFeedbackImprove'];
                 //AdditionalInfo
                 $arrDevolutiveRAA[$questionId]['additional_info'] = $answer['AdditionalInfo'];
             }
             // Recupera as alternativas da questão
             //$alternativesDefs =  $this->Alternative->getAllByQuestionId($questionId);
             //recupera do cache
             $alternativesDefs = $cacheQuestion->alternativasEQuestoes($questionId, $this->Alternative);
             //var_dump ('alternativesDefs: ', $alternativesDefs);
             //echo "<br><Br>";
             foreach ($alternativesDefs as $alternative_def) {
                 if (is_object($alternative_def)) {
                     $arr_alternative[$alternative_def->getDesignation()] = $alternative_def->getValue();
                 } else {
                     $arr_alternative[$alternative_def['Designation']] = $alternative_def['Value'];
                 }
             }
             $arrDevolutiveRAA[$questionId]['alternatives'] = $arr_alternative;
         }
         return array($arrDevolutiveRAA, $arrBlocks, $arrCriteria, $arrQuestionnaire);
     } catch (Vtx_UserException $e) {
         DbTable_Questionnaire::getInstance()->getAdapter()->rollBack();
         return array('status' => false, 'messageError' => $e->getMessage());
     } catch (Exception $e) {
         DbTable_Questionnaire::getInstance()->getAdapter()->rollBack();
         throw new Exception($e);
     }
 }
예제 #7
0
 /**
  * funcao que faz a geracao e recuperacao do Protocolo da devolutiva
  * 
  * @author esilva
  * 
  * @param type $objView
  * @param type $objDevolutive
  * @param type $objUser
  * @param type $questionnaire_id
  * @param type $user_id
  * @param type $programaId
  * @param type $permissionEvaluationOfResponse
  * 
  */
 public function geracaoDoProtocolo($objView, $objDevolutive, $objExecution, $objUser, $questionnaire_id, $user_id, $loggedUserId, $programaId, $permissionEvaluationOfResponse)
 {
     $this->loggedUserId = $loggedUserId;
     $this->view = $objView;
     $this->Execution = $objExecution;
     $this->Devolutive = $objDevolutive;
     $this->modelUser = $objUser;
     $this->modelProtocolo = $this;
     ///////////////////////////
     // CODIGO NOVO para protocolo devolutiva
     ///////////////////////////
     $geraProtocolo = false;
     if ($permissionEvaluationOfResponse) {
         $existsArchive = $this->Execution->getEvaluationPath($questionnaire_id, $user_id, $programaId);
     } else {
         $existsArchive = $this->Execution->getDevolutivePath($questionnaire_id, $user_id, $programaId);
     }
     //valida se deve gerar um protocolo
     if (!$existsArchive) {
         $geraProtocolo = true;
         //gerando protocolo para devolutiva
         $protocoloDevolutiva = $this->modelProtocolo->insertProtocolo($user_id, $this->loggedUserId, $programaId);
         //este eh o numero de protocolo da devolutiva
         $this->Devolutive->setProtocoloIdDevolutiva($protocoloDevolutiva['lastId']);
         $this->Devolutive->setProtocoloCreateAt($protocoloDevolutiva['createAt']);
         //este é a string protocolo que é printado na devolutiva
         $protocolo = Vtx_Util_Formatting::protocoloPSMN($this->Devolutive->getProtocoloIdDevolutiva(), $this->Devolutive->getProtocoloCreateAt());
         //pega o usuario logado que gerou a devolutiva, podendo ser o usuario, gestor ou admin
         $user = $this->modelUser->getUserById($this->loggedUserId);
         //JSON
         $this->view->protocoloId = $this->Devolutive->getProtocoloIdDevolutiva();
         $this->view->protocolo = $this->Devolutive->getProtocolo();
         $this->view->protocoloCreateAt = $this->Devolutive->getProtocoloCreateAt();
         $this->view->userLogadoGerouDevolutiva = $user->getFirstName();
         $geraProtocolo = true;
         $this->Devolutive->setProtocolo($protocolo);
     } else {
         //caso seja uma devolutiva pdf ja gerada
         //recupera informacoes da devolutiva gerada na tabela ProtocoloDevolutiva
         //$objProtocoloDevolutiva = $this->modelProtocolo->getDbtable()->getProtocoloByUserId($userId, $programaId);
         $objProtocoloDevolutiva = $this->modelProtocolo->getDbtable()->getProtocoloByDevolutivePath($existsArchive);
         if (is_object($objProtocoloDevolutiva)) {
             $user = $this->modelUser->getUserById($objProtocoloDevolutiva->getUserIdLogado());
             //JSON
             $this->view->protocoloId = $objProtocoloDevolutiva->getId();
             $this->view->protocolo = Vtx_Util_Formatting::protocoloPSMN($objProtocoloDevolutiva->getId(), $objProtocoloDevolutiva->getCreateAt());
             $this->view->protocoloCreateAt = Vtx_Util_Date::format_date_devolutive($objProtocoloDevolutiva->getCreateAt());
             $this->view->userLogadoGerouDevolutiva = $user->getFirstName();
             $geraProtocolo = true;
         } else {
             $this->view->protocoloId = "";
             $this->view->protocolo = "";
             $this->view->protocoloCreateAt = "";
             $this->view->userLogadoGerouDevolutiva = "";
         }
     }
     /////////////////////////////////
     //fim codigo protocolo devolutiva
     /////////////////////////////////
     return $geraProtocolo;
 }
예제 #8
0
 /**
  * dados da empresa
  * 
  * @param type $userId
  * @return type
  */
 public function getEnterpriseData($userId)
 {
     $User = new Model_User();
     //$President = new Model_President();
     $Enterprise = new Model_Enterprise();
     $UserLocality = new Model_UserLocality();
     $AddressEnterprise = new Model_AddressEnterprise();
     $Position = new Model_Position();
     $userRow = $User->getUserById($userId);
     $userLocalityRow = $UserLocality->getUserLocalityByUserId($userRow->getId());
     $enterpriseRow = $Enterprise->getEnterpriseById($userLocalityRow->getEnterpriseId());
     //var_dump('EnterpriseId: ',$enterpriseRow->getId());
     //$presidentRow = $President->getPresidentByEnterpriseId($enterpriseRow->getId());
     $addressEnterpriseRow = $AddressEnterprise->getAddressEnterpriseByEnterpriseId($enterpriseRow->getId());
     $arrAnnualRevenue = Vtx_Util_Array::annualRevenue();
     $arrCategoria = Vtx_Util_Array::categoriaMpe();
     $idCategoria = $enterpriseRow->getCategoriaId();
     $nomeCategoria = "";
     if (is_int($idCategoria)) {
         $nomeCategoria = $arrCategoria[$idCategoria];
     }
     $arrTipoEmpresa = Vtx_Util_Array::tipoEmpresaMPE();
     $idTipoEmpresa = $enterpriseRow->getEnterpriseTypeId();
     $tipoEmpresa = "";
     if (is_int($idTipoEmpresa)) {
         $tipoEmpresa = $arrTipoEmpresa[$idTipoEmpresa];
     }
     // var_dump('addressEnterpriseRow: ',$addressEnterpriseRow);
     // exit;
     $neighborhood = $addressEnterpriseRow->findParentNeighborhood();
     //var_dump('neighborhood: ',$neighborhood);
     $idUf = $addressEnterpriseRow->getStateId();
     $idCidade = $addressEnterpriseRow->getCityId();
     //var_dump($idCidade);
     //var_dump($idUf);
     if (is_int($idUf)) {
         $uf = DbTable_State::getInstance()->getById($idUf)->getUf();
     } else {
         $uf = "";
     }
     if (is_int($idCidade)) {
         $cidade = DbTable_City::getInstance()->getById($idCidade)->getName();
     } else {
         $cidade = "";
     }
     $cidadeEstado = $cidade . "/" . $uf;
     //var_dump ($cidadeEstado); exit;
     //var_dump($cidadeEstado);
     //exit;
     $cnpj = $enterpriseRow->getCnpj();
     if (is_string($cnpj)) {
         $cpfCnpj = $cnpj;
     } else {
         $cpfCnpj = "";
     }
     //$cnpjMask = Vtx_Util_Formatting::maskFormat($getcnpj,'##.###.###/####-##');
     //$cnpj = null;
     //var_dump($cnpj);
     //exit;
     $arrEnterprise = array('Razão Social' => $enterpriseRow->getSocialName() != '' ? $enterpriseRow->getSocialName() : '', 'E-mail' => $enterpriseRow->getEmailDefault() != '' ? $enterpriseRow->getEmailDefault() : '', 'Nome Fantasia' => $enterpriseRow->getFantasyName() != '' ? $enterpriseRow->getFantasyName() : '', 'Atividade Econômica(CNAE)' => $enterpriseRow->getCnae() != '' ? $enterpriseRow->getCnae() : '', 'CPF/CNPJ' => $cpfCnpj, 'Faturamento Anual' => $enterpriseRow->getAnnualRevenue() != '' && isset($arrAnnualRevenue[$enterpriseRow->getAnnualRevenue()]) ? $arrAnnualRevenue[$enterpriseRow->getAnnualRevenue()] : '', 'Número de Colaboradores' => $enterpriseRow->getEmployeesQuantity() != '' ? $enterpriseRow->getEmployeesQuantity() : '0', 'Data de Abertura' => $enterpriseRow->getCreationDate() != '' ? Vtx_Util_Date::format_dma($enterpriseRow->getCreationDate()) : '', 'Endereço' => is_object($addressEnterpriseRow) ? $addressEnterpriseRow->getStreetNameFull() : '', 'Número' => is_object($addressEnterpriseRow) ? $addressEnterpriseRow->getStreetNumber() : '', 'Complemento' => is_object($addressEnterpriseRow) ? $addressEnterpriseRow->getStreetCompletion() : '', 'Bairro' => $neighborhood ? $addressEnterpriseRow->findParentNeighborhood()->getName() : '', 'Cidade/Estado' => $cidadeEstado, 'CEP' => is_object($addressEnterpriseRow) ? Vtx_Util_Formatting::maskFormat($addressEnterpriseRow->getCep(), '#####-###') : '', 'Categoria' => $nomeCategoria, 'Tipo Empresa' => $tipoEmpresa);
     $idPosition = $userRow->getPositionId();
     $cargo = "";
     if (is_int($idPosition)) {
         $posicao = $Position->getPosition($idPosition);
         $cargo = $posicao ? $posicao->getDescription() : '';
     }
     $arrContact = array('Nome' => is_object($userRow) ? $userRow->getNomeCompleto() : '', 'Cargo' => is_object($userRow) ? $cargo : '', 'Telefone' => is_object($userRow) ? $userRow->getTelefone() : '', 'Celular' => is_object($userRow) ? $userRow->getCelular() : '', 'E-mail' => is_object($userRow) ? $userRow->getEmail() : '');
     $arrIssues = array();
     return array($arrEnterprise, $arrContact, $arrIssues);
 }
예제 #9
0
 public function updateEnterprise($enterpriseRowData, $data)
 {
     $data['status'] = isset($data['status']) ? $data['status'] : $enterpriseRowData->getStatus();
     $data = $this->_filterInputEnterprise($data)->getUnescaped();
     $verifyCnpj = DbTable_Enterprise::getInstance()->fetchRow(array('Cnpj = ?' => $data['cnpj'], 'IdKey != ?' => $enterpriseRowData->getIdKey()));
     if ($verifyCnpj and !empty($data['cnpj'])) {
         return array('status' => false, 'messageError' => 'CNPJ (' . $data['cnpj'] . ') já em uso.');
     }
     $enterpriseRowData->setCategoryAwardId(isset($data['category_award_id']) ? $data['category_award_id'] : $enterpriseRowData->getCategoryAwardId())->setCategorySectorId(isset($data['category_sector_id']) ? $data['category_sector_id'] : $enterpriseRowData->getCategorySectorId())->setSocialName(isset($data['social_name']) ? $data['social_name'] : $enterpriseRowData->getSocialName())->setFantasyName(isset($data['fantasy_name']) ? $data['fantasy_name'] : $enterpriseRowData->getFantasyName())->setStatus(isset($data['status']) ? $data['status'] : $enterpriseRowData->getStatus())->setCnpj(isset($data['cnpj']) ? $data['cnpj'] : $enterpriseRowData->getCnpj())->setStateRegistration(isset($data['state_registration']) ? $data['state_registration'] : $enterpriseRowData->getStateRegistration())->setDap(isset($data['dap']) ? $data['dap'] : $enterpriseRowData->getDap())->setRegisterMinistryFisher(isset($data['register_ministry_fisher']) ? $data['register_ministry_fisher'] : $enterpriseRowData->getRegisterMinistryFisher())->setCreationDate(isset($data['creation_date']) ? Vtx_Util_Date::format_iso($data['creation_date']) : $enterpriseRowData->getCreationDate())->setEmployeesQuantity(isset($data['employees_quantity']) ? $data['employees_quantity'] : $enterpriseRowData->getEmployeesQuantity())->setAnnualRevenue(isset($data['annual_revenue']) ? Vtx_Util_Formatting::realToDecimal($data['annual_revenue']) : $enterpriseRowData->getAnnualRevenue())->setCnae(isset($data['cnae']) ? $data['cnae'] : $enterpriseRowData->getCnae())->setEmailDefault(isset($data['email_default']) ? $data['email_default'] : $enterpriseRowData->getEmailDefault())->setPhone(isset($data['phone']) ? $data['phone'] : $enterpriseRowData->getPhone())->setSite(isset($data['site']) ? $data['site'] : $enterpriseRowData->getSite())->setCompanyHistory(isset($data['company_history']) ? $data['company_history'] : $enterpriseRowData->getCompanyHistory())->setNirf(isset($data['nirf']) ? $data['nirf'] : $enterpriseRowData->getNirf())->setHasntEmail(isset($data['hasnt_email']) ? $data['hasnt_email'] : 0)->setFarmSize(isset($data['farm_size']) ? $data['farm_size'] : $enterpriseRowData->getFarmSize());
     $enterpriseRowData->save();
     return array('status' => true, 'row' => $enterpriseRowData);
 }
예제 #10
0
 public function updateQuestionnaire($questionnaireRow, $data)
 {
     DbTable_Questionnaire::getInstance()->getAdapter()->beginTransaction();
     try {
         $data = $this->_filterInputIdentify($data)->getUnescaped();
         $verifyQuestionnaire = DbTable_Questionnaire::getInstance()->fetchRow(array('Title = ?' => $data['title'], 'Id <> ?' => $questionnaireRow->getId()));
         if ($verifyQuestionnaire) {
             return array('status' => false, 'messageError' => $this->_messagesError['questionnaireExistsReg']);
         }
         $questionnaireRow->setTitle($data['title'])->setDescription($data['description'])->setLongDescription($data['long_description'])->setOperationBeginning(Vtx_Util_Date::format_iso($data['operation_beginning']))->setOperationEnding(Vtx_Util_Date::format_iso($data['operation_ending']))->setPublicSubscriptionEndsAt(Vtx_Util_Date::format_iso($data['public_subscription_ends_at']))->setInternalSubscriptionEndsAt(Vtx_Util_Date::format_iso($data['internal_subscription_ends_at']))->setDevolutiveCalcId($data['devolutive_id']);
         $questionnaireRow->save();
         DbTable_Question::getInstance()->getAdapter()->commit();
         return array('status' => true);
     } catch (Vtx_UserException $e) {
         DbTable_Questionnaire::getInstance()->getAdapter()->rollBack();
         return array('status' => false, 'messageError' => $e->getMessage());
     } catch (Exception $e) {
         DbTable_Questionnaire::getInstance()->getAdapter()->rollBack();
         throw new Exception($e);
     }
 }