コード例 #1
0
ファイル: MiFactoria.php プロジェクト: hipogea/zega
 public static function InsertaCcGastosServ($idkardex)
 {
     $row = self::CargaModelo('Alkardex', $idkardex);
     $model = new CcGastos();
     $model->ceco = self::CargaModelo('Desolpe', self::CargaModelo('Docompra', $row->idref)->iddesolpe)->imputacion;
     $model->fechacontable = $row->fecha;
     $model->monto = -1 * $row->getMonto();
     ///Es el opuesto de todo
     $model->iduser = Yii::app()->user->id;
     $model->tipo = 'S';
     $model->idref = $row->id;
     if (!$model->save()) {
         throw new CHttpException(500, "NO se Pudo insertar el registro de Costos ");
     }
     self::Mensaje('success', 'Se inserta los gastos  ' . $model->monto . '  al ceco ' . self::CargaModelo('Desolpe', $row->idref)->imputacion);
     unset($model);
     unset($row);
 }
コード例 #2
0
 public function actualizacostes($model, $transaccion, $ceco = null)
 {
     //Public function actionpruebax() {
     $todook = true;
     $hijos = Alkardex::model()->findall("hidvale=:hid and codestado not in('98')  ", array(":hid" => $model->id));
     // $hijos=Alkardex::model()->findall("id=437");
     for ($i = 0; $i < count($hijos); $i++) {
         $modelogastos = new CcGastos();
         if (is_null($ceco)) {
             ///Rebuscamos la solpe
             if ($hijos[$i]['codmov'] == '70') {
                 //Si es un reingreso debemos de buscar recursivamente en el Kardex
                 $modelodetalle = Desolpe::model()->findByPk(Alkardex::model()->findByPk($hijos[$i]['idref'])->idref);
             } else {
                 $modelodetalle = Desolpe::model()->findByPk($hijos[$i]['idref']);
             }
             $modelogastos->ceco = $modelodetalle->imputacion;
         } else {
             $modelogastos->ceco = $ceco;
         }
         //$modelodetalle=Desolpe::model()->findByPk(232);
         $modelogastos->fechacontable = $hijos[$i]['fecha'];
         //Los costos salen del inventario no del precio unitario del Kardex; (Punit+ Punitdif)
         $registroinventario = Alinventario::model()->findByPk(Alkardex::model()->findByPk($hijos[$i]['id'])->alkardex_alinventario->id);
         ///////////////haciendo el calculo estandar de signo y conversiones
         $signo = Almacenmovimientos::model()->findByPk($hijos[$i]['codmov'])->signo * -1;
         /// Como son costos , es el opuesto
         $conversion = Alconversiones::model()->convierte($hijos[$i]['codart'], $hijos[$i]['um']);
         //echo " la conversion  ".$conversion."  ".gettype($conversion)."      \n";
         //echo " material y um  ".$hijos[$i]['codart']."  ".$hijos[$i]['um']."      \n";
         //echo " el signo  es ".Almacenmovimientos::model()->findByPk($hijos[$i]['codmov'])->signo."  ".gettype(Almacenmovimientos::model()->findByPk($hijos[$i]['codmov'])->signo)."      \n";
         //$signo=Almacenmovimientos::model()->findByPk($movimiento)->signo*-1;  /// Como son costos , es el opuesto
         $cantidadmovida = $signo * abs($conversion) * abs($hijos[$i]['cant']);
         ///////////ok///////////////////////////////////////
         ////ahora calculando el precio unitario real, para esto actualizamos el Registro de Inventario,
         ///Esto es indiependiente si el material tiene control de precio S o V
         $registroinventario->Actualizar($hijos[$i]['codmov'], $hijos[$i]['cant'], $hijos[$i]['preciounit']);
         $modelogastos->monto = $cantidadmovida * ($registroinventario->punit + $registroinventario->punitdif);
         ///
         //echo  " la conversion ".$conversion."\n";
         //echo  " la cantidad movida ".$cantidadmovida."\n";
         //echo " precio unitario ".$registroinventario->punit."\n";
         // echo   "El monto    ".$modelogastos->monto."\n";
         //echo " la diferencia  ".$registroinventario->punit."  ".gettype($registroinventario->punit)."      \n";
         //echo " la diferencia  ".$registroinventario->punitdif."  ".gettype($registroinventario->punitdif)."      \n";
         //yii::app()->end();
         $modelogastos->idref = $hijos[$i]['id'];
         //con el kardex lo amarramos
         $modelogastos->clasecolector = 'K';
         //CENTRO DE COSTO
         $modelogastos->tipo = 'M';
         //materialkes
         $modelogastos->codmoneda = Yii::app()->params['monedadef'];
         if (!$modelogastos->save()) {
             //$transaccion->rollback();
             //throw new CHttpException(500,'No se pudo grabar los costos');
             Yii::app()->user->setFlash('error', 'No se pudieron grabar los costes');
             $todook = false;
         }
     }
     return $todook;
 }
コード例 #3
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;
 }