Files
intranet/app/Controller/Subsidios.php

185 lines
5.1 KiB
PHP
Raw Normal View History

2020-12-01 17:23:13 -03:00
<?php
namespace App\Controller;
use Carbon\Carbon;
use App\Definition\Controller;
use Incoviba\old\Venta\Venta;
use Incoviba\old\Venta\Subsidio;
use Incoviba\old\Venta\Pago;
use Incoviba\old\Venta\EstadoPago;
use Incoviba\old\Venta\TipoEstadoPago;
class Subsidios
{
use Controller;
public static function add()
{
$id = get('venta');
$venta = model(Venta::class)->findOne($id);
echo view('ventas.subsidios.add', compact('venta'));
}
public static function do_add()
{
$id = get('venta');
$venta = model(Venta::class)->findOne($id);
$f = Carbon::createFromDate(post('year'), post('month'), post('day'), config('app.timezone'));
$uf = uf($f);
$pago1 = model(Pago::class)->create();
$valor = post('ahorro_uf') * $uf->uf->value;
if (post('ahorro') != null) {
$valor = post('ahorro');
}
$pago1->valor = $valor;
$pago1->fecha = $f->format('Y-m-d');
$pago1->uf = $uf->uf->value;
$pago2 = model(Pago::class)->create();
$valor = post('subsidio_uf') * $uf->uf->value;
if (post('subsidio') != null) {
$valor = post('subsidio');
}
$pago2->valor = $valor;
$pago2->fecha = $f->format('Y-m-d');
$pago2->uf = $uf->uf->value;
$pago1->new();
$pago2->new();
$subsidio = model(Subsidio::class)->create();
$subsidio->pago = $pago1->id;
$subsidio->subsidio = $pago2->id;
$subsidio->save();
$venta->subsidio = $subsidio->id();
$venta->save();
header('Location: ' . nUrl('ventas', 'show', ['venta' => $venta->id]));
}
public static function edit()
{
$id = get('venta');
$venta = model(Venta::class)->findOne($id);
echo view('ventas.subsidios.edit', compact('venta'));
}
public static function do_edit()
{
$id = get('venta');
$venta = model(Venta::class)->findOne($id);
$f = Carbon::createFromDate(post('year'), post('month'), post('day'), config('app.timezone'));
$uf = uf($f);
$pago1 = $venta->subsidio()->pago();
$valor = post('ahorro_uf') * $uf->uf->value;
if (post('ahorro') != null) {
$valor = post('ahorro');
}
$pago1->valor = $valor;
$pago1->fecha = $f->format('Y-m-d');
$pago1->uf = $uf->uf->value;
$pago2 = $venta->subsidio()->subsidio();
$valor = post('subsidio_uf') * $uf->uf->value;
if (post('subsidio') != null) {
$valor = post('subsidio');
}
$pago2->valor = $valor;
$pago2->fecha = $f->format('Y-m-d');
$pago2->uf = $uf->uf->value;
$pago1->save();
$pago2->save();
header('Location: ' . nUrl('ventas', 'show', ['venta' => $venta->id]));
}
public static function pagar()
{
$id = get('venta');
$venta = model(Venta::class)->findOne($id);
$tipo = get('tipo');
switch($tipo) {
case 'subsidio':
$pago = $venta->subsidio()->subsidio();
break;
case 'pago':
$pago = $venta->subsidio()->pago();
break;
default:
$pago = null;
}
echo view('ventas.subsidios.pagar', compact('venta', 'pago'));
}
public static function do_pagar()
{
$id = get('venta');
$venta = model(Venta::class)->findOne($id);
$f = Carbon::createFromDate(post('year'), post('month'), post('day'), config('app.timezone'));
$tipo = post('tipo');
switch($tipo) {
case 'subsidio':
$pago = $venta->subsidio()->subsidio();
break;
case 'pago':
$pago = $venta->subsidio()->pago();
break;
default:
$pago = null;
}
$pago->valor = post('valor');
$tipo = model(TipoEstadoPago::class)->where('descripcion', 'depositado')->findOne();
$data = [
'pago' => $pago->id,
'fecha' => $f->format('Y-m-d'),
'estado' => $tipo->id
];
$estado = model(EstadoPago::class)->create($data);
$pago->save();
$estado->save();
header('Location: ' . nUrl('ventas', 'show', ['venta' => $venta->id]));
}
public static function abonar()
{
$id = get('venta');
$venta = model(Venta::class)->findOne($id);
$tipo = get('tipo');
switch($tipo) {
case 'subsidio':
$pago = $venta->subsidio()->subsidio();
break;
case 'pago':
$pago = $venta->subsidio()->pago();
break;
default:
$pago = null;
}
echo view('ventas.subsidios.abonar', compact('venta', 'pago'));
}
public static function do_abonar()
{
$id = get('venta');
$venta = model(Venta::class)->findOne($id);
$f = Carbon::createFromDate(post('year'), post('month'), post('day'), config('app.timezone'));
$tipo = post('tipo');
switch($tipo) {
case 'subsidio':
$pago = $venta->subsidio()->subsidio();
break;
case 'pago':
$pago = $venta->subsidio()->pago();
break;
default:
$pago = null;
}
$pago->valor = post('valor');
$tipo = model(TipoEstadoPago::class)->where('descripcion', 'abonado')->findOne();
$data = [
'pago' => $pago->id,
'fecha' => $f->format('Y-m-d'),
'estado' => $tipo->id
];
$estado = model(EstadoPago::class)->create($data);
$pago->save();
$estado->save();
header('Location: ' . nUrl('ventas', 'show', ['venta' => $venta->id]));
}
}