示例#1
0
 public static function recordByNumero($numero)
 {
     $ctor = new CDbcriteria();
     $ctor->addCondition("numero=:vnumero");
     $ctor->params = array(":vnumero" => $numero);
     $registro = null;
     $objeto = self::model()->find($ctor);
     if (!is_null($objeto)) {
         $registro = $objeto;
     }
     return $registro;
 }
示例#2
0
 public function tieneHijospendientes()
 {
     $sepuede = true;
     if ($this->tieneHijos()) {
         $criteriaxy = new CDbcriteria();
         $criteriaxy->addCondition(" hidcargo=:vcargo AND hidcaja=:vhidcaja  ");
         $criteriaxy->params = array(" :vcargo" => $this->id, ":vhidcaja" => $this->hidcaja);
         foreach (Dcajachica::model()->findAll($criteriaxy) as $fila) {
             if (in_array($fila->codestado, array(ESTADO_CREADO))) {
                 $sepuede = false;
                 break;
             }
         }
     } else {
         $sepuede = false;
     }
     return $sepuede;
 }
示例#3
0
	<div class="wide form">
	<div class="division">
<?php 
$form = $this->beginWidget('CActiveForm', array('id' => 'Ocompra-form', 'enableClientValidation' => true, 'clientOptions' => array('validateOnSubmit' => TRUE, 'validateOnChange' => TRUE), 'enableAjaxValidation' => false));
?>


	<div class="row">
		<?php 
echo $form->labelEx($modeloimpuesto, 'codimpuesto');
?>
		<?php 
?>
		<?php 
$crite = new CDbcriteria();
$crite->addCondition("codocu=:vcodocu");
$crite->params = array(":vcodocu" => $codigodoc);
$crite->addNotInCondition('codimpuesto', $impuestosyaregistrados);
$datos1 = CHtml::listData(Impuestosdocu::model()->findAll($crite), 'codimpuesto', 'impuestos.descripcion');
echo $form->DropDownList($modeloimpuesto, 'codimpuesto', $datos1, array('empty' => '--Seleccione Impuesto--'));
?>
	
		<?php 
echo $form->error($modeloimpuesto, 'codimpuesto');
?>
	</div>
	
	<div class="row buttons">
		<?php 
