Ejemplo n.º 1
0
 public function mueveadicionales()
 {
     $monedacompras = null;
     /*var_dump($this->codocuref);
     	var_dump(ARRAY(CODIGO_DOCUMENTO_COMPRAS,CODIGO_DOCUMENTO_DETALLE_COMPRA ));
     	yii::app()->end();*/
     if (in_array($this->codocuref, array(CODIGO_DOCUMENTO_COMPRAS, CODIGO_DOCUMENTO_DETALLE_COMPRA))) {
         $monedacompras = Ocompra::model()->find("numcot=:ndoc", array(":ndoc" => $this->numdocref))->moneda;
     }
     /*var_dump($monedacompras);
     	yii::app()->end();*/
     $monedamain = yii::app()->settings->get('general', 'general_monedadef');
     switch ($this->codmov) {
         case "10":
             $this->InsertaAtencionReserva();
             $ceco = Desolpe::model()->findByPk($this->idref)->imputacion;
             $this->InsertaCcGastos($ceco);
             $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), null);
             break;
         case "20":
             $this->InsertaAtencionReserva();
             $ceco = Desolpe::model()->findByPk($this->idref)->imputacion;
             $this->InsertaCcGastos($ceco);
             $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), null);
             break;
             break;
         case "30":
             //INGRESO COMPRA
             $this->InsertaAlentregasCompras();
             ///obteniendo la moneda del documento de COMPRAS
             $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), $this->preciounitariobase($monedacompras));
             break;
         case "40":
             //ANULAR INGRESO COMPRA
             $this->InsertaAlentregasCompras();
             $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), null);
             break;
         case "79":
             $this->preciounit = $this->getMonto();
             $this->InsertaAtencionReserva();
             $ceco = Dpeticion::model()->findByPk($this->idref)->imputacion;
             $this->InsertaCcGastos($ceco);
             $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), null);
             break;
         case "81":
             $this->preciounit = $this->getMonto();
             $this->InsertaAtencionReserva();
             $ceco = Dpeticion::model()->findByPk($this->idref)->imputacion;
             $this->InsertaCcGastos($ceco);
             $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), null);
             break;
         case "98":
             $moneda = $this->alkardex_alinventario->almacen->codmon;
             $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), $this->preciounitariobase($moneda));
             break;
         case "89":
             $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), $this->preciounitariobase(yii::app()->settings->get('general', 'general_monedadef')));
             break;
         case "60":
             echo "Your favorite color is green!";
             break;
         case "77":
             //inica traslado
             $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), null);
             break;
         case "78":
             //acepta el traspaso
             $thisoriginal = Alkardex::model()->findByPk($this->idref);
             ///cone sto busca el kardex del almacen emisor
             //verifica la consistencia
             $thisoriginal->InsertaAlkardexTraslado($this->cant);
             // $thisoriginal->getMonto();
             $movimientoauxiliar = '45';
             $thisoriginal->alkardex_alinventario->actualiza_stock($movimientoauxiliar, abs($this->cantidadbase()), null);
             //verificamos la moneda del almacen que emite
             $moneda = $thisoriginal->alkardex_alinventario->almacen->codmoneda;
             $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), $this->preciounitariobase($moneda));
             break;
         case "70":
             //reingreso
             //primero que nada el reingreso usa como referencia el vale de salida
             $kardorigen = Almacendocs::model()->findByPk($this->idref);
             //Siemrpe que no se ahya reingresado el total
             if ($kardorigen->cant < $kardorigen->reingreso_cant) {
                 $kardorigen->InsertaReingreso();
                 $ceco = CcGastos::model()->find("hidref=:vid", array(":vid" => $this->id));
                 $this->InsertaCcGastos($ceco);
                 $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()));
             }
             break;
         case "50":
             //salida para ceco
             $this->InsertaCcGastos($this->colector);
             $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()));
             break;
         case "60":
             //Anula salida para ceco
             $this->InsertaCcGastos($this->colector);
             $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()));
             break;
         default:
             throw new CHttpException(500, __CLASS__ . '  ' . __FUNCTION__ . '  No se ha definido este codigo de movimiento');
     }
 }
Ejemplo n.º 2
0
 /**
  * Returns the data model based on the primary key given in the GET variable.
  * If the data model is not found, an HTTP exception will be raised.
  * @param integer $id the ID of the model to be loaded
  * @return CcGastos the loaded model
  * @throws CHttpException
  */
 public function loadModel($id)
 {
     $model = CcGastos::model()->findByPk($id);
     if ($model === null) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     return $model;
 }
