<?php
    require('conexion.php');
    $id_nota = $_GET['id_nota'];
    $nota_pagada = query("SELECT id FROM notas_venta WHERE notas_venta.ntv_estatus = 'pagado' AND id='$id_nota'");

    if ($nota_pagada->num_rows > 0) {
        $nota=query("SELECT A.id 'ID',A.ntv_no_nota 'NO_NOTA', A.ntv_fecha_creacion 'FECHA_CREACION', A.ntv_hora_ini 'HORA_INI', A.ntv_hora_edt 'HORA_EDT', A.ntv_estatus 'ESTATUS', A.ntv_subtotal 'SUBTOTAL', A.ntv_total_descuento 'TOTAL_DESCUENTO', A.ntv_total_nota 'TOTAL_NOTA', A.ntv_no_mesa 'NO_MESA', A.ntv_no_personas 'NO_PERSONAS', B.uss_nombre 'USS_NOMBRE',C.tpa_tipo_pago 'TIPO_PAGO' FROM notas_venta A, usuarios B, tipo_pago C WHERE A.id_usuario= B.id AND A.ntv_id_tipo_pago=C.id AND A.ntv_id_tipo_pago=C.id AND A.id ='$id_nota'");
        $resultado=mysqli_fetch_assoc($nota);

        $id_nota= $resultado['ID'];
        $clave_nota = $resultado['NO_NOTA'];
        $fecha_creacion_nota= $resultado['FECHA_CREACION'];
        $hora_inicial_nota= $resultado['HORA_INI'];
        $hora_edt_nota= $resultado['HORA_EDT'];
        $estatus_nota= $resultado['ESTATUS'];
        $subtotal_nota= $resultado['SUBTOTAL'];
        $descuento_nota= $resultado['TOTAL_DESCUENTO'];
        $total_nota= $resultado['TOTAL_NOTA'];
        $no_mesa= $resultado['NO_MESA'];
        $no_personas= $resultado['NO_PERSONAS'];
        $uss_nombre= $resultado['USS_NOMBRE'];
        $tipo_pago= $resultado['TIPO_PAGO'];
        
        $datos = [
            'id_nota' => $id_nota,
            'clave_nota' => $clave_nota,
            'fecha_creacion_nota' => $fecha_creacion_nota,
            'hora_inicial_nota' => $hora_inicial_nota,
            'hora_edt_nota' => $hora_edt_nota,
            'estatus_nota' => $estatus_nota,
            'subtotal_nota' => $subtotal_nota,
            'descuento_nota' => $descuento_nota,
            'total_nota' => $total_nota,
            'no_mesa' => $no_mesa,
            'no_personas' => $no_personas,
            'uss_nombre' => $uss_nombre,
            'tipo_pago' => $tipo_pago,
        ];
        // FINALIZAR LA NOTA 
        $query = query("UPDATE notas_venta SET ntv_estatus='finalizado' WHERE id='$id_nota'");

        // PROCESO PARA PODER RESTAR DEL INVENTARIO LA CANTIDAD DE MATERIA PRIMA POR RECETA

        // SELECCIONAR TODAS LAS MATERIAS PRIMAS EXISTENTES EN LA BD
        $materias_query = query("SELECT id 'MAP_ID', map_nombre 'MAP_NOMBRE', map_existencia 'MAP_EXISTENCIA' FROM materia_prima WHERE 1;");
        $materias= array();
        $reg=0;
        while ($fila = mysqli_fetch_array($materias_query)) {
            $materias[$reg]['MAP_ID']= $fila["MAP_ID"];
            $materias[$reg]['MAP_NOMBRE']= $fila["MAP_NOMBRE"];
            $materias[$reg]['MAP_EXISTENCIA']= $fila["MAP_EXISTENCIA"];
            $reg++;
        }
        // SELECCIONAR LAS MATERIAS PRIMAS POR RECETA
        $materias_por_nota_query = query("SELECT A.id 'REC_ID', A.rec_nombre 'REC_NOMBRE', D.rem_entrada 'REM_ENTRADA', E.id 'MAP_ID', E.map_entrada 'MAP_ENTRADA', E.map_nombre 'MAP_NOMBRE' FROM receta A, productos B, productos_nota C, receta_materia_prima D, materia_prima E WHERE A.id=B.pro_id_receta AND B.id= C.id_producto AND A.id=D.rec_id AND D.map_id=E.id AND C.id_nota_venta='$id_nota'");
        $materias_por_nota= array();
        $reg=0;
        while ($fila = mysqli_fetch_array($materias_por_nota_query)) {
            
            $materias_por_nota[$reg]['REC_ID'] = $fila["REC_ID"];
            $materias_por_nota[$reg]['MAP_ID'] = $fila["MAP_ID"];
            $materias_por_nota[$reg]['MAP_NOMBRE'] = $fila["MAP_NOMBRE"];
            $materias_por_nota[$reg]['REM_ENTRADA'] = $fila["REM_ENTRADA"];
            $reg++;
        }
        
        // UN FOR EACH PARA PODER VERIFICAR CUAL ES LA RECETA PRIMA A LA QUE HAY QUE DISMINUIR LA EXISTENCIA
        foreach ($materias as $materia) {
            foreach ($materias_por_nota as $materia_por_nota) {
                if($materia_por_nota["MAP_ID"]==$materia["MAP_ID"]){
                    $rec_id=$materia_por_nota["REC_ID"]; // OBTENER EL ID DE LA RECETA
                    
                    $cantidad_query=query("SELECT B.pdn_cantidad 'PDN_CANTIDAD' FROM productos A, productos_nota B WHERE A.id=B.id_producto AND A.pro_id_receta='$rec_id'"); // OBTENER LA CANTIDAD DE PRODUCTOS ESCOGIDOS POR EL USUARIO CON BASE A LA RECETA
                    
                    $cantidad= mysqli_fetch_array($cantidad_query);
                    $cant = $cantidad['PDN_CANTIDAD'];// TOMAR LA CANTIDAD
                    $id_map = $materia["MAP_ID"]; // OBTENER EL ID DE LA MATERIA PRIMA
                    $existencia = $materia['MAP_EXISTENCIA']; // TOMAR LA EXISTENCIA DE LA MATERIA PRIMA
                    $entrada_map_receta = $materia_por_nota['REM_ENTRADA']; // TOMAR LA ENTRADA DE LA MATERIA PRIMA
                    
                    $existencia_final =$existencia-($entrada_map_receta*$cant);// OBTENER LA EXISTENCIA RESTANTE, TOMANDO EN CUENTA QUE UN PRODUCTO DENTRO DE UNA NOTA PUEDE TENER UNA CANTIDAD SELECCIONADA POR EL USUARIO.
                    $query_update_existencia_map = query("UPDATE materia_prima SET map_existencia = $existencia_final, map_costo_final=map_costo_unico*map_existencia WHERE id=$id_map"); // REALIZAR UN UPDATE PARA COLOCAR EL NUEVO VALOR DE LA EXISTENCIA
                    
                }
            }
        }
        
    }else{
        $datos = [];
    }
    

    echo json_encode($datos);

    /*

    //898
$materias_por_nota_query = query("SELECT mt.id 'MAP_ID', mt.map_nombre 'MAP_NOMBRE', mt.map_entrada 'MAP_ENTRADA', mt.map_existencia 'MAP_EXISTENCIA',
rmt.rem_entrada 'REM_ENTRADA', rmt.id 'REM_ID', pdn.pdn_cantidad 'PDN_CANT' FROM materia_prima AS mt 
INNER JOIN receta_materia_prima AS rmt ON rmt.map_id = mt.id
INNER JOIN receta AS rc ON rc.id= rmt.rec_id
INNER JOIN productos AS pd ON pd.pro_id_receta = rc.id
INNER JOIN productos_nota AS pdn ON pdn.id_producto = pd.id
INNER JOIN notas_venta AS ntv ON ntv.id= pdn.id_nota_venta
WHERE ntv.id='$id_nota'");
        $materias_por_nota= array();
        $reg=0;
        while ($fila = mysqli_fetch_array($materias_por_nota_query)) {
            
            $materias_por_nota[$reg]['REM_ID'] = $fila["REM_ID"];
            $materias_por_nota[$reg]['MAP_ID'] = $fila["MAP_ID"];
            $materias_por_nota[$reg]['MAP_NOMBRE'] = $fila["MAP_NOMBRE"];
            $materias_por_nota[$reg]['REM_ENTRADA'] = $fila["REM_ENTRADA"];
            $materias_por_nota[$reg]['MAP_EXISTENCIA'] = $fila["MAP_EXISTENCIA"];
            $materias_por_nota[$reg]['PDN_CANT'] = $fila["PDN_CANT"];
            $reg++;
        }
        foreach ($materias_por_nota as $materia) {
                
                    $id_map = $materia["MAP_ID"]; // OBTENER EL ID DE LA MATERIA PRIMA
                    $existencia = $materia['MAP_EXISTENCIA']; // TOMAR LA EXISTENCIA DE LA MATERIA PRIMA
                    $entrada_map_receta = $materia['REM_ENTRADA']; // TOMAR LA ENTRADA DE LA MATERIA PRIMA
                    $cant = $materia['PDN_CANT']; // TOMAR LA CANTIDAD DE PRODUCTOS QUE SE PIDIERON EN LA NOTA RESPECTO A LA RECETA
                    
                    $existencia_final =$existencia-($entrada_map_receta*$cant);// OBTENER LA EXISTENCIA RESTANTE, TOMANDO EN CUENTA QUE UN PRODUCTO DENTRO DE UNA NOTA PUEDE TENER UNA CANTIDAD SELECCIONADA POR EL USUARIO.
                    $query_update_existencia_map = query("UPDATE materia_prima SET map_existencia = $existencia_final, map_costo_final=map_costo_unico*map_existencia WHERE id=$id_map"); // REALIZAR UN UPDATE PARA COLOCAR EL NUEVO VALOR DE LA EXISTENCIA
                    
                }
            }
        

*/
?>

