list($Dia, $Mes, $Anio) = $ar_fecha; $fecha = $Anio . '-' . $Mes . '-' . $Dia; if (!checkdate($Mes, $Dia, $Anio)) { $error['Fecha'] = 'Fecha Incorrecta'; } #Total $Total = strip_tags($_POST["TotalPedido"]); if (count($error) > 0) { $errores = implode(', ', $error); $response['error'] = $errores; echo json_encode($response); die(0); } $response['error'] = ''; $idOC = $_POST["idOC"]; $OBJ->set_Valor($Cliente, 'int_IdProveedor'); $OBJ->set_Valor($fecha, 'dt_Fecha'); $OBJ->set_Valor($Total, 'flt_Total'); if ($idOC == 0) { $idOC = $OBJ->insert_oc(); } else { $OBJ->set_Union($idOC, 'int_IdOrdenCompra'); $OBJ->update_oc(); } $response['idOC'] = $idOC; $OBJ1 = new Usuario(); $OBJ1->set_Dato($idOC, 'int_IdOrdenCompra'); $OBJ1->set_UnionT($tag, 'txt_Tag'); $response['sql'] = $OBJ1->join_pedido_oc(); break; /* ------------------------------- */
public function aumentar_kardex_from_pe($idDoc) { /* Esta funcion va a aumentar el detalle de un documento Parte de entrada al kardex y aumentar el respectivo stock */ $sql = ''; $data = array(); $response = array(); # $enc_fecha = ''; $enc_tipodoc = ''; $enc_numdoc = ''; $enc_cliente = ''; $mascara = ''; # $sql = " SELECT * FROM `utb_parte_entrada` v INNER JOIN `utb_clientes` c ON c.`int_IdCliente` = v.`int_IdProveedor` AND v.`int_IdParteEntrada` = " . $idDoc; # $data = $this->QueryArray($sql, MYSQL_ASSOC); if (is_array($data)) { #Obtener los encabezados del Documento foreach ($data as $key => $rs) { $enc_fecha = $rs->dt_Fecha; $enc_tipodoc = 'PE'; $enc_numdoc = $rs->int_IdParteEntrada; $enc_cliente = $rs->var_Nombre; $mascara = 'Parte Entrada ' . sprintf("%05s", $enc_numdoc); } #Obtener los detalles del Documento $sql = " SELECT *, d.int_Cantidad as 'cant', p.var_Nombre as 'prod', um.var_Nombre as 'um', d.int_IdUnidadMedida as 'idum', d.`var_Lote` as 'lote', d.`var_Laboratorio` as 'lab', d.`dt_Vencimiento` as 'fecha' FROM `utb_parte_entrada_detalle` d INNER JOIN `utb_productos` p ON d.`int_IdProducto` = p.`int_IdProducto` \n INNER JOIN `utb_unidad_medida` um on um.int_IdUM = d.int_IdUnidadMedida AND d.`int_IdParteEntrada` = " . $idDoc; $data = $this->QueryArray($sql, MYSQL_ASSOC); $lasIdKardex = 0; if (is_array($data)) { foreach ($data as $key => $rd) { $tipoMov = ''; $equiv = 0; #(int)$this->get_equivalencia_un_producto( $rd["int_IdProducto"] , $rd["idum"] ); $cant_proc = 0; $saldo_act = 0; $det_entrada = (int) $rd->cant; $det_saldo = (int) $this->get_saldo_producto($rd->int_IdProducto); #Voy a descargar la cantidad del doc de ventas x el equivalente (frasco = 10, caja = 30 etc.) $cant_proc = $det_entrada; //* $equiv /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ $tipoMov = 'I'; $saldo_act = $det_saldo + $cant_proc; $concepto = 'Ingreso por Parte Entrada'; /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ #return 'saldo actual: '.$equiv; $det_idProd = $rd->int_IdProducto; $det_NombProd = $rd->prod; $det_unidadMedi = $rd->um; # $precioVenta = 0; $precioCompra = 0; $utilidad = 0; $id_Unid = ''; #Ahora inserto el kardex. $precioVenta = $rd->ftl_Precio_Venta; $precioCompra = $rd->flt_Precio_Compra; $utilidad = $rd->flt_Utilidad; $id_Unid = $rd->idum; #Creando el Lote del producto $stock_lote = 0; $new_stock_L = 0; $idLote = 0; $lote = $rd->lote; $stock_lote = $this->stock_lote_producto($det_idProd, $lote); $new_stock_L = $stock_lote + $det_entrada; $lab = $rd->lab; $fecha = $rd->fecha; $idLote = $this->crear_lote_prod($det_idProd, $lote, $fecha, $lab, $new_stock_L); # $k = array(); $k["dt_Fecha"] = MySQL::SQLValue($enc_fecha, MySQL::SQLVALUE_DATETIME); $k["chr_Concepto"] = MySQL::SQLValue($tipoMov, MySQL::SQLVALUE_TEXT); $k["var_Descri"] = MySQL::SQLValue($concepto, MySQL::SQLVALUE_TEXT); $k["chr_TipoDoc"] = MySQL::SQLValue($enc_tipodoc, MySQL::SQLVALUE_TEXT); $k["var_NumeroDoc"] = MySQL::SQLValue($enc_numdoc, MySQL::SQLVALUE_TEXT); $k["var_Cliente"] = MySQL::SQLValue($enc_cliente, MySQL::SQLVALUE_TEXT); $k["int_Entrada"] = MySQL::SQLValue($cant_proc, MySQL::SQLVALUE_NUMBER); $k["int_Saldo"] = MySQL::SQLValue($saldo_act, MySQL::SQLVALUE_NUMBER); $k["int_IdProducto"] = MySQL::SQLValue($det_idProd, MySQL::SQLVALUE_NUMBER); $k["int_IdLote"] = MySQL::SQLValue($idLote, MySQL::SQLVALUE_NUMBER); $k["var_NombreProducto"] = MySQL::SQLValue($det_NombProd . ' Lote: ' . $lote, MySQL::SQLVALUE_TEXT); $k["var_UnidadMedida"] = MySQL::SQLValue($det_unidadMedi, MySQL::SQLVALUE_TEXT); $k["var_Mascara"] = MySQL::SQLValue($mascara, MySQL::SQLVALUE_TEXT); # $lasIdKardex = $this->InsertRow('utb_kardex_actual', $k); unset($k); #Actualizar Stock en tabla productos. $k = array(); $p = array(); /*06 07 15, desactivo esto por que el stock se maneja por lotes.*/ $this->update_stock_producto($det_idProd, $saldo_act); /*Actualizar ID Lote, para anular si es necesario*/ $k["int_IdLote"] = MySQL::SQLValue($idLote, MySQL::SQLVALUE_NUMBER); $p["int_IdDetallePE"] = MySQL::SQLValue($rd->int_IdDetallePE, MySQL::SQLVALUE_NUMBER); $this->UpdateRows('utb_parte_entrada_detalle', $k, $p); #Precios de productos, ya que el parte de entrada afecta al precio de los productos. $OBJP = array(); $OBJP = new Usuario(); $arr_old_Data = array(); $tex_data = array(); $t = ''; $tex_data = $this->get_data_un_producto(" AND p.int_IdProducto = " . $det_idProd); if (is_array($tex_data)) { foreach ($tex_data as $key => $rsx) { $t = $rsx->data; } $arr_old_Data = explode("|", $t); $OBJP->set_Valor($arr_old_Data[2], 'flt_old_Precio_Compra'); $OBJP->set_Valor($arr_old_Data[1], 'ftl_old_Precio_Venta'); $OBJP->set_Valor($arr_old_Data[4], 'flt_old_Utilidad'); $OBJP->set_Valor('PE', 'char_TipoDoc'); $OBJP->set_Valor($enc_numdoc, 'var_Doc'); } $OBJP->set_Valor($det_idProd, 'int_IdProducto'); $OBJP->set_Valor($id_Unid, 'int_IdUM'); $OBJP->set_Valor('2', 'int_TipoCalculo'); # $OBJP->set_Valor($precioCompra, 'flt_Precio_Compra'); $OBJP->set_Valor($precioVenta, 'ftl_Precio_Venta'); $OBJP->set_Valor($utilidad, 'flt_Utilidad'); $OBJP->set_Valor($concepto, 'var_Descri'); #Anulando productos anteriores. $OBJP->anular_precios_producto($det_idProd); #Guardando Precio Producto $OBJP->insert_Precio_Producto(); /* #Ahora actualizo las promociones amarradas a este producto. #$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $OBJP->update_precio_promo_prod( $det_idProd ); /**/ } /* END FOREACH */ } return $lasIdKardex; } else { return 0; } }
foreach ($data_clase as $key => $rs) { $idProd = 0; $idProd = $rs->idp; $arr_prec = explode(',', $OBJ1->get_precio_producto1($idProd)); $precio = 0; $promo = 0; $proct = 0; $precio = $arr_prec[0]; if ($cboAplicar == 'PrecioFijo') { $promo = $Valor; } else { $proct = $precio * $Valor / 100; $promo = $precio - $proct; } # $OBJ1->set_Valor($idPromo, 'int_IdPromo'); $OBJ1->set_Valor($idProd, 'int_IdProducto'); $OBJ1->set_Valor($precio, 'flt_Precio'); $OBJ1->set_Valor($promo, 'flt_Promo'); $OBJ1->set_Valor($Nombre, 'var_Descri'); $OBJ1->set_Valor($cboAplicar, 'var_Aplicar'); $OBJ1->set_Valor($Valor, 'flt_Valor'); $OBJ1->insert_producto_promocion(); } break; } #devolver los productos afectados $response['data'] = $OBJ->get_productos_in_promo($idPromo); } break; // -------------------------------------------------
$existe = ''; $id = ''; $idPedido = 0; $Cliente = ''; $fecha = ''; $Total = 0; $tag = strip_tags($_POST["tag"]); if ($_POST["idPedido"] == "0") { $filtro = 'insertPedido'; } switch ($filtro) { /* ------------------------------- */ case 'update_cant': $id = $_POST["id"]; $cant = $_POST["cant"]; $OBJ->set_Valor($cant, 'int_Cant'); $OBJ->set_Union($id, 'int_IdDetalleInv'); $OBJ->update_cant_detinv(); # break; /* ------------------------------- */ /* ------------------------------- */ case 'get_clases': $response = $OBJ->get_all_clases(''); break; /* ------------------------------- */ /* ------------------------------- */ case 'get_almacenes': $response = $OBJ->get_all_almacenes(''); break; /* ------------------------------- */
# Devuelve todas los productos genericos $response = $OBJ->get_all_genericos(''); break; // ------------------------------------------------- // ------------------------------------------------- case 'get-data-generico': # Devuelve todos los datos de un generico $id = $_POST["idc"]; $response = $OBJ->get_data_generico($id); break; // ------------------------------------------------- // ------------------------------------------------- case 'update': $id = $_POST["idGenerico"]; $nombre = $_POST["txtNombre"]; $OBJ->set_Valor($nombre, 'var_Nombre'); $OBJ->set_Union($id, 'int_IdGenerico'); $OBJ->update_Generico_Producto(); $response['id'] = $id; $response['existe'] = 'no'; break; // ------------------------------------------------- // ------------------------------------------------- case 'del': $id = $_POST["idc"]; $OBJ->set_Valor('DEL', 'chr_Estado'); $OBJ->set_Union($id, 'int_IdGenerico'); $OBJ->update_Generico_Producto(); $response['id'] = $id; $response['existe'] = 'no'; break;
case '#Anulados': $response = $OBJ->get_listado_ventas(" AND v.chr_Estado = 'DEL' "); break; } break; /* ------------------------------- */ /* ------------------------------- */ case 'buscar': $fecha = $_POST["fecha"]; $fecha_formato = ''; if ($fecha == '') { return ''; } $arr_fecha = array(); $arr_fecha = explode('/', $fecha); $fecha_formato = $arr_fecha[2] . '-' . $arr_fecha[1] . '-' . $arr_fecha[0]; $response = $OBJ->get_listado_ventas(" AND v.dt_Fecha = '" . $fecha_formato . "' "); break; /* ------------------------------- */ /* ------------------------------- */ case 'menosKardex': $idv = $_POST["idv"]; $response['v'] = $OBJ->disminuir_kardex($idv); $OBJ1 = new Usuario(); $OBJ1->set_Valor('CER', 'chr_Estado'); $OBJ1->set_Union($idv, 'int_idVenta'); $OBJ1->update_ventas(); break; /* ------------------------------- */ } echo json_encode($response);
$OBJ1->update_pe(); break; /* ------------------------------- */ /* ------------------------------- */ case 'copy': $idp = $_POST["idp"]; $response['id'] = $OBJ->copiar_parte_entrada($idp); break; /* ------------------------------- */ /* ------------------------------- */ case 'delPE': $idpe = $_POST["idpe"]; $estadoDoc = $OBJ->get_estado_doc($idpe, 'PE'); # $OBJ->set_Union($idpe, 'int_IdParteEntrada'); $OBJ->set_Valor('DEL', 'chr_Estado'); $OBJ->update_pe(); # $response['id'] = $estadoDoc; if ($estadoDoc == 'CER') { #Muevo el kardex. $OBJ->anular_kardex_from_pe($idpe); } break; /* ------------------------------- */ /* ------------------------------- */ case 'getItem': $idp = $_POST["idp"]; $response = $OBJ->get_detalle_pe01(" AND p.int_IdDetallePE = " . $idp); break; /* ------------------------------- */
$data_eqv = array(); $um = ''; $idp = ''; $newprecio = 0; $newcompra = 0; $cant = 0; $data_eqv = $OBJ->get_equivalencias_producto_for_precio($id_producto); /*if( is_array($data_eqv) ){ foreach ($data_eqv as $key => $rse) {*/ $um = 1; #$rse["um"]; $idp = $id_producto; $cant = 1; #$rse["cant"]; #------------------------------------------- $OBJ->set_Valor($idp, 'int_IdProducto'); $OBJ->set_Valor($um, 'int_IdUM'); $OBJ->set_Valor($tabActive, 'int_TipoCalculo'); if ($tabActive == '1') { $newcompra = $txtPreCompra1 * $cant; $OBJ->set_Valor($newcompra, 'flt_Precio_Compra'); $newprecio = $txtPv1 * $cant; $OBJ->set_Valor($newprecio, 'ftl_Precio_Venta'); $OBJ->set_Valor($txtUtilidad1, 'flt_Utilidad'); } else { #Calculo por precio de venta $newcompra = $txtPreCompra2 * $cant; $OBJ->set_Valor($newcompra, 'flt_Precio_Compra'); $newprecio = $txtPv2 * $cant; $OBJ->set_Valor($newprecio, 'ftl_Precio_Venta'); $OBJ->set_Valor($txtUtilidad2, 'flt_Utilidad');
# $estadoDoc = $OBJ->get_estado_doc($id, 'V'); # $OBJ->set_Union($id, 'int_idVenta'); $OBJ->set_Valor('DEL', 'chr_Estado'); $OBJ->set_Valor($iduser, 'int_idUserAnula'); $OBJ->set_Valor($hoy, 'dt_Anulado'); $OBJ->set_Valor($texto, 'txt_MotivoAnulado'); $response['q'] = $OBJ->update_ventas(); if ($estadoDoc == 'CER') { #Muevo el kardex. $OBJ->anular_kardex($id); } #Movimiento de Caja. $OBJ = new Usuario(); $OBJ->set_Valor('DEL', 'chr_Estado'); $OBJ->set_Union($id, 'int_IdVenta'); $OBJ->update_caja(); break; /* ------------------------------- */ /* ------------------------------- */ case 'goBoleta': $idp = $_POST["idp"]; $TipoDoc = $_POST["TipoDoc"]; $response['idVenta'] = $OBJ->facturar_pedido($TipoDoc, $idp); break; /* ------------------------------- */ /* ------------------------------- */ case 'copy': $idp = $_POST["idp"]; $response['id'] = $OBJ->copiar_pedido($idp);
$OBJ->set_Valor($id_producto, 'int_IdProducto'); $OBJ->set_Valor($um, 'int_IdUM'); $OBJ->set_Valor($tabActive, 'int_TipoCalculo'); #Calculo por precio de venta $OBJ->set_Valor($venta_producto, 'flt_Precio_Compra'); $OBJ->set_Valor($venta_producto, 'ftl_Precio_Venta'); $OBJ->set_Valor($utilidad_producto, 'flt_Utilidad'); #Guardando Precio Producto $OBJ->insert_Precio_Producto(); #Actualizo el precio del productos en las promociones. $response['promo'] = $OBJc->update_precio_promo_prod($id_producto); #ENCABEZADO PARTE DE ENTRADA $OBJ = array(); $OBJ = new Usuario(); $hoy = date("Y-m-d"); $OBJ->set_Valor('1', 'int_IdProveedor'); $OBJ->set_Valor($hoy, 'dt_Fecha'); $OBJ->set_Valor($compra_producto, 'flt_Total'); if ($idPE == 0) { $idPE = $OBJ->insert_pe(); } else { $OBJ->set_Union($idPE, 'int_IdParteEntrada'); $OBJ->update_pe(); } $response['idPE'] = $idPE; $OBJ1 = new Usuario(); $OBJ1->set_Dato($idPE, 'int_IdParteEntrada'); $OBJ1->set_UnionT($tag, 'txt_Tag'); $response['sql'] = $OBJ1->join_pe_detalle(); #DETALLE PARTE DE ENTRADA $OBJ->set_Dato($id_producto, 'int_IdProducto');
$response = array(); $error = array(); $filtro = ''; $filtro = $_POST["f"]; $existe = ''; $id = ''; $idPedido = 0; $Cliente = ''; $fecha = ''; $Total = 0; $tag = strip_tags($_POST["tag"]); switch ($filtro) { /* ------------------------------- */ case 'menosKardex': #Se cierra la venta y se mueve el kardex $idv = $_POST["idv"]; $idu = $_POST["idu"]; $response['v'] = $OBJ->disminuir_kardex($idv); $OBJ1 = new Usuario(); $OBJ1->set_Valor('CER', 'chr_Estado'); $OBJ1->set_Union($idv, 'int_idVenta'); $OBJ1->update_ventas(); #Agregar movimiento de caja. $OBJ = new Usuario(); $OBJ->set_Valor($idv, 'int_IdVenta'); $OBJ->set_Valor($idu, 'int_IdUsuario'); $OBJ->insert_caja(); break; /* ------------------------------- */ } echo json_encode($response);
$TipoDoc = $_POST["TipoDoc"]; $serie = $_POST["serie"]; $response['idVenta'] = $OBJ->facturar_pedido($TipoDoc, $idp, $serie, $idUsuarioZiel); break; /* ------------------------------- */ /* ------------------------------- */ case 'copy': $idp = $_POST["idp"]; $response['id'] = $OBJ->copiar_pedido($idp, $idu); break; /* ------------------------------- */ /* ------------------------------- */ case 'delPedido': $idp = $_POST["idp"]; $OBJ->set_Union($idp, 'int_IdPedido'); $OBJ->set_Valor('DEL', 'chr_Estado'); $response['id'] = $OBJ->update_pedido(); break; /* ------------------------------- */ /* ------------------------------- */ case 'getItem': $idp = $_POST["idp"]; $response = $OBJ->get_detalle_pedido01(" AND p.int_IdDetallePedido = " . $idp); break; /* ------------------------------- */ /* ------------------------------- */ case 'delItem': $idItem = $_POST["idItem"]; $idp = $_POST["idp"]; $OBJ->set_Dato($idItem, 'int_IdDetallePedido'); $OBJ->delete_detalle_pedido();
break; // ------------------------------------------------- // ------------------------------------------------- case 'get-data-cliente': # Devuelve todos los datos de una clase $id = $_POST["idc"]; $response = $OBJ->get_data_cliente($id); break; // ------------------------------------------------- // ------------------------------------------------- case 'update': $id = $_POST["idCliente"]; $nombre = $_POST["txtNombre"]; $ruc = $_POST["txtRuc"]; $dir = $_POST["txtDir"]; $OBJ->set_Valor($nombre, 'var_Nombre'); $OBJ->set_Valor($ruc, 'var_Ruc'); $OBJ->set_Valor($dir, 'var_Dir'); $OBJ->set_Union($id, 'int_IdCliente'); $OBJ->update_Cliente(); $response['id'] = $id; $response['existe'] = 'no'; break; // ------------------------------------------------- // ------------------------------------------------- case 'del': $id = $_POST["idc"]; $OBJ->set_Valor('DEL', 'chr_Estado'); $OBJ->set_Union($id, 'int_IdCliente'); $OBJ->update_Cliente(); $response['id'] = $id;