orderByAsc('descripcion')->findMany(); foreach ($proyectos as &$proyecto) { $arr = $proyecto->asArray(); $arr['direccion'] = $proyecto->direccion()->asArray(); $arr['direccion']['comuna'] = $proyecto->direccion()->comuna()->asArray(); $arr['inmobiliaria'] = $proyecto->inmobiliaria()->asArray(); $proyecto = $arr; } return json_encode(compact('proyectos')); } public static function get_fechas() { $id_proyecto = get('proyecto'); $proyecto = model(Proyecto::class)->findOne($id_proyecto); $cuotas = []; foreach ($proyecto->ventas() as $venta) { $cs = $venta->pie()->cuotas(); $cuotas = array_merge($cs, array_filter($cs, function($item) { $tipo = $item->pago()->estado()->tipo(); return ($tipo == 'depositado' or $tipo == 'abonado'); })); } $fechas = array_map(function($item) { return [ 'timestamp' => $item->pago()->estado()->fecha()->timestamp, 'short' => $item->pago()->estado()->fecha()->format('Y-m-d'), 'long' => $item->pago()->estado()->fecha()->format('d / m / Y') ]; }, $cuotas); usort($fechas, function($a, $b) { return $b['timestamp'] - $a['timestamp']; }); return json_encode(compact('fechas')); } public static function get_pagos_fechas() { $id_proyecto = get('proyecto'); $fecha = Carbon::parse(get('fecha')); $proyecto = model(Proyecto::class)->findOne($id_proyecto); $pagos = []; foreach ($proyecto->ventas() as $venta) { foreach ($venta->pie()->cuotas() as $cuota) { if ($cuota->pago()->estado()->fecha() == $fecha) { $pagos []= [ 'Departamento' => $venta->propiedad()->unidad()->descripcion, 'Valor' => [ 'UF' => $cuota->pago()->valor('ufs'), 'Pesos' => $cuota->pago()->valor() ], 'Numero' => $cuota->numero(), 'Total' => $venta->pie()->cuotas ]; break; } } } return json_encode(compact('pagos')); } public static function pagos_fecha() { $fecha = Carbon::now(); return view('contabilidad.pagos', compact('fecha')); } public static function show_pagos() { $id_proyecto = get('proyecto'); $fecha = Carbon::parse(get('fecha')); $proyecto = model(Proyecto::class)->findOne($id_proyecto); $pagos = []; foreach ($proyecto->ventas() as $venta) { foreach ($venta->pie()->cuotas() as $cuota) { if ($cuota->pago()->estado()->fecha() == $fecha) { $pagos []= (object) [ 'Departamento' => $venta->propiedad()->unidad()->descripcion, 'Valor' => (object) [ 'UF' => $cuota->pago()->valor('ufs'), 'Pesos' => $cuota->pago()->valor() ], 'Numero' => $cuota->numero(), 'Total' => $venta->pie()->cuotas ]; break; } } } return view('contabilidad.pago', compact('proyecto', 'fecha', 'pagos')); } }