namespace App\Http\Controllers;
use App\Libraries\libUtilities as LU;
use App\Models\Contratos_modo_basico as CMB;
use App\Models\Constancias_ejecutores as CE;
use Barryvdh\DomPDF\Facade as domPDF;
use Illuminate\Http\Request;
use ZipArchive;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
class ConstanciasController extends Controller {
public function detallesConstancia($tipo, $year = null, $idNumAuditoria = null, $idCcp = null, $idCff = null, $idContrato = null, $nombreArchivo) {
switch ($tipo) {
case 1: case 2: $condicionesConstancias["tipo_constancia"] = $tipo;
$condicionesConstancias["id_clave_ff"] = $idCff;
$constancia = DB::table("constancias_ejecutores")->where($condicionesConstancias)->first();
break;
case 5: $condicionesConstancias["tipo_constancia"] = 3;
$condicionesConstancias["id_clave_ff"] = $idCff;
$condicionesConstancias["id_contrato"] = $idContrato;
$constancia = DB::table("constancias_ejecutores")->where($condicionesConstancias)->first();
break;
case 3: case 4: $condicionesConstancias["tipo_constancia"] = $tipo == 3 ? 1 : 2;
$condicionesConstancias["id_num_auditoria"] = $idNumAuditoria;
$condicionesConstancias["id_ccp"] = $idCcp;
$constancia = DB::table("constancias_enlaces")->where($condicionesConstancias)->first();
break;
default: break;
}
if ($constancia == null) {
return "La constancia aún no se ha generado";
}
elseif (substr($constancia->url_constancia, strripos($constancia->url_constancia, "/") + 1) != $nombreArchivo) {
return "La constancia está desactualizada";
}
else {
$condiciones = array();
if ($idCff != "null" && $idCff != null) {
$condiciones["id_ff"] = $idCff;
}
else {
$condiciones["year"] = $year;
$condiciones["id_nauditoria"] = $idNumAuditoria;
$condiciones["clave_ff"] = $idCcp;
}
$datos["tipoConstancia"] = $tipo == 1 ? "del Acuse" : "de la Constancia";
$datos["etapa"] = "Básica";
$datos["tipo"] = $tipo;
$datos["idNumAuditoria"] = $idNumAuditoria;
$datos["idCcp"] = $idCcp;
$datos["idCff"] = $idCff;
$datos["fecha"] = "fecha";
$datos["idContrato"] = $idContrato;
$aClaveFF = DB::table("clave_ff")->where($condiciones)->join("dependencias as dp", "clave_ff.id_dependencia", "=", "dp.id_dependencia")->orderByRaw("LOWER(dp.sDependencia)")->get();
$dependencia = DB::table("dependencias")->where("id_dependencia", $aClaveFF[0]->id_dependencia)->get();
if ($tipo == 1 || $tipo == 2) {
$datos["dependencia"] = $dependencia[0]->sDependencia;
}
$datos["year"] = $aClaveFF[0]->year;
$datos["fecha"] = $aClaveFF[0]->updated_at;
$estado = DB::table("estados")->where("id", $aClaveFF[0]->id_estado)->first();
$municipio = DB::table("municipios")->where("id", $aClaveFF[0]->id_municipio)->first();
$datos["ef"] = $estado->estado . ($aClaveFF[0]->id_municipio != 0 ? ", " . $municipio->municipio : '');
$nAuditoria = DB::table("catalogo_numeros_auditoria")->where("id", $aClaveFF[0]->id_nauditoria)->first();
$datos["n_auditoria"] = $nAuditoria->numeroAuditoria;
return view("constancias.situacion_constancia", $datos);
}
}
public function constanciaAjax($tipo, $year = null, $idNumAuditoria = null, $idCcp = null, $idCff = null, $idContrato = null) {
$datos = self::getDetallesConstancia($tipo, $year, $idNumAuditoria, $idCcp, $idCff, $idContrato);
return response()->json($datos);
}
public static function generarConstancia($tipo, $year = null, $idNumAuditoria = null, $idCcp = null, $idCff = null, $modulo = null, $nameFile = null, $idContrato = null) {
$data["errores"] = null;
$r = array();
$r["fecha"] = date("d-m-Y H:i:s");
$r["modulo"] = $modulo;
$totalPeso = 0;
$totalArchivos = 0;
try {
$datos = self::getDetallesConstancia($tipo, $year, $idNumAuditoria, $idCcp, $idCff, $idContrato);
if ($datos["errores"] == null) {
if (Auth::user()->u_t->id == 4) {
if ($tipo == 5) {
$tituloPrincipal = "ACUSE DE ENVÍO DE INFORMACIÓN DEL CONTRATO " . $datos["numContrato"] . " DEL EJECUTOR DEL GASTO DE LA EF AL ENLACE";
}
else {
$tituloPrincipal = "ACUSE DE ENVÍO DE INFORMACIÓN DEL EJECUTOR DEL GASTO DE LA EF AL ENLACE";
}
$acto = "Acuse de Envío de Información del ejecutor al enlace de la EF";
}
else {
$tituloPrincipal = "CONSTANCIA DE ENVÍO DE INFORMACIÓN DEL ENLACE DE LA EF A LA ASF";
$acto = "Constancia de Envío de Información del enlace de la Entidad Fiscalizada a la ASF";
}
$etapaIntermedia = "INTERMEDIA";
$listaCompletos = $datos["paraConstancia"];
$data["numAud"] = $datos["n_auditoria"];
$data["year"] = $datos["year"];
$data["fondo"] = $datos["fondo"];
$data["totalSinInfo"] = $datos["totalSinInfo"];
$data["totalConInfo"] = $datos["totalConInfo"];
switch ($tipo) {
case 2: $data["UrlDetalles"] = url("/") . "/constancias/detallesConstancia/2/null/null/null/" . $idCff . "/null/" . $nameFile;
break;
case 4: $data["UrlDetalles"] = url("/") . "/constancias/detallesConstancia|/" . $datos["year"] . "/" . $idNumAuditoria . "/" . $idCcp . "/null/null/" . $nameFile;
break;
case 5: $data["UrlDetalles"] = url("/") . "/constancias/detallesConstancia
}
/null/null/null/" . $idCff . "/" . $idContrato . "/" . $nameFile;
break;
}
$totalArchivos = $datos["totalArchivos"];
$totalPeso = LU::formatBytes($datos["pesoTotal"]);
$pdf = domPDF::loadView("constancias.envio_informacion", array("data" => $data, "fecha" => $r["fecha"], "etapa" => $etapaIntermedia, "listaCompletos" => $listaCompletos, "totalArchivos" => $totalArchivos, "totalPeso" => $totalPeso, "tituloPrincipal" => $tituloPrincipal, "acto" => $acto));
}
else {
$data["errores"][] = $datos["errores"];
}
}
catch (\Throwable $th) {
$data["errores"][] = "Error durante la generación del archivo, comuníquese con servicio técnico. " . $th->getLine() . . $th->getMessage();
}
if (empty($data["errores"])) {
$pdfContent = $pdf->output();
return response()->json(array("pdfContent" => base64_encode($pdfContent)));
}
else {
return response()->json($data);
}
}
public static function getDetallesConstancia($tipo, $year = null, $idNumAuditoria = null, $idCcp = null, $idCff = null, $idContrato = null) {
set_time_limit(0);
$datos = array();
$datos["errores"] = null;
$datos["paraConstancia"] = null;
$datos["pesoTotal"] = 0;
$datos["totalArchivos"] = 0;
$datos["archivos"] = array();
try {
$condiciones = array();
if ($idCff != "null" && $idCff != null) {
$condiciones["id_ff"] = $idCff;
}
else {
$condiciones["year"] = $year;
$condiciones["id_nauditoria"] = $idNumAuditoria;
$condiciones["clave_ff"] = $idCcp;
}
$aClaveFF = DB::table("clave_ff")->where($condiciones)->join("dependencias as dp", "clave_ff.id_dependencia", "=", "dp.id_dependencia")->orderByRaw("LOWER(dp.sDependencia)")->get();
$datos["fecha"] = $aClaveFF[0]->updated_at;
$estado = DB::table("estados")->where("id", $aClaveFF[0]->id_estado)->first();
$municipio = DB::table("municipios")->where("id", $aClaveFF[0]->id_municipio)->first();
$datos["ef"] = $estado->estado . ($aClaveFF[0]->id_municipio != 0 ? ", " . $municipio->municipio : '');
$datos["year"] = $aClaveFF[0]->year;
$fondo = DB::table("catalogo_claves_presupuestales")->where("id", $aClaveFF[0]->clave_ff)->select("nombre_clave")->first();
$datos["fondo"] = $fondo->nombre_clave;
$nAuditoria = DB::table("catalogo_numeros_auditoria")->where("id", $aClaveFF[0]->id_nauditoria)->first();
$datos["n_auditoria"] = $nAuditoria->numeroAuditoria;
$datos["totalSinInfo"] = 0;
$datos["totalConInfo"] = 0;
switch ($tipo) {
case 1: case 3: $contDependencia = 0;
$datos["tipoConstancia"] = $tipo == 1 ? "del Acuse" : "de la Constancia";
$datos["etapa"] = "Básica";
foreach ($aClaveFF as $claveFF) {
$dependencia = DB::table("dependencias")->where("id_dependencia", $claveFF->id_dependencia)->get();
if ($tipo == 1) {
$datos["dependencia"] = $dependencia[0]->sDependencia;
}
foreach ($claveFF as $attribute => $value) {
if (str_contains($attribute, "estatus_")) {
if ($value == 2 || $value == 3) {
switch ($attribute) {
case "estatus_archivo": $split = explode("/", $claveFF->url_anexo_gd);
$docSize = LU::formatBytes(filesize(public_path() . $claveFF->url_anexo_gd));
$datos["archivos"][] = array("dependencia" => $tipo == 3 ? $dependencia[0]->sDependencia : null, "nombre" => $split[8], "apartado" => "Gastos diversos S/C", "size" => $docSize, "hash" => $claveFF->anexo_gd_hash);
break;
case "estatus_anexo_adq": $anexoAdq = DB::table("contratos_excel_files")->where(array(array("id_ff", "=", $claveFF->id_ff), array("modulo", "=", "A")))->first();
$split = explode("/", $anexoAdq->url_archivo);
$docSize = LU::formatBytes(filesize(public_path() . $anexoAdq->url_archivo));
$datos["archivos"][] = array("dependencia" => $tipo == 3 ? $dependencia[0]->sDependencia : null, "nombre" => $split[5], "apartado" => "Adquisiciones", "size" => $docSize, "hash" => $anexoAdq->hash_archivo);
break;
case "estatus_anexo_obras": $anexoObras = DB::table("contratos_excel_files")->where(array(array("id_ff", "=", $claveFF->id_ff), array("modulo", "=", "O")))->first();
$split = explode("/", $anexoObras->url_archivo);
$docSize = LU::formatBytes(filesize(public_path() . $anexoObras->url_archivo));
$datos["archivos"][] = array("dependencia" => $tipo == 3 ? $dependencia[0]->sDependencia : null, "nombre" => $split[5], "apartado" => "Obras Públicas", "size" => $docSize, "hash" => $anexoObras->hash_archivo);
break;
case "estatus_anexo_obras_y_adq": $anexoOBYaDQ = DB::table("anexo_obras_y_adq")->where("id_clave_ff", $claveFF->id_ff)->first();
$split = explode("/", $anexoOBYaDQ->url_archivo);
$docSize = LU::formatBytes(filesize(public_path() . $anexoOBYaDQ->url_archivo));
$datos["archivos"][] = array("dependencia" => $tipo == 3 ? $dependencia[0]->sDependencia : null, "nombre" => $split[5], "apartado" => "Obras y Adquisiciones (FISE o FISM)", "size" => $docSize, "hash" => $anexoOBYaDQ->hash_archivo);
break;
case "estatus_anexo_egresos": $anexoEgresos = DB::table("anexo7_ejecutores")->where("id_clave_ff", $claveFF->id_ff)->first();
$split = explode("/", $anexoEgresos->url_anexo7_ejecutor);
$docSize = LU::formatBytes(filesize(public_path() . $anexoEgresos->url_anexo7_ejecutor));
$datos["archivos"][] = array("dependencia" => $tipo == 3 ? $dependencia[0]->sDependencia : null, "nombre" => $split[9], "apartado" => "Egresos", "size" => $docSize, "hash" => $anexoEgresos->hash_anexo7_ejecutor);
break;
case "estatus_anexo_nomina": $dato_nomina = DB::table("api_nomina_envios")->where("id_cff", $idCff)->select("*")->get();
foreach ($dato_nomina as $archivo) {
$docSize = LU::formatBytes(filesize(public_path() . "/uploads/nomina/" . $claveFF->year . "/" . $archivo->id_cff . "/" . $archivo->nombre_archivo));
$datos["archivos"][] = array("dependencia" => $tipo == 3 ? $dependencia[0]->sDependencia : null, "nombre" => $archivo->nombre_archivo, "apartado" => "Nomina", "size" => $docSize, "hash" => $archivo->hash_archivo);
}
break;
case "estatus_anexo_c4k": $anexo4k = DB::table("anexo_cap_4k")->where("id_clave_ff", $claveFF->id_ff)->first();
$split = explode("/", $anexo4k->url_archivo);
$docSize = LU::formatBytes(filesize(public_path() . $anexo4k->url_archivo));
$datos["archivos"][] = array("dependencia" => $tipo == 3 ? $dependencia[0]->sDependencia : null, "nombre" => $split[5], "apartado" => "Cap.0", "size" => $docSize, "hash" => $anexo4k->cap4k_hash);
break;
default: paraProgramacionPreventiva();
break;
}
}
}
}
$contDependencia++;
}
break;
case 2: case 4: case 5: $pathContrato = 7;
$pathPaso = 8;
$pathFilename = 9;
$datos["tipoConstancia"] = $tipo == 2 ? "del Acuse" : "de la Constancia";
$datos["etapa"] = "Intermedia";
foreach ($aClaveFF as $claveFF) {
$dependencia = DB::table("dependencias")->where("id_dependencia", $claveFF->id_dependencia)->get();
if ($tipo == 2) {
$datos["dependencia"] = $dependencia[0]->sDependencia;
}
$datos["id_dependencia"] = $dependencia[0]->id_dependencia;
$datos["paraConstancia"][$datos["id_dependencia"]]["nombreDependencia"] = $dependencia[0]->sDependencia;
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] = 0;
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] = 0;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"] = null;
$datos["numContrato"] = null;
if ($tipo == 5) {
$contratos = CMB::where(array("id" => $idContrato, "id_ff" => $claveFF->id_ff))->get();
}
else {
$contratos = CMB::where("id_ff", $claveFF->id_ff)->get();
}
foreach ($contratos as $K_contrato => $V_contrato) {
if ($V_contrato->lmd_intermedio != null) {
$V_contrato->lmd_intermedio->lmd_comentarios;
}
if ($V_contrato->lmd_etapa1 != null) {
if ($V_contrato->lmd_etapa1->file_dsp != null && $V_contrato->lmd_etapa1->file_dsp != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_etapa1->file_dsp);
$docSize = filesize(public_path() . $V_contrato->lmd_etapa1->file_dsp);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_etapa1->file_dsp, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_etapa1->file_dsp)), $V_contrato->lmd_etapa1->hash_dsp);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Suficiencia presupuestal - Documento de la suficiencia presupuestal y documento que acredita la propiedad", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_etapa1->hash_dsp);
}
}
if ($V_contrato->lmd_files->url_convocatoria != null && $V_contrato->lmd_files->url_convocatoria != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_convocatoria);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_convocatoria);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_convocatoria, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_convocatoria)), $V_contrato->lmd_files->hash_convocatoria);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación - Convocatoria, invitación ó solicitud de cotizaciones", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_convocatoria);
}
if ($V_contrato->lmd_files->url_acta_proposiciones != null && $V_contrato->lmd_files->url_acta_proposiciones != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_acta_proposiciones);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_acta_proposiciones);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_acta_proposiciones, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_acta_proposiciones)), $V_contrato->lmd_files->hashurl_acta_proposiciones);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación - Acta de presentación de proposiciones", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_acta_proposiciones);
}
foreach ($V_contrato->lmd_empresas_concursantes as $K_empresa_concursante => $V_empresa_concursante) {
if ($V_empresa_concursante->acta != null && $V_empresa_concursante->acta != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_empresa_concursante->acta);
$docSize = filesize(public_path() . $V_empresa_concursante->acta);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_empresa_concursante->acta, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_empresa_concursante->acta)), $V_empresa_concursante->hash_acta);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación (Empresas concursantes) - Acta constitutiva", "size" => LU::formatBytes($docSize), "hash" => $V_empresa_concursante->hash_acta);
}
}
if ($V_contrato->lmd_files != null) {
if ($V_contrato->lmd_files->url_acta_const != null && $V_contrato->lmd_files->url_acta_const != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_acta_const);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_acta_const);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_acta_const, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_acta_const)), $V_contrato->lmd_files->hash_acta_const);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de contratación - Acta constitutiva", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_acta_const);
}
if ($V_contrato->lmd_files->url_convocatoria != null && $V_contrato->lmd_files->url_convocatoria != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_convocatoria);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_convocatoria);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_convocatoria, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_convocatoria)), $V_contrato->lmd_files->hash_dictamenes_tecnicos_economicos);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación - Dictámenes técnicos y económicos", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_dictamenes_tecnicos_economicos);
}
if ($V_contrato->lmd_files->url_acta_proposiciones != null && $V_contrato->lmd_files->url_acta_proposiciones != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_acta_proposiciones);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_acta_proposiciones);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_acta_proposiciones, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_acta_proposiciones)), $V_contrato->lmd_files->hash_dictamenes_tecnicos_economicos);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación - Dictámenes técnicos y económicos", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_dictamenes_tecnicos_economicos);
}
if ($V_contrato->lmd_files->url_constancia_fiscal != null && $V_contrato->lmd_files->url_constancia_fiscal != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_constancia_fiscal);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_constancia_fiscal);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_constancia_fiscal, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_constancia_fiscal)), $V_contrato->lmd_files->hash_dictamenes_tecnicos_economicos);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación - Dictámenes técnicos y económicos", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_dictamenes_tecnicos_economicos);
}
if ($V_contrato->lmd_files->url_constancia_padron != null && $V_contrato->lmd_files->url_constancia_padron != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_constancia_padron);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_constancia_padron);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_constancia_padron, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_constancia_padron)), $V_contrato->lmd_files->hash_dictamenes_tecnicos_economicos);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación - Dictámenes técnicos y económicos", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_dictamenes_tecnicos_economicos);
}
if ($V_contrato->lmd_files->url_propuesta_economica != null && $V_contrato->lmd_files->url_propuesta_economica != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_propuesta_economica);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_propuesta_economica);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_propuesta_economica, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_propuesta_economica)), $V_contrato->lmd_files->hash_dictamenes_tecnicos_economicos);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación - Dictámenes técnicos y económicos", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_dictamenes_tecnicos_economicos);
}
if ($V_contrato->lmd_files->url_opinion_cumplimiento != null && $V_contrato->lmd_files->url_opinion_cumplimiento != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_opinion_cumplimiento);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_opinion_cumplimiento);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_opinion_cumplimiento, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_opinion_cumplimiento)), $V_contrato->lmd_files->hash_dictamenes_tecnicos_economicos);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación - Dictámenes técnicos y económicos", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_dictamenes_tecnicos_economicos);
}
if ($V_contrato->lmd_files->url_dictamenes_tecnicos_economicos != null && $V_contrato->lmd_files->url_dictamenes_tecnicos_economicos != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_dictamenes_tecnicos_economicos);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_dictamenes_tecnicos_economicos);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_dictamenes_tecnicos_economicos, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_dictamenes_tecnicos_economicos)), $V_contrato->lmd_files->hash_dictamenes_tecnicos_economicos);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación - Dictámenes técnicos y económicos", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_dictamenes_tecnicos_economicos);
}
if ($V_contrato->lmd_files->url_acta_fallo != null && $V_contrato->lmd_files->url_acta_fallo != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_acta_fallo);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_acta_fallo);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_acta_fallo, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_acta_fallo)), $V_contrato->lmd_files->hash_acta_fallo);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación - Acta de fallo", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_acta_fallo);
}
if ($V_contrato->lmd_files->url_constancia_fiscal != null && $V_contrato->lmd_files->url_constancia_fiscal != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_constancia_fiscal);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_constancia_fiscal);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_constancia_fiscal, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_constancia_fiscal)), $V_contrato->lmd_files->hash_constancia_fiscal);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación - Constancia de situación fiscal", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_constancia_fiscal);
}
if ($V_contrato->lmd_files->url_constancia_padron != null && $V_contrato->lmd_files->url_constancia_padron != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_constancia_padron);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_constancia_padron);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_constancia_padron, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_constancia_padron)), $V_contrato->lmd_files->hash_constancia_padron);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación - Constancia de inscripción al padrón", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_constancia_padron);
}
if ($V_contrato->lmd_files->url_propuesta_economica != null && $V_contrato->lmd_files->url_propuesta_economica != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_propuesta_economica);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_propuesta_economica);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_propuesta_economica, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_propuesta_economica)), $V_contrato->lmd_files->hash_propuesta_economica);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación - Propuesta económica del proveedor ganador", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_propuesta_economica);
}
if ($V_contrato->lmd_files->url_opinion_cumplimiento != null && $V_contrato->lmd_files->url_opinion_cumplimiento != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_opinion_cumplimiento);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_opinion_cumplimiento);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_opinion_cumplimiento, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_opinion_cumplimiento)), $V_contrato->lmd_files->hash_opinion_cumplimiento);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación - Opinión de cumplimiento positiva", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_opinion_cumplimiento);
}
if ($V_contrato->lmd_files->url_contrato != null && $V_contrato->lmd_files->url_contrato != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_contrato);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_contrato);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_contrato, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_contrato)), $V_contrato->lmd_files->hash_contrato);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de contratación - Contrato", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_contrato);
}
if ($V_contrato->lmd_files->url_no_anticipo != null && $V_contrato->lmd_files->url_no_anticipo != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_no_anticipo);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_no_anticipo);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_no_anticipo, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_no_anticipo)), $V_contrato->lmd_files->hash_no_anticipo);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de contratación - No. de anticipo", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_no_anticipo);
}
if ($V_contrato->lmd_files->url_no_cumplimiento != null && $V_contrato->lmd_files->url_no_cumplimiento != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_no_cumplimiento);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_no_cumplimiento);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_no_cumplimiento, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_no_cumplimiento)), $V_contrato->lmd_files->hash_no_cumplimiento);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de contratación - No. de cumplimiento", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_no_cumplimiento);
}
if ($V_contrato->lmd_files->url_no_vicios_ocultos != null && $V_contrato->lmd_files->url_no_vicios_ocultos != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_no_vicios_ocultos);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_no_vicios_ocultos);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_no_vicios_ocultos, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_no_vicios_ocultos)), $V_contrato->lmd_files->hash_no_vicios_ocultos);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de contratación - No. de vicios ocultos", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_no_vicios_ocultos);
}
foreach ($V_contrato->lmd_etapa3 as $K_etapa3 => $V_etapa3) {
if ($V_etapa3->url_cumplimiento != null && $V_etapa3->url_cumplimiento != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_etapa3->url_cumplimiento);
$docSize = filesize(public_path() . $V_etapa3->url_cumplimiento);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_etapa3->url_cumplimiento, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_etapa3->url_cumplimiento)), $V_etapa3->hash_cumplimiento);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de contratación (convenio) - No. de cumplimiento", "size" => LU::formatBytes($docSize), "hash" => $V_etapa3->hash_cumplimiento);
}
if ($V_etapa3->url_vicios_ocultos != null && $V_etapa3->url_vicios_ocultos != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_etapa3->url_vicios_ocultos);
$docSize = filesize(public_path() . $V_etapa3->url_vicios_ocultos);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_etapa3->url_vicios_ocultos, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_etapa3->url_vicios_ocultos)), $V_etapa3->hash_vicios_ocultos);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de contratación (convenio) - No. de vicios ocultos", "size" => LU::formatBytes($docSize), "hash" => $V_etapa3->hash_vicios_ocultos);
}
if ($V_etapa3->url_convenio_mod != null && $V_etapa3->url_convenio_mod != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_etapa3->url_convenio_mod);
$docSize = filesize(public_path() . $V_etapa3->url_convenio_mod);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_etapa3->url_convenio_mod, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_etapa3->url_convenio_mod)), $V_etapa3->hash_convenio_mod);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de contratación (convenio) - Convenio modificatorio", "size" => LU::formatBytes($docSize), "hash" => $V_etapa3->hash_convenio_mod);
}
}
if ($V_contrato->lmd_files->url_documento_comprobatorio != null && $V_contrato->lmd_files->url_documento_comprobatorio != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_documento_comprobatorio);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_documento_comprobatorio);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] = $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_documento_comprobatorio, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_documento_comprobatorio)), $V_contrato->lmd_files->hash_documento_comprobatorio);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Gastos diversos S/C", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_documento_comprobatorio);
}
if ($V_contrato->lmd_files->url_almacen != null && $V_contrato->lmd_files->url_almacen != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_almacen);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_almacen);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_almacen, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_almacen)), $V_contrato->lmd_files->hash_almacen);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Entrada al almacén", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_almacen);
}
if ($V_contrato->lmd_files->url_resguardo != null && $V_contrato->lmd_files->url_resguardo != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_resguardo);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_resguardo);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_resguardo, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_resguardo)), $V_contrato->lmd_files->hash_resguardo);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Resguardo de bien", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_resguardo);
}
if ($V_contrato->lmd_files->url_inventario_bienes != null && $V_contrato->lmd_files->url_inventario_bienes != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_inventario_bienes);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_inventario_bienes);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_inventario_bienes, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_inventario_bienes)), $V_contrato->lmd_files->hash_resguardo);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Resguardo de bien", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_resguardo);
}
if ($V_contrato->lmd_files->url_dictamen_recepcion != null && $V_contrato->lmd_files->url_dictamen_recepcion != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_dictamen_recepcion);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_dictamen_recepcion);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_dictamen_recepcion, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_dictamen_recepcion)), $V_contrato->lmd_files->hash_resguardo);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Resguardo de bien", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_resguardo);
}
if ($V_contrato->lmd_files->url_reporte_fotografico_bienes != null && $V_contrato->lmd_files->url_reporte_fotografico_bienes != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_reporte_fotografico_bienes);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_reporte_fotografico_bienes);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_reporte_fotografico_bienes, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_reporte_fotografico_bienes)), $V_contrato->lmd_files->hash_resguardo);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Resguardo de bien", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_resguardo);
}
if ($V_contrato->lmd_files->url_acta_entrega_recepcion != null && $V_contrato->lmd_files->url_acta_entrega_recepcion != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_acta_entrega_recepcion);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_acta_entrega_recepcion);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_acta_entrega_recepcion, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_acta_entrega_recepcion)), $V_contrato->lmd_files->hash_acta_entrega_recepcion);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Acta de entrega-recepción", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_acta_entrega_recepcion);
}
if ($V_contrato->lmd_files->url_entregables != null && $V_contrato->lmd_files->url_entregables != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_entregables);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_entregables);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_entregables, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_entregables)), $V_contrato->lmd_files->hash_entregables);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Evidencia de los entregables", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_entregables);
}
if ($V_contrato->lmd_files->url_entrega_recepcion != null && $V_contrato->lmd_files->url_entrega_recepcion != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_entrega_recepcion);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_entrega_recepcion);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_entrega_recepcion, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_entrega_recepcion)), $V_contrato->lmd_files->hash_entrega_recepcion);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Acta de entrega-recepción", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_entrega_recepcion);
}
if ($V_contrato->lmd_files->url_inventario_bienes != null && $V_contrato->lmd_files->url_inventario_bienes != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_inventario_bienes);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_inventario_bienes);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_inventario_bienes, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_inventario_bienes)), $V_contrato->lmd_files->hash_inventario_bienes);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Inventario de los bienes contratados", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_inventario_bienes);
}
if ($V_contrato->lmd_files->url_dictamen_recepcion != null && $V_contrato->lmd_files->url_dictamen_recepcion != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_dictamen_recepcion);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_dictamen_recepcion);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_dictamen_recepcion, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_dictamen_recepcion)), $V_contrato->lmd_files->hash_dictamen_recepcion);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Dictamen de entrega recepción", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_dictamen_recepcion);
}
if ($V_contrato->lmd_files->url_reporte_fotografico_bienes != null && $V_contrato->lmd_files->url_reporte_fotografico_bienes != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_reporte_fotografico_bienes);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_reporte_fotografico_bienes);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_reporte_fotografico_bienes, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_reporte_fotografico_bienes)), $V_contrato->lmd_files->hash_reporte_fotografico_bienes);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Reporte fotográfico de los bienes adquiridos que se encuentren en operación", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_reporte_fotografico_bienes);
}
if ($V_contrato->lmd_files->url_finiquito != null && $V_contrato->lmd_files->url_finiquito != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_finiquito);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_finiquito);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_finiquito, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_finiquito)), $V_contrato->lmd_files->hash_finiquito);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Acta de finiquito", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_finiquito);
}
if ($V_contrato->lmd_files->url_terminacion != null && $V_contrato->lmd_files->url_terminacion != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_terminacion);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_terminacion);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_terminacion, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_terminacion)), $V_contrato->lmd_files->hash_terminacion);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Oficio de terminación", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_terminacion);
}
if ($V_contrato->lmd_files->url_documento_propiedad != null && $V_contrato->lmd_files->url_documento_propiedad != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_documento_propiedad);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_documento_propiedad);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_documento_propiedad, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_documento_propiedad)), $V_contrato->lmd_files->hash_terminacion);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Oficio de terminación", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_terminacion);
}
if ($V_contrato->lmd_files->url_fotografico != null && $V_contrato->lmd_files->url_fotografico != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_fotografico);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_fotografico);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_fotografico, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_fotografico)), $V_contrato->lmd_files->hash_fotografico);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Reporte fotográfico", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_fotografico);
}
if ($V_contrato->lmd_files->url_bitacoras != null && $V_contrato->lmd_files->url_bitacoras != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_bitacoras);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_bitacoras);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_bitacoras, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_bitacoras)), $V_contrato->lmd_files->hash_bitacoras);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Bitácoras", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_bitacoras);
}
if ($V_contrato->lmd_files->url_extincion != null && $V_contrato->lmd_files->url_extincion != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_extincion);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_extincion);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_extincion, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_extincion)), $V_contrato->lmd_files->hash_extincion);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Acta de extinción de obligaciones", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_extincion);
}
if ($V_contrato->lmd_files->url_documento_propiedad != null && $V_contrato->lmd_files->url_documento_propiedad != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_contrato->lmd_files->url_documento_propiedad);
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_documento_propiedad);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_documento_propiedad, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_documento_propiedad)), $V_contrato->lmd_files->hash_documento_propiedad);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Documento que acredite la propiedad", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_documento_propiedad);
}
}
foreach ($V_contrato->lmd_etapa4 as $K_estimacion => $V_estimacion) {
foreach ($V_estimacion->lmd_photos as $K_photo => $V_photo) {
if ($V_photo->url_photo != null && $V_photo->url_photo != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_photo->url_photo);
$docSize = filesize(public_path() . $V_photo->url_photo);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_photo->url_photo, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_photo->url_photo)), $V_photo->hash_photo);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega (Estimación) - Reporte fotográfico", "size" => LU::formatBytes($docSize), "hash" => $V_photo->hash_photo);
}
}
if ($V_estimacion->url_bitacoras != null && $V_estimacion->url_bitacoras != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_estimacion->url_bitacoras);
$docSize = filesize(public_path() . $V_estimacion->url_bitacoras);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_estimacion->url_bitacoras, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_estimacion->url_bitacoras)), $V_estimacion->hash_bitacoras);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega (Estimación) - Bitácoras", "size" => LU::formatBytes($docSize), "hash" => $V_estimacion->hash_bitacoras);
}
if ($V_estimacion->url_pruebas_laboratorio != null && $V_estimacion->url_pruebas_laboratorio != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_estimacion->url_pruebas_laboratorio);
$docSize = filesize(public_path() . $V_estimacion->url_pruebas_laboratorio);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_estimacion->url_pruebas_laboratorio, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_estimacion->url_pruebas_laboratorio)), $V_estimacion->hash_pruebas_laboratorio);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega (Estimación) - Pruebas de laboratorio", "size" => LU::formatBytes($docSize), "hash" => $V_estimacion->hash_pruebas_laboratorio);
}
if ($V_estimacion->url_caratula != null && $V_estimacion->url_caratula != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_estimacion->url_caratula);
$docSize = filesize(public_path() . $V_estimacion->url_caratula);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_estimacion->url_caratula, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_estimacion->url_caratula)), $V_estimacion->hash_caratula);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega (Estimación) - Carátula", "size" => LU::formatBytes($docSize), "hash" => $V_estimacion->hash_caratula);
}
}
foreach ($V_contrato->lmd_facturas as $K_fac => $V_fac) {
if ($V_fac->cfdi_url != null && $V_fac->cfdi_url != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_fac->cfdi_url);
$docSize = filesize(public_path() . $V_fac->cfdi_url);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_fac->cfdi_url, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_fac->cfdi_url)), $V_fac->cfdi_hash);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Facturas - CFDI", "size" => LU::formatBytes($docSize), "hash" => $V_fac->cfdi_hash);
}
if ($V_fac->factura_url != null && $V_fac->factura_url != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_fac->factura_url);
$docSize = filesize(public_path() . $V_fac->factura_url);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_fac->factura_url, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_fac->factura_url)), $V_fac->factura_hash);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Facturas - Factura", "size" => LU::formatBytes($docSize), "hash" => $V_fac->factura_hash);
}
if ($V_fac->estimacion_url != null && $V_fac->estimacion_url != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_fac->estimacion_url);
$docSize = filesize(public_path() . $V_fac->estimacion_url);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_fac->estimacion_url, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_fac->estimacion_url)), $V_fac->estimacion_hash);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Facturas - Carátula de estimación", "size" => LU::formatBytes($docSize), "hash" => $V_fac->estimacion_hash);
}
}
foreach ($V_contrato->lmd_polizas as $K_pol => $V_pol) {
if ($V_pol->url_num_poliza != null && $V_pol->url_num_poliza != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_pol->url_num_poliza);
$docSize = filesize(public_path() . $V_pol->url_num_poliza);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_pol->url_num_poliza, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_pol->url_num_poliza)), $V_pol->hash_num_poliza);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Pago y pólizas - Número de póliza", "size" => LU::formatBytes($docSize), "hash" => $V_pol->hash_num_poliza);
}
if ($V_pol->url_clc_spei != null && $V_pol->url_clc_spei != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_pol->url_clc_spei);
$docSize = filesize(public_path() . $V_pol->url_clc_spei);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_pol->url_clc_spei, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_pol->url_clc_spei)), $V_pol->hash_clc_spei);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Pago y pólizas - Acreditación de pago (CLC, SPEI)", "size" => LU::formatBytes($docSize), "hash" => $V_pol->hash_clc_spei);
}
if ($V_pol->url_contrato_cuenta_pagadora != null && $V_pol->url_contrato_cuenta_pagadora != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_pol->url_contrato_cuenta_pagadora);
$docSize = filesize(public_path() . $V_pol->url_contrato_cuenta_pagadora);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_pol->url_contrato_cuenta_pagadora, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_pol->url_contrato_cuenta_pagadora)), $V_pol->hash_contrato_cuenta_pagadora);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Pago y pólizas - Contrato de la cuenta bancaria pagadora", "size" => LU::formatBytes($docSize), "hash" => $V_pol->hash_contrato_cuenta_pagadora);
}
if ($V_pol->url_reintegro != null && $V_pol->url_reintegro != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$split = explode("/", $V_pol->url_reintegro);
$docSize = filesize(public_path() . $V_pol->url_reintegro);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_pol->url_reintegro, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_pol->url_reintegro)), $V_pol->hash_reintegro);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? $dependencia[0]->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Pago y pólizas - Reintegro a TESOFE", "size" => LU::formatBytes($docSize), "hash" => $V_pol->hash_reintegro);
}
}
if ($tipo == 5) {
$datos["numContrato"] = $V_contrato->numero_contrato;
}
}
if ($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] == 0) {
$datos["totalSinInfo"]++;
}
else {
$datos["totalConInfo"]++;
}
$datos["totalArchivos"] += $datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"];
$datos["pesoTotal"] += $datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"];
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] = LU::formatBytes($datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"]);
}
break;
default: paraProgramacionPreventiva();
break;
}
}
catch (\Throwable $th) {
$datos["errores"][] = "No pudo procesarse la solicitud, contacte a soporte. " . $th->getLine() . ", " . $th->getMessage();
}
return $datos;
}
public function historialAcuses(Request $request) {
try {
$datos = array();
$datos["errores"] = null;
if ($request->tipo != null && $request->modulo != null) {
$acuses = DB::table("constancias_ejecutores as ce")->join("clave_ff as clave", "ce.id_clave_ff", "clave.id_ff")->join("catalogo_numeros_auditoria as aud", "clave.id_nauditoria", "aud.id")->join("catalogo_claves_presupuestales as ccp", "clave.clave_ff", "ccp.id")->join("dependencias as dep", "clave.id_dependencia", "dep.id_dependencia")->join("estados as est", "ce.id_estado", "est.id")->join("municipios as mun", "ce.id_municipio", "mun.id")->join("contratos_modo_basico as contrato", "ce.id_contrato", "contrato.id")->where("tipo_constancia", $request->tipo)->where("ce.modulo", $request->modulo)->where("ce.es_vigente", 0)->where("ce.id_clave_ff", $request->id);
$constancias = $acuses->select("ce.id as id", "aud.numeroAuditoria as num_aud", "clave.year as year", "ccp.nombre_clave as fondo", "dep.sDependencia as dependencia", "est.estado as estado", "mun.municipio as municipio", "ce.fecha_estampado as fecha", "contrato.numero_contrato as contrato")->get();
}
else {
if ($request->tipo != null) {
$tipo = $request->tipo;
}
else {
$tipo = 1;
}
$acuses = DB::table("constancias_ejecutores as ce")->join("clave_ff as clave", "ce.id_clave_ff", "clave.id_ff")->join("catalogo_numeros_auditoria as aud", "clave.id_nauditoria", "aud.id")->join("catalogo_claves_presupuestales as ccp", "clave.clave_ff", "ccp.id")->join("dependencias as dep", "clave.id_dependencia", "dep.id_dependencia")->join("estados as est", "ce.id_estado", "est.id")->join("municipios as mun", "ce.id_municipio", "mun.id")->where("es_vigente", 0)->where("id_clave_ff", $request->id)->where("tipo_constancia", $tipo);
$constancias = $acuses->select("ce.id as id", "aud.numeroAuditoria as num_aud", "clave.year as year", "ccp.nombre_clave as fondo", "dep.sDependencia as dependencia", "est.estado as estado", "mun.municipio as municipio", "ce.fecha_estampado as fecha")->get();
}
$rutas = $acuses->select("ce.id as id", "ce.url_constancia as url")->get();
$datos["constancias"] = $constancias;
$datos["urls"] = $rutas;
}
catch (\Throwable $th) {
$datos["errores"][] = "Error al consultar la información, comuníquese con servicio técnico. " . $th->getLine() . . $th->getMessage();
}
if ($datos["errores"] !== null) {
return response()->json($datos["errores"]);
}
else {
return response()->json($datos);
}
}
public function historialConstancias(Request $request) {
try {
$datos = array();
$datos["errores"] = null;
if ($request->tipo != null) {
$tipo = $request->tipo;
}
else {
$tipo = 1;
}
$consulta = DB::table("constancias_enlaces as ce")->join("catalogo_numeros_auditoria as aud", "ce.id_num_auditoria", "aud.id")->join("catalogo_claves_presupuestales as ccp", "ce.id_ccp", "ccp.id")->join("estados as est", "ce.id_estado", "est.id")->join("municipios as mun", "ce.id_municipio", "mun.id")->where("ce.es_vigente", 0)->where("ce.id_ccp", $request->id)->where("ce.id_num_auditoria", $request->num_aud)->where("ce.id_usuario", Auth::user()->id)->where("ce.tipo_constancia", $tipo);
$constancias = $consulta->select("ce.id as id", "aud.numeroAuditoria as num_aud", "ce.year as year", "ccp.nombre_clave as fondo", "est.estado as estado", "mun.municipio as municipio", "ce.fecha_estampado as fecha")->get();
$rutas = $consulta->select("ce.id as id", "ce.url_constancia as url")->get();
$datos["constancias"] = $constancias;
$datos["urls"] = $rutas;
}
catch (\Throwable $th) {
$datos["errores"][] = "Error al consultar la información, comuníquese con servicio técnico. " . $th->getLine() . . $th->getMessage();
}
if ($datos["errores"] !== null) {
return response()->json($datos["errores"]);
}
else {
return response()->json($datos);
}
}
public function descargarZipHistorico(Request $request) {
$rutasArchivos = array();
try {
if ($request->archivos != null) {
$archivoZip = "uploads/" . $request->nombre . ".zip";
foreach ($request->archivos as $archivo) {
$archivo["url"] = substr($archivo["url"], 1);
array_push($rutasArchivos, public_path($archivo["url"]));
}
$zip = new ZipArchive();
if ($zip->open(public_path($archivoZip), ZipArchive::CREATE | ZipArchive::OVERWRITE) === TRUE) {
foreach ($rutasArchivos as $rutaArchivo) {
if (File::exists($rutaArchivo)) {
$nombreArchivo = basename($rutaArchivo);
$nombreCancelado = explode(, $nombreArchivo);
$nombreArchivo = $nombreCancelado[0] . "_CANCELADO." . $nombreCancelado[1];
$zip->addFile($rutaArchivo, $nombreArchivo);
}
else {
throw new \Exception("El archivo " . $rutaArchivo . " no existe");
}
}
$zip->close();
if (file_exists(public_path($archivoZip))) {
return response()->json($request->nombre . ".zip");
}
else {
throw new \Exception("No se pudo crear el archivo ZIP");
}
}
else {
throw new \Exception("No se pudo abrir el archivo ZIP");
}
}
else {
throw new \Exception("Los archivos no se cargaron correctamente");
}
}
catch (\Throwable $th) {
$datos["errores"][] = "Error al descargar los archivos, comuníquese con servicio técnico. " . $th->getLine() . . $th->getMessage();
return response()->json($datos);
}
}
public function eliminarZipHistorico(Request $request) {
try {
$archivoZip = public_path("uploads/" . $request->url);
if (file_exists($archivoZip)) {
unlink($archivoZip);
return response()->json("Archivo eliminado correctamente");
}
else {
return response()->json("El archivo no existe");
}
}
catch (\Throwable $th) {
$datos["errores"][] = "Error al eliminar el archivo, comuníquese con servicio técnico. " . $th->getLine() . . $th->getMessage();
return response()->json($datos);
}
}
}
namespace App\Http\Controllers;
use App\Libraries\libUtilities as LU;
use App\Models\Contratos_modo_basico as CMB;
use App\Models\Constancias_ejecutores as CE;
use Barryvdh\DomPDF\Facade as domPDF;
use Illuminate\Http\Request;
use ZipArchive;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
class ConstanciasController extends Controller {
public function detallesConstancia($tipo, $year = null, $idNumAuditoria = null, $idCcp = null, $idCff = null, $idContrato = null, $nombreArchivo) {
switch ($tipo) {
case 1: case 2: $condicionesConstancias["tipo_constancia"] = $tipo;
$condicionesConstancias["id_clave_ff"] = $idCff;
$constancia = DB::table("constancias_ejecutores")->where($condicionesConstancias)->first();
break;
case 5: $condicionesConstancias["tipo_constancia"] = 3;
$condicionesConstancias["id_clave_ff"] = $idCff;
$condicionesConstancias["id_contrato"] = $idContrato;
$constancia = DB::table("constancias_ejecutores")->where($condicionesConstancias)->first();
break;
case 3: case 4: $condicionesConstancias["tipo_constancia"] = $tipo == 3 ? 1 : 2;
$condicionesConstancias["id_num_auditoria"] = $idNumAuditoria;
$condicionesConstancias["id_ccp"] = $idCcp;
$constancia = DB::table("constancias_enlaces")->where($condicionesConstancias)->first();
break;
default: break;
}
if ($constancia == null) {
return "La constancia aún no se ha generado";
}
elseif (substr($constancia->url_constancia, strripos($constancia->url_constancia, "/") + 1) != $nombreArchivo) {
return "La constancia está desactualizada";
}
else {
$condiciones = array();
if ($idCff != "null" && $idCff != null) {
$condiciones["id_ff"] = $idCff;
}
else {
$condiciones["year"] = $year;
$condiciones["id_nauditoria"] = $idNumAuditoria;
$condiciones["clave_ff"] = $idCcp;
}
$datos["tipoConstancia"] = $tipo == 1 ? "del Acuse" : "de la Constancia";
$datos["etapa"] = "Básica";
$datos["tipo"] = $tipo;
$datos["idNumAuditoria"] = $idNumAuditoria;
$datos["idCcp"] = $idCcp;
$datos["idCff"] = $idCff;
$datos["fecha"] = "fecha";
$datos["idContrato"] = $idContrato;
if ($tipo == 1 || $tipo == 2) {
$datos["dependencia"] = "D"->sDependencia;
}
$datos["year"] = "D"->year;
$datos["fecha"] = "D"->updated_at;
$estado = DB::table("estados")->where("id", "D"->id_estado)->first();
$municipio = DB::table("municipios")->where("id", "D"->id_municipio)->first();
$datos["ef"] = $estado->estado . ("D"->id_municipio != 0 ? ", " . $municipio->municipio : '');
$nAuditoria = DB::table("catalogo_numeros_auditoria")->where("id", "D"->id_nauditoria)->first();
$datos["n_auditoria"] = $nAuditoria->numeroAuditoria;
return view("constanciassituacion_constancia", $datos);
}
}
public function constanciaAjax($tipo, $year = null, $idNumAuditoria = null, $idCcp = null, $idCff = null, $idContrato = null) {
$datos = self::getDetallesConstancia($tipo, $year, $idNumAuditoria, $idCcp, $idCff, $idContrato);
return response()->json($datos);
}
public static function generarConstancia($tipo, $year = null, $idNumAuditoria = null, $idCcp = null, $idCff = null, $modulo = null, $nameFile = null, $idContrato = null) {
$data["errores"] = null;
$r = array();
$r["fecha"] = date("d-m-Y H:i:s");
$r["modulo"] = $modulo;
$totalPeso = 0;
$totalArchivos = 0;
try {
$datos = self::getDetallesConstancia($tipo, $year, $idNumAuditoria, $idCcp, $idCff, $idContrato);
if ($datos["errores"] == null) {
if (Auth::user()->u_t->id == 4) {
if ($tipo == 5) {
$tituloPrincipal = "ACUSE DE ENVÍO DE INFORMACIÓN DEL CONTRATO " . $datos["numContrato"] . " DEL EJECUTOR DEL GASTO DE LA EF AL ENLACE";
}
else {
$tituloPrincipal = "ACUSE DE ENVÍO DE INFORMACIÓN DEL EJECUTOR DEL GASTO DE LA EF AL ENLACE";
}
$acto = "Acuse de Envío de Información del ejecutor al enlace de la EF";
}
else {
$tituloPrincipal = "CONSTANCIA DE ENVÍO DE INFORMACIÓN DEL ENLACE DE LA EF A LA ASF";
$acto = "Constancia de Envío de Información del enlace de la Entidad Fiscalizada a la ASF";
}
$etapaIntermedia = "INTERMEDIA";
$listaCompletos = $datos["paraConstancia"];
$data["numAud"] = $datos["n_auditoria"];
$data["year"] = $datos["year"];
$data["fondo"] = $datos["fondo"];
$data["totalSinInfo"] = $datos["totalSinInfo"];
$data["totalConInfo"] = $datos["totalConInfo"];
switch ($tipo) {
case 2: $data["UrlDetalles"] = url("/") . "/constancias/detallesConstancia/2/null/null/null/" . $idCff . "/null/" . $nameFile;
break;
case 4: $data["UrlDetalles"] = url("/") . "/constancias/detallesConstancia|/" . $datos["year"] . "/" . $idNumAuditoria . "/" . $idCcp . "/null/null/" . $nameFile;
break;
case 5: $data["UrlDetalles"] = url("/") . "/constancias/detallesConstancia
}
/null/null/null/" . $idCff . "/" . $idContrato . "/" . $nameFile;
break;
}
$totalArchivos = $datos["totalArchivos"];
$totalPeso = LU::formatBytes($datos["pesoTotal"]);
$pdf = domPDF::loadView("constanciasenvio_informacion", array("data" => $data, "fecha" => $r["fecha"], "etapa" => $etapaIntermedia, "listaCompletos" => $listaCompletos, "totalArchivos" => $totalArchivos, "totalPeso" => $totalPeso, "tituloPrincipal" => $tituloPrincipal, "acto" => $acto));
}
else {
$data["errores"][] = $datos["errores"];
}
}
catch (\Throwable $th) {
$data["errores"][] = "Error durante la generación del archivo, comuníquese con servicio técnico. " . $th->getLine() . . $th->getMessage();
}
if (empty($data["errores"])) {
$pdfContent = $pdf->output();
return response()->json(array("pdfContent" => base64_encode($pdfContent)));
}
else {
return response()->json($data);
}
}
public static function getDetallesConstancia($tipo, $year = null, $idNumAuditoria = null, $idCcp = null, $idCff = null, $idContrato = null) {
set_time_limit(0);
$datos = array();
$datos["errores"] = null;
$datos["paraConstancia"] = null;
$datos["pesoTotal"] = 0;
$datos["totalArchivos"] = 0;
$datos["archivos"] = array();
try {
$condiciones = array();
if ($idCff != "null" && $idCff != null) {
$condiciones["id_ff"] = $idCff;
}
else {
$condiciones["year"] = $year;
$condiciones["id_nauditoria"] = $idNumAuditoria;
$condiciones["clave_ff"] = $idCcp;
}
$datos["fecha"] = "D"->updated_at;
$estado = DB::table("estados")->where("id", "D"->id_estado)->first();
$municipio = DB::table("municipios")->where("id", "D"->id_municipio)->first();
$datos["ef"] = $estado->estado . ("D"->id_municipio != 0 ? ", " . $municipio->municipio : '');
$datos["year"] = "D"->year;
$fondo = DB::table("catalogo_claves_presupuestales")->where("id", "D"->clave_ff)->select("nombre_clave")->first();
$datos["fondo"] = $fondo->nombre_clave;
$nAuditoria = DB::table("catalogo_numeros_auditoria")->where("id", "D"->id_nauditoria)->first();
$datos["n_auditoria"] = $nAuditoria->numeroAuditoria;
$datos["totalSinInfo"] = 0;
$datos["totalConInfo"] = 0;
switch ($tipo) {
case 1: case 3: $contDependencia = 0;
$datos["tipoConstancia"] = $tipo == 1 ? "del Acuse" : "de la Constancia";
$datos["etapa"] = "Básica";
foreach ($aClaveFF as $claveFF) {
if ($tipo == 1) {
$datos["dependencia"] = "D"->sDependencia;
}
foreach ($claveFF as $attribute => $value) {
if (str_contains($attribute, "estatus_")) {
if ($value == 2 || $value == 3) {
switch ($attribute) {
case "estatus_archivo": $docSize = LU::formatBytes(filesize(public_path() . $claveFF->url_anexo_gd));
$datos["archivos"][] = array("dependencia" => $tipo == 3 ? "D"->sDependencia : null, "nombre" => "e", "apartado" => "Gastos diversos S/C", "size" => $docSize, "hash" => $claveFF->anexo_gd_hash);
break;
case "estatus_anexo_adq": $anexoAdq = DB::table("contratos_excel_files")->where(array(array("id_ff", "=", $claveFF->id_ff), array("modulo", "=", "A")))->first();
$docSize = LU::formatBytes(filesize(public_path() . $anexoAdq->url_archivo));
$datos["archivos"][] = array("dependencia" => $tipo == 3 ? "D"->sDependencia : null, "nombre" => "a", "apartado" => "Adquisiciones", "size" => $docSize, "hash" => $anexoAdq->hash_archivo);
break;
case "estatus_anexo_obras": $anexoObras = DB::table("contratos_excel_files")->where(array(array("id_ff", "=", $claveFF->id_ff), array("modulo", "=", "O")))->first();
$docSize = LU::formatBytes(filesize(public_path() . $anexoObras->url_archivo));
$datos["archivos"][] = array("dependencia" => $tipo == 3 ? "D"->sDependencia : null, "nombre" => "a", "apartado" => "Obras Públicas", "size" => $docSize, "hash" => $anexoObras->hash_archivo);
break;
case "estatus_anexo_obras_y_adq": $anexoOBYaDQ = DB::table("anexo_obras_y_adq")->where("id_clave_ff", $claveFF->id_ff)->first();
$docSize = LU::formatBytes(filesize(public_path() . $anexoOBYaDQ->url_archivo));
$datos["archivos"][] = array("dependencia" => $tipo == 3 ? "D"->sDependencia : null, "nombre" => "a", "apartado" => "Obras y Adquisiciones (FISE o FISM)", "size" => $docSize, "hash" => $anexoOBYaDQ->hash_archivo);
break;
case "estatus_anexo_egresos": $anexoEgresos = DB::table("anexo7_ejecutores")->where("id_clave_ff", $claveFF->id_ff)->first();
$docSize = LU::formatBytes(filesize(public_path() . $anexoEgresos->url_anexo7_ejecutor));
$datos["archivos"][] = array("dependencia" => $tipo == 3 ? "D"->sDependencia : null, "nombre" => "(", "apartado" => "Egresos", "size" => $docSize, "hash" => $anexoEgresos->hash_anexo7_ejecutor);
break;
case "estatus_anexo_nomina": $dato_nomina = DB::table("api_nomina_envios")->where("id_cff", $idCff)->select("*")->get();
foreach ($dato_nomina as $archivo) {
$docSize = LU::formatBytes(filesize(public_path() . "/uploads/nomina/" . $claveFF->year . "/" . $archivo->id_cff . "/" . $archivo->nombre_archivo));
$datos["archivos"][] = array("dependencia" => $tipo == 3 ? "D"->sDependencia : null, "nombre" => $archivo->nombre_archivo, "apartado" => "Nomina", "size" => $docSize, "hash" => $archivo->hash_archivo);
}
break;
case "estatus_anexo_c4k": $anexo4k = DB::table("anexo_cap_4k")->where("id_clave_ff", $claveFF->id_ff)->first();
$docSize = LU::formatBytes(filesize(public_path() . $anexo4k->url_archivo));
$datos["archivos"][] = array("dependencia" => $tipo == 3 ? "D"->sDependencia : null, "nombre" => "a", "apartado" => "Cap.0", "size" => $docSize, "hash" => $anexo4k->cap4k_hash);
break;
default: paraProgramacionPreventiva();
break;
}
}
}
}
$contDependencia++;
}
break;
case 2: case 4: case 5: $pathContrato = 7;
$pathPaso = 8;
$pathFilename = 9;
$datos["tipoConstancia"] = $tipo == 2 ? "del Acuse" : "de la Constancia";
$datos["etapa"] = "Intermedia";
foreach ($aClaveFF as $claveFF) {
if ($tipo == 2) {
$datos["dependencia"] = "D"->sDependencia;
}
$datos["id_dependencia"] = "D"->id_dependencia;
$datos["paraConstancia"][$datos["id_dependencia"]]["nombreDependencia"] = "D"->sDependencia;
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] = 0;
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] = 0;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"] = null;
$datos["numContrato"] = null;
if ($tipo == 5) {
$contratos = CMB::where(array("id" => $idContrato, "id_ff" => $claveFF->id_ff))->get();
}
else {
$contratos = CMB::where("id_ff", $claveFF->id_ff)->get();
}
foreach ($contratos as $K_contrato => $V_contrato) {
if ($V_contrato->lmd_intermedio != null) {
$V_contrato->lmd_intermedio->lmd_comentarios;
}
if ($V_contrato->lmd_etapa1 != null) {
if ($V_contrato->lmd_etapa1->file_dsp != null && $V_contrato->lmd_etapa1->file_dsp != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_etapa1->file_dsp);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_etapa1->file_dsp, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_etapa1->file_dsp)), $V_contrato->lmd_etapa1->hash_dsp);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Suficiencia presupuestal - Documento de la suficiencia presupuestal y documento que acredita la propiedad", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_etapa1->hash_dsp);
}
}
if ($V_contrato->lmd_files->url_convocatoria != null && $V_contrato->lmd_files->url_convocatoria != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_convocatoria);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_convocatoria, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_convocatoria)), $V_contrato->lmd_files->hash_convocatoria);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación - Convocatoria, invitación ó solicitud de cotizaciones", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_convocatoria);
}
if ($V_contrato->lmd_files->url_acta_proposiciones != null && $V_contrato->lmd_files->url_acta_proposiciones != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_acta_proposiciones);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_acta_proposiciones, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_acta_proposiciones)), $V_contrato->lmd_files->hashurl_acta_proposiciones);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación - Acta de presentación de proposiciones", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_acta_proposiciones);
}
foreach ($V_contrato->lmd_empresas_concursantes as $K_empresa_concursante => $V_empresa_concursante) {
if ($V_empresa_concursante->acta != null && $V_empresa_concursante->acta != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_empresa_concursante->acta);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_empresa_concursante->acta, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_empresa_concursante->acta)), $V_empresa_concursante->hash_acta);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación (Empresas concursantes) - Acta constitutiva", "size" => LU::formatBytes($docSize), "hash" => $V_empresa_concursante->hash_acta);
}
}
if ($V_contrato->lmd_files != null) {
if ($V_contrato->lmd_files->url_acta_const != null && $V_contrato->lmd_files->url_acta_const != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_acta_const);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_acta_const, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_acta_const)), $V_contrato->lmd_files->hash_acta_const);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de contratación - Acta constitutiva", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_acta_const);
}
if ($V_contrato->lmd_files->url_convocatoria != null && $V_contrato->lmd_files->url_convocatoria != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_convocatoria);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_convocatoria, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_convocatoria)), $V_contrato->lmd_files->hash_dictamenes_tecnicos_economicos);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación - Dictámenes técnicos y económicos", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_dictamenes_tecnicos_economicos);
}
if ($V_contrato->lmd_files->url_acta_proposiciones != null && $V_contrato->lmd_files->url_acta_proposiciones != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_acta_proposiciones);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_acta_proposiciones, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_acta_proposiciones)), $V_contrato->lmd_files->hash_dictamenes_tecnicos_economicos);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación - Dictámenes técnicos y económicos", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_dictamenes_tecnicos_economicos);
}
if ($V_contrato->lmd_files->url_constancia_fiscal != null && $V_contrato->lmd_files->url_constancia_fiscal != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_constancia_fiscal);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_constancia_fiscal, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_constancia_fiscal)), $V_contrato->lmd_files->hash_dictamenes_tecnicos_economicos);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación - Dictámenes técnicos y económicos", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_dictamenes_tecnicos_economicos);
}
if ($V_contrato->lmd_files->url_constancia_padron != null && $V_contrato->lmd_files->url_constancia_padron != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_constancia_padron);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_constancia_padron, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_constancia_padron)), $V_contrato->lmd_files->hash_dictamenes_tecnicos_economicos);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación - Dictámenes técnicos y económicos", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_dictamenes_tecnicos_economicos);
}
if ($V_contrato->lmd_files->url_propuesta_economica != null && $V_contrato->lmd_files->url_propuesta_economica != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_propuesta_economica);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_propuesta_economica, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_propuesta_economica)), $V_contrato->lmd_files->hash_dictamenes_tecnicos_economicos);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación - Dictámenes técnicos y económicos", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_dictamenes_tecnicos_economicos);
}
if ($V_contrato->lmd_files->url_opinion_cumplimiento != null && $V_contrato->lmd_files->url_opinion_cumplimiento != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_opinion_cumplimiento);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_opinion_cumplimiento, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_opinion_cumplimiento)), $V_contrato->lmd_files->hash_dictamenes_tecnicos_economicos);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación - Dictámenes técnicos y económicos", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_dictamenes_tecnicos_economicos);
}
if ($V_contrato->lmd_files->url_dictamenes_tecnicos_economicos != null && $V_contrato->lmd_files->url_dictamenes_tecnicos_economicos != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_dictamenes_tecnicos_economicos);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_dictamenes_tecnicos_economicos, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_dictamenes_tecnicos_economicos)), $V_contrato->lmd_files->hash_dictamenes_tecnicos_economicos);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación - Dictámenes técnicos y económicos", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_dictamenes_tecnicos_economicos);
}
if ($V_contrato->lmd_files->url_acta_fallo != null && $V_contrato->lmd_files->url_acta_fallo != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_acta_fallo);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_acta_fallo, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_acta_fallo)), $V_contrato->lmd_files->hash_acta_fallo);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación - Acta de fallo", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_acta_fallo);
}
if ($V_contrato->lmd_files->url_constancia_fiscal != null && $V_contrato->lmd_files->url_constancia_fiscal != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_constancia_fiscal);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_constancia_fiscal, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_constancia_fiscal)), $V_contrato->lmd_files->hash_constancia_fiscal);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación - Constancia de situación fiscal", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_constancia_fiscal);
}
if ($V_contrato->lmd_files->url_constancia_padron != null && $V_contrato->lmd_files->url_constancia_padron != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_constancia_padron);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_constancia_padron, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_constancia_padron)), $V_contrato->lmd_files->hash_constancia_padron);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación - Constancia de inscripción al padrón", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_constancia_padron);
}
if ($V_contrato->lmd_files->url_propuesta_economica != null && $V_contrato->lmd_files->url_propuesta_economica != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_propuesta_economica);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_propuesta_economica, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_propuesta_economica)), $V_contrato->lmd_files->hash_propuesta_economica);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación - Propuesta económica del proveedor ganador", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_propuesta_economica);
}
if ($V_contrato->lmd_files->url_opinion_cumplimiento != null && $V_contrato->lmd_files->url_opinion_cumplimiento != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_opinion_cumplimiento);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_opinion_cumplimiento, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_opinion_cumplimiento)), $V_contrato->lmd_files->hash_opinion_cumplimiento);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de adjudicación - Opinión de cumplimiento positiva", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_opinion_cumplimiento);
}
if ($V_contrato->lmd_files->url_contrato != null && $V_contrato->lmd_files->url_contrato != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_contrato);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_contrato, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_contrato)), $V_contrato->lmd_files->hash_contrato);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de contratación - Contrato", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_contrato);
}
if ($V_contrato->lmd_files->url_no_anticipo != null && $V_contrato->lmd_files->url_no_anticipo != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_no_anticipo);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_no_anticipo, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_no_anticipo)), $V_contrato->lmd_files->hash_no_anticipo);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de contratación - Node anticipo", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_no_anticipo);
}
if ($V_contrato->lmd_files->url_no_cumplimiento != null && $V_contrato->lmd_files->url_no_cumplimiento != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_no_cumplimiento);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_no_cumplimiento, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_no_cumplimiento)), $V_contrato->lmd_files->hash_no_cumplimiento);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de contratación - Node cumplimiento", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_no_cumplimiento);
}
if ($V_contrato->lmd_files->url_no_vicios_ocultos != null && $V_contrato->lmd_files->url_no_vicios_ocultos != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_no_vicios_ocultos);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_no_vicios_ocultos, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_no_vicios_ocultos)), $V_contrato->lmd_files->hash_no_vicios_ocultos);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de contratación - Node vicios ocultos", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_no_vicios_ocultos);
}
foreach ($V_contrato->lmd_etapa3 as $K_etapa3 => $V_etapa3) {
if ($V_etapa3->url_cumplimiento != null && $V_etapa3->url_cumplimiento != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_etapa3->url_cumplimiento);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_etapa3->url_cumplimiento, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_etapa3->url_cumplimiento)), $V_etapa3->hash_cumplimiento);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de contratación (convenio) - Node cumplimiento", "size" => LU::formatBytes($docSize), "hash" => $V_etapa3->hash_cumplimiento);
}
if ($V_etapa3->url_vicios_ocultos != null && $V_etapa3->url_vicios_ocultos != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_etapa3->url_vicios_ocultos);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_etapa3->url_vicios_ocultos, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_etapa3->url_vicios_ocultos)), $V_etapa3->hash_vicios_ocultos);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de contratación (convenio) - Node vicios ocultos", "size" => LU::formatBytes($docSize), "hash" => $V_etapa3->hash_vicios_ocultos);
}
if ($V_etapa3->url_convenio_mod != null && $V_etapa3->url_convenio_mod != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_etapa3->url_convenio_mod);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_etapa3->url_convenio_mod, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_etapa3->url_convenio_mod)), $V_etapa3->hash_convenio_mod);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Proceso de contratación (convenio) - Convenio modificatorio", "size" => LU::formatBytes($docSize), "hash" => $V_etapa3->hash_convenio_mod);
}
}
if ($V_contrato->lmd_files->url_documento_comprobatorio != null && $V_contrato->lmd_files->url_documento_comprobatorio != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_documento_comprobatorio);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] = $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_documento_comprobatorio, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_documento_comprobatorio)), $V_contrato->lmd_files->hash_documento_comprobatorio);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Gastos diversos S/C", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_documento_comprobatorio);
}
if ($V_contrato->lmd_files->url_almacen != null && $V_contrato->lmd_files->url_almacen != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_almacen);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_almacen, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_almacen)), $V_contrato->lmd_files->hash_almacen);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Entrada al almacén", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_almacen);
}
if ($V_contrato->lmd_files->url_resguardo != null && $V_contrato->lmd_files->url_resguardo != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_resguardo);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_resguardo, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_resguardo)), $V_contrato->lmd_files->hash_resguardo);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Resguardo de bien", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_resguardo);
}
if ($V_contrato->lmd_files->url_inventario_bienes != null && $V_contrato->lmd_files->url_inventario_bienes != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_inventario_bienes);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_inventario_bienes, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_inventario_bienes)), $V_contrato->lmd_files->hash_resguardo);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Resguardo de bien", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_resguardo);
}
if ($V_contrato->lmd_files->url_dictamen_recepcion != null && $V_contrato->lmd_files->url_dictamen_recepcion != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_dictamen_recepcion);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_dictamen_recepcion, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_dictamen_recepcion)), $V_contrato->lmd_files->hash_resguardo);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Resguardo de bien", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_resguardo);
}
if ($V_contrato->lmd_files->url_reporte_fotografico_bienes != null && $V_contrato->lmd_files->url_reporte_fotografico_bienes != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_reporte_fotografico_bienes);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_reporte_fotografico_bienes, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_reporte_fotografico_bienes)), $V_contrato->lmd_files->hash_resguardo);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Resguardo de bien", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_resguardo);
}
if ($V_contrato->lmd_files->url_acta_entrega_recepcion != null && $V_contrato->lmd_files->url_acta_entrega_recepcion != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_acta_entrega_recepcion);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_acta_entrega_recepcion, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_acta_entrega_recepcion)), $V_contrato->lmd_files->hash_acta_entrega_recepcion);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Acta de entrega-recepción", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_acta_entrega_recepcion);
}
if ($V_contrato->lmd_files->url_entregables != null && $V_contrato->lmd_files->url_entregables != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_entregables);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_entregables, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_entregables)), $V_contrato->lmd_files->hash_entregables);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Evidencia de los entregables", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_entregables);
}
if ($V_contrato->lmd_files->url_entrega_recepcion != null && $V_contrato->lmd_files->url_entrega_recepcion != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_entrega_recepcion);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_entrega_recepcion, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_entrega_recepcion)), $V_contrato->lmd_files->hash_entrega_recepcion);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Acta de entrega-recepción", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_entrega_recepcion);
}
if ($V_contrato->lmd_files->url_inventario_bienes != null && $V_contrato->lmd_files->url_inventario_bienes != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_inventario_bienes);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_inventario_bienes, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_inventario_bienes)), $V_contrato->lmd_files->hash_inventario_bienes);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Inventario de los bienes contratados", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_inventario_bienes);
}
if ($V_contrato->lmd_files->url_dictamen_recepcion != null && $V_contrato->lmd_files->url_dictamen_recepcion != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_dictamen_recepcion);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_dictamen_recepcion, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_dictamen_recepcion)), $V_contrato->lmd_files->hash_dictamen_recepcion);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Dictamen de entrega recepción", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_dictamen_recepcion);
}
if ($V_contrato->lmd_files->url_reporte_fotografico_bienes != null && $V_contrato->lmd_files->url_reporte_fotografico_bienes != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_reporte_fotografico_bienes);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_reporte_fotografico_bienes, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_reporte_fotografico_bienes)), $V_contrato->lmd_files->hash_reporte_fotografico_bienes);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Reporte fotográfico de los bienes adquiridos que se encuentren en operación", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_reporte_fotografico_bienes);
}
if ($V_contrato->lmd_files->url_finiquito != null && $V_contrato->lmd_files->url_finiquito != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_finiquito);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_finiquito, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_finiquito)), $V_contrato->lmd_files->hash_finiquito);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Acta de finiquito", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_finiquito);
}
if ($V_contrato->lmd_files->url_terminacion != null && $V_contrato->lmd_files->url_terminacion != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_terminacion);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_terminacion, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_terminacion)), $V_contrato->lmd_files->hash_terminacion);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Oficio de terminación", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_terminacion);
}
if ($V_contrato->lmd_files->url_documento_propiedad != null && $V_contrato->lmd_files->url_documento_propiedad != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_documento_propiedad);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_documento_propiedad, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_documento_propiedad)), $V_contrato->lmd_files->hash_terminacion);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Oficio de terminación", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_terminacion);
}
if ($V_contrato->lmd_files->url_fotografico != null && $V_contrato->lmd_files->url_fotografico != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_fotografico);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_fotografico, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_fotografico)), $V_contrato->lmd_files->hash_fotografico);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Reporte fotográfico", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_fotografico);
}
if ($V_contrato->lmd_files->url_bitacoras != null && $V_contrato->lmd_files->url_bitacoras != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_bitacoras);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_bitacoras, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_bitacoras)), $V_contrato->lmd_files->hash_bitacoras);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Bitácoras", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_bitacoras);
}
if ($V_contrato->lmd_files->url_extincion != null && $V_contrato->lmd_files->url_extincion != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_extincion);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_extincion, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_extincion)), $V_contrato->lmd_files->hash_extincion);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Acta de extinción de obligaciones", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_extincion);
}
if ($V_contrato->lmd_files->url_documento_propiedad != null && $V_contrato->lmd_files->url_documento_propiedad != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_contrato->lmd_files->url_documento_propiedad);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_contrato->lmd_files->url_documento_propiedad, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_contrato->lmd_files->url_documento_propiedad)), $V_contrato->lmd_files->hash_documento_propiedad);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega - Documento que acredite la propiedad", "size" => LU::formatBytes($docSize), "hash" => $V_contrato->lmd_files->hash_documento_propiedad);
}
}
foreach ($V_contrato->lmd_etapa4 as $K_estimacion => $V_estimacion) {
foreach ($V_estimacion->lmd_photos as $K_photo => $V_photo) {
if ($V_photo->url_photo != null && $V_photo->url_photo != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_photo->url_photo);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_photo->url_photo, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_photo->url_photo)), $V_photo->hash_photo);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega (Estimación) - Reporte fotográfico", "size" => LU::formatBytes($docSize), "hash" => $V_photo->hash_photo);
}
}
if ($V_estimacion->url_bitacoras != null && $V_estimacion->url_bitacoras != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_estimacion->url_bitacoras);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_estimacion->url_bitacoras, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_estimacion->url_bitacoras)), $V_estimacion->hash_bitacoras);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega (Estimación) - Bitácoras", "size" => LU::formatBytes($docSize), "hash" => $V_estimacion->hash_bitacoras);
}
if ($V_estimacion->url_pruebas_laboratorio != null && $V_estimacion->url_pruebas_laboratorio != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_estimacion->url_pruebas_laboratorio);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_estimacion->url_pruebas_laboratorio, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_estimacion->url_pruebas_laboratorio)), $V_estimacion->hash_pruebas_laboratorio);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega (Estimación) - Pruebas de laboratorio", "size" => LU::formatBytes($docSize), "hash" => $V_estimacion->hash_pruebas_laboratorio);
}
if ($V_estimacion->url_caratula != null && $V_estimacion->url_caratula != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_estimacion->url_caratula);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_estimacion->url_caratula, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_estimacion->url_caratula)), $V_estimacion->hash_caratula);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Entrega (Estimación) - Carátula", "size" => LU::formatBytes($docSize), "hash" => $V_estimacion->hash_caratula);
}
}
foreach ($V_contrato->lmd_facturas as $K_fac => $V_fac) {
if ($V_fac->cfdi_url != null && $V_fac->cfdi_url != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_fac->cfdi_url);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_fac->cfdi_url, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_fac->cfdi_url)), $V_fac->cfdi_hash);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Facturas - CFDI", "size" => LU::formatBytes($docSize), "hash" => $V_fac->cfdi_hash);
}
if ($V_fac->factura_url != null && $V_fac->factura_url != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_fac->factura_url);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_fac->factura_url, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_fac->factura_url)), $V_fac->factura_hash);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Facturas - Factura", "size" => LU::formatBytes($docSize), "hash" => $V_fac->factura_hash);
}
if ($V_fac->estimacion_url != null && $V_fac->estimacion_url != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_fac->estimacion_url);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_fac->estimacion_url, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_fac->estimacion_url)), $V_fac->estimacion_hash);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Facturas - Carátula de estimación", "size" => LU::formatBytes($docSize), "hash" => $V_fac->estimacion_hash);
}
}
foreach ($V_contrato->lmd_polizas as $K_pol => $V_pol) {
if ($V_pol->url_num_poliza != null && $V_pol->url_num_poliza != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_pol->url_num_poliza);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_pol->url_num_poliza, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_pol->url_num_poliza)), $V_pol->hash_num_poliza);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Pago y pólizas - Número de póliza", "size" => LU::formatBytes($docSize), "hash" => $V_pol->hash_num_poliza);
}
if ($V_pol->url_clc_spei != null && $V_pol->url_clc_spei != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_pol->url_clc_spei);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_pol->url_clc_spei, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_pol->url_clc_spei)), $V_pol->hash_clc_spei);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Pago y pólizas - Acreditación de pago (CLC, SPEI)", "size" => LU::formatBytes($docSize), "hash" => $V_pol->hash_clc_spei);
}
if ($V_pol->url_contrato_cuenta_pagadora != null && $V_pol->url_contrato_cuenta_pagadora != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_pol->url_contrato_cuenta_pagadora);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_pol->url_contrato_cuenta_pagadora, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_pol->url_contrato_cuenta_pagadora)), $V_pol->hash_contrato_cuenta_pagadora);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Pago y pólizas - Contrato de la cuenta bancaria pagadora", "size" => LU::formatBytes($docSize), "hash" => $V_pol->hash_contrato_cuenta_pagadora);
}
if ($V_pol->url_reintegro != null && $V_pol->url_reintegro != '') {
$datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"]++;
$docSize = filesize(public_path() . $V_pol->url_reintegro);
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] += $docSize;
$datos["paraConstancia"][$datos["id_dependencia"]]["datosArchivo"][] = array($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] . ") " . ltrim(strrchr($V_pol->url_reintegro, "/"), "/") . " " . LU::formatBytes($docSize), date("d-m-Y H:i:s", filemtime(public_path() . $V_pol->url_reintegro)), $V_pol->hash_reintegro);
$datos["archivos"][] = array("dependencia" => $tipo == 4 ? "D"->sDependencia : null, "nombre" => $split[$pathFilename], "apartado" => "Pago y pólizas - Reintegro a TESOFE", "size" => LU::formatBytes($docSize), "hash" => $V_pol->hash_reintegro);
}
}
if ($tipo == 5) {
$datos["numContrato"] = $V_contrato->numero_contrato;
}
}
if ($datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"] == 0) {
$datos["totalSinInfo"]++;
}
else {
$datos["totalConInfo"]++;
}
$datos["totalArchivos"] += $datos["paraConstancia"][$datos["id_dependencia"]]["cantidadArchivos"];
$datos["pesoTotal"] += $datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"];
$datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"] = LU::formatBytes($datos["paraConstancia"][$datos["id_dependencia"]]["pesoArchivos"]);
}
break;
default: paraProgramacionPreventiva();
break;
}
}
catch (\Throwable $th) {
$datos["errores"][] = "No pudo procesarse la solicitud, contacte a soporte. " . $th->getLine() . ", " . $th->getMessage();
}
return $datos;
}
public function historialAcuses(Request $request) {
try {
$datos = array();
$datos["errores"] = null;
if ($request->tipo != null && $request->modulo != null) {
$acuses = DB::table("constancias_ejecutores as ce")->join("clave_ff as clave", "ceid_clave_ff", "claveid_ff")->join("catalogo_numeros_auditoria as aud", "claveid_nauditoria", "audid")->join("catalogo_claves_presupuestales as ccp", "claveclave_ff", "ccpid")->join("dependencias as dep", "claveid_dependencia", "depid_dependencia")->join("estados as est", "ceid_estado", "estid")->join("municipios as mun", "ceid_municipio", "munid")->join("contratos_modo_basico as contrato", "ceid_contrato", "contratoid")->where("tipo_constancia", $request->tipo)->where("cemodulo", $request->modulo)->where("cees_vigente", 0)->where("ceid_clave_ff", $request->id);
$constancias = $acuses->select("ceid as id", "audnumeroAuditoria as num_aud", "claveyear as year", "ccpnombre_clave as fondo", "depsDependencia as dependencia", "estestado as estado", "munmunicipio as municipio", "cefecha_estampado as fecha", "contratonumero_contrato as contrato")->get();
}
else {
if ($request->tipo != null) {
$tipo = $request->tipo;
}
else {
$tipo = 1;
}
$acuses = DB::table("constancias_ejecutores as ce")->join("clave_ff as clave", "ceid_clave_ff", "claveid_ff")->join("catalogo_numeros_auditoria as aud", "claveid_nauditoria", "audid")->join("catalogo_claves_presupuestales as ccp", "claveclave_ff", "ccpid")->join("dependencias as dep", "claveid_dependencia", "depid_dependencia")->join("estados as est", "ceid_estado", "estid")->join("municipios as mun", "ceid_municipio", "munid")->where("es_vigente", 0)->where("id_clave_ff", $request->id)->where("tipo_constancia", $tipo);
$constancias = $acuses->select("ceid as id", "audnumeroAuditoria as num_aud", "claveyear as year", "ccpnombre_clave as fondo", "depsDependencia as dependencia", "estestado as estado", "munmunicipio as municipio", "cefecha_estampado as fecha")->get();
}
$rutas = $acuses->select("ceid as id", "ceurl_constancia as url")->get();
$datos["constancias"] = $constancias;
$datos["urls"] = $rutas;
}
catch (\Throwable $th) {
$datos["errores"][] = "Error al consultar la información, comuníquese con servicio técnico. " . $th->getLine() . . $th->getMessage();
}
if ($datos["errores"] !== null) {
return response()->json($datos["errores"]);
}
else {
return response()->json($datos);
}
}
public function historialConstancias(Request $request) {
try {
$datos = array();
$datos["errores"] = null;
if ($request->tipo != null) {
$tipo = $request->tipo;
}
else {
$tipo = 1;
}
$consulta = DB::table("constancias_enlaces as ce")->join("catalogo_numeros_auditoria as aud", "ceid_num_auditoria", "audid")->join("catalogo_claves_presupuestales as ccp", "ceid_ccp", "ccpid")->join("estados as est", "ceid_estado", "estid")->join("municipios as mun", "ceid_municipio", "munid")->where("cees_vigente", 0)->where("ceid_ccp", $request->id)->where("ceid_num_auditoria", $request->num_aud)->where("ceid_usuario", Auth::user()->id)->where("cetipo_constancia", $tipo);
$constancias = $consulta->select("ceid as id", "audnumeroAuditoria as num_aud", "ceyear as year", "ccpnombre_clave as fondo", "estestado as estado", "munmunicipio as municipio", "cefecha_estampado as fecha")->get();
$rutas = $consulta->select("ceid as id", "ceurl_constancia as url")->get();
$datos["constancias"] = $constancias;
$datos["urls"] = $rutas;
}
catch (\Throwable $th) {
$datos["errores"][] = "Error al consultar la información, comuníquese con servicio técnico. " . $th->getLine() . . $th->getMessage();
}
if ($datos["errores"] !== null) {
return response()->json($datos["errores"]);
}
else {
return response()->json($datos);
}
}
public function descargarZipHistorico(Request $request) {
$rutasArchivos = array();
try {
if ($request->archivos != null) {
$archivoZip = "uploads/" . $request->nombre . ".zip";
foreach ($request->archivos as $archivo) {
$archivo["url"] = substr($archivo["url"], 1);
array_push($rutasArchivos, public_path($archivo["url"]));
}
$zip = new ZipArchive();
if ($zip->open(public_path($archivoZip), ZipArchive::CREATE | ZipArchive::OVERWRITE) === TRUE) {
foreach ($rutasArchivos as $rutaArchivo) {
if (File::exists($rutaArchivo)) {
$nombreArchivo = basename($rutaArchivo);
$nombreCancelado = explode(, $nombreArchivo);
$nombreArchivo = "D_CANCELADO.B";
$zip->addFile($rutaArchivo, $nombreArchivo);
}
else {
throw new \Exception("El archivo " . $rutaArchivo . " no existe");
}
}
$zip->close();
if (file_exists(public_path($archivoZip))) {
return response()->json($request->nombre . ".zip");
}
else {
throw new \Exception("No se pudo crear el archivo ZIP");
}
}
else {
throw new \Exception("No se pudo abrir el archivo ZIP");
}
}
else {
throw new \Exception("Los archivos no se cargaron correctamente");
}
}
catch (\Throwable $th) {
$datos["errores"][] = "Error al descargar los archivos, comuníquese con servicio técnico. " . $th->getLine() . . $th->getMessage();
return response()->json($datos);
}
}
public function eliminarZipHistorico(Request $request) {
try {
$archivoZip = public_path("uploads/" . $request->url);
if (file_exists($archivoZip)) {
unlink($archivoZip);
return response()->json("Archivo eliminado correctamente");
}
else {
return response()->json("El archivo no existe");
}
}
catch (\Throwable $th) {
$datos["errores"][] = "Error al eliminar el archivo, comuníquese con servicio técnico. " . $th->getLine() . . $th->getMessage();
return response()->json($datos);
}
}
}
© 2023 Quttera Ltd. All rights reserved.