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'); } }
/** * 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; }
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'); } }