Ejemplo n.º 1
1
 public function saveCobroForm(Form $form, Cobro $cobro, $cuentaId)
 {
     $cuenta = $this->em->getRepository('AppBundle:Cuenta')->find($cuentaId);
     $result = false;
     $message = 'Ocurrion un error al guardar el cobro.';
     $amount = 0;
     $positive = false;
     if ($cuenta && $form->isValid()) {
         $cobro->setCuenta($cuenta);
         $this->em->persist($cobro);
         $cuenta->addPagoAmount($cobro->getMonto());
         $this->em->persist($cuenta);
         $this->em->flush();
         $result = true;
         $message = 'Cobro guardado con exito.';
         if ($cobro->getEnviado()) {
             //send email
             $message .= ' Email enviado correctamente';
         }
         $amount = $cuenta->getFormatedDiferencia();
         if ($cuenta->getDiferencia() < 0) {
             $positive = true;
         }
     }
     return array('result' => $result, 'message' => $message, 'amount' => $amount, 'positive' => $positive, 'cuentaId' => $cuentaId, 'cobro' => $cobro);
 }
Ejemplo n.º 2
0
 public function addCobroToCuenta(Cuenta $cuenta, $amount, \DateTime $paymentDate)
 {
     $cobro = new Cobro();
     $cobro->setMonto($amount);
     $cobro->setFecha($paymentDate);
     $cobro->setCuenta($cuenta);
     $cuenta->setPago($cuenta->getPago() + $amount);
     $this->em->persist($cobro);
     $this->em->persist($cuenta);
     $this->em->flush();
 }
 public function load(ObjectManager $manager)
 {
     $sql = 'select id, cuenta_id, fecha, monto from cobro order by cuenta_id';
     $username = DataFixturesConstants::DBUSER;
     $password = DataFixturesConstants::DBPASS;
     $database = DataFixturesConstants::DBSCHEMA;
     return;
     $conn = new \PDO(sprintf('mysql:host=localhost;dbname=%s', $database), $username, $password, array(\PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));
     $stmt = $conn->prepare($sql);
     $stmt->execute();
     $metadata = $manager->getClassMetaData(get_class(new Cobro()));
     $metadata->setIdGeneratorType(\Doctrine\ORM\Mapping\ClassMetadata::GENERATOR_TYPE_NONE);
     $cuenta = null;
     $cuentaId = null;
     while ($row = $stmt->fetch()) {
         // Adding cobro
         $cobro = new Cobro();
         $cobro->setId($row['id']);
         $fecha = $row['fecha'];
         if ($fecha) {
             $cobro->setFecha(new \DateTime($fecha));
         }
         $cobro->setMonto($row['monto']);
         if ($cuentaId != $row['cuenta_id']) {
             $cuenta = $manager->getRepository('AppBundle:Cuenta')->find($row['cuenta_id']);
         }
         $cobro->setCuenta($cuenta);
         $manager->persist($cobro);
     }
     $manager->flush();
 }
Ejemplo n.º 4
0
 public function exportCobroToPdf(Cobro $cobro, Cuenta $account = null, $location = null, $returnBuffer = false)
 {
     if ($account === null) {
         $account = $cobro->getCuenta();
     }
     $alumnos = '';
     foreach ($account->getEstudiantes() as $estudiante) {
         $alumnos .= $estudiante->getNombre() . ',';
     }
     if (strlen($alumnos) > 0) {
         $alumnos = rtrim($alumnos, ',');
     }
     $padres = '';
     foreach ($account->getProgenitores() as $progenitor) {
         $padres .= $progenitor->getNombre() . ' ' . ',';
     }
     if (strlen($padres) > 0) {
         $padres = rtrim($padres, ',');
     }
     $pdf = new Invoice(20, 'P', 'mm', 'A4');
     $pdf->AddPage();
     $pdf->addSociete($this->webDirectory . 'bundles/app/img/logo.png');
     $pdf->temporaire("Bunny's Kinder");
     $pdf->addDate(date('d/m/Y'));
     $pdf->addClient($account->getReferenciabancaria());
     $pdf->addAlumnos($alumnos);
     $pdf->addPadres($padres);
     $colsNumbers = array('Item' => 30, 'Descripción' => 130, 'Precio' => 30);
     $pdf->addCols($colsNumbers);
     $cols = array('Item' => 'C', 'Descripción' => 'C', 'Precio' => 'C');
     $pdf->addLineFormat($cols);
     $y = 70;
     $size = 0;
     $counterItems = 1;
     $linea = array('Item' => $counterItems, 'Descripción' => sprintf('Pago en la fecha: %s', $cobro->getFecha()->format('d/m/Y')), 'Precio' => '$' . number_format($cobro->getMonto(), 0, ',', '.'));
     $size = $pdf->addLine($y, $linea);
     $y += $size + 2;
     ++$counterItems;
     $pdf->addCadreEurosFrancs('$ ' . number_format($cobro->getMonto(), 0, ',', '.'));
     $outputOption = 'I';
     if ($returnBuffer) {
         $outputOption = 'S';
     } else {
         if ($location !== null) {
             if (!is_dir($location)) {
                 $location = sys_get_temp_dir();
             }
             $outputOption = 'F';
             $location .= DIRECTORY_SEPARATOR;
         } else {
             $location = '';
         }
     }
     $outputName = sprintf('Cobro-%s-%s.pdf', $account->getReferenciabancaria(), date('m-Y'));
     $returnPdf = $pdf->Output($location . $outputName, $outputOption);
     if ($outputOption == 'F') {
         return $location . $outputName;
     }
     if ($outputOption == 'S') {
         return array('name' => $outputName, 'buffer' => $returnPdf);
     }
 }