Example #1
0
 function save($oData)
 {
     mysql_query("BEGIN");
     if ($oData["subproducto"] == "si") {
         $id = $oData["id_producto_padre"];
         $rs = $this->getById($id);
         $precio_unitario = round($rs['precio_unitario_producto'] / $oData['unidades_por_paquete'], 2);
         $rdo1 = $precio_unitario + $rs['iva_producto'] * $precio_unitario / 100;
         $rdo2 = $rs['ganancia_producto'] * $rdo1 / 100;
         $precio_final = round($rdo1 + $rdo2, 2);
         $sql = "INSERT INTO productos (id_tipo_producto, \r\n                                            detalle_producto, \r\n                                            precio_unitario_producto, \r\n                                            iva_producto, \r\n                                            ganancia_producto,\r\n                                            precio_final_producto, \r\n                                            codigo_producto, \r\n                                            id_tipo_prediccion,\r\n                                            id_rubro,\r\n                                            id_marca,\r\n\t\t\t\t\t\t\t\t\t\t\tid_registro_estado)\r\n                    VALUES (" . $rs['id_tipo_producto'] . ", UPPER('" . addslashes($oData['detalle_producto']) . "'), " . $precio_unitario . ", " . $rs['iva_producto'] . ", " . $rs['ganancia_producto'] . ", " . $precio_final . ", " . $oData['codigo_producto'] . ", " . $rs['id_tipo_prediccion'] . ", " . $rs['id_rubro'] . ", " . $rs['id_marca'] . ", " . $rs['id_registro_estado'] . ") ";
         if (!mysql_query($sql)) {
             die('Error: ' . mysql_error() . $sql);
             mysql_query("ROLLBACK");
             pushError("Error al crear el producto");
             return false;
         } else {
             $id_subproducto = mysql_insert_id();
             $sql = "INSERT INTO productos_proveedores (id_producto, id_proveedor, precio_costo_proveedor, tpo_de_entrega)\r\n                        SELECT " . $id_subproducto . ", t1.id_proveedor, t1.precio_costo_proveedor, t1.tpo_de_entrega\r\n                        FROM productos_proveedores t1 WHERE t1.id_producto=" . $oData["id_producto_padre"];
             if (!mysql_query($sql)) {
                 die('Error: ' . mysql_error() . $sql);
                 mysql_query("ROLLBACK");
                 pushError("Error al crear el producto");
                 return false;
             } else {
                 $sql = "UPDATE productos SET id_subproducto={$id_subproducto}, cant_por_paquete=" . $oData['unidades_por_paquete'] . " WHERE id_producto=" . $oData["id_producto_padre"];
                 if (!mysql_query($sql)) {
                     die('Error: ' . mysql_error() . $sql);
                     mysql_query("ROLLBACK");
                     pushError("Error al crear el producto");
                     return false;
                 } else {
                     mysql_query("COMMIT");
                     pushInfo("Cambios aplicados exitosamente");
                     return true;
                 }
             }
         }
     } else {
         if ($oData['id_producto']) {
             //UPDATE
             $sql = "UPDATE productos SET id_tipo_producto = " . $oData['tipo_producto'] . ", detalle_producto = UPPER('" . utf8_decode(addslashes($oData['detalle_producto'])) . "'), precio_unitario_producto = " . $oData['precio_unitario_producto'] . ", iva_producto = " . $oData['iva_producto'] . ", ganancia_producto = " . $oData['ganancia_producto'] . ", precio_final_producto = " . round($oData['precio_final_producto'], 2) . ", codigo_producto = " . $oData['codigo_producto'] . ", id_tipo_prediccion = " . $oData['tipo_prediccion'] . ", id_rubro = " . $oData['nombre_rubro'] . ", id_marca = " . $oData['nombre_marca'] . ", id_registro_estado = " . $oData['id_registro_estado'] . " WHERE id_producto = " . $oData['id_producto'];
         } else {
             //INSERT
             $sql = "INSERT INTO productos (id_tipo_producto, \r\n                                            detalle_producto, \r\n                                            precio_unitario_producto, \r\n                                            iva_producto, \r\n                                            ganancia_producto,\r\n                                            precio_final_producto, \r\n                                            codigo_producto, \r\n                                            id_tipo_prediccion,\r\n                                            id_rubro,\r\n                                            id_marca,\r\n\t\t\t\t\t\t\t\t\t\t\tid_registro_estado)\r\n                    VALUES (" . $oData['tipo_producto'] . ", UPPER('" . utf8_decode(addslashes($oData['detalle_producto'])) . "'), " . $oData['precio_unitario_producto'] . ", " . $oData['iva_producto'] . ", " . $oData['ganancia_producto'] . ", " . round($oData['precio_final_producto'], 2) . ", " . $oData['codigo_producto'] . ", " . $oData['tipo_prediccion'] . ", " . $oData['nombre_rubro'] . ", " . $oData['nombre_marca'] . ", " . $oData['id_registro_estado'] . ") ";
         }
         if (!mysql_query($sql)) {
             die('Error: ' . mysql_error() . $sql);
             mysql_query("ROLLBACK");
             pushError("Error al crear el producto");
             return false;
         } else {
             $prov = explode(",", $oData['prov_checked']);
             if (!$oData['id_producto']) {
                 $id_prod = mysql_insert_id();
             } else {
                 $id_prod = $oData['id_producto'];
                 $sql = "DELETE FROM productos_proveedores WHERE id_producto = " . $id_prod;
                 mysql_query($sql);
             }
             foreach ($prov as $proveedor) {
                 $values = explode("|", $proveedor);
                 $sql = "INSERT INTO productos_proveedores SET id_producto = " . $id_prod . ", id_proveedor = " . $values[0] . ", precio_costo_proveedor = " . $values[1] . ", tpo_de_entrega = " . $values[2];
                 if (!mysql_query($sql)) {
                     die('Error: ' . mysql_error());
                     mysql_query("ROLLBACK");
                     pushError("Error al crear el producto");
                     return false;
                 }
             }
             if ($oData["tipo_prediccion"] == 3) {
                 $sql = "SELECT * FROM indices_estacionales WHERE id_producto = " . $oData["id_producto"];
                 $result = getRS($sql);
                 if (!getNrosRows($result)) {
                     $exp = new ExpertoPrediccion();
                     $dur_periodo = $exp->getDuracionPeriodo();
                     $cant_dias_anio = date("z", mktime(0, 0, 0, 12, 31, date("Y"))) + 1;
                     $periodo_x_anio = number_format($cant_dias_anio / $dur_periodo);
                     for ($i = 0; $i < $periodo_x_anio; $i++) {
                         $sql = "INSERT INTO indices_estacionales (id_producto, orden) VALUES (" . $id_prod . "," . ($i + 1) . ")";
                         $rs = getRS($sql);
                         if (!$rs) {
                             die('Error: ' . mysql_error());
                             mysql_query("ROLLBACK");
                             pushError("Error al crear el producto");
                             return false;
                         }
                     }
                 }
             }
             if ($oData['id_producto']) {
                 $rs = $this->getById($oData["id_producto"]);
                 if ($rs["id_subproducto"]) {
                     $precio_unitario = round($rs['precio_unitario_producto'] / $rs['cant_por_paquete'], 2);
                     $rdo1 = $precio_unitario + $rs['iva_producto'] * $precio_unitario / 100;
                     $rdo2 = $rs['ganancia_producto'] * $rdo1 / 100;
                     $precio_final = round($rdo1 + $rdo2, 2);
                     $sql = "UPDATE productos SET precio_unitario_producto = " . $precio_unitario . ", iva_producto = " . $rs['iva_producto'] . ", ganancia_producto = " . $rs['ganancia_producto'] . ", precio_final_producto = " . $precio_final . " WHERE id_producto = " . $rs["id_subproducto"];
                     $rs = getRS($sql);
                     if (!$rs) {
                         die('Error: ' . mysql_error());
                         mysql_query("ROLLBACK");
                         pushError("Error al crear el producto");
                         return false;
                     }
                 } else {
                     $subproducto = $this->getSubproducto($oData['id_producto']);
                     if ($subproducto) {
                         $sql = "UPDATE productos SET cant_por_paquete=" . $oData['unidades_por_paquete'] . " WHERE id_producto = " . $subproducto['id_producto'];
                         $rs = getRS($sql);
                         if (!$rs) {
                             die('Error: ' . mysql_error());
                             mysql_query("ROLLBACK");
                             pushError("Error al crear el producto");
                             return false;
                         }
                     }
                 }
             }
             mysql_query("COMMIT");
             pushInfo("Cambios aplicados exitosamente");
             return true;
         }
     }
 }
