(965,'mod/app_ventas/index.php','2025-01-30 20:23:00','rafael',209,9752,'<?php\n\nfunction calcularTotalVenta($id, $returnArr = \"\") {\n    $venta = PCO_EjecutarSQL(\"\n        SELECT SUM(precio * cantidad) as total, SUM(precio * iva/100) iva\n        FROM app_ventas_detalle\n        WHERE id_venta = \'$id\' GROUP BY id_venta\n    \")->fetch();\n    $ventaMecanico = PCO_EjecutarSQL(\"\n        SELECT TRUNCATE(SUM(vd.precio * vd.cantidad * p.porcentaje_mecanico/100), 2)\n        FROM app_ventas_detalle vd, app_ventas v, app_productos p\n        WHERE vd.id_venta=v.id AND vd.id_producto=p.id AND  vd.id_venta = \'$id\' AND v.id_mecanico <> 0 GROUP BY vd.id_venta\n    \")->fetchColumn();\n    $total = $venta[\"total\"] ? $venta[\"total\"] : 0;\n    $iva = $venta[\"iva\"] ? $venta[\"iva\"] : 0;\n    PCO_EjecutarSQLUnaria(\"UPDATE app_ventas SET total = $total, iva = $iva, total_mecanico=\'$ventaMecanico\' WHERE id = $id \");\n    if($returnArr)\n        return $venta;\n    return \'\"total\": \' . $total . \', \"iva\": \' . $iva;\n}\n\nif($PCO_Accion == \"VENTA_ingresarRealizarVenta\") {\n    $ventaAbierta = PCO_EjecutarSQL(\"\n        SELECT id, id_cliente, total, iva, placa\n        FROM app_ventas\n        WHERE id=\'$PCO_Valor\'\n    \")->fetch();\n\n    $id_venta = $ventaAbierta[\"id\"] || \"\";\n    if($id_venta) {\n        $total = number_format($ventaAbierta[\"total\"], 2);\n        $iva = number_format($ventaAbierta[\"iva\"], 2);\n        $id_cliente = $ventaAbierta[\"id_cliente\"];\n    }\n\n    PCO_CargarFormulario(8, 1, \"id\", $id_venta);\n}\n\nif($PCO_Accion == \"VENTA_agregarProductoCrearOC\") {\n        //crear cliente en caso de que no llegue id_cliente\n        if(!$id_cliente) {\n            PCO_EjecutarSQLUnaria(\"INSERT INTO app_clientes (nombre_completo, numero_documento, telefono) VALUES (?,?,?) \",\n                \"$nombre_completo$_SeparadorCampos_$numero_documento$_SeparadorCampos_$telefono\"\n            );\n            // $id_cliente = PCO_ObtenerUltimoIDInsertado();\n            $id_cliente = PCO_EjecutarSQL(\"\n                SELECT id\n                FROM app_clientes\n                WHERE numero_documento=\'$numero_documento\' AND telefono=\'$telefono\' AND \'$nombre_completo\'\n            \")->fetchColumn();\n        }\n        $todayMysql = date(\"Y-m-d H:i:s\");\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas (id_cliente, usuario, fecha, placa, id_mecanico, tipo_venta) VALUES (?,?,?,?,?,?) \", \"$id_cliente$_SeparadorCampos_$PCOSESS_LoginUsuario$_SeparadorCampos_$todayMysql$_SeparadorCampos_$placa$_SeparadorCampos_$id_mecanico$_SeparadorCampos_$tipo_venta\");\n        $id = PCO_EjecutarSQL(\"\n            SELECT id\n            FROM app_ventas\n            WHERE fecha=\'$todayMysql\' AND usuario=\'$PCOSESS_LoginUsuario\' AND id_cliente = \'$id_cliente\'\n        \")->fetchColumn();\n        // $id = PCO_ObtenerUltimoIDInsertado();\n\n    $producto = PCO_EjecutarSQL(\"\n        SELECT id, precio_venta, iva, inventario\n        FROM app_productos\n        WHERE id = \'$id_producto\'\n    \")->fetch();\n    if($producto[\"id\"]) {\n        $existe = PCO_EjecutarSQL(\"\n            SELECT count(id)\n            FROM app_ventas_detalle\n            WHERE id_venta = $id AND id_producto = \'$id_producto\'\n        \")->fetchColumn();\n        if($existe > 0) {\n            print_r(\'{\"success\": false, \"msg\": \"El producto ya se ha ingresado\"}\');\n            die();\n        }\n        /* if($producto[\"inventario\"] < $cantidad) {\n            print_r(\'{\"success\": false, \"msg\": \"La cantidad digitada supera la del invetario\"}\');\n            die();\n        } */\n        // $inventarioNew = $producto[\"inventario\"] - $cantidad;\n        // PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas_detalle (id_venta, id_producto, cantidad, precio, iva, hora_inicio, hora_fin, guaje) VALUES (?,?,?,?,?,?,?,?) \", \n            \"$id$_SeparadorCampos_$id_producto$_SeparadorCampos_$cantidad$_SeparadorCampos_$precio$_SeparadorCampos_\" . $producto[\"iva\"].\"$_SeparadorCampos_$hora_inicio$_SeparadorCampos_$hora_fin$_SeparadorCampos_$guaje\");\n        calcularTotalVenta($id);\n        \n        /* $total = number_format($result[\"total\"], 2);\n        $iva = number_format($result[\"iva\"], 2); */\n\n        echo \'<script type=\"text/javascript\">\n        	document.FRMBASEINFORME.PCO_Accion.value=\"PCO_CargarObjeto\";\n        	document.FRMBASEINFORME.PCO_Objeto.value=\"frm:8:1:id:\'.$id.\'\";\n        	document.FRMBASEINFORME.Precarga_EstilosBS.value=\"1\";\n        	document.FRMBASEINFORME.Presentar_FullScreen.value=\"0\";\n        	document.FRMBASEINFORME.target=\"_self\";\n        	document.FRMBASEINFORME.submit();\n    	 </script>\';\n    }\n}\n\nif($PCO_Accion == \"VENTA_agregarProducto\") {\n    $producto = PCO_EjecutarSQL(\"\n        SELECT id, precio_venta, iva\n        FROM app_productos\n        WHERE id = \'$id_producto\'\n    \")->fetch();\n    if($producto[\"id\"]) {\n        $existe = PCO_EjecutarSQL(\"\n            SELECT count(id)\n            FROM app_ventas_detalle\n            WHERE id_venta = $id AND id_producto = \'$id_producto\'\n        \")->fetchColumn();\n        if($existe > 0) {\n            print_r(\'{\"success\": false, \"msg\": \"El producto ya se ha ingresado\"}\');\n            die();\n        }\n        /* if($producto[\"inventario\"] < $cantidad) {\n            print_r(\'{\"success\": false, \"msg\": \"La cantidad digitada supera la del invetario\"}\');\n            die();\n        } */\n        // $inventarioNew = $producto[\"inventario\"] - $cantidad;\n        // PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas_detalle (id_venta, id_producto, cantidad, precio, iva, hora_inicio, hora_fin, guaje) VALUES (?,?,?,?,?,?,?,?) \", \n            \"$id$_SeparadorCampos_$id_producto$_SeparadorCampos_$cantidad$_SeparadorCampos_$precioVenta$_SeparadorCampos_\" . $producto[\"iva\"].\"$_SeparadorCampos$hora_inicio$_SeparadorCampos$hora_fin$_SeparadorCampos$guaje\");\n        $result = calcularTotalVenta($id);\n        print_r(\'{\"success\": true, \"id\": \' . $id . \', \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se ha encontrado el producto seleccionado\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_consultarTotalVenta\") {\n    if($id) {\n        $result = calcularTotalVenta($id);\n        print_r(\'{\"success\": true, \"id\": \' . $id . \', \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se encontro la venta\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_eliminarProducto\") {\n\n    if($id_venta_detalle && $id_venta) {\n        $producto = PCO_EjecutarSQL(\"\n            SELECT p.inventario, vd.cantidad, p.id\n            FROM app_ventas_detalle vd, app_productos p\n            WHERE vd.id_producto = p.id AND vd.id = \'$id_venta_detalle\'\n        \")->fetch();\n        //Restablecemos el inventario\n        $inventarioNew = $producto[\"inventario\"] + $producto[\"cantidad\"];\n        PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"DELETE FROM app_ventas_detalle WHERE id_venta = $id_venta AND id = $id_venta_detalle\");\n        $result = calcularTotalVenta($id_venta);\n        print_r(\'{\"success\": true, \"msg\": \"Se ha eliminado el producto exitosamente\", \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se pudo eliminar el producto\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_actualizarProductoVenta\") {\n    if($id) {\n        PCO_EjecutarSQLUnaria(\"UPDATE app_ventas_detalle SET cantidad=\'$cantidad\', precio=\'$precio\' WHERE id = \'$id\'\");\n        echo 1;\n        die();\n    }\n    echo 0;\n    die();\n}\n\nif($PCO_Accion == \"VENTA_imprimirFactura\") {\n    if($PCO_Valor)\n        $id = $PCO_Valor;\n    if($id) {\n        include_once \"imprimirFactura.php\";\n    }\n}\n\nif($PCO_Accion == \"VENTA_generarLiquidacionMecanicos\") {\n    $ventas = PCO_EjecutarSQL(\"\n        SELECT v.id, v.id_mecanico, SUM(v.total_mecanico) as Total, m.seguridad_social\n        FROM app_mecanicos m,app_ventas v\n        WHERE m.id = v.id_mecanico AND v.fecha >= \'$fecha_inicio 00:00:00\' AND v.fecha <= \'$fecha_fin 23:59:59\' AND v.estado = 1 AND id_mecanico <> 0 AND id_liquidacion=0\n        GROUP BY v.id_mecanico\n    \")->fetchAll();\n    foreach ($ventas as $venta) {\n        $valor_novedad = PCO_EjecutarSQL(\"\n            SELECT  \n                SUM(case when tipo_novedad= \'Abonar\' then valor_novedad else 0 end) as abonar,\n                SUM(case when tipo_novedad= \'Debitar\' then valor_novedad else 0 end) as debitar\n            FROM app_novedades_mecanicos\n            WHERE fecha >= \'$fecha_inicio\' AND fecha <= \'$fecha_fin\'\n                AND id_mecanico=\'\".$venta[\'id_mecanico\'].\"\' AND tipo_novedad = \'\'\n            GROUP BY id_mecanico\n        \")->fetch();\n\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_liquidacion_mecanicos_enc (id_mecanico, fecha_inicio, fecha_fin, fecha, valor_venta, valor_novedad_abonar, valor_novedad_debitar, seguridad_social, usuario) VALUES (?,?,?,?,?,?,?,?,?) \",\n            $venta[\"id_mecanico\"].\"$_SeparadorCampos_$fecha_inicio$_SeparadorCampos_$fecha_fin$_SeparadorCampos_$PCO_FechaOperacionGuiones$_SeparadorCampos_\".$venta[\"Total\"].\"$_SeparadorCampos_\".$valor_novedad[\'abonar\'].\"$_SeparadorCampos_\".$valor_novedad[\'debitar\'].\"$_SeparadorCampos_\".$venta[\"seguridad_social\"].\"$_SeparadorCampos_$PCOSESS_LoginUsuario\"\n        );\n    }\n        // arq de estados\n        //actualiozar estados\n    PCO_EjecutarSQLUnaria(\"\n        UPDATE app_ventas \n        SET id_liquidacion=1\n        WHERE app_mecanicos.id = app_ventas.id_mecanico AND app_ventas.fecha >= \'$fecha_inicio 00:00:00\' AND app_ventas.fecha <= \'$fecha_fin 23:59:59\' AND app_ventas.estado = 1 AND id_mecanico <> 0 AND id_liquidacion=0\");\n    PCO_CargarFormulario(14);\n}','A'),(966,'mod/app_ventas/index.php','2025-01-30 20:26:00','rafael',209,9752,'<?php\n\nfunction calcularTotalVenta($id, $returnArr = \"\") {\n    $venta = PCO_EjecutarSQL(\"\n        SELECT SUM(precio * cantidad) as total, SUM(precio * iva/100) iva\n        FROM app_ventas_detalle\n        WHERE id_venta = \'$id\' GROUP BY id_venta\n    \")->fetch();\n    $ventaMecanico = PCO_EjecutarSQL(\"\n        SELECT TRUNCATE(SUM(vd.precio * vd.cantidad * p.porcentaje_mecanico/100), 2)\n        FROM app_ventas_detalle vd, app_ventas v, app_productos p\n        WHERE vd.id_venta=v.id AND vd.id_producto=p.id AND  vd.id_venta = \'$id\' AND v.id_mecanico <> 0 GROUP BY vd.id_venta\n    \")->fetchColumn();\n    $total = $venta[\"total\"] ? $venta[\"total\"] : 0;\n    $iva = $venta[\"iva\"] ? $venta[\"iva\"] : 0;\n    PCO_EjecutarSQLUnaria(\"UPDATE app_ventas SET total = $total, iva = $iva, total_mecanico=\'$ventaMecanico\' WHERE id = $id \");\n    if($returnArr)\n        return $venta;\n    return \'\"total\": \' . $total . \', \"iva\": \' . $iva;\n}\n\nif($PCO_Accion == \"VENTA_ingresarRealizarVenta\") {\n    $ventaAbierta = PCO_EjecutarSQL(\"\n        SELECT id, id_cliente, total, iva, placa\n        FROM app_ventas\n        WHERE id=\'$PCO_Valor\'\n    \")->fetch();\n\n    $id_venta = $ventaAbierta[\"id\"] || \"\";\n    if($id_venta) {\n        $total = number_format($ventaAbierta[\"total\"], 2);\n        $iva = number_format($ventaAbierta[\"iva\"], 2);\n        $id_cliente = $ventaAbierta[\"id_cliente\"];\n    }\n\n    PCO_CargarFormulario(8, 1, \"id\", $id_venta);\n}\n\nif($PCO_Accion == \"VENTA_agregarProductoCrearOC\") {\n        //crear cliente en caso de que no llegue id_cliente\n        if(!$id_cliente) {\n            PCO_EjecutarSQLUnaria(\"INSERT INTO app_clientes (nombre_completo, numero_documento, telefono) VALUES (?,?,?) \",\n                \"$nombre_completo$_SeparadorCampos_$numero_documento$_SeparadorCampos_$telefono\"\n            );\n            // $id_cliente = PCO_ObtenerUltimoIDInsertado();\n            $id_cliente = PCO_EjecutarSQL(\"\n                SELECT id\n                FROM app_clientes\n                WHERE numero_documento=\'$numero_documento\' AND telefono=\'$telefono\' AND \'$nombre_completo\'\n            \")->fetchColumn();\n        }\n        $todayMysql = date(\"Y-m-d H:i:s\");\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas (id_cliente, usuario, fecha, placa, id_mecanico, tipo_venta) VALUES (?,?,?,?,?,?) \", \"$id_cliente$_SeparadorCampos_$PCOSESS_LoginUsuario$_SeparadorCampos_$todayMysql$_SeparadorCampos_$placa$_SeparadorCampos_$id_mecanico$_SeparadorCampos_$tipo_venta\");\n        $id = PCO_EjecutarSQL(\"\n            SELECT id\n            FROM app_ventas\n            WHERE fecha=\'$todayMysql\' AND usuario=\'$PCOSESS_LoginUsuario\' AND id_cliente = \'$id_cliente\'\n        \")->fetchColumn();\n        // $id = PCO_ObtenerUltimoIDInsertado();\n\n    $producto = PCO_EjecutarSQL(\"\n        SELECT id, precio_venta, iva, inventario\n        FROM app_productos\n        WHERE id = \'$id_producto\'\n    \")->fetch();\n    if($producto[\"id\"]) {\n        $existe = PCO_EjecutarSQL(\"\n            SELECT count(id)\n            FROM app_ventas_detalle\n            WHERE id_venta = $id AND id_producto = \'$id_producto\'\n        \")->fetchColumn();\n        if($existe > 0) {\n            print_r(\'{\"success\": false, \"msg\": \"El producto ya se ha ingresado\"}\');\n            die();\n        }\n        /* if($producto[\"inventario\"] < $cantidad) {\n            print_r(\'{\"success\": false, \"msg\": \"La cantidad digitada supera la del invetario\"}\');\n            die();\n        } */\n        // $inventarioNew = $producto[\"inventario\"] - $cantidad;\n        // PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas_detalle (id_venta, id_producto, cantidad, precio, iva, hora_inicio, hora_fin, guaje) VALUES (?,?,?,?,?,?,?,?) \", \n            \"$id$_SeparadorCampos_$id_producto$_SeparadorCampos_$cantidad$_SeparadorCampos_$precio$_SeparadorCampos_\" . $producto[\"iva\"].\"$_SeparadorCampos_$hora_inicio$_SeparadorCampos_$hora_fin$_SeparadorCampos_$guaje\");\n        calcularTotalVenta($id);\n        \n        /* $total = number_format($result[\"total\"], 2);\n        $iva = number_format($result[\"iva\"], 2); */\n\n        echo \'<script type=\"text/javascript\">\n        	document.FRMBASEINFORME.PCO_Accion.value=\"PCO_CargarObjeto\";\n        	document.FRMBASEINFORME.PCO_Objeto.value=\"frm:8:1:id:\'.$id.\'\";\n        	document.FRMBASEINFORME.Precarga_EstilosBS.value=\"1\";\n        	document.FRMBASEINFORME.Presentar_FullScreen.value=\"0\";\n        	document.FRMBASEINFORME.target=\"_self\";\n        	document.FRMBASEINFORME.submit();\n    	 </script>\';\n    }\n}\n\nif($PCO_Accion == \"VENTA_agregarProducto\") {\n    $producto = PCO_EjecutarSQL(\"\n        SELECT id, precio_venta, iva\n        FROM app_productos\n        WHERE id = \'$id_producto\'\n    \")->fetch();\n    if($producto[\"id\"]) {\n        $existe = PCO_EjecutarSQL(\"\n            SELECT count(id)\n            FROM app_ventas_detalle\n            WHERE id_venta = $id AND id_producto = \'$id_producto\'\n        \")->fetchColumn();\n        if($existe > 0) {\n            print_r(\'{\"success\": false, \"msg\": \"El producto ya se ha ingresado\"}\');\n            die();\n        }\n        /* if($producto[\"inventario\"] < $cantidad) {\n            print_r(\'{\"success\": false, \"msg\": \"La cantidad digitada supera la del invetario\"}\');\n            die();\n        } */\n        // $inventarioNew = $producto[\"inventario\"] - $cantidad;\n        // PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas_detalle (id_venta, id_producto, cantidad, precio, iva, hora_inicio, hora_fin, guaje) VALUES (?,?,?,?,?,?,?,?) \", \n            \"$id$_SeparadorCampos_$id_producto$_SeparadorCampos_$cantidad$_SeparadorCampos_$precioVenta$_SeparadorCampos_\" . $producto[\"iva\"].\"$_SeparadorCampos$hora_inicio$_SeparadorCampos$hora_fin$_SeparadorCampos$guaje\");\n        $result = calcularTotalVenta($id);\n        print_r(\'{\"success\": true, \"id\": \' . $id . \', \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se ha encontrado el producto seleccionado\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_consultarTotalVenta\") {\n    if($id) {\n        $result = calcularTotalVenta($id);\n        print_r(\'{\"success\": true, \"id\": \' . $id . \', \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se encontro la venta\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_eliminarProducto\") {\n\n    if($id_venta_detalle && $id_venta) {\n        $producto = PCO_EjecutarSQL(\"\n            SELECT p.inventario, vd.cantidad, p.id\n            FROM app_ventas_detalle vd, app_productos p\n            WHERE vd.id_producto = p.id AND vd.id = \'$id_venta_detalle\'\n        \")->fetch();\n        //Restablecemos el inventario\n        $inventarioNew = $producto[\"inventario\"] + $producto[\"cantidad\"];\n        PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"DELETE FROM app_ventas_detalle WHERE id_venta = $id_venta AND id = $id_venta_detalle\");\n        $result = calcularTotalVenta($id_venta);\n        print_r(\'{\"success\": true, \"msg\": \"Se ha eliminado el producto exitosamente\", \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se pudo eliminar el producto\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_actualizarProductoVenta\") {\n    if($id) {\n        PCO_EjecutarSQLUnaria(\"UPDATE app_ventas_detalle SET cantidad=\'$cantidad\', precio=\'$precio\' WHERE id = \'$id\'\");\n        echo 1;\n        die();\n    }\n    echo 0;\n    die();\n}\n\nif($PCO_Accion == \"VENTA_imprimirFactura\") {\n    if($PCO_Valor)\n        $id = $PCO_Valor;\n    if($id) {\n        include_once \"imprimirFactura.php\";\n    }\n}\n\nif($PCO_Accion == \"VENTA_generarLiquidacionMecanicos\") {\n    $ventas = PCO_EjecutarSQL(\"\n        SELECT v.id, v.id_mecanico, SUM(v.total_mecanico) as Total, m.seguridad_social\n        FROM app_mecanicos m,app_ventas v\n        WHERE m.id = v.id_mecanico AND v.fecha >= \'$fecha_inicio 00:00:00\' AND v.fecha <= \'$fecha_fin 23:59:59\' AND v.estado = 1 AND id_mecanico <> 0 AND id_liquidacion=0\n        GROUP BY v.id_mecanico\n    \")->fetchAll();\n    foreach ($ventas as $venta) {\n        $valor_novedad = PCO_EjecutarSQL(\"\n            SELECT  \n                SUM(case when tipo_novedad= \'Abonar\' then valor_novedad else 0 end) as abonar,\n                SUM(case when tipo_novedad= \'Debitar\' then valor_novedad else 0 end) as debitar\n            FROM app_novedades_mecanicos\n            WHERE fecha >= \'$fecha_inicio\' AND fecha <= \'$fecha_fin\'\n                AND id_mecanico=\'\".$venta[\'id_mecanico\'].\"\' AND tipo_novedad = \'\'\n            GROUP BY id_mecanico\n        \")->fetch();\n\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_liquidacion_mecanicos_enc (id_mecanico, fecha_inicio, fecha_fin, fecha, valor_venta, valor_novedad_abonar, valor_novedad_debitar, seguridad_social, usuario) VALUES (?,?,?,?,?,?,?,?,?) \",\n            $venta[\"id_mecanico\"].\"$_SeparadorCampos_$fecha_inicio$_SeparadorCampos_$fecha_fin$_SeparadorCampos_$PCO_FechaOperacionGuiones$_SeparadorCampos_\".$venta[\"Total\"].\"$_SeparadorCampos_\".$valor_novedad[\'abonar\'].\"$_SeparadorCampos_\".$valor_novedad[\'debitar\'].\"$_SeparadorCampos_\".$venta[\"seguridad_social\"].\"$_SeparadorCampos_$PCOSESS_LoginUsuario\"\n        );\n    }\n        // arq de estados\n        //actualiozar estados\n    PCO_EjecutarSQLUnaria(\"\n        UPDATE app_ventas \n        SET id_liquidacion=1\n        WHERE app_mecanicos.id = app_ventas.id_mecanico AND app_ventas.fecha >= \'$fecha_inicio 00:00:00\' AND app_ventas.fecha <= \'$fecha_fin 23:59:59\' AND app_ventas.estado = 1 AND id_mecanico <> 0 AND id_liquidacion=0\");\n    PCO_CargarFormulario(14);\n}','A'),(967,'mod/app_ventas/index.php','2025-01-30 20:26:00','rafael',209,9752,'<?php\n\nfunction calcularTotalVenta($id, $returnArr = \"\") {\n    $venta = PCO_EjecutarSQL(\"\n        SELECT SUM(precio * cantidad) as total, SUM(precio * iva/100) iva\n        FROM app_ventas_detalle\n        WHERE id_venta = \'$id\' GROUP BY id_venta\n    \")->fetch();\n    $ventaMecanico = PCO_EjecutarSQL(\"\n        SELECT TRUNCATE(SUM(vd.precio * vd.cantidad * p.porcentaje_mecanico/100), 2)\n        FROM app_ventas_detalle vd, app_ventas v, app_productos p\n        WHERE vd.id_venta=v.id AND vd.id_producto=p.id AND  vd.id_venta = \'$id\' AND v.id_mecanico <> 0 GROUP BY vd.id_venta\n    \")->fetchColumn();\n    $total = $venta[\"total\"] ? $venta[\"total\"] : 0;\n    $iva = $venta[\"iva\"] ? $venta[\"iva\"] : 0;\n    PCO_EjecutarSQLUnaria(\"UPDATE app_ventas SET total = $total, iva = $iva, total_mecanico=\'$ventaMecanico\' WHERE id = $id \");\n    if($returnArr)\n        return $venta;\n    return \'\"total\": \' . $total . \', \"iva\": \' . $iva;\n}\n\nif($PCO_Accion == \"VENTA_ingresarRealizarVenta\") {\n    $ventaAbierta = PCO_EjecutarSQL(\"\n        SELECT id, id_cliente, total, iva, placa\n        FROM app_ventas\n        WHERE id=\'$PCO_Valor\'\n    \")->fetch();\n\n    $id_venta = $ventaAbierta[\"id\"] || \"\";\n    if($id_venta) {\n        $total = number_format($ventaAbierta[\"total\"], 2);\n        $iva = number_format($ventaAbierta[\"iva\"], 2);\n        $id_cliente = $ventaAbierta[\"id_cliente\"];\n    }\n\n    PCO_CargarFormulario(8, 1, \"id\", $id_venta);\n}\n\nif($PCO_Accion == \"VENTA_agregarProductoCrearOC\") {\n        //crear cliente en caso de que no llegue id_cliente\n        if(!$id_cliente) {\n            PCO_EjecutarSQLUnaria(\"INSERT INTO app_clientes (nombre_completo, numero_documento, telefono) VALUES (?,?,?) \",\n                \"$nombre_completo$_SeparadorCampos_$numero_documento$_SeparadorCampos_$telefono\"\n            );\n            // $id_cliente = PCO_ObtenerUltimoIDInsertado();\n            $id_cliente = PCO_EjecutarSQL(\"\n                SELECT id\n                FROM app_clientes\n                WHERE numero_documento=\'$numero_documento\' AND telefono=\'$telefono\' AND \'$nombre_completo\'\n            \")->fetchColumn();\n        }\n        $todayMysql = date(\"Y-m-d H:i:s\");\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas (id_cliente, usuario, fecha, placa, id_mecanico, tipo_venta) VALUES (?,?,?,?,?,?) \", \"$id_cliente$_SeparadorCampos_$PCOSESS_LoginUsuario$_SeparadorCampos_$todayMysql$_SeparadorCampos_$placa$_SeparadorCampos_$id_mecanico$_SeparadorCampos_$tipo_venta\");\n        $id = PCO_EjecutarSQL(\"\n            SELECT id\n            FROM app_ventas\n            WHERE fecha=\'$todayMysql\' AND usuario=\'$PCOSESS_LoginUsuario\' AND id_cliente = \'$id_cliente\'\n        \")->fetchColumn();\n        // $id = PCO_ObtenerUltimoIDInsertado();\n\n    $producto = PCO_EjecutarSQL(\"\n        SELECT id, precio_venta, iva, inventario\n        FROM app_productos\n        WHERE id = \'$id_producto\'\n    \")->fetch();\n    if($producto[\"id\"]) {\n        $existe = PCO_EjecutarSQL(\"\n            SELECT count(id)\n            FROM app_ventas_detalle\n            WHERE id_venta = $id AND id_producto = \'$id_producto\'\n        \")->fetchColumn();\n        if($existe > 0) {\n            print_r(\'{\"success\": false, \"msg\": \"El producto ya se ha ingresado\"}\');\n            die();\n        }\n        /* if($producto[\"inventario\"] < $cantidad) {\n            print_r(\'{\"success\": false, \"msg\": \"La cantidad digitada supera la del invetario\"}\');\n            die();\n        } */\n        // $inventarioNew = $producto[\"inventario\"] - $cantidad;\n        // PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas_detalle (id_venta, id_producto, cantidad, precio, iva, hora_inicio, hora_fin, guaje) VALUES (?,?,?,?,?,?,?,?) \", \n            \"$id$_SeparadorCampos_$id_producto$_SeparadorCampos_$cantidad$_SeparadorCampos_$precio$_SeparadorCampos_\" . $producto[\"iva\"].\"$_SeparadorCampos_$hora_inicio$_SeparadorCampos_$hora_fin$_SeparadorCampos_$guaje\");\n        calcularTotalVenta($id);\n        \n        /* $total = number_format($result[\"total\"], 2);\n        $iva = number_format($result[\"iva\"], 2); */\n\n        echo \'<script type=\"text/javascript\">\n        	document.FRMBASEINFORME.PCO_Accion.value=\"PCO_CargarObjeto\";\n        	document.FRMBASEINFORME.PCO_Objeto.value=\"frm:8:1:id:\'.$id.\'\";\n        	document.FRMBASEINFORME.Precarga_EstilosBS.value=\"1\";\n        	document.FRMBASEINFORME.Presentar_FullScreen.value=\"0\";\n        	document.FRMBASEINFORME.target=\"_self\";\n        	document.FRMBASEINFORME.submit();\n    	 </script>\';\n    }\n}\n\nif($PCO_Accion == \"VENTA_agregarProducto\") {\n    $producto = PCO_EjecutarSQL(\"\n        SELECT id, precio_venta, iva\n        FROM app_productos\n        WHERE id = \'$id_producto\'\n    \")->fetch();\n    if($producto[\"id\"]) {\n        $existe = PCO_EjecutarSQL(\"\n            SELECT count(id)\n            FROM app_ventas_detalle\n            WHERE id_venta = $id AND id_producto = \'$id_producto\'\n        \")->fetchColumn();\n        if($existe > 0) {\n            print_r(\'{\"success\": false, \"msg\": \"El producto ya se ha ingresado\"}\');\n            die();\n        }\n        /* if($producto[\"inventario\"] < $cantidad) {\n            print_r(\'{\"success\": false, \"msg\": \"La cantidad digitada supera la del invetario\"}\');\n            die();\n        } */\n        // $inventarioNew = $producto[\"inventario\"] - $cantidad;\n        // PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas_detalle (id_venta, id_producto, cantidad, precio, iva, hora_inicio, hora_fin, guaje) VALUES (?,?,?,?,?,?,?,?) \", \n            \"$id$_SeparadorCampos_$id_producto$_SeparadorCampos_$cantidad$_SeparadorCampos_$precioVenta$_SeparadorCampos_\" . $producto[\"iva\"].\"$_SeparadorCampos$hora_inicio$_SeparadorCampos$hora_fin$_SeparadorCampos$guaje\");\n        $result = calcularTotalVenta($id);\n        print_r(\'{\"success\": true, \"id\": \' . $id . \', \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se ha encontrado el producto seleccionado\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_consultarTotalVenta\") {\n    if($id) {\n        $result = calcularTotalVenta($id);\n        print_r(\'{\"success\": true, \"id\": \' . $id . \', \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se encontro la venta\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_eliminarProducto\") {\n\n    if($id_venta_detalle && $id_venta) {\n        $producto = PCO_EjecutarSQL(\"\n            SELECT p.inventario, vd.cantidad, p.id\n            FROM app_ventas_detalle vd, app_productos p\n            WHERE vd.id_producto = p.id AND vd.id = \'$id_venta_detalle\'\n        \")->fetch();\n        //Restablecemos el inventario\n        $inventarioNew = $producto[\"inventario\"] + $producto[\"cantidad\"];\n        PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"DELETE FROM app_ventas_detalle WHERE id_venta = $id_venta AND id = $id_venta_detalle\");\n        $result = calcularTotalVenta($id_venta);\n        print_r(\'{\"success\": true, \"msg\": \"Se ha eliminado el producto exitosamente\", \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se pudo eliminar el producto\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_actualizarProductoVenta\") {\n    if($id) {\n        PCO_EjecutarSQLUnaria(\"UPDATE app_ventas_detalle SET cantidad=\'$cantidad\', precio=\'$precio\' WHERE id = \'$id\'\");\n        echo 1;\n        die();\n    }\n    echo 0;\n    die();\n}\n\nif($PCO_Accion == \"VENTA_imprimirFactura\") {\n    if($PCO_Valor)\n        $id = $PCO_Valor;\n    if($id) {\n        include_once \"imprimirFactura.php\";\n    }\n}\n\nif($PCO_Accion == \"VENTA_generarLiquidacionMecanicos\") {\n    $ventas = PCO_EjecutarSQL(\"\n        SELECT v.id, v.id_mecanico, SUM(v.total_mecanico) as Total, m.seguridad_social\n        FROM app_mecanicos m,app_ventas v\n        WHERE m.id = v.id_mecanico AND v.fecha >= \'$fecha_inicio 00:00:00\' AND v.fecha <= \'$fecha_fin 23:59:59\' AND v.estado = 1 AND id_mecanico <> 0 AND id_liquidacion=0\n        GROUP BY v.id_mecanico\n    \")->fetchAll();\n    foreach ($ventas as $venta) {\n        $valor_novedad = PCO_EjecutarSQL(\"\n            SELECT  \n                SUM(case when tipo_novedad= \'Abonar\' then valor_novedad else 0 end) as abonar,\n                SUM(case when tipo_novedad= \'Debitar\' then valor_novedad else 0 end) as debitar\n            FROM app_novedades_mecanicos\n            WHERE fecha >= \'$fecha_inicio\' AND fecha <= \'$fecha_fin\'\n                AND id_mecanico=\'\".$venta[\'id_mecanico\'].\"\' AND tipo_novedad = \'\'\n            GROUP BY id_mecanico\n        \")->fetch();\n\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_liquidacion_mecanicos_enc (id_mecanico, fecha_inicio, fecha_fin, fecha, valor_venta, valor_novedad_abonar, valor_novedad_debitar, seguridad_social, usuario) VALUES (?,?,?,?,?,?,?,?,?) \",\n            $venta[\"id_mecanico\"].\"$_SeparadorCampos_$fecha_inicio$_SeparadorCampos_$fecha_fin$_SeparadorCampos_$PCO_FechaOperacionGuiones$_SeparadorCampos_\".$venta[\"Total\"].\"$_SeparadorCampos_\".$valor_novedad[\'abonar\'].\"$_SeparadorCampos_\".$valor_novedad[\'debitar\'].\"$_SeparadorCampos_\".$venta[\"seguridad_social\"].\"$_SeparadorCampos_$PCOSESS_LoginUsuario\"\n        );\n    }\n        // arq de estados\n        //actualiozar estados\n    PCO_EjecutarSQLUnaria(\"\n        UPDATE app_ventas \n        SET id_liquidacion=1\n        WHERE app_mecanicos.id = app_ventas.id_mecanico AND app_ventas.fecha >= \'$fecha_inicio 00:00:00\' AND app_ventas.fecha <= \'$fecha_fin 23:59:59\' AND app_ventas.estado = 1 AND id_mecanico <> 0 AND id_liquidacion=0\");\n    PCO_CargarFormulario(14);\n}','A'),(968,'mod/app_ventas/index.php','2025-01-30 20:27:00','rafael',209,9752,'<?php\n\nfunction calcularTotalVenta($id, $returnArr = \"\") {\n    $venta = PCO_EjecutarSQL(\"\n        SELECT SUM(precio * cantidad) as total, SUM(precio * iva/100) iva\n        FROM app_ventas_detalle\n        WHERE id_venta = \'$id\' GROUP BY id_venta\n    \")->fetch();\n    $ventaMecanico = PCO_EjecutarSQL(\"\n        SELECT TRUNCATE(SUM(vd.precio * vd.cantidad * p.porcentaje_mecanico/100), 2)\n        FROM app_ventas_detalle vd, app_ventas v, app_productos p\n        WHERE vd.id_venta=v.id AND vd.id_producto=p.id AND  vd.id_venta = \'$id\' AND v.id_mecanico <> 0 GROUP BY vd.id_venta\n    \")->fetchColumn();\n    $total = $venta[\"total\"] ? $venta[\"total\"] : 0;\n    $iva = $venta[\"iva\"] ? $venta[\"iva\"] : 0;\n    PCO_EjecutarSQLUnaria(\"UPDATE app_ventas SET total = $total, iva = $iva, total_mecanico=\'$ventaMecanico\' WHERE id = $id \");\n    if($returnArr)\n        return $venta;\n    return \'\"total\": \' . $total . \', \"iva\": \' . $iva;\n}\n\nif($PCO_Accion == \"VENTA_ingresarRealizarVenta\") {\n    $ventaAbierta = PCO_EjecutarSQL(\"\n        SELECT id, id_cliente, total, iva, placa\n        FROM app_ventas\n        WHERE id=\'$PCO_Valor\'\n    \")->fetch();\n\n    $id_venta = $ventaAbierta[\"id\"] || \"\";\n    if($id_venta) {\n        $total = number_format($ventaAbierta[\"total\"], 2);\n        $iva = number_format($ventaAbierta[\"iva\"], 2);\n        $id_cliente = $ventaAbierta[\"id_cliente\"];\n    }\n\n    PCO_CargarFormulario(8, 1, \"id\", $id_venta);\n}\n\nif($PCO_Accion == \"VENTA_agregarProductoCrearOC\") {\n        //crear cliente en caso de que no llegue id_cliente\n        if(!$id_cliente) {\n            PCO_EjecutarSQLUnaria(\"INSERT INTO app_clientes (nombre_completo, numero_documento, telefono) VALUES (?,?,?) \",\n                \"$nombre_completo$_SeparadorCampos_$numero_documento$_SeparadorCampos_$telefono\"\n            );\n            // $id_cliente = PCO_ObtenerUltimoIDInsertado();\n            $id_cliente = PCO_EjecutarSQL(\"\n                SELECT id\n                FROM app_clientes\n                WHERE numero_documento=\'$numero_documento\' AND telefono=\'$telefono\' AND \'$nombre_completo\'\n            \")->fetchColumn();\n        }\n        $todayMysql = date(\"Y-m-d H:i:s\");\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas (id_cliente, usuario, fecha, placa, id_mecanico, tipo_venta) VALUES (?,?,?,?,?,?) \", \"$id_cliente$_SeparadorCampos_$PCOSESS_LoginUsuario$_SeparadorCampos_$todayMysql$_SeparadorCampos_$placa$_SeparadorCampos_$id_mecanico$_SeparadorCampos_$tipo_venta\");\n        $id = PCO_EjecutarSQL(\"\n            SELECT id\n            FROM app_ventas\n            WHERE fecha=\'$todayMysql\' AND usuario=\'$PCOSESS_LoginUsuario\' AND id_cliente = \'$id_cliente\'\n        \")->fetchColumn();\n        // $id = PCO_ObtenerUltimoIDInsertado();\n\n    $producto = PCO_EjecutarSQL(\"\n        SELECT id, precio_venta, iva, inventario\n        FROM app_productos\n        WHERE id = \'$id_producto\'\n    \")->fetch();\n    if($producto[\"id\"]) {\n        $existe = PCO_EjecutarSQL(\"\n            SELECT count(id)\n            FROM app_ventas_detalle\n            WHERE id_venta = $id AND id_producto = \'$id_producto\'\n        \")->fetchColumn();\n        if($existe > 0) {\n            print_r(\'{\"success\": false, \"msg\": \"El producto ya se ha ingresado\"}\');\n            die();\n        }\n        /* if($producto[\"inventario\"] < $cantidad) {\n            print_r(\'{\"success\": false, \"msg\": \"La cantidad digitada supera la del invetario\"}\');\n            die();\n        } */\n        // $inventarioNew = $producto[\"inventario\"] - $cantidad;\n        // PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas_detalle (id_venta, id_producto, cantidad, precio, iva, hora_inicio, hora_fin, guaje) VALUES (?,?,?,?,?,?,?,?) \", \n            \"$id$_SeparadorCampos_$id_producto$_SeparadorCampos_$cantidad$_SeparadorCampos_$precio$_SeparadorCampos_\" . $producto[\"iva\"].\"$_SeparadorCampos_$hora_inicio$_SeparadorCampos_$hora_fin$_SeparadorCampos_$guaje\");\n        calcularTotalVenta($id);\n        \n        /* $total = number_format($result[\"total\"], 2);\n        $iva = number_format($result[\"iva\"], 2); */\n\n        echo \'<script type=\"text/javascript\">\n        	document.FRMBASEINFORME.PCO_Accion.value=\"PCO_CargarObjeto\";\n        	document.FRMBASEINFORME.PCO_Objeto.value=\"frm:8:1:id:\'.$id.\'\";\n        	document.FRMBASEINFORME.Precarga_EstilosBS.value=\"1\";\n        	document.FRMBASEINFORME.Presentar_FullScreen.value=\"0\";\n        	document.FRMBASEINFORME.target=\"_self\";\n        	document.FRMBASEINFORME.submit();\n    	 </script>\';\n    }\n}\n\nif($PCO_Accion == \"VENTA_agregarProducto\") {\n    $producto = PCO_EjecutarSQL(\"\n        SELECT id, precio_venta, iva\n        FROM app_productos\n        WHERE id = \'$id_producto\'\n    \")->fetch();\n    if($producto[\"id\"]) {\n        $existe = PCO_EjecutarSQL(\"\n            SELECT count(id)\n            FROM app_ventas_detalle\n            WHERE id_venta = $id AND id_producto = \'$id_producto\'\n        \")->fetchColumn();\n        if($existe > 0) {\n            print_r(\'{\"success\": false, \"msg\": \"El producto ya se ha ingresado\"}\');\n            die();\n        }\n        /* if($producto[\"inventario\"] < $cantidad) {\n            print_r(\'{\"success\": false, \"msg\": \"La cantidad digitada supera la del invetario\"}\');\n            die();\n        } */\n        // $inventarioNew = $producto[\"inventario\"] - $cantidad;\n        // PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas_detalle (id_venta, id_producto, cantidad, precio, iva, hora_inicio, hora_fin, guaje) VALUES (?,?,?,?,?,?,?,?) \", \n            \"$id$_SeparadorCampos_$id_producto$_SeparadorCampos_$cantidad$_SeparadorCampos_$precioVenta$_SeparadorCampos_\" . $producto[\"iva\"].\"$_SeparadorCampos$hora_inicio$_SeparadorCampos$hora_fin$_SeparadorCampos$guaje\");\n        $result = calcularTotalVenta($id);\n        print_r(\'{\"success\": true, \"id\": \' . $id . \', \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se ha encontrado el producto seleccionado\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_consultarTotalVenta\") {\n    if($id) {\n        $result = calcularTotalVenta($id);\n        print_r(\'{\"success\": true, \"id\": \' . $id . \', \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se encontro la venta\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_eliminarProducto\") {\n\n    if($id_venta_detalle && $id_venta) {\n        $producto = PCO_EjecutarSQL(\"\n            SELECT p.inventario, vd.cantidad, p.id\n            FROM app_ventas_detalle vd, app_productos p\n            WHERE vd.id_producto = p.id AND vd.id = \'$id_venta_detalle\'\n        \")->fetch();\n        //Restablecemos el inventario\n        $inventarioNew = $producto[\"inventario\"] + $producto[\"cantidad\"];\n        PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"DELETE FROM app_ventas_detalle WHERE id_venta = $id_venta AND id = $id_venta_detalle\");\n        $result = calcularTotalVenta($id_venta);\n        print_r(\'{\"success\": true, \"msg\": \"Se ha eliminado el producto exitosamente\", \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se pudo eliminar el producto\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_actualizarProductoVenta\") {\n    if($id) {\n        PCO_EjecutarSQLUnaria(\"UPDATE app_ventas_detalle SET cantidad=\'$cantidad\', precio=\'$precio\' WHERE id = \'$id\'\");\n        echo 1;\n        die();\n    }\n    echo 0;\n    die();\n}\n\nif($PCO_Accion == \"VENTA_imprimirFactura\") {\n    if($PCO_Valor)\n        $id = $PCO_Valor;\n    if($id) {\n        include_once \"imprimirFactura.php\";\n    }\n}\n\nif($PCO_Accion == \"VENTA_generarLiquidacionMecanicos\") {\n    $ventas = PCO_EjecutarSQL(\"\n        SELECT v.id, v.id_mecanico, SUM(v.total_mecanico) as Total, m.seguridad_social\n        FROM app_mecanicos m,app_ventas v\n        WHERE m.id = v.id_mecanico AND v.fecha >= \'$fecha_inicio 00:00:00\' AND v.fecha <= \'$fecha_fin 23:59:59\' AND v.estado = 1 AND id_mecanico <> 0 AND id_liquidacion=0\n        GROUP BY v.id_mecanico\n    \")->fetchAll();\n    foreach ($ventas as $venta) {\n        $valor_novedad = PCO_EjecutarSQL(\"\n            SELECT  \n                SUM(case when tipo_novedad= \'Abonar\' then valor_novedad else 0 end) as abonar,\n                SUM(case when tipo_novedad= \'Debitar\' then valor_novedad else 0 end) as debitar\n            FROM app_novedades_mecanicos\n            WHERE fecha >= \'$fecha_inicio\' AND fecha <= \'$fecha_fin\'\n                AND id_mecanico=\'\".$venta[\'id_mecanico\'].\"\' AND tipo_novedad = \'\'\n            GROUP BY id_mecanico\n        \")->fetch();\n\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_liquidacion_mecanicos_enc (id_mecanico, fecha_inicio, fecha_fin, fecha, valor_venta, valor_novedad_abonar, valor_novedad_debitar, seguridad_social, usuario) VALUES (?,?,?,?,?,?,?,?,?) \",\n            $venta[\"id_mecanico\"].\"$_SeparadorCampos_$fecha_inicio$_SeparadorCampos_$fecha_fin$_SeparadorCampos_$PCO_FechaOperacionGuiones$_SeparadorCampos_\".$venta[\"Total\"].\"$_SeparadorCampos_\".$valor_novedad[\'abonar\'].\"$_SeparadorCampos_\".$valor_novedad[\'debitar\'].\"$_SeparadorCampos_\".$venta[\"seguridad_social\"].\"$_SeparadorCampos_$PCOSESS_LoginUsuario\"\n        );\n    }\n        // arq de estados\n        //actualiozar estados\n    PCO_EjecutarSQLUnaria(\"\n        UPDATE app_ventas \n        SET id_liquidacion=1\n        WHERE app_mecanicos.id = app_ventas.id_mecanico AND app_ventas.fecha >= \'$fecha_inicio 00:00:00\' AND app_ventas.fecha <= \'$fecha_fin 23:59:59\' AND app_ventas.estado = 1 AND id_mecanico <> 0 AND id_liquidacion=0\");\n    PCO_CargarFormulario(14);\n}','A'),(969,'mod/app_ventas/index.php','2025-01-30 20:33:00','rafael',209,9750,'<?php\n\nfunction calcularTotalVenta($id, $returnArr = \"\") {\n    $venta = PCO_EjecutarSQL(\"\n        SELECT SUM(precio * cantidad) as total, SUM(precio * iva/100) iva\n        FROM app_ventas_detalle\n        WHERE id_venta = \'$id\' GROUP BY id_venta\n    \")->fetch();\n    $ventaMecanico = PCO_EjecutarSQL(\"\n        SELECT TRUNCATE(SUM(vd.precio * vd.cantidad * p.porcentaje_mecanico/100), 2)\n        FROM app_ventas_detalle vd, app_ventas v, app_productos p\n        WHERE vd.id_venta=v.id AND vd.id_producto=p.id AND  vd.id_venta = \'$id\' AND v.id_mecanico <> 0 GROUP BY vd.id_venta\n    \")->fetchColumn();\n    $total = $venta[\"total\"] ? $venta[\"total\"] : 0;\n    $iva = $venta[\"iva\"] ? $venta[\"iva\"] : 0;\n    PCO_EjecutarSQLUnaria(\"UPDATE app_ventas SET total = $total, iva = $iva, total_mecanico=\'$ventaMecanico\' WHERE id = $id \");\n    if($returnArr)\n        return $venta;\n    return \'\"total\": \' . $total . \', \"iva\": \' . $iva;\n}\n\nif($PCO_Accion == \"VENTA_ingresarRealizarVenta\") {\n    $ventaAbierta = PCO_EjecutarSQL(\"\n        SELECT id, id_cliente, total, iva, placa\n        FROM app_ventas\n        WHERE id=\'$PCO_Valor\'\n    \")->fetch();\n\n    $id_venta = $ventaAbierta[\"id\"] || \"\";\n    if($id_venta) {\n        $total = number_format($ventaAbierta[\"total\"], 2);\n        $iva = number_format($ventaAbierta[\"iva\"], 2);\n        $id_cliente = $ventaAbierta[\"id_cliente\"];\n    }\n\n    PCO_CargarFormulario(8, 1, \"id\", $id_venta);\n}\n\nif($PCO_Accion == \"VENTA_agregarProductoCrearOC\") {\n        //crear cliente en caso de que no llegue id_cliente\n        if(!$id_cliente) {\n            PCO_EjecutarSQLUnaria(\"INSERT INTO app_clientes (nombre_completo, numero_documento, telefono) VALUES (?,?,?) \",\n                \"$nombre_completo$_SeparadorCampos_$numero_documento$_SeparadorCampos_$telefono\"\n            );\n            // $id_cliente = PCO_ObtenerUltimoIDInsertado();\n            $id_cliente = PCO_EjecutarSQL(\"\n                SELECT id\n                FROM app_clientes\n                WHERE numero_documento=\'$numero_documento\' AND telefono=\'$telefono\' AND \'$nombre_completo\'\n            \")->fetchColumn();\n        }\n        $todayMysql = date(\"Y-m-d H:i:s\");\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas (id_cliente, usuario, fecha, placa, id_mecanico, tipo_venta) VALUES (?,?,?,?,?,?) \", \"$id_cliente$_SeparadorCampos_$PCOSESS_LoginUsuario$_SeparadorCampos_$todayMysql$_SeparadorCampos_$placa$_SeparadorCampos_$id_mecanico$_SeparadorCampos_$tipo_venta\");\n        $id = PCO_EjecutarSQL(\"\n            SELECT id\n            FROM app_ventas\n            WHERE fecha=\'$todayMysql\' AND usuario=\'$PCOSESS_LoginUsuario\' AND id_cliente = \'$id_cliente\'\n        \")->fetchColumn();\n        // $id = PCO_ObtenerUltimoIDInsertado();\n\n    $producto = PCO_EjecutarSQL(\"\n        SELECT id, precio_venta, iva, inventario\n        FROM app_productos\n        WHERE id = \'$id_producto\'\n    \")->fetch();\n    if($producto[\"id\"]) {\n        $existe = PCO_EjecutarSQL(\"\n            SELECT count(id)\n            FROM app_ventas_detalle\n            WHERE id_venta = $id AND id_producto = \'$id_producto\'\n        \")->fetchColumn();\n        if($existe > 0) {\n            print_r(\'{\"success\": false, \"msg\": \"El producto ya se ha ingresado\"}\');\n            die();\n        }\n        /* if($producto[\"inventario\"] < $cantidad) {\n            print_r(\'{\"success\": false, \"msg\": \"La cantidad digitada supera la del invetario\"}\');\n            die();\n        } */\n        // $inventarioNew = $producto[\"inventario\"] - $cantidad;\n        // PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas_detalle (id_venta, id_producto, cantidad, precio, iva, hora_inicio, hora_fin, guaje) VALUES (?,?,?,?,?,?,?,?) \", \n            \"$id$_SeparadorCampos_$id_producto$_SeparadorCampos_$cantidad$_SeparadorCampos_$precio$_SeparadorCampos_\" . $producto[\"iva\"].\"$_SeparadorCampos_$hora_inicio$_SeparadorCampos_$hora_fin$_SeparadorCampos_$guaje\");\n        calcularTotalVenta($id);\n        \n        /* $total = number_format($result[\"total\"], 2);\n        $iva = number_format($result[\"iva\"], 2); */\n\n        echo \'<script type=\"text/javascript\">\n        	document.FRMBASEINFORME.PCO_Accion.value=\"PCO_CargarObjeto\";\n        	document.FRMBASEINFORME.PCO_Objeto.value=\"frm:8:1:id:\'.$id.\'\";\n        	document.FRMBASEINFORME.Precarga_EstilosBS.value=\"1\";\n        	document.FRMBASEINFORME.Presentar_FullScreen.value=\"0\";\n        	document.FRMBASEINFORME.target=\"_self\";\n        	document.FRMBASEINFORME.submit();\n    	 </script>\';\n    }\n}\n\nif($PCO_Accion == \"VENTA_agregarProducto\") {\n    $producto = PCO_EjecutarSQL(\"\n        SELECT id, precio_venta, iva\n        FROM app_productos\n        WHERE id = \'$id_producto\'\n    \")->fetch();\n    if($producto[\"id\"]) {\n        $existe = PCO_EjecutarSQL(\"\n            SELECT count(id)\n            FROM app_ventas_detalle\n            WHERE id_venta = $id AND id_producto = \'$id_producto\'\n        \")->fetchColumn();\n        if($existe > 0) {\n            print_r(\'{\"success\": false, \"msg\": \"El producto ya se ha ingresado\"}\');\n            die();\n        }\n        /* if($producto[\"inventario\"] < $cantidad) {\n            print_r(\'{\"success\": false, \"msg\": \"La cantidad digitada supera la del invetario\"}\');\n            die();\n        } */\n        // $inventarioNew = $producto[\"inventario\"] - $cantidad;\n        // PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas_detalle (id_venta, id_producto, cantidad, precio, iva, hora_inicio, hora_fin, guaje) VALUES (?,?,?,?,?,?,?,?) \", \n            \"$id$_SeparadorCampos_$id_producto$_SeparadorCampos_$cantidad$_SeparadorCampos_$precioVenta$_SeparadorCampos_\" . $producto[\"iva\"].\"$_SeparadorCampos$hora_inicio$_SeparadorCampos$hora_fin$_SeparadorCampos$guaje\");\n        $result = calcularTotalVenta($id);\n        print_r(\'{\"success\": true, \"id\": \' . $id . \', \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se ha encontrado el producto seleccionado\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_consultarTotalVenta\") {\n    if($id) {\n        $result = calcularTotalVenta($id);\n        print_r(\'{\"success\": true, \"id\": \' . $id . \', \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se encontro la venta\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_eliminarProducto\") {\n\n    if($id_venta_detalle && $id_venta) {\n        $producto = PCO_EjecutarSQL(\"\n            SELECT p.inventario, vd.cantidad, p.id\n            FROM app_ventas_detalle vd, app_productos p\n            WHERE vd.id_producto = p.id AND vd.id = \'$id_venta_detalle\'\n        \")->fetch();\n        //Restablecemos el inventario\n        $inventarioNew = $producto[\"inventario\"] + $producto[\"cantidad\"];\n        PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"DELETE FROM app_ventas_detalle WHERE id_venta = $id_venta AND id = $id_venta_detalle\");\n        $result = calcularTotalVenta($id_venta);\n        print_r(\'{\"success\": true, \"msg\": \"Se ha eliminado el producto exitosamente\", \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se pudo eliminar el producto\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_actualizarProductoVenta\") {\n    if($id) {\n        PCO_EjecutarSQLUnaria(\"UPDATE app_ventas_detalle SET cantidad=\'$cantidad\', precio=\'$precio\' WHERE id = \'$id\'\");\n        echo 1;\n        die();\n    }\n    echo 0;\n    die();\n}\n\nif($PCO_Accion == \"VENTA_imprimirFactura\") {\n    if($PCO_Valor)\n        $id = $PCO_Valor;\n    if($id) {\n        include_once \"imprimirFactura.php\";\n    }\n}\n\nif($PCO_Accion == \"VENTA_generarLiquidacionMecanicos\") {\n    $ventas = PCO_EjecutarSQL(\"\n        SELECT v.id, v.id_mecanico, SUM(v.total_mecanico) as Total, m.seguridad_social\n        FROM app_mecanicos m,app_ventas v\n        WHERE m.id = v.id_mecanico AND v.fecha >= \'$fecha_inicio 00:00:00\' AND v.fecha <= \'$fecha_fin 23:59:59\' AND v.estado = 1 AND id_mecanico <> 0 AND id_liquidacion=0\n        GROUP BY v.id_mecanico\n    \")->fetchAll();\n    foreach ($ventas as $venta) {\n        $valor_novedad = PCO_EjecutarSQL(\"\n            SELECT  \n                SUM(case when tipo_novedad=\'Abonar\' then valor_novedad else 0 end) as abonar,\n                SUM(case when tipo_novedad=\'Debitar\' then valor_novedad else 0 end) as debitar\n            FROM app_novedades_mecanicos\n            WHERE fecha >= \'$fecha_inicio\' AND fecha <= \'$fecha_fin\'\n                AND id_mecanico=\'\".$venta[\'id_mecanico\'].\"\' AND tipo_novedad = \'\'\n            GROUP BY id_mecanico\n        \")->fetch();\n\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_liquidacion_mecanicos_enc (id_mecanico, fecha_inicio, fecha_fin, fecha, valor_venta, valor_novedad_abonar, valor_novedad_debitar, seguridad_social, usuario) VALUES (?,?,?,?,?,?,?,?,?) \",\n            $venta[\"id_mecanico\"].\"$_SeparadorCampos_$fecha_inicio$_SeparadorCampos_$fecha_fin$_SeparadorCampos_$PCO_FechaOperacionGuiones$_SeparadorCampos_\".$venta[\"Total\"].\"$_SeparadorCampos_\".$valor_novedad[\'abonar\'].\"$_SeparadorCampos_\".$valor_novedad[\'debitar\'].\"$_SeparadorCampos_\".$venta[\"seguridad_social\"].\"$_SeparadorCampos_$PCOSESS_LoginUsuario\"\n        );\n    }\n        // arq de estados\n        //actualiozar estados\n    PCO_EjecutarSQLUnaria(\"\n        UPDATE app_ventas \n        SET id_liquidacion=1\n        WHERE app_mecanicos.id = app_ventas.id_mecanico AND app_ventas.fecha >= \'$fecha_inicio 00:00:00\' AND app_ventas.fecha <= \'$fecha_fin 23:59:59\' AND app_ventas.estado = 1 AND id_mecanico <> 0 AND id_liquidacion=0\");\n    PCO_CargarFormulario(14);\n}','A'),(970,'mod/app_ventas/index.php','2025-01-30 20:37:00','rafael',209,9749,'<?php\n\nfunction calcularTotalVenta($id, $returnArr = \"\") {\n    $venta = PCO_EjecutarSQL(\"\n        SELECT SUM(precio * cantidad) as total, SUM(precio * iva/100) iva\n        FROM app_ventas_detalle\n        WHERE id_venta = \'$id\' GROUP BY id_venta\n    \")->fetch();\n    $ventaMecanico = PCO_EjecutarSQL(\"\n        SELECT TRUNCATE(SUM(vd.precio * vd.cantidad * p.porcentaje_mecanico/100), 2)\n        FROM app_ventas_detalle vd, app_ventas v, app_productos p\n        WHERE vd.id_venta=v.id AND vd.id_producto=p.id AND  vd.id_venta = \'$id\' AND v.id_mecanico <> 0 GROUP BY vd.id_venta\n    \")->fetchColumn();\n    $total = $venta[\"total\"] ? $venta[\"total\"] : 0;\n    $iva = $venta[\"iva\"] ? $venta[\"iva\"] : 0;\n    PCO_EjecutarSQLUnaria(\"UPDATE app_ventas SET total = $total, iva = $iva, total_mecanico=\'$ventaMecanico\' WHERE id = $id \");\n    if($returnArr)\n        return $venta;\n    return \'\"total\": \' . $total . \', \"iva\": \' . $iva;\n}\n\nif($PCO_Accion == \"VENTA_ingresarRealizarVenta\") {\n    $ventaAbierta = PCO_EjecutarSQL(\"\n        SELECT id, id_cliente, total, iva, placa\n        FROM app_ventas\n        WHERE id=\'$PCO_Valor\'\n    \")->fetch();\n\n    $id_venta = $ventaAbierta[\"id\"] || \"\";\n    if($id_venta) {\n        $total = number_format($ventaAbierta[\"total\"], 2);\n        $iva = number_format($ventaAbierta[\"iva\"], 2);\n        $id_cliente = $ventaAbierta[\"id_cliente\"];\n    }\n\n    PCO_CargarFormulario(8, 1, \"id\", $id_venta);\n}\n\nif($PCO_Accion == \"VENTA_agregarProductoCrearOC\") {\n        //crear cliente en caso de que no llegue id_cliente\n        if(!$id_cliente) {\n            PCO_EjecutarSQLUnaria(\"INSERT INTO app_clientes (nombre_completo, numero_documento, telefono) VALUES (?,?,?) \",\n                \"$nombre_completo$_SeparadorCampos_$numero_documento$_SeparadorCampos_$telefono\"\n            );\n            // $id_cliente = PCO_ObtenerUltimoIDInsertado();\n            $id_cliente = PCO_EjecutarSQL(\"\n                SELECT id\n                FROM app_clientes\n                WHERE numero_documento=\'$numero_documento\' AND telefono=\'$telefono\' AND \'$nombre_completo\'\n            \")->fetchColumn();\n        }\n        $todayMysql = date(\"Y-m-d H:i:s\");\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas (id_cliente, usuario, fecha, placa, id_mecanico, tipo_venta) VALUES (?,?,?,?,?,?) \", \"$id_cliente$_SeparadorCampos_$PCOSESS_LoginUsuario$_SeparadorCampos_$todayMysql$_SeparadorCampos_$placa$_SeparadorCampos_$id_mecanico$_SeparadorCampos_$tipo_venta\");\n        $id = PCO_EjecutarSQL(\"\n            SELECT id\n            FROM app_ventas\n            WHERE fecha=\'$todayMysql\' AND usuario=\'$PCOSESS_LoginUsuario\' AND id_cliente = \'$id_cliente\'\n        \")->fetchColumn();\n        // $id = PCO_ObtenerUltimoIDInsertado();\n\n    $producto = PCO_EjecutarSQL(\"\n        SELECT id, precio_venta, iva, inventario\n        FROM app_productos\n        WHERE id = \'$id_producto\'\n    \")->fetch();\n    if($producto[\"id\"]) {\n        $existe = PCO_EjecutarSQL(\"\n            SELECT count(id)\n            FROM app_ventas_detalle\n            WHERE id_venta = $id AND id_producto = \'$id_producto\'\n        \")->fetchColumn();\n        if($existe > 0) {\n            print_r(\'{\"success\": false, \"msg\": \"El producto ya se ha ingresado\"}\');\n            die();\n        }\n        /* if($producto[\"inventario\"] < $cantidad) {\n            print_r(\'{\"success\": false, \"msg\": \"La cantidad digitada supera la del invetario\"}\');\n            die();\n        } */\n        // $inventarioNew = $producto[\"inventario\"] - $cantidad;\n        // PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas_detalle (id_venta, id_producto, cantidad, precio, iva, hora_inicio, hora_fin, guaje) VALUES (?,?,?,?,?,?,?,?) \", \n            \"$id$_SeparadorCampos_$id_producto$_SeparadorCampos_$cantidad$_SeparadorCampos_$precio$_SeparadorCampos_\" . $producto[\"iva\"].\"$_SeparadorCampos_$hora_inicio$_SeparadorCampos_$hora_fin$_SeparadorCampos_$guaje\");\n        calcularTotalVenta($id);\n        \n        /* $total = number_format($result[\"total\"], 2);\n        $iva = number_format($result[\"iva\"], 2); */\n\n        echo \'<script type=\"text/javascript\">\n        	document.FRMBASEINFORME.PCO_Accion.value=\"PCO_CargarObjeto\";\n        	document.FRMBASEINFORME.PCO_Objeto.value=\"frm:8:1:id:\'.$id.\'\";\n        	document.FRMBASEINFORME.Precarga_EstilosBS.value=\"1\";\n        	document.FRMBASEINFORME.Presentar_FullScreen.value=\"0\";\n        	document.FRMBASEINFORME.target=\"_self\";\n        	document.FRMBASEINFORME.submit();\n    	 </script>\';\n    }\n}\n\nif($PCO_Accion == \"VENTA_agregarProducto\") {\n    $producto = PCO_EjecutarSQL(\"\n        SELECT id, precio_venta, iva\n        FROM app_productos\n        WHERE id = \'$id_producto\'\n    \")->fetch();\n    if($producto[\"id\"]) {\n        $existe = PCO_EjecutarSQL(\"\n            SELECT count(id)\n            FROM app_ventas_detalle\n            WHERE id_venta = $id AND id_producto = \'$id_producto\'\n        \")->fetchColumn();\n        if($existe > 0) {\n            print_r(\'{\"success\": false, \"msg\": \"El producto ya se ha ingresado\"}\');\n            die();\n        }\n        /* if($producto[\"inventario\"] < $cantidad) {\n            print_r(\'{\"success\": false, \"msg\": \"La cantidad digitada supera la del invetario\"}\');\n            die();\n        } */\n        // $inventarioNew = $producto[\"inventario\"] - $cantidad;\n        // PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas_detalle (id_venta, id_producto, cantidad, precio, iva, hora_inicio, hora_fin, guaje) VALUES (?,?,?,?,?,?,?,?) \", \n            \"$id$_SeparadorCampos_$id_producto$_SeparadorCampos_$cantidad$_SeparadorCampos_$precioVenta$_SeparadorCampos_\" . $producto[\"iva\"].\"$_SeparadorCampos$hora_inicio$_SeparadorCampos$hora_fin$_SeparadorCampos$guaje\");\n        $result = calcularTotalVenta($id);\n        print_r(\'{\"success\": true, \"id\": \' . $id . \', \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se ha encontrado el producto seleccionado\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_consultarTotalVenta\") {\n    if($id) {\n        $result = calcularTotalVenta($id);\n        print_r(\'{\"success\": true, \"id\": \' . $id . \', \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se encontro la venta\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_eliminarProducto\") {\n\n    if($id_venta_detalle && $id_venta) {\n        $producto = PCO_EjecutarSQL(\"\n            SELECT p.inventario, vd.cantidad, p.id\n            FROM app_ventas_detalle vd, app_productos p\n            WHERE vd.id_producto = p.id AND vd.id = \'$id_venta_detalle\'\n        \")->fetch();\n        //Restablecemos el inventario\n        $inventarioNew = $producto[\"inventario\"] + $producto[\"cantidad\"];\n        PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"DELETE FROM app_ventas_detalle WHERE id_venta = $id_venta AND id = $id_venta_detalle\");\n        $result = calcularTotalVenta($id_venta);\n        print_r(\'{\"success\": true, \"msg\": \"Se ha eliminado el producto exitosamente\", \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se pudo eliminar el producto\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_actualizarProductoVenta\") {\n    if($id) {\n        PCO_EjecutarSQLUnaria(\"UPDATE app_ventas_detalle SET cantidad=\'$cantidad\', precio=\'$precio\' WHERE id = \'$id\'\");\n        echo 1;\n        die();\n    }\n    echo 0;\n    die();\n}\n\nif($PCO_Accion == \"VENTA_imprimirFactura\") {\n    if($PCO_Valor)\n        $id = $PCO_Valor;\n    if($id) {\n        include_once \"imprimirFactura.php\";\n    }\n}\n\nif($PCO_Accion == \"VENTA_generarLiquidacionMecanicos\") {\n    $ventas = PCO_EjecutarSQL(\"\n        SELECT v.id, v.id_mecanico, SUM(v.total_mecanico) as Total, m.seguridad_social\n        FROM app_mecanicos m,app_ventas v\n        WHERE m.id = v.id_mecanico AND v.fecha >= \'$fecha_inicio 00:00:00\' AND v.fecha <= \'$fecha_fin 23:59:59\' AND v.estado = 1 AND id_mecanico <> 0 AND id_liquidacion=0\n        GROUP BY v.id_mecanico\n    \")->fetchAll();\n    foreach ($ventas as $venta) {\n        $valor_novedad = PCO_EjecutarSQL(\"\n            SELECT  \n                SUM(case when tipo_novedad=\'Abonar\' then valor_novedad else 0 end) as abonar,\n                SUM(case when tipo_novedad=\'Debitar\' then valor_novedad else 0 end) as debitar\n            FROM app_novedades_mecanicos\n            WHERE fecha >= \'$fecha_inicio\' AND fecha <= \'$fecha_fin\'\n                AND id_mecanico=\'\".$venta[\'id_mecanico\'].\"\' AND id_liquidacion=0\n            GROUP BY id_mecanico\n        \")->fetch();\n\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_liquidacion_mecanicos_enc (id_mecanico, fecha_inicio, fecha_fin, fecha, valor_venta, valor_novedad_abonar, valor_novedad_debitar, seguridad_social, usuario) VALUES (?,?,?,?,?,?,?,?,?) \",\n            $venta[\"id_mecanico\"].\"$_SeparadorCampos_$fecha_inicio$_SeparadorCampos_$fecha_fin$_SeparadorCampos_$PCO_FechaOperacionGuiones$_SeparadorCampos_\".$venta[\"Total\"].\"$_SeparadorCampos_\".$valor_novedad[\'abonar\'].\"$_SeparadorCampos_\".$valor_novedad[\'debitar\'].\"$_SeparadorCampos_\".$venta[\"seguridad_social\"].\"$_SeparadorCampos_$PCOSESS_LoginUsuario\"\n        );\n    }\n        // arq de estados\n        //actualiozar estados\n    PCO_EjecutarSQLUnaria(\"\n        UPDATE app_ventas \n        SET id_liquidacion=1\n        WHERE app_mecanicos.id = app_ventas.id_mecanico AND app_ventas.fecha >= \'$fecha_inicio 00:00:00\' AND app_ventas.fecha <= \'$fecha_fin 23:59:59\' AND app_ventas.estado = 1 AND id_mecanico <> 0 AND id_liquidacion=0\");\n    PCO_CargarFormulario(14);\n}','A'),(971,'mod/app_ventas/index.php','2025-01-30 20:38:00','rafael',216,10014,'<?php\n\nfunction calcularTotalVenta($id, $returnArr = \"\") {\n    $venta = PCO_EjecutarSQL(\"\n        SELECT SUM(precio * cantidad) as total, SUM(precio * iva/100) iva\n        FROM app_ventas_detalle\n        WHERE id_venta = \'$id\' GROUP BY id_venta\n    \")->fetch();\n    $ventaMecanico = PCO_EjecutarSQL(\"\n        SELECT TRUNCATE(SUM(vd.precio * vd.cantidad * p.porcentaje_mecanico/100), 2)\n        FROM app_ventas_detalle vd, app_ventas v, app_productos p\n        WHERE vd.id_venta=v.id AND vd.id_producto=p.id AND  vd.id_venta = \'$id\' AND v.id_mecanico <> 0 GROUP BY vd.id_venta\n    \")->fetchColumn();\n    $total = $venta[\"total\"] ? $venta[\"total\"] : 0;\n    $iva = $venta[\"iva\"] ? $venta[\"iva\"] : 0;\n    PCO_EjecutarSQLUnaria(\"UPDATE app_ventas SET total = $total, iva = $iva, total_mecanico=\'$ventaMecanico\' WHERE id = $id \");\n    if($returnArr)\n        return $venta;\n    return \'\"total\": \' . $total . \', \"iva\": \' . $iva;\n}\n\nif($PCO_Accion == \"VENTA_ingresarRealizarVenta\") {\n    $ventaAbierta = PCO_EjecutarSQL(\"\n        SELECT id, id_cliente, total, iva, placa\n        FROM app_ventas\n        WHERE id=\'$PCO_Valor\'\n    \")->fetch();\n\n    $id_venta = $ventaAbierta[\"id\"] || \"\";\n    if($id_venta) {\n        $total = number_format($ventaAbierta[\"total\"], 2);\n        $iva = number_format($ventaAbierta[\"iva\"], 2);\n        $id_cliente = $ventaAbierta[\"id_cliente\"];\n    }\n\n    PCO_CargarFormulario(8, 1, \"id\", $id_venta);\n}\n\nif($PCO_Accion == \"VENTA_agregarProductoCrearOC\") {\n        //crear cliente en caso de que no llegue id_cliente\n        if(!$id_cliente) {\n            PCO_EjecutarSQLUnaria(\"INSERT INTO app_clientes (nombre_completo, numero_documento, telefono) VALUES (?,?,?) \",\n                \"$nombre_completo$_SeparadorCampos_$numero_documento$_SeparadorCampos_$telefono\"\n            );\n            // $id_cliente = PCO_ObtenerUltimoIDInsertado();\n            $id_cliente = PCO_EjecutarSQL(\"\n                SELECT id\n                FROM app_clientes\n                WHERE numero_documento=\'$numero_documento\' AND telefono=\'$telefono\' AND \'$nombre_completo\'\n            \")->fetchColumn();\n        }\n        $todayMysql = date(\"Y-m-d H:i:s\");\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas (id_cliente, usuario, fecha, placa, id_mecanico, tipo_venta) VALUES (?,?,?,?,?,?) \", \"$id_cliente$_SeparadorCampos_$PCOSESS_LoginUsuario$_SeparadorCampos_$todayMysql$_SeparadorCampos_$placa$_SeparadorCampos_$id_mecanico$_SeparadorCampos_$tipo_venta\");\n        $id = PCO_EjecutarSQL(\"\n            SELECT id\n            FROM app_ventas\n            WHERE fecha=\'$todayMysql\' AND usuario=\'$PCOSESS_LoginUsuario\' AND id_cliente = \'$id_cliente\'\n        \")->fetchColumn();\n        // $id = PCO_ObtenerUltimoIDInsertado();\n\n    $producto = PCO_EjecutarSQL(\"\n        SELECT id, precio_venta, iva, inventario\n        FROM app_productos\n        WHERE id = \'$id_producto\'\n    \")->fetch();\n    if($producto[\"id\"]) {\n        $existe = PCO_EjecutarSQL(\"\n            SELECT count(id)\n            FROM app_ventas_detalle\n            WHERE id_venta = $id AND id_producto = \'$id_producto\'\n        \")->fetchColumn();\n        if($existe > 0) {\n            print_r(\'{\"success\": false, \"msg\": \"El producto ya se ha ingresado\"}\');\n            die();\n        }\n        /* if($producto[\"inventario\"] < $cantidad) {\n            print_r(\'{\"success\": false, \"msg\": \"La cantidad digitada supera la del invetario\"}\');\n            die();\n        } */\n        // $inventarioNew = $producto[\"inventario\"] - $cantidad;\n        // PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas_detalle (id_venta, id_producto, cantidad, precio, iva, hora_inicio, hora_fin, guaje) VALUES (?,?,?,?,?,?,?,?) \", \n            \"$id$_SeparadorCampos_$id_producto$_SeparadorCampos_$cantidad$_SeparadorCampos_$precio$_SeparadorCampos_\" . $producto[\"iva\"].\"$_SeparadorCampos_$hora_inicio$_SeparadorCampos_$hora_fin$_SeparadorCampos_$guaje\");\n        calcularTotalVenta($id);\n        \n        /* $total = number_format($result[\"total\"], 2);\n        $iva = number_format($result[\"iva\"], 2); */\n\n        echo \'<script type=\"text/javascript\">\n        	document.FRMBASEINFORME.PCO_Accion.value=\"PCO_CargarObjeto\";\n        	document.FRMBASEINFORME.PCO_Objeto.value=\"frm:8:1:id:\'.$id.\'\";\n        	document.FRMBASEINFORME.Precarga_EstilosBS.value=\"1\";\n        	document.FRMBASEINFORME.Presentar_FullScreen.value=\"0\";\n        	document.FRMBASEINFORME.target=\"_self\";\n        	document.FRMBASEINFORME.submit();\n    	 </script>\';\n    }\n}\n\nif($PCO_Accion == \"VENTA_agregarProducto\") {\n    $producto = PCO_EjecutarSQL(\"\n        SELECT id, precio_venta, iva\n        FROM app_productos\n        WHERE id = \'$id_producto\'\n    \")->fetch();\n    if($producto[\"id\"]) {\n        $existe = PCO_EjecutarSQL(\"\n            SELECT count(id)\n            FROM app_ventas_detalle\n            WHERE id_venta = $id AND id_producto = \'$id_producto\'\n        \")->fetchColumn();\n        if($existe > 0) {\n            print_r(\'{\"success\": false, \"msg\": \"El producto ya se ha ingresado\"}\');\n            die();\n        }\n        /* if($producto[\"inventario\"] < $cantidad) {\n            print_r(\'{\"success\": false, \"msg\": \"La cantidad digitada supera la del invetario\"}\');\n            die();\n        } */\n        // $inventarioNew = $producto[\"inventario\"] - $cantidad;\n        // PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas_detalle (id_venta, id_producto, cantidad, precio, iva, hora_inicio, hora_fin, guaje) VALUES (?,?,?,?,?,?,?,?) \", \n            \"$id$_SeparadorCampos_$id_producto$_SeparadorCampos_$cantidad$_SeparadorCampos_$precioVenta$_SeparadorCampos_\" . $producto[\"iva\"].\"$_SeparadorCampos$hora_inicio$_SeparadorCampos$hora_fin$_SeparadorCampos$guaje\");\n        $result = calcularTotalVenta($id);\n        print_r(\'{\"success\": true, \"id\": \' . $id . \', \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se ha encontrado el producto seleccionado\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_consultarTotalVenta\") {\n    if($id) {\n        $result = calcularTotalVenta($id);\n        print_r(\'{\"success\": true, \"id\": \' . $id . \', \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se encontro la venta\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_eliminarProducto\") {\n\n    if($id_venta_detalle && $id_venta) {\n        $producto = PCO_EjecutarSQL(\"\n            SELECT p.inventario, vd.cantidad, p.id\n            FROM app_ventas_detalle vd, app_productos p\n            WHERE vd.id_producto = p.id AND vd.id = \'$id_venta_detalle\'\n        \")->fetch();\n        //Restablecemos el inventario\n        $inventarioNew = $producto[\"inventario\"] + $producto[\"cantidad\"];\n        PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"DELETE FROM app_ventas_detalle WHERE id_venta = $id_venta AND id = $id_venta_detalle\");\n        $result = calcularTotalVenta($id_venta);\n        print_r(\'{\"success\": true, \"msg\": \"Se ha eliminado el producto exitosamente\", \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se pudo eliminar el producto\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_actualizarProductoVenta\") {\n    if($id) {\n        PCO_EjecutarSQLUnaria(\"UPDATE app_ventas_detalle SET cantidad=\'$cantidad\', precio=\'$precio\' WHERE id = \'$id\'\");\n        echo 1;\n        die();\n    }\n    echo 0;\n    die();\n}\n\nif($PCO_Accion == \"VENTA_imprimirFactura\") {\n    if($PCO_Valor)\n        $id = $PCO_Valor;\n    if($id) {\n        include_once \"imprimirFactura.php\";\n    }\n}\n\nif($PCO_Accion == \"VENTA_generarLiquidacionMecanicos\") {\n    $ventas = PCO_EjecutarSQL(\"\n        SELECT v.id, v.id_mecanico, SUM(v.total_mecanico) as Total, m.seguridad_social\n        FROM app_mecanicos m,app_ventas v\n        WHERE m.id = v.id_mecanico AND v.fecha >= \'$fecha_inicio 00:00:00\' AND v.fecha <= \'$fecha_fin 23:59:59\' AND v.estado = 1 AND id_mecanico <> 0 AND id_liquidacion=0\n        GROUP BY v.id_mecanico\n    \")->fetchAll();\n    foreach ($ventas as $venta) {\n        $valor_novedad = PCO_EjecutarSQL(\"\n            SELECT  \n                SUM(case when tipo_novedad=\'Abonar\' then valor_novedad else 0 end) as abonar,\n                SUM(case when tipo_novedad=\'Debitar\' then valor_novedad else 0 end) as debitar\n            FROM app_novedades_mecanicos\n            WHERE fecha >= \'$fecha_inicio\' AND fecha <= \'$fecha_fin\'\n                AND id_mecanico=\'\".$venta[\'id_mecanico\'].\"\' AND id_liquidacion=0\n            GROUP BY id_mecanico\n        \")->fetch();\n\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_liquidacion_mecanicos_enc (id_mecanico, fecha_inicio, fecha_fin, fecha, valor_venta, valor_novedad_abonar, valor_novedad_debitar, seguridad_social, usuario) VALUES (?,?,?,?,?,?,?,?,?) \",\n            $venta[\"id_mecanico\"].\"$_SeparadorCampos_$fecha_inicio$_SeparadorCampos_$fecha_fin$_SeparadorCampos_$PCO_FechaOperacionGuiones$_SeparadorCampos_\".$venta[\"Total\"].\"$_SeparadorCampos_\".$valor_novedad[\'abonar\'].\"$_SeparadorCampos_\".$valor_novedad[\'debitar\'].\"$_SeparadorCampos_\".$venta[\"seguridad_social\"].\"$_SeparadorCampos_$PCOSESS_LoginUsuario\"\n        );\n        \n        PCO_EjecutarSQLUnaria(\"\n        UPDATE app_novedades_mecanicos \n        SET id_liquidacion=1\n        WHERE \n            fecha >= \'$fecha_inicio\' AND fecha <= \'$fecha_fin\' AND id_mecanico=\'\".$venta[\'id_mecanico\'].\"\' AND id_liquidacion=0\n        \");\n    }\n        // arq de estados\n        //actualiozar estados\n    PCO_EjecutarSQLUnaria(\"\n        UPDATE app_ventas \n        SET id_liquidacion=1\n        WHERE app_mecanicos.id = app_ventas.id_mecanico AND app_ventas.fecha >= \'$fecha_inicio 00:00:00\' AND app_ventas.fecha <= \'$fecha_fin 23:59:59\' AND app_ventas.estado = 1 AND id_mecanico <> 0 AND id_liquidacion=0\");\n    PCO_CargarFormulario(14);\n}','A'),(972,'mod/app_ventas/index.php','2025-01-30 20:38:00','rafael',216,10014,'<?php\n\nfunction calcularTotalVenta($id, $returnArr = \"\") {\n    $venta = PCO_EjecutarSQL(\"\n        SELECT SUM(precio * cantidad) as total, SUM(precio * iva/100) iva\n        FROM app_ventas_detalle\n        WHERE id_venta = \'$id\' GROUP BY id_venta\n    \")->fetch();\n    $ventaMecanico = PCO_EjecutarSQL(\"\n        SELECT TRUNCATE(SUM(vd.precio * vd.cantidad * p.porcentaje_mecanico/100), 2)\n        FROM app_ventas_detalle vd, app_ventas v, app_productos p\n        WHERE vd.id_venta=v.id AND vd.id_producto=p.id AND  vd.id_venta = \'$id\' AND v.id_mecanico <> 0 GROUP BY vd.id_venta\n    \")->fetchColumn();\n    $total = $venta[\"total\"] ? $venta[\"total\"] : 0;\n    $iva = $venta[\"iva\"] ? $venta[\"iva\"] : 0;\n    PCO_EjecutarSQLUnaria(\"UPDATE app_ventas SET total = $total, iva = $iva, total_mecanico=\'$ventaMecanico\' WHERE id = $id \");\n    if($returnArr)\n        return $venta;\n    return \'\"total\": \' . $total . \', \"iva\": \' . $iva;\n}\n\nif($PCO_Accion == \"VENTA_ingresarRealizarVenta\") {\n    $ventaAbierta = PCO_EjecutarSQL(\"\n        SELECT id, id_cliente, total, iva, placa\n        FROM app_ventas\n        WHERE id=\'$PCO_Valor\'\n    \")->fetch();\n\n    $id_venta = $ventaAbierta[\"id\"] || \"\";\n    if($id_venta) {\n        $total = number_format($ventaAbierta[\"total\"], 2);\n        $iva = number_format($ventaAbierta[\"iva\"], 2);\n        $id_cliente = $ventaAbierta[\"id_cliente\"];\n    }\n\n    PCO_CargarFormulario(8, 1, \"id\", $id_venta);\n}\n\nif($PCO_Accion == \"VENTA_agregarProductoCrearOC\") {\n        //crear cliente en caso de que no llegue id_cliente\n        if(!$id_cliente) {\n            PCO_EjecutarSQLUnaria(\"INSERT INTO app_clientes (nombre_completo, numero_documento, telefono) VALUES (?,?,?) \",\n                \"$nombre_completo$_SeparadorCampos_$numero_documento$_SeparadorCampos_$telefono\"\n            );\n            // $id_cliente = PCO_ObtenerUltimoIDInsertado();\n            $id_cliente = PCO_EjecutarSQL(\"\n                SELECT id\n                FROM app_clientes\n                WHERE numero_documento=\'$numero_documento\' AND telefono=\'$telefono\' AND \'$nombre_completo\'\n            \")->fetchColumn();\n        }\n        $todayMysql = date(\"Y-m-d H:i:s\");\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas (id_cliente, usuario, fecha, placa, id_mecanico, tipo_venta) VALUES (?,?,?,?,?,?) \", \"$id_cliente$_SeparadorCampos_$PCOSESS_LoginUsuario$_SeparadorCampos_$todayMysql$_SeparadorCampos_$placa$_SeparadorCampos_$id_mecanico$_SeparadorCampos_$tipo_venta\");\n        $id = PCO_EjecutarSQL(\"\n            SELECT id\n            FROM app_ventas\n            WHERE fecha=\'$todayMysql\' AND usuario=\'$PCOSESS_LoginUsuario\' AND id_cliente = \'$id_cliente\'\n        \")->fetchColumn();\n        // $id = PCO_ObtenerUltimoIDInsertado();\n\n    $producto = PCO_EjecutarSQL(\"\n        SELECT id, precio_venta, iva, inventario\n        FROM app_productos\n        WHERE id = \'$id_producto\'\n    \")->fetch();\n    if($producto[\"id\"]) {\n        $existe = PCO_EjecutarSQL(\"\n            SELECT count(id)\n            FROM app_ventas_detalle\n            WHERE id_venta = $id AND id_producto = \'$id_producto\'\n        \")->fetchColumn();\n        if($existe > 0) {\n            print_r(\'{\"success\": false, \"msg\": \"El producto ya se ha ingresado\"}\');\n            die();\n        }\n        /* if($producto[\"inventario\"] < $cantidad) {\n            print_r(\'{\"success\": false, \"msg\": \"La cantidad digitada supera la del invetario\"}\');\n            die();\n        } */\n        // $inventarioNew = $producto[\"inventario\"] - $cantidad;\n        // PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas_detalle (id_venta, id_producto, cantidad, precio, iva, hora_inicio, hora_fin, guaje) VALUES (?,?,?,?,?,?,?,?) \", \n            \"$id$_SeparadorCampos_$id_producto$_SeparadorCampos_$cantidad$_SeparadorCampos_$precio$_SeparadorCampos_\" . $producto[\"iva\"].\"$_SeparadorCampos_$hora_inicio$_SeparadorCampos_$hora_fin$_SeparadorCampos_$guaje\");\n        calcularTotalVenta($id);\n        \n        /* $total = number_format($result[\"total\"], 2);\n        $iva = number_format($result[\"iva\"], 2); */\n\n        echo \'<script type=\"text/javascript\">\n        	document.FRMBASEINFORME.PCO_Accion.value=\"PCO_CargarObjeto\";\n        	document.FRMBASEINFORME.PCO_Objeto.value=\"frm:8:1:id:\'.$id.\'\";\n        	document.FRMBASEINFORME.Precarga_EstilosBS.value=\"1\";\n        	document.FRMBASEINFORME.Presentar_FullScreen.value=\"0\";\n        	document.FRMBASEINFORME.target=\"_self\";\n        	document.FRMBASEINFORME.submit();\n    	 </script>\';\n    }\n}\n\nif($PCO_Accion == \"VENTA_agregarProducto\") {\n    $producto = PCO_EjecutarSQL(\"\n        SELECT id, precio_venta, iva\n        FROM app_productos\n        WHERE id = \'$id_producto\'\n    \")->fetch();\n    if($producto[\"id\"]) {\n        $existe = PCO_EjecutarSQL(\"\n            SELECT count(id)\n            FROM app_ventas_detalle\n            WHERE id_venta = $id AND id_producto = \'$id_producto\'\n        \")->fetchColumn();\n        if($existe > 0) {\n            print_r(\'{\"success\": false, \"msg\": \"El producto ya se ha ingresado\"}\');\n            die();\n        }\n        /* if($producto[\"inventario\"] < $cantidad) {\n            print_r(\'{\"success\": false, \"msg\": \"La cantidad digitada supera la del invetario\"}\');\n            die();\n        } */\n        // $inventarioNew = $producto[\"inventario\"] - $cantidad;\n        // PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas_detalle (id_venta, id_producto, cantidad, precio, iva, hora_inicio, hora_fin, guaje) VALUES (?,?,?,?,?,?,?,?) \", \n            \"$id$_SeparadorCampos_$id_producto$_SeparadorCampos_$cantidad$_SeparadorCampos_$precioVenta$_SeparadorCampos_\" . $producto[\"iva\"].\"$_SeparadorCampos$hora_inicio$_SeparadorCampos$hora_fin$_SeparadorCampos$guaje\");\n        $result = calcularTotalVenta($id);\n        print_r(\'{\"success\": true, \"id\": \' . $id . \', \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se ha encontrado el producto seleccionado\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_consultarTotalVenta\") {\n    if($id) {\n        $result = calcularTotalVenta($id);\n        print_r(\'{\"success\": true, \"id\": \' . $id . \', \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se encontro la venta\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_eliminarProducto\") {\n\n    if($id_venta_detalle && $id_venta) {\n        $producto = PCO_EjecutarSQL(\"\n            SELECT p.inventario, vd.cantidad, p.id\n            FROM app_ventas_detalle vd, app_productos p\n            WHERE vd.id_producto = p.id AND vd.id = \'$id_venta_detalle\'\n        \")->fetch();\n        //Restablecemos el inventario\n        $inventarioNew = $producto[\"inventario\"] + $producto[\"cantidad\"];\n        PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"DELETE FROM app_ventas_detalle WHERE id_venta = $id_venta AND id = $id_venta_detalle\");\n        $result = calcularTotalVenta($id_venta);\n        print_r(\'{\"success\": true, \"msg\": \"Se ha eliminado el producto exitosamente\", \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se pudo eliminar el producto\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_actualizarProductoVenta\") {\n    if($id) {\n        PCO_EjecutarSQLUnaria(\"UPDATE app_ventas_detalle SET cantidad=\'$cantidad\', precio=\'$precio\' WHERE id = \'$id\'\");\n        echo 1;\n        die();\n    }\n    echo 0;\n    die();\n}\n\nif($PCO_Accion == \"VENTA_imprimirFactura\") {\n    if($PCO_Valor)\n        $id = $PCO_Valor;\n    if($id) {\n        include_once \"imprimirFactura.php\";\n    }\n}\n\nif($PCO_Accion == \"VENTA_generarLiquidacionMecanicos\") {\n    $ventas = PCO_EjecutarSQL(\"\n        SELECT v.id, v.id_mecanico, SUM(v.total_mecanico) as Total, m.seguridad_social\n        FROM app_mecanicos m,app_ventas v\n        WHERE m.id = v.id_mecanico AND v.fecha >= \'$fecha_inicio 00:00:00\' AND v.fecha <= \'$fecha_fin 23:59:59\' AND v.estado = 1 AND id_mecanico <> 0 AND id_liquidacion=0\n        GROUP BY v.id_mecanico\n    \")->fetchAll();\n    foreach ($ventas as $venta) {\n        $valor_novedad = PCO_EjecutarSQL(\"\n            SELECT  \n                SUM(case when tipo_novedad=\'Abonar\' then valor_novedad else 0 end) as abonar,\n                SUM(case when tipo_novedad=\'Debitar\' then valor_novedad else 0 end) as debitar\n            FROM app_novedades_mecanicos\n            WHERE fecha >= \'$fecha_inicio\' AND fecha <= \'$fecha_fin\'\n                AND id_mecanico=\'\".$venta[\'id_mecanico\'].\"\' AND id_liquidacion=0\n            GROUP BY id_mecanico\n        \")->fetch();\n\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_liquidacion_mecanicos_enc (id_mecanico, fecha_inicio, fecha_fin, fecha, valor_venta, valor_novedad_abonar, valor_novedad_debitar, seguridad_social, usuario) VALUES (?,?,?,?,?,?,?,?,?) \",\n            $venta[\"id_mecanico\"].\"$_SeparadorCampos_$fecha_inicio$_SeparadorCampos_$fecha_fin$_SeparadorCampos_$PCO_FechaOperacionGuiones$_SeparadorCampos_\".$venta[\"Total\"].\"$_SeparadorCampos_\".$valor_novedad[\'abonar\'].\"$_SeparadorCampos_\".$valor_novedad[\'debitar\'].\"$_SeparadorCampos_\".$venta[\"seguridad_social\"].\"$_SeparadorCampos_$PCOSESS_LoginUsuario\"\n        );\n        \n        PCO_EjecutarSQLUnaria(\"\n        UPDATE app_novedades_mecanicos \n        SET id_liquidacion=1\n        WHERE \n            fecha >= \'$fecha_inicio\' AND fecha <= \'$fecha_fin\' AND id_mecanico=\'\".$venta[\'id_mecanico\'].\"\' AND id_liquidacion=0\n        \");\n    }\n        // arq de estados\n        //actualiozar estados\n    PCO_EjecutarSQLUnaria(\"\n        UPDATE app_ventas \n        SET id_liquidacion=1\n        WHERE app_mecanicos.id = app_ventas.id_mecanico AND app_ventas.fecha >= \'$fecha_inicio 00:00:00\' AND app_ventas.fecha <= \'$fecha_fin 23:59:59\' AND app_ventas.estado = 1 AND id_mecanico <> 0 AND id_liquidacion=0\");\n    PCO_CargarFormulario(14);\n}','A'),(973,'mod/app_ventas/index.php','2025-01-30 20:38:00','rafael',216,10014,'<?php\n\nfunction calcularTotalVenta($id, $returnArr = \"\") {\n    $venta = PCO_EjecutarSQL(\"\n        SELECT SUM(precio * cantidad) as total, SUM(precio * iva/100) iva\n        FROM app_ventas_detalle\n        WHERE id_venta = \'$id\' GROUP BY id_venta\n    \")->fetch();\n    $ventaMecanico = PCO_EjecutarSQL(\"\n        SELECT TRUNCATE(SUM(vd.precio * vd.cantidad * p.porcentaje_mecanico/100), 2)\n        FROM app_ventas_detalle vd, app_ventas v, app_productos p\n        WHERE vd.id_venta=v.id AND vd.id_producto=p.id AND  vd.id_venta = \'$id\' AND v.id_mecanico <> 0 GROUP BY vd.id_venta\n    \")->fetchColumn();\n    $total = $venta[\"total\"] ? $venta[\"total\"] : 0;\n    $iva = $venta[\"iva\"] ? $venta[\"iva\"] : 0;\n    PCO_EjecutarSQLUnaria(\"UPDATE app_ventas SET total = $total, iva = $iva, total_mecanico=\'$ventaMecanico\' WHERE id = $id \");\n    if($returnArr)\n        return $venta;\n    return \'\"total\": \' . $total . \', \"iva\": \' . $iva;\n}\n\nif($PCO_Accion == \"VENTA_ingresarRealizarVenta\") {\n    $ventaAbierta = PCO_EjecutarSQL(\"\n        SELECT id, id_cliente, total, iva, placa\n        FROM app_ventas\n        WHERE id=\'$PCO_Valor\'\n    \")->fetch();\n\n    $id_venta = $ventaAbierta[\"id\"] || \"\";\n    if($id_venta) {\n        $total = number_format($ventaAbierta[\"total\"], 2);\n        $iva = number_format($ventaAbierta[\"iva\"], 2);\n        $id_cliente = $ventaAbierta[\"id_cliente\"];\n    }\n\n    PCO_CargarFormulario(8, 1, \"id\", $id_venta);\n}\n\nif($PCO_Accion == \"VENTA_agregarProductoCrearOC\") {\n        //crear cliente en caso de que no llegue id_cliente\n        if(!$id_cliente) {\n            PCO_EjecutarSQLUnaria(\"INSERT INTO app_clientes (nombre_completo, numero_documento, telefono) VALUES (?,?,?) \",\n                \"$nombre_completo$_SeparadorCampos_$numero_documento$_SeparadorCampos_$telefono\"\n            );\n            // $id_cliente = PCO_ObtenerUltimoIDInsertado();\n            $id_cliente = PCO_EjecutarSQL(\"\n                SELECT id\n                FROM app_clientes\n                WHERE numero_documento=\'$numero_documento\' AND telefono=\'$telefono\' AND \'$nombre_completo\'\n            \")->fetchColumn();\n        }\n        $todayMysql = date(\"Y-m-d H:i:s\");\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas (id_cliente, usuario, fecha, placa, id_mecanico, tipo_venta) VALUES (?,?,?,?,?,?) \", \"$id_cliente$_SeparadorCampos_$PCOSESS_LoginUsuario$_SeparadorCampos_$todayMysql$_SeparadorCampos_$placa$_SeparadorCampos_$id_mecanico$_SeparadorCampos_$tipo_venta\");\n        $id = PCO_EjecutarSQL(\"\n            SELECT id\n            FROM app_ventas\n            WHERE fecha=\'$todayMysql\' AND usuario=\'$PCOSESS_LoginUsuario\' AND id_cliente = \'$id_cliente\'\n        \")->fetchColumn();\n        // $id = PCO_ObtenerUltimoIDInsertado();\n\n    $producto = PCO_EjecutarSQL(\"\n        SELECT id, precio_venta, iva, inventario\n        FROM app_productos\n        WHERE id = \'$id_producto\'\n    \")->fetch();\n    if($producto[\"id\"]) {\n        $existe = PCO_EjecutarSQL(\"\n            SELECT count(id)\n            FROM app_ventas_detalle\n            WHERE id_venta = $id AND id_producto = \'$id_producto\'\n        \")->fetchColumn();\n        if($existe > 0) {\n            print_r(\'{\"success\": false, \"msg\": \"El producto ya se ha ingresado\"}\');\n            die();\n        }\n        /* if($producto[\"inventario\"] < $cantidad) {\n            print_r(\'{\"success\": false, \"msg\": \"La cantidad digitada supera la del invetario\"}\');\n            die();\n        } */\n        // $inventarioNew = $producto[\"inventario\"] - $cantidad;\n        // PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas_detalle (id_venta, id_producto, cantidad, precio, iva, hora_inicio, hora_fin, guaje) VALUES (?,?,?,?,?,?,?,?) \", \n            \"$id$_SeparadorCampos_$id_producto$_SeparadorCampos_$cantidad$_SeparadorCampos_$precio$_SeparadorCampos_\" . $producto[\"iva\"].\"$_SeparadorCampos_$hora_inicio$_SeparadorCampos_$hora_fin$_SeparadorCampos_$guaje\");\n        calcularTotalVenta($id);\n        \n        /* $total = number_format($result[\"total\"], 2);\n        $iva = number_format($result[\"iva\"], 2); */\n\n        echo \'<script type=\"text/javascript\">\n        	document.FRMBASEINFORME.PCO_Accion.value=\"PCO_CargarObjeto\";\n        	document.FRMBASEINFORME.PCO_Objeto.value=\"frm:8:1:id:\'.$id.\'\";\n        	document.FRMBASEINFORME.Precarga_EstilosBS.value=\"1\";\n        	document.FRMBASEINFORME.Presentar_FullScreen.value=\"0\";\n        	document.FRMBASEINFORME.target=\"_self\";\n        	document.FRMBASEINFORME.submit();\n    	 </script>\';\n    }\n}\n\nif($PCO_Accion == \"VENTA_agregarProducto\") {\n    $producto = PCO_EjecutarSQL(\"\n        SELECT id, precio_venta, iva\n        FROM app_productos\n        WHERE id = \'$id_producto\'\n    \")->fetch();\n    if($producto[\"id\"]) {\n        $existe = PCO_EjecutarSQL(\"\n            SELECT count(id)\n            FROM app_ventas_detalle\n            WHERE id_venta = $id AND id_producto = \'$id_producto\'\n        \")->fetchColumn();\n        if($existe > 0) {\n            print_r(\'{\"success\": false, \"msg\": \"El producto ya se ha ingresado\"}\');\n            die();\n        }\n        /* if($producto[\"inventario\"] < $cantidad) {\n            print_r(\'{\"success\": false, \"msg\": \"La cantidad digitada supera la del invetario\"}\');\n            die();\n        } */\n        // $inventarioNew = $producto[\"inventario\"] - $cantidad;\n        // PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas_detalle (id_venta, id_producto, cantidad, precio, iva, hora_inicio, hora_fin, guaje) VALUES (?,?,?,?,?,?,?,?) \", \n            \"$id$_SeparadorCampos_$id_producto$_SeparadorCampos_$cantidad$_SeparadorCampos_$precioVenta$_SeparadorCampos_\" . $producto[\"iva\"].\"$_SeparadorCampos$hora_inicio$_SeparadorCampos$hora_fin$_SeparadorCampos$guaje\");\n        $result = calcularTotalVenta($id);\n        print_r(\'{\"success\": true, \"id\": \' . $id . \', \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se ha encontrado el producto seleccionado\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_consultarTotalVenta\") {\n    if($id) {\n        $result = calcularTotalVenta($id);\n        print_r(\'{\"success\": true, \"id\": \' . $id . \', \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se encontro la venta\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_eliminarProducto\") {\n\n    if($id_venta_detalle && $id_venta) {\n        $producto = PCO_EjecutarSQL(\"\n            SELECT p.inventario, vd.cantidad, p.id\n            FROM app_ventas_detalle vd, app_productos p\n            WHERE vd.id_producto = p.id AND vd.id = \'$id_venta_detalle\'\n        \")->fetch();\n        //Restablecemos el inventario\n        $inventarioNew = $producto[\"inventario\"] + $producto[\"cantidad\"];\n        PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"DELETE FROM app_ventas_detalle WHERE id_venta = $id_venta AND id = $id_venta_detalle\");\n        $result = calcularTotalVenta($id_venta);\n        print_r(\'{\"success\": true, \"msg\": \"Se ha eliminado el producto exitosamente\", \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se pudo eliminar el producto\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_actualizarProductoVenta\") {\n    if($id) {\n        PCO_EjecutarSQLUnaria(\"UPDATE app_ventas_detalle SET cantidad=\'$cantidad\', precio=\'$precio\' WHERE id = \'$id\'\");\n        echo 1;\n        die();\n    }\n    echo 0;\n    die();\n}\n\nif($PCO_Accion == \"VENTA_imprimirFactura\") {\n    if($PCO_Valor)\n        $id = $PCO_Valor;\n    if($id) {\n        include_once \"imprimirFactura.php\";\n    }\n}\n\nif($PCO_Accion == \"VENTA_generarLiquidacionMecanicos\") {\n    $ventas = PCO_EjecutarSQL(\"\n        SELECT v.id, v.id_mecanico, SUM(v.total_mecanico) as Total, m.seguridad_social\n        FROM app_mecanicos m,app_ventas v\n        WHERE m.id = v.id_mecanico AND v.fecha >= \'$fecha_inicio 00:00:00\' AND v.fecha <= \'$fecha_fin 23:59:59\' AND v.estado = 1 AND id_mecanico <> 0 AND id_liquidacion=0\n        GROUP BY v.id_mecanico\n    \")->fetchAll();\n    foreach ($ventas as $venta) {\n        $valor_novedad = PCO_EjecutarSQL(\"\n            SELECT  \n                SUM(case when tipo_novedad=\'Abonar\' then valor_novedad else 0 end) as abonar,\n                SUM(case when tipo_novedad=\'Debitar\' then valor_novedad else 0 end) as debitar\n            FROM app_novedades_mecanicos\n            WHERE fecha >= \'$fecha_inicio\' AND fecha <= \'$fecha_fin\'\n                AND id_mecanico=\'\".$venta[\'id_mecanico\'].\"\' AND id_liquidacion=0\n            GROUP BY id_mecanico\n        \")->fetch();\n\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_liquidacion_mecanicos_enc (id_mecanico, fecha_inicio, fecha_fin, fecha, valor_venta, valor_novedad_abonar, valor_novedad_debitar, seguridad_social, usuario) VALUES (?,?,?,?,?,?,?,?,?) \",\n            $venta[\"id_mecanico\"].\"$_SeparadorCampos_$fecha_inicio$_SeparadorCampos_$fecha_fin$_SeparadorCampos_$PCO_FechaOperacionGuiones$_SeparadorCampos_\".$venta[\"Total\"].\"$_SeparadorCampos_\".$valor_novedad[\'abonar\'].\"$_SeparadorCampos_\".$valor_novedad[\'debitar\'].\"$_SeparadorCampos_\".$venta[\"seguridad_social\"].\"$_SeparadorCampos_$PCOSESS_LoginUsuario\"\n        );\n        \n        PCO_EjecutarSQLUnaria(\"\n        UPDATE app_novedades_mecanicos \n        SET id_liquidacion=1\n        WHERE \n            fecha >= \'$fecha_inicio\' AND fecha <= \'$fecha_fin\' AND id_mecanico=\'\".$venta[\'id_mecanico\'].\"\' AND id_liquidacion=0\n        \");\n    }\n        // arq de estados\n        //actualiozar estados\n    PCO_EjecutarSQLUnaria(\"\n        UPDATE app_ventas \n        SET id_liquidacion=1\n        WHERE app_mecanicos.id = app_ventas.id_mecanico AND app_ventas.fecha >= \'$fecha_inicio 00:00:00\' AND app_ventas.fecha <= \'$fecha_fin 23:59:59\' AND app_ventas.estado = 1 AND id_mecanico <> 0 AND id_liquidacion=0\");\n    PCO_CargarFormulario(14);\n}','A'),(974,'core_formulario[6].pre_script','2025-01-31 09:29:00','admin',34,1369,'<?php\nglobal $fecha_inicio, $fecha_fin, $arqueo,  $PCO_PostAccionDirecta;\n\nif($fecha_inicio && $fecha_fin) {\n    \n\n$egresos = PCO_EjecutarSQL(\"\n                SELECT SUM(app_egresos.valor_egreso)\n                FROM app_egresos \n                WHERE  app_egresos.fecha >= \'\".$fecha_inicio.\" 00:00:00\' AND   app_egresos.fecha <= \'\".$fecha_fin.\" 23:59:59\' \n\n            \")->fetchColumn();\n\n$ingresos = PCO_EjecutarSQL(\"\n                SELECT SUM(app_ventas.total)\n                FROM app_ventas \n                WHERE  app_ventas.fecha >= \'\".$fecha_inicio.\" 00:00:00\'  AND    app_ventas.fecha <= \'\".$fecha_fin.\" 23:59:59\'  AND app_ventas.estado = 1 \n                AND    app_ventas.tipo_venta IN (2,3)  AND    app_ventas.forma_pago = \'Efectivo\' AND app_ventas.tipo_pago = \'Contado\' \n\n            \")->fetchColumn();\n\n\n$ingresos_ventas_credito = PCO_EjecutarSQL(\"\n                SELECT SUM(app_ventas.total)\n                FROM app_ventas \n                WHERE  app_ventas.fecha >= \'\".$fecha_inicio.\" 00:00:00\'  AND    app_ventas.fecha <= \'\".$fecha_fin.\" 23:59:59\'  AND app_ventas.estado = 1 \n                AND    app_ventas.tipo_venta IN (2,3)  AND    app_ventas.forma_pago = \'Efectivo\' AND app_ventas.forma_pago = \'Efectivo\' AND app_ventas.tipo_pago = \'Credito\' \n\n            \")->fetchColumn();\n\n\n$arqueo = number_format($ingresos - $egresos, 2, \",\", \" \");\n\n}','B'),(975,'core_formulario[6].pre_script','2025-01-31 09:31:00','admin',34,1398,'<?php\nglobal $fecha_inicio, $fecha_fin, $arqueo,  $PCO_PostAccionDirecta;\n\nif($fecha_inicio && $fecha_fin) {\n    \n\n$egresos = PCO_EjecutarSQL(\"\n                SELECT SUM(app_egresos.valor_egreso)\n                FROM app_egresos \n                WHERE  app_egresos.fecha >= \'\".$fecha_inicio.\" 00:00:00\' AND   app_egresos.fecha <= \'\".$fecha_fin.\" 23:59:59\' \n\n            \")->fetchColumn();\n\n$ingresos = PCO_EjecutarSQL(\"\n                SELECT SUM(app_ventas.total)\n                FROM app_ventas \n                WHERE  app_ventas.fecha >= \'\".$fecha_inicio.\" 00:00:00\'  AND    app_ventas.fecha <= \'\".$fecha_fin.\" 23:59:59\'  AND app_ventas.estado = 1 \n                AND    app_ventas.tipo_venta IN (2,3)  AND    app_ventas.forma_pago = \'Efectivo\' AND app_ventas.tipo_pago = \'Contado\' \n\n            \")->fetchColumn();\n\n\n$ingresos_ventas_credito = PCO_EjecutarSQL(\"\n                SELECT SUM(app_ventas.total)\n                FROM app_ventas \n                WHERE  app_ventas.fecha >= \'\".$fecha_inicio.\" 00:00:00\'  AND    app_ventas.fecha <= \'\".$fecha_fin.\" 23:59:59\'  AND app_ventas.estado = 1 \n                AND    app_ventas.tipo_venta IN (2,3)  AND    app_ventas.forma_pago = \'Efectivo\' AND app_ventas.forma_pago = \'Efectivo\' AND app_ventas.tipo_pago = \'Credito\' \n\n            \")->fetchColumn();\n\n\n$arqueo = number_format(($ingresos + $ingresos_ventas_credito) - $egresos, 2, \",\", \" \");\n\n}','B'),(976,'core_formulario[6].pre_script','2025-01-31 09:33:00','admin',34,1396,'<?php\nglobal $fecha_inicio, $fecha_fin, $arqueo,  $PCO_PostAccionDirecta;\n\nif($fecha_inicio && $fecha_fin) {\n    \n\n$egresos = PCO_EjecutarSQL(\"\n                SELECT SUM(app_egresos.valor_egreso)\n                FROM app_egresos \n                WHERE  app_egresos.fecha >= \'\".$fecha_inicio.\" 00:00:00\' AND   app_egresos.fecha <= \'\".$fecha_fin.\" 23:59:59\' \n\n            \")->fetchColumn();\n\n$ingresos = PCO_EjecutarSQL(\"\n                SELECT SUM(app_ventas.total)\n                FROM app_ventas \n                WHERE  app_ventas.fecha >= \'\".$fecha_inicio.\" 00:00:00\'  AND    app_ventas.fecha <= \'\".$fecha_fin.\" 23:59:59\'  AND app_ventas.estado = 1 \n                AND    app_ventas.tipo_venta IN (2,3)  AND    app_ventas.forma_pago = \'Efectivo\' AND app_ventas.tipo_pago = \'Contado\' \n\n            \")->fetchColumn();\n\n\n$ingresos_ventas_credito = PCO_EjecutarSQL(\"\n                SELECT SUM(app_ventas.total)\n                FROM app_ventas \n                WHERE  app_ventas.fecha >= \'\".$fecha_inicio.\" 00:00:00\'  AND    app_ventas.fecha <= \'\".$fecha_fin.\" 23:59:59\'  AND app_ventas.estado = 1 \n                AND    app_ventas.tipo_venta IN (2,3)  AND    app_ventas.forma_pago = \'Efectivo\' AND app_ventas.forma_pago = \'Efectivo\' AND app_ventas.tipo_pago = \'Credito\' \n\n            \")->fetchColumn();\n\n\n$arqueo = number_format($ingresos + $ingresos_ventas_credito - $egresos, 2, \",\", \" \");\n\n}','B'),(977,'core_formulario[6].pre_script','2025-01-31 09:49:00','admin',34,1385,'<?php\nglobal $fecha_inicio, $fecha_fin, $arqueo,  $PCO_PostAccionDirecta;\n\nif($fecha_inicio && $fecha_fin) {\n    \n\n$egresos = PCO_EjecutarSQL(\"\n                SELECT SUM(app_egresos.valor_egreso)\n                FROM app_egresos \n                WHERE  app_egresos.fecha >= \'\".$fecha_inicio.\" 00:00:00\' AND   app_egresos.fecha <= \'\".$fecha_fin.\" 23:59:59\' \n\n            \")->fetchColumn();\n\n$ingresos = PCO_EjecutarSQL(\"\n                SELECT SUM(app_ventas.total)\n                FROM app_ventas \n                WHERE  app_ventas.fecha >= \'\".$fecha_inicio.\" 00:00:00\'  AND    app_ventas.fecha <= \'\".$fecha_fin.\" 23:59:59\'  AND app_ventas.estado = 1 \n                AND    app_ventas.tipo_venta IN (2,3)  AND    app_ventas.forma_pago = \'Efectivo\' AND app_ventas.tipo_pago = \'Contado\' \n\n            \")->fetchColumn();\n\n\n$ingresos_ventas_credito = PCO_EjecutarSQL(\"\n                SELECT SUM(app_ventas.total)\n                FROM app_ventas \n                WHERE  app_ventas.fecha >= \'\".$fecha_inicio.\" 00:00:00\'  AND    app_ventas.fecha <= \'\".$fecha_fin.\" 23:59:59\'  AND app_ventas.estado = 1 \n                AND    app_ventas.tipo_venta IN (2,3)  AND    app_ventas.forma_pago = \'Efectivo\' AND app_ventas.forma_pago = \'Efectivo\' AND app_ventas.tipo_pago = \'Credito\' \n\n            \")->fetchColumn();\n\n\n$arqueo = number_format( $ingresos_ventas_credito - $egresos, 2, \",\", \" \");\n\n}','B'),(978,'core_formulario[6].pre_script','2025-01-31 09:49:00','admin',34,1413,'<?php\nglobal $fecha_inicio, $fecha_fin, $arqueo,  $PCO_PostAccionDirecta;\n\nif($fecha_inicio && $fecha_fin) {\n    \n\n$egresos = PCO_EjecutarSQL(\"\n                SELECT SUM(app_egresos.valor_egreso)\n                FROM app_egresos \n                WHERE  app_egresos.fecha >= \'\".$fecha_inicio.\" 00:00:00\' AND   app_egresos.fecha <= \'\".$fecha_fin.\" 23:59:59\' \n\n            \")->fetchColumn();\n\n$ingresos = PCO_EjecutarSQL(\"\n                SELECT SUM(app_ventas.total)\n                FROM app_ventas \n                WHERE  app_ventas.fecha >= \'\".$fecha_inicio.\" 00:00:00\'  AND    app_ventas.fecha <= \'\".$fecha_fin.\" 23:59:59\'  AND app_ventas.estado = 1 \n                AND    app_ventas.tipo_venta IN (2,3)  AND    app_ventas.forma_pago = \'Efectivo\' AND app_ventas.tipo_pago = \'Contado\' \n\n            \")->fetchColumn();\n\n\n$ingresos_ventas_credito = PCO_EjecutarSQL(\"\n                SELECT SUM(app_ventas.total)\n                FROM app_ventas \n                WHERE  app_ventas.fecha_pago_credito  >= \'\".$fecha_inicio.\" 00:00:00\'  AND    app_ventas.fecha_pago_credito  <= \'\".$fecha_fin.\" 23:59:59\'  AND app_ventas.estado = 1 \n                AND    app_ventas.tipo_venta IN (2,3)  AND    app_ventas.forma_pago = \'Efectivo\' AND app_ventas.forma_pago = \'Efectivo\' AND app_ventas.tipo_pago = \'Credito\' \n\n            \")->fetchColumn();\n\n\n$arqueo = number_format( $ingresos_ventas_credito - $egresos, 2, \",\", \" \");\n\n}','B'),(979,'core_formulario[6].pre_script','2025-01-31 09:50:00','admin',34,1425,'<?php\nglobal $fecha_inicio, $fecha_fin, $arqueo,  $PCO_PostAccionDirecta;\n\nif($fecha_inicio && $fecha_fin) {\n    \n\n$egresos = PCO_EjecutarSQL(\"\n                SELECT SUM(app_egresos.valor_egreso)\n                FROM app_egresos \n                WHERE  app_egresos.fecha >= \'\".$fecha_inicio.\" 00:00:00\' AND   app_egresos.fecha <= \'\".$fecha_fin.\" 23:59:59\' \n\n            \")->fetchColumn();\n\n$ingresos = PCO_EjecutarSQL(\"\n                SELECT SUM(app_ventas.total)\n                FROM app_ventas \n                WHERE  app_ventas.fecha >= \'\".$fecha_inicio.\" 00:00:00\'  AND    app_ventas.fecha <= \'\".$fecha_fin.\" 23:59:59\'  AND app_ventas.estado = 1 \n                AND    app_ventas.tipo_venta IN (2,3)  AND    app_ventas.forma_pago = \'Efectivo\' AND app_ventas.tipo_pago = \'Contado\' \n\n            \")->fetchColumn();\n\n\n$ingresos_ventas_credito = PCO_EjecutarSQL(\"\n                SELECT SUM(app_ventas.total)\n                FROM app_ventas \n                WHERE  app_ventas.fecha_pago_credito  >= \'\".$fecha_inicio.\" 00:00:00\'  AND    app_ventas.fecha_pago_credito  <= \'\".$fecha_fin.\" 23:59:59\'  AND app_ventas.estado = 1 \n                AND    app_ventas.tipo_venta IN (2,3)  AND    app_ventas.forma_pago = \'Efectivo\' AND app_ventas.forma_pago = \'Efectivo\' AND app_ventas.tipo_pago = \'Credito\' \n\n            \")->fetchColumn();\n\n\n$arqueo = number_format( $ingresos + $ingresos_ventas_credito - $egresos, 2, \",\", \" \");\n\n}','B'),(980,'mod/app_ventas/liquidacion_mecanicos.php','2025-01-31 10:06:00','rafael',524,73960,'<?php\n\n @session_start();\n\nif(!isset($_SESSION[\'PCOSESS_SesionAbierta\'])) {\n	echo \'<head><title>Error</title><style type=\"text/css\"> body { background-color: #000000; color: #7f7f7f; font-family: sans-serif,helvetica; } </style></head><body><table width=\"100%\" height=\"100%\" border=0><tr><td align=center>&#9827; Acceso no autorizado !</td></tr></table></body>\';\n	die();\n}\n/*include_once \'../../core/configuracion.php\';\ninclude_once \'../../core/conexiones.php\';\ninclude_once \'../../inc/practico/def_basedatos.php\';\ninclude_once \'../../core/comunes.php\';*/\n\n$saldoFavor = $factura[\"saldo_pendiente\"] < 0 ? -$factura[\"saldo_pendiente\"] : 0;\n$nombreFactura = $factura[\"id_contrato\"] . \'-\' .$factura[\"nombres\"] . \' \' . $factura[\"apellidos\"];\n$saldoPendienteValor = $factura[\"saldo_pendiente\"] > 0 ? $factura[\"saldo_pendiente\"] : 0;\n$saldoPendiente = number_format($saldoPendienteValor, 0, \',\', \'.\');\n$totalValor =  number_format($factura[\"valor_sin_recargo\"] + $saldoPendienteValor - $saldoFavor, 0, \',\', \'.\');\n$total = $totalValor > 0 ? $totalValor : 0;\n\n$fechaSinRecargoBr = str_replace(\"-\", \"\", $factura[\"fecha_sin_recargo\"]);\n$totalValor =  number_format($factura[\"valor_sin_recargo\"] + $saldoPendienteValor - $saldoFavor, 0, \',\', \'.\');\n$total = $totalValor > 0 ? $totalValor : 0;\n$totalBr = str_replace(\".\", \"\", $total);\n$codigobarra = $factura[\"codigo_gs1\"]; // \"7709998678439\";\n$BarcodeParent = \"(415)$codigobarra(8020)\" . $factura[\"id\"] . \"(3900)$totalBr(96)$fechaSinRecargoBr\";\n\n$descargar = 0;\nif ($PCO_Accion == \"FACTURAS_descargarFactura\")\n    $descargar = 1;\n\n$html = \'\n<html>\n\n<head>\n   <meta charset=\"utf-8\">\n   <title>Factura</title>\n   <style>\n      * {\n         border: 0;\n         box-sizing: content-box;\n         color: inherit;\n         font-family: Verdana;\n         font-size: inherit;\n         font-style: inherit;\n         font-weight: inherit;\n         line-height: inherit;\n         list-style: none;\n         margin: 0;\n         padding: 0;\n         text-decoration: none;\n         vertical-align: top;\n      }\n\n      /* heading */\n\n      h1 {\n         font: bold 100% sans-serif;\n         letter-spacing: 0.5em;\n         text-align: center;\n         text-transform: uppercase;\n      }\n\n      /* table */\n\n      table {\n         font-size: 75%;\n         table-layout: fixed;\n         width: 100%;\n      }\n\n      table {\n         border-collapse: separate;\n         border-spacing: 3px;\n      }\n\n      th,\n      td {\n         border-width: 1px;\n         padding: 0.5em;\n         position: relative;\n         text-align: center;\n      }\n\n      th,\n      td {\n         border-radius: 0.25em;\n         border-style: solid;\n      }\n\n      th {\n         background: #1f60a0;\n         color: #fff;\n         border-color: #BBB;\n      }\n\n      td {\n         border-color: #DDD;\n      }\n\n      /* page */\n\n      html {\n         font: 16px/1 \"Open Sans\", sans-serif;\n         overflow: auto;\n         padding: 0.5in;\n      }\n\n      html {\n         background: #999;\n         cursor: default;\n      }\n\n      body {\n         box-sizing: border-box;\n         height: 11in;\n         margin: 0 auto;\n         overflow: hidden;\n         padding: 0.5in;\n         width: 8.5in;\n      }\n\n      body {\n         background: #FFF;\n         border-radius: 1px;\n         box-shadow: 0 0 1in -0.25in rgba(0, 0, 0, 0.5);\n      }\n\n      /* header */\n\n      header {\n         margin: 0 0 3em;\n      }\n\n      header:after {\n         clear: both;\n         content: \"\";\n         display: table;\n      }\n\n      header h1 {\n         background: #000;\n         border-radius: 0.25em;\n         color: #FFF;\n         margin: 0 0 1em;\n         padding: 0.5em 0;\n      }\n\n      header address {\n         float: left;\n         font-size: 75%;\n         font-style: normal;\n         line-height: 1.25;\n         margin: 0 1em 1em 0;\n      }\n\n      header address p {\n         margin: 0 0 0.25em;\n      }\n\n      header span,\n      header img {\n         display: block;\n         float: right;\n      }\n\n      header span {\n         margin: 0 0 1em 1em;\n         max-height: 25%;\n         max-width: 60%;\n         position: relative;\n      }\n\n      header img {\n         max-height: 100%;\n         max-width: 100%;\n      }\n\n      header input {\n         cursor: pointer;\n         -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";\n         height: 100%;\n         left: 0;\n         opacity: 0;\n         position: absolute;\n         top: 0;\n         width: 100%;\n      }\n\n      /* article */\n\n      article,\n      article address,\n      table.meta,\n      table.inventory {\n         margin: 0 0 1.3em;\n      }\n\n      article:after {\n         clear: both;\n         content: \"\";\n         display: table;\n      }\n\n      article h1 {\n         clip: rect(0 0 0 0);\n         position: absolute;\n      }\n\n      article address {\n         float: left;\n         font-size: 125%;\n      }\n\n      /* table meta & balance */\n\n      table.meta,\n      table.balance {\n         float: right;\n         width: 36%;\n      }\n\n      table.meta:after,\n      table.balance:after {\n         clear: both;\n         content: \"\";\n         display: table;\n      }\n\n      /* table meta */\n\n      table.meta th {\n         width: 40%;\n      }\n\n      table.meta td {\n         width: 60%;\n      }\n\n      /* table items */\n\n      table.inventory {\n         clear: both;\n         width: 100%;\n      }\n\n      table.inventory th {\n         font-weight: bold;\n         text-align: center;\n      }\n\n      table.inventory td:nth-child(1) {\n         width: 26%;\n      }\n\n      table.inventory td:nth-child(2) {\n         width: 38%;\n      }\n\n      table.inventory td:nth-child(3) {\n         text-align: center;\n         width: 12%;\n      }\n\n      table.inventory td:nth-child(4) {\n         text-align: center;\n         width: 12%;\n      }\n\n      table.inventory td:nth-child(5) {\n         text-align: center;\n         width: 12%;\n      }\n\n      /* table balance */\n\n      table.balance th {\n         width: 40%;\n         text-align: center;\n      }\n\n      table.balance td {\n         width: 60%;\n         text-align: center;\n      }\n\n      /* aside */\n\n      aside h1 {\n         border: none;\n         border-width: 0 0 1px;\n         margin: 0 0 1em;\n      }\n\n      aside h1 {\n         border-color: #999;\n         border-bottom-style: solid;\n      }\n\n      /* javascript */\n\n      @media print {\n         * {\n            -webkit-print-color-adjust: exact;\n         }\n\n         html {\n            background: none;\n            padding: 0;\n         }\n\n         body {\n            box-shadow: none;\n            margin: 0;\n         }\n\n         span:empty {\n            display: none;\n         }\n      }\n\n      @page {\n         margin: 0;\n      }\n   </style>\n    <link rel=\"stylesheet\" href=\"inc/pdfLib/all.min.css\">\n    <script type=\"text/javascript\" src=\"inc/pdfLib/html2pdf.bundle.min.js\"></script>\n    <script type=\"text/javascript\" src=\"inc/bwip/bwip-js-min.js\"></script>\n    \n            <!--<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css\">-->\n            <!--<script src=\"https://cdnjs.cloudflare.com/ajax/libs/html2pdf.js/0.10.1/html2pdf.bundle.min.js\"\n              integrity=\"sha512-GsLlZN/3F2ErC5ifS5QtgpiJtWd43JWSuIgh7mbzZ8zBps+dvLusV+eNQATqgA/HdeKFVgA5v3S/cIrLF7QnIg==\"\n              crossorigin=\"anonymous\" referrerpolicy=\"no-referrer\"></script>-->\n</head>\n<body id=\"Invoices\">\n\n   <article>\n      <img\n         src=\"data:image/png;base64,[encoded data, 37384 characters]\"\n         data-filename=\"logoASJ_.png\">\n      <!--<img src=\"./logoASJ_.png\">-->\n      <BR>\n      <BR>\n      <BR>\n      <address>\n         <p style=\"color:#14406b; font-size: 18px; font-weight: bold;\">AGUAS DE SAN JERONIMO E.S.P</p>\n         <p style=\"font-size: 12px;\">NIT: 811018300-6</p>\n         <p style=\"font-size: 12px;\">CLL 21 # 8-78 San Jerónimo, Ant</p>\n         <BR>\n         <p style=\"font-size: 14px;\"><span style=\"font-weight: bold;\">Contrato N° </span> \' . $factura[\"id_contrato\"] . \' <br>\n            <span style=\"font-weight: bold;\">Nombre: </span>\' . $factura[\"nombres\"] . \' \' . $factura[\"apellidos\"] . \' <br>\n            <!--<span style=\"font-weight: bold;\">Estrato: </span>\' . $factura[\"estrato\"] . \'<br>-->\n            <span style=\"font-weight: bold;\"> Vereda: </span>\' . $factura[\"zona\"] . \' <br>\n            <span style=\"font-weight: bold;\">Dirección: </span>\' . $factura[\"direccion\"] . \' <br>\n         </p>\n      </address>\n\n      <table class=\"meta\">\n         <tr>\n            <th style=\"width: 120px !important;\"><span>Factura</span></th>\n            <td><span>\' . $factura[\"id\"] . \'</span></td>\n         </tr>\n         <tr>\n            <th><span>Fecha sin recargo</span></th>\n            <td><span>\' . $factura[\"fecha_sin_recargo\"] . \'</span></td>\n         </tr>\n         <tr>\n            <th><span>Fecha con recargo</span></th>\n            <td><span>\' . $factura[\"fecha_con_recargo\"] . \'</span></td>\n         </tr>\n      </table>\n      <table class=\"inventory\">\n         <thead>\n            <tr>\n               <th><span>Descripción</span></th>\n               <th><span>Cantidad</span></th>\n               <th style=\"background-color: #14406b;\"><span>Precio</span></th>\n            </tr>\n         </thead>\n         <tbody>\n            <tr>\n               <td><span>Consumo de agua m3</span></td>\n               <td><span>1</span></td>\n               <td style=\"text-align: center !important;\"><span data-prefix>$</span><span>\' . number_format($factura[\"valor_sin_recargo\"], 0, \',\', \'.\') . \'</span></td>\n            </tr>\n         </tbody>\n      </table>\n\n      <table class=\"balance\" style=\"font-size: 11px;\">\n         <tr>\n            <td><span>SUBTOTAL</span></td>\n            <th><span data-prefix>$</span><span>\' . number_format($factura[\"valor_sin_recargo\"], 0, \',\', \'.\') . \'</span></th>\n         </tr>\n         <tr>\n            <td><span>CUENTAS VENCIDAS</span></td>\n            <th><span data-prefix>$</span><span>\' . $saldoPendiente . \'</span></th>\n         </tr>\n         <tr>\n            <td><span>SALDO A FAVOR</span></td>\n            <th><span data-prefix>$</span><span>\' . number_format($saldoFavor, 0, \',\', \'.\') . \'</span></th>\n         </tr>\n         <tr>\n            <td><span>OTROS</span></td>\n            <th><span data-prefix>$</span><span>0</span></th>\n         </tr>\n         <tr style=\"color: #fff; font-size: 16px;\">\n            <td style=\"background-color: #1f60a0; font-weight: bold;\"><span>TOTAL</span></td>\n            <th style=\"background-color: #14406b;\"><span data-prefix>$</span><span>\' . $total . \'</span></th>\n         </tr>\n       \n            \n        </tr>\n         </tr>\n      </table>\n      <address style=\"width: 62%;\">\n        <table>\n            <tr>\n               <td style=\"border-radius: 0 !important; border-style: none !important;\">\n                  <p style=\"font-size: 13px; vertical-align: middle; line-height: normal\">\n                     <span style=\"font-weight: bold;\"> Medios y Canales de Pago</span>\n                     <br>\n                     <br>\n                     <span style=\"font-weight: bold;\">BANCOLOMBIA:</span>\n                     <br>\n                     <span style=\"font-weight: \">Corresponsal Bancario (PAC): </span>\n                     <br>\n                     <span style=\"font-weight: bold;\"> \'.$factura[\'convenio_presencial\'].\'</span>\n                    <br>\n                     <span style=\"font-weight: \">Pago virtual (APP): </span>\n                      <br>\n                    <span style=\"font-weight: bold;\"> \'.$factura[\'convenio_virtual\'].\'</span>\n                     <br>\n                     <span style=\"font-weight: \">Referencia de pago:</span>\n                     <br>\n                     <span style=\"font-weight: bold;\">   NUMERO DE CONTRATO</span>\n                  </p>\n               </td> \n               <td style=\"border-radius: 0 !important; border-style: none !important;\">\n                    <img src=\"data:image/png;base64,[encoded data, 21620 characters]\" data-filename=\"Firma Ignacio Digital.png\"\n                    data-filename=\"Firma Ignacio Digital.png\" style=\"width: 220px; height: 70px;\">\n                    <p style=\"font-size: 10.3px; font-weight: bold;\">JORGE IGNACIO AREIZA CASTRILLON <BR> GERENTE</p>\n               </td>\n            </tr>\n         </table> \n      </address>\n      </div>\n        \n         </br>\n         </br>\n         </br>\n        <table style=\"border-collapse: collapse; border:none; border-width: 0px; style=\"vertical-align: middle !important;\">\n            <tr style=\"float: middle; !important;\">\n                <td style=\"border-radius: 0 !important; border-style: none !important; vertical-align: middle !important; width:30%\">\n                    <img id=\"barcodeTarget\" width=\"500\" />\n                    <canvas id=\"mycanvas\"></canvas>\n                </td>\n            </tr>\n        </table>\n   </article>\n \n       <script>\n        const options = {\n            bcid:        \"gs1-128\",       // Barcode type\n            text:        \"\' . $BarcodeParent. \'\",    // Text to encode\n            scale:       2,               // 3x scaling factor\n            height:      8,              // Bar height, in millimeters\n            includetext: true,            // Show human-readable text\n            textxalign:  \"center\",        // Always good to set this\n        };\n\n        const hola3 = () => {\n            const canvas = document.createElement(\"canvas\");\n            try {\n                bwipjs.toCanvas(canvas, options);\n                document.getElementById(\"barcodeTarget\").src = canvas.toDataURL(\"image/png\");\n            } catch (e) { console.log({e}); }\n        };\n        //addEventListener(\"DOMContentLoaded\", () => {\n            hola3();\n        //});\n\n	</script>\n	\n\n	\n	\n      <script>\n      document.addEventListener(\"DOMContentLoaded\", function (event) {\n        //setTimeout(function(){ hola(); }, 1000);\n        var descargar = \' . $descargar . \';\n        if(descargar == 1) {\n             var element = document.getElementById(\"Invoices\");\n             \n             var opt = {\n                filename: \"\' . str_replace(\' \', \'\', $nombreFactura) . \'.pdf\",\n                image: { type: \"jpeg\", quality: 0.98 },\n                html2canvas: { scale: 2, useCORS: true, letterRendering: true },\n                jsPDF: { unit: \"mm\", format: \"letter\", orientation: \"portrait\" }\n             };\n    		 html2pdf(element, opt);\n    		 setTimeout(function(){ window.close(); }, 1650);\n        }\n        });\n        \n        function hola(){\n            var element = document.getElementById(\"Invoices\");\n             \n             var opt = {\n                filename: \"\' . $factura[\"contrato\"] . \'.pdf\",\n                image: { type: \"jpeg\", quality: 0.98 },\n                html2canvas: { scale: 2, useCORS: true, letterRendering: true },\n                jsPDF: { unit: \"mm\", format: \"letter\", orientation: \"portrait\" }\n             };\n    		 html2pdf(element, opt);\n        }\n   </script>\n</body>\n</html>\';\n\necho $html;\ndie();\n\n\n?>','A'),(981,'mod/app_ventas/index.php','2025-01-31 10:09:00','rafael',222,10148,'<?php\n\nfunction calcularTotalVenta($id, $returnArr = \"\") {\n    $venta = PCO_EjecutarSQL(\"\n        SELECT SUM(precio * cantidad) as total, SUM(precio * iva/100) iva\n        FROM app_ventas_detalle\n        WHERE id_venta = \'$id\' GROUP BY id_venta\n    \")->fetch();\n    $ventaMecanico = PCO_EjecutarSQL(\"\n        SELECT TRUNCATE(SUM(vd.precio * vd.cantidad * p.porcentaje_mecanico/100), 2)\n        FROM app_ventas_detalle vd, app_ventas v, app_productos p\n        WHERE vd.id_venta=v.id AND vd.id_producto=p.id AND  vd.id_venta = \'$id\' AND v.id_mecanico <> 0 GROUP BY vd.id_venta\n    \")->fetchColumn();\n    $total = $venta[\"total\"] ? $venta[\"total\"] : 0;\n    $iva = $venta[\"iva\"] ? $venta[\"iva\"] : 0;\n    PCO_EjecutarSQLUnaria(\"UPDATE app_ventas SET total = $total, iva = $iva, total_mecanico=\'$ventaMecanico\' WHERE id = $id \");\n    if($returnArr)\n        return $venta;\n    return \'\"total\": \' . $total . \', \"iva\": \' . $iva;\n}\n\nif($PCO_Accion == \"VENTA_ingresarRealizarVenta\") {\n    $ventaAbierta = PCO_EjecutarSQL(\"\n        SELECT id, id_cliente, total, iva, placa\n        FROM app_ventas\n        WHERE id=\'$PCO_Valor\'\n    \")->fetch();\n\n    $id_venta = $ventaAbierta[\"id\"] || \"\";\n    if($id_venta) {\n        $total = number_format($ventaAbierta[\"total\"], 2);\n        $iva = number_format($ventaAbierta[\"iva\"], 2);\n        $id_cliente = $ventaAbierta[\"id_cliente\"];\n    }\n\n    PCO_CargarFormulario(8, 1, \"id\", $id_venta);\n}\n\nif($PCO_Accion == \"VENTA_agregarProductoCrearOC\") {\n        //crear cliente en caso de que no llegue id_cliente\n        if(!$id_cliente) {\n            PCO_EjecutarSQLUnaria(\"INSERT INTO app_clientes (nombre_completo, numero_documento, telefono) VALUES (?,?,?) \",\n                \"$nombre_completo$_SeparadorCampos_$numero_documento$_SeparadorCampos_$telefono\"\n            );\n            // $id_cliente = PCO_ObtenerUltimoIDInsertado();\n            $id_cliente = PCO_EjecutarSQL(\"\n                SELECT id\n                FROM app_clientes\n                WHERE numero_documento=\'$numero_documento\' AND telefono=\'$telefono\' AND \'$nombre_completo\'\n            \")->fetchColumn();\n        }\n        $todayMysql = date(\"Y-m-d H:i:s\");\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas (id_cliente, usuario, fecha, placa, id_mecanico, tipo_venta) VALUES (?,?,?,?,?,?) \", \"$id_cliente$_SeparadorCampos_$PCOSESS_LoginUsuario$_SeparadorCampos_$todayMysql$_SeparadorCampos_$placa$_SeparadorCampos_$id_mecanico$_SeparadorCampos_$tipo_venta\");\n        $id = PCO_EjecutarSQL(\"\n            SELECT id\n            FROM app_ventas\n            WHERE fecha=\'$todayMysql\' AND usuario=\'$PCOSESS_LoginUsuario\' AND id_cliente = \'$id_cliente\'\n        \")->fetchColumn();\n        // $id = PCO_ObtenerUltimoIDInsertado();\n\n    $producto = PCO_EjecutarSQL(\"\n        SELECT id, precio_venta, iva, inventario\n        FROM app_productos\n        WHERE id = \'$id_producto\'\n    \")->fetch();\n    if($producto[\"id\"]) {\n        $existe = PCO_EjecutarSQL(\"\n            SELECT count(id)\n            FROM app_ventas_detalle\n            WHERE id_venta = $id AND id_producto = \'$id_producto\'\n        \")->fetchColumn();\n        if($existe > 0) {\n            print_r(\'{\"success\": false, \"msg\": \"El producto ya se ha ingresado\"}\');\n            die();\n        }\n        /* if($producto[\"inventario\"] < $cantidad) {\n            print_r(\'{\"success\": false, \"msg\": \"La cantidad digitada supera la del invetario\"}\');\n            die();\n        } */\n        // $inventarioNew = $producto[\"inventario\"] - $cantidad;\n        // PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas_detalle (id_venta, id_producto, cantidad, precio, iva, hora_inicio, hora_fin, guaje) VALUES (?,?,?,?,?,?,?,?) \", \n            \"$id$_SeparadorCampos_$id_producto$_SeparadorCampos_$cantidad$_SeparadorCampos_$precio$_SeparadorCampos_\" . $producto[\"iva\"].\"$_SeparadorCampos_$hora_inicio$_SeparadorCampos_$hora_fin$_SeparadorCampos_$guaje\");\n        calcularTotalVenta($id);\n        \n        /* $total = number_format($result[\"total\"], 2);\n        $iva = number_format($result[\"iva\"], 2); */\n\n        echo \'<script type=\"text/javascript\">\n        	document.FRMBASEINFORME.PCO_Accion.value=\"PCO_CargarObjeto\";\n        	document.FRMBASEINFORME.PCO_Objeto.value=\"frm:8:1:id:\'.$id.\'\";\n        	document.FRMBASEINFORME.Precarga_EstilosBS.value=\"1\";\n        	document.FRMBASEINFORME.Presentar_FullScreen.value=\"0\";\n        	document.FRMBASEINFORME.target=\"_self\";\n        	document.FRMBASEINFORME.submit();\n    	 </script>\';\n    }\n}\n\nif($PCO_Accion == \"VENTA_agregarProducto\") {\n    $producto = PCO_EjecutarSQL(\"\n        SELECT id, precio_venta, iva\n        FROM app_productos\n        WHERE id = \'$id_producto\'\n    \")->fetch();\n    if($producto[\"id\"]) {\n        $existe = PCO_EjecutarSQL(\"\n            SELECT count(id)\n            FROM app_ventas_detalle\n            WHERE id_venta = $id AND id_producto = \'$id_producto\'\n        \")->fetchColumn();\n        if($existe > 0) {\n            print_r(\'{\"success\": false, \"msg\": \"El producto ya se ha ingresado\"}\');\n            die();\n        }\n        /* if($producto[\"inventario\"] < $cantidad) {\n            print_r(\'{\"success\": false, \"msg\": \"La cantidad digitada supera la del invetario\"}\');\n            die();\n        } */\n        // $inventarioNew = $producto[\"inventario\"] - $cantidad;\n        // PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas_detalle (id_venta, id_producto, cantidad, precio, iva, hora_inicio, hora_fin, guaje) VALUES (?,?,?,?,?,?,?,?) \", \n            \"$id$_SeparadorCampos_$id_producto$_SeparadorCampos_$cantidad$_SeparadorCampos_$precioVenta$_SeparadorCampos_\" . $producto[\"iva\"].\"$_SeparadorCampos$hora_inicio$_SeparadorCampos$hora_fin$_SeparadorCampos$guaje\");\n        $result = calcularTotalVenta($id);\n        print_r(\'{\"success\": true, \"id\": \' . $id . \', \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se ha encontrado el producto seleccionado\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_consultarTotalVenta\") {\n    if($id) {\n        $result = calcularTotalVenta($id);\n        print_r(\'{\"success\": true, \"id\": \' . $id . \', \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se encontro la venta\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_eliminarProducto\") {\n\n    if($id_venta_detalle && $id_venta) {\n        $producto = PCO_EjecutarSQL(\"\n            SELECT p.inventario, vd.cantidad, p.id\n            FROM app_ventas_detalle vd, app_productos p\n            WHERE vd.id_producto = p.id AND vd.id = \'$id_venta_detalle\'\n        \")->fetch();\n        //Restablecemos el inventario\n        $inventarioNew = $producto[\"inventario\"] + $producto[\"cantidad\"];\n        PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"DELETE FROM app_ventas_detalle WHERE id_venta = $id_venta AND id = $id_venta_detalle\");\n        $result = calcularTotalVenta($id_venta);\n        print_r(\'{\"success\": true, \"msg\": \"Se ha eliminado el producto exitosamente\", \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se pudo eliminar el producto\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_actualizarProductoVenta\") {\n    if($id) {\n        PCO_EjecutarSQLUnaria(\"UPDATE app_ventas_detalle SET cantidad=\'$cantidad\', precio=\'$precio\' WHERE id = \'$id\'\");\n        echo 1;\n        die();\n    }\n    echo 0;\n    die();\n}\n\nif($PCO_Accion == \"VENTA_imprimirFactura\") {\n    if($PCO_Valor)\n        $id = $PCO_Valor;\n    if($id) {\n        include_once \"imprimirFactura.php\";\n    }\n}\n\nif($PCO_Accion == \"VENTA_generarLiquidacionMecanicos\") {\n    $ventas = PCO_EjecutarSQL(\"\n        SELECT v.id, v.id_mecanico, SUM(v.total_mecanico) as Total, m.seguridad_social\n        FROM app_mecanicos m,app_ventas v\n        WHERE m.id = v.id_mecanico AND v.fecha >= \'$fecha_inicio 00:00:00\' AND v.fecha <= \'$fecha_fin 23:59:59\' AND v.estado = 1 AND id_mecanico <> 0 AND id_liquidacion=0\n        GROUP BY v.id_mecanico\n    \")->fetchAll();\n    foreach ($ventas as $venta) {\n        $valor_novedad = PCO_EjecutarSQL(\"\n            SELECT  \n                SUM(case when tipo_novedad=\'Abonar\' then valor_novedad else 0 end) as abonar,\n                SUM(case when tipo_novedad=\'Debitar\' then valor_novedad else 0 end) as debitar\n            FROM app_novedades_mecanicos\n            WHERE fecha >= \'$fecha_inicio\' AND fecha <= \'$fecha_fin\'\n                AND id_mecanico=\'\".$venta[\'id_mecanico\'].\"\' AND id_liquidacion=0\n            GROUP BY id_mecanico\n        \")->fetch();\n\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_liquidacion_mecanicos_enc (id_mecanico, fecha_inicio, fecha_fin, fecha, valor_venta, valor_novedad_abonar, valor_novedad_debitar, seguridad_social, usuario) VALUES (?,?,?,?,?,?,?,?,?) \",\n            $venta[\"id_mecanico\"].\"$_SeparadorCampos_$fecha_inicio$_SeparadorCampos_$fecha_fin$_SeparadorCampos_$PCO_FechaOperacionGuiones$_SeparadorCampos_\".$venta[\"Total\"].\"$_SeparadorCampos_\".$valor_novedad[\'abonar\'].\"$_SeparadorCampos_\".$valor_novedad[\'debitar\'].\"$_SeparadorCampos_\".$venta[\"seguridad_social\"].\"$_SeparadorCampos_$PCOSESS_LoginUsuario\"\n        );\n        \n        PCO_EjecutarSQLUnaria(\"\n        UPDATE app_novedades_mecanicos \n        SET id_liquidacion=1\n        WHERE \n            fecha >= \'$fecha_inicio\' AND fecha <= \'$fecha_fin\' AND id_mecanico=\'\".$venta[\'id_mecanico\'].\"\' AND id_liquidacion=0\n        \");\n    }\n        // arq de estados\n        //actualiozar estados\n    PCO_EjecutarSQLUnaria(\"\n        UPDATE app_ventas \n        SET id_liquidacion=1\n        WHERE app_mecanicos.id = app_ventas.id_mecanico AND app_ventas.fecha >= \'$fecha_inicio 00:00:00\' AND app_ventas.fecha <= \'$fecha_fin 23:59:59\' AND app_ventas.estado = 1 AND id_mecanico <> 0 AND id_liquidacion=0\");\n    PCO_CargarFormulario(14);\n}\n\nif($PCO_Accion == \"VENTAS_verLiquidacion\") {\n    // $liq = PCO_EjecutarSQL(\"\")->fetch();\n    include \'liquidacion_mecanicos.php\';\n}\n','A'),(982,'mod/app_ventas/liquidacion_mecanicos.php','2025-01-31 10:12:00','rafael',524,73960,'<?php\n\n @session_start();\n\nif(!isset($_SESSION[\'PCOSESS_SesionAbierta\'])) {\n	echo \'<head><title>Error</title><style type=\"text/css\"> body { background-color: #000000; color: #7f7f7f; font-family: sans-serif,helvetica; } </style></head><body><table width=\"100%\" height=\"100%\" border=0><tr><td align=center>&#9827; Acceso no autorizado !</td></tr></table></body>\';\n	die();\n}\n/*include_once \'../../core/configuracion.php\';\ninclude_once \'../../core/conexiones.php\';\ninclude_once \'../../inc/practico/def_basedatos.php\';\ninclude_once \'../../core/comunes.php\';*/\n\n$saldoFavor = $factura[\"saldo_pendiente\"] < 0 ? -$factura[\"saldo_pendiente\"] : 0;\n$nombreFactura = $factura[\"id_contrato\"] . \'-\' .$factura[\"nombres\"] . \' \' . $factura[\"apellidos\"];\n$saldoPendienteValor = $factura[\"saldo_pendiente\"] > 0 ? $factura[\"saldo_pendiente\"] : 0;\n$saldoPendiente = number_format($saldoPendienteValor, 0, \',\', \'.\');\n$totalValor =  number_format($factura[\"valor_sin_recargo\"] + $saldoPendienteValor - $saldoFavor, 0, \',\', \'.\');\n$total = $totalValor > 0 ? $totalValor : 0;\n\n$fechaSinRecargoBr = str_replace(\"-\", \"\", $factura[\"fecha_sin_recargo\"]);\n$totalValor =  number_format($factura[\"valor_sin_recargo\"] + $saldoPendienteValor - $saldoFavor, 0, \',\', \'.\');\n$total = $totalValor > 0 ? $totalValor : 0;\n$totalBr = str_replace(\".\", \"\", $total);\n$codigobarra = $factura[\"codigo_gs1\"]; // \"7709998678439\";\n$BarcodeParent = \"(415)$codigobarra(8020)\" . $factura[\"id\"] . \"(3900)$totalBr(96)$fechaSinRecargoBr\";\n\n$descargar = 0;\nif ($PCO_Accion == \"FACTURAS_descargarFactura\")\n    $descargar = 1;\n\n$html = \'\n<html>\n\n<head>\n   <meta charset=\"utf-8\">\n   <title>Factura</title>\n   <style>\n      * {\n         border: 0;\n         box-sizing: content-box;\n         color: inherit;\n         font-family: Verdana;\n         font-size: inherit;\n         font-style: inherit;\n         font-weight: inherit;\n         line-height: inherit;\n         list-style: none;\n         margin: 0;\n         padding: 0;\n         text-decoration: none;\n         vertical-align: top;\n      }\n\n      /* heading */\n\n      h1 {\n         font: bold 100% sans-serif;\n         letter-spacing: 0.5em;\n         text-align: center;\n         text-transform: uppercase;\n      }\n\n      /* table */\n\n      table {\n         font-size: 75%;\n         table-layout: fixed;\n         width: 100%;\n      }\n\n      table {\n         border-collapse: separate;\n         border-spacing: 3px;\n      }\n\n      th,\n      td {\n         border-width: 1px;\n         padding: 0.5em;\n         position: relative;\n         text-align: center;\n      }\n\n      th,\n      td {\n         border-radius: 0.25em;\n         border-style: solid;\n      }\n\n      th {\n         background: #1f60a0;\n         color: #fff;\n         border-color: #BBB;\n      }\n\n      td {\n         border-color: #DDD;\n      }\n\n      /* page */\n\n      html {\n         font: 16px/1 \"Open Sans\", sans-serif;\n         overflow: auto;\n         padding: 0.5in;\n      }\n\n      html {\n         background: #999;\n         cursor: default;\n      }\n\n      body {\n         box-sizing: border-box;\n         height: 11in;\n         margin: 0 auto;\n         overflow: hidden;\n         padding: 0.5in;\n         width: 8.5in;\n      }\n\n      body {\n         background: #FFF;\n         border-radius: 1px;\n         box-shadow: 0 0 1in -0.25in rgba(0, 0, 0, 0.5);\n      }\n\n      /* header */\n\n      header {\n         margin: 0 0 3em;\n      }\n\n      header:after {\n         clear: both;\n         content: \"\";\n         display: table;\n      }\n\n      header h1 {\n         background: #000;\n         border-radius: 0.25em;\n         color: #FFF;\n         margin: 0 0 1em;\n         padding: 0.5em 0;\n      }\n\n      header address {\n         float: left;\n         font-size: 75%;\n         font-style: normal;\n         line-height: 1.25;\n         margin: 0 1em 1em 0;\n      }\n\n      header address p {\n         margin: 0 0 0.25em;\n      }\n\n      header span,\n      header img {\n         display: block;\n         float: right;\n      }\n\n      header span {\n         margin: 0 0 1em 1em;\n         max-height: 25%;\n         max-width: 60%;\n         position: relative;\n      }\n\n      header img {\n         max-height: 100%;\n         max-width: 100%;\n      }\n\n      header input {\n         cursor: pointer;\n         -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";\n         height: 100%;\n         left: 0;\n         opacity: 0;\n         position: absolute;\n         top: 0;\n         width: 100%;\n      }\n\n      /* article */\n\n      article,\n      article address,\n      table.meta,\n      table.inventory {\n         margin: 0 0 1.3em;\n      }\n\n      article:after {\n         clear: both;\n         content: \"\";\n         display: table;\n      }\n\n      article h1 {\n         clip: rect(0 0 0 0);\n         position: absolute;\n      }\n\n      article address {\n         float: left;\n         font-size: 125%;\n      }\n\n      /* table meta & balance */\n\n      table.meta,\n      table.balance {\n         float: right;\n         width: 36%;\n      }\n\n      table.meta:after,\n      table.balance:after {\n         clear: both;\n         content: \"\";\n         display: table;\n      }\n\n      /* table meta */\n\n      table.meta th {\n         width: 40%;\n      }\n\n      table.meta td {\n         width: 60%;\n      }\n\n      /* table items */\n\n      table.inventory {\n         clear: both;\n         width: 100%;\n      }\n\n      table.inventory th {\n         font-weight: bold;\n         text-align: center;\n      }\n\n      table.inventory td:nth-child(1) {\n         width: 26%;\n      }\n\n      table.inventory td:nth-child(2) {\n         width: 38%;\n      }\n\n      table.inventory td:nth-child(3) {\n         text-align: center;\n         width: 12%;\n      }\n\n      table.inventory td:nth-child(4) {\n         text-align: center;\n         width: 12%;\n      }\n\n      table.inventory td:nth-child(5) {\n         text-align: center;\n         width: 12%;\n      }\n\n      /* table balance */\n\n      table.balance th {\n         width: 40%;\n         text-align: center;\n      }\n\n      table.balance td {\n         width: 60%;\n         text-align: center;\n      }\n\n      /* aside */\n\n      aside h1 {\n         border: none;\n         border-width: 0 0 1px;\n         margin: 0 0 1em;\n      }\n\n      aside h1 {\n         border-color: #999;\n         border-bottom-style: solid;\n      }\n\n      /* javascript */\n\n      @media print {\n         * {\n            -webkit-print-color-adjust: exact;\n         }\n\n         html {\n            background: none;\n            padding: 0;\n         }\n\n         body {\n            box-shadow: none;\n            margin: 0;\n         }\n\n         span:empty {\n            display: none;\n         }\n      }\n\n      @page {\n         margin: 0;\n      }\n   </style>\n    <link rel=\"stylesheet\" href=\"inc/pdfLib/all.min.css\">\n    <script type=\"text/javascript\" src=\"inc/pdfLib/html2pdf.bundle.min.js\"></script>\n    <script type=\"text/javascript\" src=\"inc/bwip/bwip-js-min.js\"></script>\n    \n            <!--<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css\">-->\n            <!--<script src=\"https://cdnjs.cloudflare.com/ajax/libs/html2pdf.js/0.10.1/html2pdf.bundle.min.js\"\n              integrity=\"sha512-GsLlZN/3F2ErC5ifS5QtgpiJtWd43JWSuIgh7mbzZ8zBps+dvLusV+eNQATqgA/HdeKFVgA5v3S/cIrLF7QnIg==\"\n              crossorigin=\"anonymous\" referrerpolicy=\"no-referrer\"></script>-->\n</head>\n<body id=\"Invoices\">\n\n   <article>\n      <img\n         src=\"data:image/png;base64,[encoded data, 37384 characters]\"\n         data-filename=\"logoASJ_.png\">\n      <!--<img src=\"./logoASJ_.png\">-->\n      <BR>\n      <BR>\n      <BR>\n      <address>\n         <p style=\"color:#14406b; font-size: 18px; font-weight: bold;\">AGUAS DE SAN JERONIMO E.S.P</p>\n         <p style=\"font-size: 12px;\">NIT: 811018300-6</p>\n         <p style=\"font-size: 12px;\">CLL 21 # 8-78 San Jerónimo, Ant</p>\n         <BR>\n         <p style=\"font-size: 14px;\"><span style=\"font-weight: bold;\">Contrato N° </span> \' . $factura[\"id_contrato\"] . \' <br>\n            <span style=\"font-weight: bold;\">Nombre: </span>\' . $factura[\"nombres\"] . \' \' . $factura[\"apellidos\"] . \' <br>\n            <!--<span style=\"font-weight: bold;\">Estrato: </span>\' . $factura[\"estrato\"] . \'<br>-->\n            <span style=\"font-weight: bold;\"> Vereda: </span>\' . $factura[\"zona\"] . \' <br>\n            <span style=\"font-weight: bold;\">Dirección: </span>\' . $factura[\"direccion\"] . \' <br>\n         </p>\n      </address>\n\n      <table class=\"meta\">\n         <tr>\n            <th style=\"width: 120px !important;\"><span>Factura</span></th>\n            <td><span>\' . $factura[\"id\"] . \'</span></td>\n         </tr>\n         <tr>\n            <th><span>Fecha sin recargo</span></th>\n            <td><span>\' . $factura[\"fecha_sin_recargo\"] . \'</span></td>\n         </tr>\n         <tr>\n            <th><span>Fecha con recargo</span></th>\n            <td><span>\' . $factura[\"fecha_con_recargo\"] . \'</span></td>\n         </tr>\n      </table>\n      <table class=\"inventory\">\n         <thead>\n            <tr>\n               <th><span>Descripción</span></th>\n               <th><span>Cantidad</span></th>\n               <th style=\"background-color: #14406b;\"><span>Precio</span></th>\n            </tr>\n         </thead>\n         <tbody>\n            <tr>\n               <td><span>Consumo de agua m3</span></td>\n               <td><span>1</span></td>\n               <td style=\"text-align: center !important;\"><span data-prefix>$</span><span>\' . number_format($factura[\"valor_sin_recargo\"], 0, \',\', \'.\') . \'</span></td>\n            </tr>\n         </tbody>\n      </table>\n\n      <table class=\"balance\" style=\"font-size: 11px;\">\n         <tr>\n            <td><span>SUBTOTAL</span></td>\n            <th><span data-prefix>$</span><span>\' . number_format($factura[\"valor_sin_recargo\"], 0, \',\', \'.\') . \'</span></th>\n         </tr>\n         <tr>\n            <td><span>CUENTAS VENCIDAS</span></td>\n            <th><span data-prefix>$</span><span>\' . $saldoPendiente . \'</span></th>\n         </tr>\n         <tr>\n            <td><span>SALDO A FAVOR</span></td>\n            <th><span data-prefix>$</span><span>\' . number_format($saldoFavor, 0, \',\', \'.\') . \'</span></th>\n         </tr>\n         <tr>\n            <td><span>OTROS</span></td>\n            <th><span data-prefix>$</span><span>0</span></th>\n         </tr>\n         <tr style=\"color: #fff; font-size: 16px;\">\n            <td style=\"background-color: #1f60a0; font-weight: bold;\"><span>TOTAL</span></td>\n            <th style=\"background-color: #14406b;\"><span data-prefix>$</span><span>\' . $total . \'</span></th>\n         </tr>\n       \n            \n        </tr>\n         </tr>\n      </table>\n      <address style=\"width: 62%;\">\n        <table>\n            <tr>\n               <td style=\"border-radius: 0 !important; border-style: none !important;\">\n                  <p style=\"font-size: 13px; vertical-align: middle; line-height: normal\">\n                     <span style=\"font-weight: bold;\"> Medios y Canales de Pago</span>\n                     <br>\n                     <br>\n                     <span style=\"font-weight: bold;\">BANCOLOMBIA:</span>\n                     <br>\n                     <span style=\"font-weight: \">Corresponsal Bancario (PAC): </span>\n                     <br>\n                     <span style=\"font-weight: bold;\"> \'.$factura[\'convenio_presencial\'].\'</span>\n                    <br>\n                     <span style=\"font-weight: \">Pago virtual (APP): </span>\n                      <br>\n                    <span style=\"font-weight: bold;\"> \'.$factura[\'convenio_virtual\'].\'</span>\n                     <br>\n                     <span style=\"font-weight: \">Referencia de pago:</span>\n                     <br>\n                     <span style=\"font-weight: bold;\">   NUMERO DE CONTRATO</span>\n                  </p>\n               </td> \n               <td style=\"border-radius: 0 !important; border-style: none !important;\">\n                    <img src=\"data:image/png;base64,[encoded data, 21620 characters]\" data-filename=\"Firma Ignacio Digital.png\"\n                    data-filename=\"Firma Ignacio Digital.png\" style=\"width: 220px; height: 70px;\">\n                    <p style=\"font-size: 10.3px; font-weight: bold;\">JORGE IGNACIO AREIZA CASTRILLON <BR> GERENTE</p>\n               </td>\n            </tr>\n         </table> \n      </address>\n      </div>\n        \n         </br>\n         </br>\n         </br>\n        <table style=\"border-collapse: collapse; border:none; border-width: 0px; style=\"vertical-align: middle !important;\">\n            <tr style=\"float: middle; !important;\">\n                <td style=\"border-radius: 0 !important; border-style: none !important; vertical-align: middle !important; width:30%\">\n                    <img id=\"barcodeTarget\" width=\"500\" />\n                    <canvas id=\"mycanvas\"></canvas>\n                </td>\n            </tr>\n        </table>\n   </article>\n \n       <script>\n        const options = {\n            bcid:        \"gs1-128\",       // Barcode type\n            text:        \"\' . $BarcodeParent. \'\",    // Text to encode\n            scale:       2,               // 3x scaling factor\n            height:      8,              // Bar height, in millimeters\n            includetext: true,            // Show human-readable text\n            textxalign:  \"center\",        // Always good to set this\n        };\n\n        const hola3 = () => {\n            const canvas = document.createElement(\"canvas\");\n            try {\n                bwipjs.toCanvas(canvas, options);\n                document.getElementById(\"barcodeTarget\").src = canvas.toDataURL(\"image/png\");\n            } catch (e) { console.log({e}); }\n        };\n        //addEventListener(\"DOMContentLoaded\", () => {\n            hola3();\n        //});\n\n	</script>\n	\n\n	\n	\n      <script>\n      document.addEventListener(\"DOMContentLoaded\", function (event) {\n        //setTimeout(function(){ hola(); }, 1000);\n        var descargar = \' . $descargar . \';\n        if(descargar == 1) {\n             var element = document.getElementById(\"Invoices\");\n             \n             var opt = {\n                filename: \"\' . str_replace(\' \', \'\', $nombreFactura) . \'.pdf\",\n                image: { type: \"jpeg\", quality: 0.98 },\n                html2canvas: { scale: 2, useCORS: true, letterRendering: true },\n                jsPDF: { unit: \"mm\", format: \"letter\", orientation: \"portrait\" }\n             };\n    		 html2pdf(element, opt);\n    		 setTimeout(function(){ window.close(); }, 1650);\n        }\n        });\n        \n        function hola(){\n            var element = document.getElementById(\"Invoices\");\n             \n             var opt = {\n                filename: \"\' . $factura[\"contrato\"] . \'.pdf\",\n                image: { type: \"jpeg\", quality: 0.98 },\n                html2canvas: { scale: 2, useCORS: true, letterRendering: true },\n                jsPDF: { unit: \"mm\", format: \"letter\", orientation: \"portrait\" }\n             };\n    		 html2pdf(element, opt);\n        }\n   </script>\n</body>\n</html>\';\n\necho $html;\ndie();\n\n\n?>','A'),(983,'mod/app_ventas/liquidacion_mecanicos.php','2025-01-31 10:29:00','rafael',524,116492,'<?php\n\n @session_start();\n\nif(!isset($_SESSION[\'PCOSESS_SesionAbierta\'])) {\n	echo \'<head><title>Error</title><style type=\"text/css\"> body { background-color: #000000; color: #7f7f7f; font-family: sans-serif,helvetica; } </style></head><body><table width=\"100%\" height=\"100%\" border=0><tr><td align=center>&#9827; Acceso no autorizado !</td></tr></table></body>\';\n	die();\n}\n/*include_once \'../../core/configuracion.php\';\ninclude_once \'../../core/conexiones.php\';\ninclude_once \'../../inc/practico/def_basedatos.php\';\ninclude_once \'../../core/comunes.php\';*/\n\n$saldoFavor = $factura[\"saldo_pendiente\"] < 0 ? -$factura[\"saldo_pendiente\"] : 0;\n$nombreFactura = $factura[\"id_contrato\"] . \'-\' .$factura[\"nombres\"] . \' \' . $factura[\"apellidos\"];\n$saldoPendienteValor = $factura[\"saldo_pendiente\"] > 0 ? $factura[\"saldo_pendiente\"] : 0;\n$saldoPendiente = number_format($saldoPendienteValor, 0, \',\', \'.\');\n$totalValor =  number_format($factura[\"valor_sin_recargo\"] + $saldoPendienteValor - $saldoFavor, 0, \',\', \'.\');\n$total = $totalValor > 0 ? $totalValor : 0;\n\n$fechaSinRecargoBr = str_replace(\"-\", \"\", $factura[\"fecha_sin_recargo\"]);\n$totalValor =  number_format($factura[\"valor_sin_recargo\"] + $saldoPendienteValor - $saldoFavor, 0, \',\', \'.\');\n$total = $totalValor > 0 ? $totalValor : 0;\n$totalBr = str_replace(\".\", \"\", $total);\n$codigobarra = $factura[\"codigo_gs1\"]; // \"7709998678439\";\n$BarcodeParent = \"(415)$codigobarra(8020)\" . $factura[\"id\"] . \"(3900)$totalBr(96)$fechaSinRecargoBr\";\n\n$descargar = 0;\nif ($PCO_Accion == \"FACTURAS_descargarFactura\")\n    $descargar = 1;\n\n$html = \'\n<html>\n\n<head>\n   <meta charset=\"utf-8\">\n   <title>Factura</title>\n   <style>\n      * {\n         border: 0;\n         box-sizing: content-box;\n         color: inherit;\n         font-family: Verdana;\n         font-size: inherit;\n         font-style: inherit;\n         font-weight: inherit;\n         line-height: inherit;\n         list-style: none;\n         margin: 0;\n         padding: 0;\n         text-decoration: none;\n         vertical-align: top;\n      }\n\n      /* heading */\n\n      h1 {\n         font: bold 100% sans-serif;\n         letter-spacing: 0.5em;\n         text-align: center;\n         text-transform: uppercase;\n      }\n\n      /* table */\n\n      table {\n         font-size: 75%;\n         table-layout: fixed;\n         width: 100%;\n      }\n\n      table {\n         border-collapse: separate;\n         border-spacing: 3px;\n      }\n\n      th,\n      td {\n         border-width: 1px;\n         padding: 0.5em;\n         position: relative;\n         text-align: center;\n      }\n\n      th,\n      td {\n         border-radius: 0.25em;\n         border-style: solid;\n      }\n\n      th {\n         background: #1f60a0;\n         color: #fff;\n         border-color: #BBB;\n      }\n\n      td {\n         border-color: #DDD;\n      }\n\n      /* page */\n\n      html {\n         font: 16px/1 \"Open Sans\", sans-serif;\n         overflow: auto;\n         padding: 0.5in;\n      }\n\n      html {\n         background: #999;\n         cursor: default;\n      }\n\n      body {\n         box-sizing: border-box;\n         height: 11in;\n         margin: 0 auto;\n         overflow: hidden;\n         padding: 0.5in;\n         width: 8.5in;\n      }\n\n      body {\n         background: #FFF;\n         border-radius: 1px;\n         box-shadow: 0 0 1in -0.25in rgba(0, 0, 0, 0.5);\n      }\n\n      /* header */\n\n      header {\n         margin: 0 0 3em;\n      }\n\n      header:after {\n         clear: both;\n         content: \"\";\n         display: table;\n      }\n\n      header h1 {\n         background: #000;\n         border-radius: 0.25em;\n         color: #FFF;\n         margin: 0 0 1em;\n         padding: 0.5em 0;\n      }\n\n      header address {\n         float: left;\n         font-size: 75%;\n         font-style: normal;\n         line-height: 1.25;\n         margin: 0 1em 1em 0;\n      }\n\n      header address p {\n         margin: 0 0 0.25em;\n      }\n\n      header span,\n      header img {\n         display: block;\n         float: right;\n      }\n\n      header span {\n         margin: 0 0 1em 1em;\n         max-height: 25%;\n         max-width: 60%;\n         position: relative;\n      }\n\n      header img {\n         max-height: 100%;\n         max-width: 100%;\n      }\n\n      header input {\n         cursor: pointer;\n         -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";\n         height: 100%;\n         left: 0;\n         opacity: 0;\n         position: absolute;\n         top: 0;\n         width: 100%;\n      }\n\n      /* article */\n\n      article,\n      article address,\n      table.meta,\n      table.inventory {\n         margin: 0 0 1.3em;\n      }\n\n      article:after {\n         clear: both;\n         content: \"\";\n         display: table;\n      }\n\n      article h1 {\n         clip: rect(0 0 0 0);\n         position: absolute;\n      }\n\n      article address {\n         float: left;\n         font-size: 125%;\n      }\n\n      /* table meta & balance */\n\n      table.meta,\n      table.balance {\n         float: right;\n         width: 36%;\n      }\n\n      table.meta:after,\n      table.balance:after {\n         clear: both;\n         content: \"\";\n         display: table;\n      }\n\n      /* table meta */\n\n      table.meta th {\n         width: 40%;\n      }\n\n      table.meta td {\n         width: 60%;\n      }\n\n      /* table items */\n\n      table.inventory {\n         clear: both;\n         width: 100%;\n      }\n\n      table.inventory th {\n         font-weight: bold;\n         text-align: center;\n      }\n\n      table.inventory td:nth-child(1) {\n         width: 26%;\n      }\n\n      table.inventory td:nth-child(2) {\n         width: 38%;\n      }\n\n      table.inventory td:nth-child(3) {\n         text-align: center;\n         width: 12%;\n      }\n\n      table.inventory td:nth-child(4) {\n         text-align: center;\n         width: 12%;\n      }\n\n      table.inventory td:nth-child(5) {\n         text-align: center;\n         width: 12%;\n      }\n\n      /* table balance */\n\n      table.balance th {\n         width: 40%;\n         text-align: center;\n      }\n\n      table.balance td {\n         width: 60%;\n         text-align: center;\n      }\n\n      /* aside */\n\n      aside h1 {\n         border: none;\n         border-width: 0 0 1px;\n         margin: 0 0 1em;\n      }\n\n      aside h1 {\n         border-color: #999;\n         border-bottom-style: solid;\n      }\n\n      /* javascript */\n\n      @media print {\n         * {\n            -webkit-print-color-adjust: exact;\n         }\n\n         html {\n            background: none;\n            padding: 0;\n         }\n\n         body {\n            box-shadow: none;\n            margin: 0;\n         }\n\n         span:empty {\n            display: none;\n         }\n      }\n\n      @page {\n         margin: 0;\n      }\n   </style>\n    <link rel=\"stylesheet\" href=\"inc/pdfLib/all.min.css\">\n    <script type=\"text/javascript\" src=\"inc/pdfLib/html2pdf.bundle.min.js\"></script>\n    <script type=\"text/javascript\" src=\"inc/bwip/bwip-js-min.js\"></script>\n    \n            <!--<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css\">-->\n            <!--<script src=\"https://cdnjs.cloudflare.com/ajax/libs/html2pdf.js/0.10.1/html2pdf.bundle.min.js\"\n              integrity=\"sha512-GsLlZN/3F2ErC5ifS5QtgpiJtWd43JWSuIgh7mbzZ8zBps+dvLusV+eNQATqgA/HdeKFVgA5v3S/cIrLF7QnIg==\"\n              crossorigin=\"anonymous\" referrerpolicy=\"no-referrer\"></script>-->\n</head>\n<body id=\"Invoices\">\n\n   <article>\n      <img\n         src=\"data:image/png;base64,[encoded data, 79916 characters]\"\n         data-filename=\"logoASJ_.png\">\n      <!--<img src=\"./logoASJ_.png\">-->\n      <BR>\n      <BR>\n      <BR>\n      <address>\n         <p style=\"color:#14406b; font-size: 18px; font-weight: bold;\">AGUAS DE SAN JERONIMO E.S.P</p>\n         <p style=\"font-size: 12px;\">NIT: 811018300-6</p>\n         <p style=\"font-size: 12px;\">CLL 21 # 8-78 San Jerónimo, Ant</p>\n         <BR>\n         <p style=\"font-size: 14px;\"><span style=\"font-weight: bold;\">Contrato N° </span> \' . $factura[\"id_contrato\"] . \' <br>\n            <span style=\"font-weight: bold;\">Nombre: </span>\' . $factura[\"nombres\"] . \' \' . $factura[\"apellidos\"] . \' <br>\n            <!--<span style=\"font-weight: bold;\">Estrato: </span>\' . $factura[\"estrato\"] . \'<br>-->\n            <span style=\"font-weight: bold;\"> Vereda: </span>\' . $factura[\"zona\"] . \' <br>\n            <span style=\"font-weight: bold;\">Dirección: </span>\' . $factura[\"direccion\"] . \' <br>\n         </p>\n      </address>\n\n      <table class=\"meta\">\n         <tr>\n            <th style=\"width: 120px !important;\"><span>Factura</span></th>\n            <td><span>\' . $factura[\"id\"] . \'</span></td>\n         </tr>\n         <tr>\n            <th><span>Fecha sin recargo</span></th>\n            <td><span>\' . $factura[\"fecha_sin_recargo\"] . \'</span></td>\n         </tr>\n         <tr>\n            <th><span>Fecha con recargo</span></th>\n            <td><span>\' . $factura[\"fecha_con_recargo\"] . \'</span></td>\n         </tr>\n      </table>\n      <table class=\"inventory\">\n         <thead>\n            <tr>\n               <th><span>Descripción</span></th>\n               <th><span>Cantidad</span></th>\n               <th style=\"background-color: #14406b;\"><span>Precio</span></th>\n            </tr>\n         </thead>\n         <tbody>\n            <tr>\n               <td><span>Consumo de agua m3</span></td>\n               <td><span>1</span></td>\n               <td style=\"text-align: center !important;\"><span data-prefix>$</span><span>\' . number_format($factura[\"valor_sin_recargo\"], 0, \',\', \'.\') . \'</span></td>\n            </tr>\n         </tbody>\n      </table>\n\n      <table class=\"balance\" style=\"font-size: 11px;\">\n         <tr>\n            <td><span>SUBTOTAL</span></td>\n            <th><span data-prefix>$</span><span>\' . number_format($factura[\"valor_sin_recargo\"], 0, \',\', \'.\') . \'</span></th>\n         </tr>\n         <tr>\n            <td><span>CUENTAS VENCIDAS</span></td>\n            <th><span data-prefix>$</span><span>\' . $saldoPendiente . \'</span></th>\n         </tr>\n         <tr>\n            <td><span>SALDO A FAVOR</span></td>\n            <th><span data-prefix>$</span><span>\' . number_format($saldoFavor, 0, \',\', \'.\') . \'</span></th>\n         </tr>\n         <tr>\n            <td><span>OTROS</span></td>\n            <th><span data-prefix>$</span><span>0</span></th>\n         </tr>\n         <tr style=\"color: #fff; font-size: 16px;\">\n            <td style=\"background-color: #1f60a0; font-weight: bold;\"><span>TOTAL</span></td>\n            <th style=\"background-color: #14406b;\"><span data-prefix>$</span><span>\' . $total . \'</span></th>\n         </tr>\n       \n            \n        </tr>\n         </tr>\n      </table>\n      <address style=\"width: 62%;\">\n        <table>\n            <tr>\n               <td style=\"border-radius: 0 !important; border-style: none !important;\">\n                  <p style=\"font-size: 13px; vertical-align: middle; line-height: normal\">\n                     <span style=\"font-weight: bold;\"> Medios y Canales de Pago</span>\n                     <br>\n                     <br>\n                     <span style=\"font-weight: bold;\">BANCOLOMBIA:</span>\n                     <br>\n                     <span style=\"font-weight: \">Corresponsal Bancario (PAC): </span>\n                     <br>\n                     <span style=\"font-weight: bold;\"> \'.$factura[\'convenio_presencial\'].\'</span>\n                    <br>\n                     <span style=\"font-weight: \">Pago virtual (APP): </span>\n                      <br>\n                    <span style=\"font-weight: bold;\"> \'.$factura[\'convenio_virtual\'].\'</span>\n                     <br>\n                     <span style=\"font-weight: \">Referencia de pago:</span>\n                     <br>\n                     <span style=\"font-weight: bold;\">   NUMERO DE CONTRATO</span>\n                  </p>\n               </td> \n               <td style=\"border-radius: 0 !important; border-style: none !important;\">\n                    <img src=\"data:image/png;base64,[encoded data, 21620 characters]\" data-filename=\"Firma Ignacio Digital.png\"\n                    data-filename=\"Firma Ignacio Digital.png\" style=\"width: 220px; height: 70px;\">\n                    <p style=\"font-size: 10.3px; font-weight: bold;\">JORGE IGNACIO AREIZA CASTRILLON <BR> GERENTE</p>\n               </td>\n            </tr>\n         </table> \n      </address>\n      </div>\n        \n         </br>\n         </br>\n         </br>\n        <table style=\"border-collapse: collapse; border:none; border-width: 0px; style=\"vertical-align: middle !important;\">\n            <tr style=\"float: middle; !important;\">\n                <td style=\"border-radius: 0 !important; border-style: none !important; vertical-align: middle !important; width:30%\">\n                    <img id=\"barcodeTarget\" width=\"500\" />\n                    <canvas id=\"mycanvas\"></canvas>\n                </td>\n            </tr>\n        </table>\n   </article>\n \n       <script>\n        const options = {\n            bcid:        \"gs1-128\",       // Barcode type\n            text:        \"\' . $BarcodeParent. \'\",    // Text to encode\n            scale:       2,               // 3x scaling factor\n            height:      8,              // Bar height, in millimeters\n            includetext: true,            // Show human-readable text\n            textxalign:  \"center\",        // Always good to set this\n        };\n\n        const hola3 = () => {\n            const canvas = document.createElement(\"canvas\");\n            try {\n                bwipjs.toCanvas(canvas, options);\n                document.getElementById(\"barcodeTarget\").src = canvas.toDataURL(\"image/png\");\n            } catch (e) { console.log({e}); }\n        };\n        //addEventListener(\"DOMContentLoaded\", () => {\n            hola3();\n        //});\n\n	</script>\n	\n\n	\n	\n      <script>\n      document.addEventListener(\"DOMContentLoaded\", function (event) {\n        //setTimeout(function(){ hola(); }, 1000);\n        var descargar = \' . $descargar . \';\n        if(descargar == 1) {\n             var element = document.getElementById(\"Invoices\");\n             \n             var opt = {\n                filename: \"\' . str_replace(\' \', \'\', $nombreFactura) . \'.pdf\",\n                image: { type: \"jpeg\", quality: 0.98 },\n                html2canvas: { scale: 2, useCORS: true, letterRendering: true },\n                jsPDF: { unit: \"mm\", format: \"letter\", orientation: \"portrait\" }\n             };\n    		 html2pdf(element, opt);\n    		 setTimeout(function(){ window.close(); }, 1650);\n        }\n        });\n        \n        function hola(){\n            var element = document.getElementById(\"Invoices\");\n             \n             var opt = {\n                filename: \"\' . $factura[\"contrato\"] . \'.pdf\",\n                image: { type: \"jpeg\", quality: 0.98 },\n                html2canvas: { scale: 2, useCORS: true, letterRendering: true },\n                jsPDF: { unit: \"mm\", format: \"letter\", orientation: \"portrait\" }\n             };\n    		 html2pdf(element, opt);\n        }\n   </script>\n</body>\n</html>\';\n\necho $html;\ndie();\n\n\n?>','A'),(984,'mod/app_ventas/liquidacion_mecanicos.php','2025-01-31 10:40:00','rafael',524,36554,'<?php\n\n @session_start();\n\nif(!isset($_SESSION[\'PCOSESS_SesionAbierta\'])) {\n	echo \'<head><title>Error</title><style type=\"text/css\"> body { background-color: #000000; color: #7f7f7f; font-family: sans-serif,helvetica; } </style></head><body><table width=\"100%\" height=\"100%\" border=0><tr><td align=center>&#9827; Acceso no autorizado !</td></tr></table></body>\';\n	die();\n}\n/*include_once \'../../core/configuracion.php\';\ninclude_once \'../../core/conexiones.php\';\ninclude_once \'../../inc/practico/def_basedatos.php\';\ninclude_once \'../../core/comunes.php\';*/\n\n$saldoFavor = $factura[\"saldo_pendiente\"] < 0 ? -$factura[\"saldo_pendiente\"] : 0;\n$nombreFactura = $factura[\"id_contrato\"] . \'-\' .$factura[\"nombres\"] . \' \' . $factura[\"apellidos\"];\n$saldoPendienteValor = $factura[\"saldo_pendiente\"] > 0 ? $factura[\"saldo_pendiente\"] : 0;\n$saldoPendiente = number_format($saldoPendienteValor, 0, \',\', \'.\');\n$totalValor =  number_format($factura[\"valor_sin_recargo\"] + $saldoPendienteValor - $saldoFavor, 0, \',\', \'.\');\n$total = $totalValor > 0 ? $totalValor : 0;\n\n$fechaSinRecargoBr = str_replace(\"-\", \"\", $factura[\"fecha_sin_recargo\"]);\n$totalValor =  number_format($factura[\"valor_sin_recargo\"] + $saldoPendienteValor - $saldoFavor, 0, \',\', \'.\');\n$total = $totalValor > 0 ? $totalValor : 0;\n$totalBr = str_replace(\".\", \"\", $total);\n$codigobarra = $factura[\"codigo_gs1\"]; // \"7709998678439\";\n$BarcodeParent = \"(415)$codigobarra(8020)\" . $factura[\"id\"] . \"(3900)$totalBr(96)$fechaSinRecargoBr\";\n\n$descargar = 0;\nif ($PCO_Accion == \"FACTURAS_descargarFactura\")\n    $descargar = 1;\n\n$html = \'\n<html>\n\n<head>\n   <meta charset=\"utf-8\">\n   <title>Factura</title>\n   <style>\n      * {\n         border: 0;\n         box-sizing: content-box;\n         color: inherit;\n         font-family: Verdana;\n         font-size: inherit;\n         font-style: inherit;\n         font-weight: inherit;\n         line-height: inherit;\n         list-style: none;\n         margin: 0;\n         padding: 0;\n         text-decoration: none;\n         vertical-align: top;\n      }\n\n      /* heading */\n\n      h1 {\n         font: bold 100% sans-serif;\n         letter-spacing: 0.5em;\n         text-align: center;\n         text-transform: uppercase;\n      }\n\n      /* table */\n\n      table {\n         font-size: 75%;\n         table-layout: fixed;\n         width: 100%;\n      }\n\n      table {\n         border-collapse: separate;\n         border-spacing: 3px;\n      }\n\n      th,\n      td {\n         border-width: 1px;\n         padding: 0.5em;\n         position: relative;\n         text-align: center;\n      }\n\n      th,\n      td {\n         border-radius: 0.25em;\n         border-style: solid;\n      }\n\n      th {\n         background: #1f60a0;\n         color: #fff;\n         border-color: #BBB;\n      }\n\n      td {\n         border-color: #DDD;\n      }\n\n      /* page */\n\n      html {\n         font: 16px/1 \"Open Sans\", sans-serif;\n         overflow: auto;\n         padding: 0.5in;\n      }\n\n      html {\n         background: #999;\n         cursor: default;\n      }\n\n      body {\n         box-sizing: border-box;\n         height: 11in;\n         margin: 0 auto;\n         overflow: hidden;\n         padding: 0.5in;\n         width: 8.5in;\n      }\n\n      body {\n         background: #FFF;\n         border-radius: 1px;\n         box-shadow: 0 0 1in -0.25in rgba(0, 0, 0, 0.5);\n      }\n\n      /* header */\n\n      header {\n         margin: 0 0 3em;\n      }\n\n      header:after {\n         clear: both;\n         content: \"\";\n         display: table;\n      }\n\n      header h1 {\n         background: #000;\n         border-radius: 0.25em;\n         color: #FFF;\n         margin: 0 0 1em;\n         padding: 0.5em 0;\n      }\n\n      header address {\n         float: left;\n         font-size: 75%;\n         font-style: normal;\n         line-height: 1.25;\n         margin: 0 1em 1em 0;\n      }\n\n      header address p {\n         margin: 0 0 0.25em;\n      }\n\n      header span,\n      header img {\n         display: block;\n         float: right;\n      }\n\n      header span {\n         margin: 0 0 1em 1em;\n         max-height: 25%;\n         max-width: 60%;\n         position: relative;\n      }\n\n      header img {\n         max-height: 100%;\n         max-width: 100%;\n      }\n\n      header input {\n         cursor: pointer;\n         -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";\n         height: 100%;\n         left: 0;\n         opacity: 0;\n         position: absolute;\n         top: 0;\n         width: 100%;\n      }\n\n      /* article */\n\n      article,\n      article address,\n      table.meta,\n      table.inventory {\n         margin: 0 0 1.3em;\n      }\n\n      article:after {\n         clear: both;\n         content: \"\";\n         display: table;\n      }\n\n      article h1 {\n         clip: rect(0 0 0 0);\n         position: absolute;\n      }\n\n      article address {\n         float: left;\n         font-size: 125%;\n      }\n\n      /* table meta & balance */\n\n      table.meta,\n      table.balance {\n         float: right;\n         width: 36%;\n      }\n\n      table.meta:after,\n      table.balance:after {\n         clear: both;\n         content: \"\";\n         display: table;\n      }\n\n      /* table meta */\n\n      table.meta th {\n         width: 40%;\n      }\n\n      table.meta td {\n         width: 60%;\n      }\n\n      /* table items */\n\n      table.inventory {\n         clear: both;\n         width: 100%;\n      }\n\n      table.inventory th {\n         font-weight: bold;\n         text-align: center;\n      }\n\n      table.inventory td:nth-child(1) {\n         width: 26%;\n      }\n\n      table.inventory td:nth-child(2) {\n         width: 38%;\n      }\n\n      table.inventory td:nth-child(3) {\n         text-align: center;\n         width: 12%;\n      }\n\n      table.inventory td:nth-child(4) {\n         text-align: center;\n         width: 12%;\n      }\n\n      table.inventory td:nth-child(5) {\n         text-align: center;\n         width: 12%;\n      }\n\n      /* table balance */\n\n      table.balance th {\n         width: 40%;\n         text-align: center;\n      }\n\n      table.balance td {\n         width: 60%;\n         text-align: center;\n      }\n\n      /* aside */\n\n      aside h1 {\n         border: none;\n         border-width: 0 0 1px;\n         margin: 0 0 1em;\n      }\n\n      aside h1 {\n         border-color: #999;\n         border-bottom-style: solid;\n      }\n\n      /* javascript */\n\n      @media print {\n         * {\n            -webkit-print-color-adjust: exact;\n         }\n\n         html {\n            background: none;\n            padding: 0;\n         }\n\n         body {\n            box-shadow: none;\n            margin: 0;\n         }\n\n         span:empty {\n            display: none;\n         }\n      }\n\n      @page {\n         margin: 0;\n      }\n   </style>\n    <link rel=\"stylesheet\" href=\"inc/pdfLib/all.min.css\">\n    <script type=\"text/javascript\" src=\"inc/pdfLib/html2pdf.bundle.min.js\"></script>\n    <script type=\"text/javascript\" src=\"inc/bwip/bwip-js-min.js\"></script>\n    \n            <!--<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css\">-->\n            <!--<script src=\"https://cdnjs.cloudflare.com/ajax/libs/html2pdf.js/0.10.1/html2pdf.bundle.min.js\"\n              integrity=\"sha512-GsLlZN/3F2ErC5ifS5QtgpiJtWd43JWSuIgh7mbzZ8zBps+dvLusV+eNQATqgA/HdeKFVgA5v3S/cIrLF7QnIg==\"\n              crossorigin=\"anonymous\" referrerpolicy=\"no-referrer\"></script>-->\n</head>\n<body id=\"Invoices\">\n\n   <article>\n      <img\n         src=\"data:image/png;base64,[encoded data, 9776 characters]\"\n         data-filename=\"logoASJ_.png\">\n      <!--<img src=\"./logoASJ_.png\">-->\n      <BR>\n      <BR>\n      <BR>\n      <address>\n         <p style=\"color:#14406b; font-size: 18px; font-weight: bold;\">AGUAS DE SAN JERONIMO E.S.P</p>\n         <p style=\"font-size: 12px;\">NIT: 811018300-6</p>\n         <p style=\"font-size: 12px;\">CLL 21 # 8-78 San Jerónimo, Ant</p>\n         <BR>\n         <p style=\"font-size: 14px;\"><span style=\"font-weight: bold;\">Contrato N° </span> \' . $factura[\"id_contrato\"] . \' <br>\n            <span style=\"font-weight: bold;\">Nombre: </span>\' . $factura[\"nombres\"] . \' \' . $factura[\"apellidos\"] . \' <br>\n            <!--<span style=\"font-weight: bold;\">Estrato: </span>\' . $factura[\"estrato\"] . \'<br>-->\n            <span style=\"font-weight: bold;\"> Vereda: </span>\' . $factura[\"zona\"] . \' <br>\n            <span style=\"font-weight: bold;\">Dirección: </span>\' . $factura[\"direccion\"] . \' <br>\n         </p>\n      </address>\n\n      <table class=\"meta\">\n         <tr>\n            <th style=\"width: 120px !important;\"><span>Factura</span></th>\n            <td><span>\' . $factura[\"id\"] . \'</span></td>\n         </tr>\n         <tr>\n            <th><span>Fecha sin recargo</span></th>\n            <td><span>\' . $factura[\"fecha_sin_recargo\"] . \'</span></td>\n         </tr>\n         <tr>\n            <th><span>Fecha con recargo</span></th>\n            <td><span>\' . $factura[\"fecha_con_recargo\"] . \'</span></td>\n         </tr>\n      </table>\n      <table class=\"inventory\">\n         <thead>\n            <tr>\n               <th><span>Descripción</span></th>\n               <th><span>Cantidad</span></th>\n               <th style=\"background-color: #14406b;\"><span>Precio</span></th>\n            </tr>\n         </thead>\n         <tbody>\n            <tr>\n               <td><span>Consumo de agua m3</span></td>\n               <td><span>1</span></td>\n               <td style=\"text-align: center !important;\"><span data-prefix>$</span><span>\' . number_format($factura[\"valor_sin_recargo\"], 0, \',\', \'.\') . \'</span></td>\n            </tr>\n         </tbody>\n      </table>\n\n      <table class=\"balance\" style=\"font-size: 11px;\">\n         <tr>\n            <td><span>SUBTOTAL</span></td>\n            <th><span data-prefix>$</span><span>\' . number_format($factura[\"valor_sin_recargo\"], 0, \',\', \'.\') . \'</span></th>\n         </tr>\n         <tr>\n            <td><span>CUENTAS VENCIDAS</span></td>\n            <th><span data-prefix>$</span><span>\' . $saldoPendiente . \'</span></th>\n         </tr>\n         <tr>\n            <td><span>SALDO A FAVOR</span></td>\n            <th><span data-prefix>$</span><span>\' . number_format($saldoFavor, 0, \',\', \'.\') . \'</span></th>\n         </tr>\n         <tr>\n            <td><span>OTROS</span></td>\n            <th><span data-prefix>$</span><span>0</span></th>\n         </tr>\n         <tr style=\"color: #fff; font-size: 16px;\">\n            <td style=\"background-color: #1f60a0; font-weight: bold;\"><span>TOTAL</span></td>\n            <th style=\"background-color: #14406b;\"><span data-prefix>$</span><span>\' . $total . \'</span></th>\n         </tr>\n       \n            \n        </tr>\n         </tr>\n      </table>\n      <address style=\"width: 62%;\">\n        <table>\n            <tr>\n               <td style=\"border-radius: 0 !important; border-style: none !important;\">\n                  <p style=\"font-size: 13px; vertical-align: middle; line-height: normal\">\n                     <span style=\"font-weight: bold;\"> Medios y Canales de Pago</span>\n                     <br>\n                     <br>\n                     <span style=\"font-weight: bold;\">BANCOLOMBIA:</span>\n                     <br>\n                     <span style=\"font-weight: \">Corresponsal Bancario (PAC): </span>\n                     <br>\n                     <span style=\"font-weight: bold;\"> \'.$factura[\'convenio_presencial\'].\'</span>\n                    <br>\n                     <span style=\"font-weight: \">Pago virtual (APP): </span>\n                      <br>\n                    <span style=\"font-weight: bold;\"> \'.$factura[\'convenio_virtual\'].\'</span>\n                     <br>\n                     <span style=\"font-weight: \">Referencia de pago:</span>\n                     <br>\n                     <span style=\"font-weight: bold;\">   NUMERO DE CONTRATO</span>\n                  </p>\n               </td> \n               <td style=\"border-radius: 0 !important; border-style: none !important;\">\n                    <img src=\"data:image/png;base64,[encoded data, 21620 characters]\" data-filename=\"Firma Ignacio Digital.png\"\n                    data-filename=\"Firma Ignacio Digital.png\" style=\"width: 220px; height: 70px;\">\n                    <p style=\"font-size: 10.3px; font-weight: bold;\">JORGE IGNACIO AREIZA CASTRILLON <BR> GERENTE</p>\n               </td>\n            </tr>\n         </table> \n      </address>\n      </div>\n        \n         </br>\n         </br>\n         </br>\n        <table style=\"border-collapse: collapse; border:none; border-width: 0px; style=\"vertical-align: middle !important;\">\n            <tr style=\"float: middle; !important;\">\n                <td style=\"border-radius: 0 !important; border-style: none !important; vertical-align: middle !important; width:30%\">\n                    <img id=\"barcodeTarget\" width=\"500\" />\n                    <canvas id=\"mycanvas\"></canvas>\n                </td>\n            </tr>\n        </table>\n   </article>\n \n       <script>\n        const options = {\n            bcid:        \"gs1-128\",       // Barcode type\n            text:        \"\' . $BarcodeParent. \'\",    // Text to encode\n            scale:       2,               // 3x scaling factor\n            height:      8,              // Bar height, in millimeters\n            includetext: true,            // Show human-readable text\n            textxalign:  \"center\",        // Always good to set this\n        };\n\n        const hola3 = () => {\n            const canvas = document.createElement(\"canvas\");\n            try {\n                bwipjs.toCanvas(canvas, options);\n                document.getElementById(\"barcodeTarget\").src = canvas.toDataURL(\"image/png\");\n            } catch (e) { console.log({e}); }\n        };\n        //addEventListener(\"DOMContentLoaded\", () => {\n            hola3();\n        //});\n\n	</script>\n	\n\n	\n	\n      <script>\n      document.addEventListener(\"DOMContentLoaded\", function (event) {\n        //setTimeout(function(){ hola(); }, 1000);\n        var descargar = \' . $descargar . \';\n        if(descargar == 1) {\n             var element = document.getElementById(\"Invoices\");\n             \n             var opt = {\n                filename: \"\' . str_replace(\' \', \'\', $nombreFactura) . \'.pdf\",\n                image: { type: \"jpeg\", quality: 0.98 },\n                html2canvas: { scale: 2, useCORS: true, letterRendering: true },\n                jsPDF: { unit: \"mm\", format: \"letter\", orientation: \"portrait\" }\n             };\n    		 html2pdf(element, opt);\n    		 setTimeout(function(){ window.close(); }, 1650);\n        }\n        });\n        \n        function hola(){\n            var element = document.getElementById(\"Invoices\");\n             \n             var opt = {\n                filename: \"\' . $factura[\"contrato\"] . \'.pdf\",\n                image: { type: \"jpeg\", quality: 0.98 },\n                html2canvas: { scale: 2, useCORS: true, letterRendering: true },\n                jsPDF: { unit: \"mm\", format: \"letter\", orientation: \"portrait\" }\n             };\n    		 html2pdf(element, opt);\n        }\n   </script>\n</body>\n</html>\';\n\necho $html;\ndie();\n\n\n?>','A'),(985,'mod/app_ventas/liquidacion_mecanicos.php','2025-01-31 11:14:00','rafael',520,36448,'<?php\n\n @session_start();\n\nif(!isset($_SESSION[\'PCOSESS_SesionAbierta\'])) {\n	echo \'<head><title>Error</title><style type=\"text/css\"> body { background-color: #000000; color: #7f7f7f; font-family: sans-serif,helvetica; } </style></head><body><table width=\"100%\" height=\"100%\" border=0><tr><td align=center>&#9827; Acceso no autorizado !</td></tr></table></body>\';\n	die();\n}\n/*include_once \'../../core/configuracion.php\';\ninclude_once \'../../core/conexiones.php\';\ninclude_once \'../../inc/practico/def_basedatos.php\';\ninclude_once \'../../core/comunes.php\';*/\n\n$saldoFavor = $factura[\"saldo_pendiente\"] < 0 ? -$factura[\"saldo_pendiente\"] : 0;\n$nombreFactura = $factura[\"id_contrato\"] . \'-\' .$factura[\"nombres\"] . \' \' . $factura[\"apellidos\"];\n$saldoPendienteValor = $factura[\"saldo_pendiente\"] > 0 ? $factura[\"saldo_pendiente\"] : 0;\n$saldoPendiente = number_format($saldoPendienteValor, 0, \',\', \'.\');\n$totalValor =  number_format($factura[\"valor_sin_recargo\"] + $saldoPendienteValor - $saldoFavor, 0, \',\', \'.\');\n$total = $totalValor > 0 ? $totalValor : 0;\n\n$fechaSinRecargoBr = str_replace(\"-\", \"\", $factura[\"fecha_sin_recargo\"]);\n$totalValor =  number_format($factura[\"valor_sin_recargo\"] + $saldoPendienteValor - $saldoFavor, 0, \',\', \'.\');\n$total = $totalValor > 0 ? $totalValor : 0;\n$totalBr = str_replace(\".\", \"\", $total);\n$codigobarra = $factura[\"codigo_gs1\"]; // \"7709998678439\";\n$BarcodeParent = \"(415)$codigobarra(8020)\" . $factura[\"id\"] . \"(3900)$totalBr(96)$fechaSinRecargoBr\";\n\n$descargar = 0;\nif ($PCO_Accion == \"FACTURAS_descargarFactura\")\n    $descargar = 1;\n\n$html = \'\n<html>\n\n<head>\n   <meta charset=\"utf-8\">\n   <title>Factura</title>\n   <style>\n      * {\n         border: 0;\n         box-sizing: content-box;\n         color: inherit;\n         font-family: Verdana;\n         font-size: inherit;\n         font-style: inherit;\n         font-weight: inherit;\n         line-height: inherit;\n         list-style: none;\n         margin: 0;\n         padding: 0;\n         text-decoration: none;\n         vertical-align: top;\n      }\n\n      /* heading */\n\n      h1 {\n         font: bold 100% sans-serif;\n         letter-spacing: 0.5em;\n         text-align: center;\n         text-transform: uppercase;\n      }\n\n      /* table */\n\n      table {\n         font-size: 75%;\n         table-layout: fixed;\n         width: 100%;\n      }\n\n      table {\n         border-collapse: separate;\n         border-spacing: 3px;\n      }\n\n      th,\n      td {\n         border-width: 1px;\n         padding: 0.5em;\n         position: relative;\n         text-align: center;\n      }\n\n      th,\n      td {\n         border-radius: 0.25em;\n         border-style: solid;\n      }\n\n      th {\n         background: #1f60a0;\n         color: #fff;\n         border-color: #BBB;\n      }\n\n      td {\n         border-color: #DDD;\n      }\n\n      /* page */\n\n      html {\n         font: 16px/1 \"Open Sans\", sans-serif;\n         overflow: auto;\n         padding: 0.5in;\n      }\n\n      html {\n         background: #999;\n         cursor: default;\n      }\n\n      body {\n         box-sizing: border-box;\n         height: 11in;\n         margin: 0 auto;\n         overflow: hidden;\n         padding: 0.5in;\n         width: 8.5in;\n      }\n\n      body {\n         background: #FFF;\n         border-radius: 1px;\n         box-shadow: 0 0 1in -0.25in rgba(0, 0, 0, 0.5);\n      }\n\n      /* header */\n\n      header {\n         margin: 0 0 3em;\n      }\n\n      header:after {\n         clear: both;\n         content: \"\";\n         display: table;\n      }\n\n      header h1 {\n         background: #000;\n         border-radius: 0.25em;\n         color: #FFF;\n         margin: 0 0 1em;\n         padding: 0.5em 0;\n      }\n\n      header address {\n         float: left;\n         font-size: 75%;\n         font-style: normal;\n         line-height: 1.25;\n         margin: 0 1em 1em 0;\n      }\n\n      header address p {\n         margin: 0 0 0.25em;\n      }\n\n      header span,\n      header img {\n         display: block;\n         float: right;\n      }\n\n      header span {\n         margin: 0 0 1em 1em;\n         max-height: 25%;\n         max-width: 60%;\n         position: relative;\n      }\n\n      header img {\n         max-height: 100%;\n         max-width: 100%;\n      }\n\n      header input {\n         cursor: pointer;\n         -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";\n         height: 100%;\n         left: 0;\n         opacity: 0;\n         position: absolute;\n         top: 0;\n         width: 100%;\n      }\n\n      /* article */\n\n      article,\n      article address,\n      table.meta,\n      table.inventory {\n         margin: 0 0 1.3em;\n      }\n\n      article:after {\n         clear: both;\n         content: \"\";\n         display: table;\n      }\n\n      article h1 {\n         clip: rect(0 0 0 0);\n         position: absolute;\n      }\n\n      article address {\n         float: left;\n         font-size: 125%;\n      }\n\n      /* table meta & balance */\n\n      table.meta,\n      table.balance {\n         float: right;\n         width: 36%;\n      }\n\n      table.meta:after,\n      table.balance:after {\n         clear: both;\n         content: \"\";\n         display: table;\n      }\n\n      /* table meta */\n\n      table.meta th {\n         width: 40%;\n      }\n\n      table.meta td {\n         width: 60%;\n      }\n\n      /* table items */\n\n      table.inventory {\n         clear: both;\n         width: 100%;\n      }\n\n      table.inventory th {\n         font-weight: bold;\n         text-align: center;\n      }\n\n      table.inventory td:nth-child(1) {\n         width: 26%;\n      }\n\n      table.inventory td:nth-child(2) {\n         width: 38%;\n      }\n\n      table.inventory td:nth-child(3) {\n         text-align: center;\n         width: 12%;\n      }\n\n      table.inventory td:nth-child(4) {\n         text-align: center;\n         width: 12%;\n      }\n\n      table.inventory td:nth-child(5) {\n         text-align: center;\n         width: 12%;\n      }\n\n      /* table balance */\n\n      table.balance th {\n         width: 40%;\n         text-align: center;\n      }\n\n      table.balance td {\n         width: 60%;\n         text-align: center;\n      }\n\n      /* aside */\n\n      aside h1 {\n         border: none;\n         border-width: 0 0 1px;\n         margin: 0 0 1em;\n      }\n\n      aside h1 {\n         border-color: #999;\n         border-bottom-style: solid;\n      }\n\n      /* javascript */\n\n      @media print {\n         * {\n            -webkit-print-color-adjust: exact;\n         }\n\n         html {\n            background: none;\n            padding: 0;\n         }\n\n         body {\n            box-shadow: none;\n            margin: 0;\n         }\n\n         span:empty {\n            display: none;\n         }\n      }\n\n      @page {\n         margin: 0;\n      }\n   </style>\n    <link rel=\"stylesheet\" href=\"inc/pdfLib/all.min.css\">\n    <script type=\"text/javascript\" src=\"inc/pdfLib/html2pdf.bundle.min.js\"></script>\n    <script type=\"text/javascript\" src=\"inc/bwip/bwip-js-min.js\"></script>\n    \n            <!--<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css\">-->\n            <!--<script src=\"https://cdnjs.cloudflare.com/ajax/libs/html2pdf.js/0.10.1/html2pdf.bundle.min.js\"\n              integrity=\"sha512-GsLlZN/3F2ErC5ifS5QtgpiJtWd43JWSuIgh7mbzZ8zBps+dvLusV+eNQATqgA/HdeKFVgA5v3S/cIrLF7QnIg==\"\n              crossorigin=\"anonymous\" referrerpolicy=\"no-referrer\"></script>-->\n</head>\n<body id=\"Invoices\">\n\n   <article>\n      <BR>\n      <BR>\n      <BR>\n      <address>\n         <p style=\"color:#14406b; font-size: 18px; font-weight: bold;\">AGUAS DE SAN JERONIMO E.S.P</p>\n         <p style=\"font-size: 12px;\">NIT: 811018300-6</p>\n         <p style=\"font-size: 12px;\">CLL 21 # 8-78 San Jerónimo, Ant</p>\n         <BR>\n         <p style=\"font-size: 14px;\"><span style=\"font-weight: bold;\">Contrato N° </span> \' . $factura[\"id_contrato\"] . \' <br>\n            <span style=\"font-weight: bold;\">Nombre: </span>\' . $factura[\"nombres\"] . \' \' . $factura[\"apellidos\"] . \' <br>\n            <!--<span style=\"font-weight: bold;\">Estrato: </span>\' . $factura[\"estrato\"] . \'<br>-->\n            <span style=\"font-weight: bold;\"> Vereda: </span>\' . $factura[\"zona\"] . \' <br>\n            <span style=\"font-weight: bold;\">Dirección: </span>\' . $factura[\"direccion\"] . \' <br>\n         </p>\n      </address>\n\n      <table class=\"meta\">\n         <tr>\n            <th style=\"width: 120px !important;\"><span>Factura</span></th>\n            <td><span>\' . $factura[\"id\"] . \'</span></td>\n         </tr>\n         <tr>\n            <th><span>Fecha sin recargo</span></th>\n            <td><span>\' . $factura[\"fecha_sin_recargo\"] . \'</span></td>\n         </tr>\n         <tr>\n            <th><span>Fecha con recargo</span></th>\n            <td><span>\' . $factura[\"fecha_con_recargo\"] . \'</span></td>\n         </tr>\n      </table>\n      <table class=\"inventory\">\n         <thead>\n            <tr>\n               <th><span>Descripción</span></th>\n               <th><span>Cantidad</span></th>\n               <th style=\"background-color: #14406b;\"><span>Precio</span></th>\n            </tr>\n         </thead>\n         <tbody>\n            <tr>\n               <td><span>Consumo de agua m3</span></td>\n               <td><span>1</span></td>\n               <td style=\"text-align: center !important;\"><span data-prefix>$</span><span>\' . number_format($factura[\"valor_sin_recargo\"], 0, \',\', \'.\') . \'</span></td>\n            </tr>\n         </tbody>\n      </table>\n\n      <table class=\"balance\" style=\"font-size: 11px;\">\n         <tr>\n            <td><span>SUBTOTAL</span></td>\n            <th><span data-prefix>$</span><span>\' . number_format($factura[\"valor_sin_recargo\"], 0, \',\', \'.\') . \'</span></th>\n         </tr>\n         <tr>\n            <td><span>CUENTAS VENCIDAS</span></td>\n            <th><span data-prefix>$</span><span>\' . $saldoPendiente . \'</span></th>\n         </tr>\n         <tr>\n            <td><span>SALDO A FAVOR</span></td>\n            <th><span data-prefix>$</span><span>\' . number_format($saldoFavor, 0, \',\', \'.\') . \'</span></th>\n         </tr>\n         <tr>\n            <td><span>OTROS</span></td>\n            <th><span data-prefix>$</span><span>0</span></th>\n         </tr>\n         <tr style=\"color: #fff; font-size: 16px;\">\n            <td style=\"background-color: #1f60a0; font-weight: bold;\"><span>TOTAL</span></td>\n            <th style=\"background-color: #14406b;\"><span data-prefix>$</span><span>\' . $total . \'</span></th>\n         </tr>\n       \n            \n        </tr>\n         </tr>\n      </table>\n      <address style=\"width: 62%;\">\n        <table>\n            <tr>\n               <td style=\"border-radius: 0 !important; border-style: none !important;\">\n                  <p style=\"font-size: 13px; vertical-align: middle; line-height: normal\">\n                     <span style=\"font-weight: bold;\"> Medios y Canales de Pago</span>\n                     <br>\n                     <br>\n                     <span style=\"font-weight: bold;\">BANCOLOMBIA:</span>\n                     <br>\n                     <span style=\"font-weight: \">Corresponsal Bancario (PAC): </span>\n                     <br>\n                     <span style=\"font-weight: bold;\"> \'.$factura[\'convenio_presencial\'].\'</span>\n                    <br>\n                     <span style=\"font-weight: \">Pago virtual (APP): </span>\n                      <br>\n                    <span style=\"font-weight: bold;\"> \'.$factura[\'convenio_virtual\'].\'</span>\n                     <br>\n                     <span style=\"font-weight: \">Referencia de pago:</span>\n                     <br>\n                     <span style=\"font-weight: bold;\">   NUMERO DE CONTRATO</span>\n                  </p>\n               </td> \n               <td style=\"border-radius: 0 !important; border-style: none !important;\">\n                    <img src=\"data:image/png;base64,[encoded data, 21620 characters]\" data-filename=\"Firma Ignacio Digital.png\"\n                    data-filename=\"Firma Ignacio Digital.png\" style=\"width: 220px; height: 70px;\">\n                    <p style=\"font-size: 10.3px; font-weight: bold;\">JORGE IGNACIO AREIZA CASTRILLON <BR> GERENTE</p>\n               </td>\n            </tr>\n         </table> \n      </address>\n      </div>\n        \n         </br>\n         </br>\n         </br>\n        <table style=\"border-collapse: collapse; border:none; border-width: 0px; style=\"vertical-align: middle !important;\">\n            <tr style=\"float: middle; !important;\">\n                <td style=\"border-radius: 0 !important; border-style: none !important; vertical-align: middle !important; width:30%\">\n                    <img id=\"barcodeTarget\" width=\"500\" />\n                    <canvas id=\"mycanvas\"></canvas>\n                </td>\n            </tr>\n        </table>\n   </article>\n \n       <script>\n        const options = {\n            bcid:        \"gs1-128\",       // Barcode type\n            text:        \"\' . $BarcodeParent. \'\",    // Text to encode\n            scale:       2,               // 3x scaling factor\n            height:      8,              // Bar height, in millimeters\n            includetext: true,            // Show human-readable text\n            textxalign:  \"center\",        // Always good to set this\n        };\n\n        const hola3 = () => {\n            const canvas = document.createElement(\"canvas\");\n            try {\n                bwipjs.toCanvas(canvas, options);\n                document.getElementById(\"barcodeTarget\").src = canvas.toDataURL(\"image/png\");\n            } catch (e) { console.log({e}); }\n        };\n        //addEventListener(\"DOMContentLoaded\", () => {\n            hola3();\n        //});\n\n	</script>\n	\n\n	\n	\n      <script>\n      document.addEventListener(\"DOMContentLoaded\", function (event) {\n        //setTimeout(function(){ hola(); }, 1000);\n        var descargar = \' . $descargar . \';\n        if(descargar == 1) {\n             var element = document.getElementById(\"Invoices\");\n             \n             var opt = {\n                filename: \"\' . str_replace(\' \', \'\', $nombreFactura) . \'.pdf\",\n                image: { type: \"jpeg\", quality: 0.98 },\n                html2canvas: { scale: 2, useCORS: true, letterRendering: true },\n                jsPDF: { unit: \"mm\", format: \"letter\", orientation: \"portrait\" }\n             };\n    		 html2pdf(element, opt);\n    		 setTimeout(function(){ window.close(); }, 1650);\n        }\n        });\n        \n        function hola(){\n            var element = document.getElementById(\"Invoices\");\n             \n             var opt = {\n                filename: \"\' . $factura[\"contrato\"] . \'.pdf\",\n                image: { type: \"jpeg\", quality: 0.98 },\n                html2canvas: { scale: 2, useCORS: true, letterRendering: true },\n                jsPDF: { unit: \"mm\", format: \"letter\", orientation: \"portrait\" }\n             };\n    		 html2pdf(element, opt);\n        }\n   </script>\n</body>\n</html>\';\n\necho $html;\ndie();\n\n\n?>','A'),(986,'mod/app_ventas/liquidacion_mecanicos.php','2025-01-31 11:18:00','rafael',489,13176,'<?php\n\n @session_start();\n\nif(!isset($_SESSION[\'PCOSESS_SesionAbierta\'])) {\n	echo \'<head><title>Error</title><style type=\"text/css\"> body { background-color: #000000; color: #7f7f7f; font-family: sans-serif,helvetica; } </style></head><body><table width=\"100%\" height=\"100%\" border=0><tr><td align=center>&#9827; Acceso no autorizado !</td></tr></table></body>\';\n	die();\n}\n/*include_once \'../../core/configuracion.php\';\ninclude_once \'../../core/conexiones.php\';\ninclude_once \'../../inc/practico/def_basedatos.php\';\ninclude_once \'../../core/comunes.php\';*/\n\n$saldoFavor = $factura[\"saldo_pendiente\"] < 0 ? -$factura[\"saldo_pendiente\"] : 0;\n$nombreFactura = $factura[\"id_contrato\"] . \'-\' .$factura[\"nombres\"] . \' \' . $factura[\"apellidos\"];\n$saldoPendienteValor = $factura[\"saldo_pendiente\"] > 0 ? $factura[\"saldo_pendiente\"] : 0;\n$saldoPendiente = number_format($saldoPendienteValor, 0, \',\', \'.\');\n$totalValor =  number_format($factura[\"valor_sin_recargo\"] + $saldoPendienteValor - $saldoFavor, 0, \',\', \'.\');\n$total = $totalValor > 0 ? $totalValor : 0;\n\n$fechaSinRecargoBr = str_replace(\"-\", \"\", $factura[\"fecha_sin_recargo\"]);\n$totalValor =  number_format($factura[\"valor_sin_recargo\"] + $saldoPendienteValor - $saldoFavor, 0, \',\', \'.\');\n$total = $totalValor > 0 ? $totalValor : 0;\n$totalBr = str_replace(\".\", \"\", $total);\n$codigobarra = $factura[\"codigo_gs1\"]; // \"7709998678439\";\n$BarcodeParent = \"(415)$codigobarra(8020)\" . $factura[\"id\"] . \"(3900)$totalBr(96)$fechaSinRecargoBr\";\n\n$descargar = 0;\nif ($PCO_Accion == \"FACTURAS_descargarFactura\")\n    $descargar = 1;\n\n$html = \'\n<html>\n\n<head>\n   <meta charset=\"utf-8\">\n   <title>Factura</title>\n   <style>\n      * {\n         border: 0;\n         box-sizing: content-box;\n         color: inherit;\n         font-family: Verdana;\n         font-size: inherit;\n         font-style: inherit;\n         font-weight: inherit;\n         line-height: inherit;\n         list-style: none;\n         margin: 0;\n         padding: 0;\n         text-decoration: none;\n         vertical-align: top;\n      }\n\n      /* heading */\n\n      h1 {\n         font: bold 100% sans-serif;\n         letter-spacing: 0.5em;\n         text-align: center;\n         text-transform: uppercase;\n      }\n\n      /* table */\n\n      table {\n         font-size: 75%;\n         table-layout: fixed;\n         width: 100%;\n      }\n\n      table {\n         border-collapse: separate;\n         border-spacing: 3px;\n      }\n\n      th,\n      td {\n         border-width: 1px;\n         padding: 0.5em;\n         position: relative;\n         text-align: center;\n      }\n\n      th,\n      td {\n         border-radius: 0.25em;\n         border-style: solid;\n      }\n\n      th {\n         background: #1f60a0;\n         color: #fff;\n         border-color: #BBB;\n      }\n\n      td {\n         border-color: #DDD;\n      }\n\n      /* page */\n\n      html {\n         font: 16px/1 \"Open Sans\", sans-serif;\n         overflow: auto;\n         padding: 0.5in;\n      }\n\n      html {\n         background: #999;\n         cursor: default;\n      }\n\n      body {\n         box-sizing: border-box;\n         height: 11in;\n         margin: 0 auto;\n         overflow: hidden;\n         padding: 0.5in;\n         width: 8.5in;\n      }\n\n      body {\n         background: #FFF;\n         border-radius: 1px;\n         box-shadow: 0 0 1in -0.25in rgba(0, 0, 0, 0.5);\n      }\n\n      /* header */\n\n      header {\n         margin: 0 0 3em;\n      }\n\n      header:after {\n         clear: both;\n         content: \"\";\n         display: table;\n      }\n\n      header h1 {\n         background: #000;\n         border-radius: 0.25em;\n         color: #FFF;\n         margin: 0 0 1em;\n         padding: 0.5em 0;\n      }\n\n      header address {\n         float: left;\n         font-size: 75%;\n         font-style: normal;\n         line-height: 1.25;\n         margin: 0 1em 1em 0;\n      }\n\n      header address p {\n         margin: 0 0 0.25em;\n      }\n\n      header span,\n      header img {\n         display: block;\n         float: right;\n      }\n\n      header span {\n         margin: 0 0 1em 1em;\n         max-height: 25%;\n         max-width: 60%;\n         position: relative;\n      }\n\n      header img {\n         max-height: 100%;\n         max-width: 100%;\n      }\n\n      header input {\n         cursor: pointer;\n         -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";\n         height: 100%;\n         left: 0;\n         opacity: 0;\n         position: absolute;\n         top: 0;\n         width: 100%;\n      }\n\n      /* article */\n\n      article,\n      article address,\n      table.meta,\n      table.inventory {\n         margin: 0 0 1.3em;\n      }\n\n      article:after {\n         clear: both;\n         content: \"\";\n         display: table;\n      }\n\n      article h1 {\n         clip: rect(0 0 0 0);\n         position: absolute;\n      }\n\n      article address {\n         float: left;\n         font-size: 125%;\n      }\n\n      /* table meta & balance */\n\n      table.meta,\n      table.balance {\n         float: right;\n         width: 36%;\n      }\n\n      table.meta:after,\n      table.balance:after {\n         clear: both;\n         content: \"\";\n         display: table;\n      }\n\n      /* table meta */\n\n      table.meta th {\n         width: 40%;\n      }\n\n      table.meta td {\n         width: 60%;\n      }\n\n      /* table items */\n\n      table.inventory {\n         clear: both;\n         width: 100%;\n      }\n\n      table.inventory th {\n         font-weight: bold;\n         text-align: center;\n      }\n\n      table.inventory td:nth-child(1) {\n         width: 26%;\n      }\n\n      table.inventory td:nth-child(2) {\n         width: 38%;\n      }\n\n      table.inventory td:nth-child(3) {\n         text-align: center;\n         width: 12%;\n      }\n\n      table.inventory td:nth-child(4) {\n         text-align: center;\n         width: 12%;\n      }\n\n      table.inventory td:nth-child(5) {\n         text-align: center;\n         width: 12%;\n      }\n\n      /* table balance */\n\n      table.balance th {\n         width: 40%;\n         text-align: center;\n      }\n\n      table.balance td {\n         width: 60%;\n         text-align: center;\n      }\n\n      /* aside */\n\n      aside h1 {\n         border: none;\n         border-width: 0 0 1px;\n         margin: 0 0 1em;\n      }\n\n      aside h1 {\n         border-color: #999;\n         border-bottom-style: solid;\n      }\n\n      /* javascript */\n\n      @media print {\n         * {\n            -webkit-print-color-adjust: exact;\n         }\n\n         html {\n            background: none;\n            padding: 0;\n         }\n\n         body {\n            box-shadow: none;\n            margin: 0;\n         }\n\n         span:empty {\n            display: none;\n         }\n      }\n\n      @page {\n         margin: 0;\n      }\n   </style>\n    <link rel=\"stylesheet\" href=\"inc/pdfLib/all.min.css\">\n    <script type=\"text/javascript\" src=\"inc/pdfLib/html2pdf.bundle.min.js\"></script>\n    <script type=\"text/javascript\" src=\"inc/bwip/bwip-js-min.js\"></script>\n    \n            <!--<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css\">-->\n            <!--<script src=\"https://cdnjs.cloudflare.com/ajax/libs/html2pdf.js/0.10.1/html2pdf.bundle.min.js\"\n              integrity=\"sha512-GsLlZN/3F2ErC5ifS5QtgpiJtWd43JWSuIgh7mbzZ8zBps+dvLusV+eNQATqgA/HdeKFVgA5v3S/cIrLF7QnIg==\"\n              crossorigin=\"anonymous\" referrerpolicy=\"no-referrer\"></script>-->\n</head>\n<body id=\"Invoices\">\n\n   <article>\n      <BR>\n      <BR>\n      <BR>\n      <address>\n         <p style=\"color:#14406b; font-size: 18px; font-weight: bold;\">AGUAS DE SAN JERONIMO E.S.P</p>\n         <p style=\"font-size: 12px;\">NIT: 811018300-6</p>\n         <p style=\"font-size: 12px;\">CLL 21 # 8-78 San Jerónimo, Ant</p>\n         <BR>\n         <p style=\"font-size: 14px;\"><span style=\"font-weight: bold;\">Contrato N° </span> \' . $factura[\"id_contrato\"] . \' <br>\n            <span style=\"font-weight: bold;\">Nombre: </span>\' . $factura[\"nombres\"] . \' \' . $factura[\"apellidos\"] . \' <br>\n            <!--<span style=\"font-weight: bold;\">Estrato: </span>\' . $factura[\"estrato\"] . \'<br>-->\n            <span style=\"font-weight: bold;\"> Vereda: </span>\' . $factura[\"zona\"] . \' <br>\n            <span style=\"font-weight: bold;\">Dirección: </span>\' . $factura[\"direccion\"] . \' <br>\n         </p>\n      </address>\n\n      <table class=\"meta\">\n         <tr>\n            <th style=\"width: 120px !important;\"><span>Factura</span></th>\n            <td><span>\' . $factura[\"id\"] . \'</span></td>\n         </tr>\n         <tr>\n            <th><span>Fecha sin recargo</span></th>\n            <td><span>\' . $factura[\"fecha_sin_recargo\"] . \'</span></td>\n         </tr>\n         <tr>\n            <th><span>Fecha con recargo</span></th>\n            <td><span>\' . $factura[\"fecha_con_recargo\"] . \'</span></td>\n         </tr>\n      </table>\n      <table class=\"inventory\">\n         <thead>\n            <tr>\n               <th><span>Descripción</span></th>\n               <th><span>Cantidad</span></th>\n               <th style=\"background-color: #14406b;\"><span>Precio</span></th>\n            </tr>\n         </thead>\n         <tbody>\n            <tr>\n               <td><span>Consumo de agua m3</span></td>\n               <td><span>1</span></td>\n               <td style=\"text-align: center !important;\"><span data-prefix>$</span><span>\' . number_format($factura[\"valor_sin_recargo\"], 0, \',\', \'.\') . \'</span></td>\n            </tr>\n         </tbody>\n      </table>\n\n      <table class=\"balance\" style=\"font-size: 11px;\">\n         <tr>\n            <td><span>SUBTOTAL</span></td>\n            <th><span data-prefix>$</span><span>\' . number_format($factura[\"valor_sin_recargo\"], 0, \',\', \'.\') . \'</span></th>\n         </tr>\n         <tr>\n            <td><span>CUENTAS VENCIDAS</span></td>\n            <th><span data-prefix>$</span><span>\' . $saldoPendiente . \'</span></th>\n         </tr>\n         <tr>\n            <td><span>SALDO A FAVOR</span></td>\n            <th><span data-prefix>$</span><span>\' . number_format($saldoFavor, 0, \',\', \'.\') . \'</span></th>\n         </tr>\n         <tr>\n            <td><span>OTROS</span></td>\n            <th><span data-prefix>$</span><span>0</span></th>\n         </tr>\n         <tr style=\"color: #fff; font-size: 16px;\">\n            <td style=\"background-color: #1f60a0; font-weight: bold;\"><span>TOTAL</span></td>\n            <th style=\"background-color: #14406b;\"><span data-prefix>$</span><span>\' . $total . \'</span></th>\n         </tr>\n       \n            \n        </tr>\n         </tr>\n      </table>\n      </div>\n        \n         </br>\n         </br>\n         </br>\n        <table style=\"border-collapse: collapse; border:none; border-width: 0px; style=\"vertical-align: middle !important;\">\n            <tr style=\"float: middle; !important;\">\n                <td style=\"border-radius: 0 !important; border-style: none !important; vertical-align: middle !important; width:30%\">\n                    <img id=\"barcodeTarget\" width=\"500\" />\n                    <canvas id=\"mycanvas\"></canvas>\n                </td>\n            </tr>\n        </table>\n   </article>\n \n       <script>\n        const options = {\n            bcid:        \"gs1-128\",       // Barcode type\n            text:        \"\' . $BarcodeParent. \'\",    // Text to encode\n            scale:       2,               // 3x scaling factor\n            height:      8,              // Bar height, in millimeters\n            includetext: true,            // Show human-readable text\n            textxalign:  \"center\",        // Always good to set this\n        };\n\n        const hola3 = () => {\n            const canvas = document.createElement(\"canvas\");\n            try {\n                bwipjs.toCanvas(canvas, options);\n                document.getElementById(\"barcodeTarget\").src = canvas.toDataURL(\"image/png\");\n            } catch (e) { console.log({e}); }\n        };\n        //addEventListener(\"DOMContentLoaded\", () => {\n            hola3();\n        //});\n\n	</script>\n	\n\n	\n	\n      <script>\n      document.addEventListener(\"DOMContentLoaded\", function (event) {\n        //setTimeout(function(){ hola(); }, 1000);\n        var descargar = \' . $descargar . \';\n        if(descargar == 1) {\n             var element = document.getElementById(\"Invoices\");\n             \n             var opt = {\n                filename: \"\' . str_replace(\' \', \'\', $nombreFactura) . \'.pdf\",\n                image: { type: \"jpeg\", quality: 0.98 },\n                html2canvas: { scale: 2, useCORS: true, letterRendering: true },\n                jsPDF: { unit: \"mm\", format: \"letter\", orientation: \"portrait\" }\n             };\n    		 html2pdf(element, opt);\n    		 setTimeout(function(){ window.close(); }, 1650);\n        }\n        });\n        \n        function hola(){\n            var element = document.getElementById(\"Invoices\");\n             \n             var opt = {\n                filename: \"\' . $factura[\"contrato\"] . \'.pdf\",\n                image: { type: \"jpeg\", quality: 0.98 },\n                html2canvas: { scale: 2, useCORS: true, letterRendering: true },\n                jsPDF: { unit: \"mm\", format: \"letter\", orientation: \"portrait\" }\n             };\n    		 html2pdf(element, opt);\n        }\n   </script>\n</body>\n</html>\';\n\necho $html;\ndie();\n\n\n?>','A'),(987,'mod/app_ventas/index.php','2025-01-31 11:25:00','rafael',221,10157,'<?php\n\nfunction calcularTotalVenta($id, $returnArr = \"\") {\n    $venta = PCO_EjecutarSQL(\"\n        SELECT SUM(precio * cantidad) as total, SUM(precio * iva/100) iva\n        FROM app_ventas_detalle\n        WHERE id_venta = \'$id\' GROUP BY id_venta\n    \")->fetch();\n    $ventaMecanico = PCO_EjecutarSQL(\"\n        SELECT TRUNCATE(SUM(vd.precio * vd.cantidad * p.porcentaje_mecanico/100), 2)\n        FROM app_ventas_detalle vd, app_ventas v, app_productos p\n        WHERE vd.id_venta=v.id AND vd.id_producto=p.id AND  vd.id_venta = \'$id\' AND v.id_mecanico <> 0 GROUP BY vd.id_venta\n    \")->fetchColumn();\n    $total = $venta[\"total\"] ? $venta[\"total\"] : 0;\n    $iva = $venta[\"iva\"] ? $venta[\"iva\"] : 0;\n    PCO_EjecutarSQLUnaria(\"UPDATE app_ventas SET total = $total, iva = $iva, total_mecanico=\'$ventaMecanico\' WHERE id = $id \");\n    if($returnArr)\n        return $venta;\n    return \'\"total\": \' . $total . \', \"iva\": \' . $iva;\n}\n\nif($PCO_Accion == \"VENTA_ingresarRealizarVenta\") {\n    $ventaAbierta = PCO_EjecutarSQL(\"\n        SELECT id, id_cliente, total, iva, placa\n        FROM app_ventas\n        WHERE id=\'$PCO_Valor\'\n    \")->fetch();\n\n    $id_venta = $ventaAbierta[\"id\"] || \"\";\n    if($id_venta) {\n        $total = number_format($ventaAbierta[\"total\"], 2);\n        $iva = number_format($ventaAbierta[\"iva\"], 2);\n        $id_cliente = $ventaAbierta[\"id_cliente\"];\n    }\n\n    PCO_CargarFormulario(8, 1, \"id\", $id_venta);\n}\n\nif($PCO_Accion == \"VENTA_agregarProductoCrearOC\") {\n        //crear cliente en caso de que no llegue id_cliente\n        if(!$id_cliente) {\n            PCO_EjecutarSQLUnaria(\"INSERT INTO app_clientes (nombre_completo, numero_documento, telefono) VALUES (?,?,?) \",\n                \"$nombre_completo$_SeparadorCampos_$numero_documento$_SeparadorCampos_$telefono\"\n            );\n            // $id_cliente = PCO_ObtenerUltimoIDInsertado();\n            $id_cliente = PCO_EjecutarSQL(\"\n                SELECT id\n                FROM app_clientes\n                WHERE numero_documento=\'$numero_documento\' AND telefono=\'$telefono\' AND \'$nombre_completo\'\n            \")->fetchColumn();\n        }\n        $todayMysql = date(\"Y-m-d H:i:s\");\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas (id_cliente, usuario, fecha, placa, id_mecanico, tipo_venta) VALUES (?,?,?,?,?,?) \", \"$id_cliente$_SeparadorCampos_$PCOSESS_LoginUsuario$_SeparadorCampos_$todayMysql$_SeparadorCampos_$placa$_SeparadorCampos_$id_mecanico$_SeparadorCampos_$tipo_venta\");\n        $id = PCO_EjecutarSQL(\"\n            SELECT id\n            FROM app_ventas\n            WHERE fecha=\'$todayMysql\' AND usuario=\'$PCOSESS_LoginUsuario\' AND id_cliente = \'$id_cliente\'\n        \")->fetchColumn();\n        // $id = PCO_ObtenerUltimoIDInsertado();\n\n    $producto = PCO_EjecutarSQL(\"\n        SELECT id, precio_venta, iva, inventario\n        FROM app_productos\n        WHERE id = \'$id_producto\'\n    \")->fetch();\n    if($producto[\"id\"]) {\n        $existe = PCO_EjecutarSQL(\"\n            SELECT count(id)\n            FROM app_ventas_detalle\n            WHERE id_venta = $id AND id_producto = \'$id_producto\'\n        \")->fetchColumn();\n        if($existe > 0) {\n            print_r(\'{\"success\": false, \"msg\": \"El producto ya se ha ingresado\"}\');\n            die();\n        }\n        /* if($producto[\"inventario\"] < $cantidad) {\n            print_r(\'{\"success\": false, \"msg\": \"La cantidad digitada supera la del invetario\"}\');\n            die();\n        } */\n        // $inventarioNew = $producto[\"inventario\"] - $cantidad;\n        // PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas_detalle (id_venta, id_producto, cantidad, precio, iva, hora_inicio, hora_fin, guaje) VALUES (?,?,?,?,?,?,?,?) \", \n            \"$id$_SeparadorCampos_$id_producto$_SeparadorCampos_$cantidad$_SeparadorCampos_$precio$_SeparadorCampos_\" . $producto[\"iva\"].\"$_SeparadorCampos_$hora_inicio$_SeparadorCampos_$hora_fin$_SeparadorCampos_$guaje\");\n        calcularTotalVenta($id);\n        \n        /* $total = number_format($result[\"total\"], 2);\n        $iva = number_format($result[\"iva\"], 2); */\n\n        echo \'<script type=\"text/javascript\">\n        	document.FRMBASEINFORME.PCO_Accion.value=\"PCO_CargarObjeto\";\n        	document.FRMBASEINFORME.PCO_Objeto.value=\"frm:8:1:id:\'.$id.\'\";\n        	document.FRMBASEINFORME.Precarga_EstilosBS.value=\"1\";\n        	document.FRMBASEINFORME.Presentar_FullScreen.value=\"0\";\n        	document.FRMBASEINFORME.target=\"_self\";\n        	document.FRMBASEINFORME.submit();\n    	 </script>\';\n    }\n}\n\nif($PCO_Accion == \"VENTA_agregarProducto\") {\n    $producto = PCO_EjecutarSQL(\"\n        SELECT id, precio_venta, iva\n        FROM app_productos\n        WHERE id = \'$id_producto\'\n    \")->fetch();\n    if($producto[\"id\"]) {\n        $existe = PCO_EjecutarSQL(\"\n            SELECT count(id)\n            FROM app_ventas_detalle\n            WHERE id_venta = $id AND id_producto = \'$id_producto\'\n        \")->fetchColumn();\n        if($existe > 0) {\n            print_r(\'{\"success\": false, \"msg\": \"El producto ya se ha ingresado\"}\');\n            die();\n        }\n        /* if($producto[\"inventario\"] < $cantidad) {\n            print_r(\'{\"success\": false, \"msg\": \"La cantidad digitada supera la del invetario\"}\');\n            die();\n        } */\n        // $inventarioNew = $producto[\"inventario\"] - $cantidad;\n        // PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas_detalle (id_venta, id_producto, cantidad, precio, iva, hora_inicio, hora_fin, guaje) VALUES (?,?,?,?,?,?,?,?) \", \n            \"$id$_SeparadorCampos_$id_producto$_SeparadorCampos_$cantidad$_SeparadorCampos_$precioVenta$_SeparadorCampos_\" . $producto[\"iva\"].\"$_SeparadorCampos$hora_inicio$_SeparadorCampos$hora_fin$_SeparadorCampos$guaje\");\n        $result = calcularTotalVenta($id);\n        print_r(\'{\"success\": true, \"id\": \' . $id . \', \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se ha encontrado el producto seleccionado\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_consultarTotalVenta\") {\n    if($id) {\n        $result = calcularTotalVenta($id);\n        print_r(\'{\"success\": true, \"id\": \' . $id . \', \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se encontro la venta\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_eliminarProducto\") {\n\n    if($id_venta_detalle && $id_venta) {\n        $producto = PCO_EjecutarSQL(\"\n            SELECT p.inventario, vd.cantidad, p.id\n            FROM app_ventas_detalle vd, app_productos p\n            WHERE vd.id_producto = p.id AND vd.id = \'$id_venta_detalle\'\n        \")->fetch();\n        //Restablecemos el inventario\n        $inventarioNew = $producto[\"inventario\"] + $producto[\"cantidad\"];\n        PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"DELETE FROM app_ventas_detalle WHERE id_venta = $id_venta AND id = $id_venta_detalle\");\n        $result = calcularTotalVenta($id_venta);\n        print_r(\'{\"success\": true, \"msg\": \"Se ha eliminado el producto exitosamente\", \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se pudo eliminar el producto\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_actualizarProductoVenta\") {\n    if($id) {\n        PCO_EjecutarSQLUnaria(\"UPDATE app_ventas_detalle SET cantidad=\'$cantidad\', precio=\'$precio\' WHERE id = \'$id\'\");\n        echo 1;\n        die();\n    }\n    echo 0;\n    die();\n}\n\nif($PCO_Accion == \"VENTA_imprimirFactura\") {\n    if($PCO_Valor)\n        $id = $PCO_Valor;\n    if($id) {\n        include_once \"imprimirFactura.php\";\n    }\n}\n\nif($PCO_Accion == \"VENTA_generarLiquidacionMecanicos\") {\n    $ventas = PCO_EjecutarSQL(\"\n        SELECT v.id, v.id_mecanico, SUM(v.total_mecanico) as Total, m.seguridad_social\n        FROM app_mecanicos m,app_ventas v\n        WHERE m.id = v.id_mecanico AND v.fecha >= \'$fecha_inicio 00:00:00\' AND v.fecha <= \'$fecha_fin 23:59:59\' AND v.estado = 1 AND id_mecanico <> 0 AND id_liquidacion=0\n        GROUP BY v.id_mecanico\n    \")->fetchAll();\n    foreach ($ventas as $venta) {\n        $valor_novedad = PCO_EjecutarSQL(\"\n            SELECT  \n                SUM(case when tipo_novedad=\'Abonar\' then valor_novedad else 0 end) as abonar,\n                SUM(case when tipo_novedad=\'Debitar\' then valor_novedad else 0 end) as debitar\n            FROM app_novedades_mecanicos\n            WHERE fecha >= \'$fecha_inicio\' AND fecha <= \'$fecha_fin\'\n                AND id_mecanico=\'\".$venta[\'id_mecanico\'].\"\' AND id_liquidacion=0\n            GROUP BY id_mecanico\n        \")->fetch();\n\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_liquidacion_mecanicos_enc (id_mecanico, fecha_inicio, fecha_fin, fecha, valor_venta, valor_novedad_abonar, valor_novedad_debitar, seguridad_social, usuario) VALUES (?,?,?,?,?,?,?,?,?) \",\n            $venta[\"id_mecanico\"].\"$_SeparadorCampos_$fecha_inicio$_SeparadorCampos_$fecha_fin$_SeparadorCampos_$PCO_FechaOperacionGuiones$_SeparadorCampos_\".$venta[\"Total\"].\"$_SeparadorCampos_\".$valor_novedad[\'abonar\'].\"$_SeparadorCampos_\".$valor_novedad[\'debitar\'].\"$_SeparadorCampos_\".$venta[\"seguridad_social\"].\"$_SeparadorCampos_$PCOSESS_LoginUsuario\"\n        );\n        \n        PCO_EjecutarSQLUnaria(\"\n        UPDATE app_novedades_mecanicos \n        SET id_liquidacion=1\n        WHERE \n            fecha >= \'$fecha_inicio\' AND fecha <= \'$fecha_fin\' AND id_mecanico=\'\".$venta[\'id_mecanico\'].\"\' AND id_liquidacion=0\n        \");\n    }\n        // arq de estados\n        //actualiozar estados\n    PCO_EjecutarSQLUnaria(\"\n        UPDATE app_ventas \n        SET id_liquidacion=1\n        WHERE app_mecanicos.id = app_ventas.id_mecanico AND app_ventas.fecha >= \'$fecha_inicio 00:00:00\' AND app_ventas.fecha <= \'$fecha_fin 23:59:59\' AND app_ventas.estado = 1 AND id_mecanico <> 0 AND id_liquidacion=0\");\n    PCO_CargarFormulario(14);\n}\n\nif($PCO_Accion == \"VENTAS_verLiquidacion\") {\n    // $liq = PCO_EjecutarSQL(\"$PCO_Valor\")->fetch();\n    include \'liquidacion_mecanicos.php\';\n}','A'),(988,'mod/app_ventas/index.php','2025-01-31 11:31:00','rafael',221,10210,'<?php\n\nfunction calcularTotalVenta($id, $returnArr = \"\") {\n    $venta = PCO_EjecutarSQL(\"\n        SELECT SUM(precio * cantidad) as total, SUM(precio * iva/100) iva\n        FROM app_ventas_detalle\n        WHERE id_venta = \'$id\' GROUP BY id_venta\n    \")->fetch();\n    $ventaMecanico = PCO_EjecutarSQL(\"\n        SELECT TRUNCATE(SUM(vd.precio * vd.cantidad * p.porcentaje_mecanico/100), 2)\n        FROM app_ventas_detalle vd, app_ventas v, app_productos p\n        WHERE vd.id_venta=v.id AND vd.id_producto=p.id AND  vd.id_venta = \'$id\' AND v.id_mecanico <> 0 GROUP BY vd.id_venta\n    \")->fetchColumn();\n    $total = $venta[\"total\"] ? $venta[\"total\"] : 0;\n    $iva = $venta[\"iva\"] ? $venta[\"iva\"] : 0;\n    PCO_EjecutarSQLUnaria(\"UPDATE app_ventas SET total = $total, iva = $iva, total_mecanico=\'$ventaMecanico\' WHERE id = $id \");\n    if($returnArr)\n        return $venta;\n    return \'\"total\": \' . $total . \', \"iva\": \' . $iva;\n}\n\nif($PCO_Accion == \"VENTA_ingresarRealizarVenta\") {\n    $ventaAbierta = PCO_EjecutarSQL(\"\n        SELECT id, id_cliente, total, iva, placa\n        FROM app_ventas\n        WHERE id=\'$PCO_Valor\'\n    \")->fetch();\n\n    $id_venta = $ventaAbierta[\"id\"] || \"\";\n    if($id_venta) {\n        $total = number_format($ventaAbierta[\"total\"], 2);\n        $iva = number_format($ventaAbierta[\"iva\"], 2);\n        $id_cliente = $ventaAbierta[\"id_cliente\"];\n    }\n\n    PCO_CargarFormulario(8, 1, \"id\", $id_venta);\n}\n\nif($PCO_Accion == \"VENTA_agregarProductoCrearOC\") {\n        //crear cliente en caso de que no llegue id_cliente\n        if(!$id_cliente) {\n            PCO_EjecutarSQLUnaria(\"INSERT INTO app_clientes (nombre_completo, numero_documento, telefono) VALUES (?,?,?) \",\n                \"$nombre_completo$_SeparadorCampos_$numero_documento$_SeparadorCampos_$telefono\"\n            );\n            // $id_cliente = PCO_ObtenerUltimoIDInsertado();\n            $id_cliente = PCO_EjecutarSQL(\"\n                SELECT id\n                FROM app_clientes\n                WHERE numero_documento=\'$numero_documento\' AND telefono=\'$telefono\' AND \'$nombre_completo\'\n            \")->fetchColumn();\n        }\n        $todayMysql = date(\"Y-m-d H:i:s\");\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas (id_cliente, usuario, fecha, placa, id_mecanico, tipo_venta) VALUES (?,?,?,?,?,?) \", \"$id_cliente$_SeparadorCampos_$PCOSESS_LoginUsuario$_SeparadorCampos_$todayMysql$_SeparadorCampos_$placa$_SeparadorCampos_$id_mecanico$_SeparadorCampos_$tipo_venta\");\n        $id = PCO_EjecutarSQL(\"\n            SELECT id\n            FROM app_ventas\n            WHERE fecha=\'$todayMysql\' AND usuario=\'$PCOSESS_LoginUsuario\' AND id_cliente = \'$id_cliente\'\n        \")->fetchColumn();\n        // $id = PCO_ObtenerUltimoIDInsertado();\n\n    $producto = PCO_EjecutarSQL(\"\n        SELECT id, precio_venta, iva, inventario\n        FROM app_productos\n        WHERE id = \'$id_producto\'\n    \")->fetch();\n    if($producto[\"id\"]) {\n        $existe = PCO_EjecutarSQL(\"\n            SELECT count(id)\n            FROM app_ventas_detalle\n            WHERE id_venta = $id AND id_producto = \'$id_producto\'\n        \")->fetchColumn();\n        if($existe > 0) {\n            print_r(\'{\"success\": false, \"msg\": \"El producto ya se ha ingresado\"}\');\n            die();\n        }\n        /* if($producto[\"inventario\"] < $cantidad) {\n            print_r(\'{\"success\": false, \"msg\": \"La cantidad digitada supera la del invetario\"}\');\n            die();\n        } */\n        // $inventarioNew = $producto[\"inventario\"] - $cantidad;\n        // PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas_detalle (id_venta, id_producto, cantidad, precio, iva, hora_inicio, hora_fin, guaje) VALUES (?,?,?,?,?,?,?,?) \", \n            \"$id$_SeparadorCampos_$id_producto$_SeparadorCampos_$cantidad$_SeparadorCampos_$precio$_SeparadorCampos_\" . $producto[\"iva\"].\"$_SeparadorCampos_$hora_inicio$_SeparadorCampos_$hora_fin$_SeparadorCampos_$guaje\");\n        calcularTotalVenta($id);\n        \n        /* $total = number_format($result[\"total\"], 2);\n        $iva = number_format($result[\"iva\"], 2); */\n\n        echo \'<script type=\"text/javascript\">\n        	document.FRMBASEINFORME.PCO_Accion.value=\"PCO_CargarObjeto\";\n        	document.FRMBASEINFORME.PCO_Objeto.value=\"frm:8:1:id:\'.$id.\'\";\n        	document.FRMBASEINFORME.Precarga_EstilosBS.value=\"1\";\n        	document.FRMBASEINFORME.Presentar_FullScreen.value=\"0\";\n        	document.FRMBASEINFORME.target=\"_self\";\n        	document.FRMBASEINFORME.submit();\n    	 </script>\';\n    }\n}\n\nif($PCO_Accion == \"VENTA_agregarProducto\") {\n    $producto = PCO_EjecutarSQL(\"\n        SELECT id, precio_venta, iva\n        FROM app_productos\n        WHERE id = \'$id_producto\'\n    \")->fetch();\n    if($producto[\"id\"]) {\n        $existe = PCO_EjecutarSQL(\"\n            SELECT count(id)\n            FROM app_ventas_detalle\n            WHERE id_venta = $id AND id_producto = \'$id_producto\'\n        \")->fetchColumn();\n        if($existe > 0) {\n            print_r(\'{\"success\": false, \"msg\": \"El producto ya se ha ingresado\"}\');\n            die();\n        }\n        /* if($producto[\"inventario\"] < $cantidad) {\n            print_r(\'{\"success\": false, \"msg\": \"La cantidad digitada supera la del invetario\"}\');\n            die();\n        } */\n        // $inventarioNew = $producto[\"inventario\"] - $cantidad;\n        // PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas_detalle (id_venta, id_producto, cantidad, precio, iva, hora_inicio, hora_fin, guaje) VALUES (?,?,?,?,?,?,?,?) \", \n            \"$id$_SeparadorCampos_$id_producto$_SeparadorCampos_$cantidad$_SeparadorCampos_$precioVenta$_SeparadorCampos_\" . $producto[\"iva\"].\"$_SeparadorCampos$hora_inicio$_SeparadorCampos$hora_fin$_SeparadorCampos$guaje\");\n        $result = calcularTotalVenta($id);\n        print_r(\'{\"success\": true, \"id\": \' . $id . \', \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se ha encontrado el producto seleccionado\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_consultarTotalVenta\") {\n    if($id) {\n        $result = calcularTotalVenta($id);\n        print_r(\'{\"success\": true, \"id\": \' . $id . \', \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se encontro la venta\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_eliminarProducto\") {\n\n    if($id_venta_detalle && $id_venta) {\n        $producto = PCO_EjecutarSQL(\"\n            SELECT p.inventario, vd.cantidad, p.id\n            FROM app_ventas_detalle vd, app_productos p\n            WHERE vd.id_producto = p.id AND vd.id = \'$id_venta_detalle\'\n        \")->fetch();\n        //Restablecemos el inventario\n        $inventarioNew = $producto[\"inventario\"] + $producto[\"cantidad\"];\n        PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"DELETE FROM app_ventas_detalle WHERE id_venta = $id_venta AND id = $id_venta_detalle\");\n        $result = calcularTotalVenta($id_venta);\n        print_r(\'{\"success\": true, \"msg\": \"Se ha eliminado el producto exitosamente\", \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se pudo eliminar el producto\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_actualizarProductoVenta\") {\n    if($id) {\n        PCO_EjecutarSQLUnaria(\"UPDATE app_ventas_detalle SET cantidad=\'$cantidad\', precio=\'$precio\' WHERE id = \'$id\'\");\n        echo 1;\n        die();\n    }\n    echo 0;\n    die();\n}\n\nif($PCO_Accion == \"VENTA_imprimirFactura\") {\n    if($PCO_Valor)\n        $id = $PCO_Valor;\n    if($id) {\n        include_once \"imprimirFactura.php\";\n    }\n}\n\nif($PCO_Accion == \"VENTA_generarLiquidacionMecanicos\") {\n    $ventas = PCO_EjecutarSQL(\"\n        SELECT v.id, v.id_mecanico, SUM(v.total_mecanico) as Total, m.seguridad_social\n        FROM app_mecanicos m,app_ventas v\n        WHERE m.id = v.id_mecanico AND v.fecha >= \'$fecha_inicio 00:00:00\' AND v.fecha <= \'$fecha_fin 23:59:59\' AND v.estado = 1 AND id_mecanico <> 0 AND id_liquidacion=0\n        GROUP BY v.id_mecanico\n    \")->fetchAll();\n    foreach ($ventas as $venta) {\n        $valor_novedad = PCO_EjecutarSQL(\"\n            SELECT  \n                SUM(case when tipo_novedad=\'Abonar\' then valor_novedad else 0 end) as abonar,\n                SUM(case when tipo_novedad=\'Debitar\' then valor_novedad else 0 end) as debitar\n            FROM app_novedades_mecanicos\n            WHERE fecha >= \'$fecha_inicio\' AND fecha <= \'$fecha_fin\'\n                AND id_mecanico=\'\".$venta[\'id_mecanico\'].\"\' AND id_liquidacion=0\n            GROUP BY id_mecanico\n        \")->fetch();\n\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_liquidacion_mecanicos_enc (id_mecanico, fecha_inicio, fecha_fin, fecha, valor_venta, valor_novedad_abonar, valor_novedad_debitar, seguridad_social, usuario) VALUES (?,?,?,?,?,?,?,?,?) \",\n            $venta[\"id_mecanico\"].\"$_SeparadorCampos_$fecha_inicio$_SeparadorCampos_$fecha_fin$_SeparadorCampos_$PCO_FechaOperacionGuiones$_SeparadorCampos_\".$venta[\"Total\"].\"$_SeparadorCampos_\".$valor_novedad[\'abonar\'].\"$_SeparadorCampos_\".$valor_novedad[\'debitar\'].\"$_SeparadorCampos_\".$venta[\"seguridad_social\"].\"$_SeparadorCampos_$PCOSESS_LoginUsuario\"\n        );\n        \n        PCO_EjecutarSQLUnaria(\"\n        UPDATE app_novedades_mecanicos \n        SET id_liquidacion=1\n        WHERE \n            fecha >= \'$fecha_inicio\' AND fecha <= \'$fecha_fin\' AND id_mecanico=\'\".$venta[\'id_mecanico\'].\"\' AND id_liquidacion=0\n        \");\n    }\n        // arq de estados\n        //actualiozar estados\n    PCO_EjecutarSQLUnaria(\"\n        UPDATE app_ventas \n        SET id_liquidacion=1\n        WHERE app_mecanicos.id = app_ventas.id_mecanico AND app_ventas.fecha >= \'$fecha_inicio 00:00:00\' AND app_ventas.fecha <= \'$fecha_fin 23:59:59\' AND app_ventas.estado = 1 AND id_mecanico <> 0 AND id_liquidacion=0\");\n    PCO_CargarFormulario(14);\n}\n\nif($PCO_Accion == \"VENTAS_verLiquidacion\") {\n    $liq = PCO_EjecutarSQL(\"SELECT * FROM app_liquidacion_mecanicos_enc WHERE id=\'$PCO_Valor\' \")->fetch();\n    include \'liquidacion_mecanicos.php\';\n}','A'),(989,'mod/app_ventas/index.php','2025-01-31 11:33:00','rafael',221,10318,'<?php\n\nfunction calcularTotalVenta($id, $returnArr = \"\") {\n    $venta = PCO_EjecutarSQL(\"\n        SELECT SUM(precio * cantidad) as total, SUM(precio * iva/100) iva\n        FROM app_ventas_detalle\n        WHERE id_venta = \'$id\' GROUP BY id_venta\n    \")->fetch();\n    $ventaMecanico = PCO_EjecutarSQL(\"\n        SELECT TRUNCATE(SUM(vd.precio * vd.cantidad * p.porcentaje_mecanico/100), 2)\n        FROM app_ventas_detalle vd, app_ventas v, app_productos p\n        WHERE vd.id_venta=v.id AND vd.id_producto=p.id AND  vd.id_venta = \'$id\' AND v.id_mecanico <> 0 GROUP BY vd.id_venta\n    \")->fetchColumn();\n    $total = $venta[\"total\"] ? $venta[\"total\"] : 0;\n    $iva = $venta[\"iva\"] ? $venta[\"iva\"] : 0;\n    PCO_EjecutarSQLUnaria(\"UPDATE app_ventas SET total = $total, iva = $iva, total_mecanico=\'$ventaMecanico\' WHERE id = $id \");\n    if($returnArr)\n        return $venta;\n    return \'\"total\": \' . $total . \', \"iva\": \' . $iva;\n}\n\nif($PCO_Accion == \"VENTA_ingresarRealizarVenta\") {\n    $ventaAbierta = PCO_EjecutarSQL(\"\n        SELECT id, id_cliente, total, iva, placa\n        FROM app_ventas\n        WHERE id=\'$PCO_Valor\'\n    \")->fetch();\n\n    $id_venta = $ventaAbierta[\"id\"] || \"\";\n    if($id_venta) {\n        $total = number_format($ventaAbierta[\"total\"], 2);\n        $iva = number_format($ventaAbierta[\"iva\"], 2);\n        $id_cliente = $ventaAbierta[\"id_cliente\"];\n    }\n\n    PCO_CargarFormulario(8, 1, \"id\", $id_venta);\n}\n\nif($PCO_Accion == \"VENTA_agregarProductoCrearOC\") {\n        //crear cliente en caso de que no llegue id_cliente\n        if(!$id_cliente) {\n            PCO_EjecutarSQLUnaria(\"INSERT INTO app_clientes (nombre_completo, numero_documento, telefono) VALUES (?,?,?) \",\n                \"$nombre_completo$_SeparadorCampos_$numero_documento$_SeparadorCampos_$telefono\"\n            );\n            // $id_cliente = PCO_ObtenerUltimoIDInsertado();\n            $id_cliente = PCO_EjecutarSQL(\"\n                SELECT id\n                FROM app_clientes\n                WHERE numero_documento=\'$numero_documento\' AND telefono=\'$telefono\' AND \'$nombre_completo\'\n            \")->fetchColumn();\n        }\n        $todayMysql = date(\"Y-m-d H:i:s\");\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas (id_cliente, usuario, fecha, placa, id_mecanico, tipo_venta) VALUES (?,?,?,?,?,?) \", \"$id_cliente$_SeparadorCampos_$PCOSESS_LoginUsuario$_SeparadorCampos_$todayMysql$_SeparadorCampos_$placa$_SeparadorCampos_$id_mecanico$_SeparadorCampos_$tipo_venta\");\n        $id = PCO_EjecutarSQL(\"\n            SELECT id\n            FROM app_ventas\n            WHERE fecha=\'$todayMysql\' AND usuario=\'$PCOSESS_LoginUsuario\' AND id_cliente = \'$id_cliente\'\n        \")->fetchColumn();\n        // $id = PCO_ObtenerUltimoIDInsertado();\n\n    $producto = PCO_EjecutarSQL(\"\n        SELECT id, precio_venta, iva, inventario\n        FROM app_productos\n        WHERE id = \'$id_producto\'\n    \")->fetch();\n    if($producto[\"id\"]) {\n        $existe = PCO_EjecutarSQL(\"\n            SELECT count(id)\n            FROM app_ventas_detalle\n            WHERE id_venta = $id AND id_producto = \'$id_producto\'\n        \")->fetchColumn();\n        if($existe > 0) {\n            print_r(\'{\"success\": false, \"msg\": \"El producto ya se ha ingresado\"}\');\n            die();\n        }\n        /* if($producto[\"inventario\"] < $cantidad) {\n            print_r(\'{\"success\": false, \"msg\": \"La cantidad digitada supera la del invetario\"}\');\n            die();\n        } */\n        // $inventarioNew = $producto[\"inventario\"] - $cantidad;\n        // PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas_detalle (id_venta, id_producto, cantidad, precio, iva, hora_inicio, hora_fin, guaje) VALUES (?,?,?,?,?,?,?,?) \", \n            \"$id$_SeparadorCampos_$id_producto$_SeparadorCampos_$cantidad$_SeparadorCampos_$precio$_SeparadorCampos_\" . $producto[\"iva\"].\"$_SeparadorCampos_$hora_inicio$_SeparadorCampos_$hora_fin$_SeparadorCampos_$guaje\");\n        calcularTotalVenta($id);\n        \n        /* $total = number_format($result[\"total\"], 2);\n        $iva = number_format($result[\"iva\"], 2); */\n\n        echo \'<script type=\"text/javascript\">\n        	document.FRMBASEINFORME.PCO_Accion.value=\"PCO_CargarObjeto\";\n        	document.FRMBASEINFORME.PCO_Objeto.value=\"frm:8:1:id:\'.$id.\'\";\n        	document.FRMBASEINFORME.Precarga_EstilosBS.value=\"1\";\n        	document.FRMBASEINFORME.Presentar_FullScreen.value=\"0\";\n        	document.FRMBASEINFORME.target=\"_self\";\n        	document.FRMBASEINFORME.submit();\n    	 </script>\';\n    }\n}\n\nif($PCO_Accion == \"VENTA_agregarProducto\") {\n    $producto = PCO_EjecutarSQL(\"\n        SELECT id, precio_venta, iva\n        FROM app_productos\n        WHERE id = \'$id_producto\'\n    \")->fetch();\n    if($producto[\"id\"]) {\n        $existe = PCO_EjecutarSQL(\"\n            SELECT count(id)\n            FROM app_ventas_detalle\n            WHERE id_venta = $id AND id_producto = \'$id_producto\'\n        \")->fetchColumn();\n        if($existe > 0) {\n            print_r(\'{\"success\": false, \"msg\": \"El producto ya se ha ingresado\"}\');\n            die();\n        }\n        /* if($producto[\"inventario\"] < $cantidad) {\n            print_r(\'{\"success\": false, \"msg\": \"La cantidad digitada supera la del invetario\"}\');\n            die();\n        } */\n        // $inventarioNew = $producto[\"inventario\"] - $cantidad;\n        // PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas_detalle (id_venta, id_producto, cantidad, precio, iva, hora_inicio, hora_fin, guaje) VALUES (?,?,?,?,?,?,?,?) \", \n            \"$id$_SeparadorCampos_$id_producto$_SeparadorCampos_$cantidad$_SeparadorCampos_$precioVenta$_SeparadorCampos_\" . $producto[\"iva\"].\"$_SeparadorCampos$hora_inicio$_SeparadorCampos$hora_fin$_SeparadorCampos$guaje\");\n        $result = calcularTotalVenta($id);\n        print_r(\'{\"success\": true, \"id\": \' . $id . \', \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se ha encontrado el producto seleccionado\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_consultarTotalVenta\") {\n    if($id) {\n        $result = calcularTotalVenta($id);\n        print_r(\'{\"success\": true, \"id\": \' . $id . \', \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se encontro la venta\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_eliminarProducto\") {\n\n    if($id_venta_detalle && $id_venta) {\n        $producto = PCO_EjecutarSQL(\"\n            SELECT p.inventario, vd.cantidad, p.id\n            FROM app_ventas_detalle vd, app_productos p\n            WHERE vd.id_producto = p.id AND vd.id = \'$id_venta_detalle\'\n        \")->fetch();\n        //Restablecemos el inventario\n        $inventarioNew = $producto[\"inventario\"] + $producto[\"cantidad\"];\n        PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"DELETE FROM app_ventas_detalle WHERE id_venta = $id_venta AND id = $id_venta_detalle\");\n        $result = calcularTotalVenta($id_venta);\n        print_r(\'{\"success\": true, \"msg\": \"Se ha eliminado el producto exitosamente\", \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se pudo eliminar el producto\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_actualizarProductoVenta\") {\n    if($id) {\n        PCO_EjecutarSQLUnaria(\"UPDATE app_ventas_detalle SET cantidad=\'$cantidad\', precio=\'$precio\' WHERE id = \'$id\'\");\n        echo 1;\n        die();\n    }\n    echo 0;\n    die();\n}\n\nif($PCO_Accion == \"VENTA_imprimirFactura\") {\n    if($PCO_Valor)\n        $id = $PCO_Valor;\n    if($id) {\n        include_once \"imprimirFactura.php\";\n    }\n}\n\nif($PCO_Accion == \"VENTA_generarLiquidacionMecanicos\") {\n    $ventas = PCO_EjecutarSQL(\"\n        SELECT v.id, v.id_mecanico, SUM(v.total_mecanico) as Total, m.seguridad_social\n        FROM app_mecanicos m,app_ventas v\n        WHERE m.id = v.id_mecanico AND v.fecha >= \'$fecha_inicio 00:00:00\' AND v.fecha <= \'$fecha_fin 23:59:59\' AND v.estado = 1 AND id_mecanico <> 0 AND id_liquidacion=0\n        GROUP BY v.id_mecanico\n    \")->fetchAll();\n    foreach ($ventas as $venta) {\n        $valor_novedad = PCO_EjecutarSQL(\"\n            SELECT  \n                SUM(case when tipo_novedad=\'Abonar\' then valor_novedad else 0 end) as abonar,\n                SUM(case when tipo_novedad=\'Debitar\' then valor_novedad else 0 end) as debitar\n            FROM app_novedades_mecanicos\n            WHERE fecha >= \'$fecha_inicio\' AND fecha <= \'$fecha_fin\'\n                AND id_mecanico=\'\".$venta[\'id_mecanico\'].\"\' AND id_liquidacion=0\n            GROUP BY id_mecanico\n        \")->fetch();\n\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_liquidacion_mecanicos_enc (id_mecanico, fecha_inicio, fecha_fin, fecha, valor_venta, valor_novedad_abonar, valor_novedad_debitar, seguridad_social, usuario) VALUES (?,?,?,?,?,?,?,?,?) \",\n            $venta[\"id_mecanico\"].\"$_SeparadorCampos_$fecha_inicio$_SeparadorCampos_$fecha_fin$_SeparadorCampos_$PCO_FechaOperacionGuiones$_SeparadorCampos_\".$venta[\"Total\"].\"$_SeparadorCampos_\".$valor_novedad[\'abonar\'].\"$_SeparadorCampos_\".$valor_novedad[\'debitar\'].\"$_SeparadorCampos_\".$venta[\"seguridad_social\"].\"$_SeparadorCampos_$PCOSESS_LoginUsuario\"\n        );\n        \n        PCO_EjecutarSQLUnaria(\"\n        UPDATE app_novedades_mecanicos \n        SET id_liquidacion=1\n        WHERE \n            fecha >= \'$fecha_inicio\' AND fecha <= \'$fecha_fin\' AND id_mecanico=\'\".$venta[\'id_mecanico\'].\"\' AND id_liquidacion=0\n        \");\n    }\n        // arq de estados\n        //actualiozar estados\n    PCO_EjecutarSQLUnaria(\"\n        UPDATE app_ventas \n        SET id_liquidacion=1\n        WHERE app_mecanicos.id = app_ventas.id_mecanico AND app_ventas.fecha >= \'$fecha_inicio 00:00:00\' AND app_ventas.fecha <= \'$fecha_fin 23:59:59\' AND app_ventas.estado = 1 AND id_mecanico <> 0 AND id_liquidacion=0\");\n    PCO_CargarFormulario(14);\n}\n\nif($PCO_Accion == \"VENTAS_verLiquidacion\") {\n    $liq = PCO_EjecutarSQL(\"SELECT l.*, m.nombre_completo, m.cedula, m.telefono, m.direccion, m.correo FROM app_liquidacion_mecanicos_enc l,app_mecanicos m WHERE l.id_mecanico = m.id AND id=\'$PCO_Valor\'\")->fetch();\n    include \'liquidacion_mecanicos.php\';\n}','A'),(990,'mod/app_ventas/index.php','2025-01-31 11:34:00','rafael',225,10350,'<?php\n\nfunction calcularTotalVenta($id, $returnArr = \"\") {\n    $venta = PCO_EjecutarSQL(\"\n        SELECT SUM(precio * cantidad) as total, SUM(precio * iva/100) iva\n        FROM app_ventas_detalle\n        WHERE id_venta = \'$id\' GROUP BY id_venta\n    \")->fetch();\n    $ventaMecanico = PCO_EjecutarSQL(\"\n        SELECT TRUNCATE(SUM(vd.precio * vd.cantidad * p.porcentaje_mecanico/100), 2)\n        FROM app_ventas_detalle vd, app_ventas v, app_productos p\n        WHERE vd.id_venta=v.id AND vd.id_producto=p.id AND  vd.id_venta = \'$id\' AND v.id_mecanico <> 0 GROUP BY vd.id_venta\n    \")->fetchColumn();\n    $total = $venta[\"total\"] ? $venta[\"total\"] : 0;\n    $iva = $venta[\"iva\"] ? $venta[\"iva\"] : 0;\n    PCO_EjecutarSQLUnaria(\"UPDATE app_ventas SET total = $total, iva = $iva, total_mecanico=\'$ventaMecanico\' WHERE id = $id \");\n    if($returnArr)\n        return $venta;\n    return \'\"total\": \' . $total . \', \"iva\": \' . $iva;\n}\n\nif($PCO_Accion == \"VENTA_ingresarRealizarVenta\") {\n    $ventaAbierta = PCO_EjecutarSQL(\"\n        SELECT id, id_cliente, total, iva, placa\n        FROM app_ventas\n        WHERE id=\'$PCO_Valor\'\n    \")->fetch();\n\n    $id_venta = $ventaAbierta[\"id\"] || \"\";\n    if($id_venta) {\n        $total = number_format($ventaAbierta[\"total\"], 2);\n        $iva = number_format($ventaAbierta[\"iva\"], 2);\n        $id_cliente = $ventaAbierta[\"id_cliente\"];\n    }\n\n    PCO_CargarFormulario(8, 1, \"id\", $id_venta);\n}\n\nif($PCO_Accion == \"VENTA_agregarProductoCrearOC\") {\n        //crear cliente en caso de que no llegue id_cliente\n        if(!$id_cliente) {\n            PCO_EjecutarSQLUnaria(\"INSERT INTO app_clientes (nombre_completo, numero_documento, telefono) VALUES (?,?,?) \",\n                \"$nombre_completo$_SeparadorCampos_$numero_documento$_SeparadorCampos_$telefono\"\n            );\n            // $id_cliente = PCO_ObtenerUltimoIDInsertado();\n            $id_cliente = PCO_EjecutarSQL(\"\n                SELECT id\n                FROM app_clientes\n                WHERE numero_documento=\'$numero_documento\' AND telefono=\'$telefono\' AND \'$nombre_completo\'\n            \")->fetchColumn();\n        }\n        $todayMysql = date(\"Y-m-d H:i:s\");\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas (id_cliente, usuario, fecha, placa, id_mecanico, tipo_venta) VALUES (?,?,?,?,?,?) \", \"$id_cliente$_SeparadorCampos_$PCOSESS_LoginUsuario$_SeparadorCampos_$todayMysql$_SeparadorCampos_$placa$_SeparadorCampos_$id_mecanico$_SeparadorCampos_$tipo_venta\");\n        $id = PCO_EjecutarSQL(\"\n            SELECT id\n            FROM app_ventas\n            WHERE fecha=\'$todayMysql\' AND usuario=\'$PCOSESS_LoginUsuario\' AND id_cliente = \'$id_cliente\'\n        \")->fetchColumn();\n        // $id = PCO_ObtenerUltimoIDInsertado();\n\n    $producto = PCO_EjecutarSQL(\"\n        SELECT id, precio_venta, iva, inventario\n        FROM app_productos\n        WHERE id = \'$id_producto\'\n    \")->fetch();\n    if($producto[\"id\"]) {\n        $existe = PCO_EjecutarSQL(\"\n            SELECT count(id)\n            FROM app_ventas_detalle\n            WHERE id_venta = $id AND id_producto = \'$id_producto\'\n        \")->fetchColumn();\n        if($existe > 0) {\n            print_r(\'{\"success\": false, \"msg\": \"El producto ya se ha ingresado\"}\');\n            die();\n        }\n        /* if($producto[\"inventario\"] < $cantidad) {\n            print_r(\'{\"success\": false, \"msg\": \"La cantidad digitada supera la del invetario\"}\');\n            die();\n        } */\n        // $inventarioNew = $producto[\"inventario\"] - $cantidad;\n        // PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas_detalle (id_venta, id_producto, cantidad, precio, iva, hora_inicio, hora_fin, guaje) VALUES (?,?,?,?,?,?,?,?) \", \n            \"$id$_SeparadorCampos_$id_producto$_SeparadorCampos_$cantidad$_SeparadorCampos_$precio$_SeparadorCampos_\" . $producto[\"iva\"].\"$_SeparadorCampos_$hora_inicio$_SeparadorCampos_$hora_fin$_SeparadorCampos_$guaje\");\n        calcularTotalVenta($id);\n        \n        /* $total = number_format($result[\"total\"], 2);\n        $iva = number_format($result[\"iva\"], 2); */\n\n        echo \'<script type=\"text/javascript\">\n        	document.FRMBASEINFORME.PCO_Accion.value=\"PCO_CargarObjeto\";\n        	document.FRMBASEINFORME.PCO_Objeto.value=\"frm:8:1:id:\'.$id.\'\";\n        	document.FRMBASEINFORME.Precarga_EstilosBS.value=\"1\";\n        	document.FRMBASEINFORME.Presentar_FullScreen.value=\"0\";\n        	document.FRMBASEINFORME.target=\"_self\";\n        	document.FRMBASEINFORME.submit();\n    	 </script>\';\n    }\n}\n\nif($PCO_Accion == \"VENTA_agregarProducto\") {\n    $producto = PCO_EjecutarSQL(\"\n        SELECT id, precio_venta, iva\n        FROM app_productos\n        WHERE id = \'$id_producto\'\n    \")->fetch();\n    if($producto[\"id\"]) {\n        $existe = PCO_EjecutarSQL(\"\n            SELECT count(id)\n            FROM app_ventas_detalle\n            WHERE id_venta = $id AND id_producto = \'$id_producto\'\n        \")->fetchColumn();\n        if($existe > 0) {\n            print_r(\'{\"success\": false, \"msg\": \"El producto ya se ha ingresado\"}\');\n            die();\n        }\n        /* if($producto[\"inventario\"] < $cantidad) {\n            print_r(\'{\"success\": false, \"msg\": \"La cantidad digitada supera la del invetario\"}\');\n            die();\n        } */\n        // $inventarioNew = $producto[\"inventario\"] - $cantidad;\n        // PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_ventas_detalle (id_venta, id_producto, cantidad, precio, iva, hora_inicio, hora_fin, guaje) VALUES (?,?,?,?,?,?,?,?) \", \n            \"$id$_SeparadorCampos_$id_producto$_SeparadorCampos_$cantidad$_SeparadorCampos_$precioVenta$_SeparadorCampos_\" . $producto[\"iva\"].\"$_SeparadorCampos$hora_inicio$_SeparadorCampos$hora_fin$_SeparadorCampos$guaje\");\n        $result = calcularTotalVenta($id);\n        print_r(\'{\"success\": true, \"id\": \' . $id . \', \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se ha encontrado el producto seleccionado\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_consultarTotalVenta\") {\n    if($id) {\n        $result = calcularTotalVenta($id);\n        print_r(\'{\"success\": true, \"id\": \' . $id . \', \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se encontro la venta\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_eliminarProducto\") {\n\n    if($id_venta_detalle && $id_venta) {\n        $producto = PCO_EjecutarSQL(\"\n            SELECT p.inventario, vd.cantidad, p.id\n            FROM app_ventas_detalle vd, app_productos p\n            WHERE vd.id_producto = p.id AND vd.id = \'$id_venta_detalle\'\n        \")->fetch();\n        //Restablecemos el inventario\n        $inventarioNew = $producto[\"inventario\"] + $producto[\"cantidad\"];\n        PCO_EjecutarSQLUnaria(\"UPDATE app_productos SET inventario = $inventarioNew WHERE id = \" . $producto[\"id\"]);\n        PCO_EjecutarSQLUnaria(\"DELETE FROM app_ventas_detalle WHERE id_venta = $id_venta AND id = $id_venta_detalle\");\n        $result = calcularTotalVenta($id_venta);\n        print_r(\'{\"success\": true, \"msg\": \"Se ha eliminado el producto exitosamente\", \' . $result . \'}\');\n        die();\n    }\n    print_r(\'{\"success\": false, \"msg\": \"No se pudo eliminar el producto\"}\');\n    die();\n}\n\nif($PCO_Accion == \"VENTA_actualizarProductoVenta\") {\n    if($id) {\n        PCO_EjecutarSQLUnaria(\"UPDATE app_ventas_detalle SET cantidad=\'$cantidad\', precio=\'$precio\' WHERE id = \'$id\'\");\n        echo 1;\n        die();\n    }\n    echo 0;\n    die();\n}\n\nif($PCO_Accion == \"VENTA_imprimirFactura\") {\n    if($PCO_Valor)\n        $id = $PCO_Valor;\n    if($id) {\n        include_once \"imprimirFactura.php\";\n    }\n}\n\nif($PCO_Accion == \"VENTA_generarLiquidacionMecanicos\") {\n    $ventas = PCO_EjecutarSQL(\"\n        SELECT v.id, v.id_mecanico, SUM(v.total_mecanico) as Total, m.seguridad_social\n        FROM app_mecanicos m,app_ventas v\n        WHERE m.id = v.id_mecanico AND v.fecha >= \'$fecha_inicio 00:00:00\' AND v.fecha <= \'$fecha_fin 23:59:59\' AND v.estado = 1 AND id_mecanico <> 0 AND id_liquidacion=0\n        GROUP BY v.id_mecanico\n    \")->fetchAll();\n    foreach ($ventas as $venta) {\n        $valor_novedad = PCO_EjecutarSQL(\"\n            SELECT  \n                SUM(case when tipo_novedad=\'Abonar\' then valor_novedad else 0 end) as abonar,\n                SUM(case when tipo_novedad=\'Debitar\' then valor_novedad else 0 end) as debitar\n            FROM app_novedades_mecanicos\n            WHERE fecha >= \'$fecha_inicio\' AND fecha <= \'$fecha_fin\'\n                AND id_mecanico=\'\".$venta[\'id_mecanico\'].\"\' AND id_liquidacion=0\n            GROUP BY id_mecanico\n        \")->fetch();\n\n        PCO_EjecutarSQLUnaria(\"INSERT INTO app_liquidacion_mecanicos_enc (id_mecanico, fecha_inicio, fecha_fin, fecha, valor_venta, valor_novedad_abonar, valor_novedad_debitar, seguridad_social, usuario) VALUES (?,?,?,?,?,?,?,?,?) \",\n            $venta[\"id_mecanico\"].\"$_SeparadorCampos_$fecha_inicio$_SeparadorCampos_$fecha_fin$_SeparadorCampos_$PCO_FechaOperacionGuiones$_SeparadorCampos_\".$venta[\"Total\"].\"$_SeparadorCampos_\".$valor_novedad[\'abonar\'].\"$_SeparadorCampos_\".$valor_novedad[\'debitar\'].\"$_SeparadorCampos_\".$venta[\"seguridad_social\"].\"$_SeparadorCampos_$PCOSESS_LoginUsuario\"\n        );\n        \n        PCO_EjecutarSQLUnaria(\"\n        UPDATE app_novedades_mecanicos \n        SET id_liquidacion=1\n        WHERE \n            fecha >= \'$fecha_inicio\' AND fecha <= \'$fecha_fin\' AND id_mecanico=\'\".$venta[\'id_mecanico\'].\"\' AND id_liquidacion=0\n        \");\n    }\n        // arq de estados\n        //actualiozar estados\n    PCO_EjecutarSQLUnaria(\"\n        UPDATE app_ventas \n        SET id_liquidacion=1\n        WHERE app_mecanicos.id = app_ventas.id_mecanico AND app_ventas.fecha >= \'$fecha_inicio 00:00:00\' AND app_ventas.fecha <= \'$fecha_fin 23:59:59\' AND app_ventas.estado = 1 AND id_mecanico <> 0 AND id_liquidacion=0\");\n    PCO_CargarFormulario(14);\n}\n\nif($PCO_Accion == \"VENTAS_verLiquidacion\") {\n    $liq = PCO_EjecutarSQL(\"\n        SELECT l.*, m.nombre_completo, m.cedula, m.telefono, m.direccion, m.correo \n        FROM app_liquidacion_mecanicos_enc l,app_mecanicos m \n        WHERE l.id_mecanico = m.id AND id=\'$PCO_Valor\'\n    \")->fetch();\n    include \'liquidacion_mecanicos.php\';\n}','A'),