carpeta

 <!DOCTYPE html>

<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
 
<!-- jQuery -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/2.1.2/sweetalert.min.js" integrity="sha512-AA1Bzp5Q0K1KanKKmvN/4d3IRKVlv9PYgwFPvm32nPO6QS8yH1HO7LbgB1pgiOxPtfeg5zEn2ba64MUcqJx6CA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
  <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.10.3/dist/sweetalert2.all.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/sweetalert2@11.10.3/dist/sweetalert2.min.css" rel="stylesheet">
</head>
<body>
<div class="container">
<?php
class Conexion{
    static public function conectar()
     {
          //  echo $tabla;
         $conexion = new PDO ("mysql:host=localhost;dbname=dbaudiencias", "root","");
       
        // $sql = $conexion->prepare("SELECT * FROM delitos");
        // $sql->execute();
        //var_dump($sql->fetchAll());
       
        return $conexion;
     }
}
class CarpetasModel extends Conexion{
    # Muestra todas las carpetas
    static public function CarpetasCreateModels($datos,$tabla)
    {
        $stmt= Conexion::conectar()->prepare("INSERT INTO $tabla(num_inv,tipo_solicitud,distrito) VALUES (:num_inv,:tipo_solicitud,:distrito)");
        $stmt->bindParam(":num_inv",$datos['num_inv'],PDO::PARAM_STR);
        $stmt->bindParam(":tipo_solicitud",$datos['tipo_solicitud'],PDO::PARAM_STR);
        $stmt->bindParam(":distrito",$datos['distrito'],PDO::PARAM_STR);
        if($stmt->execute()){
                return "success";
        }else{
            return "error";
        }
        $stmt = null;  
    }
    # Muestra la carpeta
    static public function CarpetasVistaModels($tabla)
    {
        $stmt= Conexion::conectar()->prepare("SELECT id,num_inv,carpeta,fecha_carpeta,tipo_solicitud,distrito,Asignado FROM $tabla ORDER BY $tabla.id DESC");
        $stmt->execute();
        return $stmt->fetchAll();
    }
    static public function CarpetasDeleteModels($datosmodel,$tabla)
    {
        try {
            $stmt = Conexion::conectar()->prepare("DELETE FROM $tabla WHERE id = :id ");
            $stmt->bindParam(":id", $datosmodel, PDO::PARAM_INT);
           
            if ($stmt->execute()) {
                return "success";
            } else {
                return "error"; // Mensaje personalizado para el usuario
            }
        } catch (PDOException $e) {
            // Captura la excepción PDOException y muestra un mensaje personalizado al usuario
            return "error";
        } finally {
            // Opcional: Puedes liberar recursos aquí si es necesario, aunque no es esencial debido a la gestión automática de PDO.
            $stmt = null;
        }
    }
    # Asigna a la persona
    static public function CarpetaEditarModels($datosmodel,$tabla)
    {
        $stmt= Conexion::conectar()->prepare("UPDATE $tabla SET Asignado=:Asignado  WHERE id = :id ");
        $stmt->bindParam(":Asignado",$datosmodel['Asignado'],PDO::PARAM_STR);
        $stmt->bindParam(":id",$datosmodel['id'],PDO::PARAM_INT);

        if($stmt->execute()){
                return "success";
        }else{
            return "error";
        }
        $stmt = null;
    }
    # Muestra todas las solicitudes
    static public function PendienteMuestraModels($datos,$tabla,$Tipo)
    {
        $stmt= Conexion::conectar()->prepare("SELECT * FROM $tabla WHERE id_carpeta = :id AND Estado = :Tipo");
        $stmt->bindParam(":id",$datos,PDO::PARAM_INT);
        $stmt->bindParam(":Tipo",$Tipo,PDO::PARAM_STR);
        $stmt->execute();
        return $stmt->fetchAll();
    }
}
?>

<br>
<div class="d-flex justify-content-between ">
    <div> <!-- Agrega una solicitud de la carpeta -->
        <button type="button " class="btn btn-success mb-2" data-bs-toggle="modal" data-bs-target="#staticBackdrop">
            Agregar
        </button>
    </div>