Example #2
0
<?php

include_once 'ExpertoRepartos.php';
$oData = $oRequestData = $_POST ? $_POST : $_GET;
$exp = new ExpertoRepartos();
switch ($oData["behavior"]) {
    case "reloadListRepartos":
        $fecha_fin = $oData["fecha_fin"];
        $fecha_inicio = $oData["fecha_inicio"];
        $data = $exp->getAll($fecha_inicio, $fecha_fin);
        echo "<script>       var data = \"{$data}\";\n                            parent.mygrid.clearAll();\n\t\t\t\t\t\t\tparent.mygrid.detachEvent(parent.idOnXLE);\n                            parent.mygrid.parse(data, 'xml');\n                            parent.mygrid.filterByAll();\n                    </script>";
        exit;
        break;
    case 'save':
        if ($exp->save($oData)) {
            pushInfo("Cambios aplicados exitosamente");
            echo true;
        } else {
            pushError("El registro no pudo ser creado");
            echo false;
        }
        break;
    case "delete":
        $flag = false;
        if (isset($oData['id_reparto'])) {
            $ids = explode(",", $oData['id_reparto']);
            foreach ($ids as $id) {
                if (!$exp->delete($id)) {
                    $flag = true;
                }
            }
Example #3
0
            pushError("Los cambios no pudieron ser aplicados");
        } else {
            pushInfo("Cambios aplicados exitosamente");
        }
        exit;
        break;
    case 'toExcel':
        $exp->toExcel($oData["filtros"]);
        exit;
        break;
    case 'enviarVentas':
        $rdo = $exp->enviarVentas($oData);
        if (!$rdo) {
            pushError("El mail no ha podido ser enviado...");
        } else {
            pushInfo("Mail enviado!!!");
        }
        echo $msge;
        exit;
        break;
}
$exp = new ExpertoVentas();
if ($oData["source"] == "ventasListAll") {
    $desde = $oData["fecha_inicio"];
    $hasta = $oData["fecha_fin"];
    $data = $exp->getAllVentas($desde, $hasta);
} else {
    if ($oData["id_reparto"]) {
        $id_reparto = $oData["id_reparto"];
        $data = $exp->getAllVentasByReparto($id_reparto);
    }