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