echo CHtml::submitButton('Agregar');
?>
示例#4
0
 public function preparaantesdeguardaritemcompra($modelodetalle)
 {
     $cadenita = "";
     if ($modelodetalle->docompra_ocompra->codestado = '10' or $modelodetalle->docompra_ocompra->codestado = '20') {
         if ($modelodetalle->cambio()) {
             if ($this->hubocambiossensibles($modelodetalle, array('codart', 'punit', 'cant', 'estadodetalle'))) {
                 if ($modelodetalle->cantidadentregada == 0) {
                     if (!is_null($modelodetalle->iddesolpe)) {
                         ///NO ES UN ITEM LIBRE
                         ///vERIFICAR LA CONSIUSTENCIA DEL VALOR DEL PARAMETRO ENTREGADO
                         $registrodetallesolpe = Desolpe::model()->findByPk($modelodetalle->iddesolpe);
                         if (!is_null($registrodetallesolpe)) {
                             if ($registrodetallesolpe->desolpe_solpe->escompra != '1' or is_null($registrodetallesolpe->idreserva)) {
                                 ///Actualizar los datos aguas arriba (SOLPES Y RESERVAS)
                                 $registrodetallesolpe->SetScenario('cambiaestado');
                                 $registroreserva = Alreserva::model()->findByPk($registrodetallesolpe->idreserva);
                                 if (!is_null($registroreserva)) {
                                     $registroreserva->SetScenario('cambiaestado');
                                     //Ahora vamos por la solpe que genero la reserva
                                     $registrodetallesolpeoriginal = Desolpe::model()->findByPk($registroreserva->hidesolpe);
                                     if (!is_null($registrodetallesolpeoriginal)) {
                                         $registrodetallesolpeoriginal->SetScenario('cambiaestado');
                                         ///Verificando las compras en DESOLPECOMPRA
                                         $cantidad_comprada = $registrodetallesolpe->cantcompras;
                                         if ($cantidad_comprada > 0) {
                                             $setratadeanulacion = false;
                                             if ($modelodetalle->oldattributes['estadodetalle'] != '40' and $modelodetalle->estadodetalle == '40') {
                                                 ///Si se trata de una anulacion hay que anular el registro de DESOLPECOMPRA
                                                 $nuevocriterio = new CDbcriteria();
                                                 $nuevocriterio->addCondition("iddesolpe=:xiddesolpe AND iddocompra=:xiddocompra ");
                                                 $nuevocriterio->params = array(':xiddesolpe' => $modelodetalle->iddesolpe, ':xiddocompra' => $modelodetalle->id);
                                                 $modelodesolpecompra = Desolpecompra::model()->find($nuevocriterio);
                                                 $modelodesolpecompra->codestado = '30';
                                                 //ANULAR  ......!!!!
                                                 if (!$modelodesolpecompra->save()) {
                                                     $cadena .= " El item " . $modelodetalle->item . " - " . $modelodetalle->descri . "  : No se pudo anular el registro de Detalles-solicitudes/Detalle-compras  <br>";
                                                 }
                                                 $setratadeanulacion = true;
                                             }
                                             if ($cantidad_comprada + $modelodetalle->cant == $registrodetallesolpe->cant) {
                                                 //Es una atencion unica el caso mas simple, uno a uno
                                                 ///Verificar si se trata de una anulacion
                                                 if ($setratadeanulacion) {
                                                     ///El proceso retrocede, hayq ue anular tambien el registro de la tab la puente DESOLPECOMPRA
                                                     /// y revertir los estados
                                                     $registrodetallesolpe->est = '30';
                                                     //APROBADO
                                                     $registroreserva->estadoreserva = '20';
                                                     //EN PROICESO DE COMPRA X Q LA SOLPE AUN PERMANECE COMO APROBADA
                                                     $registrodetallesolpeoriginal->est = '70';
                                                     ///EN PROCESO DE COMPRA X Q LA RESERVA Y LA SOLPE AUN ESTAN VIGENTES
                                                 } else {
                                                     ///Si no se trata de una anulacion el proceso "evoluciona"
                                                     $registrodetallesolpe->est = '40';
                                                     //ATENDIDO
                                                     $registroreserva->estadoreserva = '50';
                                                     //COMPRADO TOTALMENTE
                                                     $registrodetallesolpeoriginal->est = '90';
                                                     ///Comprado totalmente
                                                 }
                                             } else {
                                                 //Significa que conn esta compra aun falta o se han excedido..veamos
                                                 if ($cantidad_comprada + $modelodetalle->cant < $registrodetallesolpe->cant) {
                                                     // En este caso se esta comprando pero aun falta completar, un abastecimiento parcial
                                                     $registrodetallesolpe->est = '70';
                                                     //EN COMPRA
                                                     $registroreserva->estadoreserva = '60';
                                                     //EN COMPRA
                                                 } else {
                                                     ///Error se pasaron de la cantidad solicitada
                                                     ///Error
                                                     $cadena .= " El item " . $modelodetalle->item . " - " . $modelodetalle->descri . "  : Se esta comprando : (" . ($cantidad_comprada + $modelodetalle->cant) . ")   mas de lo que se solicito :(" . $registrodetallesolpe->cant . ")  en la solicitud " . $registrodetallesolpe->desolpe_solpe->nunero . "-" . $registrodetallesolpe->item . "    <br>";
                                                 }
                                             }
                                         } else {
                                             ///qUIER DECIR QUE ES LA PRIMERA VEZ QUE SE ATENDERIA ESTE ITEM
                                         }
                                         $registrodetallesolpeoriginal->save();
                                     } else {
                                         //Error no se pudo ubicar el detalle de la Solpe Padre
                                         //eRRROR
                                         $cadena .= " El item " . $modelodetalle->item . " - " . $modelodetalle->descri . "  : No se pudo encontrar la solicitud original (Imputada) asociada (" . $registroreserva->hidesolpe . ")  <br>";
                                     }
                                     $registroreserva->save();
                                 } else {
                                     //Error no se ecnontro la reserva que genero la solpe de aprovisionamiento
                                     $cadena .= " El item " . $modelodetalle->item . " - " . $modelodetalle->descri . "  : No se pudo encontrar la reserva asociada <br>";
                                 }
                                 $registrodetallesolpe->save();
                             } else {
                                 ///Error , La solpe no es de aprovisionamiento o tiene el campo idererva vacio  lo qaue quiere decir que no es una solpe de aprovisionamiento
                                 ///Error
                                 $cadena .= " El item " . $modelodetalle->item . " - " . $modelodetalle->descri . "  : La solicitud asociada " . $registrodetallesolpe->desolpe->solpe->numero . "-" . $registrodetallesolpe->item . "  no es de àprovisionamiento <br>";
                             }
                         } else {
                             ///Error , este detakke de solped no existe
                             $cadena .= " El item " . $modelodetalle->item . " - " . $modelodetalle->descri . "  : No se pudo encontrar la solicitud asociada -> (" . $modelodetalle->iddesolpe . ")  <br>";
                         }
                         /*}else{ // ($modelodetalle->cantsolpes) =0 ES LA PRIMERA ATENCION , OSEA NO HAY REGISTROS EN DESOLPECOMPRA
                         
                                                                                                                                  }*/
                     } else {
                         //ES UN ITEM LIBRE
                         return $cadena;
                     }
                 } else {
                     //HAY enetregas
                     $cadena .= " El item " . $modelodetalle->item . " - " . $modelodetalle->descri . " :  Ya tiene entregas y no es posible modificar estos datos sensibles <br>";
                 }
             } else {
                 //No ha habido cambios sensibles
                 ///Dara fin al procedimiento
                 return $cadena;
             }
         } else {
             //Terminar el procediiento
             ///Dara fin al procedimiento
             return $cadena;
         }
     }
 }
 protected function getSettingValue($model, $key, $condition_field, $condition_value, $element_type)
 {
     $criteria = new CDbcriteria();
     if ($condition_field && $condition_value) {
         $criteria->addCondition($condition_field . ' = :' . $condition_field);
         $criteria->params[':' . $condition_field] = $condition_value;
     }
     $criteria->addCondition('`key`=:key');
     $criteria->params[':key'] = $key;
     if ($element_type) {
         $criteria->addCondition('element_type_id=:eti');
         $criteria->params[':eti'] = $element_type->id;
     } else {
         $criteria->addCondition('element_type_id is null');
     }
     return $model::model()->find($criteria);
 }