/** * SALVA HISTORICO. * * @param Sgdoce\Model\Entity\HistoricoArtefato $entHistoricoArtefato * * @return Sgdoce\Model\Entity\HistoricoArtefato */ public function save(\Core_Dto_Entity $entHistoricoArtefato) { $arrDto = array('sqPessoa' => \Core_Integration_Sica_User::getPersonId(), 'sqUnidade' => \Core_Integration_Sica_User::getUserUnit()); $objCDto = \Core_Dto::factoryFromData($arrDto, 'search'); $entVwPessoa = $this->getServiceLocator()->getService('Pessoa')->findbyPessoaCorporativo($objCDto); $entVwUnidOrg = $this->getServiceLocator()->getService('VwUnidadeOrg')->getDadosUnidade($objCDto); return $this->_save($entHistoricoArtefato->getSqArtefato(), $entVwUnidOrg, $entVwPessoa, $entHistoricoArtefato->getSqOcorrencia(), $entHistoricoArtefato->getTxDescricaoOperacao()); }
/** * Obtém dados anterior da minuta * @param \Core_Dto_Entity $dto * @return array */ public function getDataHistoricoEnvioAnterior(\Core_Dto_Entity $dto) { $queryBuilder = $this->_em->createQueryBuilder()->select('p.sqPessoa, p.noPessoa, ha.sqHistoricoArtefato, a.sqArtefato, uo.sqUnidadeOrg')->from($this->_enName, 'ha')->innerJoin('ha.sqPessoa', 'p')->innerJoin('ha.sqArtefato', 'a')->innerJoin('ha.sqUnidadeOrg', 'uo')->andWhere('ha.sqArtefato = :sqArtefato')->setParameter('sqArtefato', $dto->getSqArtefato()->getSqArtefato())->andWhere('p.sqPessoa <> :sqPessoa')->setParameter('sqPessoa', $dto->getSqPessoa()->getSqPessoa())->orderBy('ha.sqHistoricoArtefato', 'DESC')->setMaxResults(self::UNIC)->getQuery()->execute(); $result = NULL; if (!empty($queryBuilder)) { $result = $queryBuilder[self::ZER]; } return $result; }
/** * Obtem dados da 'vw_caixa_minuta' referente ao artefato passado no parametro * @param \Core_Dto_Entity $dto * @return array */ public function findCaixaMinuta(\Core_Dto_Entity $dto) { $queryBuilder = $this->_em->createQueryBuilder()->select('vcm.sqArtefato, vcm.sqStatusArtefato, vcm.sqHistoricoArtefato')->from('app:VwCaixaMinuta', 'vcm')->andWhere('vcm.sqArtefato = :sqArtefato')->setParameter('sqArtefato', $dto->getSqArtefato()->getSqArtefato())->orderBy('vcm.sqHistoricoArtefato', 'DESC')->setMaxResults(self::UNIC)->getQuery()->execute(); $result = NULL; if (!empty($queryBuilder)) { $result = $queryBuilder[self::ZER]; } return $result; }
private function _alreadyExists(\Core_Dto_Entity $dto) { $assert = $this->findBy(array('txComentario' => $dto->getTxComentario(), 'sqPessoa' => \Core_Integration_Sica_User::getPersonId(), 'sqArtefato' => $dto->getSqArtefato())); if (count($assert)) { throw new \Exception(self::T_COMENTARIO_ALREADY_EXISTS); } }