/** * Este es un caso especial , ya que el stored procedure que inserta , para el caso de las * pruebas combinadas , primero agrega el resultado para la principal y luego los de las pruebas * que componen la combinada , por esto un simple select al currval no es suficiente , ya que retornaria el id * del ultimo resultado agregado , el cual no corresponderia a la cabeza de las pruebas combinadas. * * Importante es indicar que si es posible que una prueba sea parte de una competencia mas de una vez , pero * que la unica forma que esto suceda es cuando una prueba esta dentro de una combinada, por eso se consulta * competencias_pruebas_origen_id is null que es cuando no es parte de una multiple. * * En ningun otro caso se pueden duplicar ya que ademas se indica la serie y el numero de serie. * * @param \TSLDataModel $record * * @return string */ protected function getLastSequenceOrIdentityQuery(\TSLDataModel &$record = NULL) { /* @var $record AtletasPruebasResultadosModel */ $sql = 'SELECT atletas_resultados_id FROM tb_atletas_resultados WHERE atletas_codigo = \'' . $record->get_atletas_codigo() . '\' AND ' . 'competencias_pruebas_id = (SELECT competencias_pruebas_id FROM tb_competencias_pruebas WHERE competencias_codigo=\'' . $record->get_competencias_codigo() . '\' AND pruebas_codigo = \'' . $record->get_pruebas_codigo() . '\' AND competencias_pruebas_origen_id IS NULL AND competencias_pruebas_tipo_serie = \'' . $record->get_competencias_pruebas_tipo_serie() . '\' AND competencias_pruebas_nro_serie=' . $record->get_competencias_pruebas_nro_serie() . ')'; return $sql; }
/** * Este es un caso especial , ya que el stored procedure que inserta , para el caso de las * pruebas combinadas , primero agrega el resultado para la principal y luego los de las pruebas * que componen la combinada , por esto un simple select al currval no es suficiente , ya que retornaria el id * del ultimo resultado agregado , el cual no corresponderia a la cabeza de las pruebas combinadas. * * * @param \TSLDataModel $record * @return string */ protected function getLastSequenceOrIdentityQuery(\TSLDataModel &$record = NULL) { /* @var $record CompetenciasPruebasModel */ $sql = 'select competencias_pruebas_id from tb_competencias_pruebas where competencias_codigo=\'' . $record->get_competencias_codigo() . '\' and pruebas_codigo = \'' . $record->get_pruebas_codigo() . '\' and competencias_pruebas_tipo_serie = \'' . $record->get_competencias_pruebas_tipo_serie() . '\' and competencias_pruebas_nro_serie=' . $record->get_competencias_pruebas_nro_serie() . ' and competencias_pruebas_origen_combinada=\'' . $record->get_competencias_pruebas_origen_combinada() . '\''; return $sql; }
/** * Aqui el id es el codigo * @see \TSLBasicRecordDAO::getUpdateRecordQuery() */ protected function getUpdateRecordQuery(\TSLDataModel &$record) { /* @var $record CompetenciasModel */ $sql = 'select * from (select sp_competencias_save_record(' . '\'' . $record->get_competencias_codigo() . '\'::character varying,' . '\'' . $record->get_competencias_descripcion() . '\'::character varying,' . '\'' . $record->get_competencia_tipo_codigo() . '\'::character varying,' . '\'' . $record->get_categorias_codigo() . '\'::character varying,' . '\'' . $record->get_paises_codigo() . '\'::character varying,' . '\'' . $record->get_ciudades_codigo() . '\'::character varying,' . '\'' . $record->get_competencias_fecha_inicio() . '\'::date,' . '\'' . $record->get_competencias_fecha_final() . '\'::date,' . '\'' . $record->get_competencias_clasificacion() . '\'::character varying,' . '\'' . $record->getActivo() . '\'::boolean,' . '\'' . $record->getUsuario() . '\'::character varying,' . $record->getVersionId() . '::integer,1::bit) as insupd) as ans where insupd is not null;'; return $sql; }