Ejemplo n.º 3
0
 public function mueveadicionales()
 {
     $monedacompras = null;
     if (in_array($this->codocuref, array(CODIGO_DOCUMENTO_COMPRAS, CODIGO_DOCUMENTO_DETALLE_COMPRA))) {
         $monedacompras = Ocompra::model()->find("numcot=:ndoc", array(":ndoc" => $this->numdocref))->moneda;
     }
     $monedamain = yii::app()->settings->get('general', 'general_monedadef');
     switch ($this->codmov) {
         case "10":
             $this->InsertaAtencionReserva(CODIGO_DOCUMENTO_RESERVA);
             $ceco = Desolpe::model()->findByPk($this->idref)->imputacion;
             //$ceco=$this->updatesolpe()->imputacion;
             $this->InsertaCcGastos($ceco);
             $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), null);
             break;
         case "20":
             $this->InsertaAtencionReserva(CODIGO_DOCUMENTO_RESERVA);
             $ceco = Desolpe::model()->findByPk($this->idref)->imputacion;
             $this->InsertaCcGastos($ceco);
             $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), null);
             break;
         case "11":
             $this->InsertaAtencionReserva(CODIGO_DOCUMENTO_RQ_COMPRA);
             $ceco = Desolpe::model()->findByPk($this->idref)->imputacion;
             $this->InsertaCcGastos($ceco);
             ///AQUI NO  SE ACTUALIZA EL STOCK DEL INVNETARIO PORQUE LA CANTIDAD PASA DIRECTAMENTE a  la atencion RQ y AL GASTO
             //$this->alkardex_alinventario->actualiza_stock($this->codmov,abs($this->cantidadbase()),null);
             break;
         case "12":
             $this->InsertaAtencionReserva(CODIGO_DOCUMENTO_RQ_COMPRA);
             $ceco = Desolpe::model()->findByPk($this->idref)->imputacion;
             $this->InsertaCcGastos($ceco);
             //$this->alkardex_alinventario->actualiza_stock($this->codmov,abs($this->cantidadbase()),null);
             break;
         case "30":
             //INGRESO COMPRA
             $this->InsertaAlentregasCompras();
             //$this->insertaAtencionreserva();
             ///obteniendo la moneda del documento de COMPRAS
             $this->ocuparsedelosRq(SALIDA_RQ);
             ///Si hay RQ de compras verifica y astender
             $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), $this->preciounitariobase($monedacompras));
             break;
         case "40":
             //ANULAR INGRESO COMPRA
             $this->InsertaAlentregasCompras();
             $this->ocuparsedelosRq(SALIDA_RQ);
             ///Si hay RQ de compras verifica y anular
             $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), null);
             break;
         case "79":
             $this->preciounit = $this->getMonto();
             $this->InsertaAtencionReserva();
             $ceco = Dpeticion::model()->findByPk($this->idref)->imputacion;
             $this->InsertaCcGastos($ceco);
             $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), null);
             break;
         case "81":
             $this->preciounit = $this->getMonto();
             $this->InsertaAtencionReserva();
             $ceco = Dpeticion::model()->findByPk($this->idref)->imputacion;
             $this->InsertaCcGastos($ceco);
             $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), null);
             break;
         case "98":
             $moneda = $this->alkardex_alinventario->almacen->codmon;
             $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), $this->preciounitariobase($moneda));
             break;
         case "89":
             $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), $this->preciounitariobase(yii::app()->settings->get('general', 'general_monedadef')));
             break;
         case "60":
             echo "Your favorite color is green!";
             break;
         case "77":
             //inica traslado
             $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), null);
             break;
         case "78":
             //acepta el traspaso
             $thisoriginal = Alkardex::model()->findByPk($this->idref);
             ///cone sto busca el kardex del almacen emisor
             //verifica la consistencia
             $thisoriginal->InsertaAlkardexTraslado($this->cant);
             // $thisoriginal->getMonto();
             $movimientoauxiliar = '45';
             $thisoriginal->alkardex_alinventario->actualiza_stock($movimientoauxiliar, abs($this->cantidadbase()), null);
             //verificamos la moneda del almacen que emite
             $moneda = $thisoriginal->alkardex_alinventario->almacen->codmon;
             $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), $this->preciounitariobase($moneda));
             //  yii::app()->end();
             break;
         case "54":
             //ANULA EL INGRESO DEL TRASLADO
             ///Compensar primero el Kardex del vale del receptor
             $thisoriginal = Alkardex::model()->findByPk($this->idref);
             ///cone sto busca el kardex del almacen emisor
             $thisoriginal->InsertaAlkardexTraslado($this->cant);
             $movimientoauxiliar = '64';
             //ANULA SALIDA TRASLADO EN KARDEX EMISOR
             $thisoriginal->alkardex_alinventario->actualiza_stock($movimientoauxiliar, abs($this->cantidadbase()), null);
             //verificamos la moneda del almacen que emite
             $moneda = $thisoriginal->alkardex_alinventario->almacen->codmon;
             $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), $this->preciounitariobase($moneda));
             break;
         case "70":
             //reingreso
             //primero que nada el reingreso usa como referencia el vale de salida
             $kardorigen = Almacendocs::model()->findByPk($this->idref);
             //Siemrpe que no se ahya reingresado el total
             if ($kardorigen->cant < $kardorigen->reingreso_cant) {
                 $kardorigen->InsertaReingreso();
                 $ceco = CcGastos::model()->find("hidref=:vid", array(":vid" => $this->id));
                 $this->InsertaCcGastos($ceco);
                 $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()));
             }
             break;
         case "50":
             //salida para ceco
             $this->InsertaCcGastos($this->colector);
             $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()));
             break;
         case "60":
             //Anula salida para ceco
             $this->InsertaCcGastos($this->colector);
             $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()));
             break;
         default:
             throw new CHttpException(500, __CLASS__ . '  ' . __FUNCTION__ . '  No se ha definido este codigo de movimiento');
     }
 }