public function getErrores($idCarga) { $carga = Cargas::find($idCarga); if ($carga) { //obtener cargas $empresa = $carga->empresa()->orderBy('tipo_receptor')->get(); $sat = $carga->sat()->orderBy('tipo_receptor')->get(); $todos = $carga->sat()->count() + $carga->empresa()->count(); $diff = new DiferenciasCFID($sat, $empresa, $carga->rfc); $correctos_em = $diff->get_emitidos_correctos(); $correctos_res = $diff->get_recibidos_correctos(); $falt_em = $diff->get_emitidos_faltantes(); $falt_res = $diff->get_recibidos_faltantes(); $dif_em = $diff->get_emitidos_differences(); $diff_res = $diff->get_recibidos_differences(); $cancelados = $diff->getCancelados(); $cuenta_falta_sat = $carga->sat()->get()->map(function ($item) { return $item->diferencias()->where('falta', '=', true)->count(); })->sum(); $cuenta_falta_emp = $carga->empresa()->get()->map(function ($item) { return $item->diferencias()->where('falta', '=', true)->count(); })->sum(); $array = array('nombre' => $carga->contribuyente->nombre, 'rfc' => $carga->contribuyente->rfc, 'id' => $carga->id, 'dif_recibidos' => $diff_res, 'dif_emitidos' => $dif_em, 'falt_recibidos' => $falt_res, 'falt_emitidos' => $falt_em, 'correctos_emitidos' => $correctos_em, 'correctos_recibidos' => $correctos_res, 'correctos' => (count($correctos_em) * 200 + count($correctos_res) * 200) / $todos, 'diferencias' => (count($diff_res) * 200 + count($dif_em) * 200) / $todos, 'sat_falt' => $cuenta_falta_emp * 100 / $todos, 'emp_falt' => $cuenta_falta_sat * 100 / $todos, 'cancelados' => $cancelados); //dd($array); return view('cargas.errores', $array); } }
public function getTabla(Request $request) { try { $contr = $request->cont; $desde = Carbon::createFromFormat('Y-m-d', $request->desde)->startOfDay(); $hasta = Carbon::createFromFormat('Y-m-d', $request->hasta)->endOfDay(); } catch (\Exception $e) { return view('vacio'); } $sat = ArchivoSat::whereBetween('fecha', array($desde, $hasta))->where(function ($q) use($contr) { $q->where('rfc_emisor', '=', $contr)->orWhere('rfc_receptor', '=', $contr); })->get(); $empresa = ArchivoEmpresa::whereBetween('fecha', array($desde, $hasta))->where(function ($q) use($contr) { $q->where('rfc_emisor', '=', $contr)->orWhere('rfc_receptor', '=', $contr); })->get(); $todos = $sat->count() + $empresa->count(); if ($todos == 0) { return view('vacio'); } $diff = new DiferenciasCFID($sat, $empresa, $contr); $correctos_em = $diff->get_emitidos_correctos(); $correctos_res = $diff->get_recibidos_correctos(); $falt_em = $diff->get_emitidos_faltantes(); $falt_res = $diff->get_recibidos_faltantes(); $dif_em = $diff->get_emitidos_differences(); $diff_res = $diff->get_recibidos_differences(); $cancelados = $diff->getCancelados(); $cuenta_falta_sat = $sat->map(function ($item) { return $item->diferencias()->where('falta', '=', true)->count(); })->sum(); $cuenta_falta_emp = $empresa->map(function ($item) { return $item->diferencias()->where('falta', '=', true)->count(); })->sum(); $contr = Contribuyente::where('rfc', '=', $contr)->first(); $serialize = "cont={$contr}&desde={$desde}&hasta={$hasta}"; $array = array('urlPdf' => url('buscar/pdf') . "?{$serialize}", 'urlExcel' => url('buscar/excel') . "?{$serialize}", 'nombre' => $contr->nombre, 'rfc' => $contr->rfc, 'id' => $contr->id, 'dif_recibidos' => $diff_res, 'dif_emitidos' => $dif_em, 'falt_recibidos' => $falt_res, 'falt_emitidos' => $falt_em, 'correctos_emitidos' => $correctos_em, 'correctos_recibidos' => $correctos_res, 'correctos' => (count($correctos_em) * 200 + count($correctos_res) * 200) / $todos, 'diferencias' => (count($diff_res) * 200 + count($dif_em) * 200) / $todos, 'sat_falt' => $cuenta_falta_emp * 100 / $todos, 'emp_falt' => $cuenta_falta_sat * 100 / $todos, 'cancelados' => $cancelados); //dd($array); return view('cargas.errores', $array); }