/** * 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 PruebasModel */ // return 'update tb_pruebas set pruebas_codigo=\'' . $record->get_pruebas_codigo() . '\',' . // 'pruebas_descripcion=\'' . $record->get_pruebas_descripcion() . '\',' . // 'pruebas_clasificacion=\'' . $record->get_pruebas_clasificacion_codigo() . '\',' . // 'categorias_codigo=\'' . $record->get_categorias_codigo() . '\',' . // 'pruebas_sexo=\'' . $record->get_pruebas_sexo() . '\',' . // 'pruebas_record_hasta=\'' . $record->get_pruebas_record_hasta() . '\',' . // 'pruebas_anotaciones=\'' . $record->get_pruebas_anotaciones() . '\',' . // 'pruebas_multiple=\'' . $record->get_pruebas_multiple() . '\',' . // 'activo=\'' . $record->getActivo() . '\',' . // 'usuario_mod=\'' . $record->get_Usuario_mod() . '\'' . // ' where "pruebas_codigo" = \'' . $record->get_pruebas_codigo() . '\' and xmin =' . $record->getVersionId(); $sql = 'select * from (select sp_pruebas_save_record(' . '\'' . $record->get_pruebas_codigo() . '\'::character varying,' . '\'' . $record->get_pruebas_descripcion() . '\'::character varying,' . '\'' . $record->get_pruebas_generica_codigo() . '\'::character varying,' . '\'' . $record->get_categorias_codigo() . '\'::character varying,' . '\'' . $record->get_pruebas_sexo() . '\'::character,' . '\'' . $record->get_pruebas_record_hasta() . '\'::character varying,' . '\'' . $record->get_pruebas_anotaciones() . '\'::character varying,' . '\'' . $record->getActivo() . '\'::boolean,' . '\'' . $record->get_Usuario_mod() . '\'::character varying,' . $record->getVersionId() . '::integer, 1::BIT) as insupd) as ans where insupd is not null;'; return $sql; }
/** * Aqui el id es el codigo * @see \TSLBasicRecordDAO::getUpdateRecordQuery() */ protected function getUpdateRecordQuery(\TSLDataModel &$record) { /* @var $record PruebasDetalleModel */ $sql = 'select * from (select sp_pruebasdetalle_save_record(' . $record->get_pruebas_detalle_id() . '::integer,' . '\'' . $record->get_pruebas_codigo() . '\'::character varying,' . '\'' . $record->get_pruebas_detalle_prueba_codigo() . '\'::character varying,' . $record->get_pruebas_detalle_orden() . '::integer,' . '\'' . ($record->getActivo() != TRUE ? '0' : '1') . '\'::boolean,' . '\'' . $record->get_Usuario_mod() . '\'::varchar,' . $record->getVersionId() . '::integer,1::BIT) as insupd) as ans where insupd is not null;'; 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. * * 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; }