$fProducto = new FacadeProductos();
 session_start();
 $cantidadTipo = $_POST['cantidadTipo'];
 $idProyecto = $_POST['idProyecto'];
 $totalProductos = $fProducto->maxProductoActivo();
 //Productos Activos
 $fProyecto = new FacadeProyectos();
 for ($j = 1; $j <= $totalProductos; $j++) {
     if (isset($_POST['producto' . $j]) && isset($_POST['cantidad' . $j])) {
         $idProducto = $_POST['producto' . $j];
         $cantidad = $_POST['cantidad' . $j];
         $mensaje = $fProyecto->insertarProductoProyecto($idProducto, $idProyecto, $cantidad);
     }
 }
 $produccion = $fProyecto->obtenerProductoProyecto($idProyecto);
 $fMateria = new FacadeInsumos();
 $fProceso = new FacadeProcesos();
 foreach ($produccion as $todo) {
     $materias = $fMateria->obtenerInsumos($todo['Productos_idProductos']);
     //Materia Prima Por Proyecto
     foreach ($materias as $insumo) {
         $precioBase = $fMateria->obtenerInsumosPorID($insumo['insumos']);
         //Retorna solo precio base
         $subTotal = $insumo['cantidadMateriaPorProducto'] * $precioBase;
         $total = $subTotal * $todo['cantidadProductos'];
         $fProyecto->insertarMateriaProyecto($insumo['insumos'], $idProyecto, $total, 0);
     }
     $procesos = $fProceso->obtenerProcesoPorProducto($todo['Productos_idProductos']);
     //Procesos por producto segun solicitud de proyecto
     foreach ($procesos as $proceso) {
         $subTotalProceso = $fProceso->obtenerProcesoPorID($proceso['procesos_idProceso']);
                    try {
                        $sentencia = $cnn->prepare("Insert into materiaprima values(?,?,?,?)");
                        $sentencia->bindParam(1, $todos[0]);
                        $sentencia->bindParam(2, $todos[1]);
                        $sentencia->bindParam(3, $todos[2]);
                        $sentencia->bindParam(4, $todos[3]);
                        $sentencia->execute();
                        $mensaje = "Materia Prima Cargada con Éxito";
                    } catch (Exception $ex) {
                        $mensaje = ' Verifique si la materia ya se ha cargado';
                    }
                }
                fclose($abrete);
                header("location: ../vista/agregarInsumos?mensaje=" . $mensaje);
            } else {
                header("location: ../vista/agregarInsumos?errorPermiso=Debe cargar un archivo con extensión .csv");
            }
        } else {
            if (isset($_POST['modificarMateria'])) {
                $facadeInsumos = new FacadeInsumos();
                $InsumosDTO = new InsumosDTO();
                $InsumosDTO->setNombre($_POST['descripcionMateria']);
                $InsumosDTO->setMedida($_POST['unidadDeMedida']);
                $InsumosDTO->setPrecio($_POST['precioBase']);
                $InsumosDTO->setId($_POST['idMateriaPrima']);
                $mensaje = $facadeInsumos->modificarMateriaPrima($InsumosDTO);
                header("location: ../vista/agregarInsumos? mensaje=" . $mensaje);
            }
        }
    }
}
            <div id="panelUnico">
                <br>
                <br><h2 class="h330">Materia Prima a Utilizar en <?php 
echo $_SESSION['Producto']['nombreProducto'];
?>
:</h2><hr>
                 <p style="font-weight:bold;font-size:13px">Nota:</p><p class="obligatoriosD">Selecione la Materia Prima segun requerimientos y su respectiva cantidad.</p><br>
                        <p class="obligatoriosD">Los campos "Cantidad" son obligatorios por cada Materia Seleccionada.<br></p>  <br><br>
                <form class="formRegistro" id="insuPorProduct" method="post" action="../controlador/ControladorProductos.php"> 
                    <?php 
require_once '../modelo/dao/InsumosDAO.php';
require_once '../facades/FacadeInsumos.php';
require_once '../modelo/dao/ProductosDAO.php';
require_once '../facades/FacadeProductos.php';
// listar insumos
$facadeInsumos = new FacadeInsumos();
$fProductos = new FacadeProductos();
$insumos = $facadeInsumos->listarInsumos();
$idProducto = $_SESSION['Producto']['idProductos'];
//Obtener insumos por producto
$IxP = $facadeInsumos->obtenerInsumos($idProducto);
if ($insumos == array()) {
    echo "<h2  style='text-align:center';>No Existe Materia Prima Disponible";
} else {
    ?>
                    <input type="hidden" name="idProducto" value="<?php 
    echo $idProducto;
    ?>
">
                    
                    <table style="margin-left:30%;" id="muestraDatos">
                                <?php 
        }
        ?>
                            </tr>

                            <?php 
    }
    ?>
    
                    </table>
                    
                    <?php 
}
require_once '../facades/FacadeInsumos.php';
require_once '../modelo/dao/InsumosDAO.php';
$facadeInsumos = new FacadeInsumos();
$consecutivo = $facadeInsumos->consecutivoInsumos();
?>
        </div>  
         <div id="panelDer">
         <div style="text-align:right;font-weight:bold;padding-right:10px">
                <form method="post" action="../controlador/ControladorInsumos.php" enctype="multipart/form-data">
                    <label  class="obligatoriosD">Cargue un archivo con Materias Primas : </label>
                    <a id="loadArchivo" href="javascript:function()"><img src="../img/subirDatos.png" alt=""></a>
                    <a href="#ModalPregunta" ><img src="../img/question.png" class="iconos" alt="Ayuda"></a>
                    <input type="hidden" name="Change" value="1">  
          <input type="file" id="ArchivoMaterias" class="file" name="archivo" onchange="submit();" style="display:none">                 
            </form></div><hr>
             <script type="text/javascript">
            //bind click
            $('#loadArchivo').click(function(event) {
 */
require_once '../facades/FacadeProductos.php';
require_once '../modelo/dao/ProductosDAO.php';
require_once '../modelo/dto/ProductosDTO.php';
require_once '../modelo/utilidades/Conexion.php';
require_once '../modelo/dto/ImagenesDTO.php';
require_once '../modelo/utilidades/GestionImagenes.php';
require_once '../modelo/dao/InsumosDAO.php';
require_once '../modelo/dto/InsumosDTO.php';
require_once '../facades/FacadeInsumos.php';
require_once '../modelo/dto/InsumosPorProductoDTO.php';
require_once '../facades/FacadeArchivo.php';
require_once '../modelo/dao/ArchivoDAO.php';
session_start();
$facadeProductos = new FacadeProductos();
$facadeInsumos = new FacadeInsumos();
$dto = new InsumosPorProductoDTO();
$productosDTO = new ProductosDTO();
$insumosDTO = new InsumosDTO();
if (isset($_POST['AgregarProducto'])) {
    $productosDTO->setIdProducto('DEFAULT');
    $productosDTO->setNombre($_POST['Producto']);
    $productosDTO->setIva($_POST['iva']);
    $carpeta = "productos";
    $nombreImagen = $_FILES['Imagen']['name'];
    $tamano = $_FILES['Imagen']['size'];
    $tipo = $_FILES['Imagen']['type'];
    $nombreTemporal = $_FILES['Imagen']['tmp_name'];
    $dtoImagen = new ImagenesDTO($tamano, $tipo, $nombreImagen, $nombreTemporal, $carpeta);
    $cargaFoto = new GestionImagenes();
    $msg = $cargaFoto->subirImagen($dtoImagen);