Esempio n. 1
0
 /**
  * Per cada curs, recarreguem els descomptes i els treballem
  * @deprecated 
  * */
 public function executeMigraCursos(sfWebRequest $request)
 {
     $C = new Criteria();
     $C->add(CursosPeer::ADESCOMPTES, null, CRITERIA::ISNOTNULL);
     $A = array();
     foreach (CursosPeer::doSelect($C) as $OC) {
         $i = 0;
         foreach (explode('@', $OC->getADescomptesVell()) as $A) {
             //Agafo un descompte, creo el que toqui a descomptes i els assigno a les matrícules
             $OD = DescomptesPeer::retrieveByPK($A);
             if ($A > 0) {
                 if ($OD instanceof Descomptes) {
                     $ODN = new Descomptes();
                     $ODN->setIdextern($OC->getIdcursos());
                     $ODN->setNom($OD->getNom());
                     $ODN->setPercentatge($OD->getPercentatge());
                     $ODN->setPreu(null);
                     $ODN->setTipus(DescomptesPeer::TIPUS_CURS);
                     $ODN->setActiu(true);
                     $ODN->setSiteId($OD->getSiteId());
                     $ODN->save();
                     echo 'OK: ' . $OC->getIdcursos() . ' <br />';
                     //Un cop guardat, carrego totes les matrícules que el tenen d'aquest curs i ho modifico
                     $CM = new Criteria();
                     $CM->add(MatriculesPeer::TREDUCCIO, $A);
                     $CM->add(MatriculesPeer::CURSOS_IDCURSOS, $OC->getIdcursos());
                     foreach (MatriculesPeer::doSelect($CM) as $OM) {
                         $OM->setTreduccio($ODN->getIddescompte());
                         $OM->save();
                     }
                 } else {
                     echo 'Error: ' . $OC->getIdcursos() . ' - ' . $A . ' <br />';
                 }
             }
         }
     }
     return sfView::NONE;
 }
Esempio n. 2
0
 public static function getPreuAmbDescompte($valor, $idD)
 {
     //Si no hi ha descompte, tornem el valor.
     if (is_null($idD)) {
         return $valor;
         //Si hi ha descompte, el busquem. Si no el trobem, no l'apliquem.
     } else {
         $OD = DescomptesPeer::retrieveByPK($idD);
         if (!$OD instanceof Descomptes || $idD == DescomptesPeer::CAP) {
             return $valor;
         } elseif ($OD->getPreu() > 0) {
             return $OD->getPreu();
         } else {
             return $valor - round((int) $valor * (double) $OD->getPercentatge() / (int) 100);
         }
     }
 }