</div>
<!-- Modal-Crea una solicitud  -->
<div class="modal fade" id="staticBackdrop" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="staticBackdropLabel">Solicitud de Carpeta</h5>
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
            </div>
            <div class="modal-body">
                <form action="" method="POST">
                    <div class="mb-3">
                        <label for="exampleInputEmail1" class="form-label">Numero de investigacion</label>
                        <input type="text" class="form-control" name="num_inv" placeholder="num_inv:">
                    </div>
                    <div class="mb-3">
                        <label for="exampleInputPassword1" class="form-label">Tipo de solicitud</label>
                        <select class="form-select" name="tipo_solicitud" aria-label="Default select example">
                            <option value="Con detenido">Con detenido</option>
                            <option value="Sin detenido">Sin detenido</option>
                            <option value="Orden de apreción">Orden de aprehensión</option>
                            <option value="Por escrito">Orden de aprehensión por escrito</option>
                        </select>
                    </div>
                    <div class="mb-3">
                        <label for="inputPassword6" class="col-form-label">Distrito</label>
                        <select class="form-select" name="distrito" aria-label="Default select example">
                            <option value="Azueta">Azueta</option>
                            <option value="Montes de oca">Montes de oca</option>
                        </select>
                    </div>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
                <button type="submit" class="btn btn-primary">Submit</button>
            </div>
            </form>
        </div>
    </div>
</div>
<!--fin Modal-Crea una solicitud -->
<?php
    $carpetas  = new CarpetasController();
    $carpetas->CarpetasCreateController();  
?>
<table id="carpetas" class="table">
    <thead class="thead-dark">
        <tr>
            <th>num_inv</th>
            <th>carpeta</th>
            <th>fecha</th>
            <th>tipo_solicitud</th>
            <th>Asignado</th>

            <th>Acciones</th>
            <th>movimientos</th>
        </tr>
    </thead>
   
    <!--Muestra todas las carpetas -->
    <tbody id="tablaCarpetas">
        <?php
        $carpetas->CarpetasVistaController();
        $carpetas->CarpetasDeleteController();
        ?>
    </tbody>
