70 lines
1.9 KiB
PHP
70 lines
1.9 KiB
PHP
<?php
|
|
namespace App\Controller;
|
|
|
|
use App\Definition\Controller;
|
|
use Incoviba\old\Venta\Venta;
|
|
use Carbon\Carbon;
|
|
use Incoviba\nuevo\Venta\Observacion;
|
|
use Incoviba\nuevo\Venta\EstadoObservacion;
|
|
use Incoviba\nuevo\Venta\Postventa;
|
|
use Incoviba\nuevo\Venta\PostventaObservacion;
|
|
use Incoviba\nuevo\Venta\EstadoPostventa;
|
|
|
|
class Postventas
|
|
{
|
|
use Controller;
|
|
|
|
public static function add()
|
|
{
|
|
$id = get('venta');
|
|
$venta = model(Venta::class)->findOne($id);
|
|
|
|
return view('ventas.postventas.add', compact('venta'));
|
|
}
|
|
public static function agregar()
|
|
{
|
|
$id = get('venta');
|
|
$venta = model(Venta::class)->findOne($id);
|
|
|
|
$f = Carbon::createFromDate(post('year'), post('month'), post('day'), config('app.timezone'));
|
|
$observaciones = json_decode(post('observaciones'));
|
|
$postventa = model(Postventa::class)->create();
|
|
$postventa->venta_id = $venta->id;
|
|
$postventa->save();
|
|
|
|
$estado = model(EstadoPostventa::class)->create();
|
|
$estado->postventa_id = $postventa->id;
|
|
$estado->tipo_estado_postventa_id = 1;
|
|
$estado->fecha = $f->format('Y-m-d');
|
|
$estado->save();
|
|
|
|
foreach ($observaciones as $o) {
|
|
$observacion = model(Observacion::class)->create();
|
|
$observacion->texto = post('observacion' . $o);
|
|
|
|
$observacion->save();
|
|
|
|
$estado = model(EstadoObservacion::class)->create();
|
|
$estado->observacion_id = $observacion->id;
|
|
$estado->tipo_estado_observacion_id = 1;
|
|
$estado->fecha = $f->format('Y-m-d');
|
|
$estado->save();
|
|
|
|
$po = model(PostventaObservacion::class)->create();
|
|
$po->postventa_id = $postventa->id;
|
|
$po->observacion_id = $observacion->id;
|
|
$po->save();
|
|
}
|
|
header('Location: ' . url('', ['p' => 'ventas', 'a' => 'show', 'venta' => $venta->id]));
|
|
}
|
|
public static function show()
|
|
{
|
|
$id = get('postventa');
|
|
$postventa = model(Postventa::class)->findOne($id);
|
|
$venta = model(Venta::class)->findOne($postventa->venta_id);
|
|
|
|
return view('ventas.postventas.show', compact('postventa', 'venta'));
|
|
}
|
|
}
|
|
?>
|