Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
INVENTAPP
/
controller
:
controlPesoProm.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php /*include_once('../models/modelo_conexion.php'); session_start(); $objeto = new Conexion(); $conexion = $objeto->Conectar(); $listLinea = (isset($_POST['listLinea'])) ? $_POST['listLinea'] : ''; $listItem = (isset($_POST['listItem'])) ? $_POST['listItem'] : ''; $tpRegistro = (isset($_POST['tpRegistro'])) ? $_POST['tpRegistro'] : ''; $inpPeso = (isset($_POST['inpPeso'])) ? $_POST['inpPeso'] : ''; $inpPeso = str_replace(',', '.', $inpPeso); // esta linea reemplaza las posibles comas a puntos del campo inpPeso para que puedan ser leidos en el php $inpUnidad = (isset($_POST['inpUnidad'])) ? $_POST['inpUnidad'] : ''; $inpLote = (isset($_POST['inpLote'])) ? $_POST['inpLote'] : ''; $inpPesoProm = (isset($_POST['inpPesoProm'])) ? $_POST['inpPesoProm'] : ''; $listTara = (isset($_POST['listTara'])) ? $_POST['listTara'] : ''; $inpTara = (isset($_POST['inpTara'])) ? $_POST['inpTara'] : ''; $inpBase = (isset($_POST['inpBase'])) ? $_POST['inpBase'] : ''; $ubicacion = $_SESSION['ubicacion']; $usuario = $_SESSION['nomUser']; $planillador = $_SESSION['planilla']; $doc = $_SESSION['dcto']; $checSkin = isset($_POST['checSkin']) ? true : false; $checMap = isset($_POST['checMap']) ? true : false; $consulta = "SELECT * FROM `lineaxitem` where codItem = '$listItem'"; $resultado = $conexion->prepare($consulta); $resultado->execute(); if ($resultado->rowCount() >= 1) { $data = $resultado->fetchAll(PDO::FETCH_ASSOC); $pesoMin = $data[0]['minimo']; $pesoMax = $data[0]['maximo']; $nprod = $data[0]['nomItem']; } switch ($listTara) { case 0: $pesoTara = 0.06; $bultos = $inpTara; $cajas = 0; $cnastaPll = 0; $cnastaPv = 0; $ctillaPll = 0; $ctillaPv = 0; break; case 1: $pesoTara = 0.055; $bultos = 0; $cajas = $inpTara; $cnastaPll = 0; $cnastaPv = 0; $ctillaPll = 0; $ctillaPv = 0; break; case 2: $pesoTara = 2; $bultos = 0; $cajas = 0; $cnastaPll = $inpTara; $cnastaPv = 0; $ctillaPll = 0; $ctillaPv = 0; break; case 3: $pesoTara = 2.5; $bultos = 0; $cajas = 0; $cnastaPll = 0; $cnastaPv = $inpTara; $ctillaPll = 0; $ctillaPv = 0; break; case 4: $pesoTara = 1.5; $bultos = 0; $cajas = 0; $cnastaPll = 0; $cnastaPv = 0; $ctillaPll = $inpTara; $ctillaPv = 0; break; case 5: $pesoTara = 2.3; $bultos = 0; $cajas = 0; $cnastaPll = 0; $cnastaPv = 0; $ctillaPll = 0; $ctillaPv = $inpTara; break; } $empacado = $inpUnidad * $inpTara; $descuentoBandeja = 0; if (isset($_POST['checSkin']) && $_POST['checSkin'] === 'on') { $descuentoBandeja = $empacado * 0.038; } elseif (isset($_POST['checMap']) && $_POST['checMap'] === 'on') { $descuentoBandeja = $empacado * 0.030; } if ($inpBase === '') { $pesoNeto = $inpPeso - ($inpTara * $pesoTara) - $descuentoBandeja; } else { $base = $inpBase * 1.5; $pesoNeto = $inpPeso - (($inpTara * $pesoTara) + $base) - $descuentoBandeja; } $valorProm = $pesoNeto / $empacado; if ($tpRegistro == 3) { if ($valorProm <= $pesoMax and $valorProm >= $pesoMin) { $consulta = "INSERT INTO `mvdcto`(`TPDCTO`, `CODUBI`, `FECHA`, `ESTADO`, `USUARIO`, `CODPROD`, `NPROD`, `CANTIDAD`,`CANTEMPAQ`, `BULTOS`, `CAJAS`, `CNASTAPLL`, `CNASTAPV`, `CNASTILLAPLL`, `CNASTILLAPV`, `BASES`, `PLANILLADOR`, `LOTE`, `PESOPROM`) VALUES ('$doc','$ubicacion',CURRENT_DATE(),'NORMAL','$usuario','$listItem','$nprod', '$pesoNeto','$empacado','$bultos','$cajas','$cnastaPll','$cnastaPv','$ctillaPll','$ctillaPv','$inpBase', UPPER('$planillador'),'$inpLote','$valorProm')"; $resultado = $conexion->prepare($consulta); if ($resultado->execute()) { echo json_encode(['estado' => 'ok']); } else { echo json_encode([ 'estado' => 'error_sql', 'codigo' => $conexion->errorCode(), 'mensaje' => $conexion->errorInfo()[2] ]); } } else { echo json_encode([ 'estado' => 'error_peso_promedio', 'valorProm' => round($valorProm, 3), 'rangoMin' => $pesoMin, 'rangoMax' => $pesoMax ]); exit; } } elseif ($tpRegistro == 2) { $consulta = "INSERT INTO `mvdcto`(`TPDCTO`, `CODUBI`, `FECHA`, `ESTADO`, `USUARIO`, `CODPROD`, `NPROD`, `CANTEMPAQ`, `BULTOS`, `CAJAS`, `CNASTAPLL`, `CNASTAPV`, `CNASTILLAPLL`, `CNASTILLAPV`, `BASES`, `PLANILLADOR`, `LOTE`, `PESOPROM`) VALUES ('$doc','$ubicacion',CURRENT_DATE(),'NORMAL','$usuario','$listItem','$nprod','$empacado','$bultos','$cajas','$cnastaPll','$cnastaPv','$ctillaPll','$ctillaPv','$inpBase',UPPER('$planillador'),'$inpLote','$valorProm')"; $resultado = $conexion->prepare($consulta); if ($resultado->execute()) { echo json_encode([ 'estado' => 'ok', 'tipo' => 'contado', 'mensaje' => 'Registro Contado realizado exitosamente' ]); /* header('location:../views/registro.php'); */ /* } else { $_SESSION['mensaje'] = $conexion->errorCode() . '-' . $conexion->errorInfo()[2]; $_SESSION['tipo'] = 'danger'; print " <p class=\"aviso\">Error al ejecutar la consulta. SQLSTATE[{$conexion->errorCode()}]: {$conexion->errorInfo()[2]}</p>\n"; } } else { $consulta = "INSERT INTO `mvdcto`(`TPDCTO`, `CODUBI`, `FECHA`, `ESTADO`, `USUARIO`, `CODPROD`, `NPROD`, `CANTIDAD`, `BULTOS`, `CAJAS`, `CNASTAPLL`, `CNASTAPV`, `CNASTILLAPLL`, `CNASTILLAPV`, `BASES`, `PLANILLADOR`, `LOTE`) VALUES ('$doc','$ubicacion',CURRENT_DATE(),'NORMAL','$usuario','$listItem','$nprod','$pesoNeto','$bultos','$cajas','$cnastaPll','$cnastaPv','$ctillaPll','$ctillaPv','$inpBase',UPPER('$planillador'),'$inpLote')"; $resultado = $conexion->prepare($consulta); if ($resultado->execute()) { $_SESSION['mensaje'] = 'Registro Granel realizado de manera exitosa!!!' . $cantidad; $_SESSION['tipo'] = 'success'; header('location:../views/registro.php'); } else { $_SESSION['mensaje'] = $conexion->errorCode() . '-' . $conexion->errorInfo()[2]; $_SESSION['tipo'] = 'danger'; print " <p class=\"aviso\">Error al ejecutar la consulta. SQLSTATE[{$conexion->errorCode()}]: {$conexion->errorInfo()[2]}</p>\n"; } } */ include_once('../models/modelo_conexion.php'); session_start(); $objeto = new Conexion(); $conexion = $objeto->Conectar(); // Obtener y sanitizar inputs $listLinea = $_POST['listLinea'] ?? ''; $listItem = $_POST['listItem'] ?? ''; $tpRegistro = $_POST['tpRegistro'] ?? ''; $inpPeso = str_replace(',', '.', $_POST['inpPeso'] ?? ''); $inpUnidad = $_POST['inpUnidad'] ?? ''; $inpLote = $_POST['inpLote'] ?? ''; $inpPesoProm = $_POST['inpPesoProm'] ?? ''; $listTara = $_POST['listTara'] ?? ''; $inpTara = $_POST['inpTara'] ?? ''; $inpBase = $_POST['inpBase'] ?? ''; $ubicacion = $_SESSION['ubicacion'] ?? ''; $usuario = $_SESSION['nomUser'] ?? ''; $planillador = $_SESSION['planilla'] ?? ''; $doc = $_SESSION['dcto'] ?? ''; $checSkin = isset($_POST['checSkin']) && $_POST['checSkin'] === 'on'; $checMap = isset($_POST['checMap']) && $_POST['checMap'] === 'on'; // Consultar rango de peso $consulta = $conexion->prepare("SELECT * FROM `lineaxitem` WHERE codItem = ?"); $consulta->execute([$listItem]); $data = $consulta->fetch(PDO::FETCH_ASSOC); $pesoMin = $data['minimo'] ?? 0; $pesoMax = $data['maximo'] ?? 0; $nprod = $data['nomItem'] ?? ''; // Definir valores por tipo de tara $pesoTara = 0; $bultos = 0; $cajas = 0; $cnastaPll = 0; $cnastaPv = 0; $ctillaPll = 0; $ctillaPv = 0; switch ($listTara) { case 0: $pesoTara = 0.06; $bultos = $inpTara; break; case 1: $pesoTara = 0.055; $cajas = $inpTara; break; case 2: $pesoTara = 2; $cnastaPll = $inpTara; break; case 3: $pesoTara = 2.5; $cnastaPv = $inpTara; break; case 4: $pesoTara = 1.5; $ctillaPll = $inpTara; break; case 5: $pesoTara = 2.3; $ctillaPv = $inpTara; break; } $taraCalculada = floatval($inpTara) * $pesoTara; $descuentoBandeja = 0; if ($checSkin) { $descuentoBandeja = $taraCalculada * 0.038; } elseif ($checMap) { $descuentoBandeja = $taraCalculada * 0.030; } $empacado = floatval($inpUnidad) * floatval($inpTara); $_SESSION['empacado'] = $empacado; // Inicializar valores $pesoNeto = null; $valorProm = null; $base = ($inpBase === '') ? 0 : floatval($inpBase) * 1.5; // Solo calcular peso si es tipo peso if ($tpRegistro == 3) { $inpPesoFloat = floatval($inpPeso); if ($inpPesoFloat <= 0 || $empacado == 0) { echo json_encode([ 'estado' => 'error_datos', 'mensaje' => 'Peso o unidades no válidos para tipo peso.' ]); exit; } $pesoNeto = $inpPesoFloat - (($inpTara * $pesoTara) + $base) - $descuentoBandeja; $valorProm = $pesoNeto / $empacado; $_SESSION['listItem'] = $listItem; $_SESSION['nprod'] = $nprod; $_SESSION['pesoNeto'] = $pesoNeto; $_SESSION['empacado'] = $empacado; $_SESSION['inpLote'] = $inpLote; $_SESSION['bultos'] = $bultos; $_SESSION['cajas'] = $cajas; $_SESSION['cnastaPll'] = $cnastaPll; $_SESSION['cnastaPv'] = $cnastaPv; $_SESSION['ctillaPll'] = $ctillaPll; $_SESSION['ctillaPv'] = $ctillaPv; $_SESSION['inpBase'] = $inpBase; if ($valorProm >= $pesoMin && $valorProm <= $pesoMax) { $sql = "INSERT INTO `mvdcto`(`TPDCTO`, `CODUBI`, `FECHA`, `ESTADO`, `USUARIO`, `CODPROD`, `NPROD`, `CANTIDAD`, `CANTEMPAQ`, `BULTOS`, `CAJAS`, `CNASTAPLL`, `CNASTAPV`, `CNASTILLAPLL`, `CNASTILLAPV`, `BASES`, `PLANILLADOR`, `LOTE`, `PESOPROM`) VALUES (?, ?, CURRENT_DATE(), 'NORMAL', ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, UPPER(?), ?, ?)"; $stmt = $conexion->prepare($sql); $success = $stmt->execute([ $doc, $ubicacion, $usuario, $listItem, $nprod, $pesoNeto, $empacado, $bultos, $cajas, $cnastaPll, $cnastaPv, $ctillaPll, $ctillaPv, $inpBase, $planillador, $inpLote, $valorProm ]); echo json_encode(['estado' => $success ? 'ok' : 'error_sql']); } else { echo json_encode([ 'estado' => 'error_peso_promedio', 'valorProm' => round($valorProm, 3), 'rangoMin' => $pesoMin, 'rangoMax' => $pesoMax ]); } exit; } // Tipo Contado elseif ($tpRegistro == 2) { // 🔹 Guardar en sesión $_SESSION['listItem'] = $listItem; $_SESSION['nprod'] = $nprod; $_SESSION['pesoNeto'] = null; // no aplica $_SESSION['empacado'] = $empacado; $_SESSION['inpLote'] = $inpLote; $_SESSION['bultos'] = $bultos; $_SESSION['cajas'] = $cajas; $_SESSION['cnastaPll'] = $cnastaPll; $_SESSION['cnastaPv'] = $cnastaPv; $_SESSION['ctillaPll'] = $ctillaPll; $_SESSION['ctillaPv'] = $ctillaPv; $_SESSION['inpBase'] = $inpBase; $sql = "INSERT INTO `mvdcto`(`TPDCTO`, `CODUBI`, `FECHA`, `ESTADO`, `USUARIO`, `CODPROD`, `NPROD`, `CANTEMPAQ`, `BULTOS`, `CAJAS`, `CNASTAPLL`, `CNASTAPV`, `CNASTILLAPLL`, `CNASTILLAPV`, `BASES`, `PLANILLADOR`, `LOTE`, `PESOPROM`) VALUES (?, ?, CURRENT_DATE(), 'NORMAL', ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, UPPER(?), ?, ?)"; $stmt = $conexion->prepare($sql); $success = $stmt->execute([ $doc, $ubicacion, $usuario, $listItem, $nprod, $empacado, $bultos, $cajas, $cnastaPll, $cnastaPv, $ctillaPll, $ctillaPv, $inpBase, $planillador, $inpLote, $inpPesoProm ]); echo json_encode([ 'estado' => $success ? 'ok' : 'error_sql', 'tipo' => 'contado', 'mensaje' => $success ? 'Registro Contado realizado exitosamente' : $stmt->errorInfo()[2] ]); exit; } // Tipo Granel else { $pesoNeto = floatval($inpPeso) - (($inpTara * $pesoTara) + $base) - $descuentoBandeja; // 🔹 Guardar en sesión $_SESSION['listItem'] = $listItem; $_SESSION['nprod'] = $nprod; $_SESSION['pesoNeto'] = $pesoNeto; $_SESSION['empacado'] = null; $_SESSION['inpLote'] = $inpLote; $_SESSION['bultos'] = $bultos; $_SESSION['cajas'] = $cajas; $_SESSION['cnastaPll'] = $cnastaPll; $_SESSION['cnastaPv'] = $cnastaPv; $_SESSION['ctillaPll'] = $ctillaPll; $_SESSION['ctillaPv'] = $ctillaPv; $_SESSION['inpBase'] = $inpBase; $pesoNeto = floatval($inpPeso) - (($inpTara * $pesoTara) + $base) - $descuentoBandeja; $sql = "INSERT INTO `mvdcto`(`TPDCTO`, `CODUBI`, `FECHA`, `ESTADO`, `USUARIO`, `CODPROD`, `NPROD`, `CANTIDAD`, `BULTOS`, `CAJAS`, `CNASTAPLL`, `CNASTAPV`, `CNASTILLAPLL`, `CNASTILLAPV`, `BASES`, `PLANILLADOR`, `LOTE`) VALUES (?, ?, CURRENT_DATE(), 'NORMAL', ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, UPPER(?), ?)"; $stmt = $conexion->prepare($sql); $success = $stmt->execute([ $doc, $ubicacion, $usuario, $listItem, $nprod, $pesoNeto, $bultos, $cajas, $cnastaPll, $cnastaPv, $ctillaPll, $ctillaPv, $inpBase, $planillador, $inpLote ]); if ($success) { $_SESSION['mensaje'] = 'Registro Granel realizado de manera exitosa!'; $_SESSION['tipo'] = 'success'; } else { $_SESSION['mensaje'] = $stmt->errorInfo()[2]; $_SESSION['tipo'] = 'danger'; } header('location:../views/registro.php'); exit; }