</table>
<?php
class CarpetasController{
    #Crea una solicitud para despues asignarle una carpeta-window.location = "index.php?pagina=carpetas/carpetas-base";
    public function CarpetasCreateController()
    {
        if (isset($_POST['num_inv'])) {
            $datos =["num_inv"=>$_POST['num_inv'],
                    "tipo_solicitud"=>$_POST['tipo_solicitud'],
                    "distrito"=>$_POST['distrito']
                    ];

            $respuesta = CarpetasModel::CarpetasCreateModels($datos,"carpetas");

            if($respuesta=="success"){
                #Mediante pantillaControlador verica la vista que le corresponde la variable
                //header("location:index.php?pagina=createCarpeta");
                echo '<script>
                if ( window.history.replaceState ) {
                    window.history.replaceState( null, null, window.location.href );
                }
                window.location = "carpetas.php";
                </script>';
            }else{
                //header("location:index.php");
                echo '<script>
                if ( window.history.replaceState ) {
                    window.history.replaceState( null, null, window.location.href );
                }
                window.location = "index.php";
                </script>';
            }
        }
    }
    #Muestra todas las carpetas-llama los metodos CareateCarpeta-AsignarCarpeta-Historial
    public function CarpetasVistaController()
    {
        $carpetas = CarpetasModel::CarpetasVistaModels("carpetas");
        foreach ($carpetas as $carpeta) {
            if($carpeta['id']!==0){
        echo '
 
            <tr>
                <td>'.$carpeta["num_inv"].'</td>
                <td>'.$carpeta["carpeta"].'</td>
                <td>'.$carpeta["fecha_carpeta"].'</td>
                <td>'.$carpeta["tipo_solicitud"].'</td>
                <td>'.$carpeta["Asignado"].'</td>
                <td>
                    <div class="btn-group">
                        <a href="index.php?pagina=carpeta/carpeta-base&id='.$carpeta["id"].'" class="btn btn-success active" aria-current="page">Consultar</a>
                        <button type="button" class="btn btn-success" data-bs-toggle="modal" data-bs-target="#asignarcarpeta' . $carpeta["id"] . '">
                        Asignar</button>
                        <a href="index.php?pagina=historial" class="btn btn-success">Historial</a>
                    </div>
                </td>
                <td>
                    <div class="btn-group">
                    <a style="display: inline;" class="nav-link  " href="http://localhost/0-MVC-SITE-v5-SOLICITUDES/PARTESDELSISTEMA/carpetas/carpetas.php?idBorrar='.$carpeta["id"].'"><button type="button" class="btn btn-warning btn-sm ">Eliminar</button></a>
                    </div>
                </td>
            </tr>

        <!-- Modal -->
        <div class="modal fade" id="asignarcarpeta' . $carpeta["id"] . '" tabindex="-1" aria-labelledby="asignarcarpetaLabel" aria-hidden="true">
            <div class="modal-dialog">
            <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="asignarcarpeta
            Label">Modal title</h5>
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
            </div>
                <form action="" method="POST">
                    <div class="modal-body">
                        <input type="hidden" name="Editid" value="'.$carpeta["id"] . '">
                        <input type="hidden" name="editarcarpeta" value="editarcarpeta">
                        <!-- Carpeta:carpeta  -->
                        <div class="mb-1">
                            <label for="inputPassword6" class="col-form-label">Modifico</label>
                            <input type="text" class="form-control bg-white" name="Asignado" value="'.$carpeta["Asignado"] .'" >
                        </div>
                    </div>
                    <div class="modal-footer">
                        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
                        <button type="submit" class="btn btn-primary">Submit</button>
                    </div>
                </form>
            </div>
            </div>
        </div>
       
        '.self::CarpetaEditarController().'
       
            ';  } }
    }
    #Eliminar una carpeta
    public function CarpetasDeleteController()
    {
        if(isset($_GET['idBorrar'])){
            $datosController = $_GET['idBorrar'];
            $respuesta = CarpetasModel::CarpetasDeleteModels($datosController,"carpetas");
            if($respuesta=="success"){
             //   header("location:index.php?pagina=carpetas");
             echo '<script>
             if ( window.history.replaceState ) {
                 window.history.replaceState( null, null, window.location.href );
             }
             
             window.location = "carpetas.php";
             </script>';
            }
            if($respuesta=="error"){
                //   header("location:index.php?pagina=carpetas");window.location = "index.php?pagina=carpetas/carpetas-base";
                echo '<script>
                if ( window.history.replaceState ) {
                    window.history.replaceState( null, null, window.location.href );
                }
                window.location = "carpetas.php";
                </script>';
               }
        }
    }
    #Editar carpeta
    public function CarpetaEditarController()
    {

       
        if (isset($_POST['editarcarpeta'])){
            echo "hola";
            echo "editcarpeta".$_POST['Editid'];
            $datos =["id"=>$_POST['Editid'],
                     "Asignado"=>$_POST['Asignado']
                    ];
            //var_dump($datos);
            $respuesta = CarpetasModel::CarpetaEditarModels($datos,"carpetas");
           
            if($respuesta=="success"){
             //   header("location:index.php?pagina=carpetas");
             echo '<script>
             if ( window.history.replaceState ) {
                 window.history.replaceState( null, null, window.location.href );
             }
             window.location = "carpetas.php";
             </script>';
            }
         
        }
    }
      #vistaCarpetaController
    static public function PendienteMuestraController()
    {
        if (isset($_GET['id'])) {

            $idshow=$_GET['id'];
            $Tipo="Proceso";
            $pendientes = CarpetaModel::PendienteMuestraModels($idshow, "solicitudes",$Tipo);
            //var_dump($pendientes);
            foreach ($pendientes as $pendiente) {
                echo '
                    <tr>
                        <td>'.$pendiente["id"].'</td>
                        <td>'.$pendiente["Fecha_registro"].'</td>
                        <td>'.$pendiente["Acto"].'</td>
                        <td>'.$pendiente["Fecha_vence"].'</td>
                        <td>'.$pendiente["Registro"].'</td>
                        <td>'.$pendiente["Resolvio"].'</td>
                        <td>'.$pendiente["Comentario"].'</td>
                        <td>'.$pendiente["Estado"].'</td>
                    </tr>
               
              ';
            }  
        }
    }

}
?>

<script>
        $(document).ready(function() {
            $('#carpetas').DataTable({
                "order": [[ 4, "desc" ]],
                pageLength: 4,
                lengthMenu: [
                    [4, 10, 20, -1],
                    [4, 10, 20, 'Todos']
                ],
                columnDefs: [{
                    orderable: false,
                    targets: -1
                }],
                dom: '<"row"<"col-sm-1 col-md-1"l><"col-sm-8 col-md-8"f><"col-sm-3 col-md-3"<"dt-buttons btn-group flex-wrap"B>>>t<"row"<"col-sm-12 col-md-3"p><"col-sm-12 col-md-7"i>>',


                botones: [{
                        text: 'csv',
                        extend: 'csvHtml5',
                    },
                    {
                        texto: 'excel',
                        extensión: 'excelHtml5',
                    },
                    {
                        texto: 'pdf',
                        extensión: 'pdfHtml5',
                    },
                    {
                        texto: 'imprimir',
                        extend: 'print',
                    },
                ]
            });
        });
    </script>

    </div>
</body>

</html>

Comentarios