From 6b816fed9f3641487f6457897f405eba456ef6db Mon Sep 17 00:00:00 2001 From: cheveguerra Date: Tue, 5 Sep 2023 13:20:13 -0600 Subject: [PATCH] Commit inicial --- .gitignore | 3 + B4A/B4XMainPage.bas | 622 +++ B4A/C_Calculadora.bas | 710 +++ B4A/C_CheckList.bas | 871 ++++ B4A/C_Cliente.bas | 3821 +++++++++++++++++ B4A/C_Clientes.bas | 287 ++ B4A/C_Foto.bas | 184 + B4A/C_Historico.bas | 135 + B4A/C_Mapas.bas | 138 + B4A/C_NoVenta.bas | 127 + B4A/C_Nota.bas | 429 ++ B4A/C_NuevoCliente.bas | 95 + B4A/C_Pedidos.bas | 24 + B4A/C_Principal.bas | 3026 +++++++++++++ B4A/C_Productos.bas | 1240 ++++++ B4A/C_Productos2.bas | 1331 ++++++ B4A/C_Promos.bas | 422 ++ B4A/C_Promos2.bas | 24 + B4A/C_TicketsDia.bas | 137 + B4A/C_updateAvailable.bas | 24 + B4A/CameraExClass.bas | 294 ++ B4A/DBRequestManager.bas | 270 ++ B4A/DownloadService.bas | 114 + B4A/EscPosPrinter.bas | 1148 +++++ B4A/Files/WHATSTEL.jpeg | Bin 0 -> 60482 bytes ...tsApp Image 2022-11-17 at 11.50.59 AM.jpeg | Bin 0 -> 40983 bytes B4A/Files/alcancia.png | Bin 0 -> 2249 bytes B4A/Files/alert2.png | Bin 0 -> 632 bytes B4A/Files/alerta.jpg | Bin 0 -> 1459 bytes B4A/Files/alerta_amarilla.png | Bin 0 -> 62562 bytes B4A/Files/amarillo.png | Bin 0 -> 10753 bytes B4A/Files/anterior.jpg | Bin 0 -> 19358 bytes B4A/Files/blacnco.jpg | Bin 0 -> 5027 bytes B4A/Files/carrito.png | Bin 0 -> 22596 bytes B4A/Files/checklist.bal | Bin 0 -> 5795 bytes B4A/Files/checks.bal | Bin 0 -> 33830 bytes B4A/Files/cliente.bal | Bin 0 -> 103345 bytes B4A/Files/cliente.bal.bak | Bin 0 -> 97420 bytes B4A/Files/clientes.bal | Bin 0 -> 6904 bytes B4A/Files/detalle_promo.bal | Bin 0 -> 3429 bytes B4A/Files/durakelo.png | Bin 0 -> 7098 bytes B4A/Files/durakelo1.png | Bin 0 -> 5896 bytes B4A/Files/engrane.jpg | Bin 0 -> 4132 bytes B4A/Files/engrane.png | Bin 0 -> 97560 bytes B4A/Files/errormanager.bal | Bin 0 -> 4235 bytes B4A/Files/fondo_kmt.jpg | Bin 0 -> 33689 bytes B4A/Files/foto.bal | Bin 0 -> 3641 bytes B4A/Files/foto1.jpg | Bin 0 -> 10462 bytes B4A/Files/foto2.jpg | Bin 0 -> 17020 bytes B4A/Files/foto3.jpg | Bin 0 -> 16612 bytes B4A/Files/foto4.jpg | Bin 0 -> 15202 bytes B4A/Files/guardagestion.bal | Bin 0 -> 13104 bytes B4A/Files/guna_viejo.png | Bin 0 -> 3543 bytes B4A/Files/historico.bal | Bin 0 -> 8167 bytes B4A/Files/info_gral.resp | Bin 0 -> 69923 bytes B4A/Files/infonavit1.jpg | Bin 0 -> 30576 bytes B4A/Files/inventario (1).jpg | Bin 0 -> 23450 bytes B4A/Files/inventario.jpg | Bin 0 -> 27037 bytes B4A/Files/inventario.png | Bin 0 -> 8834 bytes B4A/Files/itembuttonblue.png | Bin 0 -> 2647 bytes B4A/Files/itembuttonred.png | Bin 0 -> 5822 bytes B4A/Files/kelloggs.png | Bin 0 -> 76788 bytes B4A/Files/kelloggs2.jpg | Bin 0 -> 110798 bytes B4A/Files/kelloggs2.png | Bin 0 -> 92140 bytes B4A/Files/kelloggs_chico.png | Bin 0 -> 53581 bytes B4A/Files/kelloggs_original.png | Bin 0 -> 305840 bytes B4A/Files/keymon_logo.png | Bin 0 -> 10983 bytes B4A/Files/kmt.db | Bin 0 -> 66560 bytes B4A/Files/login.bal | Bin 0 -> 12591 bytes B4A/Files/logo sanfer.jpg | Bin 0 -> 7991 bytes B4A/Files/logo2.png | Bin 0 -> 79211 bytes B4A/Files/logo2_192x192.png | Bin 0 -> 27332 bytes B4A/Files/logo_192x192.png | Bin 0 -> 13018 bytes B4A/Files/logo_exitus1.jpg | Bin 0 -> 30576 bytes B4A/Files/mainpage.bal | Bin 0 -> 1584 bytes B4A/Files/malo.jpg | Bin 0 -> 8764 bytes B4A/Files/mapa.bal | Bin 0 -> 3090 bytes B4A/Files/mapa_rutas.bal | Bin 0 -> 6310 bytes B4A/Files/mapas.bal | Bin 0 -> 3703 bytes B4A/Files/marker-azul-0.png | Bin 0 -> 6263 bytes B4A/Files/marker-azul-1.png | Bin 0 -> 5003 bytes B4A/Files/marker-azul-10.png | Bin 0 -> 6352 bytes B4A/Files/marker-azul-100.png | Bin 0 -> 6557 bytes B4A/Files/marker-azul-11.png | Bin 0 -> 5047 bytes B4A/Files/marker-azul-12.png | Bin 0 -> 6257 bytes B4A/Files/marker-azul-13.png | Bin 0 -> 6611 bytes B4A/Files/marker-azul-14.png | Bin 0 -> 5762 bytes B4A/Files/marker-azul-15.png | Bin 0 -> 5824 bytes B4A/Files/marker-azul-16.png | Bin 0 -> 6420 bytes B4A/Files/marker-azul-17.png | Bin 0 -> 6031 bytes B4A/Files/marker-azul-18.png | Bin 0 -> 6675 bytes B4A/Files/marker-azul-19.png | Bin 0 -> 6371 bytes B4A/Files/marker-azul-2.png | Bin 0 -> 6174 bytes B4A/Files/marker-azul-20.png | Bin 0 -> 7214 bytes B4A/Files/marker-azul-21.png | Bin 0 -> 6148 bytes B4A/Files/marker-azul-22.png | Bin 0 -> 7041 bytes B4A/Files/marker-azul-23.png | Bin 0 -> 7355 bytes B4A/Files/marker-azul-24.png | Bin 0 -> 6574 bytes B4A/Files/marker-azul-25.png | Bin 0 -> 6675 bytes B4A/Files/marker-azul-26.png | Bin 0 -> 7158 bytes B4A/Files/marker-azul-27.png | Bin 0 -> 6958 bytes B4A/Files/marker-azul-28.png | Bin 0 -> 7403 bytes B4A/Files/marker-azul-29.png | Bin 0 -> 7139 bytes B4A/Files/marker-azul-3.png | Bin 0 -> 6423 bytes B4A/Files/marker-azul-30.png | Bin 0 -> 7453 bytes B4A/Files/marker-azul-31.png | Bin 0 -> 6467 bytes B4A/Files/marker-azul-32.png | Bin 0 -> 7417 bytes B4A/Files/marker-azul-33.png | Bin 0 -> 7670 bytes B4A/Files/marker-azul-34.png | Bin 0 -> 7027 bytes B4A/Files/marker-azul-35.png | Bin 0 -> 7056 bytes B4A/Files/marker-azul-36.png | Bin 0 -> 7581 bytes B4A/Files/marker-azul-37.png | Bin 0 -> 7308 bytes B4A/Files/marker-azul-38.png | Bin 0 -> 7806 bytes B4A/Files/marker-azul-39.png | Bin 0 -> 7600 bytes B4A/Files/marker-azul-4.png | Bin 0 -> 5715 bytes B4A/Files/marker-azul-40.png | Bin 0 -> 6897 bytes B4A/Files/marker-azul-41.png | Bin 0 -> 5745 bytes B4A/Files/marker-azul-42.png | Bin 0 -> 6798 bytes B4A/Files/marker-azul-43.png | Bin 0 -> 7028 bytes B4A/Files/marker-azul-44.png | Bin 0 -> 6204 bytes B4A/Files/marker-azul-45.png | Bin 0 -> 6200 bytes B4A/Files/marker-azul-46.png | Bin 0 -> 6784 bytes B4A/Files/marker-azul-47.png | Bin 0 -> 6485 bytes B4A/Files/marker-azul-48.png | Bin 0 -> 7064 bytes B4A/Files/marker-azul-49.png | Bin 0 -> 6796 bytes B4A/Files/marker-azul-5.png | Bin 0 -> 5649 bytes B4A/Files/marker-azul-50.png | Bin 0 -> 6798 bytes B4A/Files/marker-azul-51.png | Bin 0 -> 5783 bytes B4A/Files/marker-azul-52.png | Bin 0 -> 6659 bytes B4A/Files/marker-azul-53.png | Bin 0 -> 6936 bytes B4A/Files/marker-azul-54.png | Bin 0 -> 6179 bytes B4A/Files/marker-azul-55.png | Bin 0 -> 6289 bytes B4A/Files/marker-azul-56.png | Bin 0 -> 6745 bytes B4A/Files/marker-azul-57.png | Bin 0 -> 6486 bytes B4A/Files/marker-azul-58.png | Bin 0 -> 7011 bytes B4A/Files/marker-azul-59.png | Bin 0 -> 6856 bytes B4A/Files/marker-azul-6.png | Bin 0 -> 6224 bytes B4A/Files/marker-azul-60.png | Bin 0 -> 7326 bytes B4A/Files/marker-azul-61.png | Bin 0 -> 6109 bytes B4A/Files/marker-azul-62.png | Bin 0 -> 7084 bytes B4A/Files/marker-azul-63.png | Bin 0 -> 7158 bytes B4A/Files/marker-azul-64.png | Bin 0 -> 6209 bytes B4A/Files/marker-azul-65.png | Bin 0 -> 6708 bytes B4A/Files/marker-azul-66.png | Bin 0 -> 6722 bytes B4A/Files/marker-azul-67.png | Bin 0 -> 6759 bytes B4A/Files/marker-azul-68.png | Bin 0 -> 6992 bytes B4A/Files/marker-azul-69.png | Bin 0 -> 6725 bytes B4A/Files/marker-azul-7.png | Bin 0 -> 5996 bytes B4A/Files/marker-azul-70.png | Bin 0 -> 6602 bytes B4A/Files/marker-azul-71.png | Bin 0 -> 6164 bytes B4A/Files/marker-azul-72.png | Bin 0 -> 7112 bytes B4A/Files/marker-azul-73.png | Bin 0 -> 7166 bytes B4A/Files/marker-azul-74.png | Bin 0 -> 6147 bytes B4A/Files/marker-azul-75.png | Bin 0 -> 6726 bytes B4A/Files/marker-azul-76.png | Bin 0 -> 6752 bytes B4A/Files/marker-azul-77.png | Bin 0 -> 6805 bytes B4A/Files/marker-azul-78.png | Bin 0 -> 7000 bytes B4A/Files/marker-azul-79.png | Bin 0 -> 6698 bytes B4A/Files/marker-azul-8.png | Bin 0 -> 6501 bytes B4A/Files/marker-azul-80.png | Bin 0 -> 6811 bytes B4A/Files/marker-azul-81.png | Bin 0 -> 6367 bytes B4A/Files/marker-azul-82.png | Bin 0 -> 7319 bytes B4A/Files/marker-azul-83.png | Bin 0 -> 7431 bytes B4A/Files/marker-azul-84.png | Bin 0 -> 6408 bytes B4A/Files/marker-azul-85.png | Bin 0 -> 6936 bytes B4A/Files/marker-azul-86.png | Bin 0 -> 6964 bytes B4A/Files/marker-azul-87.png | Bin 0 -> 6979 bytes B4A/Files/marker-azul-88.png | Bin 0 -> 7224 bytes B4A/Files/marker-azul-89.png | Bin 0 -> 6916 bytes B4A/Files/marker-azul-9.png | Bin 0 -> 6313 bytes B4A/Files/marker-azul-90.png | Bin 0 -> 6532 bytes B4A/Files/marker-azul-91.png | Bin 0 -> 6127 bytes B4A/Files/marker-azul-92.png | Bin 0 -> 7033 bytes B4A/Files/marker-azul-93.png | Bin 0 -> 7056 bytes B4A/Files/marker-azul-94.png | Bin 0 -> 6163 bytes B4A/Files/marker-azul-95.png | Bin 0 -> 6658 bytes B4A/Files/marker-azul-96.png | Bin 0 -> 6738 bytes B4A/Files/marker-azul-97.png | Bin 0 -> 6742 bytes B4A/Files/marker-azul-98.png | Bin 0 -> 6973 bytes B4A/Files/marker-azul-99.png | Bin 0 -> 6723 bytes B4A/Files/marker-rojo-0.png | Bin 0 -> 7158 bytes B4A/Files/marker-rojo-1.png | Bin 0 -> 6466 bytes B4A/Files/marker-rojo-10.png | Bin 0 -> 7716 bytes B4A/Files/marker-rojo-100.png | Bin 0 -> 8381 bytes B4A/Files/marker-rojo-11.png | Bin 0 -> 6846 bytes B4A/Files/marker-rojo-12.png | Bin 0 -> 8555 bytes B4A/Files/marker-rojo-13.png | Bin 0 -> 8578 bytes B4A/Files/marker-rojo-14.png | Bin 0 -> 6949 bytes B4A/Files/marker-rojo-15.png | Bin 0 -> 7890 bytes B4A/Files/marker-rojo-16.png | Bin 0 -> 7874 bytes B4A/Files/marker-rojo-17.png | Bin 0 -> 8055 bytes B4A/Files/marker-rojo-18.png | Bin 0 -> 8274 bytes B4A/Files/marker-rojo-19.png | Bin 0 -> 7952 bytes B4A/Files/marker-rojo-2.png | Bin 0 -> 8319 bytes B4A/Files/marker-rojo-20.png | Bin 0 -> 8793 bytes B4A/Files/marker-rojo-21.png | Bin 0 -> 8125 bytes B4A/Files/marker-rojo-22.png | Bin 0 -> 9333 bytes B4A/Files/marker-rojo-23.png | Bin 0 -> 9432 bytes B4A/Files/marker-rojo-24.png | Bin 0 -> 8215 bytes B4A/Files/marker-rojo-25.png | Bin 0 -> 8937 bytes B4A/Files/marker-rojo-26.png | Bin 0 -> 8945 bytes B4A/Files/marker-rojo-27.png | Bin 0 -> 9044 bytes B4A/Files/marker-rojo-28.png | Bin 0 -> 9293 bytes B4A/Files/marker-rojo-29.png | Bin 0 -> 8952 bytes B4A/Files/marker-rojo-3.png | Bin 0 -> 8509 bytes B4A/Files/marker-rojo-30.png | Bin 0 -> 8963 bytes B4A/Files/marker-rojo-31.png | Bin 0 -> 8308 bytes B4A/Files/marker-rojo-32.png | Bin 0 -> 9408 bytes B4A/Files/marker-rojo-33.png | Bin 0 -> 9548 bytes B4A/Files/marker-rojo-34.png | Bin 0 -> 8384 bytes B4A/Files/marker-rojo-35.png | Bin 0 -> 9076 bytes B4A/Files/marker-rojo-36.png | Bin 0 -> 9137 bytes B4A/Files/marker-rojo-37.png | Bin 0 -> 9204 bytes B4A/Files/marker-rojo-38.png | Bin 0 -> 9389 bytes B4A/Files/marker-rojo-39.png | Bin 0 -> 9098 bytes B4A/Files/marker-rojo-4.png | Bin 0 -> 6743 bytes B4A/Files/marker-rojo-40.png | Bin 0 -> 7710 bytes B4A/Files/marker-rojo-41.png | Bin 0 -> 6914 bytes B4A/Files/marker-rojo-42.png | Bin 0 -> 8382 bytes B4A/Files/marker-rojo-43.png | Bin 0 -> 8490 bytes B4A/Files/marker-rojo-44.png | Bin 0 -> 7027 bytes B4A/Files/marker-rojo-45.png | Bin 0 -> 7884 bytes B4A/Files/marker-rojo-46.png | Bin 0 -> 7894 bytes B4A/Files/marker-rojo-47.png | Bin 0 -> 8095 bytes B4A/Files/marker-rojo-48.png | Bin 0 -> 8212 bytes B4A/Files/marker-rojo-49.png | Bin 0 -> 7898 bytes B4A/Files/marker-rojo-5.png | Bin 0 -> 7658 bytes B4A/Files/marker-rojo-50.png | Bin 0 -> 8457 bytes B4A/Files/marker-rojo-51.png | Bin 0 -> 7685 bytes B4A/Files/marker-rojo-52.png | Bin 0 -> 8969 bytes B4A/Files/marker-rojo-53.png | Bin 0 -> 9015 bytes B4A/Files/marker-rojo-54.png | Bin 0 -> 7712 bytes B4A/Files/marker-rojo-55.png | Bin 0 -> 8331 bytes B4A/Files/marker-rojo-56.png | Bin 0 -> 8461 bytes B4A/Files/marker-rojo-57.png | Bin 0 -> 8552 bytes B4A/Files/marker-rojo-58.png | Bin 0 -> 8710 bytes B4A/Files/marker-rojo-59.png | Bin 0 -> 8349 bytes B4A/Files/marker-rojo-6.png | Bin 0 -> 7660 bytes B4A/Files/marker-rojo-60.png | Bin 0 -> 8299 bytes B4A/Files/marker-rojo-61.png | Bin 0 -> 7640 bytes B4A/Files/marker-rojo-62.png | Bin 0 -> 8976 bytes B4A/Files/marker-rojo-63.png | Bin 0 -> 8978 bytes B4A/Files/marker-rojo-64.png | Bin 0 -> 7821 bytes B4A/Files/marker-rojo-65.png | Bin 0 -> 8488 bytes B4A/Files/marker-rojo-66.png | Bin 0 -> 8530 bytes B4A/Files/marker-rojo-67.png | Bin 0 -> 8660 bytes B4A/Files/marker-rojo-68.png | Bin 0 -> 8870 bytes B4A/Files/marker-rojo-69.png | Bin 0 -> 8491 bytes B4A/Files/marker-rojo-7.png | Bin 0 -> 7887 bytes B4A/Files/marker-rojo-70.png | Bin 0 -> 8516 bytes B4A/Files/marker-rojo-71.png | Bin 0 -> 7841 bytes B4A/Files/marker-rojo-72.png | Bin 0 -> 9071 bytes B4A/Files/marker-rojo-73.png | Bin 0 -> 9199 bytes B4A/Files/marker-rojo-74.png | Bin 0 -> 7975 bytes B4A/Files/marker-rojo-75.png | Bin 0 -> 8686 bytes B4A/Files/marker-rojo-76.png | Bin 0 -> 8686 bytes B4A/Files/marker-rojo-77.png | Bin 0 -> 8491 bytes B4A/Files/marker-rojo-78.png | Bin 0 -> 8917 bytes B4A/Files/marker-rojo-79.png | Bin 0 -> 8663 bytes B4A/Files/marker-rojo-8.png | Bin 0 -> 8205 bytes B4A/Files/marker-rojo-80.png | Bin 0 -> 8771 bytes B4A/Files/marker-rojo-81.png | Bin 0 -> 8092 bytes B4A/Files/marker-rojo-82.png | Bin 0 -> 9282 bytes B4A/Files/marker-rojo-83.png | Bin 0 -> 9374 bytes B4A/Files/marker-rojo-84.png | Bin 0 -> 8187 bytes B4A/Files/marker-rojo-85.png | Bin 0 -> 8843 bytes B4A/Files/marker-rojo-86.png | Bin 0 -> 8822 bytes B4A/Files/marker-rojo-87.png | Bin 0 -> 9009 bytes B4A/Files/marker-rojo-88.png | Bin 0 -> 9181 bytes B4A/Files/marker-rojo-89.png | Bin 0 -> 8914 bytes B4A/Files/marker-rojo-9.png | Bin 0 -> 7695 bytes B4A/Files/marker-rojo-90.png | Bin 0 -> 8391 bytes B4A/Files/marker-rojo-91.png | Bin 0 -> 7698 bytes B4A/Files/marker-rojo-92.png | Bin 0 -> 9013 bytes B4A/Files/marker-rojo-93.png | Bin 0 -> 9091 bytes B4A/Files/marker-rojo-94.png | Bin 0 -> 7868 bytes B4A/Files/marker-rojo-95.png | Bin 0 -> 8571 bytes B4A/Files/marker-rojo-96.png | Bin 0 -> 8545 bytes B4A/Files/marker-rojo-97.png | Bin 0 -> 8647 bytes B4A/Files/marker-rojo-98.png | Bin 0 -> 8905 bytes B4A/Files/marker-rojo-99.png | Bin 0 -> 8582 bytes B4A/Files/marker-verde-0.png | Bin 0 -> 5490 bytes B4A/Files/marker-verde-1.png | Bin 0 -> 4797 bytes B4A/Files/marker-verde-10.png | Bin 0 -> 5730 bytes B4A/Files/marker-verde-100.png | Bin 0 -> 6404 bytes B4A/Files/marker-verde-11.png | Bin 0 -> 5138 bytes B4A/Files/marker-verde-12.png | Bin 0 -> 6193 bytes B4A/Files/marker-verde-13.png | Bin 0 -> 6360 bytes B4A/Files/marker-verde-14.png | Bin 0 -> 5252 bytes B4A/Files/marker-verde-15.png | Bin 0 -> 5871 bytes B4A/Files/marker-verde-16.png | Bin 0 -> 5867 bytes B4A/Files/marker-verde-17.png | Bin 0 -> 6011 bytes B4A/Files/marker-verde-18.png | Bin 0 -> 6161 bytes B4A/Files/marker-verde-19.png | Bin 0 -> 5925 bytes B4A/Files/marker-verde-2.png | Bin 0 -> 5996 bytes B4A/Files/marker-verde-20.png | Bin 0 -> 6525 bytes B4A/Files/marker-verde-21.png | Bin 0 -> 6208 bytes B4A/Files/marker-verde-22.png | Bin 0 -> 7202 bytes B4A/Files/marker-verde-23.png | Bin 0 -> 7286 bytes B4A/Files/marker-verde-24.png | Bin 0 -> 6339 bytes B4A/Files/marker-verde-25.png | Bin 0 -> 6896 bytes B4A/Files/marker-verde-26.png | Bin 0 -> 6909 bytes B4A/Files/marker-verde-27.png | Bin 0 -> 6982 bytes B4A/Files/marker-verde-28.png | Bin 0 -> 7105 bytes B4A/Files/marker-verde-29.png | Bin 0 -> 6868 bytes B4A/Files/marker-verde-3.png | Bin 0 -> 6069 bytes B4A/Files/marker-verde-30.png | Bin 0 -> 6794 bytes B4A/Files/marker-verde-31.png | Bin 0 -> 6270 bytes B4A/Files/marker-verde-32.png | Bin 0 -> 7248 bytes B4A/Files/marker-verde-33.png | Bin 0 -> 7318 bytes B4A/Files/marker-verde-34.png | Bin 0 -> 6424 bytes B4A/Files/marker-verde-35.png | Bin 0 -> 6925 bytes B4A/Files/marker-verde-36.png | Bin 0 -> 6936 bytes B4A/Files/marker-verde-37.png | Bin 0 -> 6979 bytes B4A/Files/marker-verde-38.png | Bin 0 -> 7198 bytes B4A/Files/marker-verde-39.png | Bin 0 -> 6942 bytes B4A/Files/marker-verde-4.png | Bin 0 -> 4914 bytes B4A/Files/marker-verde-40.png | Bin 0 -> 5884 bytes B4A/Files/marker-verde-41.png | Bin 0 -> 5362 bytes B4A/Files/marker-verde-42.png | Bin 0 -> 6341 bytes B4A/Files/marker-verde-43.png | Bin 0 -> 6483 bytes B4A/Files/marker-verde-44.png | Bin 0 -> 5462 bytes B4A/Files/marker-verde-45.png | Bin 0 -> 6076 bytes B4A/Files/marker-verde-46.png | Bin 0 -> 6110 bytes B4A/Files/marker-verde-47.png | Bin 0 -> 6135 bytes B4A/Files/marker-verde-48.png | Bin 0 -> 6388 bytes B4A/Files/marker-verde-49.png | Bin 0 -> 6090 bytes B4A/Files/marker-verde-5.png | Bin 0 -> 5581 bytes B4A/Files/marker-verde-50.png | Bin 0 -> 6570 bytes B4A/Files/marker-verde-51.png | Bin 0 -> 5961 bytes B4A/Files/marker-verde-52.png | Bin 0 -> 6942 bytes B4A/Files/marker-verde-53.png | Bin 0 -> 7040 bytes B4A/Files/marker-verde-54.png | Bin 0 -> 6053 bytes B4A/Files/marker-verde-55.png | Bin 0 -> 6612 bytes B4A/Files/marker-verde-56.png | Bin 0 -> 6621 bytes B4A/Files/marker-verde-57.png | Bin 0 -> 6677 bytes B4A/Files/marker-verde-58.png | Bin 0 -> 6872 bytes B4A/Files/marker-verde-59.png | Bin 0 -> 6643 bytes B4A/Files/marker-verde-6.png | Bin 0 -> 5559 bytes B4A/Files/marker-verde-60.png | Bin 0 -> 6529 bytes B4A/Files/marker-verde-61.png | Bin 0 -> 5968 bytes B4A/Files/marker-verde-62.png | Bin 0 -> 6906 bytes B4A/Files/marker-verde-63.png | Bin 0 -> 6971 bytes B4A/Files/marker-verde-64.png | Bin 0 -> 5989 bytes B4A/Files/marker-verde-65.png | Bin 0 -> 6547 bytes B4A/Files/marker-verde-66.png | Bin 0 -> 6541 bytes B4A/Files/marker-verde-67.png | Bin 0 -> 6656 bytes B4A/Files/marker-verde-68.png | Bin 0 -> 6811 bytes B4A/Files/marker-verde-69.png | Bin 0 -> 6540 bytes B4A/Files/marker-verde-7.png | Bin 0 -> 5695 bytes B4A/Files/marker-verde-70.png | Bin 0 -> 6547 bytes B4A/Files/marker-verde-71.png | Bin 0 -> 5979 bytes B4A/Files/marker-verde-72.png | Bin 0 -> 6962 bytes B4A/Files/marker-verde-73.png | Bin 0 -> 7000 bytes B4A/Files/marker-verde-74.png | Bin 0 -> 6173 bytes B4A/Files/marker-verde-75.png | Bin 0 -> 6602 bytes B4A/Files/marker-verde-76.png | Bin 0 -> 6631 bytes B4A/Files/marker-verde-77.png | Bin 0 -> 6606 bytes B4A/Files/marker-verde-78.png | Bin 0 -> 6874 bytes B4A/Files/marker-verde-79.png | Bin 0 -> 6596 bytes B4A/Files/marker-verde-8.png | Bin 0 -> 5872 bytes B4A/Files/marker-verde-80.png | Bin 0 -> 6726 bytes B4A/Files/marker-verde-81.png | Bin 0 -> 6266 bytes B4A/Files/marker-verde-82.png | Bin 0 -> 7119 bytes B4A/Files/marker-verde-83.png | Bin 0 -> 7136 bytes B4A/Files/marker-verde-84.png | Bin 0 -> 6287 bytes B4A/Files/marker-verde-85.png | Bin 0 -> 6816 bytes B4A/Files/marker-verde-86.png | Bin 0 -> 6842 bytes B4A/Files/marker-verde-87.png | Bin 0 -> 6867 bytes B4A/Files/marker-verde-88.png | Bin 0 -> 7113 bytes B4A/Files/marker-verde-89.png | Bin 0 -> 6828 bytes B4A/Files/marker-verde-9.png | Bin 0 -> 5550 bytes B4A/Files/marker-verde-90.png | Bin 0 -> 6369 bytes B4A/Files/marker-verde-91.png | Bin 0 -> 5899 bytes B4A/Files/marker-verde-92.png | Bin 0 -> 6804 bytes B4A/Files/marker-verde-93.png | Bin 0 -> 6922 bytes B4A/Files/marker-verde-94.png | Bin 0 -> 5998 bytes B4A/Files/marker-verde-95.png | Bin 0 -> 6491 bytes B4A/Files/marker-verde-96.png | Bin 0 -> 6495 bytes B4A/Files/marker-verde-97.png | Bin 0 -> 6636 bytes B4A/Files/marker-verde-98.png | Bin 0 -> 6765 bytes B4A/Files/marker-verde-99.png | Bin 0 -> 6465 bytes B4A/Files/nota.bal | Bin 0 -> 8751 bytes B4A/Files/noventa.bal | Bin 0 -> 8103 bytes B4A/Files/nuevocliente.bal | Bin 0 -> 5836 bytes B4A/Files/palomita_verde.png | Bin 0 -> 37279 bytes B4A/Files/palomita_verde_original.png | Bin 0 -> 159519 bytes B4A/Files/pedido.bal | Bin 0 -> 11752 bytes B4A/Files/pedidoitem.bal | Bin 0 -> 2013 bytes B4A/Files/planfia_logo.png | Bin 0 -> 22355 bytes B4A/Files/planfia_logo_old.png | Bin 0 -> 34019 bytes B4A/Files/planfia_logo_old2.png | Bin 0 -> 40821 bytes B4A/Files/principal.bal | Bin 0 -> 68308 bytes B4A/Files/proditem.bal | Bin 0 -> 5141 bytes B4A/Files/productos.bal | Bin 0 -> 20329 bytes B4A/Files/productos2.bal | Bin 0 -> 22421 bytes B4A/Files/profina.jpg | Bin 0 -> 4738 bytes B4A/Files/profina.png | Bin 0 -> 5080 bytes B4A/Files/promociones.bal | Bin 0 -> 9382 bytes B4A/Files/qr.bal | Bin 0 -> 823 bytes B4A/Files/rechazo.jpg | Bin 0 -> 10453 bytes B4A/Files/rojo.png | Bin 0 -> 10751 bytes B4A/Files/salma.jpg | Bin 0 -> 17025 bytes B4A/Files/salma.png | Bin 0 -> 5896 bytes B4A/Files/senial.jpg | Bin 0 -> 40104 bytes B4A/Files/sync.png | Bin 0 -> 763 bytes B4A/Files/tache_rojo.png | Bin 0 -> 35757 bytes B4A/Files/tache_rojo_original.png | Bin 0 -> 254546 bytes B4A/Files/telefonos.bal | Bin 0 -> 8011 bytes B4A/Files/ticketsdia.bal | Bin 0 -> 3930 bytes B4A/Files/tiendita.jpg | Bin 0 -> 9042 bytes B4A/Files/transporte.png | Bin 0 -> 23923 bytes B4A/Files/verde.png | Bin 0 -> 7665 bytes B4A/Files/vista1.png | Bin 0 -> 20108 bytes B4A/Files/vista2.png | Bin 0 -> 34997 bytes B4A/Files/vista3.png | Bin 0 -> 31080 bytes B4A/Files/vista4.png | Bin 0 -> 23561 bytes ...atsapp image 2022-11-17 at 11.50.59 am.jpg | Bin 0 -> 40983 bytes B4A/Files/whatsapp.png | Bin 0 -> 46415 bytes B4A/Files/whatsapp_original.png | Bin 0 -> 316915 bytes B4A/Files/whatstel.png | Bin 0 -> 122051 bytes B4A/HttpUtils2Service.bas | 86 + B4A/KelloggsV4.b4a | 242 ++ B4A/MAPA_RUTAS.bas | 291 ++ B4A/Mods.bas | 15 + B4A/SD_Spinner.bas | 491 +++ B4A/Starter.bas | 224 + B4A/Subs.bas | 1523 +++++++ B4A/Tracker.bas | 263 ++ B4A/errorManager.bas | 166 + B4A/foto.bas | 174 + B4J/Files/MainPage.bjl | Bin 0 -> 1959 bytes B4J/Kelloggs V3.b4j | 53 + B4i/Files/mainpage.bil | Bin 0 -> 3084 bytes B4i/Kelloggs V3.b4i | 46 + gitpull.bat | 1 + 436 files changed, 19051 insertions(+) create mode 100644 .gitignore create mode 100644 B4A/B4XMainPage.bas create mode 100644 B4A/C_Calculadora.bas create mode 100644 B4A/C_CheckList.bas create mode 100644 B4A/C_Cliente.bas create mode 100644 B4A/C_Clientes.bas create mode 100644 B4A/C_Foto.bas create mode 100644 B4A/C_Historico.bas create mode 100644 B4A/C_Mapas.bas create mode 100644 B4A/C_NoVenta.bas create mode 100644 B4A/C_Nota.bas create mode 100644 B4A/C_NuevoCliente.bas create mode 100644 B4A/C_Pedidos.bas create mode 100644 B4A/C_Principal.bas create mode 100644 B4A/C_Productos.bas create mode 100644 B4A/C_Productos2.bas create mode 100644 B4A/C_Promos.bas create mode 100644 B4A/C_Promos2.bas create mode 100644 B4A/C_TicketsDia.bas create mode 100644 B4A/C_updateAvailable.bas create mode 100644 B4A/CameraExClass.bas create mode 100644 B4A/DBRequestManager.bas create mode 100644 B4A/DownloadService.bas create mode 100644 B4A/EscPosPrinter.bas create mode 100644 B4A/Files/WHATSTEL.jpeg create mode 100644 B4A/Files/WhatsApp Image 2022-11-17 at 11.50.59 AM.jpeg create mode 100644 B4A/Files/alcancia.png create mode 100644 B4A/Files/alert2.png create mode 100644 B4A/Files/alerta.jpg create mode 100644 B4A/Files/alerta_amarilla.png create mode 100644 B4A/Files/amarillo.png create mode 100644 B4A/Files/anterior.jpg create mode 100644 B4A/Files/blacnco.jpg create mode 100644 B4A/Files/carrito.png create mode 100644 B4A/Files/checklist.bal create mode 100644 B4A/Files/checks.bal create mode 100644 B4A/Files/cliente.bal create mode 100644 B4A/Files/cliente.bal.bak create mode 100644 B4A/Files/clientes.bal create mode 100644 B4A/Files/detalle_promo.bal create mode 100644 B4A/Files/durakelo.png create mode 100644 B4A/Files/durakelo1.png create mode 100644 B4A/Files/engrane.jpg create mode 100644 B4A/Files/engrane.png create mode 100644 B4A/Files/errormanager.bal create mode 100644 B4A/Files/fondo_kmt.jpg create mode 100644 B4A/Files/foto.bal create mode 100644 B4A/Files/foto1.jpg create mode 100644 B4A/Files/foto2.jpg create mode 100644 B4A/Files/foto3.jpg create mode 100644 B4A/Files/foto4.jpg create mode 100644 B4A/Files/guardagestion.bal create mode 100644 B4A/Files/guna_viejo.png create mode 100644 B4A/Files/historico.bal create mode 100644 B4A/Files/info_gral.resp create mode 100644 B4A/Files/infonavit1.jpg create mode 100644 B4A/Files/inventario (1).jpg create mode 100644 B4A/Files/inventario.jpg create mode 100644 B4A/Files/inventario.png create mode 100644 B4A/Files/itembuttonblue.png create mode 100644 B4A/Files/itembuttonred.png create mode 100644 B4A/Files/kelloggs.png create mode 100644 B4A/Files/kelloggs2.jpg create mode 100644 B4A/Files/kelloggs2.png create mode 100644 B4A/Files/kelloggs_chico.png create mode 100644 B4A/Files/kelloggs_original.png create mode 100644 B4A/Files/keymon_logo.png create mode 100644 B4A/Files/kmt.db create mode 100644 B4A/Files/login.bal create mode 100644 B4A/Files/logo sanfer.jpg create mode 100644 B4A/Files/logo2.png create mode 100644 B4A/Files/logo2_192x192.png create mode 100644 B4A/Files/logo_192x192.png create mode 100644 B4A/Files/logo_exitus1.jpg create mode 100644 B4A/Files/mainpage.bal create mode 100644 B4A/Files/malo.jpg create mode 100644 B4A/Files/mapa.bal create mode 100644 B4A/Files/mapa_rutas.bal create mode 100644 B4A/Files/mapas.bal create mode 100644 B4A/Files/marker-azul-0.png create mode 100644 B4A/Files/marker-azul-1.png create mode 100644 B4A/Files/marker-azul-10.png create mode 100644 B4A/Files/marker-azul-100.png create mode 100644 B4A/Files/marker-azul-11.png create mode 100644 B4A/Files/marker-azul-12.png create mode 100644 B4A/Files/marker-azul-13.png create mode 100644 B4A/Files/marker-azul-14.png create mode 100644 B4A/Files/marker-azul-15.png create mode 100644 B4A/Files/marker-azul-16.png create mode 100644 B4A/Files/marker-azul-17.png create mode 100644 B4A/Files/marker-azul-18.png create mode 100644 B4A/Files/marker-azul-19.png create mode 100644 B4A/Files/marker-azul-2.png create mode 100644 B4A/Files/marker-azul-20.png create mode 100644 B4A/Files/marker-azul-21.png create mode 100644 B4A/Files/marker-azul-22.png create mode 100644 B4A/Files/marker-azul-23.png create mode 100644 B4A/Files/marker-azul-24.png create mode 100644 B4A/Files/marker-azul-25.png create mode 100644 B4A/Files/marker-azul-26.png create mode 100644 B4A/Files/marker-azul-27.png create mode 100644 B4A/Files/marker-azul-28.png create mode 100644 B4A/Files/marker-azul-29.png create mode 100644 B4A/Files/marker-azul-3.png create mode 100644 B4A/Files/marker-azul-30.png create mode 100644 B4A/Files/marker-azul-31.png create mode 100644 B4A/Files/marker-azul-32.png create mode 100644 B4A/Files/marker-azul-33.png create mode 100644 B4A/Files/marker-azul-34.png create mode 100644 B4A/Files/marker-azul-35.png create mode 100644 B4A/Files/marker-azul-36.png create mode 100644 B4A/Files/marker-azul-37.png create mode 100644 B4A/Files/marker-azul-38.png create mode 100644 B4A/Files/marker-azul-39.png create mode 100644 B4A/Files/marker-azul-4.png create mode 100644 B4A/Files/marker-azul-40.png create mode 100644 B4A/Files/marker-azul-41.png create mode 100644 B4A/Files/marker-azul-42.png create mode 100644 B4A/Files/marker-azul-43.png create mode 100644 B4A/Files/marker-azul-44.png create mode 100644 B4A/Files/marker-azul-45.png create mode 100644 B4A/Files/marker-azul-46.png create mode 100644 B4A/Files/marker-azul-47.png create mode 100644 B4A/Files/marker-azul-48.png create mode 100644 B4A/Files/marker-azul-49.png create mode 100644 B4A/Files/marker-azul-5.png create mode 100644 B4A/Files/marker-azul-50.png create mode 100644 B4A/Files/marker-azul-51.png create mode 100644 B4A/Files/marker-azul-52.png create mode 100644 B4A/Files/marker-azul-53.png create mode 100644 B4A/Files/marker-azul-54.png create mode 100644 B4A/Files/marker-azul-55.png create mode 100644 B4A/Files/marker-azul-56.png create mode 100644 B4A/Files/marker-azul-57.png create mode 100644 B4A/Files/marker-azul-58.png create mode 100644 B4A/Files/marker-azul-59.png create mode 100644 B4A/Files/marker-azul-6.png create mode 100644 B4A/Files/marker-azul-60.png create mode 100644 B4A/Files/marker-azul-61.png create mode 100644 B4A/Files/marker-azul-62.png create mode 100644 B4A/Files/marker-azul-63.png create mode 100644 B4A/Files/marker-azul-64.png create mode 100644 B4A/Files/marker-azul-65.png create mode 100644 B4A/Files/marker-azul-66.png create mode 100644 B4A/Files/marker-azul-67.png create mode 100644 B4A/Files/marker-azul-68.png create mode 100644 B4A/Files/marker-azul-69.png create mode 100644 B4A/Files/marker-azul-7.png create mode 100644 B4A/Files/marker-azul-70.png create mode 100644 B4A/Files/marker-azul-71.png create mode 100644 B4A/Files/marker-azul-72.png create mode 100644 B4A/Files/marker-azul-73.png create mode 100644 B4A/Files/marker-azul-74.png create mode 100644 B4A/Files/marker-azul-75.png create mode 100644 B4A/Files/marker-azul-76.png create mode 100644 B4A/Files/marker-azul-77.png create mode 100644 B4A/Files/marker-azul-78.png create mode 100644 B4A/Files/marker-azul-79.png create mode 100644 B4A/Files/marker-azul-8.png create mode 100644 B4A/Files/marker-azul-80.png create mode 100644 B4A/Files/marker-azul-81.png create mode 100644 B4A/Files/marker-azul-82.png create mode 100644 B4A/Files/marker-azul-83.png create mode 100644 B4A/Files/marker-azul-84.png create mode 100644 B4A/Files/marker-azul-85.png create mode 100644 B4A/Files/marker-azul-86.png create mode 100644 B4A/Files/marker-azul-87.png create mode 100644 B4A/Files/marker-azul-88.png create mode 100644 B4A/Files/marker-azul-89.png create mode 100644 B4A/Files/marker-azul-9.png create mode 100644 B4A/Files/marker-azul-90.png create mode 100644 B4A/Files/marker-azul-91.png create mode 100644 B4A/Files/marker-azul-92.png create mode 100644 B4A/Files/marker-azul-93.png create mode 100644 B4A/Files/marker-azul-94.png create mode 100644 B4A/Files/marker-azul-95.png create mode 100644 B4A/Files/marker-azul-96.png create mode 100644 B4A/Files/marker-azul-97.png create mode 100644 B4A/Files/marker-azul-98.png create mode 100644 B4A/Files/marker-azul-99.png create mode 100644 B4A/Files/marker-rojo-0.png create mode 100644 B4A/Files/marker-rojo-1.png create mode 100644 B4A/Files/marker-rojo-10.png create mode 100644 B4A/Files/marker-rojo-100.png create mode 100644 B4A/Files/marker-rojo-11.png create mode 100644 B4A/Files/marker-rojo-12.png create mode 100644 B4A/Files/marker-rojo-13.png create mode 100644 B4A/Files/marker-rojo-14.png create mode 100644 B4A/Files/marker-rojo-15.png create mode 100644 B4A/Files/marker-rojo-16.png create mode 100644 B4A/Files/marker-rojo-17.png create mode 100644 B4A/Files/marker-rojo-18.png create mode 100644 B4A/Files/marker-rojo-19.png create mode 100644 B4A/Files/marker-rojo-2.png create mode 100644 B4A/Files/marker-rojo-20.png create mode 100644 B4A/Files/marker-rojo-21.png create mode 100644 B4A/Files/marker-rojo-22.png create mode 100644 B4A/Files/marker-rojo-23.png create mode 100644 B4A/Files/marker-rojo-24.png create mode 100644 B4A/Files/marker-rojo-25.png create mode 100644 B4A/Files/marker-rojo-26.png create mode 100644 B4A/Files/marker-rojo-27.png create mode 100644 B4A/Files/marker-rojo-28.png create mode 100644 B4A/Files/marker-rojo-29.png create mode 100644 B4A/Files/marker-rojo-3.png create mode 100644 B4A/Files/marker-rojo-30.png create mode 100644 B4A/Files/marker-rojo-31.png create mode 100644 B4A/Files/marker-rojo-32.png create mode 100644 B4A/Files/marker-rojo-33.png create mode 100644 B4A/Files/marker-rojo-34.png create mode 100644 B4A/Files/marker-rojo-35.png create mode 100644 B4A/Files/marker-rojo-36.png create mode 100644 B4A/Files/marker-rojo-37.png create mode 100644 B4A/Files/marker-rojo-38.png create mode 100644 B4A/Files/marker-rojo-39.png create mode 100644 B4A/Files/marker-rojo-4.png create mode 100644 B4A/Files/marker-rojo-40.png create mode 100644 B4A/Files/marker-rojo-41.png create mode 100644 B4A/Files/marker-rojo-42.png create mode 100644 B4A/Files/marker-rojo-43.png create mode 100644 B4A/Files/marker-rojo-44.png create mode 100644 B4A/Files/marker-rojo-45.png create mode 100644 B4A/Files/marker-rojo-46.png create mode 100644 B4A/Files/marker-rojo-47.png create mode 100644 B4A/Files/marker-rojo-48.png create mode 100644 B4A/Files/marker-rojo-49.png create mode 100644 B4A/Files/marker-rojo-5.png create mode 100644 B4A/Files/marker-rojo-50.png create mode 100644 B4A/Files/marker-rojo-51.png create mode 100644 B4A/Files/marker-rojo-52.png create mode 100644 B4A/Files/marker-rojo-53.png create mode 100644 B4A/Files/marker-rojo-54.png create mode 100644 B4A/Files/marker-rojo-55.png create mode 100644 B4A/Files/marker-rojo-56.png create mode 100644 B4A/Files/marker-rojo-57.png create mode 100644 B4A/Files/marker-rojo-58.png create mode 100644 B4A/Files/marker-rojo-59.png create mode 100644 B4A/Files/marker-rojo-6.png create mode 100644 B4A/Files/marker-rojo-60.png create mode 100644 B4A/Files/marker-rojo-61.png create mode 100644 B4A/Files/marker-rojo-62.png create mode 100644 B4A/Files/marker-rojo-63.png create mode 100644 B4A/Files/marker-rojo-64.png create mode 100644 B4A/Files/marker-rojo-65.png create mode 100644 B4A/Files/marker-rojo-66.png create mode 100644 B4A/Files/marker-rojo-67.png create mode 100644 B4A/Files/marker-rojo-68.png create mode 100644 B4A/Files/marker-rojo-69.png create mode 100644 B4A/Files/marker-rojo-7.png create mode 100644 B4A/Files/marker-rojo-70.png create mode 100644 B4A/Files/marker-rojo-71.png create mode 100644 B4A/Files/marker-rojo-72.png create mode 100644 B4A/Files/marker-rojo-73.png create mode 100644 B4A/Files/marker-rojo-74.png create mode 100644 B4A/Files/marker-rojo-75.png create mode 100644 B4A/Files/marker-rojo-76.png create mode 100644 B4A/Files/marker-rojo-77.png create mode 100644 B4A/Files/marker-rojo-78.png create mode 100644 B4A/Files/marker-rojo-79.png create mode 100644 B4A/Files/marker-rojo-8.png create mode 100644 B4A/Files/marker-rojo-80.png create mode 100644 B4A/Files/marker-rojo-81.png create mode 100644 B4A/Files/marker-rojo-82.png create mode 100644 B4A/Files/marker-rojo-83.png create mode 100644 B4A/Files/marker-rojo-84.png create mode 100644 B4A/Files/marker-rojo-85.png create mode 100644 B4A/Files/marker-rojo-86.png create mode 100644 B4A/Files/marker-rojo-87.png create mode 100644 B4A/Files/marker-rojo-88.png create mode 100644 B4A/Files/marker-rojo-89.png create mode 100644 B4A/Files/marker-rojo-9.png create mode 100644 B4A/Files/marker-rojo-90.png create mode 100644 B4A/Files/marker-rojo-91.png create mode 100644 B4A/Files/marker-rojo-92.png create mode 100644 B4A/Files/marker-rojo-93.png create mode 100644 B4A/Files/marker-rojo-94.png create mode 100644 B4A/Files/marker-rojo-95.png create mode 100644 B4A/Files/marker-rojo-96.png create mode 100644 B4A/Files/marker-rojo-97.png create mode 100644 B4A/Files/marker-rojo-98.png create mode 100644 B4A/Files/marker-rojo-99.png create mode 100644 B4A/Files/marker-verde-0.png create mode 100644 B4A/Files/marker-verde-1.png create mode 100644 B4A/Files/marker-verde-10.png create mode 100644 B4A/Files/marker-verde-100.png create mode 100644 B4A/Files/marker-verde-11.png create mode 100644 B4A/Files/marker-verde-12.png create mode 100644 B4A/Files/marker-verde-13.png create mode 100644 B4A/Files/marker-verde-14.png create mode 100644 B4A/Files/marker-verde-15.png create mode 100644 B4A/Files/marker-verde-16.png create mode 100644 B4A/Files/marker-verde-17.png create mode 100644 B4A/Files/marker-verde-18.png create mode 100644 B4A/Files/marker-verde-19.png create mode 100644 B4A/Files/marker-verde-2.png create mode 100644 B4A/Files/marker-verde-20.png create mode 100644 B4A/Files/marker-verde-21.png create mode 100644 B4A/Files/marker-verde-22.png create mode 100644 B4A/Files/marker-verde-23.png create mode 100644 B4A/Files/marker-verde-24.png create mode 100644 B4A/Files/marker-verde-25.png create mode 100644 B4A/Files/marker-verde-26.png create mode 100644 B4A/Files/marker-verde-27.png create mode 100644 B4A/Files/marker-verde-28.png create mode 100644 B4A/Files/marker-verde-29.png create mode 100644 B4A/Files/marker-verde-3.png create mode 100644 B4A/Files/marker-verde-30.png create mode 100644 B4A/Files/marker-verde-31.png create mode 100644 B4A/Files/marker-verde-32.png create mode 100644 B4A/Files/marker-verde-33.png create mode 100644 B4A/Files/marker-verde-34.png create mode 100644 B4A/Files/marker-verde-35.png create mode 100644 B4A/Files/marker-verde-36.png create mode 100644 B4A/Files/marker-verde-37.png create mode 100644 B4A/Files/marker-verde-38.png create mode 100644 B4A/Files/marker-verde-39.png create mode 100644 B4A/Files/marker-verde-4.png create mode 100644 B4A/Files/marker-verde-40.png create mode 100644 B4A/Files/marker-verde-41.png create mode 100644 B4A/Files/marker-verde-42.png create mode 100644 B4A/Files/marker-verde-43.png create mode 100644 B4A/Files/marker-verde-44.png create mode 100644 B4A/Files/marker-verde-45.png create mode 100644 B4A/Files/marker-verde-46.png create mode 100644 B4A/Files/marker-verde-47.png create mode 100644 B4A/Files/marker-verde-48.png create mode 100644 B4A/Files/marker-verde-49.png create mode 100644 B4A/Files/marker-verde-5.png create mode 100644 B4A/Files/marker-verde-50.png create mode 100644 B4A/Files/marker-verde-51.png create mode 100644 B4A/Files/marker-verde-52.png create mode 100644 B4A/Files/marker-verde-53.png create mode 100644 B4A/Files/marker-verde-54.png create mode 100644 B4A/Files/marker-verde-55.png create mode 100644 B4A/Files/marker-verde-56.png create mode 100644 B4A/Files/marker-verde-57.png create mode 100644 B4A/Files/marker-verde-58.png create mode 100644 B4A/Files/marker-verde-59.png create mode 100644 B4A/Files/marker-verde-6.png create mode 100644 B4A/Files/marker-verde-60.png create mode 100644 B4A/Files/marker-verde-61.png create mode 100644 B4A/Files/marker-verde-62.png create mode 100644 B4A/Files/marker-verde-63.png create mode 100644 B4A/Files/marker-verde-64.png create mode 100644 B4A/Files/marker-verde-65.png create mode 100644 B4A/Files/marker-verde-66.png create mode 100644 B4A/Files/marker-verde-67.png create mode 100644 B4A/Files/marker-verde-68.png create mode 100644 B4A/Files/marker-verde-69.png create mode 100644 B4A/Files/marker-verde-7.png create mode 100644 B4A/Files/marker-verde-70.png create mode 100644 B4A/Files/marker-verde-71.png create mode 100644 B4A/Files/marker-verde-72.png create mode 100644 B4A/Files/marker-verde-73.png create mode 100644 B4A/Files/marker-verde-74.png create mode 100644 B4A/Files/marker-verde-75.png create mode 100644 B4A/Files/marker-verde-76.png create mode 100644 B4A/Files/marker-verde-77.png create mode 100644 B4A/Files/marker-verde-78.png create mode 100644 B4A/Files/marker-verde-79.png create mode 100644 B4A/Files/marker-verde-8.png create mode 100644 B4A/Files/marker-verde-80.png create mode 100644 B4A/Files/marker-verde-81.png create mode 100644 B4A/Files/marker-verde-82.png create mode 100644 B4A/Files/marker-verde-83.png create mode 100644 B4A/Files/marker-verde-84.png create mode 100644 B4A/Files/marker-verde-85.png create mode 100644 B4A/Files/marker-verde-86.png create mode 100644 B4A/Files/marker-verde-87.png create mode 100644 B4A/Files/marker-verde-88.png create mode 100644 B4A/Files/marker-verde-89.png create mode 100644 B4A/Files/marker-verde-9.png create mode 100644 B4A/Files/marker-verde-90.png create mode 100644 B4A/Files/marker-verde-91.png create mode 100644 B4A/Files/marker-verde-92.png create mode 100644 B4A/Files/marker-verde-93.png create mode 100644 B4A/Files/marker-verde-94.png create mode 100644 B4A/Files/marker-verde-95.png create mode 100644 B4A/Files/marker-verde-96.png create mode 100644 B4A/Files/marker-verde-97.png create mode 100644 B4A/Files/marker-verde-98.png create mode 100644 B4A/Files/marker-verde-99.png create mode 100644 B4A/Files/nota.bal create mode 100644 B4A/Files/noventa.bal create mode 100644 B4A/Files/nuevocliente.bal create mode 100644 B4A/Files/palomita_verde.png create mode 100644 B4A/Files/palomita_verde_original.png create mode 100644 B4A/Files/pedido.bal create mode 100644 B4A/Files/pedidoitem.bal create mode 100644 B4A/Files/planfia_logo.png create mode 100644 B4A/Files/planfia_logo_old.png create mode 100644 B4A/Files/planfia_logo_old2.png create mode 100644 B4A/Files/principal.bal create mode 100644 B4A/Files/proditem.bal create mode 100644 B4A/Files/productos.bal create mode 100644 B4A/Files/productos2.bal create mode 100644 B4A/Files/profina.jpg create mode 100644 B4A/Files/profina.png create mode 100644 B4A/Files/promociones.bal create mode 100644 B4A/Files/qr.bal create mode 100644 B4A/Files/rechazo.jpg create mode 100644 B4A/Files/rojo.png create mode 100644 B4A/Files/salma.jpg create mode 100644 B4A/Files/salma.png create mode 100644 B4A/Files/senial.jpg create mode 100644 B4A/Files/sync.png create mode 100644 B4A/Files/tache_rojo.png create mode 100644 B4A/Files/tache_rojo_original.png create mode 100644 B4A/Files/telefonos.bal create mode 100644 B4A/Files/ticketsdia.bal create mode 100644 B4A/Files/tiendita.jpg create mode 100644 B4A/Files/transporte.png create mode 100644 B4A/Files/verde.png create mode 100644 B4A/Files/vista1.png create mode 100644 B4A/Files/vista2.png create mode 100644 B4A/Files/vista3.png create mode 100644 B4A/Files/vista4.png create mode 100644 B4A/Files/whatsapp image 2022-11-17 at 11.50.59 am.jpg create mode 100644 B4A/Files/whatsapp.png create mode 100644 B4A/Files/whatsapp_original.png create mode 100644 B4A/Files/whatstel.png create mode 100644 B4A/HttpUtils2Service.bas create mode 100644 B4A/KelloggsV4.b4a create mode 100644 B4A/MAPA_RUTAS.bas create mode 100644 B4A/Mods.bas create mode 100644 B4A/SD_Spinner.bas create mode 100644 B4A/Starter.bas create mode 100644 B4A/Subs.bas create mode 100644 B4A/Tracker.bas create mode 100644 B4A/errorManager.bas create mode 100644 B4A/foto.bas create mode 100644 B4J/Files/MainPage.bjl create mode 100644 B4J/Kelloggs V3.b4j create mode 100644 B4i/Files/mainpage.bil create mode 100644 B4i/Kelloggs V3.b4i create mode 100644 gitpull.bat diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..618d244 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +**/Objects +**/AutoBackups +*.meta \ No newline at end of file diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas new file mode 100644 index 0000000..6cc642e --- /dev/null +++ b/B4A/B4XMainPage.bas @@ -0,0 +1,622 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=9.85 +@EndOfDesignText@ +#Region Shared Files +#CustomBuildAction: folders ready, %WINDIR%\System32\Robocopy.exe,"..\..\Shared Files" "..\Files" +'Ctrl + click to sync files: ide://run?file=%WINDIR%\System32\Robocopy.exe&args=..\..\Shared+Files&args=..\Files&FilesSync=True +'Ctrl + click to export as zip: ide://run?File=%B4X%\Zipper.jar&Args=Project.zip +'########################################################################################################### +'###################### PULL ############################################################# +'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=..\..\gitpull.bat +'########################################################################################################### +'###################### PUSH ############################################################# +'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=github&Args=..\..\ +'########################################################################################################### +#End Region + + +Sub Class_Globals + Private Root As B4XView + Private xui As XUI + Public login As B4XMainPage + Public principal As C_Principal + Public clientes As C_Clientes + Public cliente As C_Cliente + Public productos As C_Productos + Public updateAvailable As C_updateAvailable + Public mapas As C_Mapas + Public nuevoCliente As C_NuevoCliente + Public ticketsDia As C_TicketsDia + Public noVenta As C_NoVenta + Public nota As C_Nota + Public pedidos As C_Pedidos + Public promos As C_Promos + Public historico As C_Historico + Public checklist As C_CheckList + + Dim reqManager As DBRequestManager + Dim ultimaActualizacionGPS As String = 235959 + Dim almacen, ruta As String + Dim user As EditText + Dim pass As EditText + Dim c As Cursor + Dim D As Cursor + Dim existe As String + Dim paso1 As String + Dim IMEI As String + Dim alterno As String + Private b_menu As Button +' Dim PopupMenu As RSPopupMenu + Dim cmd As DBCommand + + Private IMEN As EditText + Private Entrar As Button + Private Panel1 As Panel + Private ImageView4 As ImageView + Private E_SERVER As EditText + Private B_SERVER As Button + Private B_FECHA As Button + Private CUANTOS As String + Private foto_g () As Byte + + Private ListView1 As ListView + Private ImageView1 As ImageView + Private Label1 As Label + Private B_BorrarFinDia As Button + Private b_fdCancelar As Button + Private b_findiaOk As Button + Private p_finDia As Panel + Private et_autSup As EditText + + 'prueba downloadfile + Dim ProgressBar1 As ProgressBar + Dim Label1 As Label + Dim btnDownload As Button + Dim btnCancel As Button + Private p_download As Panel + Private Label6 As Label + Dim logger As Boolean = True + + Dim lat_gps, lon_gps As String + Dim tipo_venta As String + Dim bTerminarClicked As Boolean = False + Private lv_server As ListView + Private l_server As Label + Public rutaBDBackup As String = "" + Private b_envioBD As Button +End Sub + +Public Sub Initialize + B4XPages.GetManager.LogEvents = True + #if not(DEBUG) + Starter.logger = False + #end if +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + If Not(Starter.Logger) Then logger = False + Root = Root1 +' Root.LoadLayout("MainPage") + Root.LoadLayout("login") + B4XPages.SetTitle(Me, "Kelloggs Preventa") + login.Initialize + B4XPages.AddPage("Login", login) + principal.Initialize + B4XPages.AddPage("Principal", principal) + clientes.Initialize + B4XPages.AddPage("Clientes", clientes) + cliente.Initialize + B4XPages.AddPageAndCreate("Cliente", cliente) + productos.Initialize + B4XPages.AddPage("Productos", productos) + updateAvailable.Initialize + B4XPages.AddPage("updateAvailable", updateAvailable) + mapas.Initialize + B4XPages.AddPage("Mapas", mapas) + nuevoCliente.Initialize + B4XPages.AddPageAndCreate("NuevoCliente", nuevoCliente) + ticketsDia.Initialize + B4XPages.AddPage("TicketsDia", ticketsDia) + noVenta.Initialize + B4XPages.AddPage("NoVenta", noVenta) + nota.Initialize + B4XPages.AddPage("Nota", nota) + pedidos.Initialize + B4XPages.AddPage("Pedidos", pedidos) + promos.Initialize + B4XPages.AddPage("Promos", promos) + historico.Initialize + B4XPages.AddPage("Historico", historico) + checklist.Initialize + B4XPages.AddPage("CheckList", checklist) + ruta = Starter.ruta + ruta = File.DirInternal + Starter.tiempos.Initialize + Dim sDate, sTime As String + DateTime.DateFormat = "yyyyMMdd" + sDate=DateTime.Date(DateTime.Now) + Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS PEDIDO3") + Starter.skmt.ExecNonQuery("CREATE TABLE PEDIDO3 (PE_PRECIO2 TEXT,PE_TIPO TEXT,PE_FOLIO NUMERIC,PE_DESC NUMERIC,PE_COSTO_SIN TEXT,PE_RUTA TEXT,PE_CEDIS TEXT,PE_COSTO_TOT NUMERIC,PE_COSTOU NUMERIC,PE_CANT NUMERIC,PE_PRONOMBRE TEXT,PE_PROID TEXT,PE_CLIENTE TEXT,PE_FECHA TEXT,PE_USUARIO TEXT)") + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS DESC_CLIENTES (DC_CL_CLIENTE TEXT, CAT_CL_DESCUENTO_SS TEXT, CAT_CL_DESCUENTO_RTEC TEXT, CAT_CL_DESCUENTO_PING TEXT, CAT_CL_TIPOCLIENTE TEXT)") + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_ENCUESTA (HE_CLIE TEXT, HE_RES TEXT, HE_FECHA TEXT, HE_TIPO TEXT)") + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_DESCUENTOS_SKU (CAT_DS_CLIENTE TEXT, CAT_DS_PRODID TEXT, CAT_DS_PORCENTAJE TEXT)") + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_ENVIOS (HE_FECHA TEXT, HE_CUANTOS TEXT, HE_TIPO TEXT)") + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_ENCUESTA_PREGUNTA (CAT_EP_ID TEXT,CAT_EP_IDTIPOPREGUNTA TEXT,CAT_CE_DESCRIPCION TEXT,CAT_EP_PREGUNTA TEXT,CAT_EP_RES1_PRED TEXT,CAT_EP_RES2_PRED TEXT,CAT_EP_RES3_PRED TEXT,CAT_EP_ORDEN_PREGUNTA TEXT)") + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_FOTOS (HF_FOTO BLOB, HF_CUENTA TEXT, HF_IDENCUESTA TEXT)") + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CLIENTE_IMPRESO (CI_CUENTA TEXT)") + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_PROMO_MONTO (CPM_IDPROMO TEXT, CPM_MONTO TEXT, CPM_PROID TEXT, CPM_CLIENTE TEXT, CPM_CANT TEXT, CPM_RANGO TEXT, CPM_DESC TEXT)") + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENVIOS VALUES (?,0,?)", Array As Object(sTime, "PEDIDO")) + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_EXHIBIDORES2 (HIST_EX_ID_CLIENTE TEXT, HIST_EX_TIPO TEXT, HIST_EX_CANT TEXT)") + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_PROMO_WHATS(HIST_CLIENTE TEXT, HIST_RESPUESTA_PROMO)") + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_RMI(CAT_GP_ID TEXT,CAT_GP_NOMBRE TEXT,CAT_GP_PRECIO TEXT)") + + ''' PARA LO DE DOE--- + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_GUNAPROD_DOE (CAT_GP_ID TEXT,CAT_GP_NOMBRE TEXT,CAT_GP_IMP1 TEXT,CAT_GP_IMP2 TEXT,CAT_GP_PRECIO TEXT,CAT_GP_CLASIF TEXT,CAT_GP_STS TEXT,CAT_GP_TIPO TEXT,CAT_GP_SUBTIPO TEXT,CAT_GP_IMG TEXT,CAT_GP_ALMACEN TEXT,CAT_GP_TIPOPROD TEXT,CAT_GP_INICIATIVA TEXT,CAT_GP_DEV TEXT,CAT_GP_CODPROMO TEXT)") + Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PEDIDO_DOE (PE_PRECIO2 TEXT,PE_TIPO TEXT,PE_FOLIO NUMERIC,PE_DESC NUMERIC,PE_COSTO_SIN TEXT,PE_RUTA TEXT,PE_CEDIS TEXT,PE_COSTO_TOT NUMERIC,PE_COSTOU NUMERIC,PE_CANT NUMERIC,PE_PRONOMBRE TEXT,PE_PROID TEXT,PE_CLIENTE TEXT,PE_FECHA TEXT,PE_USUARIO TEXT)") + ''' FIN DOE + + Try 'Intentamos usar "pragma_table_info" para revisar si existe la columna "IMPRESION" en la tabla + c=Starter.skmt.ExecQuery("SELECT COUNT(*) AS fCol FROM pragma_table_info('kmt_info') WHERE name='IMPRESION'") + c.Position = 0 + If c.GetString("fCol") = 0 Then 'Si no esta la columna FECHA la agregamos + Starter.skmt.ExecNonQuery("ALTER TABLE kmt_info ADD COLUMN IMPRESION INTEGER") + End If + Catch 'Si no funciona "pragma_table_info" lo hacemos con try/catch + Try + Starter.skmt.ExecNonQuery("ALTER TABLE kmt_info ADD COLUMN IMPRESION INTEGER") + Catch + Log(LastException) + End Try + End Try + Try 'Agregamos columna fecha a usuarioa + c=Starter.skmt.ExecQuery("SELECT fecha FROM usuarioa") + Catch + LogColor("Agregamos columna fecha a usuarioa", Colors.red) + Starter.skmt.ExecNonQuery("ALTER TABLE usuarioa ADD COLUMN FECHA TEXT") + End Try + If sDate = "20190523" Then + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SERVER")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SERVER", Starter.server)) + End If +' Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("ULTIMOMODULO")) +' Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("ULTIMOMODULO", "MAIN")) + c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER")) + c.Position =0 + If c.GetString("CUANTOS") = 0 Then + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SERVER",Starter.server)) + Else + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER")) + c.Position =0 + Starter.server = c.GetString("CAT_VA_VALOR") + reqManager.Initialize(Me, Starter.server) + End If + reqManager.Initialize(Me, Starter.server) +' Activity.LoadLayout("login") + Label1.Text = Application.VersionName + Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE) + Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean) + If Result Then Log("Tenemos permisos de escritura externa.") + c=Starter.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS FROM TMP_INSPECCION_AUTO_DIARIA") + c.Position = 0 + CUANTOS = c.GetString("CUANTOS") + c.Close + If CUANTOS = 0 Then + Dim theDir As String + If File.IsDirectory("/","kmts") Then + theDir = "/kmts" + End If + Try + File.MakeDir(File.DirInternal,"kmts") + theDir = "/kmts" + Catch + theDir = "" + End Try + Try + foto_g = Bit.InputStreamToBytes(File.OpenInput(File.DirAssets, "vista1.png")) + Dim SALIDA As OutputStream + SALIDA = File. OpenOutput (File.DirInternal&theDir, "FOTO1.jpg", False) + SALIDA.WriteBytes(foto_g, 0, foto_g.Length) + SALIDA.Close +' If Logger Then LogColor("** ** Creamos FOTO1.jpg en "&File.DirInternal, Colors.Blue) + Catch + Msgbox("No se puede crear el archivo de foto","Aviso") 'ignore + End Try + Try + foto_g = Bit.InputStreamToBytes(File.OpenInput(File.DirAssets, "vista3.png")) + Dim SALIDA As OutputStream + SALIDA = File. OpenOutput (File.DirInternal&theDir, "FOTO2.jpg", False) + SALIDA.WriteBytes(foto_g, 0, foto_g.Length) + SALIDA.Close + Catch + Msgbox("No se puede crear el archivo de foto","Aviso") 'ignore + End Try + Try + foto_g = Bit.InputStreamToBytes(File.OpenInput(File.DirAssets, "vista2.png")) + Dim SALIDA As OutputStream + SALIDA = File. OpenOutput (File.DirInternal&theDir, "FOTO3.jpg", False) + SALIDA.WriteBytes(foto_g, 0, foto_g.Length) + SALIDA.Close + Catch + Msgbox("No se puede crear el archivo de foto","Aviso") 'ignore + End Try + Try + foto_g = Bit.InputStreamToBytes(File.OpenInput(File.DirAssets, "vista4.png")) + Dim SALIDA As OutputStream + SALIDA = File. OpenOutput (File.DirInternal&theDir, "FOTO4.jpg", False) + SALIDA.WriteBytes(foto_g, 0, foto_g.Length) + SALIDA.Close + Catch + Msgbox("No se puede crear el archivo de foto","Aviso") 'ignore + End Try + End If +' Dim ph As Phone 'Get Id Device + Dim DeviceID As String = Starter.ph.GetSettings("android_id").ToUpperCase + If logger Then Log($"Marca: ${Starter.ph.manufacturer}, Modelo: ${Starter.ph.model}"$) + If logger Then LogColor($"////////////////// DeviceID: ${DeviceID} ////////////////// "$, Colors.Blue) +' If Logger Then LogColor("Revisa permisos Phone_State", Colors.Green) + Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_READ_PHONE_STATE) + Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean) + If Result Then + Dim Phn As PhoneId + IMEN.Text = "" 'Phn.GetDeviceId + IMEI ="" ' Phn.GetDeviceId + If logger Then LogColor($"////////////////// IMEI: ${IMEI} ////////////////// "$, Colors.Blue) + End If + 'este codigo es para lo del menu +' PopupMenu.Initialize("PopupMenu", b_menu) +' PopupMenu.AddMenuItem(0, 0, "View") +' PopupMenu.AddMenuItem(1, 1, "Edit") +' PopupMenu.AddMenuItem(2, 2, "Details") +' PopupMenu.AddMenuItem(3, 3, "Remove") + ' menu fin + Subs.borraArribaDe100Errores +End Sub + +Sub B4XPage_Appear +' server = "http://keymon.com.mx:1782" +' server = "http://201.99.139.28:1782" +' server = "http://177.244.63.54:1782" + reqManager.Initialize(Me, Starter.server) + Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION) + Wait For B4XPAge_PermissionResult (Permission As String, Result As Boolean) + If Result Then + StartService(Tracker) + If logger Then Log("Start Tracker") + Else + ToastMessageShow("Sin permisos para GPS", True) + End If + Starter.montoActual = 0 + Starter.clientesTotal = 0 + Starter.clientesVenta = 0 + Starter.clientesVisitados = 0 + almacen = 0 + Starter.rutaPreventa = 0 + Starter.CANTIDADPROD = 0 + c.Close + c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("CODIGO")) + c.Position =0 + CUANTOS = c.GetString("CUANTOS") + c.Close + If CUANTOS > 0 Then + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("CODIGO")) + c.Position =0 + If c.GetString("CAT_VA_VALOR") = "743" Then + Entrar.Visible = True + End If + c.Close + Else + Log("INSERTAMOS CODIGO EN CAT_VARIABLES") + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("CODIGO","743")) + End If + c=Starter.skmt.ExecQuery2("select COUNT(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP")) + c.Position =0 + If c.GetString("CUANTOS") = 0 Then + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP","0")) + End If + D=Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from version") + D.Position=0 + If D.GetString("CUANTOS") > 0 Then + c=Starter.skmt.ExecQuery("select NOVERSION from version") + c.Position = 0 + If c.GetString("NOVERSION") = "2.1" Then + Starter.skmt.ExecNonQuery("delete from VERSION") + End If + c.Close + End If + D.Close + D=Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from version") + D.Position=0 + If D.GetString("CUANTOS") > 0 Then + c=Starter.skmt.ExecQuery("select NOVERSION from version") + c.Position = 0 + If c.GetString("NOVERSION") <> "2.95" Then + Msgbox("INSTALAR NUEVO APK" ,"AVISO") 'ignore + B4XPage_Appear + End If + c.Close + End If +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub Entrar_Click + DateTime.DateFormat = "yyyyMMdd" + If user.Text = "ALTERNO" Then + c=Starter.skmt.ExecQuery2("select CAT_CO_CONFIGURACION, CAT_CO_RESULTADO from CAT_CODIGOS where CAT_CO_PONDERACION =1 AND CAT_CO_ACCION = ?", Array As String("SERVER")) + c.Position =0 + Starter.server = c.GetString("CAT_CO_CONFIGURACION") + alterno = c.GetString("CAT_CO_RESULTADO") + c.Close + If alterno = 1 Then + Starter.skmt.ExecNonQuery2("UPDATE CAT_CODIGOS SET CAT_CO_PONDERACION = 1 WHERE CAT_CO_ACCION = ? AND CAT_CO_RESULTADO = 2", Array As String ("SERVER")) + Starter.skmt.ExecNonQuery2("UPDATE CAT_CODIGOS SET CAT_CO_PONDERACION = 0 WHERE CAT_CO_ACCION = ? AND CAT_CO_RESULTADO = 1", Array As String ("SERVER")) + Else if alterno = 2 Then + Starter.skmt.ExecNonQuery2("UPDATE CAT_CODIGOS SET CAT_CO_PONDERACION = 1 WHERE CAT_CO_ACCION = ? AND CAT_CO_RESULTADO = 1", Array As String ("SERVER")) + Starter.skmt.ExecNonQuery2("UPDATE CAT_CODIGOS SET CAT_CO_PONDERACION = 0 WHERE CAT_CO_ACCION = ? AND CAT_CO_RESULTADO = 2", Array As String ("SERVER")) + End If + c=Starter.skmt.ExecQuery2("select CAT_CO_CONFIGURACION, CAT_CO_RESULTADO from CAT_CODIGOS where CAT_CO_PONDERACION =1 AND CAT_CO_ACCION = ?", Array As String("SERVER")) + c.Position =0 + Starter.server = c.GetString("CAT_CO_CONFIGURACION") + user.Text = Starter.server + c.Close + reqManager.Initialize(Me, Starter.server) + else if user.Text = "KMTSKLL1" Then + Starter.skmt.ExecNonQuery("delete from usuarioa") + Starter.skmt.ExecNonQuery2("INSERT INTO USUARIOA VALUES (?,?,?)", Array As Object(user.Text, pass.Text, DateTime.Date(DateTime.Now))) + Starter.skmt.ExecNonQuery("delete from cat_almacen") + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_ALMACEN(ID_ALMACEN) VALUES (?)", Array As Object (pass.Text)) + Starter.skmt.ExecNonQuery("delete from VERSION") + Starter.skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object ("2.95")) + B4XPages.ShowPage("Principal") + End If +' c=Starter.skmt.ExecQuery2("select count(*) as EXISTE1 from usuarioa where usuario = ?", Array As String(user.Text)) + c=Starter.skmt.ExecQuery2($"select count(*) as EXISTE1 from usuarioa where usuario = ? and fecha = ${DateTime.Date(DateTime.Now)}"$, Array As String(user.Text)) + c.Position=0 + existe = c.GetString("EXISTE1") +' Log($"${existe}, ${DateTime.Date(DateTime.Now)}, ${user.Text}"$ ) + 'existe = 1 + If existe = 0 Then + 'skmt.ExecNonQuery("delete from usuarioa") + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "select_usuario_guna_KELL" + cmd.Parameters = Array As Object(user.Text, pass.Text) + reqManager.ExecuteQuery(cmd , 0, "usuario") + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "select_version_KELL" + reqManager.ExecuteQuery(cmd , 0, "version") + Else + Subs.iniciaActividad("Principal") +' B4XPages.ShowPage("Principal") + End If +End Sub + +Sub JobDone(Job As HttpJob) + If Job.Success = False Then + ToastMessageShow("Error: " & Job.ErrorMessage, True) + Else + If logger Then LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211110 + If Job.JobName = "DBRequest" Then + Dim result As DBResult = reqManager.HandleJob(Job) + If result.Tag = "version" Then 'query tag + For Each records() As Object In result.Rows + Starter.skmt.ExecNonQuery("delete from VERSION") + Dim CAT_VE_VERSION As String = records(result.Columns.Get("CAT_VE_VERSION")) + Starter.skmt.ExecNonQuery("delete from VERSION") + Starter.skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object (CAT_VE_VERSION)) + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim result As DBResult = reqManager.HandleJob(Job) + If result.Tag = "agencia" Then 'query tag + For Each records() As Object In result.Rows + Dim ID_ALMACEN As String = records(result.Columns.Get("ID_ALMACEN")) + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim result As DBResult = reqManager.HandleJob(Job) + If result.Tag = "fecha" Then 'query tag + For Each records() As Object In result.Rows + Starter.FECHA_HOY = records(result.Columns.Get("FECHA")) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FECHA")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FECHA", Starter.FECHA_HOY)) + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim result As DBResult = reqManager.HandleJob(Job) + If result.Tag = "usuario" Then 'query tag + For Each records() As Object In result.Rows + Dim name As String = records(result.Columns.Get("USUARIO")) + Dim ID_ALMACEN As String = records(result.Columns.Get("CAT_LO_AGENCIA")) + If logger Then Log(name) + ' Dim IMEI_BASE As String = records(result.Columns.Get("CAT_LO_IDTELEFONO")) + Next + paso1 = 1 + End If + End If + Job.Release + End If + + If paso1 =1 Then + If name = "OKActivo" Then + LogColor("Borramos e insertamos a usuarioa", Colors.green) + DateTime.DateFormat = "yyyyMMdd" + Starter.skmt.ExecNonQuery("delete from usuarioa") + Starter.skmt.ExecNonQuery2("INSERT INTO USUARIOA VALUES (?,?,?)", Array As Object(user.Text, pass.Text, DateTime.Date(DateTime.Now))) + Starter.skmt.ExecNonQuery("delete from cat_almacen") + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_ALMACEN(ID_ALMACEN) VALUES (?)", Array As Object (ID_ALMACEN)) + almacen = ID_ALMACEN + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("NUMERO_PEDIDO")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("NUMERO_PEDIDO",0)) +' B4XPages.ShowPage("Principal") + Subs.iniciaActividad("principal") + Else If name = "OKExpirado" Then + Msgbox("Usuario Expirado llamar al administrador","") 'ignore + Else If name = "OKCancelado" Then + Msgbox("Usuario Cancelado llamar al administrador","") 'ignore + Else + Msgbox("Usuario o password No validos","") 'ignore + End If + paso1 = 0 + End If +End Sub + +Private Sub B4XPage_CloseRequest As ResumableSub + ' BACK key pressed + 'Return True to close, False to cancel + Log("BACK") + If Panel1.Visible Then + Panel1.Visible = False + Entrar.Visible = True + Return True + Else + If logger Then Log("Saliendo") + B4XPages.ClosePage(Me) + Subs.cierraActividades + Return True + End If +End Sub + +Sub GPS_LocationChanged (Location1 As Location) + If user.text = "GPS" Then + user.Text=Location1.Latitude + pass.text=Location1.Longitude + End If +End Sub + +Sub PopupMenu_Dismiss + ToastMessageShow("PopupMenu dismissed", False) +End Sub + +Sub PopupMenu_MenuItemClick (ItemId As Int) As Boolean + ToastMessageShow("Item " & ItemId & " clicked.", False) + Return False +End Sub + +Sub b_menu_Click +' PopupMenu.Show +End Sub + +Sub IMEN_EnterPressed + +End Sub + +Sub user_EnterPressed + If user.Text = "CODIGO" Then + IMEN.Visible = True + user.Text = "" + End If + DateTime.DateFormat = "yyyyMMdd" + c=Starter.skmt.ExecQuery2($"select count(*) as EXISTE1 from usuarioa where usuario = ? and fecha = ${DateTime.Date(DateTime.Now)}"$, Array As String(user.Text)) + c.Position=0 + existe = c.GetString("EXISTE1") + If existe = 1 Then Subs.iniciaActividad("Principal") +End Sub + +Sub ImageView4_Click + Entrar.Visible = False +' Starter.server = "http://201.99.139.28:1782" +' Starter.server = "http://177.244.63.54:1782" +' Starter.server = "http://keymon.com.mx:1782" + ListView1.Clear + Dim Label1 As Label + Label1 = ListView1.SingleLineLayout.Label + Label1.TextSize = 20 + Label1.TextColor = Colors.Black + If user.Text = "KMTS1" Then ListView1.AddSingleLine("http://10.0.0.205:1782") + ListView1.AddSingleLine("http://keymon.lat:1782") + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER")) + c.Position =0 + E_SERVER.text = c.GetString("CAT_VA_VALOR") + Panel1.Visible = True + Panel1.Width = Root.Width * 0.95 + Panel1.Left = (Root.Width/2) - (Panel1.Width/2) + Panel1.Top = (Root.Height/2) - (Panel1.Height/2) + Panel1.Elevation = 100 + Panel1.BringToFront +End Sub + +Private Sub ImageView4_LongClick + Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE) + Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean) + Subs.copiaDB(Result) +End Sub + +Sub B_SERVER_Click + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SERVER")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SERVER",E_SERVER.text)) + Starter.server = E_SERVER.text + If logger Then Log("Inicializamos reqManager con " & Starter.server) + reqManager.Initialize(Me, Starter.server) + CallSubDelayed(Starter, "reinicializaReqManager") + Panel1.Visible = False + Entrar.Visible = True +End Sub + +Sub B_FECHA_Click + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("MACIMP")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP","0")) + Panel1.Visible = False +End Sub + +Sub ListView1_ItemClick (Position As Int, Value As Object) + E_SERVER.text = Value +End Sub + +Sub ImageView1_Click + +End Sub + +Sub B_BorrarFinDia_Click + p_finDia.Visible = True + p_finDia.BringToFront +End Sub + +Sub b_fdCancelar_Click + p_finDia.Visible = False + p_finDia.SendToBack +End Sub + +Sub b_findiaOk_Click + c=Starter.skmt.ExecQuery2("select count(*) as passOk from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ? and CAT_VA_VALOR = ?", Array As String ("FINDIA_PASS", et_autSup.Text)) + c.Position =0 + If c.GetString("passOk") = 1 Or et_autSup.Text = "FinDiaAutOk" Then + Starter.skmt.ExecNonQuery("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'FINDIA_FECHA'") + ToastMessageShow("Ya se puede hacer FIN DIA!!", True) + p_finDia.Visible = False + p_finDia.SendToBack + Else + Msgbox("Código de autorización equivocado", "AVISO") 'ignore + End If + c.Close +End Sub + +'Enviamos la base de datos por correo +Private Sub b_envioBD_Click + Public Provider As FileProvider + Provider.Initialize + Dim FileName As String = "kmt.db" + Log("************* : "&Provider.SharedFolder) + Sleep(1000) + 'Copy the shared file to the shared folder + File.Copy(File.DirInternal, FileName, Provider.SharedFolder, FileName) + Dim email As Email + email.To.Add("soporte@keymonsoft.com") + email.Subject = "Envío base de datos de ruta con problemas." + email.Attachments.Add(Provider.GetFileUri(FileName)) +' email.Attachments.Add(Provider.GetFileUri(FileName)) 'second attachment + Dim in As Intent = email.GetIntent + in.Flags = 1 'FLAG_GRANT_READ_URI_PERMISSION + StartActivity(in) +End Sub diff --git a/B4A/C_Calculadora.bas b/B4A/C_Calculadora.bas new file mode 100644 index 0000000..b9774e4 --- /dev/null +++ b/B4A/C_Calculadora.bas @@ -0,0 +1,710 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + '--***---- BOLETA DE LIQUIDACION + Private P_BOLETA As Panel + '------ BILLETES + Private LBL_TMIL As Label + Private LBL_TQUIN As Label + Private LBL_TDOS As Label + Private LBL_TCIEN As Label + Private LBL_TCIN As Label + Private LBL_TVEIN As Label + Private LBL_MIL As Label + Private LBL_QUIN As Label + Private LBL_DOSC As Label + Private LBL_CIEN As Label + Private LBL_CINCUEN As Label + Private LBL_VEINTE As Label + Private EDT_CANVEIN As EditText + Private EDT_CANCIN As EditText + Private EDT_CANCIEN As EditText + Private EDT_CANDOS As EditText + Private EDT_CANQUIN As EditText + Private EDT_CANMIL As EditText + Private Btn_TOTALBILLETE As Button + Private Pnl_Billete As Panel + Private Pnl_Moneda As Panel + Private L_CALCULA_BILLE As Label + '------ BOTONES MAS Y MENOS + Private B_MENMIL As Button + Private B_SUMIL As Button + Private B_MENQUI As Button + Private B_SUQUI As Button + Private B_MENDOS As Button + Private B_SUDOS As Button + Private B_MENCIE As Button + Private B_SUCIEN As Button + Private B_MENCIN As Button + Private B_SUCIN As Button + Private B_MENVEI As Button + Private B_SUVEI As Button + '------ MONEDAS + Private L_DIEZ As Label + Private L_CINCO As Label + Private L_DOS As Label + Private L_UNO As Label + Private L_CENTAVO As Label + Private LBL_TDIEZ As Label + Private LBL_TCI As Label + Private LBL_TDO As Label + Private LBL_TUN As Label + Private LBL_TCEN As Label + Private EDT_CANCEN As EditText + Private EDT_CANUN As EditText + Private EDT_CANDO As EditText + Private EDT_CANCI As EditText + Private EDT_CANDIEZ As EditText + Private L_CALCULA_MONEDA As Label + Private B_TOTALMONEDA As Button + '------ BOTONES MAS Y MENOS + Private B_MENCENT As Button + Private B_MENUN As Button + Private B_MENDO As Button + Private B_MENCI As Button + Private B_MENDIEZ As Button + Private B_SUMDIEZ As Button + Private B_SUMCIN As Button + Private B_SUMDO As Button + Private B_SUMUN As Button + Private B_SUMCENT As Button + '------ SUMA TOTALES + Private B_AGREGAMONE As Button + Private B_AGREGABILL As Button + Private TOTALES As Label + Private B_SUM_TOTAL As Button + Private TOTALBILLETES As Button + Private TOTALMONEDA As Button + Private PNL_TOTALES As Panel + Private LBL_RETURN As Label + Private IMG_IMPRESORA As Label + Private LBL_REGRESA As Label + '--***---- FIN BOLETA +' Private P_INF_GENERAL As Panel + Private B_Regresar As Button +' Private ABORDO As String + Private a_inicial As String + Private a_total As String + Private a_venta As String + Private a_final As String + Private a_VENTA_F As String + Private a_inicial_5 As String + Private L_INVA As ListView + Private B_IMP_INV As Button + Private B_CERRAR_I As Button + Private Panel_INV_A As Panel + Private LBL_TVEINTE As Label + Private B_SUMVEINTE As Button + Private EDT_CANVEINTE As EditText + Private B_MENVEINTE As Button + Private L_VEINTE As Label + Dim RutaBoleta As String + Dim Id_Almacen As String + Dim cursorBoleta As Cursor + Private Bt_GuardarBoleta As Button + Private CUANTOS1 As String + Private Panel9 As Panel + Private t_tenc As Label + Private E_RES_E As EditText + Private B_E_NEXT As Button + Private Label26 As Label + Private l_chk_e As Label + Private Chk_1 As CheckBox + Private chk_2 As CheckBox + Private chk_3 As CheckBox + Private b_chk_e As Button + Private Panel10 As Panel + Private chk_1_valor As String + Private chk_2_valor As String + Private chk_3_valor As String + Private p_encuesta As Panel + Private b_encuesta_1 As Button + Private b_encuesta_2 As Button + Private b_encuesta_3 As Button + Private l_titEncuesta As Label + Private l_txtEncuesta As Label + Private encuestaRes As String + Private botonPresionado As Int + Private B_IMP2 As Button + Dim impresoraConectada As Boolean = False + Private l_categoria2 As Label + Private l_exhibidor2 As Label + Private p_exhibidores As Panel + Private Button1 As Button + Private b_exhibidor As Button + Private l_exhibidores3 As Label + Private l_segmento2 As Label + Private et_encuesta As EditText + Private b_encuesta_continuar As Button + Dim muestraBoleta As Boolean = False + Private Panel4 As Panel + + Private Edt_FH As EditText +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root + Root.LoadLayout("calculadora") +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub LLAMA_BOLETA + '' FECHA DE TELEFONO + DateTime.DateFormat="dd/MM/yyyy" + Edt_FH.Text=DateTime.Date(DateTime.Now) + Subs.panelAnchoAlto(PNL_TOTALES, Root.Width, Root.Height) + PNL_TOTALES.Visible=True + Pnl_Billete.Visible=True + Pnl_Moneda.visible=True + LBL_RETURN.Visible=False + LBL_REGRESA.Visible=False + P_BOLETA.Visible=True +' P_INF_GENERAL.Visible=False + LBL_REGRESA.Visible=True + Private c As Cursor = Starter.skmt.ExecQuery("select * from TMP_CAT_BILLETE join TMP_CAT_MONEDAS") + If c.RowCount > 0 Then + c.Position = 0 + Log("==================== CALCULADORA "&c.ColumnCount) +' Traemos billetes + EDT_CANMIL.Text = "0" + If IsNumber(c.GetString("TMP_BILLE_MIL")) Then EDT_CANMIL.Text = c.GetString("TMP_BILLE_MIL") + EDT_CANQUIN.Text = "0" + If c.GetString("TMP_BILLE_QUINIENTOS")<> Null Then EDT_CANQUIN.Text = c.GetString("TMP_BILLE_QUINIENTOS") + EDT_CANDOS.Text = "0" + If c.GetString("TMP_BILLE_DOSCIENTOS") <>Null Then EDT_CANDOS.Text = c.GetString("TMP_BILLE_DOSCIENTOS") + EDT_CANCIEN.Text = "0" + If c.GetString("TMP_BILLE_CIEN")<> Null Then EDT_CANCIEN.Text = c.GetString("TMP_BILLE_CIEN") + EDT_CANCIN.Text = "0" + If c.GetString("TMP_BILLE_CINCUENTA")<> Null Then EDT_CANCIN.Text = c.GetString("TMP_BILLE_CINCUENTA") + EDT_CANVEIN.Text = "0" + If c.GetString("TMP_BILLE_VEINTE")<> Null Then EDT_CANVEIN.Text = c.GetString("TMP_BILLE_VEINTE") +' Traemos monedas + EDT_CANVEINTE.Text = "0" + If c.GetString("TMP_MON_VEINTE")<> Null Then EDT_CANVEINTE.Text = c.GetString("TMP_MON_VEINTE") + EDT_CANDIEZ.Text = "0" + If c.GetString("TMP_MON_DIEZ")<> Null Then EDT_CANDIEZ.Text = c.GetString("TMP_MON_DIEZ") + EDT_CANCI.Text = "0" + If c.GetString("TMP_MON_CINCO")<> Null Then EDT_CANCI.Text = c.GetString("TMP_MON_CINCO") + EDT_CANDO.Text = "0" + If c.GetString("TMP_MON_DOS")<> Null Then EDT_CANDO.Text = c.GetString("TMP_MON_DOS") + EDT_CANUN.Text = "0" + If c.GetString("TMP_MON_UN")<> Null Then EDT_CANUN.Text = c.GetString("TMP_MON_UN") + EDT_CANCEN.Text = "0" + If c.GetString("TMP_MON_CENTAVOS")<> Null Then EDT_CANCEN.Text = c.GetString("TMP_MON_CENTAVOS") + L_CALCULA_BILLE_CLICK + L_CALCULA_MONEDA_Click + B_SUM_TOTAL.Text = TOTALBILLETES.Text + TOTALMONEDA.text + End If + Starter.boleta = 0 + muestraBoleta = False + c.Close +End Sub + +'''BILLETES +Sub L_CALCULA_BILLE_CLICK + If EDT_CANMIL.Text="" Or EDT_CANQUIN.Text="" Or EDT_CANDOS.Text="" Or EDT_CANCIEN.Text="" Or EDT_CANCIN.Text="" Or EDT_CANVEIN.Text="" Then + Pnl_Billete.RequestFocus + Msgbox("Por favor llena todas las cantidades","") 'ignore + Else + LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text + LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text + LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text + LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text + LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text + LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +'20 +Private Sub EDT_CANVEIN_FocusChanged (HasFocus As Boolean) + If EDT_CANVEIN.Text = "" Then EDT_CANVEIN.Text = "0" + EDT_CANVEIN.Text = Round (EDT_CANVEIN.Text) + LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text +End Sub + +Sub B_SUVEI_Click + If EDT_CANVEIN.Text = "" Then + EDT_CANVEIN.Text=0 + LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text + Else + EDT_CANVEIN.Text = Round (EDT_CANVEIN.Text + 1) + LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +Sub B_MENVEI_Click + If EDT_CANVEIN.Text = "" Then + EDT_CANVEIN.Text=0 + LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text + Else IF EDT_CANVEIN.Text > 0 Then + EDT_CANVEIN.Text = Round(EDT_CANVEIN.Text -1) + LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub +'50 +Private Sub EDT_CANCIN_FocusChanged (HasFocus As Boolean) + If EDT_CANCIN.Text = "" Then EDT_CANCIN.Text = "0" + EDT_CANCIN.Text = Round (EDT_CANCIN.Text) + LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text +End Sub + +Sub B_SUCIN_Click + If EDT_CANCIN.Text = "" Then + EDT_CANCIN.Text =0 + LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text + Else + EDT_CANCIN.Text = Round (EDT_CANCIN.Text + 1) + LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +Sub B_MENCIN_Click + If EDT_CANCIN.Text = "" Then + EDT_CANCIN.Text =0 + LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text + Else IF EDT_CANCIN.Text > 0 Then + EDT_CANCIN.Text = Round(EDT_CANCIN.Text -1) + LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +'100 +Private Sub EDT_CANCIEN_FocusChanged (HasFocus As Boolean) + If EDT_CANCIEN.Text = "" Then EDT_CANCIEN.Text = "0" + EDT_CANCIEN.Text = Round (EDT_CANCIEN.Text) + LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text +End Sub + +Sub B_SUCIEN_Click + If EDT_CANCIEN.Text = "" Then + EDT_CANCIEN.Text = 0 + LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text + Else + EDT_CANCIEN.Text = Round (EDT_CANCIEN.Text + 1) + LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +Sub B_MENCIE_Click + If EDT_CANCIEN.Text = "" Then + EDT_CANCIEN.Text = 0 + LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text + Else IF EDT_CANCIEN.Text > 0 Then + EDT_CANCIEN.Text = Round(EDT_CANCIEN.Text -1) + LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +'200 +Private Sub EDT_CANDOS_FocusChanged (HasFocus As Boolean) + If EDT_CANDOS.Text = "" Then EDT_CANDOS.Text = "0" + EDT_CANDOS.Text = Round (EDT_CANDOS.Text) + LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text +End Sub + +Sub B_SUDOS_Click + If EDT_CANDOS.Text = "" Then + EDT_CANDOS.Text = 0 + LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text + Else + EDT_CANDOS.Text = Round (EDT_CANDOS.Text + 1) + LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +Sub B_MENDOS_Click + If EDT_CANDOS.Text = "" Then + EDT_CANDOS.Text = 0 + LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text + Else IF EDT_CANDOS.Text > 0 Then + EDT_CANDOS.Text = Round(EDT_CANDOS.Text -1) + LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +'500 +Private Sub EDT_CANQUIN_FocusChanged (HasFocus As Boolean) + If EDT_CANQUIN.Text = "" Then EDT_CANQUIN.Text = "0" + EDT_CANQUIN.Text = Round (EDT_CANQUIN.Text) + LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text +End Sub + +Sub B_SUQUI_Click + If EDT_CANQUIN.Text = "" Then + EDT_CANQUIN.Text =0 + LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text + Else + EDT_CANQUIN.Text = Round (EDT_CANQUIN.Text + 1) + LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +Sub B_MENQUI_Click + If EDT_CANQUIN.Text = "" Then + EDT_CANQUIN.Text =0 + LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text + Else IF EDT_CANQUIN.Text > 0 Then + EDT_CANQUIN.Text = Round(EDT_CANQUIN.Text -1) + LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub +'1000 +Private Sub EDT_CANMIL_FocusChanged (HasFocus As Boolean) + If EDT_CANMIL.Text = "" Then EDT_CANMIL.Text = "0" + EDT_CANMIL.Text = Round (EDT_CANMIL.Text ) + LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text +End Sub + +Sub B_SUMIL_Click + If EDT_CANMIL.Text = "" Then + EDT_CANMIL.Text = 0 + LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text + Else + EDT_CANMIL.Text = Round (EDT_CANMIL.Text + 1) + LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +Sub B_MENMIL_Click + If EDT_CANMIL.Text = "" Then + EDT_CANMIL.Text = 1 + LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text + Else IF EDT_CANMIL.Text > 0 Then + EDT_CANMIL.Text = Round(EDT_CANMIL.Text -1) + LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +'''' MONEDAS +Sub L_CALCULA_MONEDA_Click + If EDT_CANDIEZ.Text="" Or EDT_CANCI.Text="" Or EDT_CANDO.Text="" Or EDT_CANUN.Text="" Or EDT_CANCEN.Text="" Or EDT_CANVEINTE.Text="" Then + Msgbox("Por favor llena todas las cantidades","") 'ignore + Pnl_Billete.RequestFocus + Else + LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text + LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text + LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text + LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text + LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text + LBL_TVEINTE.Text=L_VEINTE.Tag * EDT_CANVEINTE.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +'0.50 +Private Sub EDT_CANCEN_FocusChanged (HasFocus As Boolean) + If EDT_CANCEN.Text = "" Then EDT_CANCEN.Text = "0" + EDT_CANCEN.Text = Round (EDT_CANCEN.Text) + LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text +End Sub + +Sub B_SUMCENT_Click + If EDT_CANCEN.Text = "" Then + EDT_CANCEN.Text = 0 + LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text + Else + EDT_CANCEN.Text = Round (EDT_CANCEN.Text + 1) + LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +Sub B_MENCENT_Click + If EDT_CANCEN.Text = "" Then + EDT_CANCEN.Text =0 + LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text + Else IF EDT_CANCEN.Text > 0 Then + EDT_CANCEN.Text = Round(EDT_CANCEN.Text -1) + LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +'1 +Private Sub EDT_CANUN_FocusChanged (HasFocus As Boolean) + If EDT_CANUN.Text = "" Then EDT_CANUN.Text = "0" + EDT_CANUN.Text = Round (EDT_CANUN.Text) + LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text +End Sub + +Sub B_SUMUN_Click + If EDT_CANUN.Text = "" Then + + LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text + Else + EDT_CANUN.Text = Round (EDT_CANUN.Text + 1) + LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +Sub B_MENUN_Click + If EDT_CANUN.Text = "" Then + EDT_CANUN.Text = 0 + LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text + Else IF EDT_CANUN.Text > 0 Then + EDT_CANUN.Text = Round(EDT_CANUN.Text -1) + LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +'2 +Private Sub EDT_CANDO_FocusChanged (HasFocus As Boolean) + If EDT_CANDO.Text = "" Then EDT_CANDO.Text = "0" + EDT_CANDO.Text = Round (EDT_CANDO.Text) + LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text +End Sub + +Sub B_SUMDO_Click + If EDT_CANDO.Text = "" Then + EDT_CANDO.Text =0 + LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text + Else + EDT_CANDO.Text = Round (EDT_CANDO.Text + 1) + LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +Sub B_MENDO_Click + If EDT_CANDO.Text = "" Then + EDT_CANDO.Text=0 + LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text + Else IF EDT_CANDO.Text > 0 Then + EDT_CANDO.Text = Round(EDT_CANDO.Text -1) + LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +'5 +Private Sub EDT_CANCI_FocusChanged (HasFocus As Boolean) + If EDT_CANCI.Text = "" Then EDT_CANCI.Text = "0" + EDT_CANCI.Text = Round (EDT_CANCI.Text) + LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text ) + TOTALMONEDA.Text=B_TOTALMONEDA.Text +End Sub + +Sub B_SUMCIN_Click + If EDT_CANCI.Text = "" Then + EDT_CANCI.Text =0 + LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text + Else + EDT_CANCI.Text = Round (EDT_CANCI.Text + 1) + LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text ) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +Sub B_MENCI_Click + If EDT_CANCI.Text = "" Then + EDT_CANCI.Text =0 + LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text + Else IF EDT_CANCI.Text > 0 Then + EDT_CANCI.Text = Round(EDT_CANCI.Text -1) + LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub +'10 +Private Sub EDT_CANDIEZ_FocusChanged (HasFocus As Boolean) + If EDT_CANDIEZ.Text = "" Then EDT_CANDIEZ.Text = "0" + EDT_CANDIEZ.Text = Round (EDT_CANDIEZ.Text) + LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text +End Sub + +Sub B_SUMDIEZ_Click + If EDT_CANDIEZ.Text = "" Then + EDT_CANDIEZ.Text =0 + LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text + Else + EDT_CANDIEZ.Text = Round (EDT_CANDIEZ.Text + 1) + LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +Sub B_MENDIEZ_Click + If EDT_CANDIEZ.Text = "" Then + EDT_CANDIEZ.Text = 0 + LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text + Else IF EDT_CANDIEZ.Text > 0 Then + EDT_CANDIEZ.Text = Round(EDT_CANDIEZ.Text -1) + LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +'20 +Private Sub EDT_CANVEINTE_FocusChanged (HasFocus As Boolean) + If EDT_CANVEINTE.Text = "" Then EDT_CANVEINTE.Text = "0" + EDT_CANVEINTE.Text = Round(EDT_CANVEINTE.Text) + LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text ) + TOTALMONEDA.Text=B_TOTALMONEDA.Text +End Sub + +Sub B_MENVEINTE_Click + If EDT_CANVEINTE.Text = "" Then + EDT_CANVEINTE.Text = 0 + LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text + Else IF EDT_CANVEINTE.Text > 0 Then + EDT_CANVEINTE.Text = Round(EDT_CANVEINTE.Text -1) + LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text ) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +Sub B_SUMVEINTE_Click + If EDT_CANVEINTE.Text = "" Then + EDT_CANVEINTE.Text =0 + LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text + Else + EDT_CANVEINTE.Text = Round (EDT_CANVEINTE.Text + 1) + LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +''''''TOTALES +Sub TOTALES_Click + If TOTALMONEDA.Text="" Or TOTALBILLETES.Text="" Then + TOTALMONEDA.Text=0 + TOTALBILLETES.Text=0 + B_SUM_TOTAL.Text="$"& (TOTALMONEDA.Text + TOTALBILLETES.Text) + Else + B_SUM_TOTAL.Text= "$"&(TOTALMONEDA.Text + TOTALBILLETES.Text) + End If +End Sub + +Sub B_AGREGABILL_Click + Pnl_Billete.Visible=True + Pnl_Moneda.Visible=False + PNL_TOTALES.Visible=False + LBL_RETURN.Visible=True + LBL_REGRESA.Visible=True +End Sub + +Sub B_AGREGAMONE_Click + Pnl_Billete.Visible=False + Pnl_Moneda.Visible=True + PNL_TOTALES.Visible=False + LBL_RETURN.Visible=True + LBL_REGRESA.Visible=True +End Sub + +Sub LBL_RETURN_Click + Pnl_Billete.Visible=False + Pnl_Moneda.Visible=False + PNL_TOTALES.Visible=True + LBL_RETURN.Visible=False + LBL_REGRESA.Visible=False + ''' CALCULO FINAL + If TOTALMONEDA.Text="" Or TOTALBILLETES.Text="" Then + TOTALMONEDA.Text=0 + TOTALBILLETES.Text=0 + B_SUM_TOTAL.Text="$"& (TOTALMONEDA.Text + TOTALBILLETES.Text) + Else + B_SUM_TOTAL.Text="$"& (TOTALMONEDA.Text + TOTALBILLETES.Text) + End If +End Sub + +Sub LBL_REGRESA_Click + Pnl_Billete.Visible=False + Pnl_Moneda.Visible=False + LBL_RETURN.Visible=False + LBL_REGRESA.Visible=False + PNL_TOTALES.Visible=True + LBL_REGRESA.Visible=True +End Sub + +Sub B_Regresar_Click +' StartActivity("SELECCION") + Subs.iniciaActividad("principal") +' B4XPages.ShowPage("Principal") +' Activity.Finish + PNL_TOTALES.Visible=False + Pnl_Billete.Visible=False + Pnl_Moneda.visible=False + PNL_TOTALES.Visible=False + LBL_RETURN.Visible=False + LBL_REGRESA.Visible=False + P_BOLETA.Visible=False +' P_INF_GENERAL.Visible=True + LBL_REGRESA.Visible=False +End Sub \ No newline at end of file diff --git a/B4A/C_CheckList.bas b/B4A/C_CheckList.bas new file mode 100644 index 0000000..dd876a9 --- /dev/null +++ b/B4A/C_CheckList.bas @@ -0,0 +1,871 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + '//Process Globals + Dim ruta As String + Dim c As Cursor + Dim C2 As Cursor + Private frontCamera As Boolean = False + Dim OK_CheckList As Int + '//Globals + Dim IME As IME + Private Edt_FH As EditText + Private Sp_MENU As Spinner + Dim LISTMENU As List + Private LB_CATEGORIA As Label + Private SCROLLPRINC As ScrollView + Private Pnl_CABINA As Panel + Dim sDate,sTime As String + ''''''''' PANELS CHECKS + Private camEx As CameraExClass + Private Rb_4_4 As RadioButton + Private Rb_3_4 As RadioButton + Private Rb_2_4 As RadioButton + Private Rb_1_4 As RadioButton + Private Lb_4 As Label + Private Lb_3 As Label + Private Lb_2 As Label + Private Lb_1 As Label + Private Et_KilometrajeIni As EditText + Private Cbox_Claxon As CheckBox + Private Cbox_Parabrisas As CheckBox + Private Cbox_Cinturon As CheckBox + Private Cbox_Espejos As CheckBox + Private Cbox_Licencia As CheckBox + Private Pnl_CabinaInfo As Panel + Private Pnl_MotorEncen As Panel + Private Pnl_Inspec As Panel + Private Pnl_CofreAbierto As Panel + Private Pnl_Carga As Panel + Private SP_MENUC As SD_Spinner + Private Im_1 As ImageView + Private Im2 As ImageView + Private Im3 As ImageView + Private Im4 As ImageView + Private Bt_Foto1 As Button + Private Bt_Foto2 As Button + Private Bt_Foto3 As Button + Private Bt_Foto4 As Button + Private Bt_GuardarCheck As Button + Private N_Ruta As String + Private Id_Almacen As String + Private Combustible As String + Private PLACAS As String + '' PANEL 2 + Private Ch_OBJETOSINE As CheckBox + Private CH_OBJMPERV As CheckBox + Private Ch_ORHERRA As CheckBox + Private Ch_LIMPIO As CheckBox + Private Ch_UNILIMPIA As CheckBox + Private Ch_BASURA As CheckBox + Private Ch_RESPON As CheckBox + Private Ch_AUDITORIA As CheckBox + Private Ch_HABITUAL As CheckBox + '' PANEL 3 + Private Ch_HERRAMIENTAS As CheckBox + Private Ch_CONOS As CheckBox + Private Ch_EDOCARROCE As CheckBox + Private Ch_FUN_LUCES As CheckBox + Private Ch_PLACAS_CIRCU As CheckBox + Private Ch_COND_LLANTAS As CheckBox + '' PANEL 4 + Private Ch_ACEITEMOTOR As CheckBox + Private Ch_ACEITEDIREC As CheckBox + Private Ch_NVL_REFRIGE As CheckBox + Private Ch_NVL_LIQUIDBRI As CheckBox + Private Ch_COND_BANMOTOR As CheckBox + ''''' PANEL5 + Private Ch_FUGASGRAL As CheckBox + Private Ch_FRENOS As CheckBox + Private Edt_COMENTARIO As AutoCompleteEditText + Private Pnl_Fotos As Panel + Private btnTakePicture As Button + Private b_guardar As Button + Private Pnl_foto As Panel + Dim camera1 As Camera + Private TOMO_FOTO1 As String + Private TOMO_FOTO2 As String + Private TOMO_FOTO3 As String + Private TOMO_FOTO4 As String + Private LBL_REGRESA As Label + Private Label5 As Label + Dim out As OutputStream + Private CUANTOS As String +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root + Root.LoadLayout("checklist") + SCROLLPRINC.Panel.LoadLayout("checks") + SCROLLPRINC.Panel.Height = Pnl_MotorEncen.Height + IME.Initialize("IME") + IME.AddHeightChangedEvent + + OK_CheckList=0 + Pnl_CabinaInfo.Visible=True + btnTakePicture.Enabled = True + camera1.Initialize(Pnl_foto, "Camera1") + + LISTMENU.IsInitialized + LISTMENU.Initialize + LISTMENU.AddAll(Array As String ("Cabina con switch encendido", "Cabina y espacio de carga", "Inspección General Exterior", "Cofre abierto, motor apagado","Con motor encendido")) + + SP_MENUC.AddAll(LISTMENU,"CheckList",Colors.White,Colors.Blue,Gravity.CENTER) + DateTime.DateFormat="dd/MM/yyyy" + Edt_FH.Text=DateTime.Date(DateTime.Now) + ruta = File.DirInternal +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub Camera1_Ready (Success As Boolean) + Log("Camara lista") + If Success Then + camera1.StartPreview + camera1.Initialize(Pnl_foto, "Camera1") + btnTakePicture.Enabled = True + Else + ToastMessageShow("No se puede abrir la camara.", True) + End If +End Sub + +Sub B4XPage_Appear +' If Subs.traeUltimaActividadBD <> "CHECKLIST_AUTO" Then Subs.iniciaActividad(Subs.traeUltimaActividadBD) + c=Starter.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS FROM TMP_INSPECCION_AUTO_DIARIA") + c.Position = 0 + CUANTOS = c.GetString("CUANTOS") + c.Close + If CUANTOS > 0 Then + If Et_KilometrajeIni.Text = "" Then + c=Starter.skmt.ExecQuery("select * from tmp_inspeccion_auto_diaria") + If c.RowCount > 0 Then + c.Position = 0 + If c.GetString("TMP_AUTO_COMBUSTIBLE") = "4/4" Then Rb_4_4.Checked = True + If c.GetString("TMP_AUTO_COMBUSTIBLE") = "3/4" Then Rb_3_4.Checked = True + If c.GetString("TMP_AUTO_COMBUSTIBLE") = "2/4" Then Rb_2_4.Checked = True + If c.GetString("TMP_AUTO_COMBUSTIBLE") = "1/4" Then Rb_1_4.Checked = True + If c.GetString("TMP_AUTO_KILOMETRAJE") <> "" Then Et_KilometrajeIni.text = c.GetString("TMP_AUTO_KILOMETRAJE") + If c.GetString("TMP_AUTO_CLAXON ") = "1" Then Cbox_Claxon.Checked = True + If c.GetString("TMP_AUTO_PARABRISAS ") = "1" Then Cbox_Parabrisas.Checked = True + If c.GetString("TMP_AUTO_CINTURON ") = "1" Then Cbox_Cinturon.Checked = True + If c.GetString("TMP_AUTO_ESPEJOS ") = "1" Then Cbox_Espejos.Checked = True + If c.GetString("TMP_AUTO_LICENCIA ") = "1" Then Cbox_Licencia.Checked = True + If c.GetString("TMP_AUTO_LIB_OBJETOSINE ") = "1" Then Ch_OBJETOSINE.Checked = True + If c.GetString("TMP_AUTO_LIB_OBJETOTMPERVI ") = 1 Then CH_OBJMPERV.Checked = True + If c.GetString("TMP_AUTO_ORDEN_HERRA ") = "1" Then Ch_ORHERRA.Checked = True + If c.GetString("TMP_AUTO_UNILIMPIA ") = "1" Then Ch_UNILIMPIA.Checked = True + If c.GetString("TMP_AUTO_LIMPIO ") = "1" Then Ch_LIMPIO.Checked = True + If c.GetString("TMP_AUTO_BASURA ") = "1" Then Ch_BASURA.Checked = True + If c.GetString("TMP_AUTO_RESPONSABILIDAD ") ="1" Then Ch_RESPON.Checked = True + If c.GetString("TMP_AUTO_AUDITORIA ") = "1" Then Ch_AUDITORIA.Checked = True + If c.GetString("TMP_AUTO_HABITUAL ") = "1" Then Ch_HABITUAL.Checked = True + If c.GetString("TMP_AUTO_HERRAMIENTAS ") = "1" Then Ch_HERRAMIENTAS.Checked = True + If c.GetString("TMP_AUTO_CONOS ") = "1" Then Ch_CONOS.Checked = True + If c.GetString("TMP_AUTO_EDO_CARROCERIA ") = "1" Then Ch_EDOCARROCE.Checked = True + If c.GetString("TMP_AUTO_FUN_LUCES ") = "1" Then Ch_FUN_LUCES.Checked = True + If c.GetString("TMP_AUTO_PLACAS_CIRCU ") = "1" Then Ch_PLACAS_CIRCU.Checked = True + If c.GetString("TMP_AUTO_COND_LLANTAS ") = "1" Then Ch_COND_LLANTAS.Checked = True + If c.GetString("TMP_AUTO_ACEITEMOTOR ") = "1" Then Ch_ACEITEMOTOR.Checked = True + If c.GetString("TMP_AUTO_ACEITEDIREC ") = "1" Then Ch_ACEITEDIREC.Checked = True + If c.GetString("TMP_AUTO_NVL_REFRIGERANTE ") = "1" Then Ch_NVL_REFRIGE.Checked = True + If c.GetString("TMP_AUTO_NVL_LIQUIDBRISAS ") = "1" Then Ch_NVL_LIQUIDBRI.Checked = True + If c.GetString("TMP_AUTO_COND_BANMOTOR ") = "1" Then Ch_COND_BANMOTOR.Checked = True + If c.GetString("TMP_AUTO_FUGASGRAL ") = "1" Then Ch_FUGASGRAL.Checked = True + If c.GetString("TMP_AUTO_FRENOS ") = "1" Then Ch_FRENOS.Checked = True + If c.GetString("TMP_AUTO_COMENTARIOS ") <> "" Then Edt_COMENTARIO.text = c.GetString("TMP_AUTO_COMENTARIOS ") + End If + End If + Pnl_CabinaInfo.Visible=False + Pnl_Carga.Visible=False + Pnl_Inspec.Visible=True + Pnl_MotorEncen.Visible=True + Pnl_CofreAbierto.Visible=False + If File.Exists(File.DirInternal,"FOTO1.jpg") = True Then + Im_1.Bitmap = LoadBitmap(File.DirInternal, "FOTO1.jpg") + Else + If File.Exists(File.DirInternal,"FOTO1.jpg") = False Then + Im_1.Bitmap = LoadBitmap(File.DirAssets,"foto1.jpg") + End If + End If + If File.Exists(File.DirInternal,"FOTO2.jpg") = True Then + Im2.Bitmap = LoadBitmap(File.DirInternal, "FOTO2.jpg") + Else + If File.Exists(File.DirInternal,"FOTO2.jpg") = False Then + Im2.Bitmap = LoadBitmap(File.DirAssets,"foto2.jpg") + End If + End If + If File.Exists(File.DirInternal,"FOTO3.jpg") = True Then + Im3.Bitmap = LoadBitmap(File.DirInternal, "FOTO3.jpg") + Else + If File.Exists(File.DirInternal,"FOTO3.jpg") = False Then + Im3.Bitmap = LoadBitmap(File.DirAssets,"foto3.jpg") + End If + End If + If File.Exists(File.DirInternal,"FOTO4.jpg") = True Then + Im4.Bitmap = LoadBitmap(File.DirInternal, "FOTO4.jpg") + Else + If File.Exists(File.DirInternal,"FOTO4.jpg") = False Then + Im4.Bitmap = LoadBitmap(File.DirAssets,"foto4.jpg") + End If + End If + End If +End Sub + +Sub Camera1_PictureTaken (Data() As Byte) + Log("foto tomada") + camera1.StartPreview + If Bt_Foto1.Tag="1" Then + Dim salida As OutputStream + salida = File.OpenOutput(File.DirInternal, "FOTO1.jpg", False) + salida.WriteBytes(Data, 0, Data.Length) + salida.Close + ToastMessageShow("FOTO GUARDADA "& "FOTO1.jpg", True) + Bt_Foto1.Tag="2" + End If + If Bt_Foto2.Tag="1" Then + Dim salida As OutputStream + salida = File.OpenOutput(File.DirInternal, "FOTO2.jpg", False) + salida.WriteBytes(Data, 0, Data.Length) + salida.Close + ToastMessageShow("FOTO GUARDADA "& "FOTO2.jpg", True) + Bt_Foto2.Tag="2" + End If + If Bt_Foto3.Tag="1" Then + Dim salida As OutputStream + salida = File.OpenOutput(File.DirInternal, "FOTO3.jpg", False) + salida.WriteBytes(Data, 0, Data.Length) + salida.Close + ToastMessageShow("FOTO GUARDADA "& "FOTO3.jpg", True) + Bt_Foto3.Tag="2" + End If + If Bt_Foto4.Tag="1" Then + Dim salida As OutputStream + salida = File.OpenOutput(File.DirInternal, "FOTO4.jpg", False) + salida.WriteBytes(Data, 0, Data.Length) + salida.Close + ToastMessageShow("FOTO GUARDADA "& "FOTO4.jpg", True) + Bt_Foto4.Tag="2" + End If +End Sub + +Sub btnTakePicture_Click + btnTakePicture.Enabled = True + camera1.TakePicture +End Sub + +Sub Nvl_Combustible_CheckedChange(Checked As Boolean) + If Rb_1_4.Checked Then + Lb_1.Visible=True + Lb_2.Visible=False + Lb_3.Visible=False + Lb_4.Visible=False + End If + If Rb_2_4.Checked Then + Lb_1.Visible=False + Lb_2.Visible=True + Lb_3.Visible=False + Lb_4.Visible=False + End If + If Rb_3_4.Checked Then + Lb_1.Visible=False + Lb_2.Visible=False + Lb_3.Visible=True + Lb_4.Visible=False + End If + If Rb_4_4.Checked Then + Lb_1.Visible=False + Lb_2.Visible=False + Lb_3.Visible=False + Lb_4.Visible=True + End If +End Sub + +Sub SP_MENUC_ItemClick (Position As Int, Value As String) + LB_CATEGORIA.Text =LISTMENU.Get(Position) + If LB_CATEGORIA.Text = "Cabina con switch encendido" Then + Pnl_CabinaInfo.Visible=True + Pnl_Carga.Visible=False + Pnl_Inspec.Visible=False + Pnl_MotorEncen.Visible=False + Pnl_CofreAbierto.Visible=False + End If + If LB_CATEGORIA.Text = "Cabina y espacio de carga" Then + Pnl_CabinaInfo.Visible=False + Pnl_Carga.Visible=True + Pnl_Inspec.Visible=False + Pnl_MotorEncen.Visible=False + Pnl_CofreAbierto.Visible=False + End If + If LB_CATEGORIA.Text = "Inspección General Exterior" Then + Pnl_CabinaInfo.Visible=False + Pnl_Carga.Visible=False + Pnl_Inspec.Visible=True + Pnl_MotorEncen.Visible=False + Pnl_CofreAbierto.Visible=False + End If + If LB_CATEGORIA.Text = "Cofre abierto, motor apagado" Then + Pnl_CabinaInfo.Visible=False + Pnl_Carga.Visible=False + Pnl_Inspec.Visible=False + Pnl_MotorEncen.Visible=False + Pnl_CofreAbierto.Visible=True + If Pnl_CofreAbierto.Visible=True Then + Pnl_Fotos.visible=False + End If + End If + If LB_CATEGORIA.Text = "Con motor encendido" Then + Pnl_CabinaInfo.Visible=False + Pnl_Carga.Visible=False + Pnl_Inspec.Visible=True + Pnl_MotorEncen.Visible=True + Pnl_CofreAbierto.Visible=False + End If +End Sub + +Sub Bt_GuardarCheck_Click + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + N_Ruta=0 + c=Starter.skmt.ExecQuery("select CAT_CL_RUTA FROM kmt_info") + If c.RowCount > 0 Then + c.Position=0 + N_Ruta= c.GetString("CAT_CL_RUTA") + End If + C2=Starter.skmt.ExecQuery("select ID_ALMACEN FROM CAT_ALMACEN") + C2.Position=0 + Id_Almacen=C2.GetString("ID_ALMACEN") + ''''''''''''''''''''''''''''''''''''NIVELES DE GASOLINA CHECK'''''''''''''''''' + If Rb_1_4.Checked Then + Combustible="1/4" + End If + If Rb_2_4.Checked Then + Combustible="2/4" + End If + If Rb_3_4.Checked Then + Combustible="3/4" + End If + If Rb_4_4.Checked Then + Combustible="4/4" + End If + ''''''''''''''''''''''''''''''''''''INDICADORES DE TABLERO'''''''''''''''''' + If Cbox_Claxon.Checked=True Then + Cbox_Claxon.Tag="1" + Else + Cbox_Claxon.Tag="0" + End If + If Cbox_Cinturon.Checked=True Then + Cbox_Cinturon.Tag="1" + Else + Cbox_Cinturon.Tag="0" + End If + If Cbox_Parabrisas.Checked=True Then + Cbox_Parabrisas.Tag="1" + Else + Cbox_Parabrisas.Tag="0" + End If + If Cbox_Espejos.Checked=True Then + Cbox_Espejos.Tag="1" + Else + Cbox_Espejos.Tag="0" + End If + If Cbox_Licencia.Checked=True Then + Cbox_Licencia.Tag="1" + Else + Cbox_Licencia.Tag="0" + End If + '''''' SEGUNDO PANEL + If Ch_OBJETOSINE.Checked=True Then + Ch_OBJETOSINE.Tag="1" + Else + Ch_OBJETOSINE.Tag="0" + End If + If CH_OBJMPERV.Checked=True Then + CH_OBJMPERV.Tag="1" + Else + CH_OBJMPERV.Tag="0" + End If + If Ch_ORHERRA.Checked=True Then + Ch_ORHERRA.Tag="1" + Else + Ch_ORHERRA.Tag="0" + End If + If Ch_UNILIMPIA.Checked=True Then + Ch_UNILIMPIA.Tag="1" + Else + Ch_UNILIMPIA.Tag="0" + End If + If Ch_LIMPIO.Checked=True Then + Ch_LIMPIO.Tag="1" + Else + Ch_LIMPIO.Tag="0" + End If + If Ch_BASURA.Checked=True Then + Ch_BASURA.Tag="1" + Else + Ch_BASURA.Tag="0" + End If + If Ch_RESPON.Checked=True Then + Ch_RESPON.Tag="1" + Else + Ch_RESPON.Tag="0" + End If + If Ch_AUDITORIA.Checked=True Then + Ch_AUDITORIA.Tag="1" + Else + Ch_AUDITORIA.Tag="0" + End If + If Ch_HABITUAL.Checked=True Then + Ch_HABITUAL.Tag="1" + Else + Ch_HABITUAL.Tag="0" + End If + ''''' PANEL 3 + If Ch_HERRAMIENTAS.Checked=True Then + Ch_HERRAMIENTAS.Tag="1" + Else + Ch_HERRAMIENTAS.Tag="0" + End If + If Ch_CONOS.Checked=True Then + Ch_CONOS.Tag="1" + Else + Ch_CONOS.Tag="0" + End If + If Ch_EDOCARROCE.Checked=True Then + Ch_EDOCARROCE.Tag="1" + Else + Ch_EDOCARROCE.Tag="0" + End If + If Ch_FUN_LUCES.Checked=True Then + Ch_FUN_LUCES.Tag="1" + Else + Ch_FUN_LUCES.Tag="0" + End If + If Ch_PLACAS_CIRCU.Checked=True Then + Ch_PLACAS_CIRCU.Tag="1" + Else + Ch_PLACAS_CIRCU.Tag="0" + End If + If Ch_COND_LLANTAS.Checked=True Then + Ch_COND_LLANTAS.Tag="1" + Else + Ch_COND_LLANTAS.Tag="0" + End If + '''' PANEL 4 + If Ch_ACEITEMOTOR.Checked=True Then + Ch_ACEITEMOTOR.Tag="1" + Else + Ch_ACEITEMOTOR.Tag="0" + End If + If Ch_ACEITEDIREC.Checked=True Then + Ch_ACEITEDIREC.Tag="1" + Else + Ch_ACEITEDIREC.Tag="0" + End If + If Ch_NVL_REFRIGE.Checked=True Then + Ch_NVL_REFRIGE.Tag="1" + Else + Ch_NVL_REFRIGE.Tag="0" + End If + If Ch_NVL_LIQUIDBRI.Checked=True Then + Ch_NVL_LIQUIDBRI.Tag="1" + Else + Ch_NVL_LIQUIDBRI.Tag="0" + End If + If Ch_COND_BANMOTOR.Checked=True Then + Ch_COND_BANMOTOR.Tag="1" + Else + Ch_COND_BANMOTOR.Tag="0" + End If + ''''' PANEL 5 + If Ch_FUGASGRAL.Checked=True Then + Ch_FUGASGRAL.Tag="1" + Else + Ch_FUGASGRAL.Tag="0" + End If + If Ch_FRENOS.Checked=True Then + Ch_FRENOS.Tag="1" + Else + Ch_FRENOS.Tag="0" + End If + c=Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("PLACAS") ) + c.Position=0 + PLACAS = c.GetString("CUANTOS") + c.Close + If PLACAS > 0 Then + c=Starter.skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("PLACAS") ) + c.Position=0 + PLACAS = c.GetString("CAT_VA_VALOR") + c.Close + Else + PLACAS = "0000" + End If + '''''''''''''''''''''''''''''''''' FOTOS ''''''''''''''''''''''''''''''' + Private fotosOk As Int = 0 + If Not(File.Exists(File.DirInternal,"FOTO1.jpg")) Or _ + Not(File.Exists(File.DirInternal,"FOTO2.jpg")) Or _ + Not(File.Exists(File.DirInternal,"FOTO3.jpg")) Or _ + Not(File.Exists(File.DirInternal,"FOTO4.jpg")) Then + Msgbox("Por favor tomar las 4 fotos.", "Atención") 'ignore + Pnl_CabinaInfo.Visible=False + Pnl_Carga.Visible=False + Pnl_Inspec.Visible=True + Pnl_MotorEncen.Visible=True + Pnl_CofreAbierto.Visible=False + Else + fotosOk = 1 + End If + '''''''''''''''''''''' Kilometraje inicial ''''''''''''''''' + Private kmsOk As Int = 0 + If Et_KilometrajeIni.Text="" Then + Msgbox("Atención","Ingresa el Kilometraje Inicial") 'ignore + Pnl_CabinaInfo.Visible=True + Pnl_Carga.Visible=False + Pnl_Inspec.Visible=False + Pnl_MotorEncen.Visible=False + Pnl_CofreAbierto.Visible=False + Else + kmsOk = 1 + End If + + If kmsOk = 1 And fotosOk = 1 Then + CUANTOS = 0 + c=Starter.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS FROM TMP_INSPECCION_AUTO_DIARIA") + If c.RowCount > 0 Then + c.Position = 0 + CUANTOS = c.GetString("CUANTOS") + Log("Info checklist: " & CUANTOS) + End If + c.Close + If CUANTOS = 0 Then + Starter.skmt.ExecNonQuery("delete from TMP_INSPECCION_AUTO_DIARIA") 'Mod por CHV - 211125 + Starter.skmt.ExecNonQuery2("INSERT INTO TMP_INSPECCION_AUTO_DIARIA ( " & Chr(34) & "TMP_AUTO_RUTA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_PLACA" & Chr(34) & "," & Chr(34) & "TMP_AUTO_CEDIS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_IDALMACEN" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FECHA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_KILOMETRAJE" & Chr(34) & "," & Chr(34) & "TMP_AUTO_COMBUSTIBLE" & Chr(34) & "," & Chr(34) & "TMP_AUTO_TABLERO " & Chr(34) & "," & Chr(34) & "TMP_AUTO_CLAXON " & Chr(34) & "," & Chr(34) & "TMP_AUTO_PARABRISAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_CINTURON " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ESPEJOS " & Chr(34) & " ," & Chr(34) & "TMP_AUTO_LICENCIA " & Chr(34) & " ," & Chr(34) & "TMP_AUTO_LIB_OBJETOSINE " & Chr(34) & " ," & Chr(34) & "TMP_AUTO_LIB_OBJETOTMPERVI " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ORDEN_HERRA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_UNILIMPIA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_LIMPIO " & Chr(34) & "," & Chr(34) & "TMP_AUTO_BASURA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_RESPONSABILIDAD " & Chr(34) & "," & Chr(34) & "TMP_AUTO_AUDITORIA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_HABITUAL " & Chr(34) & "," & Chr(34) & "TMP_AUTO_HERRAMIENTAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_CONOS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_EDO_CARROCERIA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FUN_LUCES " & Chr(34) & "," & Chr(34) & "TMP_AUTO_PLACAS_CIRCU " & Chr(34) & "," & Chr(34) & "TMP_AUTO_COND_LLANTAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ACEITEMOTOR " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ACEITEDIREC " & Chr(34) & "," & Chr(34) & "TMP_AUTO_NVL_REFRIGERANTE " & Chr(34) & "," & Chr(34) & "TMP_AUTO_NVL_LIQUIDBRISAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_COND_BANMOTOR " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FUGASGRAL " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FRENOS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_COMENTARIOS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO1" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO2" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO3" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO4" & Chr(34) & " ) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (N_Ruta,PLACAS,Null,Id_Almacen,sDate,Et_KilometrajeIni.Text,Combustible,1,Cbox_Claxon.Tag,Cbox_Parabrisas.Tag,Cbox_Cinturon.Tag,Cbox_Espejos.Tag,Cbox_Licencia.Tag,Ch_OBJETOSINE.Tag,CH_OBJMPERV.Tag,Ch_ORHERRA.Tag,Ch_UNILIMPIA.Tag,Ch_LIMPIO.Tag,Ch_BASURA.Tag,Ch_RESPON.Tag,Ch_AUDITORIA.Tag,Ch_HABITUAL.Tag,Ch_HERRAMIENTAS.Tag,Ch_CONOS.Tag,Ch_EDOCARROCE.Tag,Ch_FUN_LUCES.Tag,Ch_PLACAS_CIRCU.Tag,Ch_COND_LLANTAS.Tag,Ch_ACEITEMOTOR.Tag,Ch_ACEITEDIREC.Tag,Ch_NVL_REFRIGE.Tag,Ch_NVL_LIQUIDBRI.Tag,Ch_COND_BANMOTOR.Tag,Ch_FUGASGRAL.Tag,Ch_FRENOS.Tag,Edt_COMENTARIO.TeXT)) + Log("Guardamos Kilometraje") + Else + Starter.skmt.ExecNonQuery("delete from TMP_INSPECCION_AUTO_DIARIA") 'Mod por CHV - 211125 + Starter.skmt.ExecNonQuery2("INSERT INTO TMP_INSPECCION_AUTO_DIARIA ( " & Chr(34) & "TMP_AUTO_RUTA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_PLACA" & Chr(34) & "," & Chr(34) & "TMP_AUTO_CEDIS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_IDALMACEN" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FECHA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_KILOMETRAJE" & Chr(34) & "," & Chr(34) & "TMP_AUTO_COMBUSTIBLE" & Chr(34) & "," & Chr(34) & "TMP_AUTO_TABLERO " & Chr(34) & "," & Chr(34) & "TMP_AUTO_CLAXON " & Chr(34) & "," & Chr(34) & "TMP_AUTO_PARABRISAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_CINTURON " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ESPEJOS " & Chr(34) & " ," & Chr(34) & "TMP_AUTO_LICENCIA " & Chr(34) & " ," & Chr(34) & "TMP_AUTO_LIB_OBJETOSINE " & Chr(34) & " ," & Chr(34) & "TMP_AUTO_LIB_OBJETOTMPERVI " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ORDEN_HERRA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_UNILIMPIA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_LIMPIO " & Chr(34) & "," & Chr(34) & "TMP_AUTO_BASURA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_RESPONSABILIDAD " & Chr(34) & "," & Chr(34) & "TMP_AUTO_AUDITORIA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_HABITUAL " & Chr(34) & "," & Chr(34) & "TMP_AUTO_HERRAMIENTAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_CONOS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_EDO_CARROCERIA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FUN_LUCES " & Chr(34) & "," & Chr(34) & "TMP_AUTO_PLACAS_CIRCU " & Chr(34) & "," & Chr(34) & "TMP_AUTO_COND_LLANTAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ACEITEMOTOR " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ACEITEDIREC " & Chr(34) & "," & Chr(34) & "TMP_AUTO_NVL_REFRIGERANTE " & Chr(34) & "," & Chr(34) & "TMP_AUTO_NVL_LIQUIDBRISAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_COND_BANMOTOR " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FUGASGRAL " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FRENOS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_COMENTARIOS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO1" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO2" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO3" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO4" & Chr(34) & " ) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (N_Ruta,PLACAS,Null,Id_Almacen,sDate,Et_KilometrajeIni.Text,Combustible,1,Cbox_Claxon.Tag,Cbox_Parabrisas.Tag,Cbox_Cinturon.Tag,Cbox_Espejos.Tag,Cbox_Licencia.Tag,Ch_OBJETOSINE.Tag,CH_OBJMPERV.Tag,Ch_ORHERRA.Tag,Ch_UNILIMPIA.Tag,Ch_LIMPIO.Tag,Ch_BASURA.Tag,Ch_RESPON.Tag,Ch_AUDITORIA.Tag,Ch_HABITUAL.Tag,Ch_HERRAMIENTAS.Tag,Ch_CONOS.Tag,Ch_EDOCARROCE.Tag,Ch_FUN_LUCES.Tag,Ch_PLACAS_CIRCU.Tag,Ch_COND_LLANTAS.Tag,Ch_ACEITEMOTOR.Tag,Ch_ACEITEDIREC.Tag,Ch_NVL_REFRIGE.Tag,Ch_NVL_LIQUIDBRI.Tag,Ch_COND_BANMOTOR.Tag,Ch_FUGASGRAL.Tag,Ch_FRENOS.Tag,Edt_COMENTARIO.TeXT)) + Log("Guardamos Kilometraje") + End If + OK_CheckList = 1 + Msgbox("DATOS GUARDADOS CON EXITO ","") 'ignore + Subs.iniciaActividad("Principal") +' B4XPages.ShowPage("Principal") + End If +End Sub + +Sub GUARDA_TEMPORAL + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("select CAT_CL_RUTA FROM kmt_info") + c.Position=0 + N_Ruta= c.GetString("CAT_CL_RUTA") + C2=Starter.skmt.ExecQuery("select ID_ALMACEN FROM CAT_ALMACEN") + C2.Position=0 + Id_Almacen=C2.GetString("ID_ALMACEN") + ''''''''''''''''''''''''''''''''''''NIVELES DE GASOLINA CHECK'''''''''''''''''' + If Rb_1_4.Checked Then + Combustible="1/4" + End If + If Rb_2_4.Checked Then + Combustible="2/4" + End If + If Rb_3_4.Checked Then + Combustible="3/4" + End If + If Rb_4_4.Checked Then + Combustible="4/4" + End If + ''''''''''''''''''''''''''''''''''''INDICADORES DE TABLERO'''''''''''''''''' + If Cbox_Claxon.Checked=True Then + Cbox_Claxon.Tag="1" + Else + Cbox_Claxon.Tag="0" + End If + + If Cbox_Cinturon.Checked=True Then + Cbox_Cinturon.Tag="1" + Else + Cbox_Cinturon.Tag="0" + End If + + If Cbox_Parabrisas.Checked=True Then + Cbox_Parabrisas.Tag="1" + Else + Cbox_Parabrisas.Tag="0" + End If + + If Cbox_Espejos.Checked=True Then + Cbox_Espejos.Tag="1" + Else + Cbox_Espejos.Tag="0" + End If + + If Cbox_Licencia.Checked=True Then + Cbox_Licencia.Tag="1" + Else + Cbox_Licencia.Tag="0" + End If + '''''' SEGUNDO PANEL + If Ch_OBJETOSINE.Checked=True Then + Ch_OBJETOSINE.Tag="1" + Else + Ch_OBJETOSINE.Tag="0" + End If + + If CH_OBJMPERV.Checked=True Then + CH_OBJMPERV.Tag="1" + Else + CH_OBJMPERV.Tag="0" + End If + + If Ch_ORHERRA.Checked=True Then + Ch_ORHERRA.Tag="1" + Else + Ch_ORHERRA.Tag="0" + End If + + If Ch_UNILIMPIA.Checked=True Then + Ch_UNILIMPIA.Tag="1" + Else + Ch_UNILIMPIA.Tag="0" + End If + + If Ch_LIMPIO.Checked=True Then + Ch_LIMPIO.Tag="1" + Else + Ch_LIMPIO.Tag="0" + End If + + If Ch_BASURA.Checked=True Then + Ch_BASURA.Tag="1" + Else + Ch_BASURA.Tag="0" + End If + + If Ch_RESPON.Checked=True Then + Ch_RESPON.Tag="1" + Else + Ch_RESPON.Tag="0" + End If + + If Ch_AUDITORIA.Checked=True Then + Ch_AUDITORIA.Tag="1" + Else + Ch_AUDITORIA.Tag="0" + End If + + If Ch_HABITUAL.Checked=True Then + Ch_HABITUAL.Tag="1" + Else + Ch_HABITUAL.Tag="0" + End If + ''''' PANEL 3 + If Ch_HERRAMIENTAS.Checked=True Then + Ch_HERRAMIENTAS.Tag="1" + Else + Ch_HERRAMIENTAS.Tag="0" + End If + If Ch_CONOS.Checked=True Then + Ch_CONOS.Tag="1" + Else + Ch_CONOS.Tag="0" + End If + + If Ch_EDOCARROCE.Checked=True Then + Ch_EDOCARROCE.Tag="1" + Else + Ch_EDOCARROCE.Tag="0" + End If + + If Ch_FUN_LUCES.Checked=True Then + Ch_FUN_LUCES.Tag="1" + Else + Ch_FUN_LUCES.Tag="0" + End If + + If Ch_PLACAS_CIRCU.Checked=True Then + Ch_PLACAS_CIRCU.Tag="1" + Else + Ch_PLACAS_CIRCU.Tag="0" + End If + + If Ch_COND_LLANTAS.Checked=True Then + Ch_COND_LLANTAS.Tag="1" + Else + Ch_COND_LLANTAS.Tag="0" + End If + + '''' PANEL 4 + If Ch_ACEITEMOTOR.Checked=True Then + Ch_ACEITEMOTOR.Tag="1" + Else + Ch_ACEITEMOTOR.Tag="0" + End If + + If Ch_ACEITEDIREC.Checked=True Then + Ch_ACEITEDIREC.Tag="1" + Else + Ch_ACEITEDIREC.Tag="0" + End If + + If Ch_NVL_REFRIGE.Checked=True Then + Ch_NVL_REFRIGE.Tag="1" + Else + Ch_NVL_REFRIGE.Tag="0" + End If + + If Ch_NVL_LIQUIDBRI.Checked=True Then + Ch_NVL_LIQUIDBRI.Tag="1" + Else + Ch_NVL_LIQUIDBRI.Tag="0" + End If + + If Ch_COND_BANMOTOR.Checked=True Then + Ch_COND_BANMOTOR.Tag="1" + Else + Ch_COND_BANMOTOR.Tag="0" + End If + ''''' PANEL 5 + If Ch_FUGASGRAL.Checked=True Then + Ch_FUGASGRAL.Tag="1" + Else + Ch_FUGASGRAL.Tag="0" + End If + + If Ch_FRENOS.Checked=True Then + Ch_FRENOS.Tag="1" + Else + Ch_FRENOS.Tag="0" + End If + + c=Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("PLACAS") ) + c.Position=0 + PLACAS = c.GetString("CUANTOS") + c.Close + + If PLACAS > 0 Then + c=Starter.skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("PLACAS") ) + c.Position=0 + PLACAS = c.GetString("CAT_VA_VALOR") + c.Close + Else + PLACAS = "0000" + End If + Starter.skmt.ExecNonQuery("delete from TMP_INSPECCION_AUTO_DIARIA") 'Mod por CHV - 211125 + Starter.skmt.ExecNonQuery2("INSERT INTO TMP_INSPECCION_AUTO_DIARIA( " & Chr(34) & "TMP_AUTO_RUTA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_PLACA" & Chr(34) & "," & Chr(34) & "TMP_AUTO_CEDIS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_IDALMACEN" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FECHA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_KILOMETRAJE" & Chr(34) & "," & Chr(34) & "TMP_AUTO_COMBUSTIBLE" & Chr(34) & "," & Chr(34) & "TMP_AUTO_TABLERO " & Chr(34) & "," & Chr(34) & "TMP_AUTO_CLAXON " & Chr(34) & "," & Chr(34) & "TMP_AUTO_PARABRISAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_CINTURON " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ESPEJOS " & Chr(34) & " ," & Chr(34) & "TMP_AUTO_LICENCIA " & Chr(34) & " ," & Chr(34) & "TMP_AUTO_LIB_OBJETOSINE " & Chr(34) & " ," & Chr(34) & "TMP_AUTO_LIB_OBJETOTMPERVI " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ORDEN_HERRA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_UNILIMPIA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_LIMPIO " & Chr(34) & "," & Chr(34) & "TMP_AUTO_BASURA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_RESPONSABILIDAD " & Chr(34) & "," & Chr(34) & "TMP_AUTO_AUDITORIA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_HABITUAL " & Chr(34) & "," & Chr(34) & "TMP_AUTO_HERRAMIENTAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_CONOS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_EDO_CARROCERIA " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FUN_LUCES " & Chr(34) & "," & Chr(34) & "TMP_AUTO_PLACAS_CIRCU " & Chr(34) & "," & Chr(34) & "TMP_AUTO_COND_LLANTAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ACEITEMOTOR " & Chr(34) & "," & Chr(34) & "TMP_AUTO_ACEITEDIREC " & Chr(34) & "," & Chr(34) & "TMP_AUTO_NVL_REFRIGERANTE " & Chr(34) & "," & Chr(34) & "TMP_AUTO_NVL_LIQUIDBRISAS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_COND_BANMOTOR " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FUGASGRAL " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FRENOS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_COMENTARIOS " & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO1" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO2" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO3" & Chr(34) & "," & Chr(34) & "TMP_AUTO_FOTO4" & Chr(34) & " ) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (N_Ruta,PLACAS,Null,Id_Almacen,sDate,Et_KilometrajeIni.Text,Combustible,1,Cbox_Claxon.Tag,Cbox_Parabrisas.Tag,Cbox_Cinturon.Tag,Cbox_Espejos.Tag,Cbox_Licencia.Tag,Ch_OBJETOSINE.Tag,CH_OBJMPERV.Tag,Ch_ORHERRA.Tag,Ch_UNILIMPIA.Tag,Ch_LIMPIO.Tag,Ch_BASURA.Tag,Ch_RESPON.Tag,Ch_AUDITORIA.Tag,Ch_HABITUAL.Tag,Ch_HERRAMIENTAS.Tag,Ch_CONOS.Tag,Ch_EDOCARROCE.Tag,Ch_FUN_LUCES.Tag,Ch_PLACAS_CIRCU.Tag,Ch_COND_LLANTAS.Tag,Ch_ACEITEMOTOR.Tag,Ch_ACEITEDIREC.Tag,Ch_NVL_REFRIGE.Tag,Ch_NVL_LIQUIDBRI.Tag,Ch_COND_BANMOTOR.Tag,Ch_FUGASGRAL.Tag,Ch_FRENOS.Tag,Edt_COMENTARIO.TeXT)) +End Sub + +Sub b_guardar_Click + If Bt_Foto1.Tag="2" Then + Im_1.Bitmap = LoadBitmap(File.DirInternal, "FOTO1.jpg") + Pnl_Fotos.Visible=False + Bt_Foto1.Visible=True + Bt_Foto2.Visible=True + Bt_Foto3.Visible=True + Bt_Foto4.Visible=True + Pnl_Fotos.Visible=False + Bt_GuardarCheck.Visible=True + End If + + If Bt_Foto2.Tag="2" Then + Im2.Bitmap = LoadBitmap(File.DirInternal, "FOTO2.jpg") + Pnl_Fotos.Visible=False + Bt_Foto1.Visible=True + Bt_Foto2.Visible=True + Bt_Foto3.Visible=True + Bt_Foto4.Visible=True + Pnl_Fotos.Visible=False + Bt_GuardarCheck.Visible=True + End If + If Bt_Foto3.Tag="2" Then + Im3.Bitmap = LoadBitmap(File.DirInternal, "FOTO3.jpg") + Pnl_Fotos.Visible=False + Bt_Foto1.Visible=True + Bt_Foto2.Visible=True + Bt_Foto3.Visible=True + Bt_Foto4.Visible=True + Pnl_Fotos.Visible=False + Bt_GuardarCheck.Visible=True + End If + + If Bt_Foto4.Tag="2" Then + Im4.Bitmap = LoadBitmap(File.DirInternal, "FOTO4.jpg") + Pnl_Fotos.Visible=False + Bt_Foto1.Visible=True + Bt_Foto2.Visible=True + Bt_Foto3.Visible=True + Bt_Foto4.Visible=True + Pnl_Fotos.Visible=False + Bt_GuardarCheck.Visible=True + End If +End Sub + +Sub Bt_Foto1_Click + foto.quien_llamo = "1" + GUARDA_TEMPORAL + TOMO_FOTO1 = 1 + StartActivity("foto") +End Sub + +Sub Bt_Foto2_Click + foto.quien_llamo = "2" + GUARDA_TEMPORAL + StartActivity("foto") +End Sub + +Sub Bt_Foto3_Click + foto.quien_llamo = "3" + GUARDA_TEMPORAL + TOMO_FOTO3 = 1 + StartActivity("foto") +End Sub + +Sub Bt_Foto4_Click + foto.quien_llamo = "4" + GUARDA_TEMPORAL + TOMO_FOTO4 = 1 + StartActivity("foto") +End Sub + +Sub LBL_REGRESA_Click + Pnl_Fotos.Visible=False + Bt_Foto1.Visible=True + Bt_Foto2.Visible=True + Bt_Foto3.Visible=True + Bt_Foto4.Visible=True + Bt_GuardarCheck.Visible=True +End Sub + +''' SUBIR PANEL. +Sub IME_HeightChanged(NewHeight As Int, OldHeight As Int) + ' para subir la entrada de datos y que este encima del teclado + 'Log("NewHeight " & NewHeight & " OldHeight " & OldHeight) +End Sub + +Sub Activity_KeyPress (key As Int) As Boolean 'ignore + ' BACK key pressed + If key=KeyCodes.KEYCODE_BACK Then + Pnl_CabinaInfo.Visible=False + Pnl_Carga.Visible=False + Pnl_Inspec.Visible=True + Pnl_MotorEncen.Visible=True + Pnl_CofreAbierto.Visible=False + Return False + 'End If + End If + ' Returning False signals the system to handle the key +End Sub diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas new file mode 100644 index 0000000..1ecedf5 --- /dev/null +++ b/B4A/C_Cliente.bas @@ -0,0 +1,3821 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + '// Process Globals + Dim g As GPS + Dim reqManager As DBRequestManager + Dim ruta As String + Dim clie_id As String + Dim sDate,sTime As String + Dim usuario As String = "" + Dim total_cliente As String + Dim m_lat As String + Dim m_lon As String + Dim cmp20 As Serial + Dim printer As TextWriter + Dim PairedDevices As Map + Dim L As List + Dim TAMANO As Int + Dim ESPACIO As Int + Dim BLANCO As String + Dim cuenta As String + Dim Printer1 As EscPosPrinter + Dim MAC_IMPRESORA As String + Dim LONGITUD As String = "0" + Dim LATITUD As String = "0" + Dim NOMBRE As String + Dim ruta_tienda As String + Dim id_encuesta As String + Dim LLAMAR_FOTO As String + Dim CURSOR_FOTO As Int + Dim TOMAR_FOTO As String + Dim YA_IMPRIMIO2 As String + Dim CREDITO_DISPONIBLE As String + '//Globals + Dim c As Cursor + Dim s As Cursor + Dim c2 As Cursor + Dim S1 As Cursor + Dim S2 As Cursor + Dim S3 As Cursor + Dim C1 As Cursor + Dim C3 As Cursor + Dim C4, C5, C6, C8 As Cursor + Dim RMI As String + Dim ListView1 As ListView + Dim la_cuenta As Label + Dim La_nombre As Label + Dim la_Calle As Label + Dim la_numero As Label + Dim la_nint As Label + Dim la_edo As Label + Dim la_pob As Label + Dim la_col As Label + Dim la_cp As Label + Dim la_zona As Label + Dim gest As Button + Dim la_saldotot As Label + Dim la_saldooper As Label + Dim b_noVenta As Button + Dim Label10 As Label + Dim Label11 As Label + Dim Tar As Button + Dim la_comm As Label + Dim la_actdte As Label + Dim la_usuario As Label + Dim la_resultado As Label + Dim l_entre1 As Label + Dim l_entre2 As Label + Dim l_atiende As Label + Dim l_atiende2 As Label + Dim DATOS As Button + Dim Guardar As Button + Dim NUEVO As Button + Dim l_total As Label + Dim c2 As Cursor + Dim S2 As Cursor + Private s As Cursor + Dim res As String + Private HIST As Button + Private MONTO_COMPRA As String + Private META As String + Private META2 As String + Private VERIFICA As String + Private L_QR As Label + Private BT_QR As Button + Private qr As QRCode + Dim sc As Zxing_scanner + Dim CODIGO As String + Private b_mapa As Button + Dim CUANTOS As String + Private B_IMP As Button + Dim Toggla As Toggle + Private B_VENTA As Button + Dim PASA_IMP As String + Dim sucursal As String + Dim FACTURA As String + Dim CREDITO As String + Private b_factura As Button + Dim perfil As String + Private CH_TA As CheckBox + Private CH_TC As CheckBox + Private CH_TB As CheckBox + Private CH_TD As CheckBox + Private E_CUANTOS_E As EditText + Private B_GUARDAR As Button + Private TIPOEX As String + Private B_EXIBI As Button + Private Panel1 As Panel + Dim t3 As Timer + '--***---- BOLETA DE LIQUIDACION + Private P_BOLETA As Panel + '------ BILLETES + Private LBL_TMIL As Label + Private LBL_TQUIN As Label + Private LBL_TDOS As Label + Private LBL_TCIEN As Label + Private LBL_TCIN As Label + Private LBL_TVEIN As Label + Private LBL_MIL As Label + Private LBL_QUIN As Label + Private LBL_DOSC As Label + Private LBL_CIEN As Label + Private LBL_CINCUEN As Label + Private LBL_VEINTE As Label + Private EDT_CANVEIN As EditText + Private EDT_CANCIN As EditText + Private EDT_CANCIEN As EditText + Private EDT_CANDOS As EditText + Private EDT_CANQUIN As EditText + Private EDT_CANMIL As EditText + Private Btn_TOTALBILLETE As Button + Private Pnl_Billete As Panel + Private Pnl_Moneda As Panel + Private L_CALCULA_BILLE As Label + '------ BOTONES MAS Y MENOS + Private B_MENMIL As Button + Private B_SUMIL As Button + Private B_MENQUI As Button + Private B_SUQUI As Button + Private B_MENDOS As Button + Private B_SUDOS As Button + Private B_MENCIE As Button + Private B_SUCIEN As Button + Private B_MENCIN As Button + Private B_SUCIN As Button + Private B_MENVEI As Button + Private B_SUVEI As Button + '------ MONEDAS + Private L_DIEZ As Label + Private L_CINCO As Label + Private L_DOS As Label + Private L_UNO As Label + Private L_CENTAVO As Label + Private LBL_TDIEZ As Label + Private LBL_TCI As Label + Private LBL_TDO As Label + Private LBL_TUN As Label + Private LBL_TCEN As Label + Private EDT_CANCEN As EditText + Private EDT_CANUN As EditText + Private EDT_CANDO As EditText + Private EDT_CANCI As EditText + Private EDT_CANDIEZ As EditText + Private L_CALCULA_MONEDA As Label + Private B_TOTALMONEDA As Button + '------ BOTONES MAS Y MENOS + Private B_MENCENT As Button + Private B_MENUN As Button + Private B_MENDO As Button + Private B_MENCI As Button + Private B_MENDIEZ As Button + Private B_SUMDIEZ As Button + Private B_SUMCIN As Button + Private B_SUMDO As Button + Private B_SUMUN As Button + Private B_SUMCENT As Button + '------ SUMA TOTALES + Private Edt_FH As EditText + Private B_AGREGAMONE As Button + Private B_AGREGABILL As Button + Private TOTALES As Label + Private B_SUM_TOTAL As Button + Private TOTALBILLETES As Button + Private TOTALMONEDA As Button + Private PNL_TOTALES As Panel + Private LBL_RETURN As Label + Private IMG_IMPRESORA As Label + Private LBL_REGRESA As Label + '--***---- FIN BOLETA + Private P_INF_GENERAL As Panel + Private B_Regresar As Button + Private ABORDO As String + Private a_inicial As String + Private a_total As String + Private a_venta As String + Private a_final As String + Private a_VENTA_F As String + Private a_inicial_5 As String + Private L_INVA As ListView + Private B_IMP_INV As Button + Private B_CERRAR_I As Button + Private Panel_INV_A As Panel + Private LBL_TVEINTE As Label + Private B_SUMVEINTE As Button + Private EDT_CANVEINTE As EditText + Private B_MENVEINTE As Button + Private L_VEINTE As Label + Dim RutaBoleta As String + Dim Id_Almacen As String + Dim cursorBoleta As Cursor + Private Bt_GuardarBoleta As Button + Private CUANTOS1 As String + Private Panel9 As Panel + Private t_tenc As Label + Private E_RES_E As EditText + Private B_E_NEXT As Button + Private Label26 As Label + Private l_chk_e As Label + Private Chk_1 As CheckBox + Private chk_2 As CheckBox + Private chk_3 As CheckBox + Private b_chk_e As Button + Private Panel10 As Panel + Private chk_1_valor As String + Private chk_2_valor As String + Private chk_3_valor As String + Private p_encuesta As Panel + Private b_encuesta_1 As Button + Private b_encuesta_2 As Button + Private b_encuesta_3 As Button + Private l_titEncuesta As Label + Private l_txtEncuesta As Label + Private encuestaRes As String + Private botonPresionado As Int + Private B_IMP2 As Button + Dim impresoraConectada As Boolean = False + Private l_categoria2 As Label + Private l_exhibidor2 As Label + Private p_exhibidores As Panel + Private Button1 As Button + Private b_exhibidor As Button + Private l_exhibidores3 As Label + Private l_segmento2 As Label + Private et_encuesta As EditText + Private b_encuesta_continuar As Button + Dim muestraBoleta As Boolean = False + Private Panel4 As Panel + Private Panel6 As Panel + Private l_ubicacion As Label + Dim l_ubicacion2 As Label + Dim b_ubicacion As Button + Dim logger As Boolean = False + Private b_whats As Button + Private b_aceptarrpomo As Button + Private b_rechazapromo As Button + Private p_promowhats As Panel + Private l_promowhats As Label + Private l_doe As Label + Private p_pideGeoPass As Panel + Private et_geopass As EditText + Private b_geopass As Button + Private LP_DOE As ListView + Private BP_DOE_A As Button + Private BP_DOE_R As Button + Private p_doe As Panel + Private ime As IME + Dim laDist As Float + Private L_DOE_TOTAL As Label + Private L_DOE_TOTAL As Label + Private Panel11 As Panel + Private BP_DOE_R1 As Button + Dim RMI_VALOR As String +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + If Not(Starter.Logger) Then logger = False + Root = Root1 + reqManager.Initialize(Me, Starter.server) + 'load the layout to Root + Root.LoadLayout("cliente") + ruta = File.DirInternal +' Subs.panelAnchoAlto(P_INF_GENERAL, Root.Width, Root.Height) +' Subs.centraPanel(P_INF_GENERAL, Root.Width) + Panel6.Width = Root.Width + p_promowhats.Width = Root.Width + p_promowhats.visible = False + If Starter.boleta = 0 Then + c=Starter.skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_RUTA, CAT_CL_NOMBRE, CAT_CL_ATIENDE1, CAT_CL_ATIENTE2,"& _ + "CAT_CL_TELEFONO, CAT_CL_EMAIL, CAT_CL_CALLE, CAT_CL_NOEXT, CAT_CL_NOINT, CAT_CL_CALLE1, CAT_CL_CALLE2, "& _ + "CAT_CL_COLONIA, CAT_CL_MUNI, CAT_CL_EDO, CAT_CL_CP, CAT_CL_LONG, CAT_CL_LAT, CAT_CL_MTOCOMPRA, "& _ + "CAT_CL_BFACTURA, CAT_CL_BCREDITO, CAT_CL_CATEGORIA, CAT_CL_SEGMENTO from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)") + s=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + s.Position=0 + If c.RowCount > 0 Then + c.Position=0 + la_cuenta.Text = c.GetString("CAT_CL_CODIGO") + cuenta = c.GetString("CAT_CL_CODIGO") + La_nombre.Text = c.GetString("CAT_CL_NOMBRE") + NOMBRE = c.GetString("CAT_CL_NOMBRE") + la_Calle.Text = c.GetString("CAT_CL_CALLE") & c.GetString("CAT_CL_NOEXT") + la_col.Text = c.GetString("CAT_CL_COLONIA") + la_edo.Text = c.GetString("CAT_CL_EDO") + la_cp.Text = c.GetString("CAT_CL_CP") + l_entre1.Text = c.GetString("CAT_CL_CALLE1") + l_entre2.Text = c.GetString("CAT_CL_CALLE2") + l_atiende.Text = c.GetString("CAT_CL_ATIENDE1") + l_atiende2.Text = c.GetString("CAT_CL_ATIENTE2") + la_saldotot.Text = c.GetString("CAT_CL_TELEFONO") + la_saldooper.Text = c.GetString("CAT_CL_EMAIL") + l_total.Text = s.GetString("TOTAL_CLIE") + total_cliente = s.GetString("TOTAL_CLIE") + MONTO_COMPRA = c.GetString("CAT_CL_MTOCOMPRA") + FACTURA = c.GetString("CAT_CL_BFACTURA") + CREDITO = c.GetString("CAT_CL_BCREDITO") + LONGITUD = 0 + If c.GetString("CAT_CL_LONG") <> Null And c.GetString("CAT_CL_LONG") <> "null" And IsNumber(c.GetString("CAT_CL_LONG")) Then LONGITUD = c.GetString("CAT_CL_LONG") + LATITUD = 0 + If c.GetString("CAT_CL_LAT") <> Null And c.GetString("CAT_CL_LAT") <> "null" And IsNumber(c.GetString("CAT_CL_LAT")) Then LATITUD = c.GetString("CAT_CL_LAT") + l_categoria2.text = c.GetString("CAT_CL_CATEGORIA") + l_segmento2.text = c.GetString("CAT_CL_SEGMENTO") + If logger Then Log($"Lon: ${LONGITUD}, Lat: ${LATITUD}"$) + Else + RutaBoleta=Starter.rutaV + End If + End If + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP")) + c.Position =0 + If c.RowCount > 0 Then + MAC_IMPRESORA = c.GetString("CAT_VA_VALOR") + Else + MAC_IMPRESORA = 0 + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP","0")) + End If + Starter.MAC_IMPRESORA = MAC_IMPRESORA + Printer1.Initialize(Me, "Printer1") + TOMAR_FOTO = 0 + c.Close + If s.IsInitialized Then s.Close +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub B4XPage_Appear +' Log(Subs.traeUltimaActividadBD) + Subs.panelVisibleCompleto(P_INF_GENERAL, Root) +' P_INF_GENERAL.Height = Root.Height +' P_INF_GENERAL.Width = Root.Width + et_geopass.Text = "" + If Subs.traeUltimaActividadBD <> "Cliente" Then Subs.iniciaActividad(Subs.traeUltimaActividadBD) + If Not(muestraBoleta) Then P_INF_GENERAL.Visible = True + p_pideGeoPass.Visible = False +' If Logger Then Log(muestraBoleta) + CallSubDelayed(Tracker, "StartFLP2") + b_ubicacion.Text = "SIN GPS" + b_ubicacion.TextColor = Colors.Red + If Not(Starter.GPS.GPSEnabled) Then + ToastMessageShow("Debe Activar el GPS del Equipo.", True) + StartActivity(Starter.GPS.LocationSettingsIntent) + Else + Starter.GPS.Start(0, 0) + If Starter.ubicacionActual.Latitude <> 0 Then GPS_LocationChanged(Starter.ubicacionActual) + End If + If muestraBoleta Then LLAMA_BOLETA + BT_QR.Enabled = False + b_factura.Visible = False + Panel_INV_A.Visible = False + CREDITO_DISPONIBLE =0 + If Starter.boleta = 0 Then + c=Starter.skmt.ExecQuery("SELECT CAT_EP_ID, CAT_EP_IDTIPOPREGUNTA, CAT_CE_DESCRIPCION, CAT_EP_PREGUNTA, CAT_EP_RES1_PRED, CAT_EP_RES2_PRED, CAT_EP_RES3_PRED, CAT_EP_ORDEN_PREGUNTA FROM CAT_ENCUESTA_PREGUNTA ORDER BY CAT_CE_DESCRIPCION, CAST(CAT_EP_ORDEN_PREGUNTA AS DECIMAL)") + If c.RowCount > 0 Then c.Position= 1 + If TOMAR_FOTO = 0 Then + c=Starter.skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_BFACTURA,CAT_CL_BCREDITO, IMPRESION from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)") + s=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + s.Position=0 + S1=Starter.skmt.ExecQuery("select count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + S1.Position=0 + c.Position=0 + la_cuenta.Text = c.GetString("CAT_CL_CODIGO") + La_nombre.Text = c.GetString("CAT_CL_NOMBRE") + la_Calle.Text = c.GetString("CAT_CL_CALLE") & " " & c.GetString("CAT_CL_NOEXT") + la_col.Text = c.GetString("CAT_CL_COLONIA") + la_edo.Text = c.GetString("CAT_CL_EDO") + la_cp.Text = c.GetString("CAT_CL_CP") + l_entre1.Text = c.GetString("CAT_CL_CALLE1") + l_entre2.Text = c.GetString("CAT_CL_CALLE2") + l_atiende.Text = c.GetString("CAT_CL_ATIENDE1") + l_atiende2.Text = c.GetString("CAT_CL_ATIENTE2") + l_total.Text = s.GetString("TOTAL_CLIE") + total_cliente = s.GetString("TOTAL_CLIE") + m_lat =c.GetString("CAT_CL_LAT") + m_lon =c.GetString("CAT_CL_LONG") + CREDITO_DISPONIBLE = c.GetString("CAT_CL_BFACTURA") + CREDITO = c.GetString("CAT_CL_BCREDITO") + ruta_tienda = c.GetString("CAT_CL_RUTA") + YA_IMPRIMIO2 = c.GetString("IMPRESION") + + If c.GetString("CAT_CL_EMAIL") = "1" Then + l_doe.Visible = True + Else + l_doe.Visible = False + End If + + LONGITUD = 0 + If c.GetString("CAT_CL_LONG") <> Null And c.GetString("CAT_CL_LONG") <> "null" And IsNumber(c.GetString("CAT_CL_LONG")) Then LONGITUD = c.GetString("CAT_CL_LONG") + LATITUD = 0 + If c.GetString("CAT_CL_LAT") <> Null And c.GetString("CAT_CL_LAT") <> "null" And IsNumber(c.GetString("CAT_CL_LAT")) Then LATITUD = c.GetString("CAT_CL_LAT") + LogColor($"${c.GetString("CAT_CL_LAT")}, ${c.GetString("CAT_CL_LONG")}"$, Colors.red) + If logger Then Log($"Lat: ${LATITUD}, Lon: ${LONGITUD}"$) + NOMBRE = c.GetString("CAT_CL_NOMBRE") +' Log(l_total.text) + If l_total.Text = Null Or l_total.Text = "null" Then + b_noVenta.Visible = True + Else + b_noVenta.Visible = False + If la_cuenta.Text = "0" Then + CREDITO_DISPONIBLE = 10000000 + CREDITO = 0 + End If + End If + If S1.GetString("CUANTOS") = 0 Then + b_noVenta.Visible = True + Else 'Si ya hay venta, ocultamos el boton de "NO VENTA" + b_noVenta.Visible = False + End If + If CREDITO = "1" Then + Msgbox("ALTO","A este cliente no se le puede vender ya que tienen adeudo en su crédito") 'ignore + B_VENTA.Visible = False + gest.Visible = False + Else + B_VENTA.Visible = True + gest.Visible = True + End If + ' Msgbox(c.GetString("CAT_CL_NUM_SERIEFISICO"),"AVISO") + If c.GetString("CAT_CL_NUM_SERIEFISICO") = "0" Then + L_QR.Visible = True + Else + L_QR.Visible = False + End If + S2=Starter.skmt.ExecQuery("select count(*) AS CUANTOS from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa)") + S2.Position =0 + CUANTOS = S2.GetString("CUANTOS") + S2.Close + If CUANTOS > 0 Then + c2=Starter.skmt.ExecQuery("select sum(HVD_COSTO_TOT) AS TOTAL from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa)") + c2.Position =0 + MONTO_COMPRA = c2.GetString("TOTAL") + c2.Close + Else + MONTO_COMPRA = "0" + End If + + la_saldotot.Text = MONTO_COMPRA + If MONTO_COMPRA <> "0" Then + META2 = 300 - MONTO_COMPRA + Else + META2 = 300 + End If + If META2 < 1 Then + META2 = "CUBIERTO" + End If + la_saldooper.Text = META2 + c=Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS FROM HIST_CLIENTE_CANT_PROMOS WHERE HCCP_CLIENTE IN (Select cuenta from cuentaa)") + c.Position =0 + If c.GetString("CUANTOS") > 0 Then + C1=Starter.skmt.ExecQuery("SELECT HCCP_PROMO FROM HIST_CLIENTE_CANT_PROMOS WHERE HCCP_CLIENTE IN (Select cuenta from cuentaa) ") + C1.Position = 0 + C3=Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM CAT_GUNAPROD2 WHERE CAT_GP_ID = ? ", Array As String(C1.GetString("HCCP_PROMO"))) + C3.Position = 0 + If Not(B4XPages.MainPage.cliente.muestraBoleta) And Subs.traeCliente <> "0" Then 'Si vamos a mostrar boleta entonces no mandamos aviso. + If C3.GetString("CUANTOS") > 0 Then + c2=Starter.skmt.ExecQuery2("SELECT CAT_GP_NOMBRE FROM CAT_GUNAPROD2 WHERE CAT_GP_ID = ? ", Array As String(C1.GetString("HCCP_PROMO"))) + c2.Position = 0 + MsgboxAsync("El cliente tiene derecho a una promo especial "& c2.GetString("CAT_GP_NOMBRE"),"Aviso") 'ignore + c2.Close + Else + MsgboxAsync("El cliente tiene derecho a una promo especial ","Aviso") 'ignore + End If + End If + C3.Close + C1.Close + End If + B_VENTA.Visible = True + + If CREDITO = "1" Then + Msgbox("El cliente tiene credito excedido","Aviso") 'ignore + Subs.iniciaActividad("Principal") +' B4XPages.ShowPage("Principal") + End If + Else + Cuestionario + End If + If YA_IMPRIMIO2 = 0 Then + Guardar.Visible = False + Else + Guardar.Visible = True + End If + If la_cuenta.text = "0" Then Guardar.Visible = True 'Abordo + If l_total.Text = Null Or l_total.Text = "null" Or l_total.text = "0" Then Guardar.Visible = True 'Si no hay venta entonces "Guardar" es visible. + + 'Promo Especial +' If Logger Then LogColor($"Ultima actividad BD=${Subs.traeUltimaActividadBD}"$, Colors.Magenta) + Dim mPromoEspecial As Map = revisaPromoEspecial +' If Logger Then Log(mPromoEspecial.Get("esValida")) + If Subs.traeUltimaActividadBD = "Productos" Then 'Venimos de "Productos" + If logger Then Log("Venimos de Productos") + If l_total.Text <> Null And mPromoEspecial.Get("montoPromo") <> Null And l_total.Text > ((mPromoEspecial.Get("montoPromo") * (100 - mPromoEspecial.Get("rangoPromo")))/100) And _ + l_total.Text <= mPromoEspecial.Get("montoPromo") Then 'El monto de la venta esta dentro del rango para la promo. + If logger Then Log("Promo dentro del rango") + Msgbox($"Si la venta sobrepasa los $${mPromoEspecial.Get("montoPromo")} se activa la promoción '${mPromoEspecial.Get("descrPromo")}'"$, "CASI EN RANGO DE PROMO ESPECIAL") 'ignore + Else + If logger Then Log("Promo fuera de rango") + End If + If l_total.Text <> Null And mPromoEspecial.Get("montoPromo") <> Null And l_total.text >= mPromoEspecial.Get("montoPromo") Then + If logger Then Log("Promo Autorizada") + res = Msgbox2("Pomocion '" & mPromoEspecial.Get("descrPromo") & "' disponible.\nSi se otorga la promoción ya NO será posible modificar la venta.", "PROMO DISPONIBLE", "Si", "", "No", Null) 'ignore + If res = DialogResponse.POSITIVE Then + If logger Then Log("Promocion aceptada.") + If logger Then Log($"${mPromoEspecial.Get("idProd")}, ${mPromoEspecial.Get("idPromo")}, ${mPromoEspecial.Get("cantProd")}, ${mPromoEspecial.Get("nombreProd")}, ${mPromoEspecial.Get("descrPromo")}, ${la_cuenta.Text}, ${usuario}, ${ruta_tienda}"$) + metePromoEspecial(mPromoEspecial.Get("idProd"), mPromoEspecial.Get("idPromo"), mPromoEspecial.Get("cantProd"), mPromoEspecial.Get("nombreProd"), mPromoEspecial.Get("descrPromo"), la_cuenta.Text, usuario, ruta_tienda) + Subs.ponImpreso(la_cuenta.Text) + End If + End If + If l_total.Text <> Null And mPromoEspecial.Get("montoPromo") <> Null Then Log($"Monto venta = ${l_total.Text}, rango para promo = ${(mPromoEspecial.Get("montoPromo") * (100 - mPromoEspecial.Get("rangoPromo"))/100)}"$) + End If + + c=Starter.skmt.ExecQuery("select count(*) as conNoVenta FROM NOVENTA WHERE NV_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position = 0 + If c.GetString("conNoVenta") = 1 Then b_noVenta.Visible = False 'Si ya tiene NoVenta, ocultamos el boton. + c.Close + Else + RutaBoleta=Starter.rutaV + End If + If c.IsInitialized Then c.Close + If s.IsInitialized Then s.Close + If S1.IsInitialized Then S1.Close + If logger Then Log("===================== Traemos EXHIBIDORES " & la_cuenta.Text & " =================" ) + c=Starter.skmt.ExecQuery2("select * FROM HIST_EXHIBIDORES2 where hist_ex_id_cliente = ?", Array As String (la_cuenta.Text)) + If c.RowCount > 0 Then + Private exhibs As String = "" + Private separador As String = "" + For i=0 To c.RowCount -1 + c.Position=i + If i < c.RowCount And i <> 0 Then separador = " - " Else separador = "" + exhibs = exhibs & separador & c.GetString("HIST_EX_TIPO") + Next +' If Logger Then LogColor(exhibs, Colors.Blue) + c.Close + l_exhibidor2.Text = exhibs + l_exhibidores3.Text = exhibs + End If + + 'PARA LA PROMO DOE + b_whats.Visible = False + + C1=Starter.skmt.ExecQuery("select IMPRESION FROM kmt_info where CAT_CL_CODIGO In (select cuenta from cuentaa)") + C1.Position = 0 + If C1.GetString("IMPRESION") <> "1" Then + S=Starter.skmt.ExecQuery2("select COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_PROID = ?", Array As String("PROMODOE") ) + s.Position = 0 + If s.GetString("CUANTOS") = 0 Then + c=Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM HIST_CLIENTE_CANT_PROMOS WHERE HCCP_CLIENTE IN (Select cuenta from cuentaa) AND HCCP_PROMO = ?", Array As String("PROMODOE")) + c.Position =0 + If c.GetString("CUANTOS") > 0 Then + C3=Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM CAT_GUNAPROD2 WHERE CAT_GP_ID = ? ", Array As String("1008094223")) + C3.Position = 0 + If C3.GetString("CUANTOS") > 0 Then + c2=Starter.skmt.ExecQuery2("SELECT CAT_GP_ALMACEN FROM CAT_GUNAPROD2 WHERE CAT_GP_ID = ? ", Array As String("1008094223")) + c2.Position = 0 + If c2.GetString("CAT_GP_ALMACEN") > 0 Then + b_whats.Visible = True + End If + c2.Close + End If + C3.Close + End If + c.Close + End If + s.Close + End If + C1.Close + CallSubDelayed(Tracker, "Track") + CallSubDelayed(Tracker, "StartFLPSmall") + If Tracker.FLP.IsInitialized And Tracker.FLP.GetLastKnownLocation.IsInitialized Then 'Si tenemos "UltimaUbicaccionConocida" la usamos. + B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude + B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude + Log($"Tenemos UUC: ${Tracker.FLP.GetLastKnownLocation.Latitude},${Tracker.FLP.GetLastKnownLocation.Longitude}"$) + GPS_LocationChanged(Tracker.FLP.GetLastKnownLocation) + End If + muestraBoleta = False +End Sub + +Sub Printer1_Connected (Success As Boolean) +' If Logger Then Log("Printer1_Connected") + If Success Then + ToastMessageShow("Impresora conectada", False) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("MACIMP")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP",Starter.mac_impresora)) + If logger Then LogColor("Impresora conectada", Colors.Green) +' B_IMP2.Enabled = True + impresoraConectada = True + Else +' Msgbox(Printer1.ConnectedErrorMsg, "Error connecting.") 'ignore +' ToastMessageShow("Error conectando la impresora", False) + If logger Then LogColor("Error conectando la impresora", Colors.Red) + End If +End Sub + +Sub GPS_LocationChanged (Location1 As Location) + 'Este codigo se corre desde Tracker/flp_LocationChanged + b_ubicacion.TextColor = Colors.Gray + Sleep(200) + b_ubicacion.TextColor = Colors.White + If logger Then Log($"${Location1.Latitude}, ${Location1.Longitude}, ${Location1.Accuracy}"$) + + If m_lat = Null Or m_lat = "" Then m_lat = 0 + If m_lon = Null Or m_lon = "" Then m_lon = 0 + + Private ubicacionTienda As Location + ubicacionTienda.Initialize + ubicacionTienda.Latitude = m_lat + ubicacionTienda.Longitude = m_lon + If logger Then Log($"Tienda:${ubicacionTienda.Latitude}, ${ubicacionTienda.Longitude}"$) + b_ubicacion.TextSize = 13 + b_ubicacion.Text = $"Precisión GPS $1.0{Location1.Accuracy} m"$ + If Location1.Accuracy > 200 Then + b_ubicacion.TextColor = Colors.Red + b_ubicacion.TextSize = 16 + b_ubicacion.Text = $"Mala señal $1.0{Location1.Accuracy} m"$ + End If + laDist= Location1.DistanceTo(ubicacionTienda) + l_ubicacion2.Text = $"Dist: $1.0{laDist} mts."$ + If laDist > 300 Then l_ubicacion2.TextColor = Colors.Red Else l_ubicacion2.TextColor = Colors.Black + + '''' GEO CERCA + '''' esto es para la geocerca validar tambien el las variables del whats y del no venta que las borra si existe venta + Dim l1, l2 As Location +' Log($"${Starter.lat_gps}, ${Starter.lon_gps}"$) + If Starter.lat_gps = "null" Or Starter.lat_gps = Null Or Starter.lat_gps = "" Then 'Zocalo + Starter.lat_gps = "19.432568527069805" + Starter.lon_gps = "-99.13335030112772" + End If + l1.Initialize2(Starter.lat_gps, Starter.lon_gps) + + +' Log($"Coordenadas de la tienda - lat:${m_lat}, lon:${m_lon}"$) + l2.Initialize2(m_lat, m_lon) + + Dim distance As Long + distance = l1.DistanceTo(l2) ' resultado en metros + gest.Visible = True +' gps_boton_doe ="1" +' LogColor($"Distancia actual: ${distance}"$, Colors.Blue) + If distance <= 5000000 Or usuario = "KMTSKLL1" Then +' If pgs_boton_noventa = "1" Then b_noVenta.Visible = True +' If gps_boton_doe ="1" Then b_whats.Visible = True + B_VENTA.Visible = True + pedido_doe_muestra + Else + b_noVenta.Visible = False + B_VENTA.Visible = False + b_whats.Visible = False + End If + ''' fin de la geocerca +End Sub + +Sub ListView1_ItemLongClick (Position As Int, Value As Object) + +End Sub + +Sub gest_Click + Starter.tipov = "PREVENTA" + Subs.iniciaActividad("Productos") +End Sub + +Sub b_noVenta_Click + Subs.iniciaActividad("noventa") +End Sub + +Private Sub B4XPage_CloseRequest As ResumableSub + ' BACK key pressed + 'Return True to close, False to cancel + If PNL_TOTALES.Visible Then + PNL_TOTALES.Visible = False + P_BOLETA.Visible = False + P_INF_GENERAL.Visible = True + Log("Panel general="&P_INF_GENERAL.Visible) + Subs.iniciaActividad("Principal") + else if p_pideGeoPass.Visible Then + p_pideGeoPass.Visible = False + else if Panel_INV_A.Visible Then + Panel_INV_A.Visible = False + P_INF_GENERAL.Visible = True + If logger Then Log("Panel general="&P_INF_GENERAL.Visible) + else if p_promowhats.Visible Then + P_INF_GENERAL.Visible = True + p_promowhats.Visible = False + Else + Msgbox("Presione Imprimir y Guardar para continuar","Aviso") 'ignore + End If + Return False +End Sub + +Sub Tar_Click + Subs.iniciaActividad("nota") +End Sub + +Sub DATOS_Click + Subs.iniciaActividad("telefonos") +End Sub + +Sub Guardar_Click + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + If Starter.lat_gps = 0 Or Starter.lat_gps = Null Then + Private coords As List = Subs.traeCoordsDeBD + Starter.lat_gps = coords.Get(0) + Starter.lon_gps = coords.Get(1) + End If + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + If l_total.Text <> Null And l_total.Text <> "null" Then Subs.ponImpreso(clie_id) 'Solo lo marcamos com impreso si tiene venta (total > 0). + c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position=0 + If c.GetString("CUANTOS") > 0 Then + Starter.skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)") + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + If logger Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta) + Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps)) + Log("Actualizamos gestion") + Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + End If + s=Starter.skmt.ExecQuery("SELECT count(*) AS FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + s.Position = 0 + If s.GetString("FOLIO") > 0 Then + c=Starter.skmt.ExecQuery("SELECT SUM(PE_FOLIO) AS FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position = 0 + End If + s.Close + Starter.skmt.ExecNonQuery("delete from pedido3") + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO ) SELECT PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE ") + c=Starter.skmt.ExecQuery("select PE_PRECIO2,PE_TIPO,PE_DESC,PE_COSTO_SIN,PE_RUTA,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE, PE_FECHA,PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FECHA= ? WHERE PE_CLIENTE = ? AND PE_PRONOMBRE = ? AND PE_PROID = ? AND PE_CEDIS = ? ", Array As Object(c.GetString("PE_FECHA"), c.GetString("PE_CLIENTE"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CEDIS"))) + Next + End If + c.Close + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FOLIO = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As Object(YA_IMPRIMIO2)) + Starter.skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ") + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3") + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_FECHA = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_FECHA IS NULL", Array As Object(sDate & sTime)) + Starter.skmt.ExecNonQuery("delete from PEDIDO where PE_CANT = 0") 'Mod por CHV para que borre los productos que esten con cantidad 0 - 211228 +' Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("ULTIMOMODULO")) +' Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("ULTIMOMODULO", "seleccion")) +' Activity.Finish + CallSubDelayed(Tracker, "StartFLP") + If logger Then Log("Cerramos Cliente, iniciamos Principal") +' B4XPages.ShowPage("Principal") + + + B4XPages.MainPage.productos.reiniciarlistaProds = True + B4XPages.MainPage.productos.prodsMap.Initialize + B4XPages.MainPage.promos.promosMap.Initialize + Subs.iniciaActividad("principal") + B4XPages.ShowPageAndRemovePreviousPages("Principal") +End Sub + +Sub NUEVO_Click + Subs.iniciaActividad("nuevocliente") +End Sub + +Sub HIST_Click + Subs.iniciaActividad("Historico") +End Sub + +Sub BT_QR_Click + Dim scan_width As Int + Dim scan_height As Int + scan_width = 400 + scan_height = 400 + sc.BeginScan("sc","CODIGO CLIENTE",scan_width,scan_height) +End Sub + +Sub sc_result(atype As String,Values As String) + 'Log("Type : " & atype) + 'Log("Value : " & Values) + CODIGO = Values + Starter.skmt.ExecNonQuery2("UPDATE kmt_info set CAT_CL_NUM_SERIEFISICO = ?, CAT_CL_LONG = ?, CAT_CL_LAT =? where CAT_CL_CODIGO In (select cuenta from cuentaa)", Array As Object(CODIGO, Starter.lon_gps, Starter.lat_gps)) +End Sub + +Sub sc_noScan + If logger Then Log("nothing returned from the scan !!!!!") +End Sub + +Sub calc_ean_checksum(number As String) As String 'this has now become redundant as I am only interested in QR Codes + Dim i As Int + Dim cO As Char + Dim soma As Int + Dim n As Int + Dim digit As Float + soma = 0 + For i=0 To number.Length - 1 + digit = number.SubString2(i,i+1) + n= digit * ((i Mod 2) * 2 + 1) + soma=soma+n + Next + Return number & ( ( 10 - ( soma Mod 10 )) Mod 10 ) +End Sub + +Sub b_mapa_Click + Subs.iniciaActividad("mapas") +End Sub + +Sub B_IMP_Click + Starter.skmt.Close : Log("Cerramos BD") : Starter.revisaBD + Subs.panelAnchoAlto(Panel_INV_A, Root.Width, Root.Height) + Panel_INV_A.Visible = True + P_INF_GENERAL.Visible = False + If logger Then Log("Panel general="&P_INF_GENERAL.Visible) + L_INVA.Clear + Dim label1 As Label + label1 = L_INVA.TwoLinesLayout.Label + label1.TextSize = 14 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = L_INVA.TwoLinesLayout.SecondLabel + label2.TextSize = 14 + label2.TextColor = Colors.Black +' Aqui es donde esta el pedo de julieta de los descuentos, quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show. + s=Starter.skmt.ExecQuery2 ("select CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_ALMACEN from cat_gunaprod2 where CAT_GP_CLASIF <> ? ORDER BY CAT_GP_NOMBRE ", Array As String("PROMOS")) + If s.RowCount>0 Then + For i=0 To S.RowCount -1 + s.Position=i + S1=Starter.skmt.ExecQuery2("select CAT_GP_ALMACEN from cat_gunaprod5 where CAT_GP_ID = ?", Array As String(s.GetString("CAT_GP_ID"))) + S1.Position=0 + S3=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from HIST_ABORDO where HIST_PROID = ?", Array As String(s.GetString("CAT_GP_ID"))) + S3.Position=0 + If S3.GetString("CUANTOS") > 0 Then + S2=Starter.skmt.ExecQuery2("select HIST_CANT from HIST_ABORDO where HIST_PROID = ?", Array As String(s.GetString("CAT_GP_ID"))) + S2.Position=0 + a_inicial = S1.GetString("CAT_GP_ALMACEN") - S2.GetString("HIST_CANT") + Else + a_inicial = S1.GetString("CAT_GP_ALMACEN") + End If + a_inicial_5 = S1.GetString("CAT_GP_ALMACEN") + If S3.GetString("CUANTOS") > 0 Then + ABORDO = S2.GetString("HIST_CANT") + Else + ABORDO = 0 + End If + a_total = S1.GetString("CAT_GP_ALMACEN") + C4=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from pedido where substr(pe_pronombre,1,6) <> ? AND PE_PROID = ? AND PE_TIPO = ? ", Array As String("CAMBIO", s.GetString("CAT_GP_ID"), "VENTA")) + C4.Position=0 + If C4.GetString("CUANTOS") > 0 Then + C3=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD,PE_PRONOMBRE, sum(PE_COSTO_TOT) AS TOTAL from pedido where substr(pe_pronombre,1,6) <> ? AND PE_PROID = ? AND PE_TIPO = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO", s.GetString("CAT_GP_ID"), "VENTA")) + C3.Position=0 + a_venta = C3.GetString("CANTIDAD") + a_VENTA_F = C3.GetString("TOTAL") + Else + a_venta = 0 + a_VENTA_F = 0 + End If + C4.Close + + C4=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from pedido where substr(pe_pronombre,1,6) = ? AND PE_PROID = ? ", Array As String("CAMBIO", s.GetString("CAT_GP_ID"))) + C4.Position=0 + If C4.GetString("CUANTOS") > 0 Then + C1=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD,PE_PRONOMBRE from pedido where substr(pe_pronombre,1,6) = ? AND PE_PROID = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO", s.GetString("CAT_GP_ID"))) + C1.Position=0 + RMI = C1.GetString("CANTIDAD") + C1.Close + Else + RMI = 0 + End If + C4.Close + a_final = a_inicial_5 - a_venta - RMI + L_INVA.AddTwoLines(s.GetString("CAT_GP_NOMBRE"), "II-" & a_inicial & ".CD." & ABORDO & ".IIT." & a_total & ".VT." & a_venta & "..$" & a_VENTA_F & ".IF." & a_final & ".RMI." & RMI) + Next + End If + s.Close +End Sub + +Sub B_IMP2_Click + Log("inicia B_IMP2_Click") + B_IMP2.Enabled = False + If l_total.Text <> Null And l_total.Text <> "null" Then Subs.ponImpreso(la_cuenta.Text) 'Solo lo marcamos como impreso si tiene venta (total > 0). + ProgressDialogShow("Imprimiendo, un momento ...") + Printer1.DisConnect + If Not(Printer1.IsConnected) Then + If logger Then Log("conectando 1") + Printer1.Connect + Private cont As Int = 0 + Do While Not(impresoraConectada) + Sleep(1000) + cont = cont + 1 + If cont = 7 Then Printer1.Connect 'Tratamos de reconectar + If cont > 15 Then impresoraConectada = True + Loop + Sleep(500) + impresoraConectada = False + Else + If logger Then Log("conectando 2") + Printer1.Connect + Private cont As Int = 0 + Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) + Sleep(1000) + cont = cont + 1 + If cont = 2 Then Printer1.Connect + If cont > 4 Then impresoraConectada = True + Loop + Sleep(500) + impresoraConectada = False + End If +' If Logger Then Log($"Impresora Conectada: ${Printer1.IsConnected}"$) + If la_cuenta.Text <> "0" And la_cuenta.Text <> "null" Then + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_TIPO = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ", Array As Object("VENTA")) + Starter.skmt.ExecNonQuery("UPDATE kmt_info set IMPRESION = 1 where CAT_CL_CODIGO In (select cuenta from cuentaa)")'' + Guardar.Visible = True + End If + Starter.skmt.ExecNonQuery("delete from pedido3") + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO ) SELECT PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE ") + c=Starter.skmt.ExecQuery("select PE_PRECIO2,PE_TIPO,PE_FOLIO,PE_DESC,PE_COSTO_SIN,PE_RUTA,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE, PE_FECHA,PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FECHA= ? WHERE PE_CLIENTE = ? AND PE_PRONOMBRE = ? AND PE_PROID = ? AND PE_CEDIS = ? AND PE_FOLIO = ?", Array As Object(c.GetString("PE_FECHA"), c.GetString("PE_CLIENTE"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CEDIS"), c.GetString("PE_FOLIO"))) + Next + End If + Starter.skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ") + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3") + + c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL")) + c.Position =0 + perfil = c.GetString("CUANTOS") + c.Close + If perfil > 0 Then + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL")) + c.Position =0 + perfil = c.GetString("CAT_VA_VALOR") + c.Close + End If + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c.Close + c=Starter.skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION =?", Array As String ("SUCURSAL")) + c.Position = 0 + sucursal = c.GetString("CAT_VA_VALOR") + c.Close + TAMANO = 0 + ESPACIO = 14 + BLANCO = " " + 'esto para las impresoras nuevas + 'printer.Initialize(cmp20.OutputStream) + Printer1.Reset + Dim bmp As Bitmap + bmp.InitializeResize(File.DirAssets, "kelloggs.png", 376, 129, True) 'ignore + Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp) + myimage = Printer1.DitherImage2D(myimage, 128) + myimage= Printer1.PackImage(myimage) + + Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening + Printer1.WriteString(Printer1.REVERSE) + Printer1.PrintImage(myimage) + Printer1.WriteString(Printer1.UNREVERSE) + '' Printer1.Justify = 1 + If la_cuenta.Text = "0" Then + Try + Printer1.WriteString("KELLOGG COMPANY MEXICO" & CRLF) + Printer1.WriteString(sDate &" " & sTime & CRLF) + Printer1.WriteString("Vendedor:" & usuario & CRLF) + Printer1.WriteString("Ruta:" & ruta_tienda & CRLF) + Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF) + Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF) + Printer1.WriteString("Calle: " & la_Calle.Text & CRLF) + Printer1.WriteString("Colonia: " & la_col.Text & CRLF) + Printer1.WriteString("C.P.: " & la_cp.Text & CRLF) + Printer1.WriteString("Entre calle1: " & l_entre1.Text & CRLF) + Printer1.WriteString("Entre Calle2: " & l_entre2.Text & CRLF) + Printer1.WriteString(" " & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("PEDIDO" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and substr(pe_pronombre,1,6) <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE", Array As String("ABORDO","CAMBIO")) + If S.RowCount>0 Then + For i=0 To S.RowCount -1 + S.Position=i + If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then + Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) + Else + Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF) + Private strT As String = "" + strT = s.GetString("L_CANT")&s.GetString("L_COSTOU")&s.GetString("L_COSTO_TOT") + TAMANO = strT.Length + ESPACIO = ESPACIO - TAMANO + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next +' If Logger Then Log($"|${ESPACIO}|, |${TAMANO}|, |${BLANCO}|"$) + Private pecostou As String = 0 + If s.GETSTRING("PE_COSTOU") <> Null And IsNumber(s.GETSTRING("PE_COSTOU")) Then pecostou = s.GETSTRING("PE_COSTOU") + Private pecostotot As String = 0 + If s.GETSTRING("PE_COSTO_TOT") <> Null And IsNumber(s.GETSTRING("PE_COSTO_TOT")) Then pecostotot = s.GETSTRING("PE_COSTO_TOT") + Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & NumberFormat2(pecostou, 1, 2, 2, False) & " $" & NumberFormat2(pecostotot, 1, 2, 2, False) & CRLF) +' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF) + TAMANO = 0 + ESPACIO = 14 + BLANCO = " " + End If + Next + End If + s.Close + Printer1.WriteString(CRLF) + Printer1.WriteString("------------RMI---------------" & CRLF) + s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and substr(pe_pronombre,1,6) = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE", Array As String("ABORDO","CAMBIO")) + If S.RowCount>0 Then + For i=0 To S.RowCount -1 + TAMANO = 0 + ESPACIO = 14 + BLANCO = " " + S.Position=i + If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then + Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) + Else + Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF) + Private strT As String = "" + strT = s.GetString("L_CANT")&s.GetString("L_COSTOU")&s.GetString("L_COSTO_TOT") + TAMANO = strT.Length + ESPACIO = ESPACIO - TAMANO + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next + Private pecostou As String = 0 + If s.GETSTRING("PE_COSTOU") <> Null And IsNumber(s.GETSTRING("PE_COSTOU")) Then pecostou = s.GETSTRING("PE_COSTOU") + Private pecostotot As String = 0 + If s.GETSTRING("PE_COSTO_TOT") <> Null And IsNumber(s.GETSTRING("PE_COSTO_TOT")) Then pecostotot = s.GETSTRING("PE_COSTO_TOT") + Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & NumberFormat2(pecostou, 1, 2, 2, False) & " $" & NumberFormat2(pecostotot, 1, 2, 2, False) & CRLF) +' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF) + TAMANO = 0 + ESPACIO = 14 + BLANCO = " " + End If + If logger Then Log($"|${ESPACIO}|, |${TAMANO}|, |${BLANCO}|"$) + Next + End If + s.Close + Printer1.WriteString(CRLF) + + s=Starter.skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("ABORDO")) + s.Position =0 + Private sTotal1 As Double + If s.GetString("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then + sTotal1 = s.GetString("TOTAL") + Else + sTotal1 = 0 + End If + Printer1.WriteString( "Total entrega: $" & NumberFormat2(sTotal1, 1, 2, 2, False) & CRLF) + + Printer1.WriteString("===============================" & CRLF) + ''bold para las nuevas impresoras + Private total3 As String = 0 + If s.GETSTRING("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then total3 = s.GETSTRING("TOTAL") + Printer1.WriteString( Printer1.BOLD & "Total pedido: $" & NumberFormat2(total3, 1, 2, 2, False) & CRLF) + + s.Close + s=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS TOTAL FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("ABORDO")) + s.Position =0 + Private total4 As String = "0" + If s.GetString("TOTAL") <> Null And IsNumber(s.GetString("TOTAL")) Then total4 = s.GetString("TOTAL") + Printer1.WriteString( Printer1.BOLD & "No. Productos: " & total4 & CRLF) + Printer1.WriteString("===============================" & CRLF) + s.Close + Printer1.WriteString(Printer1.DEFAULTS) + +' printer.WriteLine("------------VENTA-------------") + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + + Printer1.WriteString( "Nombre y Firma del cliente" & CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString("__________" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF) + Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF) + Printer1.WriteString("--------INFORMATIVO-----------" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + 'printer.Close + Sleep(1000) + Printer1.DisConnect + Catch + ToastMessageShow("Error en la impresion 1.", True) + Printer1.Disconnect + B4XPages.ShowPage("Principal") + End Try + Else + Try + DateTime.DateFormat = "yyyymmdd" + sDate=DateTime.Date(DateTime.Now) + Printer1.WriteString("KELLOGG COMPANY MEXICO" & CRLF) + Printer1.WriteString("No. Ticket: " & sDate & la_cuenta.Text & CRLF) + + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + + Printer1.WriteString(sDate &" " & sTime & CRLF) + Printer1.WriteString("Vendedor:" & usuario & CRLF) + Printer1.WriteString("Ruta:" & ruta_tienda & CRLF) + Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF) + Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF) + Printer1.WriteString("Calle: " & la_Calle.Text & CRLF) + Printer1.WriteString("Colonia: " & la_col.Text & CRLF) + Printer1.WriteString("C.P.: " & la_cp.Text & CRLF) + Printer1.WriteString("Entre calle1: " & l_entre1.Text & CRLF) + Printer1.WriteString("Entre Calle2: " & l_entre2.Text & CRLF) + Printer1.WriteString(" " & CRLF) + + ''''''' PEDIDOS DOE + + s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS,PE_PRONOMBRE", Array As String("DOE")) + + '' s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and pe_codpromo = ? and substr(pe_pronombre,1,6) <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS,PE_PRONOMBRE", Array As String("VENTA", "DOE", "CAMBIO")) + If S.RowCount>0 Then + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("PEDIDO DON TOÑO" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + For i=0 To S.RowCount -1 + S.Position=i + + If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then + Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) + Else + Private strT As String = "" + Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF) + Private strT As String = "" + strT = s.GetString("L_CANT")&s.GetString("L_COSTOU")&s.GetString("L_COSTO_TOT") + TAMANO = strT.Length + ESPACIO = ESPACIO - TAMANO + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next + Private pecostou As String = 0 + If s.GETSTRING("PE_COSTOU") <> Null And IsNumber(s.GETSTRING("PE_COSTOU")) Then pecostou = s.GETSTRING("PE_COSTOU") + Private pecostotot As String = 0 + If s.GETSTRING("PE_COSTO_TOT") <> Null And IsNumber(s.GETSTRING("PE_COSTO_TOT")) Then pecostotot = s.GETSTRING("PE_COSTO_TOT") + Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & NumberFormat2(pecostou, 1, 2, 2, False) & " $" & NumberFormat2(pecostotot, 1, 2, 2, False) & CRLF) +' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF) +' If Logger Then Log($"|${ESPACIO}|, |${TAMANO}|, |${BLANCO}|"$) + TAMANO = 0 + ESPACIO = 14 + BLANCO = " " + End If + Next + End If + s.Close + + s=Starter.skmt.ExecQuery2("select sum(PE_CANT) as CANTIDAD, SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CEDIS <> PE_PROID AND PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("DOE")) + s.Position = 0 + Private sTotal2 As Double + If s.GetString("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then + sTotal2 = s.GetString("TOTAL") + Printer1.WriteString( $"Sub Total : $${NumberFormat2(sTotal2, 1, 2, 2, False)}"$ & CRLF) + + Else + sTotal2 = 0 + End If + Private cantidad1 As String = "0" + If s.GetString("CANTIDAD") <> Null And IsNumber(s.GetString("CANTIDAD")) Then + cantidad1 = s.GetString("CANTIDAD") + + Printer1.WriteString( "No. Productos: " & cantidad1 & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("FIN PEDIDO DON TOÑO" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + End If + + ' Printer1.WriteString(CRLF) + s.Close + ''''SE MODIFCA EL QUERY POR LOS PEDIDOS DOE + S=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and substr(pe_pronombre,1,6) <> ? AND PE_CEDIS <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS,PE_PRONOMBRE", Array As String("VENTA","CAMBIO","DOE")) + + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("VENTA" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + ''s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and pe_codpromo <> ? and substr(pe_pronombre,1,6) <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS,PE_PRONOMBRE", Array As String("VENTA", "DOE", "CAMBIO")) + If S.RowCount>0 Then + For i=0 To S.RowCount -1 + S.Position=i + If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then + Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) + Else + Private strT As String = "" + Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF) + Private strT As String = "" + strT = s.GetString("L_CANT")&s.GetString("L_COSTOU")&s.GetString("L_COSTO_TOT") + TAMANO = strT.Length + ESPACIO = ESPACIO - TAMANO + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next + Private pecostou As String = 0 + If s.GETSTRING("PE_COSTOU") <> Null And IsNumber(s.GETSTRING("PE_COSTOU")) Then pecostou = s.GETSTRING("PE_COSTOU") + Private pecostotot As String = 0 + If s.GETSTRING("PE_COSTO_TOT") <> Null And IsNumber(s.GETSTRING("PE_COSTO_TOT")) Then pecostotot = s.GETSTRING("PE_COSTO_TOT") + Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & NumberFormat2(pecostou, 1, 2, 2, False) & " $" & NumberFormat2(pecostotot, 1, 2, 2, False) & CRLF) +' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF) +' If Logger Then Log($"|${ESPACIO}|, |${TAMANO}|, |${BLANCO}|"$) + TAMANO = 0 + ESPACIO = 14 + BLANCO = " " + End If + Next + End If + s.Close + s=Starter.skmt.ExecQuery2("select sum(PE_CANT) as CANTIDAD, SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CEDIS <> PE_PROID AND PE_TIPO = ? and substr(pe_pronombre,1,6) <> ? AND PE_CEDIS <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA","CAMBIO","DOE")) + s.Position = 0 + Private sTotal2 As Double + If s.GetString("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then + sTotal2 = s.GetString("TOTAL") + Else + sTotal2 = 0 + End If + Printer1.WriteString(Printer1.REVERSE & "===============================" & CRLF) + Printer1.WriteString( Printer1.UNREVERSE & Printer1.BOLD & $"Sub Total Venta: $${NumberFormat2(sTotal2, 1, 2, 2, False)}"$ & CRLF) + Private cantidad1 As String = "0" + If s.GetString("CANTIDAD") <> Null And IsNumber(s.GetString("CANTIDAD")) Then cantidad1 = s.GetString("CANTIDAD") + Printer1.WriteString( Printer1.UNREVERSE & Printer1.BOLD & "No. Productos: " & cantidad1 & CRLF) + Printer1.WriteString(CRLF) + s.Close + Printer1.WriteString("------------RMI---------------" & CRLF) + s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and substr(pe_pronombre,1,6) = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA","CAMBIO")) + If S.RowCount>0 Then + For i=0 To S.RowCount -1 + S.Position=i + If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then + Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) + + Else + Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF) + Private strT As String = "" + strT = s.GetString("L_CANT")&s.GetString("L_COSTOU")&s.GetString("L_COSTO_TOT") + TAMANO = strT.Length + ESPACIO = ESPACIO - TAMANO + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next + Private pecostou As String = 0 + If s.GETSTRING("PE_COSTOU") <> Null And IsNumber(s.GETSTRING("PE_COSTOU")) Then pecostou = s.GETSTRING("PE_COSTOU") + Private pecostotot As String = 0 + If s.GETSTRING("PE_COSTO_TOT") <> Null And IsNumber(s.GETSTRING("PE_COSTO_TOT")) Then pecostotot = s.GETSTRING("PE_COSTO_TOT") + Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & NumberFormat2(pecostou, 1, 2, 2, False) & " $" & NumberFormat2(pecostotot, 1, 2, 2, False) & CRLF) +' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF) + If logger Then Log($"|${ESPACIO}|, |${TAMANO}|, |${BLANCO}|"$) + TAMANO = 0 + ESPACIO = 14 + BLANCO = " " + End If + Next + End If + s.Close + + s=Starter.skmt.ExecQuery2("select sum(PE_CANT) as CANTIDAD, SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CEDIS <> PE_PROID AND PE_TIPO = ? and substr(pe_pronombre,1,6) = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA","CAMBIO")) + s.Position = 0 + Private sTotal3 As Double + If s.GetString("TOTAL") <> Null And IsNumber(s.GetString("TOTAL")) Then + sTotal3 = s.GetString("TOTAL") + Else + sTotal3 = 0 + End If + Printer1.WriteString(Printer1.REVERSE & "===============================" & CRLF) + Printer1.WriteString(Printer1.UNREVERSE & Printer1.BOLD & "Sub Total CAMBIOS: $" & NumberFormat2(sTotal3, 1, 2, 2, False) & CRLF) + Private cantidad2 As String = "0" + If s.GetString("CANTIDAD") <> Null And IsNumber(s.GetString("CANTIDAD")) Then cantidad2 = s.GetString("CANTIDAD") + Printer1.WriteString( Printer1.UNREVERSE & Printer1.BOLD & "No. Productos: " & cantidad2 & CRLF) + Printer1.WriteString(CRLF) + s.Close + Printer1.WriteString(CRLF) + s=Starter.skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA")) + s.Position =0 + Printer1.WriteString(Printer1.REVERSE & "===============================" & CRLF) + Private total2 As String = 0 + If s.GETSTRING("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then total2 = s.GETSTRING("TOTAL") + Printer1.WriteString(Printer1.UNREVERSE & Printer1.BOLD & "Total venta: $" & NumberFormat2(total2, 1, 2, 2, False) & CRLF) +' Printer1.WriteString(Printer1.UNREVERSE & Printer1.BOLD & "Total venta: $" & s.GetString("TOTAL") & CRLF) +' Printer1.WriteString("===============================" & CRLF) +' +' Printer1.WriteString( "Total venta: $" & s.GetString("TOTAL") & CRLF) + s.Close + s=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS TOTAL FROM PEDIDO WHERE PE_CEDIS <> PE_PROID AND PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA")) + s.Position =0 + Private total5 As String = "0" + If s.GetString("TOTAL") <> Null And IsNumber(s.GetString("TOTAL")) Then total5 = s.GetString("TOTAL") + Printer1.WriteString(Printer1.BOLD & "No. Productos vendidos: " & (total5 - cantidad2) & CRLF) + Printer1.WriteString(Printer1.BOLD & "Productos devueltos : " & cantidad2 & CRLF) + Printer1.WriteString(Printer1.REVERSE & "===============================" & CRLF) +' Printer1.WriteString( "No. Productos: " & s.GetString("TOTAL") & CRLF) +' Printer1.WriteString( "===============================" & CRLF) + s.Close + Printer1.WriteString(Printer1.UNREVERSE) + Printer1.WriteString(Printer1.NOBOLD) +' printer.WriteLine("------------VENTA-------------") +' printer.WriteLine("TOTAL COMPRA: $:" & total_cliente) +' Printer1.WriteString(Printer1.DEFAULTS & CRLF) + Printer1.WriteString(CRLF) + ' Printer1.WriteString(Printer1.SINGLE) + 'Printer1.WriteString("------------------------------") + ' Printer1.WriteString(Printer1.HIGH) + ' Printer1.Justify = 1 + Printer1.WriteString( "Nombre y Firma del cliente" & CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + ' Printer1.WriteString(Printer1.DEFAULTS) + ' Printer1.WriteString(Printer1.SINGLE) + Printer1.WriteString("__________" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF) + Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF) + Printer1.WriteString("--------INFORMATIVO-----------" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Sleep(1000) + Printer1.DisConnect + Catch + ToastMessageShow("Error en la impresion 2.", True) + Printer1.Disconnect + B4XPages.ShowPage("Principal") + End Try + End If + Sleep(1000) + B_IMP2.Enabled = True + ProgressDialogHide +' If Logger Then Log("Habilitamos boton") +End Sub + +Sub B_IMP2BAK_Click + Log("inicia B_IMP2_Click") + + 'Comente las siguientes lineas porque como ahora los RMIs entran en negativo y se restan del total de la venta, ya no son validas. +' Private t As Cursor = Starter.skmt.ExecQuery("select sum(PE_PRECIO2) as totalRMI from pedido where PE_PRONOMBRE like 'CAMBIO%' and PE_CLIENTE In (Select cuenta from cuentaa)") +' t.Position = 0 +' Private rmiTotal As String = "0" +' If t.GetString("totalRMI") <> Null Then rmiTotal = t.GetString("totalRMI") +' Log("RMI TOTAL=" & rmiTotal) +' If l_total.Text <> Null And l_total.Text <> "null" And l_total.Text < rmiTotal Then +' Msgbox("El total de RMIs es mayor que la venta, por favor quitar RMIs", "No hay suficiente venta") 'ignore +' Return +' End If + + B_IMP2.Enabled = False + If l_total.Text <> Null And l_total.Text <> "null" Then Subs.ponImpreso(la_cuenta.Text) 'Solo lo marcamos como impreso si tiene venta (total > 0). + ProgressDialogShow("Imprimiendo, un momento ...") + Printer1.DisConnect + If Not(Printer1.IsConnected) Then + If logger Then Log("conectando 1") + Printer1.Connect + Private cont As Int = 0 + Do While Not(impresoraConectada) + Sleep(1000) + cont = cont + 1 + If cont = 7 Then Printer1.Connect 'Tratamos de reconectar + If cont > 15 Then impresoraConectada = True + Loop + Sleep(500) + impresoraConectada = False + Else + If logger Then Log("conectando 2") + Printer1.Connect + Private cont As Int = 0 + Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) + Sleep(1000) + cont = cont + 1 + If cont = 2 Then Printer1.Connect + If cont > 4 Then impresoraConectada = True + Loop + Sleep(500) + impresoraConectada = False + End If +' If Logger Then Log($"Impresora Conectada: ${Printer1.IsConnected}"$) + If la_cuenta.Text <> "0" And la_cuenta.Text <> "null" Then + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_TIPO = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ", Array As Object("VENTA")) + Starter.skmt.ExecNonQuery("UPDATE kmt_info set IMPRESION = 1 where CAT_CL_CODIGO In (select cuenta from cuentaa)")'' + Guardar.Visible = True + End If + Starter.skmt.ExecNonQuery("delete from pedido3") + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO ) SELECT PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE ") + c=Starter.skmt.ExecQuery("select PE_PRECIO2,PE_TIPO,PE_FOLIO,PE_DESC,PE_COSTO_SIN,PE_RUTA,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE, PE_FECHA,PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FECHA= ? WHERE PE_CLIENTE = ? AND PE_PRONOMBRE = ? AND PE_PROID = ? AND PE_CEDIS = ? AND PE_FOLIO = ?", Array As Object(c.GetString("PE_FECHA"), c.GetString("PE_CLIENTE"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CEDIS"), c.GetString("PE_FOLIO"))) + Next + End If + Starter.skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ") + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3") + + c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL")) + c.Position =0 + perfil = c.GetString("CUANTOS") + c.Close + If perfil > 0 Then + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL")) + c.Position =0 + perfil = c.GetString("CAT_VA_VALOR") + c.Close + End If + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c.Close + c=Starter.skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION =?", Array As String ("SUCURSAL")) + c.Position = 0 + sucursal = c.GetString("CAT_VA_VALOR") + c.Close + TAMANO = 0 + ESPACIO = 14 + BLANCO = " " + 'esto para las impresoras nuevas + 'printer.Initialize(cmp20.OutputStream) + Printer1.Reset + Dim bmp As Bitmap + bmp.InitializeResize(File.DirAssets, "kelloggs.png", 376, 129, True) 'ignore + Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp) + myimage = Printer1.DitherImage2D(myimage, 128) + myimage= Printer1.PackImage(myimage) + + Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening + Printer1.WriteString(Printer1.REVERSE) + Printer1.PrintImage(myimage) + Printer1.WriteString(Printer1.UNREVERSE) +' Printer1.Justify = 1 + If la_cuenta.Text = "0" Then + Try + Printer1.WriteString("KELLOGG COMPANY MEXICO" & CRLF) + Printer1.WriteString(sDate &" " & sTime & CRLF) + Printer1.WriteString("Vendedor:" & usuario & CRLF) + Printer1.WriteString("Ruta:" & ruta_tienda & CRLF) + Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF) + Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF) + Printer1.WriteString("Calle: " & la_Calle.Text & CRLF) + Printer1.WriteString("Colonia: " & la_col.Text & CRLF) + Printer1.WriteString("C.P.: " & la_cp.Text & CRLF) + Printer1.WriteString("Entre calle1: " & l_entre1.Text & CRLF) + Printer1.WriteString("Entre Calle2: " & l_entre2.Text & CRLF) + Printer1.WriteString(" " & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("PEDIDO" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and substr(pe_pronombre,1,6) <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE", Array As String("ABORDO","CAMBIO")) + If S.RowCount>0 Then + For i=0 To S.RowCount -1 + S.Position=i + If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then + Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) + Else + Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF) + Private strT As String = "" + strT = s.GetString("L_CANT")&s.GetString("L_COSTOU")&s.GetString("L_COSTO_TOT") + TAMANO = strT.Length + ESPACIO = ESPACIO - TAMANO + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next +' If Logger Then Log($"|${ESPACIO}|, |${TAMANO}|, |${BLANCO}|"$) + Private pecostou As String = 0 + If s.GETSTRING("PE_COSTOU") <> Null And IsNumber(s.GETSTRING("PE_COSTOU")) Then pecostou = s.GETSTRING("PE_COSTOU") + Private pecostotot As String = 0 + If s.GETSTRING("PE_COSTO_TOT") <> Null And IsNumber(s.GETSTRING("PE_COSTO_TOT")) Then pecostotot = s.GETSTRING("PE_COSTO_TOT") + Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & NumberFormat2(pecostou, 1, 2, 2, False) & " $" & NumberFormat2(pecostotot, 1, 2, 2, False) & CRLF) +' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF) + TAMANO = 0 + ESPACIO = 14 + BLANCO = " " + End If + Next + End If + s.Close + Printer1.WriteString(CRLF) + Printer1.WriteString("------------RMI---------------" & CRLF) + s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and substr(pe_pronombre,1,6) = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE", Array As String("ABORDO","CAMBIO")) + If S.RowCount>0 Then + For i=0 To S.RowCount -1 + TAMANO = 0 + ESPACIO = 14 + BLANCO = " " + S.Position=i + If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then + Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) + Else + Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF) + Private strT As String = "" + strT = s.GetString("L_CANT")&s.GetString("L_COSTOU")&s.GetString("L_COSTO_TOT") + TAMANO = strT.Length + ESPACIO = ESPACIO - TAMANO + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next + Private pecostou As String = 0 + If s.GETSTRING("PE_COSTOU") <> Null And IsNumber(s.GETSTRING("PE_COSTOU")) Then pecostou = s.GETSTRING("PE_COSTOU") + Private pecostotot As String = 0 + If s.GETSTRING("PE_COSTO_TOT") <> Null And IsNumber(s.GETSTRING("PE_COSTO_TOT")) Then pecostotot = s.GETSTRING("PE_COSTO_TOT") + Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & NumberFormat2(pecostou, 1, 2, 2, False) & " $" & NumberFormat2(pecostotot, 1, 2, 2, False) & CRLF) +' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF) + TAMANO = 0 + ESPACIO = 14 + BLANCO = " " + End If + If logger Then Log($"|${ESPACIO}|, |${TAMANO}|, |${BLANCO}|"$) + Next + End If + s.Close + Printer1.WriteString(CRLF) + + s=Starter.skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("ABORDO")) + s.Position =0 + Private sTotal1 As Double + If s.GetString("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then + sTotal1 = s.GetString("TOTAL") + Else + sTotal1 = 0 + End If + Printer1.WriteString( "Total entrega: $" & NumberFormat2(sTotal1, 1, 2, 2, False) & CRLF) + + Printer1.WriteString("===============================" & CRLF) + ''bold para las nuevas impresoras + Private total3 As String = 0 + If s.GETSTRING("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then total3 = s.GETSTRING("TOTAL") + Printer1.WriteString( Printer1.BOLD & "Total pedido: $" & NumberFormat2(total3, 1, 2, 2, False) & CRLF) + + s.Close + s=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS TOTAL FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("ABORDO")) + s.Position =0 + Private total4 As String = "0" + If s.GetString("TOTAL") <> Null And IsNumber(s.GetString("TOTAL")) Then total4 = s.GetString("TOTAL") + Printer1.WriteString( Printer1.BOLD & "No. Productos: " & total4 & CRLF) + Printer1.WriteString("===============================" & CRLF) + s.Close + Printer1.WriteString(Printer1.DEFAULTS) + +' printer.WriteLine("------------VENTA-------------") + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + + Printer1.WriteString( "Nombre y Firma del cliente" & CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString("______________________________" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF) + Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF) + Printer1.WriteString("--------INFORMATIVO-----------" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + 'printer.Close + Sleep(1000) + Printer1.DisConnect + Catch + ToastMessageShow("Error en la impresion 1.", True) + Printer1.Disconnect + Subs.iniciaActividad("Principal") +' B4XPages.ShowPage("Principal") + End Try + Else + Try + DateTime.DateFormat = "yyyymmdd" + sDate=DateTime.Date(DateTime.Now) + Printer1.WriteString("KELLOGG COMPANY MEXICO" & CRLF) + Printer1.WriteString("No. Ticket: " & sDate & la_cuenta.Text & CRLF) + + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + + Printer1.WriteString(sDate &" " & sTime & CRLF) + Printer1.WriteString("Vendedor:" & usuario & CRLF) + Printer1.WriteString("Ruta:" & ruta_tienda & CRLF) + Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF) + Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF) + Printer1.WriteString("Calle: " & la_Calle.Text & CRLF) + Printer1.WriteString("Colonia: " & la_col.Text & CRLF) + Printer1.WriteString("C.P.: " & la_cp.Text & CRLF) + Printer1.WriteString("Entre calle1: " & l_entre1.Text & CRLF) + Printer1.WriteString("Entre Calle2: " & l_entre2.Text & CRLF) + Printer1.WriteString(" " & CRLF) + + ''''''' PEDIDOS DOE + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("PEDIDO DON TOÑO" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS,PE_PRONOMBRE", Array As String("DOE")) + + '' s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and pe_codpromo = ? and substr(pe_pronombre,1,6) <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS,PE_PRONOMBRE", Array As String("VENTA", "DOE", "CAMBIO")) + If S.RowCount>0 Then + For i=0 To S.RowCount -1 + S.Position=i + If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then + Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) + Else + Private strT As String = "" + Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF) + Private strT As String = "" + strT = s.GetString("L_CANT")&s.GetString("L_COSTOU")&s.GetString("L_COSTO_TOT") + TAMANO = strT.Length + ESPACIO = ESPACIO - TAMANO + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next + Private pecostou As String = 0 + If s.GETSTRING("PE_COSTOU") <> Null And IsNumber(s.GETSTRING("PE_COSTOU")) Then pecostou = s.GETSTRING("PE_COSTOU") + Private pecostotot As String = 0 + If s.GETSTRING("PE_COSTO_TOT") <> Null And IsNumber(s.GETSTRING("PE_COSTO_TOT")) Then pecostotot = s.GETSTRING("PE_COSTO_TOT") + Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & NumberFormat2(pecostou, 1, 2, 2, False) & " $" & NumberFormat2(pecostotot, 1, 2, 2, False) & CRLF) +' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF) +' If Logger Then Log($"|${ESPACIO}|, |${TAMANO}|, |${BLANCO}|"$) + TAMANO = 0 + ESPACIO = 14 + BLANCO = " " + End If + Next + End If + s.Close + + s=Starter.skmt.ExecQuery2("select sum(PE_CANT) as CANTIDAD, SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CEDIS <> PE_PROID AND PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("DOE")) + s.Position = 0 + Private sTotal2 As Double + If s.GetString("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then + sTotal2 = s.GetString("TOTAL") + Else + sTotal2 = 0 + End If + Printer1.WriteString( $"Sub Total : $${NumberFormat2(sTotal2, 1, 2, 2, False)}"$ & CRLF) + Private cantidad1 As String = "0" + If s.GetString("CANTIDAD") <> Null And IsNumber(s.GetString("CANTIDAD")) Then cantidad1 = s.GetString("CANTIDAD") + Printer1.WriteString( "No. Productos: " & cantidad1 & CRLF) + ' Printer1.WriteString(CRLF) + s.Close + ''''SE MODIFCA EL QUERY POR LOS PEDIDOS DOE + S=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and substr(pe_pronombre,1,6) <> ? AND PE_CEDIS <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS,PE_PRONOMBRE", Array As String("VENTA","CAMBIO","DOE")) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("FIN PEDIDO DON TOÑO" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("VENTA" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + ''s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and pe_codpromo <> ? and substr(pe_pronombre,1,6) <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS,PE_PRONOMBRE", Array As String("VENTA", "DOE", "CAMBIO")) + + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("VENTA" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) +' printer.WriteLine("-----------ENTREGA------------") + s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and substr(pe_pronombre,1,6) <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS,PE_PRONOMBRE", Array As String("VENTA","CAMBIO")) + If S.RowCount>0 Then + For i=0 To S.RowCount -1 + S.Position=i + If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then + Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) + Else + Private strT As String = "" + Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF) + Private strT As String = "" + strT = s.GetString("L_CANT")&s.GetString("L_COSTOU")&s.GetString("L_COSTO_TOT") + TAMANO = strT.Length + ESPACIO = ESPACIO - TAMANO + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next + Private pecostou As String = 0 + If s.GETSTRING("PE_COSTOU") <> Null And IsNumber(s.GETSTRING("PE_COSTOU")) Then pecostou = s.GETSTRING("PE_COSTOU") + Private pecostotot As String = 0 + If s.GETSTRING("PE_COSTO_TOT") <> Null And IsNumber(s.GETSTRING("PE_COSTO_TOT")) Then pecostotot = s.GETSTRING("PE_COSTO_TOT") + Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & NumberFormat2(pecostou, 1, 2, 2, False) & " $" & NumberFormat2(pecostotot, 1, 2, 2, False) & CRLF) +' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF) +' If Logger Then Log($"|${ESPACIO}|, |${TAMANO}|, |${BLANCO}|"$) + TAMANO = 0 + ESPACIO = 14 + BLANCO = " " + End If + Next + End If + s.Close + s=Starter.skmt.ExecQuery2("select sum(PE_CANT) as CANTIDAD, SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CEDIS <> PE_PROID AND PE_TIPO = ? and substr(pe_pronombre,1,6) <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA","CAMBIO")) + s.Position = 0 + Private sTotal2 As Double + If s.GetString("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then + sTotal2 = s.GetString("TOTAL") + Else + sTotal2 = 0 + End If + Printer1.WriteString( $"Sub Total Venta: $${NumberFormat2(sTotal2, 1, 2, 2, False)}"$ & CRLF) + Private cantidad1 As String = "0" + If s.GetString("CANTIDAD") <> Null And IsNumber(s.GetString("CANTIDAD")) Then cantidad1 = s.GetString("CANTIDAD") + Printer1.WriteString( "No. Productos: " & cantidad1 & CRLF) + Printer1.WriteString(CRLF) + s.Close + Printer1.WriteString("------------RMI---------------" & CRLF) + s=Starter.skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT, PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_TIPO = ? and substr(pe_pronombre,1,6) = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA","CAMBIO")) + If S.RowCount>0 Then + For i=0 To S.RowCount -1 + S.Position=i + If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then + Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) + + Else + Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF) + Private strT As String = "" + strT = s.GetString("L_CANT")&s.GetString("L_COSTOU")&s.GetString("L_COSTO_TOT") + TAMANO = strT.Length + ESPACIO = ESPACIO - TAMANO + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next + Private pecostou As String = 0 + If s.GETSTRING("PE_COSTOU") <> Null And IsNumber(s.GETSTRING("PE_COSTOU")) Then pecostou = s.GETSTRING("PE_COSTOU") + Private pecostotot As String = 0 + If s.GETSTRING("PE_COSTO_TOT") <> Null And IsNumber(s.GETSTRING("PE_COSTO_TOT")) Then pecostotot = s.GETSTRING("PE_COSTO_TOT") + Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & NumberFormat2(pecostou, 1, 2, 2, False) & " $" & NumberFormat2(pecostotot, 1, 2, 2, False) & CRLF) +' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF) + If logger Then Log($"|${ESPACIO}|, |${TAMANO}|, |${BLANCO}|"$) + TAMANO = 0 + ESPACIO = 14 + BLANCO = " " + End If + Next + End If + s.Close + + s=Starter.skmt.ExecQuery2("select sum(PE_CANT) as CANTIDAD, SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CEDIS <> PE_PROID AND PE_TIPO = ? and substr(pe_pronombre,1,6) = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA","CAMBIO")) + s.Position = 0 + Private sTotal3 As Double + If s.GetString("TOTAL") <> Null And IsNumber(s.GetString("TOTAL")) Then + sTotal3 = s.GetString("TOTAL") + Else + sTotal3 = 0 + End If + Printer1.WriteString( "Sub Total CAMBIOS: $" & NumberFormat2(sTotal3, 1, 2, 2, False) & CRLF) + Private cantidad2 As String = "0" + If s.GetString("CANTIDAD") <> Null And IsNumber(s.GetString("CANTIDAD")) Then cantidad2 = s.GetString("CANTIDAD") + Printer1.WriteString( "No. Productos: " & cantidad2 & CRLF) + Printer1.WriteString(CRLF) + s.Close + Printer1.WriteString(CRLF) + s=Starter.skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA")) + s.Position =0 + Printer1.WriteString(Printer1.REVERSE & "===============================" & CRLF) + Private total2 As String = 0 + If s.GETSTRING("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then total2 = s.GETSTRING("TOTAL") + Printer1.WriteString(Printer1.UNREVERSE & Printer1.BOLD & "Total venta: $" & NumberFormat2(total2, 1, 2, 2, False) & CRLF) +' Printer1.WriteString(Printer1.UNREVERSE & Printer1.BOLD & "Total venta: $" & s.GetString("TOTAL") & CRLF) +' Printer1.WriteString("===============================" & CRLF) +' +' Printer1.WriteString( "Total venta: $" & s.GetString("TOTAL") & CRLF) + s.Close + s=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS TOTAL FROM PEDIDO WHERE PE_CEDIS <> PE_PROID AND PE_TIPO = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("VENTA")) + s.Position =0 + Private total5 As String = "0" + If s.GetString("TOTAL") <> Null And IsNumber(s.GetString("TOTAL")) Then total5 = s.GetString("TOTAL") + Printer1.WriteString(Printer1.BOLD & "No. Productos: " & total5 & CRLF) + Printer1.WriteString(Printer1.REVERSE & "===============================" & CRLF) +' Printer1.WriteString( "No. Productos: " & s.GetString("TOTAL") & CRLF) +' Printer1.WriteString( "===============================" & CRLF) + s.Close + Printer1.WriteString(Printer1.UNREVERSE) + Printer1.WriteString(Printer1.NOBOLD) +' printer.WriteLine("------------VENTA-------------") +' printer.WriteLine("TOTAL COMPRA: $:" & total_cliente) +' Printer1.WriteString(Printer1.DEFAULTS & CRLF) + Printer1.WriteString(CRLF) + ' Printer1.WriteString(Printer1.SINGLE) + 'Printer1.WriteString("------------------------------") + ' Printer1.WriteString(Printer1.HIGH) + ' Printer1.Justify = 1 + Printer1.WriteString( "Nombre y Firma del cliente" & CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + ' Printer1.WriteString(Printer1.DEFAULTS) + ' Printer1.WriteString(Printer1.SINGLE) + Printer1.WriteString("______________________________" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF) + Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF) + Printer1.WriteString("--------INFORMATIVO-----------" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Sleep(1000) + Printer1.DisConnect + Catch + ToastMessageShow("Error en la impresion 2.", True) + Printer1.Disconnect + Subs.iniciaActividad("Principal") +' B4XPages.ShowPage("Principal") + End Try + End If + Sleep(1000) + B_IMP2.Enabled = True + ProgressDialogHide +' If Logger Then Log("Habilitamos boton") +End Sub + +Sub Printer_Connected (Success As Boolean) + If Success Then + B_IMP.Enabled = True + PASA_IMP = "1" + Else + B_IMP.Enabled = False + If Msgbox2("", "Printer Error","Reprint","Cancel","",Null) = DialogResponse.POSITIVE Then 'ignore + StartPrinter + End If + End If +End Sub + +Sub StartPrinter + Dim PairedDevices As Map + Dim L As List + Dim resimp As Int + ToastMessageShow("Printing.....",True) + PairedDevices.Initialize + Try + PairedDevices = cmp20.GetPairedDevices + Catch + Msgbox("Getting Paired Devices","Printer Error") 'ignore + printer.Close + cmp20.Disconnect + End Try + + If PairedDevices.Size = 0 Then + Msgbox("Error Connecting to Printer - Printer Not Found","") 'ignore + Return + End If + + If PairedDevices.Size = 1 Then + Try + cmp20.Connect(PairedDevices.Get(PairedDevices.GetKeyAt(0))) + Catch + Msgbox("Connecting","Printer Error") 'ignore + printer.Close + cmp20.Disconnect + End Try + Else + L.Initialize + For i = 0 To PairedDevices.Size - 1 + L.Add(PairedDevices.GetKeyAt(i)) + Next + resimp = InputList(L, "Choose device", -1) 'ignore + If resimp <> DialogResponse.CANCEL Then + cmp20.Connect(PairedDevices.Get(L.Get(resimp))) + End If + End If +End Sub + + +Sub B_VENTA_Click + If la_cuenta.Text = "0" Then + Starter.tipov = "ABORDO" + Subs.iniciaActividad("Productos") + Else + Cuestionario + End If +End Sub + +'Muestra un boton con las dimensiones, posicion y texto especificados. +Sub muestraBoton (thisButton As Button, theText As String, Left As Int, Top As Int, width As Int, height As Int) + thisButton.Text = theText + thisButton.Tag = theText + thisButton.Left = Left + thisButton.Top = Top + thisButton.Width = width + thisButton.Height = height + thisButton.Visible = True +End Sub + +'Muestra un boton con las dimensiones, posicion y texto especificados. +Sub muestraBotonCentrado (thisButton As Button, theText As String, Top As Int, width As Int, height As Int) 'ignore + Private anchoPantalla As Int + thisButton.Text = theText + thisButton.Tag = theText + anchoPantalla = GetDeviceLayoutValues.Width + thisButton.Left = (anchoPantalla/2) - (width/2) + thisButton.Top = Top + thisButton.Width = width + thisButton.Height = height + thisButton.Visible = True +End Sub + +'Esta subrutina muestra las encuestas. +Sub Cuestionario + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + CUANTOS = 0 + If TOMAR_FOTO = 0 Then + s=Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from HIST_ENCUESTA where HE_CLIE In (Select cuenta from cuentaa)") + s.Position= 0 + CUANTOS = s.GetString("CUANTOS") + Private CUANTOS2 As Int = 0 + s=Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS2 from HIST_ENCUESTA2 where HE_CLIENTE In (Select cuenta from cuentaa)") + s.Position = 0 + CUANTOS2 = s.GetString("CUANTOS2") + If logger Then LogColor($"Hist:encuesta=${CUANTOS}, hist_encuesta2 = ${CUANTOS2}"$, Colors.Magenta) + End If + If CUANTOS = 0 And CUANTOS2 = 0 Then + Private enc As Cursor = Starter.skmt.ExecQuery("SELECT CAT_EP_ID, CAT_EP_IDTIPOPREGUNTA, CAT_CE_DESCRIPCION, CAT_EP_PREGUNTA, CAT_EP_RES1_PRED, CAT_EP_RES2_PRED, CAT_EP_RES3_PRED, CAT_EP_ORDEN_PREGUNTA FROM CAT_ENCUESTA_PREGUNTA ORDER BY CAT_CE_DESCRIPCION, CAST(CAT_EP_ORDEN_PREGUNTA AS DECIMAL)") + If enc.RowCount>0 Then + enc.position = 0 + ToastMessageShow($"CAT_EP_ID=${enc.GetString("CAT_EP_ID")}"$, False) + For i=0 To enc.RowCount -1 + If TOMAR_FOTO = 1 Then + If CURSOR_FOTO + 1 > enc.RowCount -1 Then + TOMAR_FOTO = 0 + Exit + Else + i = CURSOR_FOTO +1 + End If + 'Msgbox(i,"a") + TOMAR_FOTO = 0 + End If + enc.Position=i + Log($"CAT_EP_ID=${enc.GetString("CAT_EP_ID")}, CAT_EP_PREGUNTA=${enc.GetString("CAT_EP_PREGUNTA")}"$) + Dim tipoPregunta As String = enc.GetString("CAT_EP_IDTIPOPREGUNTA") +' If Logger Then Log("=================== "&tipoPregunta) +' If Logger Then Log($"Pregunta tipo: ${tipoPregunta}"$) + ' Msgbox("paso1","a") + If enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 5 Then + id_encuesta = enc.GetString("CAT_EP_ID") + TOMAR_FOTO = 1 + CURSOR_FOTO = i + Subs.iniciaActividad("foto") + ' Msgbox("paso2","a") + Exit + ELSE IF enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 3 Then ' Tipo SI/NO + botonPresionado = 0 ' Bandera para que espere a que se conteste la pregunta + l_titEncuesta.Text = enc.GetString("CAT_CE_DESCRIPCION") + l_txtEncuesta.Text = enc.GetString("CAT_EP_PREGUNTA") + Subs.centraEtiqueta(l_txtEncuesta, Root.Width) + muestraBoton(b_encuesta_1,"SI", centroPantalla-350, 580, 300, 160) + muestraBoton(b_encuesta_2, "NO", centroPantalla+50, 580, 300, 160) + muestraEncuesta + Do Until botonPresionado = 1 'Esperamos que respondan la pregunta + Sleep(0) + Loop + Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, encuestaRes,sDate & sTime,enc.GetString("CAT_EP_ID"))) + ocultaPanelEncuesta + ELSE IF enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 4 Then + res = Msgbox2(c.GetString("CAT_EP_PREGUNTA"),enc.GetString("CAT_CE_DESCRIPCION"), "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore + If res = DialogResponse.POSITIVE Then + Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "SI",sDate & sTime,enc.GetString("CAT_EP_ID"))) + Else IF res = DialogResponse.NEGATIVE Then + Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "NO",sDate & sTime,enc.GetString("CAT_EP_ID"))) + i = enc.GetInt("CAT_EP_RES2_PRED") -2 + Else IF res = DialogResponse.CANCEL Then + i = i -1 + End If + ' Msgbox("paso3","a") + ELSE If enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 2 Then ' Tipo 3 opciones. + botonPresionado = 0 ' Bandera para que espere a que se conteste la pregunta. + l_titEncuesta.Text = enc.GetString("CAT_CE_DESCRIPCION") + l_txtEncuesta.Text = enc.GetString("CAT_EP_PREGUNTA") + muestraBoton(b_encuesta_1, enc.GetString("CAT_EP_RES2_PRED"), centroPantalla-250, 580, 500, 160) + muestraBoton(b_encuesta_2, enc.GetString("CAT_EP_RES3_PRED"), centroPantalla-250, 740, 500, 160) + muestraBoton(b_encuesta_3, enc.GetString("CAT_EP_RES1_PRED"), centroPantalla-250, 900, 500, 160) + muestraEncuesta + Do Until botonPresionado = 1 'Esperamos que respondan la pregunta. + Sleep(0) + Loop + Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, encuestaRes,sDate & sTime,enc.GetString("CAT_EP_ID"))) + ocultaPanelEncuesta + ELSE If enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 6 Then + Panel10.Visible = True + l_chk_e.Text = enc.GetString("CAT_EP_PREGUNTA") + Chk_1.Checked = False + chk_2.Checked = False + chk_3.Checked = False + Chk_1.Text = enc.GetString("CAT_EP_RES1_PRED") + chk_2.Text = enc.GetString("CAT_EP_RES2_PRED") + chk_3.Text = enc.GetString("CAT_EP_RES3_PRED") + chk_1_valor = enc.GetString("CAT_EP_RES1_PRED") + chk_2_valor = enc.GetString("CAT_EP_RES2_PRED") + chk_3_valor = enc.GetString("CAT_EP_RES3_PRED") + Chk_1.Tag = enc.GetString("CAT_EP_ID") + chk_2.Tag = enc.GetString("CAT_EP_ID") + chk_3.Tag = enc.GetString("CAT_EP_ID") + TOMAR_FOTO = 1 + CURSOR_FOTO = i + Exit + ELSE If enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 1 Then + botonPresionado = 0 ' Bandera para que espere a que se conteste la pregunta + l_titEncuesta.Text = enc.GetString("CAT_CE_DESCRIPCION") + l_txtEncuesta.Text = enc.GetString("CAT_EP_PREGUNTA") + Subs.centraEditText(et_encuesta, Root.Width) + et_encuesta.Visible = True + b_encuesta_continuar.Enabled = False + Private bTop = et_encuesta.Top + 130 + muestraBoton(b_encuesta_continuar,"Continuar", centroPantalla-250, bTop, 500, 160) + muestraEncuesta + Do Until botonPresionado = 1 'Esperamos que respondan la pregunta + Sleep(0) + Loop + Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, encuestaRes,sDate & sTime,enc.GetString("CAT_EP_ID"))) + ocultaPanelEncuesta + Else + Starter.tipov = "VENTA" + Subs.iniciaActividad("Productos") + End If + Next + enc.Close + Else + Starter.tipov = "VENTA" + Subs.iniciaActividad("Productos") + End If + Else + Starter.tipov = "VENTA" + Subs.iniciaActividad("Productos") + End If +End Sub + +Sub b1_Click + Log("B1 clicked") +End Sub + +Sub b2_Click + If logger Then Log("B2 clicked") +End Sub + +Sub b_factura_Click + +End Sub + +Sub CH_TA_CheckedChange(Checked As Boolean) + +End Sub + +Sub CH_TC_CheckedChange(Checked As Boolean) + +End Sub + +Sub CH_TB_CheckedChange(Checked As Boolean) + +End Sub + +Sub CH_TD_CheckedChange(Checked As Boolean) + +End Sub + +Sub B_GUARDAR_Click + If logger Then Log("Guardar clic") + If CH_TA.Checked = True Then + TIPOEX = "TIPO A" + ELSE If CH_TB.Checked = True Then + TIPOEX = "TIPO B" + ELSE If CH_TC.Checked = True Then + TIPOEX = "TIPO C" + ELSE If CH_TD.Checked = True Then + TIPOEX = "TIPO D" + End If + Panel1.Visible = False + B_EXIBI.Visible = True + b_factura.Visible = True + HIST.Visible = True + c=Starter.skmt.ExecQuery("select CUENTA from cuentaa") + c.Position = 0 + cuenta = c.GetString("CUENTA") + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_EXIBIDORES(CAT_CL_CLIENTE,CAT_CL_EXHIBIDOR,CAT_CL_BEXHIBIDOR) VALUES(?,?,?)", Array As Object(cuenta,TIPOEX,E_CUANTOS_E.Text)) +End Sub + +Sub B_EXIBI_Click + Panel1.Visible = True + B_EXIBI.Visible = False + b_factura.Visible = False + HIST.Visible = False +End Sub + +'''''''''''''''''''''''''''''''''''''' BOLETA DE LIQUIDACION +Sub LLAMA_BOLETA + '' FECHA DE TELEFONO + If Subs.clienteActual = "" Then Starter.skmt.ExecNonQuery("insert into cuentaa (cuenta) values (0)") + DateTime.DateFormat="dd/MM/yyyy" + Edt_FH.Text=DateTime.Date(DateTime.Now) + Subs.panelAnchoAlto(PNL_TOTALES, Root.Width, Root.Height) + PNL_TOTALES.Visible=True + Pnl_Billete.Visible=True + Pnl_Moneda.visible=True + LBL_RETURN.Visible=False + LBL_REGRESA.Visible=False + Subs.panelAnchoAlto(P_BOLETA, Root.Width, Root.Height) + P_BOLETA.Visible=True + P_INF_GENERAL.Visible=False + If logger Then Log("Panel general="&P_INF_GENERAL.Visible) + LBL_REGRESA.Visible=True + Private c As Cursor = Starter.skmt.ExecQuery("select * from TMP_CAT_BILLETE join TMP_CAT_MONEDAS") + If c.RowCount > 0 Then + c.Position = 0 + If logger Then Log("==================== CALCULADORA "&c.ColumnCount) +' Traemos billetes + EDT_CANMIL.Text = "0" + If IsNumber(c.GetString("TMP_BILLE_MIL")) Then EDT_CANMIL.Text = c.GetString("TMP_BILLE_MIL") + EDT_CANQUIN.Text = "0" + If c.GetString("TMP_BILLE_QUINIENTOS")<> Null Then EDT_CANQUIN.Text = c.GetString("TMP_BILLE_QUINIENTOS") + EDT_CANDOS.Text = "0" + If c.GetString("TMP_BILLE_DOSCIENTOS") <>Null Then EDT_CANDOS.Text = c.GetString("TMP_BILLE_DOSCIENTOS") + EDT_CANCIEN.Text = "0" + If c.GetString("TMP_BILLE_CIEN")<> Null Then EDT_CANCIEN.Text = c.GetString("TMP_BILLE_CIEN") + EDT_CANCIN.Text = "0" + If c.GetString("TMP_BILLE_CINCUENTA")<> Null Then EDT_CANCIN.Text = c.GetString("TMP_BILLE_CINCUENTA") + EDT_CANVEIN.Text = "0" + If c.GetString("TMP_BILLE_VEINTE")<> Null Then EDT_CANVEIN.Text = c.GetString("TMP_BILLE_VEINTE") +' Traemos monedas + EDT_CANVEINTE.Text = "0" + If c.GetString("TMP_MON_VEINTE")<> Null Then EDT_CANVEINTE.Text = c.GetString("TMP_MON_VEINTE") + EDT_CANDIEZ.Text = "0" + If c.GetString("TMP_MON_DIEZ")<> Null Then EDT_CANDIEZ.Text = c.GetString("TMP_MON_DIEZ") + EDT_CANCI.Text = "0" + If c.GetString("TMP_MON_CINCO")<> Null Then EDT_CANCI.Text = c.GetString("TMP_MON_CINCO") + EDT_CANDO.Text = "0" + If c.GetString("TMP_MON_DOS")<> Null Then EDT_CANDO.Text = c.GetString("TMP_MON_DOS") + EDT_CANUN.Text = "0" + If c.GetString("TMP_MON_UN")<> Null Then EDT_CANUN.Text = c.GetString("TMP_MON_UN") + EDT_CANCEN.Text = "0" + If c.GetString("TMP_MON_CENTAVOS")<> Null Then EDT_CANCEN.Text = c.GetString("TMP_MON_CENTAVOS") + L_CALCULA_BILLE_CLICK + L_CALCULA_MONEDA_Click + B_SUM_TOTAL.Text = TOTALBILLETES.Text + TOTALMONEDA.text + End If + Starter.boleta = 0 + c.Close +End Sub + +'''BILLETES +Sub L_CALCULA_BILLE_CLICK + If EDT_CANMIL.Text="" Or EDT_CANQUIN.Text="" Or EDT_CANDOS.Text="" Or EDT_CANCIEN.Text="" Or EDT_CANCIN.Text="" Or EDT_CANVEIN.Text="" Then + Pnl_Billete.RequestFocus + Msgbox("Por favor llena todas las cantidades","") 'ignore + Else + LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text + LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text + LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text + LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text + LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text + LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +'20 +Private Sub EDT_CANVEIN_FocusChanged (HasFocus As Boolean) + If EDT_CANVEIN.Text = "" Then EDT_CANVEIN.Text = "0" + EDT_CANVEIN.Text = Round (EDT_CANVEIN.Text) + LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text +End Sub + +Sub B_SUVEI_Click + If EDT_CANVEIN.Text = "" Then + EDT_CANVEIN.Text=0 + LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text + Else + EDT_CANVEIN.Text = Round (EDT_CANVEIN.Text + 1) + LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +Sub B_MENVEI_Click + If EDT_CANVEIN.Text = "" Then + EDT_CANVEIN.Text=0 + LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text + Else IF EDT_CANVEIN.Text > 0 Then + EDT_CANVEIN.Text = Round(EDT_CANVEIN.Text -1) + LBL_TVEIN.Text=LBL_VEINTE.Tag * EDT_CANVEIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub +'50 +Private Sub EDT_CANCIN_FocusChanged (HasFocus As Boolean) + If EDT_CANCIN.Text = "" Then EDT_CANCIN.Text = "0" + EDT_CANCIN.Text = Round (EDT_CANCIN.Text) + LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text +End Sub + +Sub B_SUCIN_Click + If EDT_CANCIN.Text = "" Then + EDT_CANCIN.Text =0 + LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text + Else + EDT_CANCIN.Text = Round (EDT_CANCIN.Text + 1) + LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +Sub B_MENCIN_Click + If EDT_CANCIN.Text = "" Then + EDT_CANCIN.Text =0 + LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text + Else IF EDT_CANCIN.Text > 0 Then + EDT_CANCIN.Text = Round(EDT_CANCIN.Text -1) + LBL_TCIN.Text=LBL_CINCUEN.Tag * EDT_CANCIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +'100 +Private Sub EDT_CANCIEN_FocusChanged (HasFocus As Boolean) + If EDT_CANCIEN.Text = "" Then EDT_CANCIEN.Text = "0" + EDT_CANCIEN.Text = Round (EDT_CANCIEN.Text) + LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text +End Sub + +Sub B_SUCIEN_Click + If EDT_CANCIEN.Text = "" Then + EDT_CANCIEN.Text = 0 + LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text + Else + EDT_CANCIEN.Text = Round (EDT_CANCIEN.Text + 1) + LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +Sub B_MENCIE_Click + If EDT_CANCIEN.Text = "" Then + EDT_CANCIEN.Text = 0 + LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text + Else IF EDT_CANCIEN.Text > 0 Then + EDT_CANCIEN.Text = Round(EDT_CANCIEN.Text -1) + LBL_TCIEN.Text=LBL_CIEN.Tag * EDT_CANCIEN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +'200 +Private Sub EDT_CANDOS_FocusChanged (HasFocus As Boolean) + If EDT_CANDOS.Text = "" Then EDT_CANDOS.Text = "0" + EDT_CANDOS.Text = Round (EDT_CANDOS.Text) + LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text +End Sub + +Sub B_SUDOS_Click + If EDT_CANDOS.Text = "" Then + EDT_CANDOS.Text = 0 + LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text + Else + EDT_CANDOS.Text = Round (EDT_CANDOS.Text + 1) + LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +Sub B_MENDOS_Click + If EDT_CANDOS.Text = "" Then + EDT_CANDOS.Text = 0 + LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text + Else IF EDT_CANDOS.Text > 0 Then + EDT_CANDOS.Text = Round(EDT_CANDOS.Text -1) + LBL_TDOS.Text=LBL_DOSC.Tag * EDT_CANDOS.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +'500 +Private Sub EDT_CANQUIN_FocusChanged (HasFocus As Boolean) + If EDT_CANQUIN.Text = "" Then EDT_CANQUIN.Text = "0" + EDT_CANQUIN.Text = Round (EDT_CANQUIN.Text) + LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text +End Sub + +Sub B_SUQUI_Click + If EDT_CANQUIN.Text = "" Then + EDT_CANQUIN.Text =0 + LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text + Else + EDT_CANQUIN.Text = Round (EDT_CANQUIN.Text + 1) + LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +Sub B_MENQUI_Click + If EDT_CANQUIN.Text = "" Then + EDT_CANQUIN.Text =0 + LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text + Else IF EDT_CANQUIN.Text > 0 Then + EDT_CANQUIN.Text = Round(EDT_CANQUIN.Text -1) + LBL_TQUIN.Text=LBL_QUIN.Tag * EDT_CANQUIN.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub +'1000 +Private Sub EDT_CANMIL_FocusChanged (HasFocus As Boolean) + If EDT_CANMIL.Text = "" Then EDT_CANMIL.Text = "0" + EDT_CANMIL.Text = Round (EDT_CANMIL.Text ) + LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text +End Sub + +Sub B_SUMIL_Click + If EDT_CANMIL.Text = "" Then + EDT_CANMIL.Text = 0 + LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text + Else + EDT_CANMIL.Text = Round (EDT_CANMIL.Text + 1) + LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +Sub B_MENMIL_Click + If EDT_CANMIL.Text = "" Then + EDT_CANMIL.Text = 1 + LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text + Else IF EDT_CANMIL.Text > 0 Then + EDT_CANMIL.Text = Round(EDT_CANMIL.Text -1) + LBL_TMIL.Text= LBL_MIL.Tag * EDT_CANMIL.Text + Btn_TOTALBILLETE.Text= ( LBL_TMIL.Text + LBL_TQUIN.Text + LBL_TDOS.Text + LBL_TCIEN.Text + LBL_TCIN.Text + LBL_TVEIN.Text) + TOTALBILLETES.Text=Btn_TOTALBILLETE.Text + End If +End Sub + +'''' MONEDAS +Sub L_CALCULA_MONEDA_Click + If EDT_CANDIEZ.Text="" Or EDT_CANCI.Text="" Or EDT_CANDO.Text="" Or EDT_CANUN.Text="" Or EDT_CANCEN.Text="" Or EDT_CANVEINTE.Text="" Then + Msgbox("Por favor llena todas las cantidades","") 'ignore + Pnl_Billete.RequestFocus + Else + LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text + LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text + LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text + LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text + LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text + LBL_TVEINTE.Text=L_VEINTE.Tag * EDT_CANVEINTE.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +'0.50 +Private Sub EDT_CANCEN_FocusChanged (HasFocus As Boolean) + If EDT_CANCEN.Text = "" Then EDT_CANCEN.Text = "0" + EDT_CANCEN.Text = Round (EDT_CANCEN.Text) + LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text +End Sub + +Sub B_SUMCENT_Click + If EDT_CANCEN.Text = "" Then + EDT_CANCEN.Text = 0 + LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text + Else + EDT_CANCEN.Text = Round (EDT_CANCEN.Text + 1) + LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +Sub B_MENCENT_Click + If EDT_CANCEN.Text = "" Then + EDT_CANCEN.Text =0 + LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text + Else IF EDT_CANCEN.Text > 0 Then + EDT_CANCEN.Text = Round(EDT_CANCEN.Text -1) + LBL_TCEN.Text=L_CENTAVO.Tag * EDT_CANCEN.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +'1 +Private Sub EDT_CANUN_FocusChanged (HasFocus As Boolean) + If EDT_CANUN.Text = "" Then EDT_CANUN.Text = "0" + EDT_CANUN.Text = Round (EDT_CANUN.Text) + LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text +End Sub + +Sub B_SUMUN_Click + If EDT_CANUN.Text = "" Then + + LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text + Else + EDT_CANUN.Text = Round (EDT_CANUN.Text + 1) + LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +Sub B_MENUN_Click + If EDT_CANUN.Text = "" Then + EDT_CANUN.Text = 0 + LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text + Else IF EDT_CANUN.Text > 0 Then + EDT_CANUN.Text = Round(EDT_CANUN.Text -1) + LBL_TUN.Text=L_UNO.Tag * EDT_CANUN.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +'2 +Private Sub EDT_CANDO_FocusChanged (HasFocus As Boolean) + If EDT_CANDO.Text = "" Then EDT_CANDO.Text = "0" + EDT_CANDO.Text = Round (EDT_CANDO.Text) + LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text +End Sub + +Sub B_SUMDO_Click + If EDT_CANDO.Text = "" Then + EDT_CANDO.Text =0 + LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text + Else + EDT_CANDO.Text = Round (EDT_CANDO.Text + 1) + LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +Sub B_MENDO_Click + If EDT_CANDO.Text = "" Then + EDT_CANDO.Text=0 + LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text + Else IF EDT_CANDO.Text > 0 Then + EDT_CANDO.Text = Round(EDT_CANDO.Text -1) + LBL_TDO.Text=L_DOS.Tag * EDT_CANDO.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +'5 +Private Sub EDT_CANCI_FocusChanged (HasFocus As Boolean) + If EDT_CANCI.Text = "" Then EDT_CANCI.Text = "0" + EDT_CANCI.Text = Round (EDT_CANCI.Text) + LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text ) + TOTALMONEDA.Text=B_TOTALMONEDA.Text +End Sub + +Sub B_SUMCIN_Click + If EDT_CANCI.Text = "" Then + EDT_CANCI.Text =0 + LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text + Else + EDT_CANCI.Text = Round (EDT_CANCI.Text + 1) + LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text ) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +Sub B_MENCI_Click + If EDT_CANCI.Text = "" Then + EDT_CANCI.Text =0 + LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text + Else IF EDT_CANCI.Text > 0 Then + EDT_CANCI.Text = Round(EDT_CANCI.Text -1) + LBL_TCI.Text= L_CINCO.Tag * EDT_CANCI.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub +'10 +Private Sub EDT_CANDIEZ_FocusChanged (HasFocus As Boolean) + If EDT_CANDIEZ.Text = "" Then EDT_CANDIEZ.Text = "0" + EDT_CANDIEZ.Text = Round (EDT_CANDIEZ.Text) + LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text +End Sub + +Sub B_SUMDIEZ_Click + If EDT_CANDIEZ.Text = "" Then + EDT_CANDIEZ.Text =0 + LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text + Else + EDT_CANDIEZ.Text = Round (EDT_CANDIEZ.Text + 1) + LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +Sub B_MENDIEZ_Click + If EDT_CANDIEZ.Text = "" Then + EDT_CANDIEZ.Text = 0 + LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text + Else IF EDT_CANDIEZ.Text > 0 Then + EDT_CANDIEZ.Text = Round(EDT_CANDIEZ.Text -1) + LBL_TDIEZ.Text= L_DIEZ.Tag * EDT_CANDIEZ.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +'20 +Private Sub EDT_CANVEINTE_FocusChanged (HasFocus As Boolean) + If EDT_CANVEINTE.Text = "" Then EDT_CANVEINTE.Text = "0" + EDT_CANVEINTE.Text = Round(EDT_CANVEINTE.Text) + LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text ) + TOTALMONEDA.Text=B_TOTALMONEDA.Text +End Sub + +Sub B_MENVEINTE_Click + If EDT_CANVEINTE.Text = "" Then + EDT_CANVEINTE.Text = 0 + LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text + Else IF EDT_CANVEINTE.Text > 0 Then + EDT_CANVEINTE.Text = Round(EDT_CANVEINTE.Text -1) + LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text ) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +Sub B_SUMVEINTE_Click + If EDT_CANVEINTE.Text = "" Then + EDT_CANVEINTE.Text =0 + LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text + Else + EDT_CANVEINTE.Text = Round (EDT_CANVEINTE.Text + 1) + LBL_TVEINTE.Text= L_VEINTE.Tag * EDT_CANVEINTE.Text + B_TOTALMONEDA.Text=( LBL_TDIEZ.Text + LBL_TCI.Text + LBL_TDO.Text + LBL_TUN.Text + LBL_TCEN.Text + LBL_TVEINTE.Text) + TOTALMONEDA.Text=B_TOTALMONEDA.Text + End If +End Sub + +''''''TOTALES +Sub TOTALES_Click + If TOTALMONEDA.Text="" Or TOTALBILLETES.Text="" Then + TOTALMONEDA.Text=0 + TOTALBILLETES.Text=0 + B_SUM_TOTAL.Text="$"& (TOTALMONEDA.Text + TOTALBILLETES.Text) + Else + B_SUM_TOTAL.Text= "$"&(TOTALMONEDA.Text + TOTALBILLETES.Text) + End If +End Sub + +Sub B_AGREGABILL_Click + Pnl_Billete.Visible=True + Pnl_Moneda.Visible=False + PNL_TOTALES.Visible=False + LBL_RETURN.Visible=True + LBL_REGRESA.Visible=True +End Sub + +Sub B_AGREGAMONE_Click + Pnl_Billete.Visible=False + Pnl_Moneda.Visible=True + PNL_TOTALES.Visible=False + LBL_RETURN.Visible=True + LBL_REGRESA.Visible=True +End Sub + +Sub LBL_RETURN_Click + Pnl_Billete.Visible=False + Pnl_Moneda.Visible=False + PNL_TOTALES.Visible=True + LBL_RETURN.Visible=False + LBL_REGRESA.Visible=False + ''' CALCULO FINAL + If TOTALMONEDA.Text="" Or TOTALBILLETES.Text="" Then + TOTALMONEDA.Text=0 + TOTALBILLETES.Text=0 + B_SUM_TOTAL.Text="$"& (TOTALMONEDA.Text + TOTALBILLETES.Text) + Else + B_SUM_TOTAL.Text="$"& (TOTALMONEDA.Text + TOTALBILLETES.Text) + End If +End Sub + +Sub LBL_REGRESA_Click + Pnl_Billete.Visible=False + Pnl_Moneda.Visible=False + LBL_RETURN.Visible=False + LBL_REGRESA.Visible=False + PNL_TOTALES.Visible=True + LBL_REGRESA.Visible=True +End Sub + +Sub B_Regresar_Click +' StartActivity("SELECCION") + Subs.iniciaActividad("principal") +' B4XPages.ShowPage("Principal") +' Activity.Finish + PNL_TOTALES.Visible=False + Pnl_Billete.Visible=False + Pnl_Moneda.visible=False + PNL_TOTALES.Visible=False + LBL_RETURN.Visible=False + LBL_REGRESA.Visible=False + P_BOLETA.Visible=False + P_INF_GENERAL.Visible=True + If logger Then Log("Panel general="&P_INF_GENERAL.Visible) + LBL_REGRESA.Visible=False + +End Sub + +Sub IMG_IMPRESORA_Click +' Printer1.DisConnect : Log("Desconectando impresora") +' impresoraConectada = False +' Private cont As Int = 0 +' ToastMessageShow("Conectando impresora", False) +' Do While Not(impresoraConectada) And cont < 9 +' Printer1.Connect +' If Logger Then Log("Conectando impresora") +' Sleep(1000) +' If Logger Then Log(impresoraConectada) +' cont = cont + 1 +' Loop +' If Logger Then Log("connected") + ProgressDialogShow("Imprimiendo, un momento ...") + Printer1.DisConnect + If Not(Printer1.IsConnected) Then + If logger Then Log("conectando 1") + Printer1.Connect + Private cont As Int = 0 + Do While Not(impresoraConectada) + Sleep(1000) + cont = cont + 1 + If cont = 7 Then Printer1.Connect 'Tratamos de reconectar + If cont > 15 Then impresoraConectada = True + Loop + Sleep(500) + impresoraConectada = False + Else + If logger Then Log("conectando 2") + Printer1.Connect + Private cont As Int = 0 + Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) + Sleep(1000) + cont = cont + 1 + If cont = 2 Then Printer1.Connect + If cont > 4 Then impresoraConectada = True + Loop + Sleep(500) + impresoraConectada = False + End If + + + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c.Close + Printer1.WriteString("KELLOGG COMPANY MEXICO" & CRLF) + Printer1.WriteString(sDate &" " & sTime & CRLF) + Printer1.WriteString("Vendedor:" & usuario & CRLF) + Printer1.WriteString(" " & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("BILLETES" & CRLF) + Printer1.WriteString("$1,000 X " & EDT_CANMIL.TEXT & " = " & LBL_TMIL.TEXT & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("$500 X " & EDT_CANQUIN.TEXT & " = " & LBL_TQUIN.TEXT &CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("$200 X " & EDT_CANDOS.TEXT & " = " & LBL_TDOS.Text & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("$100 X " & EDT_CANCIEN.TEXT & " = " & LBL_TCIEN.Text & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("$50 X " & EDT_CANCIN.TEXT & " = " & LBL_TCIN.Text & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("$20 X " & EDT_CANVEIN.TEXT & " = " & LBL_TVEIN.Text & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("TOTAL BILLETES...... " & Btn_TOTALBILLETE.TEXT & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("MONEDAS" & CRLF) + Printer1.WriteString("$20 X " & EDT_CANVEINTE.TEXT & " = " & LBL_TVEINTE.TEXT &CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("$10 X " & EDT_CANDIEZ.TEXT & " = " & LBL_TDIEZ.TEXT &CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("$5 X " & EDT_CANCI.TEXT & " = " & LBL_TCI.Text & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("$2 X " & EDT_CANDO.TEXT & " = " & LBL_TDO.Text & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("$1 X " & EDT_CANUN.TEXT & " = " & LBL_TUN.Text & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("$.50 X " & EDT_CANCEN.TEXT & " = " & LBL_TCEN.Text & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("TOTAL MONEDAS....... " & B_TOTALMONEDA.TEXT & CRLF) + Printer1.WriteString(" " & CRLF) + Printer1.WriteString("TOTAL .........." & B_SUM_TOTAL.TEXT & CRLF) + Printer1.WriteString(" " & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString(" " & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("Nombre y Firma" & CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString("______________________________" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + ProgressDialogHide +End Sub + +Sub B_IMP_INVBAK_Click + ProgressDialogShow("Imprimiendo, un momento ...") + Printer1.DisConnect + If Not(Printer1.IsConnected) Then + If logger Then Log("conectando 1") + Printer1.Connect + Private cont As Int = 0 + Do While Not(impresoraConectada) + Sleep(1000) + cont = cont + 1 + If cont = 7 Then Printer1.Connect 'Tratamos de reconectar + If cont > 15 Then impresoraConectada = True + Loop + Sleep(500) + impresoraConectada = False + Else + If logger Then Log("conectando 2") + Printer1.Connect + Private cont As Int = 0 + Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) + Sleep(1000) + cont = cont + 1 + If cont = 2 Then Printer1.Connect + If cont > 4 Then impresoraConectada = True + Loop + Sleep(500) + impresoraConectada = False + End If + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c.Close + TAMANO = 5 + ESPACIO = 14 + BLANCO = " " + Printer1.WriteString("KELLOG COMPANY MEXICO" & CRLF) + Printer1.WriteString("RESUMEN DIA" & CRLF) + Printer1.WriteString(sDate & " " & sTime & CRLF) + Printer1.WriteString("Vendedor:" & usuario & CRLF) + Printer1.WriteString("-------INVENTARIO A BORDO----------" & CRLF) + Printer1.WriteString("---II---CD---IIT---VT---RMI---IF---" & CRLF) + + ' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show. + s=Starter.skmt.ExecQuery2 ("select CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_ALMACEN from cat_gunaprod2 where CAT_GP_CLASIF <> ? ORDER BY CAT_GP_NOMBRE ", Array As String("PROMOS")) + Log($"Reglones: ${s.RowCount}"$) + If s.RowCount>0 Then + For i=0 To S.RowCount -1 + Log(i) + Try + s.Position=i + Printer1.WriteString(s.GetString("CAT_GP_NOMBRE") & CRLF) + Log("p"&i) + Catch + Log(LastException) + If logger Then Log("Saliendo con Try/Catch") + Exit + End Try + S1=Starter.skmt.ExecQuery2("select CAT_GP_ALMACEN from cat_gunaprod5 where CAT_GP_ID = ?", Array As String(s.GetString("CAT_GP_ID"))) + S1.Position=0 + S3=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from HIST_ABORDO where HIST_PROID = ?", Array As String(s.GetString("CAT_GP_ID"))) + S3.Position=0 + If S3.GetString("CUANTOS") > 0 Then + S2=Starter.skmt.ExecQuery2("select HIST_CANT from HIST_ABORDO where HIST_PROID = ?", Array As String(s.GetString("CAT_GP_ID"))) + S2.Position=0 + a_inicial = S1.GetString("CAT_GP_ALMACEN") - S2.GetString("HIST_CANT") + Else + a_inicial = S1.GetString("CAT_GP_ALMACEN") + End If + a_inicial_5 = S1.GetString("CAT_GP_ALMACEN") + 'Printer1.WriteString("INICIAL: " & ABORDO & CRLF) + If S3.GetString("CUANTOS") > 0 Then + 'Printer1.WriteString("CARGA DIA : " & S2.GetString("HIST_CANT") & CRLF) + ABORDO = S2.GetString("HIST_CANT") + Else + 'Printer1.WriteString("CARGA DIA : 0" & CRLF) + ABORDO = 0 + End If + 'Printer1.WriteString("CARGA TOTAL : " & S1.GetString("CAT_GP_ALMACEN") & CRLF) + a_total = S1.GetString("CAT_GP_ALMACEN") + + C4=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from pedido where substr(pe_pronombre,1,6) <> ? AND PE_TIPO = ? and PE_PROID = ? ", Array As String("CAMBIO","VENTA", s.GetString("CAT_GP_ID"))) + C4.Position=0 + If C4.GetString("CUANTOS") > 0 Then + C3=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD,PE_PRONOMBRE from pedido where substr(pe_pronombre,1,6) <> ? AND PE_TIPO = ? AND PE_PROID = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO","VENTA", s.GetString("CAT_GP_ID"))) + C3.Position=0 + 'Printer1.WriteString("VENTA: " & C3.GetString("CANTIDAD") & CRLF) + a_venta = C3.GetString("CANTIDAD") + Else + 'Printer1.WriteString("VENTA: 0" & CRLF) + a_venta = 0 + End If + C4.Close + C4=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from pedido where substr(pe_pronombre,1,6) = ? AND PE_PROID = ? ", Array As String("CAMBIO", s.GetString("CAT_GP_ID"))) + C4.Position=0 + If C4.GetString("CUANTOS") > 0 Then + C1=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD,PE_PRONOMBRE from pedido where substr(pe_pronombre,1,6) = ? AND PE_PROID = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO", s.GetString("CAT_GP_ID"))) + C1.Position=0 + RMI = C1.GetString("CANTIDAD") + Else + RMI = 0 + End If + + 'Printer1.WriteString("INV. ACT.: " & s.GetString("CAT_GP_ALMACEN") & CRLF) + 'a_final =s.GetString("CAT_GP_ALMACEN") + a_final = a_inicial_5 - a_venta - RMI + 'Printer1.WriteString("RMI: " & RMI & CRLF) + Private sep1 As String + Private sep2 As String + Private sep3 As String + Private sep4 As String + Private sep5 As String + Private sep6 As String + + sep1 = a_inicial.Length + If sep1 = 1 Then + a_inicial = "----" & a_inicial + else if sep1 = 2 Then + a_inicial = "---" & a_inicial + else if sep1 = 3 Then + a_inicial = "--" & a_inicial + else if sep1 = 4 Then + a_inicial = "-" & a_inicial + else if sep1 = 5 Then + a_inicial = a_inicial + End If + sep2 = ABORDO.Length + If sep2 = 1 Then + ABORDO = "----" & ABORDO + else if sep2 = 2 Then + ABORDO = "---" & ABORDO + else if sep2 = 3 Then + ABORDO = "--" & ABORDO + else if sep2 = 4 Then + ABORDO = "-" & ABORDO + else if sep2 = 5 Then + ABORDO = ABORDO + End If + + sep3 = a_total.Length + If sep3 = 1 Then + a_total = "----" & a_total + else if sep3 = 2 Then + a_total = "---" & a_total + else if sep3 = 3 Then + a_total = "--" & a_total + else if sep3 = 4 Then + a_total = "-" & a_total + else if sep3 = 5 Then + a_total = a_total + End If + + sep4 = a_venta.Length + If sep4 = 1 Then + a_venta = "----" & a_venta + else if sep4 = 2 Then + a_venta = "---" & a_venta + else if sep4 = 3 Then + a_venta = "--" & a_venta + else if sep4 = 4 Then + a_venta = "-" & a_venta + else if sep4 = 5 Then + a_venta = a_venta + End If + + sep5 = a_final.Length + If sep5 = 1 Then + a_final = "----" & a_final + else if sep5 = 2 Then + a_final = "---" & a_final + else if sep5 = 3 Then + a_final = "--" & a_final + else if sep5 = 4 Then + a_final = "-" & a_final + else if sep5 = 5 Then + a_final = a_final + End If + + sep6 = RMI.Length + If sep6 = 1 Then + RMI = "----" & RMI + else if sep6 = 2 Then + RMI = "---" & RMI + else if sep6 = 3 Then + RMI = "--" & RMI + else if sep6 = 4 Then + RMI = "-" & RMI + else if sep6 = 5 Then + RMI = RMI + End If + + Printer1.WriteString( a_inicial & ABORDO & a_total & a_venta & RMI & a_final & CRLF) + + TAMANO = TAMANO + 1 + If TAMANO > 40 Then + + t3.Initialize("T3", 4000) ' 1000 = 1 second + t3.Enabled = True + Wait For t3_tick + TAMANO = 0 + End If + Next + End If + s.Close + If S3.IsInitialized Then S3.Close + Try + c=Starter.skmt.ExecQuery("select count(*) as CUANTOS from pedido") + c.Position =0 + CUANTOS = c.GetString("CUANTOS") + c.Close + Catch + CUANTOS = 0 + End Try + Try + c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from pedido where substr(pe_pronombre,1,6) <> ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO")) + If c.RowCount > 0 Then + c.Position =0 + CUANTOS1 = c.GetString("CUANTOS") + Else + CUANTOS1 = 0 + End If + c.Close + Catch + CUANTOS1 = 0 + End Try + + If CUANTOS <> CUANTOS1 Then + Try + c=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD,PE_PRONOMBRE from pedido where substr(pe_pronombre,1,6) = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO")) + Printer1.WriteString(CRLF) + Printer1.WriteString("-----------RMI----------------" & CRLF) + Printer1.WriteString(CRLF) + If C.RowCount>0 Then + For i=0 To C.RowCount -1 + C.Position=i + Printer1.WriteString(C.GetString("CANTIDAD") & " " & C.GetString("PE_PRONOMBRE") & CRLF) + Next + End If + c.Close + Catch + Printer1.WriteString(CRLF) + End Try + End If + + ' TOTALES DE LOS ARCHIVOS + + s.Close + S=Starter.skmt.ExecQuery2("select SUM(CAT_GP_ALMACEN) AS CAT_GP_ALMACEN from cat_gunaprod2 WHERE CAT_GP_CLASIF <> ? ", Array As String("PROMOS")) + S.Position=0 + a_final =s.GetString("CAT_GP_ALMACEN") + + S1.Close + S1=Starter.skmt.ExecQuery("select SUM(CAT_GP_ALMACEN) AS CAT_GP_ALMACEN from cat_gunaprod5 ") + S1.Position=0 + a_total = S1.GetString("CAT_GP_ALMACEN") + a_inicial = S1.GetString("CAT_GP_ALMACEN") + S1.Close + ABORDO =0 + C3=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD, SUM(PE_COSTO_TOT) AS PE_TOTAL from pedido where pe_proid <> pe_cedis and substr(pe_pronombre,1,6) <> ? AND PE_CLIENTE <> ?", Array As String("CAMBIO", "0")) + If C3.RowCount > 0 Then + C3.Position=0 + a_venta = C3.GetString("CANTIDAD") + Else + a_venta = 0 + End If + If a_venta = Null Then a_venta = 0 + If CUANTOS <> CUANTOS1 Then + C1=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD from pedido where substr(pe_pronombre,1,6) = ? ", Array As String("CAMBIO")) + C1.Position=0 + RMI = C1.GetString("CANTIDAD") + C1.Close + Else + RMI = 0 + End If + If RMI = Null Then RMI = 0 + If logger Then Log($"a_total=${a_total}, a_venta=${a_venta}, rmi=${RMI}"$) + a_final = a_total - a_venta - RMI + Printer1.WriteString("TOTAL----------------- " & CRLF) + Printer1.WriteString("---" & a_inicial & "..." & ABORDO & "..." & a_total & "..." & a_venta & "..." & a_final & "..." & RMI & CRLF) + Printer1.WriteString("TOTAL " & C3.GetString("PE_TOTAL") & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("Nombre y Firma" & CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString("______________________________" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + If C3.IsInitialized Then C3.Close + ProgressDialogHide +End Sub + +Sub B_IMP_INV_Click + ProgressDialogShow("Imprimiendo, un momento ...") + Printer1.DisConnect + If Not(Printer1.IsConnected) Then + If logger Then Log("conectando 1") + Printer1.Connect + Private cont As Int = 0 + Do While Not(impresoraConectada) + Sleep(1000) + cont = cont + 1 + If cont = 7 Then Printer1.Connect 'Tratamos de reconectar + If cont > 15 Then impresoraConectada = True + Loop + Sleep(500) + impresoraConectada = False + Else + If logger Then Log("conectando 2") + Printer1.Connect + Private cont As Int = 0 + Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) + Sleep(1000) + cont = cont + 1 + If cont = 2 Then Printer1.Connect + If cont > 4 Then impresoraConectada = True + Loop + Sleep(500) + impresoraConectada = False + End If + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c.Close + TAMANO = 5 + ESPACIO = 14 + BLANCO = " " + Printer1.WriteString("KELLOG COMPANY MEXICO" & CRLF) + Printer1.WriteString("RESUMEN DIA" & CRLF) + Printer1.WriteString(sDate & " " & sTime & CRLF) + Printer1.WriteString("Vendedor:" & usuario & CRLF) + Printer1.WriteString("-------INVENTARIO A BORDO----------" & CRLF) + ''' se cambia este Printer1.WriteString("---II---CD---IIT---VT---RMI---IF---" & CRLF) ------- sin RMI + Printer1.WriteString("---II---CD---IIT---VT---------IF---" & CRLF) + + ' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show. + s=Starter.skmt.ExecQuery2 ("select CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_ALMACEN from cat_gunaprod2 where CAT_GP_CLASIF <> ? ORDER BY CAT_GP_NOMBRE ", Array As String("PROMOS")) + Log($"Reglones: ${s.RowCount}"$) + If s.RowCount>0 Then + For i=0 To S.RowCount -1 + Log(i) + Try + s.Position=i + Printer1.WriteString(s.GetString("CAT_GP_NOMBRE") & CRLF) + Log("p"&i) + Catch + Log(LastException) + If logger Then Log("Saliendo con Try/Catch") + Exit + End Try + S1=Starter.skmt.ExecQuery2("select CAT_GP_ALMACEN from cat_gunaprod5 where CAT_GP_ID = ?", Array As String(s.GetString("CAT_GP_ID"))) + S1.Position=0 + S3=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from HIST_ABORDO where HIST_PROID = ?", Array As String(s.GetString("CAT_GP_ID"))) + S3.Position=0 + If S3.GetString("CUANTOS") > 0 Then + S2=Starter.skmt.ExecQuery2("select HIST_CANT from HIST_ABORDO where HIST_PROID = ?", Array As String(s.GetString("CAT_GP_ID"))) + S2.Position=0 + a_inicial = S1.GetString("CAT_GP_ALMACEN") - S2.GetString("HIST_CANT") + Else + a_inicial = S1.GetString("CAT_GP_ALMACEN") + End If + a_inicial_5 = S1.GetString("CAT_GP_ALMACEN") + 'Printer1.WriteString("INICIAL: " & ABORDO & CRLF) + If S3.GetString("CUANTOS") > 0 Then + 'Printer1.WriteString("CARGA DIA : " & S2.GetString("HIST_CANT") & CRLF) + ABORDO = S2.GetString("HIST_CANT") + Else + 'Printer1.WriteString("CARGA DIA : 0" & CRLF) + ABORDO = 0 + End If + 'Printer1.WriteString("CARGA TOTAL : " & S1.GetString("CAT_GP_ALMACEN") & CRLF) + a_total = S1.GetString("CAT_GP_ALMACEN") + + C4=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from pedido where substr(pe_pronombre,1,6) <> ? AND PE_TIPO = ? and PE_PROID = ? ", Array As String("CAMBIO","VENTA", s.GetString("CAT_GP_ID"))) + C4.Position=0 + If C4.GetString("CUANTOS") > 0 Then + C3=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD,PE_PRONOMBRE from pedido where substr(pe_pronombre,1,6) <> ? AND PE_TIPO = ? AND PE_PROID = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO","VENTA", s.GetString("CAT_GP_ID"))) + C3.Position=0 + 'Printer1.WriteString("VENTA: " & C3.GetString("CANTIDAD") & CRLF) + a_venta = C3.GetString("CANTIDAD") + Else + 'Printer1.WriteString("VENTA: 0" & CRLF) + a_venta = 0 + End If + C4.Close + ''' se conenta esto para el cambio de RMI + C4=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from pedido where substr(pe_pronombre,1,6) = ? AND PE_PROID = ? ", Array As String("CAMBIO", s.GetString("CAT_GP_ID"))) + C4.Position=0 + If C4.GetString("CUANTOS") > 0 Then + C1=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD,PE_PRONOMBRE from pedido where substr(pe_pronombre,1,6) = ? AND PE_PROID = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO", s.GetString("CAT_GP_ID"))) + C1.Position=0 + RMI = C1.GetString("CANTIDAD") + Else + RMI = 0 + End If + + 'Printer1.WriteString("INV. ACT.: " & s.GetString("CAT_GP_ALMACEN") & CRLF) + 'a_final =s.GetString("CAT_GP_ALMACEN") + ''' se cammbi a este a_final = a_inicial_5 - a_venta - RMI por el sin RMI cambiuo de rmi + a_final = a_inicial_5 - a_venta + + 'Printer1.WriteString("RMI: " & RMI & CRLF) + Private sep1 As String + Private sep2 As String + Private sep3 As String + Private sep4 As String + Private sep5 As String + Private sep6 As String + + sep1 = a_inicial.Length + If sep1 = 1 Then + a_inicial = "----" & a_inicial + else if sep1 = 2 Then + a_inicial = "---" & a_inicial + else if sep1 = 3 Then + a_inicial = "--" & a_inicial + else if sep1 = 4 Then + a_inicial = "-" & a_inicial + else if sep1 = 5 Then + a_inicial = a_inicial + End If + sep2 = ABORDO.Length + If sep2 = 1 Then + ABORDO = "----" & ABORDO + else if sep2 = 2 Then + ABORDO = "---" & ABORDO + else if sep2 = 3 Then + ABORDO = "--" & ABORDO + else if sep2 = 4 Then + ABORDO = "-" & ABORDO + else if sep2 = 5 Then + ABORDO = ABORDO + End If + + sep3 = a_total.Length + If sep3 = 1 Then + a_total = "----" & a_total + else if sep3 = 2 Then + a_total = "---" & a_total + else if sep3 = 3 Then + a_total = "--" & a_total + else if sep3 = 4 Then + a_total = "-" & a_total + else if sep3 = 5 Then + a_total = a_total + End If + + sep4 = a_venta.Length + If sep4 = 1 Then + a_venta = "----" & a_venta + else if sep4 = 2 Then + a_venta = "---" & a_venta + else if sep4 = 3 Then + a_venta = "--" & a_venta + else if sep4 = 4 Then + a_venta = "-" & a_venta + else if sep4 = 5 Then + a_venta = a_venta + End If + + sep5 = a_final.Length + If sep5 = 1 Then + a_final = "----" & a_final + else if sep5 = 2 Then + a_final = "---" & a_final + else if sep5 = 3 Then + a_final = "--" & a_final + else if sep5 = 4 Then + a_final = "-" & a_final + else if sep5 = 5 Then + a_final = a_final + End If + ''''se cambia por lo de RMI + '' sep6 = RMI.Length + '' If sep6 = 1 Then + '' RMI = "----" & RMI + '' else if sep6 = 2 Then + '' RMI = "---" & RMI + '' else if sep6 = 3 Then + '' RMI = "--" & RMI + '' else if sep6 = 4 Then + '' RMI = "-" & RMI + '' else if sep6 = 5 Then + '' RMI = RMI + '' End If + '' se cambia este Printer1.WriteString( a_inicial & ABORDO & a_total & a_venta & RMI & a_final & CRLF) --- por este sin RMI + + Printer1.WriteString( a_inicial & ABORDO & a_total & a_venta & a_final & CRLF) + + TAMANO = TAMANO + 1 + If TAMANO > 40 Then + + t3.Initialize("T3", 4000) ' 1000 = 1 second + t3.Enabled = True + Wait For t3_tick + TAMANO = 0 + End If + Next + End If + s.Close + If S3.IsInitialized Then S3.Close + Try + c=Starter.skmt.ExecQuery("select count(*) as CUANTOS from pedido") + c.Position =0 + CUANTOS = c.GetString("CUANTOS") + c.Close + Catch + CUANTOS = 0 + End Try + ''' se quita por el RMI + Try + c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from pedido where substr(pe_pronombre,1,6) = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO")) + If c.RowCount > 0 Then + c.Position =0 + CUANTOS1 = c.GetString("CUANTOS") + Else + CUANTOS1 = 0 + End If + c.Close + Catch + CUANTOS1 = 0 + End Try + If CUANTOS <> CUANTOS1 Then + Try + c=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD,PE_PRONOMBRE from pedido where substr(pe_pronombre,1,6) = ? GROUP BY PE_PRONOMBRE", Array As String("CAMBIO")) + Printer1.WriteString(CRLF) + Printer1.WriteString("-----------RMI----------------" & CRLF) + Printer1.WriteString(CRLF) + If C.RowCount>0 Then + For i=0 To C.RowCount -1 + C.Position=i + Printer1.WriteString(C.GetString("CANTIDAD") & " " & C.GetString("PE_PRONOMBRE") & CRLF) + Next + End If + c.Close + Catch + Printer1.WriteString(CRLF) + End Try + End If + + ' TOTALES DE LOS ARCHIVOS + + s.Close + S=Starter.skmt.ExecQuery2("select SUM(CAT_GP_ALMACEN) AS CAT_GP_ALMACEN from cat_gunaprod2 WHERE CAT_GP_CLASIF <> ? ", Array As String("PROMOS")) + S.Position=0 + a_final =s.GetString("CAT_GP_ALMACEN") + + S1.Close + S1=Starter.skmt.ExecQuery("select SUM(CAT_GP_ALMACEN) AS CAT_GP_ALMACEN from cat_gunaprod5 ") + S1.Position=0 + a_total = S1.GetString("CAT_GP_ALMACEN") + a_inicial = S1.GetString("CAT_GP_ALMACEN") + S1.Close + ABORDO =0 + C3=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD, SUM(PE_COSTO_TOT) AS PE_TOTAL from pedido where pe_proid <> pe_cedis and substr(pe_pronombre,1,6) <> ? AND PE_CLIENTE <> ?", Array As String("CAMBIO", "0")) + C8=Starter.skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS PE_TOTAL from pedido where pe_proid <> pe_cedis AND PE_CLIENTE <> ?", Array As String( "0")) + C8.Position=0 + If C3.RowCount > 0 Then + C3.Position=0 + a_venta = C3.GetString("CANTIDAD") + Else + a_venta = 0 + End If + + If a_venta = Null Then a_venta = 0 + If CUANTOS <> CUANTOS1 Then + C1=Starter.skmt.ExecQuery2("select SUM(PE_CANT) AS CANTIDAD, SUM(PE_COSTO_TOT) AS TOTAL from pedido where substr(pe_pronombre,1,6) = ? ", Array As String("CAMBIO")) + C1.Position=0 + RMI = C1.GetString("CANTIDAD") + RMI_VALOR = C1.GetString("TOTAL") + C1.Close + Else + RMI = 0 + End If + If RMI = Null Then RMI = 0 + If logger Then Log($"a_total=${a_total}, a_venta=${a_venta}, rmi=${RMI}"$) + a_final = a_total - a_venta + Printer1.WriteString(Printer1.BOLD & "Piezas en RMI : " & RMI & CRLF) + Printer1.WriteString(Printer1.BOLD & "TOTAL RMI : " & RMI_VALOR & CRLF) + + Printer1.WriteString(Printer1.BOLD & "----RESUMEN TOTAL---- " & CRLF) + '' se cambia por lo del rmi Printer1.WriteString("---" & a_inicial & "..." & ABORDO & "..." & a_total & "..." & a_venta & "..." & a_final & "..." & RMI & CRLF) + Printer1.WriteString("---" & a_inicial & "..." & ABORDO & "..." & a_total & "..." & a_venta & "..." & a_final & "..." & CRLF) + + Printer1.WriteString(Printer1.BOLD & "TOTAL VENTA " & C8.GetString("PE_TOTAL") & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString("Nombre y Firma" & CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString("__________" & CRLF) + Printer1.WriteString("------------------------------" & CRLF) + Printer1.WriteString(CRLF) + Printer1.WriteString(CRLF) + If C3.IsInitialized Then C3.Close + ProgressDialogHide +End Sub + +Sub B_CERRAR_I_Click + Panel_INV_A.Visible = False + P_INF_GENERAL.Visible = True + If logger Then Log("Panel general="&P_INF_GENERAL.Visible) +End Sub + +Sub Bt_GuardarBoleta_Click + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + cursorBoleta=Starter.skmt.ExecQuery("select ID_ALMACEN FROM CAT_ALMACEN") + cursorBoleta.Position=0 + Id_Almacen=cursorBoleta.GetString("ID_ALMACEN") + Starter.skmt.ExecNonQuery("delete from TMP_CAT_BILLETE") + Starter.skmt.ExecNonQuery("delete from TMP_CAT_MONEDAS") + Starter.skmt.ExecNonQuery2("INSERT INTO TMP_CAT_BILLETE (TMP_BILLE_RUTA, TMP_BILLE_IDALMACEN, TMP_BILLE_FECHA, TMP_BILLE_MIL, TMP_BILLE_QUINIENTOS, TMP_BILLE_DOSCIENTOS, TMP_BILLE_CIEN, TMP_BILLE_CINCUENTA, TMP_BILLE_VEINTE) values (?,?,?,?,?,?,?,?,?)", Array As Object (RutaBoleta,Id_Almacen,sDate & sTime,EDT_CANMIL.Text,EDT_CANQUIN.Text,EDT_CANDOS.Text,EDT_CANCIEN.Text,EDT_CANCIN.Text,EDT_CANVEIN.Text)) + Starter.skmt.ExecNonQuery2("INSERT INTO TMP_CAT_MONEDAS (TMP_MON_RUTA, TMP_MON_IDALMACEN, TMP_MON_FECHA, TMP_MON_VEINTE, TMP_MON_DIEZ, TMP_MON_CINCO, TMP_MON_DOS, TMP_MON_UN, TMP_MON_CENTAVOS) values (?,?,?,?,?,?,?,?,?)", Array As Object (RutaBoleta,Id_Almacen,sDate & sTime,EDT_CANVEINTE.Text,EDT_CANDIEZ.Text,EDT_CANCI.Text,EDT_CANDO.Text,EDT_CANUN.Text,EDT_CANCEN.Text)) +' If Logger Then Log($"${RutaBoleta},${Id_Almacen},${EDT_CANMIL.Text},${EDT_CANQUIN.Text},${EDT_CANDOS.Text},${EDT_CANCIEN.Text},${EDT_CANCIN.Text},${EDT_CANVEIN.Text}"$) +' If Logger Then Log($"${RutaBoleta},${Id_Almacen},${EDT_CANVEINTE.Text},${EDT_CANDIEZ.Text},${EDT_CANCI.Text},${EDT_CANDO.Text},${EDT_CANUN.Text},${EDT_CANCEN.Text}"$) + Msgbox("Datos Guardados ","Listo") 'ignore +End Sub + +Sub B_E_NEXT_Click + Panel9.Visible = False + Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, E_RES_E.Text ,sDate & sTime,c.GetString("CAT_EP_ID"))) + Starter.tipov = "VENTA" + Cuestionario +End Sub + +Sub b_chk_e_Click + Panel10.Visible = False + Private resp As String = "" + If Chk_1.Checked = True Then resp = chk_1_valor + If chk_2.Checked = True Then resp = resp & " / " & chk_2_valor + If chk_3.Checked = True Then resp = resp & " / " & chk_3_valor + If resp.StartsWith(",") Then resp = resp.SubString(2) 'Quitamos la coma si existe al principio. + Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, resp, sDate & sTime, Chk_1.Tag)) + Starter.tipov = "VENTA" + Cuestionario +End Sub + +'Muestra el panel de la encuesta, le da el alto y ancho de la pantalla y la pone en 0,0 +Sub muestraEncuesta +' If Logger Then Log("Muestra Encuesta") + p_encuesta.Top = 0 + p_encuesta.left = 0 + p_encuesta.Height = GetDeviceLayoutValues.Height + p_encuesta.Width = GetDeviceLayoutValues.Width + p_encuesta.SetVisibleAnimated(200, True) + p_encuesta.Elevation = 90 'ignore + p_encuesta.BringToFront + P_INF_GENERAL.Visible = False + Log("Panel general="&P_INF_GENERAL.Visible) +End Sub + +' Oculta el panel de la encuesta y los botones de la misma. +Sub ocultaPanelEncuesta +' Log("Oculta Encuesta") + b_encuesta_1.Visible = False + b_encuesta_2.Visible = False + b_encuesta_3.Visible = False + p_encuesta.Visible = False + P_INF_GENERAL.Visible = True + If logger Then Log("Panel general="&P_INF_GENERAL.Visible) +End Sub + +'Regresa el valor de "left" para el centro de la pantalla +Sub centroPantalla As Int + Private anchoPantalla As Int = GetDeviceLayoutValues.Width + Private anchoPantalla As Int = Root.Width + Return anchoPantalla/2 +End Sub + +Private Sub b_encuesta_1_Click + Dim btn As Button = Sender + Log(btn.Tag & " clicked - " & btn.Text) + encuestaRes = btn.Text + ocultaPanelEncuesta + botonPresionado = 1 +End Sub + +Private Sub b_encuesta_2_Click + Dim btn As Button = Sender + Log(btn.Tag & " clicked - " & btn.Text) + encuestaRes = btn.Text + ocultaPanelEncuesta + botonPresionado = 1 +End Sub + +Private Sub b_encuesta_3_Click + Dim btn As Button = Sender + If logger Then Log(btn.Tag & " clicked - " & btn.Text) + encuestaRes = btn.Text + ocultaPanelEncuesta + botonPresionado = 1 +End Sub + +Private Sub b_encuesta_continuar_Click + encuestaRes = et_encuesta.Text + et_encuesta.Text = "" + et_encuesta.Visible = False + b_encuesta_continuar.Visible = False + ocultaPanelEncuesta + botonPresionado = 1 +End Sub + +Private Sub et_encuesta_TextChanged (Old As String, New As String) +' Log($"|${Old}|,|${New}|"$) + If New.Length > 0 Then b_encuesta_continuar.Enabled = True + If New.Length < 1 Then b_encuesta_continuar.Enabled = False +End Sub + +'Revisa si el cliente actual es candidato a la promo especial que da regalo según el monto de la compra. +'Se revisa que el cliente tenga asignada la promoción, que no tenga venta impresa y que el producto de regalo tenga existencia. +'Si cumple las 3 condiciones regresa esValida=True, si no, esValida=False. +Sub revisaPromoEspecial As Map +' Necesitamos cliente autorizado, producto promocional con existencia y cliente no impreso. + Private hayInventario As String = "" + Private clienteConPromo As String = "" + Private clienteImpreso As String = "" + Dim promoInfo As Map + promoInfo.Initialize + Private x As Cursor + 'Revisamos si ya tiene venta impresa. + x=Starter.skmt.ExecQuery("select count(*) as CUANTOS from CLIENTE_IMPRESO where CI_CUENTA in (Select CUENTA from cuentaa)") + x.Position = 0 + clienteImpreso = x.GetString("CUANTOS") +' Log(clienteImpreso) +' If clienteImpreso = "0" Then Log("El cliente no tiene venta impresa.") + x.Close + 'Revisamos que tenga asignada la promo. + x=Starter.skmt.ExecQuery("select count(*) as clienteConPromo, CPM_PROID, CPM_CANT, CPM_RANGO, CPM_DESC, CPM_IDPROMO, CPM_MONTO from CAT_PROMO_MONTO where CPM_CLIENTE in (Select CUENTA from cuentaa)") + If x.RowCount > 0 Then + x.Position = 0 + If x.GetString("clienteConPromo") = 1 Then 'Cliente autorizado para promo. + clienteConPromo = "1" + Private y As Cursor + Private nombreProd As String = "" + y=Starter.skmt.ExecQuery("select cat_gp_nombre as nombreProd from cat_gunaprod where cat_gp_id = '" & x.GetString("CPM_PROID") & "'") + If y.RowCount > 0 Then + y.Position = 0 + nombreProd = y.GetString("nombreProd") + End If + Log("El cliente tiene asignada la promo especial.") + Private p As Cursor + p=Starter.skmt.ExecQuery("select count(*) as hayInventario from CAT_GUNAPROD where CAT_GP_ALMACEN > 0 and CAT_GP_ID = " & x.GetString("CPM_PROID")) + p.Position = 0 + hayInventario = p.GetString("hayInventario") + If hayInventario = "1" Then Log("El producto de la promo tiene existencia.") + p.Close + promoInfo = CreateMap("idProd":x.GetString("CPM_PROID"), "cantProd":x.GetString("CPM_CANT"), "rangoPromo":x.GetString("CPM_RANGO"), "descrPromo":x.GetString("CPM_DESC"), "idPromo":x.GetString("CPM_IDPROMO"), "montoPromo":x.GetString("CPM_MONTO"), "nombreProd":nombreProd) + End If + End If + x.Close + If clienteImpreso = "0" And clienteConPromo = "1" And hayInventario = "1" Then + Log("Cumple con TODAS las condiciones de la promo.") + promoInfo.Put("esValida", True) + Return promoInfo + Else +' Log("NO cumple con las condiciones de la promo.") + promoInfo.Put("esValida", False) + Return promoInfo + End If +End Sub + +'Mete la promoción especial de regalo por monto vendido. +Sub metePromoEspecial(idProd As String, idPromo As String, cantProd As Int, nombreProd As String, promoDescr As String, idCliente As String, idUsuario As String, idRuta As String) 'ignore + Dim query As String + query = "cat_gunaprod" + If Starter.tipov = "VENTA" Then query = "cat_gunaprod2" +' Falta nombre de producto en el insert + Starter.skmt.ExecNonQuery2("DELETE from PEDIDO where PE_CEDIS = ?", Array As String (idPromo)) + 'Metemos encabezado de la promo. + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_RUTA, PE_TIPO, PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (idPromo, 0, 0, cantProd, promoDescr, idPromo, idCliente, sDate & sTime, idUsuario, idRuta, Starter.tipov, 0)) + 'Metemos el producto de regalo. + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_RUTA, PE_TIPO, PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (idPromo, 0.01, 0.01, cantProd, nombreProd, idProd, idCliente, sDate & sTime, idUsuario, idRuta, Starter.tipov, 0.01)) + 'Actualizamos existencia en CAT_GUNAPROD. + Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantProd, idProd)) +End Sub + +Sub revisaImpresora (mode As String) 'ignore + '' Log("Revisamos impresora " & Starter.intentosImpresora) + '' Log("RevisandoImpresora= " & Starter.revisandoImpresora) +' If Not(Starter.btAdmin.IsEnabled) Then Starter.btAdmin.Enable 'Si no esta prendido el BT lo prendemos. +' If Not(Printer1.IsInitialized) Then Printer1.Initialize(Me, "Printer1") 'Si no esta inicializada la inicializamos. +' If Not(Starter.revisandoImpresora) Then Return +' Starter.revisandoImpresora = True +' If mode = "BT" Then + '' Try + '' LogColor("reiniciamos BT", Colors.Blue) + '' Starter.btAdmin.Disable + '' Sleep(500) + '' Starter.btAdmin.Enable + '' Sleep(1000) + '' If Starter.btAdmin.IsEnabled Then revisaImpresora("") + '' Catch + '' Log(LastException) + '' End Try +' Else + '' ToastMessageShow("Conectando impresora.", False) +' If Not(Printer1.IsConnected) Then 'Si no estamos conectados, nos conectamos. +' Log("Connect") +' Printer1.Connect +' Else 'Si ya estamos conectados +' Log("Disc-Conn") +' Printer1.DisConnect +' Sleep(1000) +' Printer1.Connect +' End If +' End If +End Sub + +Private Sub l_exhibidor2_Click + p_exhibidores.Left = (Root.Width/2) - (p_exhibidores.Width/2) + p_exhibidores.Top = Root.Height/4 + p_exhibidores.Visible = True + p_exhibidores.Elevation = 90dip +End Sub + +Private Sub b_exhibidor_Click + p_exhibidores.Visible = False +End Sub + +Private Sub Panel9_Click + 'Esta vacio porque solo esta capturado los clics. +End Sub + +Private Sub PNL_TOTALES_Click + 'Esta vacio porque solo esta capturado los clics. +End Sub + +Private Sub b_ubicacion_Click + CallSubDelayed(Tracker, "StartFLP2") +End Sub + +Private Sub P_BOLETA_Click + 'Esta vacio porque solo esta capturado los clics. +End Sub + +Private Sub b_whats_Click + P_INF_GENERAL.Visible = False + p_promowhats.visible = True + + c=Starter.skmt.ExecQuery("select CAT_CL_CODIGO from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)") + If c.RowCount > 0 Then + c.Position=0 + l_promowhats.Text = c.GetString("CAT_CL_CODIGO") + End If + c.Close +End Sub + +Private Sub b_aceptarrpomo_Click +' c=Starter.skmt.ExecQuery("select CAT_CL_NOMBRE from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)") +' If c.RowCount > 0 Then +' c.Position=0 +' l_promowhats.Text = c.GetString("CAT_CL_NOMBRE") +' End If +' c.Close + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c.Close + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + c.Close + c=Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN") + If c.RowCount>0 Then + C.Position=0 + Id_Almacen = C.GetString("ID_ALMACEN") + End If + c.Close + + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_PROMO_WHATS VALUES (?,?)", Array As Object(l_promowhats.Text, "PROMO ACEPTADA")) + + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("PROMODOE",0 , 0, 1, "KIT DE BIENVENIDA DON TOÑO", "PROMODOE",la_cuenta.TEXT, sDate & sTime, usuario,Starter.rutaV,Starter.tipov,0)) + Starter. skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("PROMODOE",0.01 , 0.01, 1, "CAJA CHOCO ZUCARITAS 260 GR", "1008094223",la_cuenta.TEXT, sDate & sTime, usuario,Starter.rutaV,Starter.tipov,0)) + Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object("1", "1008094223")) + c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position=0 + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + If logger Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta) + Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps,Id_Almacen,Starter.rutaV,c.GetString("TOTAL_CLIE_SIN"))) + + Starter.skmt.ExecNonQuery("delete from pedido3") + Starter.skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = 0 where PE_FOLIO IS NULL") + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_FECHA, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO ) SELECT PE_PRECIO2, PE_TIPO, PE_FECHA, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE ") 'Mod por CHV - 220302 - Agregué PE_FECHA al select/insert + +' starter.skmt.ExecNonQuery2("INSERT INTO") + p_promowhats.Visible = False + P_INF_GENERAL.Visible = True + c.Close + b_whats.Visible = False + Starter.skmt.ExecNonQuery("delete from HIST_CLIENTE_CANT_PROMOS where HCCP_CLIENTE IN (Select cuenta from cuentaa)") +End Sub + +Private Sub b_rechazapromo_Click + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_PROMO_WHATS VALUES (?,?)", Array As Object(l_promowhats.Text, "PROMO RECHAZADA")) + p_promowhats.Visible = False + P_INF_GENERAL.Visible = True + b_whats.Visible = False +End Sub + +Private Sub p_pideGeoPass_Click +End Sub + +Private Sub b_geopass_Click + If et_geopass.Text = "KMTS1" Then + m_lat = Starter.lat_gps + m_lon = Starter.lon_gps + GPS_LocationChanged(Starter.ubicacionActual) + Starter.skmt.ExecNonQuery($"update kmt_info set CAT_CL_LAT = '${Starter.lat_gps}', CAT_CL_LONG = '${Starter.lon_gps}' where CAT_CL_CODIGO = '${Subs.traeCliente}'"$) + Else + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "select_geoPass" + cmd.Parameters = Array As Object(et_geopass.Text, Subs.traeAlmacen, Subs.traeRuta) + reqManager.ExecuteQuery(cmd , 0, "traeGeoPass") + Log($"${Starter.server}, ${et_geopass.Text}, ${Subs.traeAlmacen}, ${Subs.traeRuta}"$) + et_geopass.Text = "" + End If + b_noVenta.Visible = True + p_pideGeoPass.Visible = False + ime.HideKeyboard +' Log("Guardamos coords") +' LATITUD = Starter.lat_gps +' LONGITUD = Starter.lon_gps +' GPS_LocationChanged(Starter.ubicacionActual) +' Starter.skmt.ExecNonQuery($b_geopass"update kmt_info set CAT_CL_LAT = '${Starter.lat_gps}', CAT_CL_LONG = '${Starter.lon_gps}' where CAT_CL_CODIGO = '${Subs.traeCliente}'"$) +End Sub + +Private Sub l_ubicacion2_LongClick + If laDist > 49 Then + p_pideGeoPass.BringToFront + p_pideGeoPass.Visible = True + End If +End Sub + +Sub JobDone(Job As HttpJob) + If Job.Success = False Then +' ToastMessageShow("Error: " & Job.ErrorMessage, True) + LogColor("Error: " & Job.ErrorMessage, Colors.red) + Else + LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211110 + If Job.JobName = "DBRequest" Then + Dim result As DBResult = reqManager.HandleJob(Job) + If result.Tag = "traeGeoPass" Then 'query tag + Log("SIN REGISTROS " & result.Rows.Size) + If result.Rows.Size = 0 Then MsgboxAsync("Contraseña equivocada, por favor intente de nuevo.", "ATENCION") + For Each records() As Object In result.Rows +' For Each k As String In result.Columns.Keys +' Log(k & ": " & records(result.Columns.Get(k))) +' Next + Private permiso_geoPass As String = records(result.Columns.Get("'OK'")) + If permiso_geoPass = "OK" Then + m_lat = Starter.lat_gps + m_lon = Starter.lon_gps + GPS_LocationChanged(Starter.ubicacionActual) + Starter.skmt.ExecNonQuery($"update kmt_info set CAT_CL_LAT = '${Starter.lat_gps}', CAT_CL_LONG = '${Starter.lon_gps}' where CAT_CL_CODIGO = '${Subs.traeCliente}'"$) + End If + Next + End If + End If + End If + Job.Release +End Sub + +Private Sub BP_DOE_A_Click + c=Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN") + If c.RowCount>0 Then + C.Position=0 + Id_Almacen = C.GetString("ID_ALMACEN") + End If + c.Close + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + c.Close + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2 FROM PEDIDO_DOE WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_CEDIS = ?, PE_TIPO = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As Object("DOE","DOE")) + + c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position=0 + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + If logger Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta) + Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps,Id_Almacen,Starter.rutaV,c.GetString("TOTAL_CLIE_SIN"))) + Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + c.Close + Starter.skmt.ExecNonQuery("delete from pedido_DOE where pe_cliente in (Select CUENTA from cuentaa)") + + p_doe.Visible = False +End Sub + +Private Sub BP_DOE_R_Click + Panel11.Visible = True + BP_DOE_A.Visible = False + BP_DOE_R.Visible = False +End Sub + +private Sub pedido_doe_muestra + ''' ESTO SE AGREGA PARA QUE SE VEA LOS CLIENTES DOE + C5=Starter.skmt.ExecQuery("select COUNT(*) AS CLIENTE_DOE from PEDIDO_DOE WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ") + C5.Position = 0 + If C5.GetString("CLIENTE_DOE") >0 Then + p_doe.VISIBLE = True + C6=Starter.skmt.ExecQuery("select PE_PROID, PE_PRONOMBRE, PE_CANT, PE_COSTO_TOT from PEDIDO_DOE where PE_CLIENTE IN (Select CUENTA from cuentaa)") + LP_DOE.Clear + + If C6.RowCount>0 Then + For i=0 To C6.RowCount -1 + C6.Position=i + Dim label1 As Label + label1 = LP_DOE.TwoLinesLayout.Label + label1.TextSize = 14 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = LP_DOE.TwoLinesLayout.SecondLabel + label2.TextSize = 14 + label2.TextColor = Colors.Black + LP_DOE.AddTwoLines(C6.GetString("PE_PRONOMBRE"), " # " & C6.GetString("PE_CANT") & " TOTAL " & C6.GetString("PE_COSTO_TOT") ) + Next + End If + C6.Close + C6=Starter.skmt.ExecQuery("select SUM(PE_CANT) AS CANT, SUM(PE_COSTO_TOT) AS TOTAL from PEDIDO_DOE where PE_CLIENTE IN (Select CUENTA from cuentaa)") + C6.Position= 0 + L_DOE_TOTAL.Text = "TOTAL PEDIDO DOE :"& C6.GetString("TOTAL") & " No. PIEZAS: " & C6.GetString("CANT") + C6.Close + ''' FALTAN LOS BOTONES DE ACEPTAR Y RECHAZAR, INVENTAIRO ABORDO MODIFICAR PARA IMPRIMIR + End If + + C5.Close +End Sub + +Private Sub BP_DOE_R1_Click + BP_DOE_A.Visible = True + BP_DOE_R.Visible = True + + Panel11.Visible = False + p_doe.Visible = False + c=Starter.skmt.ExecQuery("select PE_PROID,PE_CANT, PE_TIPO FROM PEDIDO_DOE where pe_cliente in (Select CUENTA from cuentaa) ") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) + Next + End If +' Starter.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)") + Starter.skmt.ExecNonQuery("delete from pedido_DOE where pe_cliente in (Select CUENTA from cuentaa)") + p_doe.Visible = False +End Sub \ No newline at end of file diff --git a/B4A/C_Clientes.bas b/B4A/C_Clientes.bas new file mode 100644 index 0000000..7d56304 --- /dev/null +++ b/B4A/C_Clientes.bas @@ -0,0 +1,287 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + '// Process Globals + Dim ruta As String + Dim q_buscar As String + Dim MAC_IMPRESORA As String + '// Globals + Dim c As Cursor + Dim c2 As Cursor + Dim s As Cursor + Dim ListView1 As ListView + Dim entro As String + Dim gest As Button + Dim lfila As Label + Dim busca As EditText + Dim colonia As String 'ignore + Private b_qr As Button + Private qr As QRCode + Dim sc As Zxing_scanner + Dim CODIGO As String + Private b_bdd As Button + Private SEMANA As String + Private B_IMP As Button + Dim logger As Boolean = True +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root + Root.LoadLayout("Clientes") + entro ="2" + ruta = File.DirInternal + qr.initialize + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP")) + c.Position =0 + MAC_IMPRESORA = c.GetString("CAT_VA_VALOR") + Starter.MAC_IMPRESORA = MAC_IMPRESORA + If Not(Starter.Logger) Then logger = False +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub B4XPage_Appear + B_IMP.Visible = False +' If Logger Then Log(Me) +' If Logger Then LogColor("Ultima actividad guardada=" & Subs.traeUltimaActividadBD, Colors.Blue) +' If Subs.traeUltimaActividadBD <> "colonia" Then Subs.iniciaActividad(Subs.traeUltimaActividadBD) + c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SEMANA")) + c.Position =0 + SEMANA = c.GetString("CUANTOS") + c.Close + If SEMANA > 0 Then + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SEMANA")) + c.Position =0 + SEMANA = c.GetString("CAT_VA_VALOR") + c.Close + End If + b_bdd.Visible = True +' b_qr.Visible = True + busca.Text = "" + entro ="2" + colonia = 0 + c=Starter.skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO, CAT_CL_NUM_SERIEFISICO from kmt_info where CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?) and gestion = 0 and cat_cl_codigo not in (select pe_cliente from pedido) and cat_cl_codigo <> 0 AND CAT_CL_TIPO_RUTA IN (?,?) and CAT_CL_CODIGO not in (select NV_CLIENTE from NOVENTA) ORDER BY CAT_CL_NUM_SERIEFISICO", Array As String("DIA_VISITA",SEMANA, "SEMANAL")) + ListView1.Clear + lfila.Text = "NOMBRE" + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim label1 As Label + label1 = ListView1.TwoLinesLayout.Label + label1.TextSize = 14 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = ListView1.TwoLinesLayout.SecondLabel + label2.TextSize = 14 + label2.TextColor = Colors.Black + ListView1.AddTwoLines(c.GetString("CAT_CL_CODIGO"), c.GetString("CAT_CL_NUM_SERIEFISICO") & " " & c.GetString("CAT_CL_NOMBRE") ) + Next + End If + entro = "4" +End Sub + +Private Sub B4XPage_CloseRequest As ResumableSub + ' BACK key pressed + Subs.iniciaActividad("principal") +' B4XPages.ShowPage("Principal") + Return True +End Sub + +Sub ListView1_ItemClick (Position As Int, Value As Object) +' If Logger Then Log(Regex.Split("\.",Me)(Regex.Split("\.",Me).Length-1)) + Private Subrutina As Map =CreateMap("nombre":"ListView1_ItemClick", "param1":Position, "param2":Value) + Starter.sesion = CreateMap("actividad":Me, "sub":Subrutina) + If colonia = 0 Then + colonia = Value + End If + If entro = "2" Then + c2=Starter.skmt.ExecQuery2("select CAT_CL_CALLE, CAT_CL_COLONIA, count(*) as cuantos from kmt_info where gestion = 0 and CAT_CL_COLONIA = ? GROUP BY CAT_CL_CALLE, CAT_CL_COLONIA order by CAT_CL_CALLE ", Array As String(Value)) + ListView1.Clear + lfila.text = "Calle" + If c2.RowCount>0 Then + For i=0 To c2.RowCount -1 + c2.Position=i + ListView1.AddTwoLines(c2.GetString("CAT_CL_CALLE"),c2.GetString("cuantos") ) + Next + End If + entro = "3" + Else If entro = "3" Then + c2=Starter.skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info where gestion = 0 and CAT_CL_CALLE = ? AND CAT_CL_COLONIA = ? order by CAT_CL_NOMBRE ", Array As String(Value, colonia)) + ListView1.Clear + lfila.text = "Nombre" + If c2.RowCount>0 Then + For i=0 To c2.RowCount -1 + c2.Position=i + ListView1.AddTwoLines(c2.GetString("CAT_CL_CODIGO"), c2.GetString("CAT_CL_NOMBRE")) + Next + End If + entro = "4" + Else If entro = "4" Then + Starter.skmt.ExecNonQuery("delete from CUENTAA") + Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(Value)) + Subs.iniciaActividad("Cliente") + End If +End Sub + +Sub Activity_KeyPress (key As Int) As Boolean 'ignore + ' BACK key pressed + If key=KeyCodes.KEYCODE_BACK Then + Subs.iniciaActividad("Principal") + Return False + 'End If + End If + ' Returning False signals the system to handle the key +End Sub + +Sub BUSCA_TextChanged (Old As String, New As String) + q_buscar = "%" & busca.Text & "%" + c2=Starter.skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info where (CAT_CL_NOMBRE like ? OR CAT_CL_CODIGO LIKE ?) and CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?) and gestion = 0 order by CAT_CL_NOMBRE ", Array As String(q_buscar,q_buscar,"DIA_VISITA")) + ListView1.Clear + lfila.text = "Nombre y Calle" + If c2.RowCount>0 Then + For i=0 To c2.RowCount -1 + c2.Position=i + Dim label1 As Label + label1 = ListView1.TwoLinesLayout.Label + label1.TextSize = 14 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = ListView1.TwoLinesLayout.SecondLabel + label2.TextSize = 14 + label2.TextColor = Colors.Black + ListView1.AddTwoLines(c2.GetString("CAT_CL_CODIGO"), c2.GetString("CAT_CL_NOMBRE") &" CALLE: "& c2.GetString("CAT_CL_CALLE")) + Next + End If + entro = "4" + c2.Close +End Sub + +Sub b_qr_Click + Dim scan_width As Int + Dim scan_height As Int + scan_width = 400 + scan_height = 400 + sc.BeginScan("sc","CODIGO CLIENTE",scan_width,scan_height) +End Sub + +Sub sc_result(atype As String,Values As String) + 'If Logger Then Log("Type : " & atype) + 'If Logger Then Log("Value : " & Values) + CODIGO = Values + c2=Starter.skmt.ExecQuery2("select COUNT(*) AS ENCONTRADO from kmt_info where CAT_CL_NUM_SERIEFISICO = ? order by CAT_CL_NOMBRE ", Array As String(CODIGO)) + c2.Position =0 + If c2.GetString("ENCONTRADO") > 0 Then + s=Starter.skmt.ExecQuery2("select CAT_CL_CODIGO from kmt_info where CAT_CL_NUM_SERIEFISICO = ? order by CAT_CL_NOMBRE ", Array As String(CODIGO)) + s.Position =0 + Starter.skmt.ExecNonQuery("delete from CUENTAA") + Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(s.GetString("CAT_CL_CODIGO"))) + s.Close + b_qr.Visible = False + Subs.iniciaActividad("Cliente") + Else + Msgbox("CODIGO " & CODIGO & " NO ENCONTRADO","AVISO") 'ignore + End If +End Sub + +Sub sc_noScan + If logger Then Log("nothing returned from the scan !!!!!") +End Sub + +Sub calc_ean_checksum(number As String) As String 'this has now become redundant as I am only interested in QR Codes + Dim i As Int +' Dim cO As Char + Dim soma As Int + Dim n As Int + Dim digit As Float + soma = 0 + For i=0 To number.Length - 1 + digit = number.SubString2(i,i+1) + n= digit * ((i Mod 2) * 2 + 1) + soma=soma+n + Next + Return number & ( ( 10 - ( soma Mod 10 )) Mod 10 ) +End Sub + +Sub b_bdd_Click + q_buscar = "%" & busca.Text & "%" + c2=Starter.skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info where (CAT_CL_NOMBRE like ? OR CAT_CL_CODIGO LIKE ?) and gestion = 0 order by CAT_CL_NOMBRE ", Array As String(q_buscar,q_buscar)) + ListView1.Clear + lfila.text = "Nombre y Calle" + If c2.RowCount>0 Then + For i=0 To c2.RowCount -1 + c2.Position=i + Dim label1 As Label + label1 = ListView1.TwoLinesLayout.Label + label1.TextSize = 14 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = ListView1.TwoLinesLayout.SecondLabel + label2.TextSize = 14 + label2.TextColor = Colors.Black + ListView1.AddTwoLines(c2.GetString("CAT_CL_CODIGO"), c2.GetString("CAT_CL_NOMBRE") &" CALLE: "& c2.GetString("CAT_CL_CALLE")) + Next + End If + entro = "4" + c2.Close +End Sub + +'Imprimimos clientes. +Sub B_IMP_Click +' If Printer1.IsInitialized And Printer1.IsConnected = False Then +' Printer1.Connect +' ToastMessageShow("Conectando impresora ...", False) +' End If +' Try +' c=Starter.skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO, CAT_CL_NUM_SERIEFISICO from kmt_info where CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?) and gestion = 0 and cat_cl_codigo not in (select pe_cliente from pedido) and cat_cl_codigo <> 0 AND CAT_CL_TIPO_RUTA IN (?,?) ORDER BY CAT_CL_NUM_SERIEFISICO", Array As String("DIA_VISITA",SEMANA, "SEMANAL")) + '' c=skmt.ExecQuery("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO,CAT_CL_DIAS_VISITA from kmt_info where gestion = 0 and cat_cl_codigo <> 0 ORDER BY CAT_CL_CODIGO") +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' Printer1.WriteString("ID. " & c.GetString("CAT_CL_CODIGO") & CRLF) +' Printer1.WriteString("Nombre " & c.GetString("CAT_CL_NUM_SERIEFISICO") & " " & c.GetString("CAT_CL_NOMBRE") & CRLF) +' Printer1.WriteString("------------------------------" & CRLF) +' Next +' End If +' Catch +' Log(LastException) +' End Try +End Sub + +Sub revisaImpresora (mode As String) 'ignore +' If Not(Starter.btAdmin.IsEnabled) Then Starter.btAdmin.Enable 'Si no esta prendido el BT lo prendemos. +' If Not(Printer1.IsInitialized) Then Printer1.Initialize(Me, "Printer1") 'Si no esta inicializada la inicializamos. +' If Not(Starter.revisandoImpresora) Then Return +' Starter.revisandoImpresora = True +' If mode = "BT" Then + '' If Logger Then LogColor("reiniciamos BT", Colors.Blue) + '' Starter.btAdmin.Disable + '' Sleep(500) + '' Starter.btAdmin.Enable + '' Sleep(1000) + '' If Starter.btAdmin.IsEnabled Then revisaImpresora("") +' Else + '' ToastMessageShow("Conectando impresora.", False) +' If Not(Printer1.IsConnected) Then 'Si no estamos conectados, nos conectamos. +' If Logger Then Log("Connect") +' Printer1.Connect +' Else 'Si ya estamos conectados +' If Logger Then Log("Disc-Conn") +' Printer1.DisConnect +' Sleep(1000) +' Printer1.Connect +' End If +' End If +End Sub \ No newline at end of file diff --git a/B4A/C_Foto.bas b/B4A/C_Foto.bas new file mode 100644 index 0000000..cb0f9fb --- /dev/null +++ b/B4A/C_Foto.bas @@ -0,0 +1,184 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + '//Process Globals + Dim ruta As String + Dim g As GPS + Private frontCamera As Boolean = False + Dim quien_llamo As String + Dim foto_g () As Byte + Dim foto_g1 () As Byte + Dim foto_g2 () As Byte + Dim foto_g3 () As Byte + Dim foto_g4 () As Byte + '//Globals + Dim btnTakePicture As Button + Dim Panel1 As Panel + Dim c As Cursor + Dim cuenta As String + Dim lat_gps As String + Dim lon_gps As String + Private camEx As CameraExClass + Private i_foto As ImageView + Private b_guardar As Button +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root + Root.LoadLayout("foto") + Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_CAMERA) + Wait For Activity_PermissionResult (Permission As String, Result As Boolean) + ruta = File.DirInternal +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + + +Sub Camera1_Ready (Success As Boolean) + If Success Then + ' camEx.SetJpegQuality(90) + ' camEx.CommitParameters + Dim ps As CameraSize + ps.Width =640'480 '1280 + ps.Height =480'360 '960 + camEx.SetPictureSize(ps.Width, ps.Height) + camEx.CommitParameters + Try + camEx.StartPreview + Catch + camEx.Release + Subs.iniciaActividad("CHECKLIST_AUTO") + End Try + ' Dim ps As CameraSize + ' ps.Width =640 '1280 + ' ps.Height =480 '960 + ' camEx.SetPictureSize(ps.Width, ps.Height) + ' camEx.CommitParameters + + ' Log(camEx.GetPreviewSize) + 'Msgbox(camEx.GetPreviewSize,"aviso") 'ignore + Else + Subs.iniciaActividad("CHECKLIST_AUTO") + 'ToastMessageShow("Cannot open camera.", True) + End If +End Sub + +Sub Activity_Resume + i_foto.Visible = False +' If g.GPSEnabled=False Then +' ToastMessageShow("Habilitar el GPS", True) +' StartActivity(g.LocationSettingsIntent) +' Else +' g.Start(0,0) +' End If + InitializeCamera + btnTakePicture.Enabled = True + b_guardar.Enabled = False +End Sub + +Sub Activity_Pause (UserClosed As Boolean) + camEx.Release +End Sub + +Sub GPS_LocationChanged (Location1 As Location) +' lat_gps=Location1.ConvertToSeconds(Location1.Latitude) +' lon_gps=Location1.ConvertToSeconds(Location1.Longitude) +' 'btnTakePicture.Enabled = True +' 's.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE,HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, lat_gps, lon_gps)) +End Sub + +Private Sub InitializeCamera + camEx.Initialize(Panel1, frontCamera, Me, "Camera1") + frontCamera = camEx.Front +End Sub + +Sub Camera1_PictureTaken (Data() As Byte) + btnTakePicture.Enabled = True + Dim filename As String = "2.jpg" + Dim dir As String = File.DirRootExternal + camEx.SavePictureToFile(Data, dir, filename) + camEx.StartPreview 'restart preview + i_foto.Visible = True + i_foto.Bitmap = LoadBitmap(File.DirRootExternal, "2.jpg") + If B4XPages.MainPage.cliente.TOMAR_FOTO = 1 Then + Dim InputStream1 As InputStream + InputStream1 = File.OpenInput(File.DirRootExternal, "2.jpg") + Dim OutputStream1 As OutputStream + OutputStream1.InitializeToBytesArray(500) + File.Copy2(InputStream1, OutputStream1) + foto_g = OutputStream1.ToBytesArray + End If + b_guardar.Enabled = True + camEx.Release + InitializeCamera + btnTakePicture.Enabled = True +End Sub + +Sub Activity_KeyPress (key As Int) As Boolean + ' BACK key pressed + If key=KeyCodes.KEYCODE_BACK Then + ' I want to capture the key here so I return True + B4XPages.ShowPage("Principal") + 'Return True + End If + ' Returning False signals the system to handle the key + Return False +End Sub + +Sub b_guardar_Click + camEx.Release + 'If quien_llamo = "1" Then + Try + If quien_llamo = "1" Then + File.Copy(File.DirRootExternal, "2.jpg",File.DirRootExternal, "FOTO1.jpg") + Subs.iniciaActividad("CHECKLIST_AUTO") + else if quien_llamo = "2" Then + File.Copy(File.DirRootExternal, "2.jpg",File.DirRootExternal, "FOTO2.jpg") + Subs.iniciaActividad("CHECKLIST_AUTO") + else if quien_llamo = "3" Then + File.Copy(File.DirRootExternal, "2.jpg",File.DirRootExternal, "FOTO3.jpg") + Subs.iniciaActividad("CHECKLIST_AUTO") + else if quien_llamo = "4" Then + File.Copy(File.DirRootExternal, "2.jpg",File.DirRootExternal, "FOTO4.jpg") + Subs.iniciaActividad("CHECKLIST_AUTO") + End If + If B4XPages.MainPage.cliente.TOMAR_FOTO = 1 Then + c=Starter.skmt.ExecQuery("select cuenta from cuentaa") + c.Position = 0 + cuenta = c.GetString("CUENTA") + c.Close + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_FOTOS (HF_FOTO, HF_CUENTA, HF_IDENCUESTA) VALUES(?,?,?) ", Array As Object (foto_g,cuenta, B4XPages.MainPage.cliente.id_encuesta )) + Subs.iniciaActividad("fila") + End If + Catch + Msgbox("ERROR EN FOTO","") 'ignore + If B4XPages.MainPage.cliente.TOMAR_FOTO = 1 Then + Subs.iniciaActividad("fila") + Else + Subs.iniciaActividad("CHECKLIST_AUTO") + End If + End Try +End Sub + +Sub btnTakePicture_Click + btnTakePicture.Enabled = False + Dim ps As CameraSize + ps.Width =640'480 '1280 + ps.Height =480'360 '960 + camEx.SetPictureSize(ps.Width, ps.Height) + camEx.CommitParameters + camEx.TakePicture +End Sub \ No newline at end of file diff --git a/B4A/C_Historico.bas b/B4A/C_Historico.bas new file mode 100644 index 0000000..7b6c252 --- /dev/null +++ b/B4A/C_Historico.bas @@ -0,0 +1,135 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + '//Process Globals + Dim g As GPS + Dim clie_id As String + Dim sDate,sTime As String + Dim usuario As String + '//Globals + Dim c As Cursor + Dim ruta As String + Dim Regresar As Button + Dim ListView1 As ListView + Dim L_CANT As Label + Dim L_TOTAL As Label + Dim borra As Button + Dim Existe As String + Dim result As String + Dim lat_gps, lon_gps As String + Private Titulo As Label + Private b_desc As Button + Private ListView2 As ListView + Private B_RMI As Button +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root + ruta = File.DirInternal + Root.LoadLayout("historico") + B_RMI.Visible = True + borra.Visible = False + Titulo.Text = "Acumulado" + b_desc.Visible = False +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub B4XPage_Appear + L_CANT.Text ="" + L_TOTAL.Text="" + c=Starter.skmt.ExecQuery("select count(*) as EXISTE from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa)") + C.Position=0 + Existe = C.GetString("EXISTE") + C.Close + c=Starter.skmt.ExecQuery("select HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) order by HVD_FECHA asc") + ListView1.Clear + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim label1 As Label + label1 = ListView1.TwoLinesLayout.Label + label1.TextSize = 15 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = ListView1.TwoLinesLayout.SecondLabel + label2.TextSize = 10 + label2.TextColor = Colors.Black + ListView1.AddTwoLines(c.GetString("HVD_PRONOMBRE"),"Cantidad #"& c.GetString("HVD_CANT")& " SubTotal $"& c.GetString("HVD_COSTO_TOT")& " FECHA " &c.GetString("HVD_FECHA") ) + Next + End If + If Existe <> 0 Then + c=Starter.skmt.ExecQuery("select SUM(HVD_CANT) AS PC_NOART, SUM(HVD_COSTO_TOT) AS PC_MONTO from HIST_VENTAS where HVD_CLIENTE in (Select CUENTA from cuentaa)") + C.Position=0 + L_CANT.Text = c.GetString("PC_NOART") + L_TOTAL.Text = c.GetString("PC_MONTO") + End If +End Sub + +Sub GPS_LocationChanged (Location1 As Location) +' lat_gps=Location1.ConvertToSeconds(Location1.Latitude) +' lon_gps=Location1.ConvertToSeconds(Location1.Longitude) +End Sub + +Sub Regresar_Click + B_RMI.Visible = False + Subs.iniciaActividad("Cliente") +End Sub + +Sub B4XPage_CloseRequest As ResumableSub + Log("Vamos a Cliente") +' BACK key pressed +' Return True To close, False To cancel + Regresar_Click +' Return True + Return False +End Sub + +Sub ListView2_ItemClick (Position As Int, Value As Object) + ListView2.Visible = False + ListView1.Visible = True +End Sub + +Sub ListView1_ItemClick (Position As Int, Value As Object) + ListView2.Visible = True + ListView1.Visible = False + Dim label1 As Label + For i=0 To 20 + label1 = ListView2.SingleLineLayout.Label + label1.TextSize = 15 + label1.TextColor = Colors.Black + ListView2.AddSingleLine(i) + Next +End Sub + +Sub B_RMI_Click + c=Starter.skmt.ExecQuery("select HR_CLIENTE,HR_PRONOMBRE,HR_CANT from HIST_RMI WHERE HR_CLIENTE IN (Select CUENTA from cuentaa) order by HR_PRONOMBRE") + ListView1.Clear + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim label1 As Label + label1 = ListView1.TwoLinesLayout.Label + label1.TextSize = 15 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = ListView1.TwoLinesLayout.SecondLabel + label2.TextSize = 10 + label2.TextColor = Colors.Black + ListView1.AddTwoLines(c.GetString("HR_PRONOMBRE"),"Cantidad #"& c.GetString("HR_CANT") ) + Next + End If +End Sub \ No newline at end of file diff --git a/B4A/C_Mapas.bas b/B4A/C_Mapas.bas new file mode 100644 index 0000000..93d800e --- /dev/null +++ b/B4A/C_Mapas.bas @@ -0,0 +1,138 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + '//Process Globals + Dim GPS As GPS + Dim rp As RuntimePermissions + Dim ruta As String + '//Globals + Private gmap As GoogleMap + Private MapFragment1 As MapFragment + Dim Latitud As Double = 0 + Dim Longitud As Double = 0 + Dim Lat2 As Double = 0 + Dim Lon2 As Double = 0 + Dim p1, p2 As Location + Dim Distance As Float + Dim boton1 As Button + Dim c As Cursor + Dim latmarker As String + Dim longmarker As String + Private l_long As Label + Private l_lat As Label + Private NOMBRE_TIENDA As String + Dim logger As Boolean = True +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root + Root.LoadLayout("mapas") + If MapFragment1.IsGooglePlayServicesAvailable = False Then + ToastMessageShow("Please install Google Play Services.", True) + End If + 'Boton velocidad' + boton1.Initialize(0) + boton1.Text = 0 &" "&"km/h" + boton1.TextColor = Colors.Red + boton1.TextSize = 15 + Root.AddView(boton1, 40%x, 5dip, 25%x, 40dip) +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub B4XPage_Appear + GPS.Initialize("GPS") + Log(1) + rp.CheckAndRequest(rp.PERMISSION_ACCESS_FINE_LOCATION) + Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean) + gmap.MyLocationEnabled = Result + Log(2) + Log(gmap.MyLocationEnabled) + If GPS.GPSEnabled = False Then + ToastMessageShow("Debe Activar el GPS del Equipo.", True) + StartActivity(GPS.LocationSettingsIntent) + Else + GPS.Start(0, 0) + End If + latmarker = B4XPages.MainPage.cliente.LATITUD + longmarker = B4XPages.MainPage.cliente.LONGITUD + NOMBRE_TIENDA = B4XPages.MainPage.cliente.NOMBRE + If logger Then Log($"lat=${latmarker}, lon=${longmarker}"$) + If logger Then Log(gmap) + Log($"${gmap.IsInitialized} And ${gmap.MyLocationEnabled}"$) + If gmap.IsInitialized And gmap.MyLocationEnabled Then + gmap.Clear + MapFragment1_Ready + End If + If Not(Starter.Logger) Then logger = False +End Sub + +Sub B4XPage_CloseRequest As ResumableSub + Log("Vamos a Cliente") +' BACK key pressed +' Return True To close, False To cancel + Subs.iniciaActividad("Cliente") +' Return True + Return False +End Sub + +Sub MapFragment1_Ready + LogColor("MapReady", Colors.red) + gmap = MapFragment1.GetMap +' rp.CheckAndRequest(rp.PERMISSION_ACCESS_FINE_LOCATION) +' Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean) +' gmap.MyLocationEnabled = Result + gmap.Clear + + Dim JavaMapsObject As JavaObject + JavaMapsObject = gmap.GetUiSettings + JavaMapsObject.RunMethod("setMapToolbarEnabled", Array As Object(True)) + + 'marcadores + If latmarker = "null" Or latmarker = Null Or latmarker = "" Then 'Zocalo + latmarker = "19.432568527069805" + longmarker = "-99.13335030112772" + End If + If logger Then Log($"lat=${latmarker}, lon=${longmarker}"$) + Dim marcador1 As Marker = gmap.AddMarker(latmarker, longmarker, "TIENDA") + marcador1.Snippet = B4XPages.MainPage.cliente.NOMBRE + 'Tienda 1 + + 'posicion inicial + Dim aa As CameraPosition + aa.Initialize(latmarker, longmarker,15)''' RECOMENDABLE CAMBIAR A 10 SI ES MAS DE 1 MARCADOR + gmap.AnimateCamera(aa) +End Sub + +Sub GPS_LocationChanged (Parametro As Location) + Dim sp As Int + sp = Ceil(Parametro.Speed * 3.6) + boton1.Text = sp &" "&"km/h" + Latitud = Parametro.Latitude + Longitud = Parametro.Longitude + p2.Initialize2(Latitud,Longitud) + p1.Initialize2(Lat2, Lon2) + Distance = p1.DistanceTo(p2) +End Sub + +Sub Activity_Pause (UserClosed As Boolean) + GPS.Stop +End Sub + +Sub reg_Click + Subs.iniciaActividad("Cliente") +End Sub + diff --git a/B4A/C_NoVenta.bas b/B4A/C_NoVenta.bas new file mode 100644 index 0000000..81e3c8c --- /dev/null +++ b/B4A/C_NoVenta.bas @@ -0,0 +1,127 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + Dim g As GPS + Dim ruta As String +' Dim skmt As SQL + Dim c As Cursor + Dim t3 As Timer + '// Globals + Dim CANCELA As Button + Dim GUARDA As Button + Dim r_1 As RadioButton + Dim r_2 As RadioButton + Dim r_3 As RadioButton + Dim e_comm As EditText + Dim motivo As String + Dim cuenta As String + Dim usuario As String + Dim sDate,sTime As String + Dim lat_gps, lon_gps As String + Dim CUANTOS As String + Dim r_4 As RadioButton + Private ImageView1 As ImageView + Private ImageView2 As ImageView +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root + Root.LoadLayout("noventa") + ruta = File.DirInternal +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub B4XPage_Appear + e_comm.Text="" + lat_gps = 0 + lon_gps = 0 + res_gps +End Sub + +Private Sub B4XPage_CloseRequest As ResumableSub + ' BACK key pressed + Subs.iniciaActividad("Cliente") +' B4XPages.ShowPage("Principal") + Return True +End Sub + +Sub res_gps + GUARDA.Visible = False + t3.Initialize("T3", 5000) ' 1000 = 1 second + t3.Enabled = True + Wait For t3_tick + GUARDA.Visible = True +End Sub + +Sub GPS_LocationChanged (Location1 As Location) +' lat_gps=Location1.ConvertToSeconds(Location1.Latitude) +' lon_gps=Location1.ConvertToSeconds(Location1.Longitude) +End Sub + +Sub CANCELA_Click + Subs.iniciaActividad("Cliente") +End Sub + +Sub GUARDA_Click + If r_1.Checked Then + motivo = "CERRADO" + Else If r_2.Checked Then + motivo = "NO COMPRA" + Else If r_3.Checked Then + motivo = "CON PRODUCTO" + Else + motivo = "NO ESTA EL ENCARGADO" + End If + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("select CUENTA from cuentaa") + c.Position = 0 + cuenta = c.GetString("CUENTA") + c=Starter.skmt.ExecQuery("select usuario from usuarioa") + c.Position = 0 + usuario = c.GetString("USUARIO") + c=Starter.skmt.ExecQuery("select PE_PROID,PE_CANT FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) + Next + End If + + If lat_gps = 0 Then + c=Starter.skmt.ExecQuery("select count(*) as CUANTOS from HIST_GPS") + c.Position =0 + CUANTOS = c.GetString("CUANTOS") + c.Close + If CUANTOS > 0 Then + c=Starter.skmt.ExecQuery("SELECT HGLAT as HGLAT, HGLON as HGLON FROM HIST_GPS") + c.Position=0 + lon_gps = c.GetString("HGLON") + lat_gps = c.GetString("HGLAT") + c.Close + End If + End If + + Starter.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)") + Starter.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)") + + Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON) VALUES(?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate & sTime, usuario, motivo,e_comm.text,Starter.lat_gps,Starter.lon_gps)) + Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 3 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + Subs.iniciaActividad("Principal") +' B4XPages.ShowPage("Principal") +End Sub \ No newline at end of file diff --git a/B4A/C_Nota.bas b/B4A/C_Nota.bas new file mode 100644 index 0000000..de7b92c --- /dev/null +++ b/B4A/C_Nota.bas @@ -0,0 +1,429 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + '//Process Globals + Dim clie_id As String + Dim sDate,sTime As String + Dim usuario As String + '//Globals + Dim c As Cursor + Dim C1 As Cursor + Dim ruta As String + Dim Regresar As Button + Dim ListView1 As ListView + Dim L_CANT As Label + Dim L_TOTAL As Label + Dim borra As Button + Dim Existe As String + Dim result As String + Dim lat_gps, lon_gps As String + Private Titulo As Label + Private b_desc As Button + Dim DESCUENTO As String + Dim folio As String + Dim TIPO As String + Private CAMBIOS As String + Dim logger As Boolean = True + Dim list_prodsPedido As List + Private clv_pedidos As CustomListView + Private p_pedido As Panel + Private l_pedido As Label +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + If Not(Starter.Logger) Then logger = False + Root = Root1 + 'load the layout to Root + ruta = File.DirInternal + Root.LoadLayout("nota") + borra.Visible = True + Titulo.Text = "Pedido Actual" + Starter.skmt.ExecNonQuery("update pedido set pe_folio = 0 where pe_folio is null") + c=Starter.skmt.ExecQuery("select count(*) as EXISTE from pedido_cliente WHERE pc_cliente IN (Select CUENTA from cuentaa)") + C.Position=0 + Existe = C.GetString("EXISTE") + C.Close +' c=Starter.skmt.ExecQuery("select PE_PRONOMBRE,PE_COSTO_TOT, PE_CANT, PE_FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE asc") +' ListView1.Clear +' ListView1.TwoLinesLayout.ItemHeight = 90dip +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' Dim label1 As Label +' label1 = ListView1.TwoLinesLayout.Label +'' label1.Color = Colors.Cyan +' label1.TextSize = 15 +' label1.TextColor = Colors.Black +'' label1.Height = 50dip +' Dim label2 As Label +' label2 = ListView1.TwoLinesLayout.SecondLabel +' label2.TextSize = 12 +' label2.TextColor = Colors.Black +'' label2.Color = Colors.green +' ListView1.AddTwoLines(c.GetString("PE_PRONOMBRE"),"Cantidad #"& c.GetString("PE_CANT")& " SubTotal $"& c.GetString("PE_COSTO_TOT")& " Folio "& c.GetString("PE_FOLIO")) +' folio = c.GetString("PE_FOLIO") +' Next +' End If + list_prodsPedido.Initialize + Log("list_prodsPedido.Initialize") + If Existe <> 0 Then + c=Starter.skmt.ExecQuery("select pc_noart, pc_monto from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)") + C.Position=0 + L_CANT.Text = c.GetString("PC_NOART") + L_TOTAL.Text = c.GetString("PC_MONTO") + End If +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub B4XPage_Appear + c=Starter.skmt.ExecQuery("select count(*) as CUANTOS from kmt_info where (impresion = 1 or cat_cl_codigo in (select ci_cuenta from cliente_impreso)) and CAT_CL_CODIGO in (Select CUENTA from cuentaa)") + c.Position = 0 + If logger Then Log($"Impreso: ${c.GetString("CUANTOS")}"$) + If c.GetString("CUANTOS") > 0 Then + borra.Visible = False + Else + borra.Visible = True + End If + If Subs.clienteActual = "0" Then borra.Visible = True 'Si el cliente actual es "abordo" entonces SIEMPRE lo dejamos modificar la venta. + c.Close + L_CANT.Text ="" + L_TOTAL.Text="" + Starter.skmt.ExecNonQuery("update pedido set pe_folio = 0 where pe_folio is null") + c=Starter.skmt.ExecQuery("select count(*) as EXISTE from pedido_cliente WHERE pc_cliente IN (Select CUENTA from cuentaa)") + C.Position=0 + Existe = C.GetString("EXISTE") + C.Close + c=Starter.skmt.ExecQuery("select PE_PRONOMBRE, PE_COSTO_TOT, PE_CANT, PE_FOLIO, PE_CEDIS, PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE asc") + Private cs As CSBuilder + ListView1.Clear + clv_pedidos.Clear + ListView1.TwoLinesLayout.ItemHeight = 90dip + list_prodsPedido.Clear + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + cs.Initialize + c.Position=i + Private txtPromo As String = "" + If Not(IsNumber(c.GetString("PE_CEDIS"))) Then txtPromo = "P - " + If c.GetString("PE_CEDIS") = "DUR" Then txtPromo = "C - " + Dim label1 As Label + label1 = ListView1.TwoLinesLayout.Label + label1.TextSize = 15 + label1.Height = 30dip + label1.TextColor = Colors.Black +' label1.Height = 50dip + Dim label2 As Label + label2 = ListView1.TwoLinesLayout.SecondLabel + label2.TextSize = 12 + label2.TextColor = Colors.Black + Private textColor As Int = Colors.black + If Not(IsNumber(c.GetString("PE_CEDIS"))) Then textColor = Colors.RGB(210,105,30) 'Si es promo, cambiamos el color del texto. + If c.GetString("PE_CEDIS") = "DUR" Then textColor = Colors.Red 'Si es promo, cambiamos el color del texto. +' ListView1.AddTwoLines(c.GetString("PE_PRONOMBRE"), cs.Color(textColor).append(txtPromo).Append("Cantidad #" & c.GetString("PE_CANT") & " SubTotal $" & c.GetString("PE_COSTO_TOT") & " Folio " & c.GetString("PE_FOLIO")).PopAll) + clv_pedidos.Add(CreateListItemPedidos(c.GetString("PE_PRONOMBRE"), textColor, txtPromo, c.GetString("PE_CANT"), c.GetString("PE_COSTO_TOT"), c.GetString("PE_FOLIO")), c.GetString("PE_PRONOMBRE")) + list_prodsPedido.Add(CreateMap("prodNom":c.GetString("PE_PRONOMBRE"), "cedis":c.GetString("PE_CEDIS"), "prodId": c.GetString("PE_PROID"), "cant": c.GetString("PE_CANT"))) + folio = c.GetString("PE_FOLIO") + Next + End If + If Existe <> 0 Then + c=Starter.skmt.ExecQuery("select sum(pe_cant) AS CANTIDAD, sum(pe_costo_tot) AS MONTO from pedido where PE_CEDIS <> PE_PROID and pe_cliente in (Select CUENTA from cuentaa)") + C.Position=0 + L_CANT.Text = c.GetString("CANTIDAD") + L_TOTAL.Text = c.GetString("MONTO") + c.Close + c=Starter.skmt.ExecQuery("select SUM(IFNULL(PE_DESC,0)) AS DESCUENTO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position=0 + b_desc.Visible = False + End If + c=Starter.skmt.ExecQuery("select count(*) As CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position = 0 + If c.GetString("CUANTOS") = 0 Then + folio = 0 + Else + C1=Starter.skmt.ExecQuery("SELECT SUM(ifnull(PE_FOLIO,0)) AS FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + C1.Position = 0 + folio = C1.GetString("FOLIO") + If C1.GetString("FOLIO") > 0 Then + folio = 100 + End If + End If + c.Close +End Sub + +Sub CreateListItemPedidos(Texto1 As String, txtColor As Int, txtPromo As String, cantp As String, costoTotP As String, folioP As String) As Panel 'ignore + Dim p As B4XView = xui.CreatePanel("") + Dim su As StringUtils + Dim cs As CSBuilder + cs.Initialize + p.LoadLayout("pedidoItem") + l_pedido.Text = cs.append(Texto1).Append(CRLF).Color(txtColor).append(txtPromo).Append("Cantidad #" & cantp & " SubTotal $" & costoTotP & " Folio " & folioP).PopAll + Dim alto As Int = su.MeasureMultilineTextHeight(l_pedido, l_pedido.Text) + p.SetLayoutAnimated(0, 0, 0, clv_pedidos.AsView.Width, alto + 20) +' i_prod.Bitmap = img + Return p +End Sub + +Sub Activity_Pause (UserClosed As Boolean) + +End Sub + +Sub GPS_LocationChanged (Location1 As Location) +' lat_gps=Location1.ConvertToSeconds(Location1.Latitude) +' lon_gps=Location1.ConvertToSeconds(Location1.Longitude) +End Sub + +Sub Regresar_Click + Subs.iniciaActividad("Cliente") +End Sub + +Private Sub B4XPage_CloseRequest As ResumableSub + ' BACK key pressed + Subs.iniciaActividad("Cliente") +' B4XPages.ShowPage("Principal") + Return True +End Sub + +Sub borra_Click + If folio = "0" Or Subs.clienteActual = "0" Then 'Si el folio es 0 o el cliente actual es "abordo", los deja borrar. - Mod por CHV 220512 + result = Msgbox2("Seguro que desea borrar el pedido?","Cancelar pedido", "Si", "", "No", LoadBitmap(File.DirAssets,"alert2.png")) 'ignore + If result = DialogResponse.POSITIVE Then + c=Starter.skmt.ExecQuery("select PE_PROID,PE_CANT, PE_TIPO FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + TIPO = c.GetString("PE_TIPO") + Starter.skmt.ExecNonQuery2($"update ${Subs.traeTablaProds(TIPO)} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) + Next + End If + Starter.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)") + Starter.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)") + Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + + B4XPages.MainPage.productos.prodsMap.Initialize 'inicializamos mapa de productos para que noaparezcan como vendidos en la lista + B4XPages.MainPage.promos.promosMap.Initialize +' Log("Llamamos LlenaProdsLL") + If B4XPages.MainPage.productos.PCLV.IsInitialized Then B4XPages.MainPage.productos.LlenaProdsLL(Null, Null) + + B4XPage_Appear + End If + Else + Msgbox("CLIENTE YA SE TRANSMITIO, FAVOR DE LLAMAR A SOPORTE PARA ASISTENCIA","AVISO") 'ignore + End If +End Sub + +Sub ListView1_ItemLongClick (Position As Int, Value As Object) +' Private thisLog As Boolean = False +' c=Starter.skmt.ExecQuery("select count(*) as CUANTOS from CLIENTE_IMPRESO where CI_CUENTA in (Select CUENTA from cuentaa)") +' c.Position = 0 +' If thisLog Then Log("lista prods="&list_prodsPedido.Get(Position)) +' Private m As Map = list_prodsPedido.Get(Position) +' If c.GetString("CUANTOS") = 0 Or Subs.clienteActual = "0" Then 'Si la venta no está impresa o es abordo entonces continuamos ... +' c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS FROM PEDIDO WHERE PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("DUR")) +' c.Position = 0 +' CAMBIOS = c.GetString("CUANTOS") +' c.Close +' c=Starter.skmt.ExecQuery2("select PE_PRONOMBRE,PE_COSTO_TOT, PE_CANT, PE_FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_PRONOMBRE = ? order by PE_PRONOMBRE asc", Array As String(Value) ) +' c.Position = 0 +' If c.GetString("PE_FOLIO") = "0" Or Subs.clienteActual = "0" Then +' result = Msgbox2("Seguro que desea borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore +' If result = DialogResponse.POSITIVE Then +' Private prod As Cursor=Starter.skmt.ExecQuery2("select PE_PROID, PE_CANT, PE_CEDIS FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value)) +' prod.Position=0 +' If thisLog Then Log("m2= " & m) +' c.Close +' If thisLog Then Log($"Buscamos: ${Value}, ${m.Get("cedis")}"$) +' c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from cat_gunaprod2 where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'", Array As String(Value, m.Get("cedis"))) +' c.Position=0 +' If c.GetString("CUANTOS") > 0 Then +' If thisLog Then Log($"Borramos de PROMO ${Value}"$) +' Private pPromos As Cursor = Starter.skmt.ExecQuery($"select pe_proid, pe_cant from pedido where pe_cedis = '${m.Get("cedis")}'"$) +' For tp = 0 To pPromos.RowCount - 1 +' pPromos.Position = tp +' If thisLog Then Log($"SUMAMOS ${pPromos.GetString("PE_CANT")} a ${pPromos.GetString("PE_PROID")} "$) +' Starter.skmt.ExecNonQuery($"update ${Subs.traeTablaProds(Starter.tipov)} set cat_gp_almacen = cat_gp_almacen + ${pPromos.GetString("PE_CANT")} where cat_gp_id = '${pPromos.Getstring("PE_PROID")}'"$) +' Next +' Starter.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where PE_CEDIS = ? and pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(m.Get("cedis"), Value)) +' Else +' If thisLog Then Log($"SUMAMOS ${m.get("cant")} a ${m.get("prodId")} "$) +' Starter.skmt.ExecNonQuery2($"update ${Subs.traeTablaProds(Starter.tipov)} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(m.get("cant"), m.get("prodId"))) +' If thisLog Then Log($"BORRAMOS ${Value}, ${m.Get("cedis")}"$) +' Starter.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cant = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value, m.Get("cedis"), m.Get("cant"))) +' End If +' prod.Close +' DateTime.DateFormat = "MM/dd/yyyy" +' sDate=DateTime.Date(DateTime.Now) +' sTime=DateTime.Time(DateTime.Now) +' c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") +' c.Position=0 +' clie_id = c.GetString("CUENTA") +' c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") +' c.Position=0 +' usuario = c.GetString("USUARIO") +' c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") +' c.Position=0 +' If c.GetString("CUANTOS") > 0 Then +' +' Log($"============== TOTAL = ${c.GetString("TOTAL_CLIE")}"$) +' If c.GetString("TOTAL_CLIE") < 1 Then +' Starter.skmt.ExecNonQuery("delete from pedido where PE_PRONOMBRE like 'CAMBIO%' and PE_CLIENTE In (select cuenta from cuentaa)"$) +' End If +' +' Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") +' If thisLog Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta) +' Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps)) +' Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") +' Else +' Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") +' Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") +' End If +' If thisLog Then Log("Llamamos LlenaProdsLL") +' If B4XPages.MainPage.productos.PCLV.IsInitialized Then B4XPages.MainPage.productos.LlenaProdsLL(Null, Null) +' B4XPage_Appear +' End If +' Else +' Msgbox("CLIENTE YA SE TRANSMITIO, FAVOR DE LLAMAR A SOPORTE PARA ASISTENCIA","AVISO") 'ignore +' End If +' Else +' ToastMessageShow("Esta venta ya esta impresa, no se puede editar ni borrar.", False) +' End If +End Sub + +Sub b_desc_Click + If DESCUENTO = "MENOS" Then + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c.Close + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + c.Close + result = Msgbox2("Seguro que desea dar descuento del 5%?","Dar descuento", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore + If result = DialogResponse.POSITIVE Then + Starter.skmt.ExecNonQuery("UPDATE pedido SET PE_COSTO_TOT = PE_COSTO_TOT * .95, PE_DESC = 5 WHERE PE_CLIENTE In (select cuenta from cuentaa)") + c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position=0 + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + If logger Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta) + Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps)) + c.Close + B4XPage_Appear + End If + ELSE IF DESCUENTO = "MAS" Then + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c.Close + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + c.Close + result = Msgbox2("Seguro que desea CANCELAR el descuento?","Cancelar descuento", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore + If result = DialogResponse.POSITIVE Then + Starter.skmt.ExecNonQuery("UPDATE pedido SET PE_COSTO_TOT = PE_COSTO_TOT / .95, PE_DESC = 0 WHERE PE_CLIENTE In (select cuenta from cuentaa)") + c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position=0 + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + If logger Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta) + Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps)) + c.Close + B4XPage_Appear + End If + End If +End Sub + +Private Sub clv_pedidos_ItemLongClick (position As Int, Value As Object) + Private thisLog As Boolean = False + c=Starter.skmt.ExecQuery("select count(*) as CUANTOS from CLIENTE_IMPRESO where CI_CUENTA in (Select CUENTA from cuentaa)") + c.Position = 0 + If thisLog Then Log("lista prods="&list_prodsPedido.Get(position)) + Private m As Map = list_prodsPedido.Get(position) + If c.GetString("CUANTOS") = 0 Or Subs.clienteActual = "0" Then 'Si la venta no está impresa o es abordo entonces continuamos ... + c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS FROM PEDIDO WHERE PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("DUR")) + c.Position = 0 + CAMBIOS = c.GetString("CUANTOS") + c.Close + c=Starter.skmt.ExecQuery2("select PE_PRONOMBRE,PE_COSTO_TOT, PE_CANT, PE_FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_PRONOMBRE = ? order by PE_PRONOMBRE asc", Array As String(Value) ) + c.Position = 0 + If c.GetString("PE_FOLIO") = "0" Or Subs.clienteActual = "0" Then + result = Msgbox2("Seguro que desea borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore + If result = DialogResponse.POSITIVE Then + Private prod As Cursor=Starter.skmt.ExecQuery2("select PE_PROID, PE_CANT, PE_CEDIS FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value)) + prod.Position=0 + If thisLog Then Log("m2= " & m) + c.Close + If thisLog Then Log($"Buscamos: ${Value}, ${m.Get("cedis")}"$) + c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from cat_gunaprod2 where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'", Array As String(Value, m.Get("cedis"))) + c.Position=0 + If c.GetString("CUANTOS") > 0 Then + If thisLog Then Log($"Borramos de PROMO ${Value}"$) + Private pPromos As Cursor = Starter.skmt.ExecQuery($"select pe_proid, pe_cant from pedido where pe_cedis = '${m.Get("cedis")}'"$) + For tp = 0 To pPromos.RowCount - 1 + pPromos.Position = tp + If thisLog Then Log($"SUMAMOS ${pPromos.GetString("PE_CANT")} a ${pPromos.GetString("PE_PROID")} "$) + Starter.skmt.ExecNonQuery($"update ${Subs.traeTablaProds(Starter.tipov)} set cat_gp_almacen = cat_gp_almacen + ${pPromos.GetString("PE_CANT")} where cat_gp_id = '${pPromos.Getstring("PE_PROID")}'"$) + Next + Starter.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where PE_CEDIS = ? and pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(m.Get("cedis"), Value)) + Else + If thisLog Then Log($"SUMAMOS ${m.get("cant")} a ${m.get("prodId")} "$) + Starter.skmt.ExecNonQuery2($"update ${Subs.traeTablaProds(Starter.tipov)} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(m.get("cant"), m.get("prodId"))) + If thisLog Then Log($"BORRAMOS ${Value}, ${m.Get("cedis")}"$) + Starter.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cant = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value, m.Get("cedis"), m.Get("cant"))) + End If + prod.Close + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position=0 + If c.GetString("CUANTOS") > 0 Then + + Log($"============== TOTAL = ${c.GetString("TOTAL_CLIE")}"$) + If c.GetString("TOTAL_CLIE") < 1 Then + Starter.skmt.ExecNonQuery("delete from pedido where PE_PRONOMBRE like 'CAMBIO%' and PE_CLIENTE In (select cuenta from cuentaa)"$) + End If + + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + If thisLog Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta) + Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps)) + Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + Else + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + End If + If thisLog Then Log("Llamamos LlenaProdsLL") + If B4XPages.MainPage.productos.PCLV.IsInitialized Then B4XPages.MainPage.productos.LlenaProdsLL(Null, Null) + B4XPage_Appear + End If + Else + Msgbox("CLIENTE YA SE TRANSMITIO, FAVOR DE LLAMAR A SOPORTE PARA ASISTENCIA","AVISO") 'ignore + End If + Else + ToastMessageShow("Esta venta ya esta impresa, no se puede editar ni borrar.", False) + End If +End Sub \ No newline at end of file diff --git a/B4A/C_NuevoCliente.bas b/B4A/C_NuevoCliente.bas new file mode 100644 index 0000000..6231053 --- /dev/null +++ b/B4A/C_NuevoCliente.bas @@ -0,0 +1,95 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + '//Process Globals + Dim g As GPS + Dim ruta As String + Dim c As Cursor + Dim C2 As Cursor + '//Globals + Dim cuenta As String + Dim usuario As String + Dim sDate,sTime As String + Dim lat_gps, lon_gps As String + Dim no_cliente As String + Dim no_ruta As String + Dim r_4 As RadioButton + Dim E_NOMBRE As EditText + Dim ALMACEN As String + Dim DIA_VISITA As String + Private b_guardar As Button + Private b_cancelar As Button +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root + Root.LoadLayout("nuevocliente") + ruta = File.DirInternal +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub B4XPage_Appear + b_guardar.Enabled = False + b_guardar.Text = "Sin Ubicación ..." + E_NOMBRE.Text = "" + CallSubDelayed(Tracker, "StartFLPSmall") +End Sub + +Sub GPS_LocationChanged (Location1 As Location) +' lat_gps=Location1.ConvertToSeconds(Location1.Latitude) +' lon_gps=Location1.ConvertToSeconds(Location1.Longitude) + b_guardar.Enabled = True + b_guardar.Text = "Guardar" +End Sub + +Sub b_cancelar_Click + Subs.iniciaActividad("Principal") +' B4XPages.ShowPage("Principal") +End Sub + +Sub b_guardar_Click + If E_NOMBRE.Text = "" Then + ToastMessageShow("Se tiene que nombrar la tienda para continuar" , True) + Else + DateTime.DateFormat = "MM/dd/yyyy" + DateTime.Timeformat = "HHmmss" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("select CAT_CL_RUTA, CAT_CL_DIAS_VISITA FROM kmt_info WHERE CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'DIA_VISITA')") + If c.RowCount > 0 Then + c.Position=0 + no_ruta= c.GetString("CAT_CL_RUTA") + DIA_VISITA=c.GetString("CAT_CL_DIAS_VISITA") + 'Aqui creamos manualmente la hora con el separador de los 2 puntos porque en algunas versiones de android no respeta el formato "Timeformat = 'HH:mm:ss'" + Private hora As String = sTime.SubString2(0,2) + Private mins As String = sTime.SubString2(2,4) + Private segs As String = sTime.SubString(4) + Private sTime2 As String = hora&":"&mins&":"&segs + Log("////////////// sTime: "&sTime&" ////////////////") + no_cliente= "N" & sTime2 & no_ruta + c.Close + C2=Starter.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN") + C2.Position=0 + ALMACEN= C2.GetString("ID_ALMACEN") + C2.Close + Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info(CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_DIAS_VISITA,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_BCREDITO, gestion,CAT_CL_BFACTURA,IMPRESION) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,0,0,1000000,0) ",Array As Object (no_cliente,no_ruta, E_NOMBRE.Text,DIA_VISITA,"new","null","null","null","null","null","null","null","null","NULL","NULL","null","0", Starter.lon_gps, Starter.lat_gps)) + Starter.skmt.ExecNonQuery("delete from CUENTAA") + Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(no_cliente)) + Subs.iniciaActividad("cliente") + End If + End If +End Sub diff --git a/B4A/C_Pedidos.bas b/B4A/C_Pedidos.bas new file mode 100644 index 0000000..36fa8d1 --- /dev/null +++ b/B4A/C_Pedidos.bas @@ -0,0 +1,24 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root + +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. \ No newline at end of file diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas new file mode 100644 index 0000000..110e9a5 --- /dev/null +++ b/B4A/C_Principal.bas @@ -0,0 +1,3026 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + '//Process_Globas + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + Dim reqManager As DBRequestManager + Dim t1 As Timer + Dim t2 As Timer + Private t3 As Timer + Dim inicioContador As String + + '//Globals + Dim trabajar As Button + Dim Cursor_check As Cursor + Dim c As Cursor + Dim d As Cursor + Dim b As Cursor + Dim e As Cursor + Dim f As Cursor + Dim DDD As Cursor + Dim cargar As Button + Dim foto1() As Byte + Dim foto2() As Byte + Dim foto3() As Byte + Dim foto4() As Byte + Dim usuario As String + Dim connecta As Button + Dim conn As String + Dim Subir As Button + Dim cmd As DBCommand + Dim COUNT_CLIE As Int + Dim fecha As String + Dim drop As Double + Dim efectiva As Double + Dim L_MONTOD As Label + Dim l_cuantosc As Label + Dim l_drop As Label + Dim l_efectiva As Label + Dim l_ctast As Label + Dim BUSCA As Button + Dim Cuantos As String + Dim l_cuantosn As Label + Dim e_ruta As EditText + Dim l_porvisitar As Label + Dim b_mapa As Button + Dim l_ruta As Label + Dim ALMACEN As String + Private img2 As ImageView + Dim Listo1 As String + Dim Listo2 As String + Dim Listo3 As String + Dim Listo4 As String + Dim Listo5 As String + Dim EJECUTANDO As String + Dim res As String + Dim inve As String + Dim cuantos_pedidosc As String + Dim cuantos_pedido As String + Dim cuantos_noventa As String + Dim datos_iguales As String + Dim p As PhoneId + Dim imei As String + Dim Today As String + Private inv As Button + Private P1 As Panel + Private CLAVE As EditText + Private B_OK_PAS As Button + Dim PASO As String + Private USUARIO1 As EditText + Dim connecta1 As Double + Dim armafolio As String + Private NUEVO As Button + Private S_CC As Label + Private S_CP As Label + Private S_CH As Label + Private PB2 As ProgressBar + Private PB1 As ProgressBar + Private L_P_1 As Label + Private L_P_2 As Label + Private L_P_3 As Label + Private CARGA As String + Private PORCENTAJE As Int + Private P_RESUMEN As Panel + Private B_OK_RES As Button + Private Resumen As Button + Private L_CUANTOST As Label + Private img3 As ImageView + Private ImageView3 As ImageView + Private ImageView5 As ImageView + Private L_TICKPROM As Label + Private MARCASQ As String + Private B_PROXIMA As Button + Private l_monto_a As Label + Private ImageView9 As ImageView + Private L_MONTO_R As Label + Dim PERFIL As String + Dim NUMERO_PEDIDO As String + Private l_cambios As Label + Dim l_monto_ks As Label + Dim l_monto_kp As Label + Dim l_monto_k As Label + Private Cuantos As String + Dim cmp20 As Serial + Dim printer As TextWriter + Dim PairedDevices As Map + Dim TAMANO As Int + Dim ESPACIO As Int + Dim BLANCO As String + Dim sDate,sTime As String + Dim PASA_IMP As String + Dim s As Cursor + Private B_IMP As Button + Private l_monto_c1 As Label + Private l_monto_c2 As Label + Private l_monto_c3 As Label + Private B_BOLETA As Button + Private B_MAPA_RUTA As Button + Private Panel5 As Panel + Private L_CUOTA1 As Label + Private L_CUOTA2 As Label + Private L_CUOTA3 As Label + Private L_CUOTA4 As Label + Private L_CUOTA5 As Label + Private L_CUOTA6 As Label + Private L_META1 As Label + Private L_META2 As Label + Private L_META3 As Label + Private L_META4 As Label + Private L_META5 As Label + Private L_META6 As Label + Private B_CUOATA_C As Button + Private b_cuotas As Button + Private Panel1 As Panel + Private Panel2 As Panel + Dim ENVIADA As String + Dim PORENVIAR As String + Private Btn_CheckList As Button + Dim Cedis_Check As String + Private TIEMPO As String + Private RUTA1 As Label + Private L_ABORDO As Label + Private bcarga1 As String + Private bcarga2 As String + Private bcarga3 As String + Private contador_env As String + Private contador_strem As String + Private ruta_valida As String + Private PNL_ACCESO As Panel + Private Panel7 As Panel + Private L_SUPLENCIA As Label + Private E_RUTA2 As EditText + Private Label4 As Label + Private SEMANA As String + Private ImageView1 As ImageView + Dim DIA_VISITA As String + +' Para el PDFViewer + Dim pdf As PdfiumCore + Private PDFView1 As PDFView + Private btnFirst As Button + Private btnPrev As Button + Private lblPages As Label + Private btnNext As Button + Private btnLast As Button + Private glPages As Int + Private p_pdfViewer As Panel + Private pdfViewerActivo As Boolean + Private p_controles_pdf As Panel + Private pdfURL As String + Private l_2 As Label + Dim cartaPorteLista As Boolean + Private l_downloadPDF As Label + Private ProgressBarPDF As ProgressBar + Private p_downloadPDF As Panel + Private p_progress1 As Panel + Private l_porcentaje As Label + Private detenerLoop As Boolean = False + Dim logger As Boolean = True +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + If Not(Starter.Logger) Then logger = False + Root = Root1 + 'load the layout to Root + Root.LoadLayout("principal") + EJECUTANDO=1 + Dim ruta As String + img2.Visible =False + ruta = File.DirInternal + DateTime.DateFormat = "MM/dd/yyyy" + fecha=DateTime.Date(DateTime.Now) + c=Starter.skmt.ExecQuery2("select CAT_CO_CONFIGURACION from CAT_CODIGOS where CAT_CO_PONDERACION =1 AND CAT_CO_ACCION = ?", Array As String("SERVER")) + c.Position =0 + Starter.server = c.GetString("CAT_CO_CONFIGURACION") + c.Close + b=Starter.skmt.ExecQuery("Select count(*) as CUANTOS from pedido_cliente") + b.Position=0 + Cuantos = b.GetString("CUANTOS") + d=Starter.skmt.ExecQuery("select count(*) as TOTAL_VISITAR from kmt_info where gestion = 0") + D.Position=0 + b.Close + e=Starter.skmt.ExecQuery("select count(*) as POR_VISITAR from kmt_info") + e.Position=0 + f=Starter.skmt.ExecQuery("select count(*) as CAT_CL_RUTA from kmt_info") + f.Position=0 + l_ruta.Text = f.GetString("CAT_CL_RUTA") + f.Close + If l_ruta.Text = 0 Then + l_ruta.Text =0 + Else + f=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info") + f.Position=0 + l_ruta.Text = f.GetString("CAT_CL_RUTA") + RUTA1.Text = l_ruta.TEXT + f.Close + End If + If Cuantos = 0 Then + L_MONTOD.Text =0 + l_cuantosc.Text = 0 + l_cuantosn.Text = 0 + drop = 0 + l_drop.Text = 0 + efectiva = 0 + l_efectiva.text =0 + l_ctast.Text = d.GetString("TOTAL_VISITAR") + ' l_porvisitar.Text = e.GetString("POR_VISITAR") + Else + c=Starter.skmt.ExecQuery("select sum(pc_monto) as MONTO_DIA, count(pc_cliente) AS CLIENTES_DIA from pedido_cliente ") + b=Starter.skmt.ExecQuery("select count(*) as CUANTOS from noventa") + 'where pc_fecha = ?", Array As String(fecha) + C.Position=0 + b.Position=0 + L_MONTOD.Text = c.GetString("MONTO_DIA") + l_cuantosc.Text = c.GetString("CLIENTES_DIA") + l_cuantosn.Text = b.GetString("CUANTOS") + drop = c.GetString("MONTO_DIA") / c.GetString("CLIENTES_DIA") + l_drop.Text = Round2(drop,2) + efectiva = c.GetString("CLIENTES_DIA") / e.GetString("POR_VISITAR") + l_efectiva.text = Round2(efectiva*100,2) + l_ctast.Text = d.GetString("TOTAL_VISITAR") + 'l_porvisitar.Text = e.GetString("POR_VISITAR") + End If +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub B4XPage_Appear + If Subs.traeUltimaActividadBD <> "principal" Then Subs.iniciaActividad(Subs.traeUltimaActividadBD) + Starter.btAdmin.Initialize("BlueTeeth") + If Not(Starter.btAdmin.IsEnabled) Then Starter.btAdmin.Enable + e_ruta.Enabled = True + Starter.rutaV = l_ruta.Text + c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER")) + c.Position =0 + If c.GetString("CUANTOS") = 0 Then + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SERVER", Starter.server)) + Else + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER")) + c.Position =0 + Starter.server = c.GetString("CAT_VA_VALOR") + End If + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("FECHA")) + If c.RowCount > 0 Then + c.Position = 0 + Starter.FECHA_HOY = c.GetString("CAT_VA_VALOR") + End If + reqManager.Initialize(Me, Starter.server) + c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SEMANA")) + c.Position =0 + SEMANA = c.GetString("CUANTOS") + c.Close + If SEMANA > 0 Then + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SEMANA")) + c.Position =0 + SEMANA = c.GetString("CAT_VA_VALOR") + c.Close + End If + c.Close + c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from kmt_info where CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?) and gestion = 0 and cat_cl_codigo <> 0 AND CAT_CL_TIPO_RUTA IN (?,?) ORDER BY CAT_CL_NUM_SERIEFISICO", Array As String("DIA_VISITA",SEMANA, "SEMANAL")) + c.Position = 0 + Starter.clientesTotal = c.GetString("CUANTOS") + l_porvisitar.Text = Starter.clientesTotal + PASO = 0 + If EJECUTANDO =0 Then + Listo1 = 0 + Listo2 = 0 + Listo3 = 0 + Listo4 = 0 + Listo5 = 0 + inve = 0 + img2.Visible =False + End If + DateTime.DateFormat = "MM/dd/yyyy" + fecha=DateTime.Date(DateTime.Now) + b=Starter.skmt.ExecQuery("Select count(*) as CUANTOS from pedido_cliente where pc_cliente <> 0") + b.Position=0 + Cuantos = b.GetString("CUANTOS") +' If Starter.marcaCel <> "LGE" Then ToastMessageShow(Cuantos , True) + d=Starter.skmt.ExecQuery2("select count(*) as TOTAL_VISITAR from kmt_info where gestion = 0 and cat_cl_codigo <> 0 AND CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?)", Array As String("DIA_VISITA")) + D.Position=0 + b.Close + e=Starter.skmt.ExecQuery2("select count(*) as POR_VISITAR from kmt_info where cat_cl_codigo <> 0 and CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?) ", Array As String("DIA_VISITA")) + e.Position=0 + f=Starter.skmt.ExecQuery("select count(*) as CAT_CL_RUTA from kmt_info where cat_cl_codigo <> 0") + f.Position=0 + l_ruta.Text = f.GetString("CAT_CL_RUTA") + f.Close + If l_ruta.Text = 0 Then + l_ruta.Text =0 + Else + f=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info") + f.Position=0 + l_ruta.Text = f.GetString("CAT_CL_RUTA") + f.Close + End If + c=Starter.skmt.ExecQuery("select usuario from usuarioa") + c.Position = 0 + usuario = c.GetString("USUARIO") + Starter.usuario = usuario + c.Close + c=Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN") + C.Position =0 + ALMACEN = C.GetString("ID_ALMACEN") + C.Close + Cursor_check = Starter.skmt.ExecQuery("select count(*) as CUANTOS from TMP_INSPECCION_AUTO_DIARIA where tmp_auto_kilometraje <> '' ") + Cursor_check.Position = 0 + Cedis_Check = Cursor_check.GetString("CUANTOS") + + If Not(File.Exists(File.DirInternal,"FOTO1.jpg")) Or _ + Not(File.Exists(File.DirInternal,"FOTO2.jpg")) Or _ + Not(File.Exists(File.DirInternal,"FOTO3.jpg")) Or _ + Not(File.Exists(File.DirInternal,"FOTO4.jpg")) Then + If Not(File.Exists(File.DirInternal,"FOTO1.jpg")) Then Log("Falta foto1") + If Not(File.Exists(File.DirInternal,"FOTO2.jpg")) Then Log("Falta foto2") + If Not(File.Exists(File.DirInternal,"FOTO3.jpg")) Then Log("Falta foto3") + If Not(File.Exists(File.DirInternal,"FOTO4.jpg")) Then Log("Falta foto4") + Cedis_Check = 0 + End If + If Cedis_Check = 0 And l_ruta.Text <> 0 Then + Btn_CheckList.Visible = True + B_MAPA_RUTA.Visible = False + Else + ' PONER EN FALSE + Btn_CheckList.Visible = False + B_MAPA_RUTA.Visible = True + If usuario = "JOSELUIS" Then Btn_CheckList.Visible = True 'Mod por CHV - 211125 + End If + contador_strem = 0 + contador_env = 0 + E_RUTA2.Visible = False + L_SUPLENCIA.Visible = False + Label4.Visible = False + Starter.montoActual = L_MONTOD.Text + Starter.clientesventa = l_cuantosc.Text + Starter.clientesvisitados = l_porvisitar.TEXT + Starter.ALMACEN = ALMACEN + Starter.rutapreventa = l_ruta.text + CallSub(Starter, "ENVIA_ULTIMA_GPS") + c.Close +' Subs.guardaUltimaActividadBD("principal") +End Sub + +Sub trabajar_Click + 'CallSubDelayed(gestion,"gestion") + 'Mod por CHV para que si no se ha hecho el checklist no permita la venta - 211125 + c=Starter.skmt.ExecQuery("select 'TMP_AUTO_FECHA ' from TMP_INSPECCION_AUTO_DIARIA where tmp_auto_kilometraje <> ''") + If c.RowCount > 0 Then +' If logger Then Log("Si hay checklist") + Else +' If logger Then Log("NO hay checklist") + Msgbox("No se ha realizado aún el 'Checklist' del vehículo, por favor completelo antes de realizar una venta.", "FALTA EL CHECKLIST") 'ignore + Return + End If + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MARCAS")) + c.Position =0 + If c.RowCount > 0 Then + MARCASQ = c.GetString("CAT_VA_VALOR") + c.Close + Starter.skmt.ExecNonQuery("delete from CAT_GUNAPROD WHERE CAT_GP_CLASIF NOT IN (" & MARCASQ &")" ) + Starter.skmt.ExecNonQuery("delete from CAT_GUNAPROD WHERE CAT_GP_ID IN (SELECT CAT_DP_ID FROM CAT_DETALLES_PAQ WHERE CAT_DP_IDPROD NOT IN (SELECT CAT_GP_ID FROM CAT_GUNAPROD))") + Subs.iniciaActividad("Clientes") +' B4XPages.ShowPage("Clientes") + Else + If Starter.marcaCel <> "LGE" Then ToastMessageShow("No hay marcas en la base de datos ... ya se cargo ruta??", True) + End If +End Sub + +Sub Subir_Click + CARGA = "SUBIR" +' P1.Visible = True + trabajar.Visible = False + B_PROXIMA.Visible =False + NUEVO.Visible =False + BUSCA.Visible=False + connecta.Visible=False + Subir.Visible=False + cargar.Visible=False + L_P_1.Visible = False + S_CC.Visible = False + L_P_3.Visible = False + S_CH.Visible = False + PB1.Visible = False + Resumen.Visible= False + L_P_2.Text = "Envio de Pedidos" + 'L_P_3.Text = "Envio de Pedidos" + 'S_CH.Text = "EN PROCESO" + S_CP.Text = "EN PROCESO" + PB1.Progress = 0 + PB2.Progress = 0 + contador_env = 0 + contador_strem = 0 + e_ruta.Text = ruta_valida + PASO = 1 + 'End If + If PASO = 1 Then + c=Starter.skmt.ExecQuery("select CAT_CL_CODIGO, CAT_CL_RUTA from kmt_info") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Starter.skmt.ExecNonQuery2("update PEDIDO set PE_RUTA = ? where PE_CLIENTE = ? ", Array As Object(c.GetString("CAT_CL_RUTA"),c.GetString("CAT_CL_CODIGO"))) + Next + End If + c=Starter.skmt.ExecQuery2("SELECT HE_CUANTOS, HE_FECHA FROM HIST_ENVIOS WHERE HE_TIPO = ?", Array As String("PEDIDO")) + c.Position = 0 + ''' FALTA PONER EL IF DE CUANTAS VECES MANDO Y SI MANDO PREGUNTAR ENVIAR BOLETA O PEDIDO + If c.GetString("HE_CUANTOS") = 0 Then + SUBIR_INFO_PEDIDO + Else + Dim result As Int + result = Msgbox2("QUE VA A ENVIAR?", "ENVIO DE INFO.", "BOLETA", "VALIDAR", "VTA/PED", LoadBitmap(File.DirAssets, "alert2.png")) 'ignore + If result = DialogResponse.Positive Then + SUBIR_INFO_BOLETA + ELSE IF result = DialogResponse.NEGATIVE Then + SUBIR_INFO_PEDIDO + ELSE IF result = DialogResponse.CANCEL Then + VALIDAR_INFO + End If + End If + End If +End Sub + +Sub cargar_Click + 'Para descargar el PDF de la carta porte ///////////////////////////////////////////////////////////////////////// + DateTime.DateFormat = "yyyyMMdd" + Dim hoy As String = DateTime.Date(DateTime.Now) +' If Logger Then Log(DateTime.Date(File.LastModified(File.DirInternal,"cartaPorte.pdf")) & " - " & hoy ) + If Not(File.Exists(File.DirInternal,"cartaPorte.pdf")) Then 'Si no existe la descargamos ... + If logger Then LogColor("No hay carta porte.", Colors.Red) + descargaCartaPorte ' la descargamos. + Do While Not(cartaPorteLista) 'Mientras no se termine de descargar la carta porte, esperamos ... + Sleep(1000) + If logger Then Log("Descargando Carta Porte (Loop cargar_Click)") + Loop + Else If (DateTime.Date(File.LastModified(File.DirInternal,"cartaPorte.pdf")) < hoy And Starter.rutaTipo <> "FORANEA") Then ' si la fecha del pdf NO es de hoy y la ruta NO es foranea entonces ... + LogColor("La carta porte es vieja.", Colors.Red) + If logger Then Log(Starter.rutaTipo) + descargaCartaPorte ' la descargamos. + Do While Not(cartaPorteLista) 'Mientras no se termine de descargar la carta porte, esperamos ... + Sleep(1000) + If logger Then Log("Descargando Carta Porte (Loop cargar_Click)") + If detenerLoop Then Exit + detenerLoop = False + Loop + Else + cartaPorteLista = True + If logger Then LogColor("Ya hay carta porte con fecha de hoy", Colors.Green) + Private MB As Int + MB = Msgbox2("¿Quiere descargarla nuevamente?", "YA SE DESCARGO LA CARTA PORTE", "Si", "", "No", Null) 'ignore + If MB = DialogResponse.Positive Then + descargaCartaPorte + Do While Not(cartaPorteLista) 'Mientras no se termine de descargar la carta porte esperamos ... + Sleep(1000) + If logger Then Log("Descargando Carta Porte (Loop cargar_Click)") + If detenerLoop Then Exit + detenerLoop = False + Loop + ELSE IF MB = DialogResponse.NEGATIVE Then +' descargaCartaPorte + ELSE IF MB = DialogResponse.CANCEL Then +' VALIDAR_INFO + End If + End If + 'Termina descargar el PDF de la carta porte /////////////////////////////////////////////////////////////////////////////// + If cartaPorteLista Then + CARGA = "CARGAR" + img2.Visible =True + L_P_1.Visible = True + S_CC.Visible = True + Btn_CheckList.Visible=False +' P1.Visible = True +' P1.BringToFront + P1.Width = GetDeviceLayoutValues.Width + P1.Height = GetDeviceLayoutValues.Height + Subs.panelVisible(P1, 0, 0) + trabajar.Visible = False + B_PROXIMA.Visible =False + NUEVO.Visible =False + BUSCA.Visible=False + connecta.Visible=False + L_P_3.Visible = True + S_CH.Visible = True + PB1.Visible = True + Resumen.Visible= False + E_RUTA2.Visible = False + L_SUPLENCIA.Visible = False + Label4.Visible = False + L_P_1.Text = "Catalogo de Clientes" + L_P_2.Text = "Catalogos de Productos" + L_P_3.Text = "Catalogos Historicos" + S_CC.Text = "EN PROCESO" + S_CH.Text = "EN PROCESO" + S_CP.Text = "EN PROCESO" + PB1.Progress = 0 + PB2.Progress = 0 + EJECUTANDO = 1 + bcarga1 = 0 + bcarga2 = 0 + bcarga3 = 0 + e_ruta.Text = ruta_valida + ' NUEVOS CLIENTE + + Starter.skmt.ExecNonQuery2("delete from kmt_info where substr(CAT_CL_CODIGO,1,1) <> ?", Array As Object ("N")) + Starter.skmt.ExecNonQuery("delete from cod_result") + Starter.skmt.ExecNonQuery("delete from hist_gest") + Starter.skmt.ExecNonQuery("delete from cat_gunaprod") + Starter.skmt.ExecNonQuery("delete from cat_gunaprod2") + Starter.skmt.ExecNonQuery("DELETE FROM CAT_GUNAPROD5") + Starter.skmt.ExecNonQuery("DELETE FROM HIST_ENCUESTA2") + + Starter.skmt.ExecNonQuery("delete from CAT_DETALLES_PAQ") + Starter.skmt.ExecNonQuery("delete from telefonos") + Starter.skmt.ExecNonQuery("delete from HIST_VENTAS") + Starter.skmt.ExecNonQuery("delete from HIST_PROMOS") + Starter.skmt.ExecNonQuery("delete from HIST_CLIENTE_CANT_PROMOS") + Starter.skmt.ExecNonQuery("delete from PROMOS_COMP") + Starter.skmt.ExecNonQuery("delete from CAT_VERIFICACION") + Starter.skmt.ExecNonQuery("delete from LISTA_PRECIOS") + Starter.skmt.ExecNonQuery("delete from CAT_PRECIOS") + Starter.skmt.ExecNonQuery("delete from HIST_RMI") + Starter.skmt.ExecNonQuery("delete from HIST_CUOTAS") + Starter.skmt.ExecNonQuery("delete from HIST_EXHIBIDORES2") + Starter.skmt.ExecNonQuery("delete from CAT_DESCUENTOS_SKU") + Starter.skmt.ExecNonQuery("delete from HIST_ABORDO") + Starter.skmt.ExecNonQuery("delete from DESC_CLIENTES") + Starter.skmt.ExecNonQuery("delete from CAT_ENCUESTA_PREGUNTA") + Starter.skmt.ExecNonQuery("delete from CAT_PROMO_MONTO") + ''' PEDIDO DOE + Starter.skmt.ExecNonQuery("delete from CAT_GUNAPROD_DOE") + Starter.skmt.ExecNonQuery("delete from PEDIDO_DOE") + ''' FIN DOE + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("NUMERO_PEDIDO")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("NUMERO_PEDIDO",0)) + + c=Starter.skmt.ExecQuery("select usuario from usuarioa") + c.Position = 0 + usuario = c.GetString("USUARIO") + + DateTime.TimeFormat = "HHmmss" + inicioContador = DateTime.Now + + cmd.Initialize + cmd.Name = "SELECT_HIST_ENCUESTA_KELL" + cmd.Parameters = Array As Object( e_ruta.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "HIST_ENCUESTA2") + + cmd.Initialize + cmd.Name = "SELECT_EXHIBIDOR_RUTA_KELL" + cmd.Parameters = Array As Object( e_ruta.text ) + If logger Then Log(e_ruta.TEXT) + reqManager.ExecuteQuery(cmd , 0, "exhibidores") + + cmd.Initialize 'Para traer la contraseña del candado de "FIN DIA" + cmd.Name = "SELECT_PASS_FIN_DIA" + reqManager.ExecuteQuery(cmd , 0, "pass_fin_dia") + + cmd.Initialize + cmd.Name = "select_cat_gunaprod_KELL" + cmd.Parameters = Array As Object(ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "gunaprod") + + cmd.Initialize + cmd.Name = "select_cat_gunaprod2_KELL" + cmd.Parameters = Array As Object(ALMACEN, e_ruta.Text) + reqManager.ExecuteQuery(cmd , 0, "gunaprod2") + + cmd.Initialize + cmd.Name = "select_cat_encuesta_p_KELL" + cmd.Parameters = Array As Object(ALMACEN, e_ruta.Text) + reqManager.ExecuteQuery(cmd , 0, "encuesta_p") + + cmd.Initialize + cmd.Name = "select_cat_paquetes_KELL" + cmd.Parameters = Array As Object(ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "gunaprodp") + + cmd.Initialize + cmd.Name = "select_cat_paquetess_KELL" + cmd.Parameters = Array As Object(ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "gunaprodps") + + cmd.Initialize + cmd.Name = "select_cat_detallepa_KELL" + cmd.Parameters = Array As Object(ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "detallepaq") + + cmd.Initialize + cmd.Name = "select_cat_clientes_guna_KELL2" + cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "kmt_datos") + + cmd.Initialize + cmd.Name = "select_hist_datos_KELL" + cmd.Parameters = Array As Object(e_ruta.text, ALMACEN,e_ruta.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "hist_datos") + + cmd.Initialize + cmd.Name = "select_hist_datos_KELL2" + cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "hist_datos") + + cmd.Initialize + cmd.Name = "select_hist_promos_KELL" + cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "hist_promos") + + cmd.Initialize + cmd.Name = "select_hist_cliente_promos_KELL" + cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "hist_cliente_promos") + + cmd.Initialize + cmd.Name = "select_promo_comp_KELL" + cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "hist_comp_promos") + + cmd.Initialize + cmd.Name = "select_promo_monto_KELL" + cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "promo_monto") + + If E_RUTA2.Text <> "" Then + cmd.Initialize + cmd.Name = "select_cat_clientes_guna_KELL2" + cmd.Parameters = Array As Object(E_RUTA2.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "kmt_datos") + + cmd.Initialize + cmd.Name = "select_hist_datos_KELL" + cmd.Parameters = Array As Object(E_RUTA2.text, ALMACEN,e_ruta.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "hist_datos") + + cmd.Initialize + cmd.Name = "select_hist_promos_KELL" + cmd.Parameters = Array As Object(E_RUTA2.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "hist_promos") + + cmd.Initialize + cmd.Name = "select_hist_cliente_promos_KELL" + cmd.Parameters = Array As Object(E_RUTA2.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "hist_cliente_promos") + + cmd.Initialize + cmd.Name = "select_promo_comp_KELL" + cmd.Parameters = Array As Object(E_RUTA2.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "hist_comp_promos") + + cmd.Initialize + cmd.Name = "select_DESC_CLIENTE_KELL" + cmd.Parameters = Array As Object( ALMACEN,E_RUTA2.text) + reqManager.ExecuteQuery(cmd , 0, "DESCUENTOS_CLIENTE") + + cmd.Initialize + cmd.Name = "select_DESC_CLIE_SKU_KELL" + cmd.Parameters = Array As Object( ALMACEN,E_RUTA2.text) + reqManager.ExecuteQuery(cmd , 0, "DESCUENTOS_CLIENTE_SKU") + End If + + cmd.Initialize + cmd.Name = "select_DESC_CLIENTE_KELL" + cmd.Parameters = Array As Object( ALMACEN,e_ruta.text) + reqManager.ExecuteQuery(cmd , 0, "DESCUENTOS_CLIENTE") + + cmd.Initialize + cmd.Name = "select_DESC_CLIE_SKU_KELL" + cmd.Parameters = Array As Object( ALMACEN,e_ruta.text) + reqManager.ExecuteQuery(cmd , 0, "DESCUENTOS_CLIENTE_SKU") + + cmd.Initialize + cmd.Name = "select_fecha" + cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "fecha") + + cmd.Initialize + cmd.Name = "select_folio_KELL" + cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "folio") + + ' esto es para sacar el perfil y marcas del usuario + cmd.Initialize + cmd.Name = "select_perfil_KELL" + cmd.Parameters = Array As Object(usuario) + reqManager.ExecuteQuery(cmd , 0, "perfil") + + cmd.Initialize + cmd.Name = "select_marcas_KELL" + cmd.Parameters = Array As Object(usuario) + reqManager.ExecuteQuery(cmd , 0, "marcas") + + cmd.Initialize + cmd.Name = "select_CAMBIOS_KELL" + 'cmd.Parameters = Array As Object( ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "cat_cambios") + + cmd.Initialize + cmd.Name = "select_SUCURSAL_KELL" + cmd.Parameters = Array As Object( ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "sucursal") + + cmd.Initialize + cmd.Name = "select_dia_visita_KELL" + cmd.Parameters = Array As Object( ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "dia_visita") + + cmd.Initialize + cmd.Name = "select_HIST_CUOTAS" + cmd.Parameters = Array As Object( ALMACEN,e_ruta.text ) + reqManager.ExecuteQuery(cmd , 0, "CUOTAS") + + cmd.Initialize + cmd.Name = "select_hist_ventas_abordo_KELL" + cmd.Parameters = Array As Object( ALMACEN,e_ruta.text ) + reqManager.ExecuteQuery(cmd , 0, "hist_abordo") + + cmd.Initialize + cmd.Name = "select_cat_encuesta_p_KELL" + cmd.Parameters = Array As Object( ALMACEN,e_ruta.text ) + reqManager.ExecuteQuery(cmd , 0, "carga_encuesta") + + cmd.Initialize + cmd.Name = "select_placas_kell" + cmd.Parameters = Array As Object( ALMACEN,e_ruta.text ) + reqManager.ExecuteQuery(cmd , 0, "placas") + + cmd.Initialize + cmd.Name = "select_cat_variables_semana_tipo_KELL" + reqManager.ExecuteQuery(cmd , 0, "SEMANA") + + cmd.Initialize + cmd.Name ="insert_drop_KELL" + cmd.Parameters = Array As Object(usuario,e_ruta.Text,fecha, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"CARGA", ALMACEN) + reqManager.ExecuteCommand(cmd , "inst_noventa_ins_drop_kell") + + cmd.Initialize + cmd.Name = "select_precios_KELL" + cmd.Parameters = Array As Object(ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "precios") + + cmd.Initialize + cmd.Name = "select_limite_abordo" + cmd.Parameters = Array As Object( ALMACEN,e_ruta.text ) + reqManager.ExecuteQuery(cmd , 0, "limite_abordo") + + ''' PARA LO DE DOE + cmd.Initialize + cmd.Name = "select_pedido_doe" + cmd.Parameters = Array As Object( ALMACEN,e_ruta.text ) + reqManager.ExecuteQuery(cmd , 0, "pedido_doe") + + cmd.Initialize + cmd.Name = "select_cat_gunaprod_doe" + cmd.Parameters = Array As Object( ALMACEN,e_ruta.text ) + reqManager.ExecuteQuery(cmd , 0, "cat_gunaprod_doe") + ''' FIN DOE + + cmd.Initialize + cmd.Name = "select_cat_devoluciones_KELL" + cmd.Parameters = Array As Object(ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "prods_rmi") + + cargar.Visible = False + Subir.Visible = False + trabajar.Visible=False + inv.Visible = False + If Starter.marcaCel <> "LGE" Then ToastMessageShow("Se Actualizarán los datos. Este proceso podria tardar hasta un minuto, gracias" , True) + + + End If +End Sub + +Sub JobDone(Job As HttpJob) +' LogColor("JobDone: "&Job.Tag & " Success:" & Job.Success , Colors.Magenta) ' Mod by CHV - 211116 + If inicioContador = "" Then inicioContador = 0 + If Job.Success = False Then + If logger Then LogColor("** " & Job.Tag & " Error: " & Job.ErrorMessage, Colors.Red) ' Mod by CHV - 211116 + If Job.ErrorMessage = "STREAM" Then + contador_strem = contador_strem +1 + If CARGA = "SUBIR" Then + PB1.Progress = PB1.Progress + 1 + If PB1.Progress > 100 Then + PB1.Progress = 1 + End If + If contador_env = contador_strem And S_CP.Text <> "INFO OK" Then + PB1.Progress = 100 + S_CP.Text = "VALIDANDO" + End If + End If + End If + Else + If logger Then LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211110 + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "kmt_datos" Then 'query tag + If logger Then Log("TIEMPO kmt_datos : " & ((DateTime.Now-inicioContador)/1000)) + S_CC.TEXT = "CARGANDO" + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim CAT_CL_CODIGO As String = records(RESULT.Columns.Get("CAT_CL_CODIGO")) + Dim CAT_CL_RUTA As String = records(RESULT.Columns.Get("CAT_CL_RUTA")) + Dim CAT_CL_NOMBRE As String = records(RESULT.Columns.Get("CAT_CL_NOMBRE")) + Dim CAT_CL_ATIENDE1 As String = records(RESULT.Columns.Get("CAT_CL_ATIENDE1")) + Dim CAT_CL_ATIENTE2 As String = records(RESULT.Columns.Get("CAT_CL_ATIENTE2")) + Dim CAT_CL_TELEFONO As String = records(RESULT.Columns.Get("CAT_CL_TELEFONO")) + Dim CAT_CL_EMAIL As String = records(RESULT.Columns.Get("CAT_CL_EMAIL")) + Dim CAT_CL_CALLE As String = records(RESULT.Columns.Get("CAT_CL_CALLE")) + Dim CAT_CL_NOEXT As String = records(RESULT.Columns.Get("CAT_CL_NOEXT")) + Dim CAT_CL_NOINT As String = records(RESULT.Columns.Get("CAT_CL_NOINT")) + Dim CAT_CL_CALLE1 As String = records(RESULT.Columns.Get("CAT_CL_CALLE1")) + Dim CAT_CL_CALLE2 As String = records(RESULT.Columns.Get("CAT_CL_CALLE2")) + Dim CAT_CL_COLONIA As String = records(RESULT.Columns.Get("CAT_CL_COLONIA")) + Dim CAT_CL_MUNI As String = records(RESULT.Columns.Get("CAT_CL_MUNI")) + Dim CAT_CL_EDO As String = records(RESULT.Columns.Get("CAT_CL_EDO")) + Dim CAT_CL_CP As String = records(RESULT.Columns.Get("CAT_CL_CP")) + Dim CAT_CL_LONG As String = records(RESULT.Columns.Get("CAT_CL_LONG")) + Dim CAT_CL_LAT As String = records(RESULT.Columns.Get("CAT_CL_LAT")) + Dim CAT_CL_MTOCOMPRA As String = records(RESULT.Columns.Get("CAT_CL_MTOCOMPRA")) + Dim CAT_CL_NUM_SERIEFISICO As String = records(RESULT.Columns.Get("CAT_CL_NUM_SERIEFISICO")) + Dim CAT_CL_BFACTURA As String = records(RESULT.Columns.Get("CAT_CL_BFACTURA")) + Dim CAT_CL_BCREDITO As String = records(RESULT.Columns.Get("CAT_CL_BBLOQUEOCRED")) + Dim CAT_CL_DIAS_VISITA As String = records(RESULT.Columns.Get("CAT_CL_DIAS_VISITA")) + Dim CAT_CL_TIPO_RUTA As String = records(RESULT.Columns.Get("CAT_CL_TIPO_RUTA")) + Dim CAT_CL_CATEGORIA As String = records(RESULT.Columns.Get("CAT_CL_CATEGORIA")) + Dim CAT_CL_SEGMENTO As String = records(RESULT.Columns.Get("CAT_CL_SEGMENTO")) + Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info(CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_BFACTURA,CAT_CL_BCREDITO,CAT_CL_DIAS_VISITA,CAT_CL_TIPO_RUTA, gestion, IMPRESION, CAT_CL_CATEGORIA, CAT_CL_SEGMENTO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,?,?)", Array As Object (CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LAT,CAT_CL_LONG,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_BFACTURA,CAT_CL_BCREDITO,CAT_CL_DIAS_VISITA,CAT_CL_TIPO_RUTA,CAT_CL_CATEGORIA, CAT_CL_SEGMENTO)) + Next + Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info(CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_BFACTURA,CAT_CL_BCREDITO,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO,CAT_CL_DIAS_VISITA, gestion, IMPRESION) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,0,?,0,0) ",Array As Object ("0",e_ruta.TEXT, "VENTA ABORDO","null","null","null","null","null","null","null","null","null","null","null","null","NULL","null","null","NULL","NULL")) + Starter.skmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!! + Starter.skmt.EndTransaction + Listo1 = 1 + S_CC.Text = "LISTO" +' ToastMessageShow("Catalogo Clientes Actualizados." , True) + If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then + B4XPage_Appear + img2.Visible=False + EJECUTANDO=0 + End If + End If + bcarga1 = 20 + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "hist_promos" Then 'query tag + If logger Then Log("TIEMPO hist_promos : " & ((DateTime.Now-inicioContador)/1000)) + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim HP_CLIENTE As String = records(RESULT.Columns.Get("HP_CLIENTE")) + Dim HP_CODIGO_PROMOCION As String = records(RESULT.Columns.Get("HP_CODIGO_PROMOCION")) + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_PROMOS(HP_CLIENTE, HP_CODIGO_PROMOCION) VALUES (?,?)", Array As Object (HP_CLIENTE, HP_CODIGO_PROMOCION)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + 'ToastMessageShow("Historico Promociones Actualizado." , True) + If PB1.Progress = 0 Then + PB1.Progress = 30 + S_CH.Text = "CARGANDO" + ELSE If PB1.Progress = 30 Then + PB1.Progress = 70 + ELSE IF PB1.Progress = 70 Then + PB1.Progress = 100 + S_CH.Text = "LISTO" + End If + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "hist_cliente_promos" Then 'query tag + If logger Then Log("TIEMPO hist_cliente_promos : " & ((DateTime.Now-inicioContador)/1000)) + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim HCCP_CLIENTE As String = records(RESULT.Columns.Get("HCCP_CLIENTE")) + Dim HCCP_PROMO As String = records(RESULT.Columns.Get("HCCP_PROMO")) + Dim HCCP_CANT As String = records(RESULT.Columns.Get("HCCP_CANT")) + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_CLIENTE_CANT_PROMOS(HCCP_CLIENTE, HCCP_PROMO, HCCP_CANT) VALUES (?,?,?)", Array As Object (HCCP_CLIENTE, HCCP_PROMO,HCCP_CANT)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + ' ToastMessageShow(" Historico Clientes Promociones Actualizado." , True) + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "hist_comp_promos" Then 'query tag + If logger Then Log("TIEMPO hist_comp_promos : " & ((DateTime.Now-inicioContador)/1000)) + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim CAT_PA_ID As String = records(RESULT.Columns.Get("CAT_PA_ID")) + Dim CAT_PA_MAXPROM As String = records(RESULT.Columns.Get("CAT_PA_MAXPROM")) + Dim CAT_PA_MAXPROMREC As String = records(RESULT.Columns.Get("CAT_PA_MAXPROMREC")) + Dim CAT_PA_MAXPROMCLIE As String = records(RESULT.Columns.Get("CAT_PA_MAXPROMCLIE")) + Starter.skmt.ExecNonQuery2("INSERT INTO PROMOS_COMP(CAT_PA_ID, CAT_PA_MAXPROM, CAT_PA_MAXPROMREC, CAT_PA_MAXPROMCLIE) VALUES (?,?,?,?)", Array As Object (CAT_PA_ID, CAT_PA_MAXPROM,CAT_PA_MAXPROMREC,CAT_PA_MAXPROMCLIE)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + If PB1.Progress = 0 Then + PB1.Progress = 30 + S_CH.Text = "CARGANDO" + ELSE If PB1.Progress = 30 Then + PB1.Progress = 70 + ELSE IF PB1.Progress = 70 Then + PB1.Progress = 100 + S_CH.Text = "LISTO" + End If + End If + End If + + + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "promo_monto" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim CPM_CLIENTE As String = records(RESULT.Columns.Get("CPM_CLIENTE")) + Dim CPM_IDPROMO As String = records(RESULT.Columns.Get("CPM_IDPROMO")) + Dim CPM_MONTO As String = records(RESULT.Columns.Get("CPM_MONTO")) + Dim CPM_PROID As String = records(RESULT.Columns.Get("CPM_PROID")) + Dim CPM_CANT As String = records(RESULT.Columns.Get("CPM_CANT")) + Dim CPM_RANGO As String = records(RESULT.Columns.Get("CPM_RANGO")) + Dim CPM_DESC As String = records(RESULT.Columns.Get("CPM_DESC")) + + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_PROMO_MONTO(CPM_CLIENTE, CPM_IDPROMO, CPM_MONTO, CPM_PROID, CPM_CANT, CPM_RANGO, CPM_DESC) VALUES (?,?,?,?,?,?,?)", Array As Object (CPM_CLIENTE, CPM_IDPROMO, CPM_MONTO, CPM_PROID, CPM_CANT, CPM_RANGO, CPM_DESC)) + + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "cat_verificacion" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim CAT_VE_IDPROD As String = records(RESULT.Columns.Get("CAT_VE_IDPROD")) + Dim CAT_VE_NOMBRE As String = records(RESULT.Columns.Get("CAT_VE_NOMBRE")) + Dim CAT_VE_ORDEN As String = records(RESULT.Columns.Get("CAT_VE_ORDEN")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VERIFICACION(CAT_VE_IDPROD, CAT_VE_NOMBRE,CAT_VE_ORDEN) VALUES (?,?,?)", Array As Object (CAT_VE_IDPROD, CAT_VE_NOMBRE,CAT_VE_ORDEN)) + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "DESCUENTOS_CLIENTE" Then 'query tag + If logger Then Log("TIEMPO DESCUENTOS_CIENTE : " & ((DateTime.Now-inicioContador)/1000)) + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim DC_CL_CLIENTE As String = records(RESULT.Columns.Get("CAT_CL_CLIENTE")) + Dim CAT_CL_DESCUENTO_SS As String = records(RESULT.Columns.Get("CAT_CL_DESCUENTO_SS")) + Dim CAT_CL_DESCUENTO_RTEC As String = records(RESULT.Columns.Get("CAT_CL_DESCUENTO_RTEC")) + Dim CAT_CL_DESCUENTO_PING As String = records(RESULT.Columns.Get("CAT_CL_DESCUENTO_PING")) + Dim CAT_CL_TIPOCLIENTE As String = records(RESULT.Columns.Get("CAT_CL_TIPOCLIENTE")) + Starter.skmt.ExecNonQuery2("INSERT INTO DESC_CLIENTES(DC_CL_CLIENTE , CAT_CL_DESCUENTO_SS , CAT_CL_DESCUENTO_RTEC , CAT_CL_DESCUENTO_PING, CAT_CL_TIPOCLIENTE ) VALUES (?,?,?,?,?)", Array As Object (DC_CL_CLIENTE , CAT_CL_DESCUENTO_SS , CAT_CL_DESCUENTO_RTEC , CAT_CL_DESCUENTO_PING,CAT_CL_TIPOCLIENTE)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + End If + End If + + 'DESCUENTOS SKU + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "DESCUENTOS_CLIENTE_SKU" Then 'query tag + If logger Then Log("TIEMPO DESCUENTOS_CLIENTE_SKU : " & ((DateTime.Now-inicioContador)/1000)) + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim CAT_DS_CLIENTE As String = records(RESULT.Columns.Get("CAT_DS_CLIENTE")) + Dim CAT_DS_PRODID As String = records(RESULT.Columns.Get("CAT_DS_PRODID")) + Dim CAT_DS_PORCENTAJE As String = records(RESULT.Columns.Get("CAT_DS_PORCENTAJE")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_DESCUENTOS_SKU (CAT_DS_CLIENTE, CAT_DS_PRODID, CAT_DS_PORCENTAJE ) VALUES (?,?,?)", Array As Object (CAT_DS_CLIENTE, CAT_DS_PRODID, CAT_DS_PORCENTAJE)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "hist_abordo" Then 'query tag + If logger Then Log("TIEMPO hist_abordo : " & ((DateTime.Now-inicioContador)/1000)) + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim HVD_PROID As String = records(RESULT.Columns.Get("HVD_PROID")) + Dim HVD_CANT As String = records(RESULT.Columns.Get("HVD_CANT")) + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ABORDO(HIST_PROID, HIST_CANT) VALUES (?,?)", Array As Object (HVD_PROID, HVD_CANT)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "gunaprod" Then 'query tag + If logger Then Log("TIEMPO gunaprod : " & ((DateTime.Now-inicioContador)/1000)) + S_CP.Text = "CARGANDO" + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID")) + Dim CAT_GP_NOMBRE As String = records(RESULT.Columns.Get("CAT_GP_NOMBRE")) + Dim CAT_GP_IMP1 As String = records(RESULT.Columns.Get("CAT_GP_IMP1")) + Dim CAT_GP_IMP2 As String = records(RESULT.Columns.Get("CAT_GP_IMP2")) + Dim CAT_GP_PRECIO As String = records(RESULT.Columns.Get("CAT_GP_PRECIO")) + Dim CAT_GP_CLASIF As String = records(RESULT.Columns.Get("CAT_GP_CLASIF")) + Dim CAT_GP_STS As String = records(RESULT.Columns.Get("CAT_GP_STS")) + Dim CAT_GP_TIPO As String = records(RESULT.Columns.Get("CAT_GP_TIPO")) + Dim CAT_GP_SUBTIPO As String = records(RESULT.Columns.Get("CAT_GP_SUBTIPO")) + Dim CAT_GP_IMG() As Byte = records(RESULT.Columns.Get("CAT_GP_IMG")) + Dim CAT_GP_ALMACEN As Int = records(RESULT.Columns.Get("CAT_GP_ALMACEN")) + Dim CAT_GP_DEV As String = records(RESULT.Columns.Get("CAT_GP_DEV")) + Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD")) + Dim CAT_GP_INICIATIVA As Int = records(RESULT.Columns.Get("CAT_GP_INICIATIVA")) + 'CAT_GP_INICIATIVA = 5 + ' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_DEV)) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_INICIATIVA,CAT_GP_DEV,CAT_GP_CODPROMO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD, CAT_GP_INICIATIVA,CAT_GP_DEV)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + ' c=skmt.ExecQuery("select CAT_GP_CLASIF, COUNT(*) AS CUANTOS from CAT_GUNAPROD GROUP BY CAT_GP_CLASIF order by CAT_GP_CLASIF asc") + ' c.Position=0 + ' skmt.ExecNonQuery("DELETE FROM COUNT_GUNAPROD") + ' skmt.ExecNonQuery2("INSERT INTO COUNT_GUNAPROD(CAT_GP_CLASIF, CUANTOS) VALUES (?,?)", Array As Object (c.GetString("CAT_GP_CLASIF"), c.GetString("CUANTOS"))) + ' c.Close + Listo2=1 + If PB2.Progress = 0 Then + PB2.Progress = 30 + S_CP.Text = "CARGANDO" + ELSE If PB2.Progress = 30 Then + PB2.Progress = 60 + ELSE IF PB2.Progress = 60 Then + PB2.Progress = 80 + ELSE IF PB2.Progress = 80 Then + PB2.Progress = 100 + S_CP.Text = "LISTO" + End If + ' ToastMessageShow("Productos Actualizados." , True) + If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then + B4XPage_Appear + img2.Visible=False + EJECUTANDO=0 + End If + End If + End If + + 'CARGA DEL CATALOGO ABORDO + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "gunaprod2" Then 'query tag + If logger Then Log("TIEMPO gunaprod2 : " & ((DateTime.Now-inicioContador)/1000)) + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID")) + Dim CAT_GP_NOMBRE As String = records(RESULT.Columns.Get("CAT_GP_NOMBRE")) + Dim CAT_GP_IMP1 As String = records(RESULT.Columns.Get("CAT_GP_IMP1")) + Dim CAT_GP_IMP2 As String = records(RESULT.Columns.Get("CAT_GP_IMP2")) + Dim CAT_GP_PRECIO As String = records(RESULT.Columns.Get("CAT_GP_PRECIO")) + Dim CAT_GP_CLASIF As String = records(RESULT.Columns.Get("CAT_GP_CLASIF")) + Dim CAT_GP_STS As String = records(RESULT.Columns.Get("CAT_GP_STS")) + Dim CAT_GP_TIPO As String = records(RESULT.Columns.Get("CAT_GP_TIPO")) + Dim CAT_GP_SUBTIPO As String = records(RESULT.Columns.Get("CAT_GP_SUBTIPO")) + Dim CAT_GP_IMG() As Byte = records(RESULT.Columns.Get("CAT_GP_IMG")) + Dim CAT_GP_ALMACEN As Int = records(RESULT.Columns.Get("CAT_GP_ALMACEN")) + Dim CAT_GP_DEV As String = records(RESULT.Columns.Get("CAT_GP_DEV")) + Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD")) + Dim CAT_GP_INICIATIVA As Int = records(RESULT.Columns.Get("CAT_GP_INICIATIVA")) + Dim CAT_GP_CODPROMO As String = records(RESULT.Columns.Get("CAT_GP_CODPROMO")) + 'CAT_GP_INICIATIVA = 5 + ' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_DEV)) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_INICIATIVA,CAT_GP_DEV,CAT_GP_CODPROMO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD, CAT_GP_INICIATIVA,CAT_GP_DEV,CAT_GP_CODPROMO)) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD5(CAT_GP_ID,CAT_GP_ALMACEN) VALUES (?,?)", Array As Object (CAT_GP_ID,CAT_GP_ALMACEN)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + c=Starter.skmt.ExecQUERY("SELECT COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CLIENTE <> 0") + c.Position = 0 + cuantos_pedidosc = c.GetString("CUANTOS") + c.Close + If cuantos_pedidosc > 0 Then + c=Starter.skmt.ExecQUERY("SELECT PE_PROID, SUM(PE_CANT) AS PE_CANT FROM PEDIDO WHERE PE_CLIENTE <> 0 GROUP BY PE_PROID") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Starter.skmt.ExecNonQuery2("update CAT_GUNAPROD2 set CAT_GP_ALMACEN = CAT_GP_ALMACEN - ? where CAT_GP_ID = ? ", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) + Next + End If + End If + ' skmt.ExecNonQuery("DELETE FROM CAT_GUNAPROD5") + ' skmt.ExecNonQuery("INSERT INTO CAT_GUNAPROD5(CAT_GP_ID, CAT_GP_ALMACEN) SELECT CAT_GP_ID, CAT_GP_ALMACEN FROM CAT_GUNAPROD2") + + ' + ' c=skmt.ExecQuery("select CAT_GP_CLASIF, COUNT(*) AS CUANTOS from CAT_GUNAPROD2 GROUP BY CAT_GP_CLASIF order by CAT_GP_CLASIF asc") + ' c.Position=0 + ' skmt.ExecNonQuery("DELETE FROM COUNT_GUNAPROD2") + ' skmt.ExecNonQuery2("INSERT INTO COUNT_GUNAPROD2(CAT_GP_CLASIF, CUANTOS) VALUES (?,?)", Array As Object (c.GetString("CAT_GP_CLASIF"), c.GetString("CUANTOS"))) + ' c.Close + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "gunaprodp" Then 'query tag + If logger Then Log("TIEMPO gunaprodp : " & ((DateTime.Now-inicioContador)/1000)) + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID")) + Dim CAT_GP_NOMBRE As String = records(RESULT.Columns.Get("CAT_GP_NOMBRE")) + Dim CAT_GP_IMP1 As String = records(RESULT.Columns.Get("CAT_GP_IMP1")) + Dim CAT_GP_IMP2 As String = records(RESULT.Columns.Get("CAT_GP_IMP2")) + Dim CAT_GP_PRECIO As String = records(RESULT.Columns.Get("CAT_GP_PRECIO")) + Dim CAT_GP_CLASIF As String = records(RESULT.Columns.Get("CAT_GP_CLASIF")) + Dim CAT_GP_STS As String = records(RESULT.Columns.Get("CAT_GP_STS")) + Dim CAT_GP_TIPO As String = records(RESULT.Columns.Get("CAT_GP_TIPO")) + Dim CAT_GP_SUBTIPO As String = records(RESULT.Columns.Get("CAT_GP_SUBTIPO")) + Dim CAT_GP_IMG() As Byte = records(RESULT.Columns.Get("CAT_GP_IMG")) + Dim CAT_GP_ALMACEN As Int = records(RESULT.Columns.Get("CAT_GP_ALMACEN")) + Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD")) +' Dim CAT_GP_DEV As String = records(RESULT.Columns.Get("CAT_GP_DEV")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_DEV,CAT_GP_CODPROMO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD,"0")) + ' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_DEV,CAT_GP_CODPROMO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD,"0")) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + If PB2.Progress = 0 Then + PB2.Progress = 30 + S_CP.Text = "CARGANDO" + ELSE If PB2.Progress = 30 Then + PB2.Progress = 60 + ELSE IF PB2.Progress = 60 Then + PB2.Progress = 80 + ELSE IF PB2.Progress = 80 Then + PB2.Progress = 100 + S_CP.Text = "LISTO" + End If + ' ToastMessageShow("Promociones Actualizados." , True) + Listo4=1 + If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then + B4XPage_Appear + img2.Visible=False + EJECUTANDO=0 + Else If Listo4 = 1 And Listo3 = 1 And inve = 1 Then + B4XPage_Appear + img2.Visible=False + EJECUTANDO=0 + End If + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "gunaprodps" Then 'query tag + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID")) + Dim CAT_GP_NOMBRE As String = records(RESULT.Columns.Get("CAT_GP_NOMBRE")) + Dim CAT_GP_IMP1 As String = records(RESULT.Columns.Get("CAT_GP_IMP1")) + Dim CAT_GP_IMP2 As String = records(RESULT.Columns.Get("CAT_GP_IMP2")) + Dim CAT_GP_PRECIO As String = records(RESULT.Columns.Get("CAT_GP_PRECIO")) + Dim CAT_GP_CLASIF As String = records(RESULT.Columns.Get("CAT_GP_CLASIF")) + Dim CAT_GP_STS As String = records(RESULT.Columns.Get("CAT_GP_STS")) + Dim CAT_GP_TIPO As String = records(RESULT.Columns.Get("CAT_GP_TIPO")) + Dim CAT_GP_SUBTIPO As String = records(RESULT.Columns.Get("CAT_GP_SUBTIPO")) + Dim CAT_GP_IMG() As Byte = records(RESULT.Columns.Get("CAT_GP_IMG")) + Dim CAT_GP_ALMACEN As Int = records(RESULT.Columns.Get("CAT_GP_ALMACEN")) + Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD)) + ' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + If PB2.Progress = 0 Then + PB2.Progress = 30 + S_CP.Text = "CARGANDO" + ELSE If PB2.Progress = 30 Then + PB2.Progress = 60 + ELSE IF PB2.Progress = 60 Then + PB2.Progress = 80 + ELSE IF PB2.Progress = 80 Then + PB2.Progress = 100 + S_CP.Text = "LISTO" + End If + 'ToastMessageShow("Promociones especiales Actualizados." , True) + Listo4=1 + If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then + B4XPage_Appear + img2.Visible=False + EJECUTANDO=0 + Else If Listo4 = 1 And Listo3 = 1 And inve = 1 Then + B4XPage_Appear + img2.Visible=False + EJECUTANDO=0 + End If + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "detallepaq" Then 'query tag + If logger Then Log("TIEMPO detallepaq : " & ((DateTime.Now-inicioContador)/1000)) + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim CAT_DP_ALMACEN As String = records(RESULT.Columns.Get("CAT_DP_ALMACEN")) + Dim CAT_DP_ID As String = records(RESULT.Columns.Get("CAT_DP_ID")) + Dim CAT_DP_IDPROD As String = records(RESULT.Columns.Get("CAT_DP_IDPROD")) + Dim CAT_DP_TIPO As String = records(RESULT.Columns.Get("CAT_DP_TIPO")) + Dim CAT_DP_PZAS As String = records(RESULT.Columns.Get("CAT_DP_PZAS")) + Dim CAT_DP_USUARIO As String = records(RESULT.Columns.Get("CAT_DP_USUARIO")) + Dim CAT_DP_FECHA As String = records(RESULT.Columns.Get("CAT_DP_FECHA")) + Dim CAT_DP_REGALO As String = records(RESULT.Columns.Get("CAT_DP_REGALO")) + Dim CAT_DP_CLASIF As String = records(RESULT.Columns.Get("CAT_DP_CLASIF")) + Dim CAT_DP_PRECIO As String = records(RESULT.Columns.Get("CAT_DP_PRECIO")) + Dim CAT_DP_PRECIO_SIMPTOS As String = records(RESULT.Columns.Get("CAT_DP_PRECIO_SIMPTOS")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_DETALLES_PAQ(CAT_DP_ALMACEN,CAT_DP_ID,CAT_DP_IDPROD,CAT_DP_TIPO,CAT_DP_PZAS,CAT_DP_USUARIO,CAT_DP_FECHA,CAT_DP_REGALO,CAT_DP_CLASIF,CAT_DP_PRECIO,CAT_DP_PRECIO_SIMPTOS) VALUES (?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_DP_ALMACEN,CAT_DP_ID,CAT_DP_IDPROD,CAT_DP_TIPO,CAT_DP_PZAS,CAT_DP_USUARIO,CAT_DP_FECHA,CAT_DP_REGALO,CAT_DP_CLASIF,CAT_DP_PRECIO,CAT_DP_PRECIO_SIMPTOS)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + If PB2.Progress = 0 Then + PB2.Progress = 30 + S_CP.Text = "CARGANDO" + ELSE If PB2.Progress = 30 Then + PB2.Progress = 60 + ELSE IF PB2.Progress = 60 Then + PB2.Progress = 80 + ELSE IF PB2.Progress = 80 Then + PB2.Progress = 100 + S_CP.Text = "LISTO" + End If + Listo3 =1 + If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then + B4XPage_Appear + img2.Visible=False + EJECUTANDO=0 + Else If Listo4 = 1 And Listo3 = 1 And inve = 1 Then + B4XPage_Appear + img2.Visible=False + EJECUTANDO=0 + End If + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "hist_datos" Then 'query tag + If logger Then Log("TIEMPO hist_datos : " & ((DateTime.Now-inicioContador)/1000)) + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim HVD_CLIENTE As String = records(RESULT.Columns.Get("HVD_CLIENTE")) + Dim HVD_PRONOMBRE As String = records(RESULT.Columns.Get("HVD_PRONOMBRE")) + Dim HVD_CANT As String = records(RESULT.Columns.Get("HVD_CANT")) + Dim HVD_COSTO_TOT As String = records(RESULT.Columns.Get("HVD_COSTO_TOT")) + Dim HVD_FECHA As String = records(RESULT.Columns.Get("HVD_FECHA")) + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA) VALUES (?,?,?,?,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + Listo3 =1 + If PB1.Progress = 0 Then + PB1.Progress = 30 + S_CH.Text = "CARGANDO" + ELSE If PB1.Progress = 30 Then + PB1.Progress = 70 + ELSE IF PB1.Progress = 70 Then + PB1.Progress = 100 + S_CH.Text = "LISTO" + End If +' ToastMessageShow("Venta historico Actualizado." , True) + If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then + B4XPage_Appear + img2.Visible=False + EJECUTANDO=0 + End If + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "hist_rmi" Then 'query tag + If logger Then Log("TIEMPO hist_rmi : " & ((DateTime.Now-inicioContador)/1000)) + For Each records() As Object In RESULT.Rows + Dim HVD_CLIENTE As String = records(RESULT.Columns.Get("HVD_CLIENTE")) + Dim HVD_PRONOMBRE As String = records(RESULT.Columns.Get("HVD_PRONOMBRE")) + Dim HVD_CANT As String = records(RESULT.Columns.Get("HVD_CANT")) + Dim HVD_PROID As String = records(RESULT.Columns.Get("HVD_PROID")) + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_RMI(HR_CLIENTE,HR_PRONOMBRE,HR_PROID, HR_CANT) VALUES (?,?,?,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_PROID, HVD_CANT)) + Next + Listo3 =1 + If PB1.Progress = 0 Then + PB1.Progress = 30 + S_CH.Text = "CARGANDO" + ELSE If PB1.Progress = 30 Then + PB1.Progress = 50 + ELSE IF PB1.Progress = 50 Then + PB1.Progress = 80 + ELSE If PB1.Progress = 80 Then + PB1.Progress = 100 + S_CH.Text = "LISTO" + End If +' ToastMessageShow("Venta historico Actualizado." , True) + If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then + B4XPage_Appear + img2.Visible=False + EJECUTANDO=0 + End If + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "variables" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim Cat_Va_Descripcion As String = records(RESULT.Columns.Get("CAT_VA_DESCRIPCION")) + Dim Cat_Va_Valor As String = records(RESULT.Columns.Get("CAT_VA_VALOR")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object (Cat_Va_Descripcion, Cat_Va_Valor)) + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "limite_abordo" Then 'query tag + If logger Then Log("TIEMPO limite_abordo : " & ((DateTime.Now-inicioContador)/1000)) + For Each records() As Object In RESULT.Rows + Dim Cat_Va_Valor As String = records(RESULT.Columns.Get("CAT_LA_LIMITE_ABORDO")) + Dim CAT_LA_ESTATUS_AUTORIZA As String = records(RESULT.Columns.Get("CAT_LA_ESTATUS_AUTORIZA")) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("LIMITE")) + If CAT_LA_ESTATUS_AUTORIZA = 1 Then + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("LIMITE", "100000")) + Else + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("LIMITE", Cat_Va_Valor)) + End If + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "carga_encuesta" Then 'query tag + If logger Then Log("TIEMPO carga_encuesta : " & ((DateTime.Now-inicioContador)/1000)) + For Each records() As Object In RESULT.Rows + Dim CAT_EP_ID As String = records(RESULT.COLUMNS.GET("CAT_EP_ID")) + Dim CAT_EP_IDTIPOPREGUNTA As String = records(RESULT.COLUMNS.GET("CAT_EP_IDTIPOPREGUNTA")) + Dim CAT_CE_DESCRIPCION As String = records(RESULT.COLUMNS.GET("CAT_CE_DESCRIPCION")) + Dim CAT_EP_PREGUNTA As String = records(RESULT.COLUMNS.GET("CAT_EP_PREGUNTA")) + Dim CAT_EP_RES1_PRED As String = records(RESULT.COLUMNS.GET("CAT_EP_RES1_PRED")) + Dim CAT_EP_RES2_PRED As String = records(RESULT.COLUMNS.GET("CAT_EP_RES2_PRED")) + Dim CAT_EP_RES3_PRED As String = records(RESULT.COLUMNS.GET("CAT_EP_RES3_PRED")) + Dim CAT_EP_ORDEN_PREGUNTA As String = records(RESULT.COLUMNS.GET("CAT_EP_ORDEN_PREGUNTA")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_ENCUESTA_PREGUNTA (CAT_EP_ID ,CAT_EP_IDTIPOPREGUNTA ,CAT_CE_DESCRIPCION ,CAT_EP_PREGUNTA ,CAT_EP_RES1_PRED ,CAT_EP_RES2_PRED ,CAT_EP_RES3_PRED ,CAT_EP_ORDEN_PREGUNTA ) VALUES (?,?,?,?,?,?,?,?)", Array As Object (CAT_EP_ID ,CAT_EP_IDTIPOPREGUNTA ,CAT_CE_DESCRIPCION ,CAT_EP_PREGUNTA ,CAT_EP_RES1_PRED ,CAT_EP_RES2_PRED ,CAT_EP_RES3_PRED ,CAT_EP_ORDEN_PREGUNTA)) + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "carga_encuesta_cliente" Then 'query tag + If logger Then Log("TIEMPO carga_encuesta_cliente : " & ((DateTime.Now-inicioContador)/1000)) + For Each records() As Object In RESULT.Rows + Dim HIST_ECD_IDGRUPO As String = records(RESULT.COLUMNS.GET("HIST_ECD_IDGRUPO")) + Dim HIST_ECD_CLIENTE As String = records(RESULT.COLUMNS.GET("HIST_ECD_CLIENTE")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_ENCUESTA_CLIENTE(HIST_ECD_IDGRUPO ,HIST_ECD_CLIENTE) VALUES (?,?)", Array As Object (HIST_ECD_IDGRUPO ,HIST_ECD_CLIENTE)) + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "valida_pedido" Then 'query tag + If logger Then Log("TIEMPO valida_pedido : " & ((DateTime.Now-inicioContador)/1000)) + For Each records() As Object In RESULT.Rows + Dim CUANTOSP As Int = records(RESULT.Columns.Get("CUANTOSP")) + If cuantos_pedido < = CUANTOSP Then + datos_iguales = "ok" + S_CP.Text = "INFO OK" + Else + If Starter.marcaCel <> "LGE" Then ToastMessageShow("No se cargo bien la info P. Sync Nuevamente" & CUANTOSP & " " & cuantos_pedido, True) + S_CP.Text = "ENVIAR DATOS (K-2)" + End If + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "valida_pedido1" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim CUANTOSP As Int = records(RESULT.Columns.Get("CUANTOSP")) + If cuantos_pedido = CUANTOSP Then + Msgbox("ENVIO EXITOSO","AVISO") 'ignore + cargar.Visible = True + Subir.Visible = True + trabajar.Visible = True + Else + Msgbox("NO ESTA COMPLETA LA INFO", "AVISO") 'ignore + connecta.Visible = True + Resumen.Visible = True + BUSCA.Visible = True + NUEVO.Visible = True + trabajar.Visible = True + B_PROXIMA.Visible = True + End If + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "valida_pedidoc" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim CUANTOSC As Int = records(RESULT.Columns.Get("CUANTOSC")) + If cuantos_pedidosc = CUANTOSC Then + datos_iguales = "ok" + S_CP.Text = "INFO OK" + Else + If Starter.marcaCel <> "LGE" Then ToastMessageShow("No se cargo bien la info C. Sync Nuevamente" & CUANTOSC & " " & cuantos_pedidosc, True) + End If + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "valida_noventa" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim CUANTOSN As Int = records(RESULT.Columns.Get("CUANTOSN")) + If cuantos_noventa = CUANTOSN Then + datos_iguales = "ok" + S_CP.Text = "INFO OK" + Else + If Starter.marcaCel <> "LGE" Then ToastMessageShow("No se cargo bien la info N. Sync Nuevamente" & CUANTOSN & " " & cuantos_noventa, True) + End If + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "ins_pedido" Then 'query tag + For Each records() As Object In RESULT.Rows + PB2.Progress = PB2.Progress + 5 + S_CP.Text = "SUBIENDO" + Next + PB2.Progress = 100 + S_CP.Text = "LISTO" + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "version" Then 'query tag + For Each records() As Object In RESULT.Rows + Starter.skmt.ExecNonQuery("delete from VERSION") + Dim CAT_VE_VERSION As String = records(RESULT.Columns.Get("CAT_VE_VERSION")) + Starter.skmt.ExecNonQuery("delete from VERSION") + Starter.skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object (CAT_VE_VERSION)) + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "count_cli" Then 'query tag + For Each records() As Object In RESULT.Rows + COUNT_CLIE = records(RESULT.Columns.Get("COUNT_CLIE")) + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "ruta" Then 'query tag + e_ruta.Enabled = True +' Log(RESULT) +' Log(RESULT.Columns.Get("VALIDO")) + If RESULT.Columns.Get("VALIDO") = "0" Then ToastMessageShow("Ruta incorrecta", True) + If RESULT.Rows.Size = 0 Then ToastMessageShow("No hay ruta para ese usuario", True) + For Each records() As Object In RESULT.Rows + Dim VALIDO As String = records(RESULT.Columns.Get("VALIDO")) + Log("|"&VALIDO&"|") +' If Logger Then Log(records(RESULT.Columns.Get("CAT_RU_CATEGORIA"))) + Starter.rutaTipo = records(RESULT.Columns.Get("CAT_RU_CATEGORIA")) 'Traemos el tipo de ruta para que cuando sean foraneas no carguen la carta porte todos los dias. + Log($"========= TIPO RUTA = ${Starter.rutaTipo}"$) + If VALIDO = "OK" Then + cargar.Visible = True + Subir.Visible = True + inv.Visible = True + connecta.Visible = False + Starter.rutapreventa = e_ruta.text + If conn = "1" Then + ToastMessageShow("Existe Conexión con el Servidor." , True) + End If + Else + cargar.Visible = False + Subir.Visible = False + inv.Visible = False + connecta.Visible = False + End If + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "usuario" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim name2 As String = records(RESULT.Columns.Get("VALIDO")) + Next + If name2 = "OK" Then + PASO = 1 + End If + P1.Visible = False + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "fecha" Then 'query tag + For Each records() As Object In RESULT.Rows + Starter.FECHA_HOY = records(RESULT.Columns.Get("FECHA")) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FECHA")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FECHA",Starter.FECHA_HOY)) + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "folio" Then 'query tag + If logger Then Log("TIEMPO folio : " & ((DateTime.Now-inicioContador)/1000)) + For Each records() As Object In RESULT.Rows + Dim FOLIO As String = records(RESULT.Columns.Get("FOLIO")) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FOLIO")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FOLIO",FOLIO)) + Next + End If + End If + + 'Perfil + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "perfil" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim PERFIL As String = records(RESULT.Columns.Get("PERFIL")) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("PERFIL")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("PERFIL",PERFIL)) + Next + End If + End If + + 'Marcas + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "marcas" Then 'query tag + If logger Then Log("TIEMPO marcas : " & ((DateTime.Now-inicioContador)/1000)) + For Each records() As Object In RESULT.Rows + Dim MARCAS As String = records(RESULT.Columns.Get("MARCAS")) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("MARCAS")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MARCAS",MARCAS)) + Next + End If + End If + + ' SUCURSAL + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "sucursal" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim SUCURSAL As String = records(RESULT.Columns.Get("SUCURSAL")) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SUCURSAL")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SUCURSAL",SUCURSAL)) + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "placas" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim PLACAS As String = records(RESULT.Columns.Get("PLACAS")) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("PLACAS")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("PLACAS",PLACAS)) + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "SEMANA" Then 'query tag + If logger Then Log("TIEMPO SEMANA : " & ((DateTime.Now-inicioContador)/1000)) + For Each records() As Object In RESULT.Rows + Dim Cat_Va_Valor As String = records(RESULT.Columns.Get("CAT_VA_VALOR")) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SEMANA")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SEMANA",Cat_Va_Valor)) + Next + End If + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "dia_visita" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim DIA_VISITA As String = records(RESULT.Columns.Get("DIA_VISITA")) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("DIA_VISITA")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("DIA_VISITA",DIA_VISITA)) + 'Msgbox(DIA_VISITA, "") 'ignore + Next + End If + End If + + 'CUOTAS + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "CUOTAS" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim HC_RUTA As String = records(RESULT.Columns.Get("HC_RUTA")) + Dim HC_CUOTA1 As String = records(RESULT.Columns.Get("HC_CUOTA1")) + Dim HC_CUOTA2 As String = records(RESULT.Columns.Get("HC_CUOTA2")) + Dim HC_CUOTA3 As String = records(RESULT.Columns.Get("HC_CUOTA3")) + Dim HC_CUOTA4 As String = records(RESULT.Columns.Get("HC_CUOTA4")) + Dim HC_CUOTA5 As String = records(RESULT.Columns.Get("HC_CUOTA5")) + Dim HC_CUOTA6 As String = records(RESULT.Columns.Get("HC_CUOTA6")) + Dim HC_META1 As String = records(RESULT.Columns.Get("HC_META1")) + Dim HC_META2 As String = records(RESULT.Columns.Get("HC_META2")) + Dim HC_META3 As String = records(RESULT.Columns.Get("HC_META3")) + Dim HC_META4 As String = records(RESULT.Columns.Get("HC_META4")) + Dim HC_META5 As String = records(RESULT.Columns.Get("HC_META5")) + Dim HC_META6 As String = records(RESULT.Columns.Get("HC_META6")) + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_CUOTAS(HC_RUTA, HC_CUOTA1,HC_CUOTA2,HC_CUOTA3,HC_CUOTA4,HC_CUOTA5,HC_CUOTA6,HC_META1,HC_META2,HC_META3,HC_META4,HC_META5,HC_META6) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (HC_RUTA, HC_CUOTA1,HC_CUOTA2,HC_CUOTA3,HC_CUOTA4,HC_CUOTA5,HC_CUOTA6,HC_META1,HC_META2,HC_META3,HC_META4,HC_META5,HC_META6)) + Next + End If + End If + + + 'Cambios + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "cat_cambios" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim CAMBIOS As String = records(RESULT.Columns.Get("CAT_VA_VALOR")) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("CAMBIOS")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("CAMBIOS",CAMBIOS)) + Next + End If + End If + + 'Precios + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "precios" Then 'query tag + If logger Then Log("TIEMPO precios : " & ((DateTime.Now-inicioContador)/1000)) +' Subs.cronoX("Precios", 1) + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID")) + Dim CAT_GP_PRECIO As String = records(RESULT.Columns.Get("CAT_GP_PRECIO")) + Dim CAT_GP_PRECIO1 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO1")) + Dim CAT_GP_PRECIO2 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO2")) + Dim CAT_GP_PRECIO3 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO3")) + Dim CAT_GP_PRECIO4 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO4")) + Dim CAT_GP_PRECIO5 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO5")) + Dim CAT_GP_PRECIO6 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO6")) + Dim CAT_GP_PRECIO7 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO7")) + Dim CAT_GP_PRECIO8 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO8")) + Dim CAT_GP_PRECIO9 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO10")) + Dim CAT_GP_PRECIO10 As String = records(RESULT.Columns.Get("CAT_GP_PRECIO10")) 'ignore + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_PRECIOS(CAT_GP_ID,CAT_GP_PRECIO, CAT_GP_PRECIO1,CAT_GP_PRECIO2,CAT_GP_PRECIO3,CAT_GP_PRECIO4,CAT_GP_PRECIO5,CAT_GP_PRECIO6,CAT_GP_PRECIO7,CAT_GP_PRECIO8,CAT_GP_PRECIO9) VALUES (?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_PRECIO, CAT_GP_PRECIO1,CAT_GP_PRECIO2,CAT_GP_PRECIO3,CAT_GP_PRECIO4,CAT_GP_PRECIO5,CAT_GP_PRECIO6,CAT_GP_PRECIO7,CAT_GP_PRECIO8,CAT_GP_PRECIO9)) + Next + Starter.skmt.ExecNonQuery("delete from LISTA_PRECIOS") + Starter.skmt.ExecNonQuery(" insert into LISTA_PRECIOS(PRECIO, CAT_GP_ID, NLISTA) select cat_gp_precio as precio, cat_gp_id, '1' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO1 As precio, CAT_GP_ID, '2' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO2 As precio, CAT_GP_ID, '3' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO3 As precio, CAT_GP_ID, '4' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO4 As precio, CAT_GP_ID, '5' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO5 As precio, CAT_GP_ID, '6' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO6 As precio, CAT_GP_ID, '7' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO7 As precio, CAT_GP_ID, '8' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO8 As precio, CAT_GP_ID, '9' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO9 As precio, CAT_GP_ID, '10' as NLISTA from CAT_PRECIOS union Select CAT_GP_PRECIO10 As precio, CAT_GP_ID, '11' as NLISTA from CAT_PRECIOS") + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction +' If Logger Then LogColor($"///////////////// ${Subs.cronoX("Precios", 2)} ///////////////////////////"$, Colors.red) + ' ToastMessageShow("LISTA DE PRECIOS OK LISTA DE PRECIOS OK", True) + End If + End If + + 'Candado Fin Dia + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "pass_fin_dia" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim nuevaContrasena As String = records(RESULT.Columns.Get("CAR_VA_VALOR3")) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FINDIA_PASS")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FINDIA_PASS", nuevaContrasena)) + Next + End If + End If + + 'Exhibidores + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "exhibidores" Then 'query tag + If logger Then Log("TIEMPO exhibidores : " & ((DateTime.Now-inicioContador)/1000)) + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim HIST_EX_ID_CLIENTE As String = records(RESULT.Columns.Get("HIST_EX_ID_CLIENTE")) + Dim HIST_EX_TIPO As String = records(RESULT.Columns.Get("HIST_EX_TIPO")) + Dim HIST_EX_CANT As String = records(RESULT.Columns.Get("HIST_EX_CANT")) 'ignore + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_EXHIBIDORES2(HIST_EX_ID_CLIENTE,HIST_EX_TIPO, HIST_EX_CANT) VALUES (?,?,?)", Array As Object (HIST_EX_ID_CLIENTE,HIST_EX_TIPO, HIST_EX_CANT)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + End If + End If + + 'HIST_ENCUESTA2 + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "HIST_ENCUESTA2" Then 'query tag + If logger Then Log("TIEMPO HIST_ENCUESTA2 : " & ((DateTime.Now-inicioContador)/1000)) + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim HE_CLIENTE As String = records(RESULT.Columns.Get("HE_CLIENTE")) + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENCUESTA2(HE_CLIENTE) VALUES (?)", Array As Object (HE_CLIENTE)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + End If + End If + +''' INICIA CARGA PEDIDO DOE + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "cat_gunaprod_doe" Then 'query tag + If logger Then Log("TIEMPO gunaprod_DOE : " & ((DateTime.Now-inicioContador)/1000)) + S_CP.Text = "CARGANDO" + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID")) + Dim CAT_GP_NOMBRE As String = records(RESULT.Columns.Get("CAT_GP_NOMBRE")) + Dim CAT_GP_IMP1 As String = records(RESULT.Columns.Get("CAT_GP_IMP1")) + Dim CAT_GP_IMP2 As String = records(RESULT.Columns.Get("CAT_GP_IMP2")) + Dim CAT_GP_PRECIO As String = records(RESULT.Columns.Get("CAT_GP_PRECIO")) + Dim CAT_GP_CLASIF As String = records(RESULT.Columns.Get("CAT_GP_CLASIF")) + Dim CAT_GP_STS As String = records(RESULT.Columns.Get("CAT_GP_STS")) + Dim CAT_GP_TIPO As String = records(RESULT.Columns.Get("CAT_GP_TIPO")) + Dim CAT_GP_SUBTIPO As String = records(RESULT.Columns.Get("CAT_GP_SUBTIPO")) + Dim CAT_GP_IMG() As Byte = records(RESULT.Columns.Get("CAT_GP_IMG")) + Dim CAT_GP_ALMACEN As Int = records(RESULT.Columns.Get("CAT_GP_ALMACEN")) + Dim CAT_GP_DEV As String = records(RESULT.Columns.Get("CAT_GP_DEV")) + Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD")) + Dim CAT_GP_INICIATIVA As Int = records(RESULT.Columns.Get("CAT_GP_INICIATIVA")) + 'CAT_GP_INICIATIVA = 5 + ' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_DEV)) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD_DOE(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_INICIATIVA,CAT_GP_DEV,CAT_GP_CODPROMO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD, CAT_GP_INICIATIVA,CAT_GP_DEV)) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + ' c=skmt.ExecQuery("select CAT_GP_CLASIF, COUNT(*) AS CUANTOS from CAT_GUNAPROD GROUP BY CAT_GP_CLASIF order by CAT_GP_CLASIF asc") + ' c.Position=0 + ' skmt.ExecNonQuery("DELETE FROM COUNT_GUNAPROD") + ' skmt.ExecNonQuery2("INSERT INTO COUNT_GUNAPROD(CAT_GP_CLASIF, CUANTOS) VALUES (?,?)", Array As Object (c.GetString("CAT_GP_CLASIF"), c.GetString("CUANTOS"))) + ' c.Close + 'Listo2=1 + + ' ToastMessageShow("Productos Actualizados." , True) + + End If + End If + + ''' FIN CARGA CATALOGO DOE + ''' INICIO CARGA PEDIDO DOE + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "pedido_doe" Then 'query tag + If logger Then Log("TIEMPO PEDIDO_DOE : " & ((DateTime.Now-inicioContador)/1000)) + S_CP.Text = "CARGANDO" + Starter.skmt.BeginTransaction + For Each records() As Object In RESULT.Rows + Dim HVD_ALMACEN As String = records(RESULT.Columns.Get("HVD_ALMACEN")) + Dim HVD_COSTO_TOT As String = records(RESULT.Columns.Get("HVD_COSTO_TOT")) + Dim HVD_COSTOU As String = records(RESULT.Columns.Get("HVD_COSTOU")) + Dim HVD_CANT As String = records(RESULT.Columns.Get("HVD_CANT")) + Dim HVD_PRONOMBRE As String = records(RESULT.Columns.Get("HVD_PRONOMBRE")) + Dim HVD_PROID As String = records(RESULT.Columns.Get("HVD_PROID")) + Dim HVD_CLIENTE As String = records(RESULT.Columns.Get("HVD_CLIENTE")) + Dim HVD_FECHA As String = records(RESULT.Columns.Get("HVD_FECHA")) + Dim HVD_USUARIO As String = records(RESULT.Columns.Get("HVD_USUARIO")) + Dim HVD_RUTA As String = records(RESULT.Columns.Get("HVD_RUTA")) + + 'CAT_GP_INICIATIVA = 5 + ' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_DEV)) + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO_DOE(PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES (?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (HVD_ALMACEN, HVD_COSTO_TOT, HVD_COSTOU,HVD_CANT, HVD_PRONOMBRE, HVD_PROID, HVD_CLIENTE, HVD_FECHA, HVD_USUARIO,HVD_RUTA, "DOE")) + Next + Starter.skmt.TransactionSuccessful + Starter.skmt.EndTransaction + ' c=skmt.ExecQuery("select CAT_GP_CLASIF, COUNT(*) AS CUANTOS from CAT_GUNAPROD GROUP BY CAT_GP_CLASIF order by CAT_GP_CLASIF asc") + ' c.Position=0 + ' skmt.ExecNonQuery("DELETE FROM COUNT_GUNAPROD") + ' skmt.ExecNonQuery2("INSERT INTO COUNT_GUNAPROD(CAT_GP_CLASIF, CUANTOS) VALUES (?,?)", Array As Object (c.GetString("CAT_GP_CLASIF"), c.GetString("CUANTOS"))) + ' c.Close + 'Listo2=1 + + ' ToastMessageShow("Productos Actualizados." , True) + + End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "prods_rmi" Then 'query tag + If logger Then Log("TIEMPO prods RMI : " & ((DateTime.Now-inicioContador)/1000)) + Starter.skmt.ExecNonQuery("delete from cat_rmi") + For Each records() As Object In RESULT.Rows + Dim CAT_GP_ID As String = records(RESULT.COLUMNS.GET("CAT_GP_ID")) + Dim CAT_GP_NOMBRE As String = records(RESULT.COLUMNS.GET("CAT_GP_NOMBRE")) + Dim CAT_GP_PRECIO As String = records(RESULT.COLUMNS.GET("CAT_GP_PRECIO")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_RMI (CAT_ID, CAT_DESCRIPCION, CAT_MONTO) VALUES (?,?,?)", Array As Object (CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO)) + Next + End If + End If + End If + ''' FIN CARGA PEDIDO DOE + + End If + Job.Release +End Sub + +Private Sub B4XPage_CloseRequest As ResumableSub + ' BACK key pressed + 'Return True to close, False to cancel + If pdfViewerActivo Then + pdfViewerActivo = False + PNL_ACCESO.Visible = True + Panel7.Visible = True + PNL_ACCESO.BringToFront + p_pdfViewer.Visible = False + Else if P_RESUMEN.Visible Then + B_OK_RES_Click + Else + Subs.iniciaActividad("Login") + End If + Return False +End Sub + +Sub Activity_KeyPress (key As Int) As Boolean +' ' BACK key pressed +' If key=KeyCodes.KEYCODE_BACK Then +' If pdfViewerActivo Then +' pdfViewerActivo = False +' PNL_ACCESO.Visible = True +' Panel7.Visible = True +' PNL_ACCESO.BringToFront +' p_pdfViewer.Visible = False +' Else if P_RESUMEN.Visible Then +' B_OK_RES_Click +' Else +' Subs.iniciaActividad("Main") +' End If +' ' I want to capture the key here so I return True +' Return True +' End If +' ' Returning False signals the system to handle the key +' Return False +End Sub + +Sub connecta_Click +' c=skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("RUTA")) +' c.Position =0 +' If c.GetString("CAT_VA_VALOR") = l_ruta.Text Then + If e_ruta.Text = "KMTSKLL1" Then + cargar.Visible = True + Subir.Visible = True + e_ruta.Text = "" + End If +' Aqui el codigo para que solo acepte numeros en la ruta, sin caracteres especiales ' Mod por CHV - 211130 + Dim m As Matcher = Regex.Matcher("\d+", e_ruta.Text) 'Buscamos numeros en el campo de la ruta + If m.Find Then e_ruta.Text = m.Match ' Si tiene numeros, solo nos quedamos con ellos. + If e_ruta.Text.Length > 6 Then e_ruta.Text = e_ruta.Text.SubString2(0,6) ' Si tiene mas de 6 numeros solo tomamos los primeros 6 + If logger Then Log(e_ruta.Text) + c=Starter.skmt.ExecQuery("select usuario from usuarioa") + c.Position = 0 + usuario = c.GetString("USUARIO") + c.Close + connecta1 = connecta1 + 1 + Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_READ_PHONE_STATE) + Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean) + If Result Then + imei = "" 'p.GetDeviceId + End If + conn = "1" + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "select_version_KELL" + reqManager.ExecuteQuery(cmd , 0, "version") + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "select_ruta3_KELL" + cmd.Parameters = Array As Object(ALMACEN, e_ruta.text, usuario) + Log($"******* RUTA: ${ALMACEN}, ${e_ruta.text}, ${usuario}"$) + reqManager.ExecuteQuery(cmd , 0, "ruta") + e_ruta.Enabled = False + If e_ruta.Text = "KMTSKLL1" Then e_ruta.Enabled = True + ToastMessageShow("Validando Conexión." , False) + ruta_valida = e_ruta.Text +' Else +' Msgbox("LA RUTA NO ES CORRECTA","") 'ignore +' End If +End Sub + +Sub BUSCA_Click + Subs.iniciaActividad("TicketsDia") +End Sub + +Sub b_mapa_Click + Subs.iniciaActividad("mapas") +End Sub + +Sub e_ruta_EnterPressed + Private adelanteFinDia As Boolean = True + c=Starter.skmt.ExecQuery("select CAT_VA_VALOR from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'FINDIA_FECHA'") 'Buscamos "FIN DIA" anterior + If c.RowCount > 0 Then + c.Position = 0 + If Not(c.GetString("CAT_VA_VALOR") < Starter.FECHA_HOY) Then 'Si el "FIN DIA" guardado NO es de ayer o anterior ... + adelanteFinDia = False + End If + c.Close + End If + If e_ruta.Text = "FIN DIA" And adelanteFinDia Then + res = Msgbox2("Seguro que desea hacer el cierre? ... todos los datos se borraran","Cierre", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore + If res = DialogResponse.POSITIVE Then + e_ruta.Text = "" + Starter.skmt.ExecNonQuery("delete from pedido_cliente") + Starter.skmt.ExecNonQuery("delete from pedido") + Starter.skmt.ExecNonQuery("delete from noventa") + Starter.skmt.ExecNonQuery("delete from clie_act") + Starter.skmt.ExecNonQuery("delete from kmt_info") + Starter.skmt.ExecNonQuery("delete from cat_gunaprod") + Starter.skmt.ExecNonQuery("delete from cat_rmi") + Starter.skmt.ExecNonQuery("delete from cat_gunaprod2") + Starter.skmt.ExecNonQuery("delete from CAT_DETALLES_PAQ") + Starter.skmt.ExecNonQuery("delete from HIST_VENTAS") + Starter.skmt.ExecNonQuery("delete from HIST_VERIFICACION") + Starter.skmt.ExecNonQuery("delete from TMP_INSPECCION_AUTO_DIARIA") + Starter.skmt.ExecNonQuery("delete from CAT_FOTOS") + Starter.skmt.ExecNonQuery("delete from HIST_GPS") + Starter.skmt.ExecNonQuery("DELETE FROM HIST_ENCUESTA") + Starter.skmt.ExecNonQuery("DELETE FROM HIST_ENVIOS") + Starter.skmt.ExecNonQuery("DELETE FROM CLIENTE_IMPRESO") + Starter.skmt.ExecNonQuery("delete from CAT_PROMO_MONTO") + Starter.skmt.ExecNonQuery("delete from TMP_CAT_BILLETE") + Starter.skmt.ExecNonQuery("delete from TMP_CAT_MONEDAS") + + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENVIOS VALUES (?,0,?)", Array As Object(sTime, "PEDIDO")) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("NUMERO_PEDIDO")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("NUMERO_PEDIDO",0)) + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FINDIA_FECHA")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object("FINDIA_FECHA", Starter.FECHA_HOY)) + If File.Exists(File.DirInternal,"FOTO1.jpg") Then File.Delete(File.DirInternal,"FOTO1.jpg") + If File.Exists(File.DirInternal,"FOTO2.jpg") Then File.Delete(File.DirInternal,"FOTO2.jpg") + If File.Exists(File.DirInternal,"FOTO3.jpg") Then File.Delete(File.DirInternal,"FOTO3.jpg") + If File.Exists(File.DirInternal,"FOTO4.jpg") Then File.Delete(File.DirInternal,"FOTO4.jpg") + B4XPage_Appear + End If + Else if e_ruta.Text = "FIN DIA" Then + Msgbox("Ya se hizo FIN DIA hoy, solo se puede hacer un FIN DIA cada día, por favor comuniquese con un supervisor.", "LIMITE DIARIO SUPERADO") 'ignore + End If + If e_ruta.Text = "SUPLENCIA" Then + E_RUTA2.Visible = True + E_RUTA2.Text = "" + L_SUPLENCIA.Visible = True + Label4.Visible = True + ' ImageView9.Visible = True + End If +End Sub + +Sub inv_Click + img2.Visible =True + EJECUTANDO = 1 + inve = 1 + Starter.skmt.ExecNonQuery("delete from cat_gunaprod") + Starter.skmt.ExecNonQuery("delete from CAT_DETALLES_PAQ") + c=Starter.skmt.ExecQuery("select usuario from usuarioa") + c.Position = 0 + usuario = c.GetString("USUARIO") + + cmd.Initialize + cmd.Name = "select_cat_gunaprod_KELL" + cmd.Parameters = Array As Object(ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "gunaprod") + + cmd.Initialize + cmd.Name = "select_cat_paquetes_KELL" + cmd.Parameters = Array As Object(ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "gunaprodp") + + cmd.Initialize + cmd.Name = "select_cat_detallepa_KELL" + cmd.Parameters = Array As Object(ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "detallepaq") + + cargar.Visible = False + Subir.Visible = False + connecta.Visible = True + inv.Visible = False +' ToastMessageShow("Se Actualizaran los datos. Este proceso podria tardar hasta un minuto, gracias" , True) +End Sub + +Sub t1_tick + cmd.Initialize + cmd.Name = "select_cuantos_pedido_KELL" + cmd.Parameters = Array As Object(ALMACEN,l_ruta.text) + reqManager.ExecuteQuery(cmd , 0, "valida_pedido") + + t3.Initialize("T3", 5000) ' 1000 = 1 second + t3.Enabled = True + Wait For t3_tick +' +' cmd.Initialize +' cmd.Name = "select_cuantos_noventa_KELL" +' cmd.Parameters = Array As Object(ALMACEN,l_ruta.text) +' reqManager.ExecuteQuery(cmd , 0, "valida_noventa") +' +' cmd.Initialize +' cmd.Name = "select_cuantos_pedidoc_KELL" +' cmd.Parameters = Array As Object(ALMACEN,l_ruta.text) +' reqManager.ExecuteQuery(cmd , 0, "valida_pedidoc") +' + If PB2.Progress = 0 Then + S_CP.Text = "ENVIAR DATOS (K-1)" + End If + img2.Visible=False + t1.Enabled = False +End Sub + +Sub B_OK_PAS_Click + If CARGA = "SUBIR" And S_CP.Text = "INFO OK" Then + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL")) + PERFIL = "0" + If c.RowCount > 0 Then + c.Position =0 + PERFIL = c.GetString("CAT_VA_VALOR") + End If + c.Close + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("NUMERO_PEDIDO")) + NUMERO_PEDIDO = "0" + If c.RowCount > 0 Then + c.Position =0 + NUMERO_PEDIDO = c.GetString("CAT_VA_VALOR") + End If + c.Close + If PERFIL = "V-ESPECIAL" Then + Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("NUMERO_PEDIDO")) + Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("NUMERO_PEDIDO",NUMERO_PEDIDO + 1)) + End If + P1.Visible = False + trabajar.Visible = True + B_PROXIMA.Visible =True + NUEVO.Visible =True + BUSCA.Visible=True + connecta.Visible=True + Resumen.Visible= True + img2.Visible=False + P1.SendToBack + Else If CARGA = "SUBIR" And S_CP.Text = "ERROR" Then + Msgbox("Tiene que subir de nuevo la información","Atención") 'ignore + P1.Visible = False + trabajar.Visible = True + NUEVO.Visible =True + BUSCA.Visible=True + connecta.Visible=True + Resumen.Visible= True + img2.Visible=False + P1.SendToBack + Else if CARGA = "SUBIR" And S_CP.Text <> "INFO OK" Then + res = Msgbox2("Seguro que desea abortar el proceso","Cierre", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore + If res = DialogResponse.POSITIVE Then + P1.Visible = False + trabajar.Visible = True + B_PROXIMA.Visible =True + NUEVO.Visible =True + BUSCA.Visible=True + connecta.Visible=True + Resumen.Visible= True + img2.Visible=False +' ExitApplication + P1.SendToBack + End If + End If + If CARGA = "CARGAR" And S_CP.Text = "LISTO" And S_CC.Text = "LISTO" And S_CH.Text = "LISTO" Then + c=Starter.skmt.ExecQuery("select COUNT(DISTINCT(PE_CLIENTE)) AS CLIENTES from PEDIDO_DOE ") + c.Position = 0 + If c.GetString("CLIENTES") > 0 Then Msgbox("AVISO TIENES "& c.GetString("CLIENTES") & " PEDIDOS DON TOÑO PARA ENTREGAR"," PEDIDOS DON TOÑO") + c.Close + P1.Visible = False + trabajar.Visible = True + B_PROXIMA.Visible =True + NUEVO.Visible =True + BUSCA.Visible=True + connecta.Visible=True + Resumen.Visible= True + img2.Visible=False + P1.SendToBack + Else if CARGA = "CARGAR" And (S_CP.Text <> "LISTO" Or S_CC.Text <> "LISTO" Or S_CH.Text <> "LISTO") Then + res = Msgbox2("Seguro que desea abortar el proceso","Cierre", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore + If res = DialogResponse.POSITIVE Then + P1.Visible = False + trabajar.Visible = True + B_PROXIMA.Visible =True + NUEVO.Visible =True + BUSCA.Visible=True + connecta.Visible=True + Resumen.Visible= True + img2.Visible=False + Starter.skmt.ExecNonQuery("delete from kmt_info") + If logger Then Log("Borramos KMT_INFO") + Starter.skmt.ExecNonQuery("delete from cod_result") + Starter.skmt.ExecNonQuery("delete from hist_gest") + Starter.skmt.ExecNonQuery("delete from cat_gunaprod") + Starter.skmt.ExecNonQuery("delete from CAT_DETALLES_PAQ") + Starter.skmt.ExecNonQuery("delete from telefonos") + Starter.skmt.ExecNonQuery("delete from HIST_VENTAS") + Starter.skmt.ExecNonQuery("delete from HIST_PROMOS") + Starter.skmt.ExecNonQuery("delete from HIST_CLIENTE_CANT_PROMOS") + Starter.skmt.ExecNonQuery("delete from PROMOS_COMP") + Starter.skmt.ExecNonQuery("delete from CAT_VERIFICACION") + Starter.skmt.ExecNonQuery("delete from HIST_CUOTAS") + P1.SendToBack + ExitApplication + End If + End If +' P1.SendToBack 'Mod por CHV - 211213 - Se movio el sendToBack a los diferentes if/then porque no en todos los casos hay que ocultar el panel (Por ejemplo cuando se selecciona "No Abortar") +End Sub + +Sub NUEVO_Click + If l_ruta.Text = 0 Then + Msgbox("No se ha cargado ruta","Alerta") 'ignore + Else + Subs.iniciaActividad("nuevocliente") + End If +End Sub + +Sub B_OK_RES_Click + trabajar.Visible = True + B_PROXIMA.Visible =True + NUEVO.Visible =True + BUSCA.Visible=True + connecta.Visible=True + Resumen.Visible= True + P_RESUMEN.Visible=False +End Sub + +Sub Resumen_Click + P_RESUMEN.Visible = True + P_RESUMEN.BringToFront + trabajar.Visible = False + B_PROXIMA.Visible =False + NUEVO.Visible =False + BUSCA.Visible=False + connecta.Visible=False + Subir.Visible=False + cargar.Visible=False + Resumen.Visible= False + DateTime.DateFormat = "MM/dd/yyyy" + fecha=DateTime.Date(DateTime.Now) + Starter.skmt.ExecNonQuery2("update PEDIDO set PE_TIPO = ? where PE_CLIENTE =?", Array As Object("ABORDO", "0")) + b=Starter.skmt.ExecQuery("Select count(*) as CUANTOS from pedido_cliente where pc_cliente <> 0") + b.Position=0 + Cuantos = b.GetString("CUANTOS") +' ToastMessageShow(Cuantos , True) + d=Starter.skmt.ExecQuery2("select count(*) as TOTAL_VISITAR from kmt_info where gestion = 0 and cat_cl_codigo <> 0 AND CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?)", Array As String("DIA_VISITA")) + D.Position=0 + b.Close + e=Starter.skmt.ExecQuery2("select count(*) as POR_VISITAR from kmt_info where cat_cl_codigo <> 0 and CAT_CL_DIAS_VISITA = (SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?) ", Array As String("DIA_VISITA")) + e.Position=0 + f=Starter.skmt.ExecQuery("select count(*) as CAT_CL_RUTA from kmt_info where cat_cl_codigo <> 0") + f.Position=0 + l_ruta.Text = f.GetString("CAT_CL_RUTA") + f.Close + If l_ruta.Text = 0 Then + l_ruta.Text =0 + Else + f=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info") + f.Position=0 + l_ruta.Text = f.GetString("CAT_CL_RUTA") + f.Close + End If + If Cuantos = 0 Then + L_MONTOD.Text =0 + l_cuantosc.Text = 0 + l_cuantosn.Text = 0 + drop = 0 + l_drop.Text = 0 + efectiva = 0 + l_efectiva.text =0 + l_ctast.Text = d.GetString("TOTAL_VISITAR") + 'l_porvisitar.Text = e.GetString("POR_VISITAR") + d.Close + e.Close + l_monto_kp.Text = "0" + l_monto_k.Text = "0" + l_monto_ks.Text = "0" + Else + c=Starter.skmt.ExecQuery2("select sum(pe_cant) as CAMBIOS from pedido where substr(pe_pronombre,1,6) = ?", Array As String("CAMBIO")) + c.Position = 0 + l_cambios.Text = c.GetString("CAMBIOS") + c.Close + c=Starter.skmt.ExecQuery2("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_CLIENTE <> 0 and pe_proid in (Select CAT_GP_ID from cat_gunaprod2 where CAT_GP_TIPO = ? )", Array As String("RTEC")) + c.Position = 0 + l_monto_k.Text = c.GetString("MONTO_DIA") + If l_monto_k.Text = "null" Then + l_monto_k.Text = "0" + End If + c.Close + c=Starter.skmt.ExecQuery2("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_CLIENTE <> 0 and pe_proid in (Select CAT_GP_ID from cat_gunaprod2 where CAT_GP_TIPO = ? )", Array As String("PING")) + c.Position = 0 + l_monto_kp.Text = c.GetString("MONTO_DIA") + If l_monto_kp.Text = "null" Then + l_monto_kp.Text = "0" + End If + c.Close + c=Starter.skmt.ExecQuery2("Select sum(PE_COSTO_TOT) As MONTO_DIA from pedido where PE_CLIENTE <> 0 and pe_proid in (Select CAT_GP_ID from cat_gunaprod2 where CAT_GP_TIPO = ? )", Array As String("SALTY SNACKS")) + c.Position = 0 + l_monto_ks.Text = c.GetString("MONTO_DIA") + If l_monto_ks.Text = "null" Then + l_monto_ks.Text = "0" + End If + c.Close + DDD=Starter.skmt.ExecQuery("Select COUNT(*) AS CUANTOS from HIST_CUOTAS ") + DDD.Position = 0 + If DDD.GetString("CUANTOS") > 0 Then + c=Starter.skmt.ExecQuery("Select HC_CUOTA1,HC_CUOTA2,HC_CUOTA3 from HIST_CUOTAS ") + c.Position = 0 + l_monto_c1.Text = Round( c.GetString("HC_CUOTA1") / 6) + l_monto_c2.Text = Round(c.GetString("HC_CUOTA2") / 6) + l_monto_c3.Text = Round(c.GetString("HC_CUOTA3") / 6) + c.Close + Else + l_monto_c1.Text = 2000 + l_monto_c2.Text = 2000 + l_monto_c3.Text = 2000 + End If + DDD.Close + c=Starter.skmt.ExecQuery("select sum(pc_monto) as MONTO_DIA, count(pc_cliente) AS CLIENTES_DIA from pedido_cliente where pc_cliente <> 0") + b=Starter.skmt.ExecQuery("select count(*) as CUANTOS from noventa") + 'where pc_fecha = ?", Array As String(fecha) + C.Position=0 + b.Position=0 + L_MONTOD.Text = c.GetString("MONTO_DIA") + l_cuantosc.Text = c.GetString("CLIENTES_DIA") + l_cuantosn.Text = b.GetString("CUANTOS") + efectiva = c.GetString("CLIENTES_DIA") / e.GetString("POR_VISITAR") + l_efectiva.text = Round2(efectiva*100,2) + l_ctast.Text = d.GetString("TOTAL_VISITAR") + 'l_porvisitar.Text = e.GetString("POR_VISITAR") + L_CUANTOST.Text = l_cuantosc.Text + l_cuantosn.Text + drop = (c.GetString("CLIENTES_DIA") + b.GetString("CUANTOS"))/ d.GetString("TOTAL_VISITAR") + l_drop.Text = Round(drop * 100) + If l_drop.Text + l_efectiva.Text < 100 Then + ImageView3.Bitmap = LoadBitmap(File.DirAssets, "tache_rojo.png") + Else If l_drop.Text + l_efectiva.Text > = 100 And l_drop.Text + l_efectiva.Text < 130 Then + ImageView3.bitmap = LoadBitmap(File.DirAssets, "alerta_amarilla.png") + Else + ImageView3.Bitmap = LoadBitmap(File.DirAssets, "palomita_verde.png") + End If + L_TICKPROM.Text = Round2((c.GetString("MONTO_DIA") / c.GetString("CLIENTES_DIA")),2) + If c.GetString("MONTO_DIA") < 2500 Then + ImageView5.Bitmap = LoadBitmap(File.DirAssets, "tache_rojo.png") + Else if c.GetString("MONTO_DIA") > = 2500 And c.GetString("MONTO_DIA") < 4000 Then + ImageView5.bitmap = LoadBitmap(File.DirAssets, "alerta_amarilla.png") + Else + ImageView5.Bitmap = LoadBitmap(File.DirAssets, "palomita_verde.png") + End If + c.Close + b.Close + End If + b=Starter.skmt.ExecQuery("Select count(*) as CUANTOS from pedido where pe_cliente = 0") + b.Position=0 + Cuantos = b.GetString("CUANTOS") + If Cuantos > 0 Then + c=Starter.skmt.ExecQuery("Select sum(PE_COSTO_TOT) AS TOTAL from pedido where pe_cliente = 0") + c.Position = 0 + L_ABORDO.Text = c.GetString("TOTAL") + c.Close + End If +End Sub + +Sub B_PROXIMA_Click + Starter.skmt.ExecNonQuery("delete from CUENTAA") + Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object("0")) + Starter.tipov = "ABORDO" + B4XPages.ShowPage("Productos") +End Sub + +Sub Printer_Connected (Success As Boolean) + If Success Then + B_IMP.Enabled = True + PASA_IMP = "1" + Else + B_IMP.Enabled = False + If Msgbox2("", "Printer Error","Reprint","Cancel","",Null) = DialogResponse.POSITIVE Then 'ignore + StartPrinter + End If + End If +End Sub + +Sub StartPrinter + Dim PairedDevices As Map + Dim L As List + Dim resimp As Int + ToastMessageShow("Printing.....",True) + PairedDevices.Initialize + Try + PairedDevices = cmp20.GetPairedDevices + Catch + Msgbox("Getting Paired Devices","Printer Error") 'ignore + printer.Close + cmp20.Disconnect + End Try + If PairedDevices.Size = 0 Then + Msgbox("Error Connecting to Printer - Printer Not Found","") 'ignore + Return + End If + If PairedDevices.Size = 1 Then + Try + cmp20.ConnectInsecure(Starter.btAdmin,PairedDevices.Get(PairedDevices.GetKeyAt(0)),1) + Catch + Msgbox("Connecting","Printer Error") 'ignore + printer.Close + cmp20.Disconnect + End Try + Else + L.Initialize + For i = 0 To PairedDevices.Size - 1 + L.Add(PairedDevices.GetKeyAt(i)) + Next + resimp = InputList(L, "Choose device", -1) 'ignore + If resimp <> DialogResponse.CANCEL Then + cmp20.Connect(PairedDevices.Get(L.Get(resimp))) + End If + End If +End Sub + +' BOLETA +Sub B_BOLETA_Click + GetResult +End Sub + +Sub GetResult + Starter.boleta = 1 + B4XPages.MainPage.cliente.muestraBoleta = True + B4XPages.MainPage.cliente.LLAMA_BOLETA + Subs.iniciaActividad("cliente") +' CallSubDelayed(B4XPages.GetPage("Cliente"), "LLAMA_BOLETA") +End Sub + +Sub B_MAPA_RUTA_Click + Subs.iniciaActividad2("MAPA_RUTAS") +End Sub + +Sub b_cuotas_Click + DDD=Starter.skmt.ExecQuery("Select COUNT(*) AS CUANTOS from HIST_CUOTAS ") + DDD.Position = 0 + If DDD.GetString("CUANTOS") > 0 Then + c=Starter.skmt.ExecQuery("Select HC_CUOTA1,HC_CUOTA2,HC_CUOTA3,HC_CUOTA4,HC_CUOTA5,HC_CUOTA6,HC_META1,HC_META2,HC_META3,HC_META4,HC_META5,HC_META6 from HIST_CUOTAS ") + c.Position= 0 + L_CUOTA1.TEXT = c.GetString("HC_CUOTA1") + L_CUOTA2.TEXT = c.GetString("HC_CUOTA2") + L_CUOTA3.TEXT = c.GetString("HC_CUOTA3") + L_CUOTA4.TEXT = c.GetString("HC_CUOTA4") + L_CUOTA5.TEXT = c.GetString("HC_CUOTA5") + L_CUOTA6.TEXT = c.GetString("HC_CUOTA6") + L_META1.Text = c.GetString("HC_META1") + L_META2.Text = c.GetString("HC_META2") + L_META3.Text = c.GetString("HC_META3") + L_META4.Text = c.GetString("HC_META4") + L_META5.Text = c.GetString("HC_META5") + L_META6.Text = c.GetString("HC_META6") + If L_MONTOD.Text > 0 Then + L_META1.Text= $"$1.2{(l_monto_k.Text + L_META1.Text)}"$ 'l_monto_k.Text + L_META1.Text + L_META2.Text= $"$1.2{(l_monto_kp.Text + L_META2.Text)}"$ + L_META3.Text= $"$1.2{(l_monto_ks.Text + L_META3.Text)}"$ 'l_monto_ks.Text + L_META3.Text + L_META4.Text= $"$1.2{(l_monto_k.Text + L_META4.Text)}"$ ' l_monto_k.Text + L_META4.Text + L_META5.Text= $"$1.2{(l_monto_kp.Text + L_META5.Text)}"$ 'l_monto_kp.Text + L_META5.Text + L_META6.Text= $"$1.2{(l_monto_ks.Text + L_META6.Text)}"$ 'l_monto_ks.Text + L_META6.Text + End If + Else + L_CUOTA1.TEXT = 0 + L_CUOTA2.TEXT = 0 + L_CUOTA3.TEXT = 0 + L_CUOTA4.TEXT = 0 + L_CUOTA5.TEXT = 0 + L_CUOTA6.TEXT = 0 + L_META1.Text = 0 + L_META2.Text = 0 + L_META3.Text = 0 + L_META4.Text = 0 + L_META5.Text = 0 + L_META6.Text = 0 + End If + DDD.Close + Panel5.BringToFront + Panel5.Visible = True + Panel2.Visible = False + Panel1.Visible = False +End Sub + +Sub B_CUOATA_C_Click + Panel5.Visible = False + Panel2.Visible = True + Panel1.Visible = True +End Sub + +Sub Btn_CheckList_Click + If logger Then Log("Cambiamos a CHECKLIST_AUTO") + B4XPages.ShowPage("CheckList") +' Activity.Finish +End Sub + +Sub Btn_CheckList_LongClick +' Dim x As Int = "a" +' StartActivity(errorManager) +End Sub + +Sub SUBIR_INFO_PEDIDO + P1.Width = GetDeviceLayoutValues.Width + P1.Height = GetDeviceLayoutValues.Height + Subs.panelVisible(P1, 0, 0) + c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL")) + c.Position =0 + PERFIL = c.GetString("CUANTOS") + c.Close + If PERFIL > 0 Then + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL")) + c.Position =0 + PERFIL = c.GetString("CAT_VA_VALOR") + c.Close + End If + c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("NUMERO_PEDIDO")) + c.Position =0 + Cuantos = c.GetString("CUANTOS") + c.Close + If Cuantos > 0 Then + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("NUMERO_PEDIDO")) + c.Position =0 + NUMERO_PEDIDO = c.GetString("CAT_VA_VALOR") + c.Close + End If + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)") + c=Starter.skmt.ExecQuery("select usuario from usuarioa") + c.Position = 0 + usuario = c.GetString("USUARIO") + c.Close + ' DROP + b=Starter.skmt.ExecQuery("Select count(*) as CUANTOS from pedido where pe_cliente = 0") + b.Position=0 + Cuantos = b.GetString("CUANTOS") + If Cuantos > 0 Then + c=Starter.skmt.ExecQuery("Select sum(PE_COSTO_TOT) AS TOTAL from pedido where pe_cliente = 0") + c.Position = 0 + L_ABORDO.Text = c.GetDouble("TOTAL") + c.Close + End If + Dim PEDIDO_TOT As String + b=Starter.skmt.ExecQuery("Select count(*) as CUANTOS from pedido where pe_cliente <> 0") + b.Position=0 + Cuantos = b.GetString("CUANTOS") + If Cuantos > 0 Then + c=Starter.skmt.ExecQuery("Select sum(PE_COSTO_TOT) AS TOTAL from pedido where pe_cliente <> 0") + c.Position = 0 + PEDIDO_TOT = c.GetDouble("TOTAL") + c.Close + End If + d=Starter.skmt.ExecQuery("SELECT SUM(PE_COSTO_TOT) as MONTO FROM PEDIDO") + d.Position = 0 + Private monto1 As String = "0" + If d.GetString("MONTO") <> Null And d.GetString("MONTO") <> "" Then monto1 = d.GetString("MONTO") + Private abordo1 As String = L_ABORDO.Text + If abordo1 = "" Then abordo1 = "0" + Log($"${monto1}, ${abordo1}"$) + monto1 = monto1 - abordo1 + Dim cmd As DBCommand + cmd.Initialize + cmd.Name ="insert_drop2_KELL" + cmd.Parameters = Array As Object(usuario, l_ruta.Text, fecha, l_porvisitar.Text, l_drop.Text, l_efectiva.Text, l_cuantosc.Text, l_cuantosn.Text, monto1, "ENVIO", ALMACEN, abordo1) + reqManager.ExecuteCommand(cmd , "inst_noventa_ins_drop_kell") + img2.Visible =True + contador_env = contador_env + 1 + S_CP.Text = "Envio Cabecera" + PB2.Progress = 100 + t3.Initialize("T3", 500) ' 1000 = 1 second + t3.Enabled = True + Wait For t3_tick + Dim cmd As DBCommand + cmd.Initialize + cmd.Name ="UPDATE_INFO_E_KELL" + cmd.Parameters = Array As Object(PEDIDO_TOT, L_ABORDO.Text, d.GetDouble("MONTO"),l_ruta.TEXT, ALMACEN) + reqManager.ExecuteCommand(cmd , "inst_noventa_Upd_Info_e_Kell") + contador_env = contador_env + 1 + +' ENCUESTA + c=Starter.skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO FROM HIST_ENCUESTA") + S_CP.Text = "Envio Encuesta" + PB2.Progress = 1 + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_encuesta_KELL" + cmd.Parameters = Array As Object(C.GetString("HE_CLIE"),C.GetString("HE_RES"),C.GetString("HE_FECHA"), c.GetString("HE_TIPO"),l_ruta.Text ) + If logger Then Log($"${C.GetString("HE_CLIE")},${C.GetString("HE_RES")},${C.GetString("HE_FECHA")}, ${c.GetString("HE_TIPO")},${l_ruta.Text}"$) + reqManager.ExecuteCommand(cmd , "inst_noventa_ins_enc_kell_"&i) + PB2.Progress = PB2.Progress + 1 + contador_env = contador_env + 1 + Next + PB2.Progress = 100 + End If + c.Close + c=Starter.skmt.ExecQuery("Select HF_FOTO, HF_CUENTA, HF_IDENCUESTA from HIST_FOTOS") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_encuesta_foto_KELLS" + cmd.Parameters = Array As Object(C.GetBLOB("HF_FOTO"),C.GetString("HF_CUENTA"),C.GetString("HF_IDENCUESTA"),l_ruta.Text, ALMACEN, usuario ) + reqManager.ExecuteCommand(cmd , "inst_noventa_ins_enc_foto_kell") + PB2.Progress = PB2.Progress + 1 + contador_env = contador_env + 1 + Next + End If + c.Close + t3.Initialize("T3", 500) ' 1000 = 1 second + t3.Enabled = True + Wait For t3_tick + 'clientes nuevos + c=Starter.skmt.ExecQuery2("SELECT CAT_CL_CODIGO, CAT_CL_NOMBRE FROM kmt_info where CAT_CL_ATIENDE1 = ?", Array As String("new")) + S_CP.Text = "Envio C/Nuevos" + PB2.Progress = 1 + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_clie_new_KELL" + cmd.Parameters = Array As Object(C.GetString("CAT_CL_CODIGO"),C.GetString("CAT_CL_NOMBRE"),l_ruta.Text,ALMACEN ) + reqManager.ExecuteCommand(cmd , "inst_noventa_ins_clie_new_kell") + PB2.Progress = PB2.Progress + 1 + contador_env = contador_env + 1 + Next + End If + c.Close + t3.Initialize("T3", 500) ' 1000 = 1 second + t3.Enabled = True + Wait For t3_tick + S_CP.Text = "Envio C/Pedidos" + PB2.Progress = 1 + ' PEDIO_CLIENTE + c=Starter.skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN FROM PEDIDO_CLIENTE ") + d=Starter.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedidos_KELL" + cmd.Parameters = Array As Object(C.GetString("PC_CLIENTE"),C.GetString("PC_FECHA"),C.GetString("PC_USER"),C.GetString("PC_NOART"),C.GetString("PC_MONTO"),C.GetString("PC_LON"),C.GetString("PC_LAT"),ALMACEN,l_ruta.text,C.GetString("PC_COSTO_SIN") ) + reqManager.ExecuteCommand(cmd , "ins_pedidos") + PB2.Progress = PB2.Progress + 1 + contador_env = contador_env + 1 + Next + c.Close + End If + d.Position=0 + cuantos_pedidosc = D.GetString("CUANTOS_PEDIDOSC") + PB2.Progress = 100 + d.Close + ENVIADA = 0 + PORENVIAR = 0 +' Msgbox(ENVIADA & " " & PORENVIAR, "A") 'ignore + c=Starter.skmt.ExecQuery2("SELECT COUNT(*) as CANTIDAD FROM HIST_ENVIOS WHERE HE_TIPO = ?",Array As String("ABORDO") ) + c.Position = 0 + If c.GetString("CANTIDAD") > 0 Then + Log($"pe_cedis_0"$) + Starter.skmt.ExecNonQuery2("update PEDIDO set PE_CEDIS = ? where PE_CLIENTE =? AND PE_FOLIO IS NULL ", Array As Object("RECARGA", "0")) + End If + Starter.skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = rowid where PE_FOLIO = 0 or PE_FOLIO = 1") + If PERFIL = "V-ESPECIAL" Then + Log($"pe_cedis_1"$) + c=Starter.skmt.ExecQuery("SELECT PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO, PE_TIPO FROM PEDIDO ORDER BY PE_CLIENTE") + d=Starter.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") + If c.RowCount>0 Then + For i=0 To c.RowCount - 1 + c.Position = i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_esp_KELL" + Log($"pe_cedis_2"$) + cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),ALMACEN,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"), c.GetString("PE_TIPO"),NUMERO_PEDIDO ) + reqManager.ExecuteCommand(cmd , "ins_pedido") + contador_env = contador_env + 1 + Next + c.Close + End If + Else + Log($"pe_cedis_3"$) + c=Starter.skmt.ExecQuery("SELECT PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO, PE_TIPO FROM PEDIDO") + d=Starter.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") + TIEMPO = 0 + t3.Initialize("T3", 500) ' 1000 = 1 second + t3.Enabled = True + Wait For t3_tick + S_CP.Text = "Envio de Pedidos" + PB2.Progress = 1 + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_pedido_KELL" + If logger Then Log($"pe_cedis_4"$) + cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),ALMACEN,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"), c.GetString("PE_TIPO")) + reqManager.ExecuteCommand(cmd , "ins_pedido") + contador_env = contador_env + 1 + TIEMPO = TIEMPO + 1 + PB2.Progress = PB2.Progress + 1 + If TIEMPO > 20 Then + ' Msgbox("M","A") 'ignore + If L_P_2.Text = "Envio de Pedidos" Then + L_P_2.Text = "Envio de Pedidos --" + else if L_P_2.Text = "Envio de Pedidos --" Then + L_P_2.Text = "Envio de Pedidos \" + else if L_P_2.Text = "Envio de Pedidos \" Then + L_P_2.Text = "Envio de Pedidos |" + else if L_P_2.Text = "Envio de Pedidos |" Then + L_P_2.Text = "Envio de Pedidos /" + else if L_P_2.Text = "Envio de Pedidos /" Then + L_P_2.Text = "Envio de Pedidos --" + End If + t3.Initialize("T3", 2000) ' 1000 = 1 second + t3.Enabled = True + Wait For t3_tick + TIEMPO = 0 + End If + Next + c.Close + End If + End If + d.Position=0 + cuantos_pedido = D.GetString("CUANTOS_PEDIDO") + PB2.Progress = 100 + d.Close + + ' NOVENTA + c=Starter.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON FROM NOVENTA") + D=Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA") + t3.Initialize("T3", 500) ' 1000 = 1 second + t3.Enabled = True + Wait For t3_tick + S_CP.Text = "Envio No Venta" + PB2.Progress = 1 + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_noventa_KELL" + cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), ALMACEN, l_ruta.Text) + reqManager.ExecuteCommand(cmd , "inst_noventa_ins_noventa_kell") + PB2.Progress = PB2.Progress + 1 + contador_env = contador_env + 1 + Next + c.Close + End If + d.Position=0 + cuantos_noventa = D.GetString("CUANTOS_NOVENTA") + PB2.Progress = 100 + d.Close + ' CHECK LIST VALIDAR + 'Msgbox("antesde de mandar","") 'ignore + c=Starter.skmt.ExecQuery("SELECT " & Chr(34) & "TMP_AUTO_RUTA " & Chr(34) & " as TMP_AUTO_RUTA," & Chr(34) & "TMP_AUTO_PLACA" & Chr(34) & " as TMP_AUTO_PLACA," & Chr(34) & "TMP_AUTO_CEDIS " & Chr(34) & " as TMP_AUTO_CEDIS," & Chr(34) & "TMP_AUTO_IDALMACEN" & Chr(34) & " as TMP_AUTO_IDALMACEN," & Chr(34) & "TMP_AUTO_FECHA " & Chr(34) & " as TMP_AUTO_FECHA," & Chr(34) & "TMP_AUTO_KILOMETRAJE" & Chr(34) & " as TMP_AUTO_KILOMETRAJE," & Chr(34) & "TMP_AUTO_COMBUSTIBLE" & Chr(34) & " as TMP_AUTO_COMBUSTIBLE," & Chr(34) & "TMP_AUTO_TABLERO " & Chr(34) & " as TMP_AUTO_TABLERO," & Chr(34) & "TMP_AUTO_CLAXON " & Chr(34) & " as TMP_AUTO_CLAXON," & Chr(34) & "TMP_AUTO_PARABRISAS " & Chr(34) & " as TMP_AUTO_PARABRISAS," & Chr(34) & "TMP_AUTO_CINTURON " & Chr(34) & " as TMP_AUTO_CINTURON," & Chr(34) & "TMP_AUTO_ESPEJOS " & Chr(34) & " as TMP_AUTO_ESPEJOS," & Chr(34) & "TMP_AUTO_LICENCIA " & Chr(34) & " as TMP_AUTO_LICENCIA," & Chr(34) & "TMP_AUTO_LIB_OBJETOSINE " & Chr(34) & " as TMP_AUTO_LIB_OBJETOSINE," & Chr(34) & "TMP_AUTO_LIB_OBJETOTMPERVI " & Chr(34) & " as TMP_AUTO_LIB_OBJETOTMPERVI," & Chr(34) & "TMP_AUTO_ORDEN_HERRA " & Chr(34) & " as TMP_AUTO_ORDEN_HERRA," & Chr(34) & "TMP_AUTO_UNILIMPIA " & Chr(34) & " as TMP_AUTO_UNILIMPIA," & Chr(34) & "TMP_AUTO_LIMPIO " & Chr(34) & " as TMP_AUTO_LIMPIO," & Chr(34) & "TMP_AUTO_BASURA " & Chr(34) & " as TMP_AUTO_BASURA," & Chr(34) & "TMP_AUTO_RESPONSABILIDAD " & Chr(34) & " as TMP_AUTO_RESPONSABILIDAD," & Chr(34) & "TMP_AUTO_AUDITORIA " & Chr(34) & " as TMP_AUTO_AUDITORIA," & Chr(34) & "TMP_AUTO_HABITUAL " & Chr(34) & " as TMP_AUTO_HABITUAL," & Chr(34) & "TMP_AUTO_HERRAMIENTAS " & Chr(34) & " as TMP_AUTO_HERRAMIENTAS," & Chr(34) & "TMP_AUTO_CONOS " & Chr(34) & " as TMP_AUTO_CONOS," & Chr(34) & "TMP_AUTO_EDO_CARROCERIA " & Chr(34) & " as TMP_AUTO_EDO_CARROCERIA," & Chr(34) & "TMP_AUTO_FUN_LUCES " & Chr(34) & " as TMP_AUTO_FUN_LUCES," & Chr(34) & "TMP_AUTO_PLACAS_CIRCU " & Chr(34) & " as TMP_AUTO_PLACAS_CIRCU," & Chr(34) & "TMP_AUTO_COND_LLANTAS " & Chr(34) & " as TMP_AUTO_COND_LLANTAS," & Chr(34) & "TMP_AUTO_ACEITEMOTOR " & Chr(34) & " as TMP_AUTO_ACEITEMOTOR," & Chr(34) & "TMP_AUTO_ACEITEDIREC " & Chr(34) & " as TMP_AUTO_ACEITEDIREC," & Chr(34) & "TMP_AUTO_NVL_REFRIGERANTE " & Chr(34) & " as TMP_AUTO_NVL_REFRIGERANTE," & Chr(34) & "TMP_AUTO_NVL_LIQUIDBRISAS " & Chr(34) & " as TMP_AUTO_NVL_LIQUIDBRISAS," & Chr(34) & "TMP_AUTO_COND_BANMOTOR " & Chr(34) & " as TMP_AUTO_COND_BANMOTOR," & Chr(34) & "TMP_AUTO_FUGASGRAL " & Chr(34) & " as TMP_AUTO_FUGASGRAL," & Chr(34) & "TMP_AUTO_FRENOS " & Chr(34) & " as TMP_AUTO_FRENOS," & Chr(34) & "TMP_AUTO_COMENTARIOS " & Chr(34) & " as TMP_AUTO_COMENTARIOS FROM TMP_INSPECCION_AUTO_DIARIA") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + If File.Exists(File.DirInternal,"FOTO1.jpg") And File.Exists(File.DirInternal,"FOTO2.jpg") And _ + File.Exists(File.DirInternal,"FOTO3.jpg") And File.Exists(File.DirInternal,"FOTO4.jpg") Then + foto1 = Bit.InputStreamToBytes(File.OpenInput(File.DirInternal,"FOTO1.jpg")) + foto2 = Bit.InputStreamToBytes(File.OpenInput(File.DirInternal,"FOTO2.jpg")) + foto3 = Bit.InputStreamToBytes(File.OpenInput(File.DirInternal,"FOTO3.jpg")) + foto4 = Bit.InputStreamToBytes(File.OpenInput(File.DirInternal,"FOTO4.jpg")) + Else +' Msgbox("No estan completas las fotos.", "FOTOS INCOMPLETAS") 'ignore + ToastMessageShow("FOTOS INCOMPLETAS!!", True) + End If + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "INSERT_TMP_INSPECCION_AUTO_DIARIA" + cmd.Parameters = Array As Object(C.GetString("TMP_AUTO_RUTA"),C.GetString("TMP_AUTO_PLACA"),C.GetString("TMP_AUTO_CEDIS"),C.GetString("TMP_AUTO_IDALMACEN"),C.GetString("TMP_AUTO_FECHA"),C.GetString("TMP_AUTO_KILOMETRAJE"),C.GetString("TMP_AUTO_COMBUSTIBLE"),C.GetString("TMP_AUTO_TABLERO"),C.GetString("TMP_AUTO_CLAXON"),C.GetString("TMP_AUTO_PARABRISAS"),C.GetString("TMP_AUTO_CINTURON"),C.GetString("TMP_AUTO_ESPEJOS"),C.GetString("TMP_AUTO_LICENCIA"),C.GetString("TMP_AUTO_LIB_OBJETOSINE"),C.GetString("TMP_AUTO_LIB_OBJETOTMPERVI"),C.GetString("TMP_AUTO_ORDEN_HERRA"),C.GetString("TMP_AUTO_UNILIMPIA"),C.GetString("TMP_AUTO_LIMPIO"),C.GetString("TMP_AUTO_BASURA"),C.GetString("TMP_AUTO_RESPONSABILIDAD"),C.GetString("TMP_AUTO_AUDITORIA"),C.GetString("TMP_AUTO_HABITUAL"),C.GetString("TMP_AUTO_HERRAMIENTAS"),C.GetString("TMP_AUTO_CONOS"),C.GetString("TMP_AUTO_EDO_CARROCERIA"),C.GetString("TMP_AUTO_FUN_LUCES"),C.GetString("TMP_AUTO_PLACAS_CIRCU"),C.GetString("TMP_AUTO_COND_LLANTAS"),C.GetString("TMP_AUTO_ACEITEMOTOR"),C.GetString("TMP_AUTO_ACEITEDIREC"),C.GetString("TMP_AUTO_NVL_REFRIGERANTE"),C.GetString("TMP_AUTO_NVL_LIQUIDBRISAS"),C.GetString("TMP_AUTO_COND_BANMOTOR"),C.GetString("TMP_AUTO_FUGASGRAL"),C.GetString("TMP_AUTO_FRENOS"),C.GetString("TMP_AUTO_COMENTARIOS"), foto1, foto2, foto3, foto4) + reqManager.ExecuteCommand(cmd , "inst_noventa_ins_tmp_insp_auto") + contador_env = contador_env + 1 + Next + c.Close + End If + t1.Initialize("T1", 20000) ' 1000 = 1 second + t1.Enabled = True + PORCENTAJE = Round(100/ (cuantos_noventa + cuantos_pedido + cuantos_pedidosc + 1)) + PORCENTAJE = 1 + + DateTime.TimeFormat = "HHmm" + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery2("SELECT HE_CUANTOS, HE_FECHA FROM HIST_ENVIOS WHERE HE_TIPO = ?", Array As String("PEDIDO")) + c.Position = 0 + Starter.skmt.ExecNonQuery2("UPDATE HIST_ENVIOS SET HE_FECHA = ?, HE_CUANTOS = ? WHERE HE_TIPO = ?", Array As Object(sTime,c.GetString("HE_CUANTOS") + 1, "PEDIDO")) + c.Close + c=Starter.skmt.ExecQuery("SELECT COUNT(*) as CANTIDAD FROM PEDIDO WHERE PE_CLIENTE = 0 ") + c.Position = 0 + PORENVIAR = c.GetString("CANTIDAD") + If PORENVIAR > 0 Then + Starter.skmt.ExecNonQuery2("delete from HIST_ENVIOS where HE_TIPO = ?", Array As Object ("ABORDO")) + Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENVIOS VALUES (?,1,?)", Array As Object(sTime, "ABORDO")) + End If +' ToastMessageShow("Se Actualizaran los datos. Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True) + S_CP.Text = "SUBIENDO" + DateTime.TimeFormat = "HH:mm:ss" +End Sub + +Sub SUBIR_INFO_BOLETA + P1.Width = GetDeviceLayoutValues.Width + P1.Height = GetDeviceLayoutValues.Height + Subs.panelVisible(P1, 0, 0) + Try + c=Starter.skmt.ExecQuery("SELECT TMP_BILLE_IDALMACEN,TMP_BILLE_RUTA, TMP_BILLE_FECHA,TMP_BILLE_MIL,TMP_BILLE_QUINIENTOS,TMP_BILLE_DOSCIENTOS,TMP_BILLE_CIEN,TMP_BILLE_CINCUENTA,TMP_BILLE_VEINTE FROM TMP_CAT_BILLETE") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_boletab_KELL" + cmd.Parameters = Array As Object(C.GetString("TMP_BILLE_IDALMACEN"),l_ruta.Text,C.GetString("TMP_BILLE_FECHA"),C.GetString("TMP_BILLE_MIL"),C.GetString("TMP_BILLE_QUINIENTOS"),C.GetString("TMP_BILLE_DOSCIENTOS"),C.GetString("TMP_BILLE_CIEN"),C.GetString("TMP_BILLE_CINCUENTA"),C.GetString("TMP_BILLE_VEINTE")) + reqManager.ExecuteCommand(cmd , "ins_boletab") + Next + c.Close + End If + + c=Starter.skmt.ExecQuery("SELECT TMP_MON_RUTA,TMP_MON_IDALMACEN,TMP_MON_FECHA,TMP_MON_VEINTE,TMP_MON_DIEZ,TMP_MON_CINCO,TMP_MON_DOS,TMP_MON_UN,TMP_MON_CENTAVOS FROM TMP_CAT_MONEDAS") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim cmd As DBCommand + cmd.Initialize + cmd.Name = "insert_boletam_KELL" + cmd.Parameters = Array As Object(l_ruta.Text,C.GetString("TMP_MON_IDALMACEN"),C.GetString("TMP_MON_FECHA"),C.GetString("TMP_MON_VEINTE"),C.GetString("TMP_MON_DIEZ"),C.GetString("TMP_MON_CINCO"),C.GetString("TMP_MON_DOS"),C.GetString("TMP_MON_UN"),C.GetString("TMP_MON_CENTAVOS")) + reqManager.ExecuteCommand(cmd , "ins_boletam") + Next + c.Close + End If + + S_CP.Text = "Envio Boleta" + PB2.Progress = 1 + contador_env = 2 + PB2.Progress = 100 + t3.Initialize("T3", 5000) ' 1000 = 1 second + Wait For t3_tick + t3.Enabled = True + S_CP.Text = "INFO OK" + Catch +' ToastMessageShow("ACTUALIZAR APK BOLETA",0) + Log(LastException) + End Try +End Sub + +Sub VALIDAR_INFO + d=Starter.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") + d.Position = 0 + cuantos_pedido = d.GetString("CUANTOS_PEDIDO") + d.Close + cmd.Initialize + cmd.Name = "select_cuantos_pedido_KELL" + cmd.Parameters = Array As Object(ALMACEN,l_ruta.text) + reqManager.ExecuteQuery(cmd , 0, "valida_pedido1") + t3.Initialize("T3", 8000) ' 1000 = 1 second + t3.Enabled = True + Wait For t3_tick +End Sub + +' /////////////////////////////////////////////////////////////////////////////////////////////////////////////// +' /////////////////////////////////////////////// PDF CARTA PORTE /////////////////////////////////////// +' /////////////////////////////////////////////////////////////////////////////////////////////////////////////// +Private Sub ImageView1_LongClick 'Mostramos la carta porte al hacer clic largo en el logo de Kelloggs + Log("Logo clicked") + pdf.Initialize("PDFium") + PNL_ACCESO.Visible = False + Panel7.Visible = False + p_pdfViewer.Width = GetDeviceLayoutValues.Width + p_pdfViewer.Height = GetDeviceLayoutValues.Height + PDFView1.Width = GetDeviceLayoutValues.Width-20 + p_controles_pdf.Width = GetDeviceLayoutValues.Width-20 +' If Logger Then Log($"pantalla: ${GetDeviceLayoutValues.Width}x${GetDeviceLayoutValues.Height} - panel: ${p_pdfViewer.Width}x${p_pdfViewer.Height}"$) + Subs.panelVisible(p_pdfViewer, 0, 0) + pdfViewerActivo = True +' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE) + Dim cfg As Configurator = PDFView1.fromUri(File.DirInternal,"/cartaPorte.pdf") + cfg.SetEventname("PDFium") + cfg.pageFitPolicy("BOTH").autoSpacing(True).enableSwipe(True).pageSnap(True).swipeHorizontal(False).addOnErrorListener.addOnLoadCompleteListener.addOnPageChangeListener.addOnPageErrorListener.load +End Sub + +'Descarga del servidor el PDF de la carta porte del dia de hoy y la +'guarda en el almacenamiento externo con el nombre "cartaPorte.pdf" +Sub descargaCartaPorte + Log("Inicia descargaCartaPorte") + cartaPorteLista = False + 'Generamos el nombre del PDF de la carta porte + DateTime.DateFormat = "ddMMyyyy" + Private almacenX As String = Starter.almacen + Private rutaX As String = Starter.rutapreventa + Private cartaPortePDF As String = $"CPORTE${almacenX}_${rutaX}.pdf"$ +' cartaPortePDF = "CPORTE2_100_Prueba.pdf" 'Para pruebas +' Log(cartaPortePDF) + 'Para el servidor + Private pdfServer As String = "keymon.lat" + If Starter.server.IndexOf("10.0.0.205") > -1 Then pdfServer = "10.0.0.205" +' Log(pdfServer) + pdfURL = $"https://${pdfServer}/CartaPorteKelloggs/CartaPorteMovil${DateTime.Date(DateTime.now)}/${cartaPortePDF}"$ + LogColor(pdfURL,Colors.Red) +' Log("Iniciamos wait for descargaCartaPorteyProgreso") + Wait For (descargaCartaPorteyProgreso(pdfURL)) Complete (Success As Boolean) +' Log("Terminamos wait for descargaCartaPorteyProgreso") + l_porcentaje.Text = "0%" + ProgressBarPDF.Progress = 0 +' Log("Ocultamos panel descarga") + Subs.panelOculto(p_downloadPDF) + Log(p_progress1.Visible) +End Sub + +'Muestra el panel de descarga de la carta porte con barra de progreso +Sub descargaCartaPorteyProgreso (urlx As String) As ResumableSub + Log("Iniciamos descargaCartaPorteyProgreso") + If logger Then Log("Mostramos panel descarga") + Subs.panelVisible(p_downloadPDF, 0, 0) + Subs.centraPanel(p_progress1, Root.Width) + Subs.centraEtiqueta(l_downloadPDF, p_progress1.Width) + Subs.centraEtiqueta(l_porcentaje, p_progress1.Width) + Subs.centraProgressBar(ProgressBarPDF, p_progress1.Width) + Dim job_PDF As HttpJob + job_PDF.Initialize("job_PDF",Me) +' job_PDF.GetRequest.Timeout = 120000 ' Timeout a 2 minutos + job_PDF.Download(urlx) + + 'Para la barra de progreso + ' == TaskIdToJob == necesita que se agregue "HU2_PUBLIC" a "Conditional Symbols" (Project/Build Configurations) (Ctrl+B) + Dim TaskToJob As Map = HttpUtils2Service.TaskIdToJob + Do While HttpUtils2Service.TaskIdToJob.IsInitialized = False + Log("Waiting for HttpUtils2Service to be ready.") + Sleep(20) + Loop + Dim TaskId As Int + Do While TaskId = 0 + For Each id As Int In TaskToJob.Keys + If TaskToJob.Get(id) = job_PDF Then + TaskId = id + Exit + End If + Next + Sleep(10) + Loop + Dim bx() As Boolean = Array As Boolean(False) + Log("Llamamos TrackProgress") + TrackProgress(job_PDF, bx, TaskId) + '**** Termina barra de progreso + + Log("Iniciamos Wait for JobDone Descarga") + Log("Mostramos panel descarga") + Subs.panelVisible(p_downloadPDF, 0, 0) + Wait for (job_PDF) JobDone (job_PDF As HttpJob) +' Log("Terminamos Wait for JobDone Descarga ") + If job_PDF.Success = False Then Log("Error PDF") + If job_PDF.Success = True Then + Log("Carta descargada con exito") + Log("Ocultamos downloader") + cartaPorteLista = True + ' // Delete existing file +' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE) +' Wait For B4XPAges_PermissionResult (Permission As String, Result As Boolean) + Log("Ocultamos downloader 2") + If File.Exists(File.DirInternal,"cartaPorte.pdf") Then +' Log("Borramos carta anterior") + File.Delete(File.DirInternal,"cartaPorte.pdf") + End If + ' // Save new file + Dim outNewAPK As OutputStream = File.OpenOutput(File.DirInternal,"cartaPorte.pdf", False) + File.Copy2(job_PDF.GetInputStream, outNewAPK) +' Log("Guardamos nueva carta") + outNewAPK.Close + Log("APK dir: "&File.DirInternal) + Log("Carta porte lista") + ToastMessageShow("Carta Porte descargada exitosamente!!", False) + Subs.panelOculto(p_downloadPDF) + p_progress1.Visible = False + Else + Log("Hubo un error, intente de nuevo") + job_PDF.Release + Subs.panelOculto(p_downloadPDF) + p_progress1.Visible = False + Log("Ruta tipo " & Starter.rutaTipo) + If File.Exists(File.DirInternal,"cartaPorte.pdf") And Starter.rutaTipo <> "FORANEA" Then 'Existe, NO es de hoy y NO ES es FORANEA + Private mb1 As Int + mb1 = Msgbox2("No se pudo descargar la carta porte, por favor intente de nuevo o comuniquese con un supervisor", "Error Carta Porte", "Aceptar", "", "Reintentar", Null) 'ignore + If mb1 = DialogResponse.Positive Then +' Activity.Finish +' ExitApplication + detenerLoop = True + B4XPages.ShowPage("Login") + ELSE IF mb1 = DialogResponse.NEGATIVE Then + descargaCartaPorte + ELSE IF mb1 = DialogResponse.CANCEL Then + ' VALIDAR_INFO + End If + Else + LogColor("Hay carta porte vieja PERO la ruta es Foranea", Colors.RGB(255,131,0)) + ToastMessageShow("Hay carta porte de dias anteriores y la ruta es foranea.", True) + cartaPorteLista = True + End If + End If + bx(0) = True + job_PDF.Release +' Log("Termina descargaCartaPorteyProgreso") + Return job_PDF.Success +End Sub + +'Para visualizar el progreso de la descarga +Private Sub TrackProgress (j As HttpJob, Stop() As Boolean, TaskId As Int) + Do While Stop(0) = False + If j.Out.IsInitialized Then + Dim TotalLength As Long = j.Response.ContentLength + Dim size As Long = File.Size(HttpUtils2Service.TempFolder, TaskId) +' Log(size & ", " & TotalLength & " | " & ((size/TotalLength)*100)) + ProgressBarPDF.Progress = (size/TotalLength)*100 + l_porcentaje.Text = $"$1.0{((size/TotalLength)*100)} %"$ + End If + Sleep(100) + Loop + If (size/TotalLength) = 1 Then Subs.panelOculto(p_downloadPDF) +' Log("TrackProgress - "&size & ", " & TotalLength) +End Sub + +Sub PDFium_loadComplete(pages As Int) +' Log($"PDFium_loadComplete(${pages})"$) + glPages = pages + lblPages.Text = $"${glPages}"$ +End Sub + +Sub PDFium_onInitiallyRendered(page As Int) + Log($"PDFium_onInitiallyRendered(${page})"$) +End Sub + +Sub PDFium_onPageChanged(page As Int, TotalPages As Int) +' Log($"PDFium_onPageChanged(${page},${TotalPages})"$) + lblPages.Text = $"${page+1}/${glPages}"$ +End Sub + +Sub PDFium_PageNum(page As Int) + Log($"PDFium_PageNum(${page})"$) +End Sub + +Sub PDFium_Show() + Log($"PDFium_Show()"$) +End Sub + +Sub btnFirst_Click + PDFView1.jumpTo2(0,False) +End Sub + +Sub btnPrev_Click + PDFView1.jumpTo2(PDFView1.CurrentPage-1,False) +End Sub + +Sub btnNext_Click + PDFView1.jumpTo2(PDFView1.CurrentPage+1,False) +End Sub + +Sub btnLast_Click + PDFView1.jumpTo2(glPages-1,False) +End Sub + +Private Sub B_PROXIMA_LongClick + '' StartActivity(Starter.ultimaActividad) +' If Starter.sesion.Get("actividad") <> "" Then + '' StartActivity(Starter.sesion.Get("actividad")) +' Log(Starter.sesion) +' If Starter.sesion.Size = 1 Then +' CallSubDelayed(Starter.sesion.Get("actividad"), "activity_resume") +' else if Starter.sesion.ContainsKey("sub") Then +' Private esteSub As Map = Starter.sesion.Get("sub") + '' If Logger Then Log(esteSub) +' If esteSub.Size = 1 Then CallSubDelayed(Starter.sesion.Get("actividad"), esteSub.Get("nombre")) +' If esteSub.Size = 2 Then CallSubDelayed2(Starter.sesion.Get("actividad"), esteSub.Get("nombre"), esteSub.get("param1")) +' If esteSub.Size = 3 Then CallSubDelayed3(Starter.sesion.Get("actividad"), esteSub.Get("nombre"), esteSub.get("param1"), esteSub.get("param2")) +' End If +' End If +End Sub + +Private Sub P1_Click + 'Vacio, solo está aquib para capturar el evento de clic y que no se pase hacia el fondo. +End Sub + +Private Sub Resumen_LongClick + ToastMessageShow("Enviamos UTR", True) + CallSubDelayed(Starter, "ENVIA_ULTIMA_GPS") +End Sub \ No newline at end of file diff --git a/B4A/C_Productos.bas b/B4A/C_Productos.bas new file mode 100644 index 0000000..daf15d4 --- /dev/null +++ b/B4A/C_Productos.bas @@ -0,0 +1,1240 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + Dim ruta As String + Dim q_buscar As String + Dim forzarBusqueda As Boolean = False + Dim skmt As SQL + Dim c As Cursor + Dim c2 As Cursor + Dim C3 As Cursor + Dim s As Cursor + Dim lv_catalogos As ListView + Dim lv_promos As ListView + Dim entro As String + Dim gest As Button + Dim lfila As Label + Dim marca As String + Dim tipo As String + Dim subtipo As String + Private BUSCA As EditText + Dim ya_entro As String + Dim TIENE_PROMOS As String + Dim RES As String + Dim S1 As Cursor + Dim bmp As Bitmap + Dim ciclo As String + Private b_qr As Button + Private p_productos As Panel + Dim clv_productos As CustomListView + Private ImageView1 As ImageView + Private Panel3 As Panel + Private p_prods As Panel + Private i_prod As ImageView + Private l_prodX As Label + Private b_prodMas As Button + Private l_pCant As Label + Private et_pCant As EditText + Private b_prodMenos As Button + Dim b_terminar1 As Button + Dim b_continuar As Button +' Private l_total As Label +' Private l_totProds As Label + Dim totalProds As Int = 0 + Dim totalCompra As Float = 0 + Dim etCantHasFocus As Boolean = False + Dim prodsMap As Map + Private l_Cargando As Label + Private l_info As Label + Private b_buscar As Button + Private p_botonesVenta As Panel + Private lv_tipo As ListView + Private lv_subtipo As ListView + Private p_vistaPreviaTrans As Panel + Private lv_prodsPedido As ListView + Private b_rechazar As Button + Private b_aceptar As Button + Private p_vistaPrevia As Panel + Dim folio As String + Dim result As String + Private l_cant As Label + Private l_total2 As Label + Dim prodsPedidoActual As String + Dim montoPedidoActual As String + Private clv_prods_ll As CustomListView + Dim PCLV As PreoptimizedCLV + Dim listaProds As List +' Type AirportData (Name As String, AirportID As Int, IATA As String, ICAO As String, City As String, Latitude As Float, Longitude As Float, Altitude As String) + Dim pedidoMap As Map + Private p_botMasMen As Panel + Dim reiniciarlistaProds As Boolean= False +' Dim listaRenglones As List + Dim listaTiempos As List + Dim clienteId As String + Dim rutaUsuario As String + Dim hayPedido As Boolean + Dim listaHints As List + Dim query, query2 As String + Private p_rmi As Panel + Private b_rmi_aceptar As Button + Private l_montoDisponible As Label + Private b_rmi_menos As Button + Private l_rmi_cant As Label + Private b_rmi_mas As Button + Private l_rmi_nombre As Label + Private l_rmi_total As Label + Dim rmiMap As Map + Private l_rmi_usado As Label + Dim list_prodsPedido As List + Private b_rmi As Button + Private l_mDisponible As Label +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root +' Activity.RemoveAllViews + Root.LoadLayout("productos") + ruta = File.DirInternal + If File.Exists(ruta, "kmt.db") = False Then + File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db") + End If + PCLV.Initialize(Me, "PCLV", clv_prods_ll) + ciclo = 1 + l_info.Width = Root.Width * 0.8 + l_info.Left = (Root.Width/2) - (l_info.Width/2) + c = Starter.skmt.ExecQuery("select distinct CAT_GP_TIPO from cat_gunaprod2 where CAT_GP_TIPO <> 'PROMOS' order by CAT_GP_TIPO") + If c.RowCount > 0 Then + Dim label1 As Label + label1 = lv_tipo.SingleLineLayout.Label + label1.TextSize = 17 + label1.TextColor = Colors.Black + lv_tipo.Clear + For i=0 To c.RowCount-1 + c.Position=i + lv_tipo.AddSingleLine(c.GetString("CAT_GP_TIPO")) + Next + End If + c.Close +' llenaCatalogo(False) +' listaRenglones.Initialize + listaTiempos.Initialize + listaProds.Initialize + pedidoMap.Initialize + listaHints.Initialize + Log("Llamamos LlenaProdsLL") + LlenaProdsLL(Null, Null) + list_prodsPedido.Initialize + Log("list_prodsPedido.Initialize") + prodsMap.Initialize +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub B4XPage_Appear +' clv_prods_ll.Initialize(Me, "clv_prods_ll") +' list_prodsPedido.Initialize +' Log("list_prodsPedido.Initialize") + clienteId = Subs.traeCliente + rutaUsuario = Subs.traeRuta + If p_rmi.Visible Then p_rmi.Visible = False +' l_mDisponible.Visible = False +' Starter.skmt.ExecNonQuery2("UPDATE CAT_GUNAPROD SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_TIPOPROD = (?) ",Array As Object("PRIORITARIO","1")) +' Starter.skmt.ExecNonQuery2("UPDATE CAT_GUNAPROD SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_TIPOPROD = (?) ",Array As Object("ESTRATEGICO","2")) +' Starter.skmt.ExecNonQuery2("UPDATE CAT_GUNAPROD SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_TIPOPROD = (?) ",Array As Object("COMPLEMENTARIO","3")) +' Starter.skmt.ExecNonQuery2("UPDATE CAT_GUNAPROD SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_TIPOPROD = (?) ",Array As Object("CATALOGO REGULAR","0")) +' Starter.skmt.ExecNonQuery2("UPDATE CAT_GUNAPROD SET CAT_GP_TIPOPROD = (?) WHERE CAT_GP_CLASIF = (?) ",Array As Object("PROMOS","PROMOS")) + If Starter.tipov = "PREVENTA" Then + query = "cat_gunaprod" + query2 = "COUNT_GUNAPROD" + Else IF Starter.tipov = "VENTA" Then + query = "cat_gunaprod2" + query2= " COUNT_GUNAPROD2" + ELSE IF Starter.tipov = "ABORDO" Then + query = "cat_gunaprod" + query2 = "COUNT_GUNAPROD" + Else + query = "cat_gunaprod" + query2 = "COUNT_GUNAPROD" + End If + clv_prods_ll.GetBase.SetLayoutAnimated(0, 5dip, 130dip, Root.Width + 10, Root.Height * 0.68) 'Cambiamos el tamaño y posición de la lista de productos + clv_prods_ll.Base_Resize(clv_prods_ll.GetBase.Width, clv_prods_ll.GetBase.Height) 'Cambiamos el tamaño del panel interno de la lista para que ajuste al nuevo tamaño. + If B4XPages.MainPage.bTerminarClicked Then + lv_catalogos.Visible = True + lv_promos.Visible = False + lv_tipo.Visible = False + lv_subtipo.Visible = False + clv_prods_ll.AsView.Visible = False + B4XPages.MainPage.bTerminarClicked = False + End If + If ya_entro <> "1" Then + If BUSCA.Text <> "" Then BUSCA.Text ="" + entro ="3" + lv_catalogos.Clear + Sleep(100) + lfila.Text = "CATALOGOS" + p_productos.Height = Root.Height + clv_prods_ll.AsView.Visible = False + lv_catalogos.BringToFront + lv_catalogos.Visible = True + p_botonesVenta.Visible = False + p_botonesVenta.Top = clv_prods_ll.AsView.top + clv_prods_ll.AsView.Height - 10 + lv_promos.Visible = False + End If + Dim label1 As Label + label1 = lv_catalogos.SingleLineLayout.Label + label1.TextSize = 17 + label1.TextColor = Colors.Black + lv_catalogos.Clear + lv_catalogos.AddSingleLine("CATALOGO") +' Log(Starter.tipov) + c = Starter.skmt.ExecQuery("select count(*) as hayPromos from promos_comp") + c.Position = 0 + + Log(Subs.revisaImpresa) + + If c.GetInt("hayPromos") > 0 And Subs.traeCliente <> 0 And Subs.revisaImpresa = False Then + lv_catalogos.AddSingleLine("PROMOS") + End If + Sleep(100) +' l_total.Visible = False +' l_totProds.Visible = False +' l_total.Left = 5dip +' l_totProds.Width = Root.Width * 0.19 +' l_total.Left = l_totProds.Width + 20 +' l_total.Width = Root.Width * 0.25 + +' Log(Subs.traeTotalesClienteActual) + Dim m As Map = Subs.traeTotalesClienteActual + prodsPedidoActual = m.Get("productos") + montoPedidoActual = m.Get("monto") + hayPedido = Subs.hayPedido +' LogColor("Pedido ant? - "&hayPedido, Colors.Magenta) + If reiniciarlistaProds Then +' Log("Llamamos LlenaProdsLL") + LlenaProdsLL(Null, Null) + else If hayPedido Then +' LogColor("HAY PEDIDO ANTERIOR", Colors.red) +' Log("Llamamos LlenaProdsLL") + LlenaProdsLL(Null, Null) + End If + If clv_prods_ll.Size > 0 Then + clv_prods_ll.JumpToItem(0) 'Vamos al primer artículo de la lista. + PCLV.lblHint.SetTextSizeAnimated(0,13) + PCLV.B4XSeekBar1.Color1=Colors.DarkGray + PCLV.B4XSeekBar1.Color2=Colors.DarkGray + PCLV.B4XSeekBar1.ThumbColor=Colors.red + PCLV.B4XSeekBar1.mBase.Left=Root.Width *0.91 +' PCLV.B4XSeekBar1.mBase.Top=-50 + PCLV.B4XSeekBar1.mBase.Height=clv_prods_ll.AsView.Height + PCLV.pnlOverlay.Height = clv_prods_ll.AsView.Height + PCLV.B4XSeekBar1.Update + Else + PCLV.B4XSeekBar1.mBase.Left=Root.Width *1.5 'Si no hay productos, que NO se vea la barra de busqueda. + End If + If lfila.Text = "RMI" Then + b_rmi.Visible = False + l_mDisponible.Visible = True + End If + + Log(Starter.tipov) +End Sub + +Sub PCLV_AddProds + +End Sub + +Sub lv_catalogos_ItemClick (Position As Int, Value As Object) + If Value = "CATALOGO" Then +' lfila.text = "TIPO" + lfila.text = "PRODUCTOS" + lv_catalogos.Visible = False + If Starter.tipov <> "ABORDO" Then b_rmi.Visible = True +' lv_tipo.Visible = True + LlenaProdsLL(Null, Null) + clv_prods_ll.AsView.BringToFront + clv_prods_ll.AsView.Visible = True + If hayPedido Then p_botonesVenta.Visible = True 'Si ya hay pedido, entonces mostramos los botones. + l_mDisponible.Visible = False + Else + clv_prods_ll.AsView.Visible = False + lv_promos.Visible = True + lfila.text = "PROMOCIONES" + lv_catalogos.Visible = False + lv_promos.Clear + Dim label1 As Label + label1 = lv_promos.TwoLinesLayout.Label + label1.TextSize = 15 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = lv_promos.TwoLinesLayout.SecondLabel + label2.TextSize = 15 + label2.TextColor = Colors.Black + Dim label13 As Label + label13 = lv_promos.TwoLinesAndBitmap.Label + label13.TextSize = 15 + label13.TextColor = Colors.Black + Dim label14 As Label + label14 = lv_promos.TwoLinesAndBitmap.SecondLabel + label14.TextSize = 15 + label14.TextColor = Colors.Black +' lfila.text = "PROMOS" +' c2=Starter.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from " & query & " where CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID)", Array As String(Value, Value)) + c2=Starter.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from " & query & " where CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO =? AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) ", Array As String( Value, Value)) + Log($"Resultados : ${c2.RowCount}, ${Value}, ${marca}, ${tipo}"$) + If c2.RowCount > 0 Then + For i=0 To c2.RowCount -1 + c2.Position=i + Private tm As Map = Subs.procesaPromocion(c2.GetString("CAT_GP_ID"), clienteId) + If tm.Get("status") = "ok" Then 'Solo muestrala si hay producto. + lv_promos.AddTwoLines(c2.GetString("CAT_GP_NOMBRE"),"# " & c2.GetString("CAT_GP_ALMACEN") & " $ " & c2.GetString("CAT_GP_PRECIO") & " F:" & tm.Get("mp").As(Map).Get("prodsFijosCant") & " V:" & tm.Get("mp").As(Map).Get("prodsVariablesCant")) + End If + Next + Else + ToastMessageShow("No hay promociones disponibles.", False) + End If + c2.Close + entro = "4" + End If +End Sub + +Sub lv_catalogos2_ItemClick (Position As Int, Value As Object) + clv_prods_ll.AsView.Visible = False + BUSCA.Text = "" + Dim cliente As C_Cliente = B4XPages.GetPage("Cliente") + Log($"value=${Value}"$) + If Value = "PROMOS" And cliente.cuenta <> "N" Then + entro = "3" + marca = "PROMOS" + tipo = "PROMOS" + Else if Value = "PROMOS" And cliente.cuenta = "N" Then + entro = "5" + Subs.iniciaActividad("Cliente") +' B4XPages.ShowPage("Cliente") + End If + If Value = "PROMOS" Then + LogColor("Promos", Colors.red) + c2=Starter.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from cat_gunaprod2 where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPOPROD = ? AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO = ? AND CAT_GP_ID NOT IN (SELECT PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select cuenta from cuentaa) )", Array As String(Value, marca, tipo)) + Else + LogColor("Catalogo", Colors.red) + c2=Starter.skmt.ExecQuery("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG, CAT_GP_TIPOPROD, CAT_GP_INICIATIVA from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPOPROD <> 'PROMOS' ") + End If + If Value = "CATALOGO" Then + lv_catalogos.Visible = False + lv_promos.Visible = False + lfila.text = "CATALOGO" + Log("PGS") + ProgressDialogShow("Cargando catalogo ...") + Sleep(100) + Private inicioContador As String = DateTime.Now + llenaCatalogo(False) + clv_prods_ll.AsView.Visible = True + Log("PGH") + LogColor("TIEMPO DE PROCESO DEL CATALOGO: " & ((DateTime.Now-inicioContador)/1000), Colors.Red) + ProgressDialogHide + c2.Close + Else + clv_prods_ll.AsView.Visible = False + lv_promos.Visible = True + lv_catalogos.Visible = False + lv_promos.Clear + Dim label1 As Label + label1 = lv_promos.TwoLinesLayout.Label + label1.TextSize = 15 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = lv_promos.TwoLinesLayout.SecondLabel + label2.TextSize = 15 + label2.TextColor = Colors.Black + Dim label13 As Label + label13 = lv_promos.TwoLinesAndBitmap.Label + label13.TextSize = 15 + label13.TextColor = Colors.Black + Dim label14 As Label + label14 = lv_promos.TwoLinesAndBitmap.SecondLabel + label14.TextSize = 15 + label14.TextColor = Colors.Black + lfila.text = "PROMOS" + If c2.RowCount > 0 Then + For i=0 To c2.RowCount -1 + c2.Position=i + Private tm As Map = Subs.procesaPromocion(c2.GetString("CAT_GP_ID"), clienteId) + If tm.Get("status") = "ok" Then 'Solo muestrala si hay producto. + lv_promos.AddTwoLines(c2.GetString("CAT_GP_NOMBRE"),"# " & c2.GetString("CAT_GP_ALMACEN") & " $ " & c2.GetString("CAT_GP_PRECIO") & " F:" & tm.Get("mp").As(Map).Get("prodsFijosCant") & " V:" & tm.Get("mp").As(Map).Get("prodsVariablesCant")) + End If + Next + End If + c2.Close + End If + entro = "4" +End Sub + +Sub lv_promos_ItemClick (Position As Int, Value As Object) + clv_prods_ll.AsView.Visible = False + Dim cliente As C_Cliente = B4XPages.GetPage("Cliente") +' Log($"Entro=${entro}, value=${Value}, cuenta=${cliente.cuenta}"$) + If Value = "PROMOS" And cliente.cuenta <> "N" Then + entro = "3" + marca = "PROMOS" + tipo = "PROMOS" + Else if Value = "PROMOS" And cliente.cuenta = "N" Then + entro = "5" + Subs.iniciaActividad("Cliente") +' B4XPages.ShowPage("Cliente") + End If + If entro = "3" Then + 'xxxxxxxxxxxxxxxxxxxxx + Else If entro = "4" Then +' Log("Entro = 4") + Starter.skmt.ExecNonQuery("delete from PROID") + Starter.skmt.ExecNonQuery2("INSERT INTO PROID VALUES (?)", Array As Object(Value)) + Dim promos As C_Promos = B4XPages.GetPage("Promos") + promos.laPromo = Subs.traeProdIdDeBD.Get("id") + promos.elCliente = Subs.traeUsuarioDeBD + B4XPages.ShowPage("Promos") + End If +End Sub + +'Generamos la lista de productos. +Sub llenaCatalogo(subtipo1 As String) +' Log("LlenaCatalogo") +' Private c2 As Cursor +' c2=starter.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG, CAT_GP_TIPOPROD, CAT_GP_INICIATIVA from cat_gunaprod where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPOPROD <> 'PROMOS' and CAT_GP_SUBTIPO = ? ", Array As String(subtipo1)) +' Private bgColor, textColor As Int +' If c2.RowCount > 0 And clv_productos.Size <> c2.RowCount Then +' clv_productos.Clear : Log("limpiamos productos") +' For i=0 To c2.RowCount -1 +' c2.Position=i +' If c2.GetString("CAT_GP_TIPOPROD") = "PRIORITARIO" Then +' bgColor = Colors.RGB(255, 212, 163) 'naranja +' Else If c2.GetString("CAT_GP_TIPOPROD") = "COMPLEMENTARIO" Then +' bgColor = Colors.RGB(177, 200, 249)'azul +' else If c2.GetString("CAT_GP_TIPOPROD") = "CATALOGO REGULAR" Then +' bgColor = Colors.White +' else If c2.GetString("CAT_GP_TIPOPROD") = "ESTRATEGICO" Then +' bgColor = Colors.RGB(241, 255, 163) 'amarillo +' End If +' textColor = Colors.Black +' clv_productos.Add(CreateListItem(c2.GetString("CAT_GP_NOMBRE"), c2.GetString("CAT_GP_PRECIO"), c2.GetString("CAT_GP_ALMACEN"), clv_productos.AsView.Width, 60dip, bmp, c2.GetString("CAT_GP_ID"), bgColor, textColor), c2.GetString("CAT_GP_NOMBRE")) +' Next +' End If +' c2.Close +End Sub + +Private Sub B4XPage_CloseRequest As ResumableSub +' BACK key pressed +' Return True To close, False To cancel + If p_rmi.Visible Then p_rmi.Visible = False + If l_info.Visible Then + l_info.Visible = False + Return False + else if p_vistaPreviaTrans.Visible Then + p_vistaPreviaTrans.Visible = False + Return False + else if lv_promos.visible Then + lv_promos.Visible = False + lv_catalogos.Visible = True + p_botonesVenta.Visible = False +' l_total.Visible = False +' l_totProds.Visible = False + Return False + else if clv_prods_ll.AsView.Visible Then + lfila.text = "CATALOGO" + clv_prods_ll.AsView.Visible = False + lv_subtipo.Visible = False + p_botonesVenta.Visible = False +' l_total.Visible = False +' l_totProds.Visible = False + lv_catalogos.Visible = True + Return False + else If entro = "4" Then + entro = "3" + B4XPage_Appear + Return True + Else If entro = "3" Then + Subs.iniciaActividad("Cliente") +' B4XPages.ShowPage("Cliente") + Return False + Else + Subs.iniciaActividad("Cliente") +' B4XPages.ShowPage("Cliente") + Return False + End If +End Sub + +Sub b_QR_Click + If ciclo = 1 Then + ciclo = 2 + ya_entro = "0" + B4XPage_Appear + else if ciclo = 2 Then + ciclo = 3 + ya_entro = "0" + B4XPage_Appear + else if ciclo = 3 Then + ciclo = 4 + ya_entro = "0" + B4XPage_Appear + else if ciclo = 4 Then + ciclo = 5 + ya_entro = "0" + B4XPage_Appear + else if ciclo = 5 Then + ciclo = 1 + ya_entro = "0" + B4XPage_Appear + End If +End Sub + +'**************************************************************************** +'***************** PARA EL MAS/MENOS ************************************* +'**************************************************************************** +Sub CreateListItem(Text As String, precioU As String, inv As Int, Width As Int, Height As Int, img As Bitmap, prodId As String, bc As Int, tc As Int) As Panel +' Dim p As B4XView = xui.CreatePanel("") +' p.SetLayoutAnimated(0, 0, 0, Width, Height) +' p.LoadLayout("prodItem") +' p_prods.Color = bc +' l_prodX.TextColor = tc +' l_prodX.TextSize = 15 +' p_prods.Height = Height +' l_prodX.Height = Height +' l_prodX.Text = Text&CRLF&"# " & inv & " $ " & precioU +' l_prodX.Tag = $"ID: ${prodId}${CRLF}${Text}${CRLF}Precio: $$1.2{precioU}${CRLF}Inv: ${inv} pzs"$ +' l_pCant.Tag = precioU&"|"&inv&"|"&prodId +' et_pCant.Tag = precioU&"|"&inv&"|"&prodId +' et_pCant.BringToFront +' Return p +End Sub + +Sub b_prodMenos_Click + etCantHasFocus = False +' Log(Sender.As(Button).text & "|" & Sender.As(Button).tag) + Private buttonTag As String = Sender.As(Button).tag + LogColor("b_prodMenos_Click", Colors.Magenta) + Dim index As Int = clv_prods_ll.GetItemFromView(Sender) + Private inv As Int = clv_prods_ll.GetValue(index).As(Map).Get("almacen") + Dim pnl0 As B4XView = clv_prods_ll.GetPanel(index) + Dim pnl As B4XView = pnl0.GetView(0) + Dim laCant As B4XView = pnl.GetView(2).GetView(2) +' Log($"precio|stock:${laCant.tag}"$) +' Log("lacant.text="&laCant.text & "|" & buttonTag) + If buttonTag = "vendido" And laCant.Text > 0 Then + Log(clv_prods_ll.GetValue(index).As(Map)) + clv_prods_ll.GetValue(index).As(Map).Put("almacen",inv + 1) + Log(clv_prods_ll.GetValue(index).As(Map)) +' clv_prods_ll.GetValue(index).As(Map).Get("almacen") = clv_prods_ll.GetValue(index).As(Map).Get("almacen") + 1 + End If + If laCant.Text = "" Then laCant.Text = 0 + laCant.Text = $"$1.0{laCant.Text - 1}"$ + If laCant.Text < 0 Then laCant.Text = 0 + Private tmpMap As Map = clv_prods_ll.GetValue(index).As(Map) + Private precio As String=clv_prods_ll.GetValue(index).As(Map).Get("precio") + Private id As String=clv_prods_ll.GetValue(index).As(Map).Get("id") + Private tmpMap As Map = CreateMap("precio":precio, "cant":laCant.Text, "almacen":Subs.traeAlmacen) +' Log(tmpMap) + prodsMap.Put(id, tmpMap) + If laCant.Text = 0 Then prodsMap.Remove(id) +' LogColor("prodsMap="&prodsMap, Colors.blue) +' (Subs.traeAlmacen, p1.Get("precio"), p1.Get("cant"), pn, p, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta) + Private almacenX As String = Subs.traeAlmacen + Private nombreX As String = Subs.traeProdNombre(id) + Private precioX As String = precio + If lfila.Text = "RMI" Then + almacenX = "DUR" + nombreX = "CAMBIO"&Subs.traeRMINombre(id) + precioX = precioX * -1 + End If + Subs.actualizaProducto(almacenX, precioX, laCant.text, nombreX, id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, Starter.tipov) + cuentaProds + If Subs.totalPedido < 1 Then laCant.Text = "0" +' Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$) +End Sub + +Sub b_prodMas_Click + etCantHasFocus = False + Private buttonTag As String = Sender.As(Button).tag + Dim index As Int = clv_prods_ll.GetItemFromView(Sender) + LogColor("b_prodMas_Click", Colors.Magenta) + Dim pnl0 As B4XView = clv_prods_ll.GetPanel(index) + Dim pnl As B4XView = pnl0.GetView(0) + Dim laCant As B4XView = pnl.GetView(2).GetView(2) + If laCant.Text = "" Then laCant.Text = 0 + Private tmpMap As Map = clv_prods_ll.GetValue(index).As(Map) + Private precio As String=clv_prods_ll.GetValue(index).As(Map).Get("precio") + Private inv As Int = clv_prods_ll.GetValue(index).As(Map).Get("almacen") + If buttonTag = "vendido" Then + If inv > 0 And (laCant.Text + 1 <= inv) And (Subs.totalPedido - precio > 1) Then +' Log(clv_prods_ll.GetValue(index).As(Map)) + clv_prods_ll.GetValue(index).As(Map).Put("almacen", (inv - 1)) + inv = inv - 1 + laCant.Text = $"$1.0{laCant.Text+1}"$ +' Log(clv_prods_ll.GetValue(index).As(Map)) + End If + else If laCant.Text + 1 <= inv And lfila.Text = "PRODUCTOS" Then +' LogColor(inv, Colors.blue) + laCant.Text = $"$1.0{laCant.Text + 1}"$ + Log(Subs.totalPedido) + else If lfila.Text = "RMI" And laCant.Text + 1 <= inv And (Subs.totalPedido - precio > 1) Then +' LogColor(inv, Colors.blue) + laCant.Text = $"$1.0{laCant.Text + 1}"$ + Log(Subs.totalPedido) + else if Subs.totalPedido < 1 Then + laCant.Text = "0" + End If + Private id As String=clv_prods_ll.GetValue(index).As(Map).Get("id") + Private almacenX As String = Subs.traeAlmacen + Private nombreX As String = Subs.traeProdNombre(id) + Private precioX As String = precio + If lfila.Text = "RMI" Then + almacenX = "DUR" + nombreX = "CAMBIO"&Subs.traeRMINombre(id) + precioX = precioX * -1 + End If + Subs.actualizaProducto(almacenX, precioX, laCant.text, nombreX, id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, Starter.tipov) + cuentaProds + If Subs.totalPedido < 1 Then + etCantHasFocus = True + Log("A CERO") + laCant.Text = "0" + et_pCant_TextChanged(100, 0) + End If +' Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$) +End Sub + +Private Sub et_pCant_TextChanged (Old As String, New As String) +' LogColor($"txt changed: ${Old}|${New}, hasfocus=${etCantHasFocus}"$,Colors.Magenta) +' If Not(Old = "0" And New = "") And etCantHasFocus Then cuentaProds + + If etCantHasFocus = True Then + Try +' LogColor($"txt changed: ${Old}|${New}, hasfocus=${etCantHasFocus}"$,Colors.Magenta) + Dim index As Int = clv_prods_ll.GetItemFromView(Sender) + Dim pnl0 As B4XView = clv_prods_ll.GetPanel(index) + Dim pnl As B4XView = pnl0.GetView(0) + Dim laCant As B4XView = pnl.GetView(2).GetView(2) + Private id As String=clv_prods_ll.GetValue(index).As(Map).Get("id") + Private precio As String=clv_prods_ll.GetValue(index).As(Map).Get("precio") + Log("++++++++++ " & precio) + Dim tempTot As String = Subs.totalPedido + Dim disp As String = 0 + If tempTot > 0 Then disp = (Subs.totalPedido / precio) - 1 + disp = NumberFormat2(disp, 1, 0, 0, False) + + Log($"${laCant.text}, ${precio}, DISPONIBLES: ${disp}"$) + Private inv As String=clv_prods_ll.GetValue(index).As(Map).Get("almacen") + Private inv As String=clv_prods_ll.GetValue(index).As(Map).Get("almacen") + If(New = "" Or New = Null) Then New = 0 + If(New > inv) Then + Sender.As(EditText).text = inv + End If + Private almacenX As String = Subs.traeAlmacen + Private nombreX As String = Subs.traeProdNombre(id) + Private precioX As String = precio + If lfila.Text = "RMI" Then + almacenX = "DUR" + nombreX = "CAMBIO"&Subs.traeRMINombre(id) + precioX = precioX * -1 + Log("RMI") + Else +' elProd = Subs.traeProdNombre(id) + Log("NO RMI") + End If + ' Log($"inventario=${inv}"$) +' Dim tmpCant As String = laCant.text + If laCant.Text = "" Then laCant.Text = "0" + If laCant.Text > disp Then + Log($"Ponemos laCant en: ${disp}"$) +' laCant.Text = "" + laCant.text = "0" +' etCantHasFocus = True + End If + If Not(Old = "0" And New = "") And laCant.Text <> Null And laCant.Text <> "" And etCantHasFocus Then + Subs.actualizaProducto(almacenX, precioX, laCant.Text, nombreX, id, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, B4XPages.MainPage.tipo_venta) + cuentaProds + End If + Catch + Log(LastException) + End Try +' etCantHasFocus = False +' laCant.text = "" +' laCant.text = tmpCant +' cuentaProds +' Log(laCant.text) +' Sender.As(EditText).text = disp + End If +End Sub + +Private Sub et_pCant_FocusChanged (HasFocus As Boolean) +' LogColor($"focus changed=${HasFocus}"$, Colors.Magenta) + etCantHasFocus = HasFocus + cuentaProds +End Sub + +Sub cuentaProds + 'LogColor($"Productos de la orden: ${c_prodsX.GetString("cantProds")}, Total: ${c_prodsX.GetString("costoTotal")}"$, Colors.red) +' Log("===========================") + Private c As Cursor = Starter.skmt.ExecQuery($"select sum(PE_COSTO_TOT) as total, sum(PE_CANT) as cant from PEDIDO where PE_CLIENTE = '${clienteId}'"$) +' LogColor("TIEMPO cuentaProds =" & ((DateTime.Now-inicioContador)/1000), Colors.Red) +' LogColor(prodsMap, Colors.Magenta) + p_botonesVenta.Visible = True + p_botonesVenta.BringToFront + c.Position=0 + If Subs.totalPedido > 1 And lfila.Text <> "RMI" And Starter.tipov <> "ABORDO" Then b_rmi.Visible = True Else b_rmi.Visible = False + Log(Subs.totalPedido) + If lfila.Text = "RMI" Then l_mDisponible.Visible = True Else l_mDisponible.Visible = False + l_mDisponible.Text = $"Disponible: $${Subs.totalPedido}"$ +' Log($"Total Prods: ${c.GetString("cant")}, Total Compra: $$1.2{c.GetString("total")}"$) + c.Close +End Sub + +Sub b_terminar1_Click +' Log("b_terminar1_Click") +' ya_entro = "0" : Log("ya_entro=1") + Private totalPedido As String = 0 + Private cantPedido As String = 0 + lv_promos.Visible = False + clv_prods_ll.AsView.Visible = False + lv_catalogos.Visible = True + Subs.agrupador + lv_prodsPedido.Clear + list_prodsPedido.Initialize + Private c_prods As Cursor=Starter.skmt.ExecQuery("select PE_PRONOMBRE,PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_FOLIO, PE_CEDIS, PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_PRONOMBRE") + Log(c_prods.RowCount) + If c_prods.RowCount > 0 Then + c_prods.Position = 0 +' l_total2.Text = c_prods.GetString("PE_COSTO_TOT") + lv_prodsPedido.BringToFront + Private cs As CSBuilder + For i = 0 To c_prods.RowCount -1 + cs.Initialize + c_prods.Position = i + Dim label1 As Label +' lv_prodsPedido.TwoLinesLayout.ItemHeight = 50dip + label1 = lv_prodsPedido.TwoLinesLayout.Label + label1.TextSize = 14 + label1.TextColor = Colors.Black + label1.color = Colors.White + label1.Height = 30dip + Private textColor As Int = Colors.black + Log(c_prods.GetString("PE_CEDIS")) + If Not(IsNumber(c_prods.GetString("PE_CEDIS"))) Then textColor = Colors.RGB(210,105,30) 'Si es promo, cambiamos el color del texto. + If c_prods.GetString("PE_CEDIS") = "DUR" Then textColor = Colors.red 'Si es promo, cambiamos el color del texto. + Dim label2 As Label + label2 = lv_prodsPedido.TwoLinesLayout.SecondLabel + label2.TextSize = 10 + label2.TextColor = Colors.Blue + label2.Tag = i + Log(c_prods.GetString("PE_PRONOMBRE")) + lv_prodsPedido.AddTwoLines(cs.Color(textColor).append(c_prods.GetString("PE_PRONOMBRE")).pop,"Cantidad #"& c_prods.GetString("PE_CANT")& " SubTotal $"& c_prods.GetString("PE_COSTO_TOT")& " Folio "& c_prods.GetString("PE_FOLIO")) + list_prodsPedido.Add(CreateMap("prodNom":c_prods.GetString("PE_PRONOMBRE"), "cedis":c_prods.GetString("PE_CEDIS"), "prodId": c_prods.GetString("PE_PROID"), "cant": c_prods.GetString("PE_CANT"))) + folio = 0 + totalPedido = totalPedido + (c_prods.GetString("PE_COSTOU") * c_prods.GetString("PE_CANT")) + Log("|" & Subs.esPromo(c_prods.GetString("PE_PROID")) & "|") + If Not(Subs.esPromo(c_prods.GetString("PE_PROID"))) Then cantPedido = cantPedido + c_prods.GetString("PE_CANT") + If c_prods.GetString("PE_FOLIO") <> Null Then folio = c_prods.GetString("PE_FOLIO") + Next + c=Starter.skmt.ExecQuery("select pc_noart, pc_monto from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)") + C.Position=0 +' l_cant.Text = c.GetString("PC_NOART") + c.Close + End If +' Log(list_prodsPedido) + c_prods.Close + l_total2.Text = $"$1.2{totalPedido}"$ + l_cant.Text = cantPedido + If Subs.revisaImpresa Then b_rechazar.Visible = False Else b_rechazar.Visible = True + p_vistaPreviaTrans.Width = Root.Width + p_vistaPreviaTrans.Height = Root.Height + Subs.centraPanel(p_vistaPrevia, Root.Width) + p_vistaPrevia.Visible=True + p_vistaPreviaTrans.Visible=True +End Sub + +Private Sub b_continuar_Click +' Log("b_continuar_Click") + cuentaProds +' Private p1 As Map +' Log("prodsMap="&prodsMap) +' For Each p As String In prodsMap.Keys +' p1 = prodsMap.Get(p) +' Log(p & "|" & p1) +' Private pn As String = Subs.traeProdNombre(p) +' If pn <> "N/A" Then +' LogColor("INSERTAMOS PROD Continuar", Colors.red) +' Subs.guardaProductoSinGestion(Subs.traeAlmacen, p1.Get("precio"), p1.Get("cant"), pn, p, clienteId, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaUsuario, 0, Starter.tipov) +' End If +' Next +' Log("promos-inv, prods-inv, cat-vis") + lv_promos.Visible = False + clv_prods_ll.AsView.Visible = False + lv_subtipo.Visible = False + lv_tipo.Visible = False + lv_catalogos.Visible = True + Log("Continuar") + Dim m As Map = Subs.traeTotalesClienteActual + prodsPedidoActual = m.Get("productos") + montoPedidoActual = m.Get("monto") +' LlenaProdsLL(Null) +' BUSCA.Text = " " +End Sub + +Private Sub l_info_Click + l_info.Visible = False +End Sub + +Private Sub lv_promos_ItemLongClick (Position As Int, Value As Object) + Log("Promo longclic = "&Value) + Private id As String = "" + Dim c As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_ID from cat_gunaprod where CAT_GP_TIPO = 'PROMOS' and CAT_GP_NOMBRE = '${Value}'"$) + If c.RowCount > 0 Then + c.Position = 0 + id = c.GetString("CAT_GP_ID") + End If + l_info.Text = $"ID: ${id}${CRLF}${Value}"$ + l_info.Visible = True +End Sub + +Private Sub b_buscar_Click + forzarBusqueda = True + Busca_TextChanged("",BUSCA.Text) +End Sub + +Private Sub lv_tipo_ItemClick (Position As Int, Value As Object) +' lfila.text = "SUB TIPO" +' lv_tipo.Visible = False +' lv_subtipo.Height = Root.Height * 0.7 +' lv_subtipo.Visible = True +' Private c As Cursor = starter.skmt.ExecQuery2("select distinct CAT_GP_SUBTIPO from cat_gunaprod where CAT_GP_TIPO = ? order by CAT_GP_SUBTIPO", Array As String(Value)) +' If c.RowCount > 0 Then +' Dim label1 As Label +' label1 = lv_subtipo.SingleLineLayout.Label +' label1.TextSize = 17 +' label1.TextColor = Colors.Black +' lv_subtipo.Clear +' For i=0 To c.RowCount-1 +' c.Position=i +' lv_subtipo.AddSingleLine(c.GetString("CAT_GP_SUBTIPO")) +' Next +' End If +' c.Close +End Sub + +Private Sub lv_subtipo_ItemClick (Position As Int, Value As Object) +' lfila.text = "SUB TIPO" +' LogColor("Catalogo", Colors.red) +' lv_catalogos.Visible = False +' lv_subtipo.Visible = False +' lv_promos.Visible = False +' lfila.text = "CATALOGO" +' ProgressDialogShow("Cargando catalogo ...") +' Sleep(100) +' Private inicioContador As String = DateTime.Now +' llenaCatalogo(Value) +' clv_prods_ll.AsView.Visible = True +' LogColor("TIEMPO DE PROCESO DEL CATALOGO: " & ((DateTime.Now-inicioContador)/1000), Colors.Red) +' ProgressDialogHide +End Sub + +Private Sub p_vistaPreviaTrans_Click + +End Sub + +Private Sub b_rechazar_Click + If folio <> "" Then + result = Msgbox2($"Seguro que desea borrar el pedido completo?${CRLF}Haciendo clic largo sobre un producto se pueden borrar articulos por separado."$,"Rechazar Pedido", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore + If result = DialogResponse.POSITIVE Then + Subs.borraPedidoClienteActual + prodsMap.Initialize + B4XPages.MainPage.promos.promosMap.Initialize +' Log("Llamamos LlenaProdsLL") + LlenaProdsLL(Null, Null) +' Log("Positivo") + Subs.iniciaActividad("Cliente") +' B4XPages.ShowPage("Cliente") + Else +' Log("NO Positivo") + p_vistaPreviaTrans.Visible = False + End If + Else + Msgbox("LA VENTA YA SE TRANSMITIO, FAVOR DE LLAMAR A SOPORTE PARA ASISTENCIA","AVISO") 'ignore + End If + p_vistaPreviaTrans.Visible=False + Subs.iniciaActividad("Cliente") +' B4XPages.ShowPage("Cliente") +End Sub + +Private Sub b_aceptar_Click +' Log(listaProds) + Private p As Cursor = Starter.skmt.ExecQuery("select count(pe_costo_tot) as total FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + p.Position = 0 +' LogColor(p.GetString("total"), Colors.red) + If p.GetString("total") < 1 Then LlenaProdsLL(Null, Null) + p_vistaPreviaTrans.Visible=False + Subs.iniciaActividad("Cliente") +' B4XPages.ShowPage("Cliente") +End Sub + +Private Sub lv_prodsPedido_ItemLongClick (Position As Int, Value As Object) + c=Starter.skmt.ExecQuery("select count(*) as CUANTOS from CLIENTE_IMPRESO where CI_CUENTA in (Select CUENTA from cuentaa)") + c.Position = 0 + Log(list_prodsPedido) + Log("lista prods="&list_prodsPedido.Get(Position)) + Private m As Map = list_prodsPedido.Get(Position) + Log("m1= "&m) + If c.GetString("CUANTOS") = 0 Or Subs.clienteActual = "0" Then 'Si la venta no está impresa o es abordo entonces continuamos ... + Private sDate,sTime, clie_id, usuario As String + result = Msgbox2("Seguro que desea borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore + If result = DialogResponse.POSITIVE Then + Private prod As Cursor=Starter.skmt.ExecQuery2("select PE_PROID, PE_CANT, PE_CEDIS FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value)) + prod.Position=0 + Log("m2= " & m) + c.Close + Log($"Buscamos: ${Value}, ${m.Get("cedis")}"$) + c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from cat_gunaprod2 where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'", Array As String(Value, m.Get("cedis"))) + c.Position=0 + If c.GetString("CUANTOS") > 0 Then + Log($"Borramos de PROMO ${Value}"$) + Private pPromos As Cursor = Starter.skmt.ExecQuery($"select pe_proid, pe_cant from pedido where pe_cedis = '${m.Get("cedis")}'"$) + For tp = 0 To pPromos.RowCount - 1 + pPromos.Position = tp + Log($"SUMAMOS ${pPromos.GetString("PE_CANT")} a ${pPromos.GetString("PE_PROID")} "$) + Starter.skmt.ExecNonQuery($"update ${Subs.traeTablaProds(Starter.tipov)} set cat_gp_almacen = cat_gp_almacen + ${pPromos.GetString("PE_CANT")} where cat_gp_id = '${pPromos.Getstring("PE_PROID")}'"$) + Next + Starter.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where PE_CEDIS = ? and pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(m.Get("cedis"), Value)) + Else + Log($"SUMAMOS ${m.get("cant")} a ${m.get("prodId")} "$) + Starter.skmt.ExecNonQuery2($"update ${Subs.traeTablaProds(Starter.tipov)} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(m.get("cant"), m.get("prodId"))) + Log($"BORRAMOS ${Value}, ${m.Get("cedis")}"$) + Starter.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cant = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value, m.Get("cedis"), m.Get("cant"))) + End If + prod.Close + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position=0 + If c.GetString("CUANTOS") > 0 Then + Log($"============== TOTAL = ${c.GetString("TOTAL_CLIE")}"$) + If c.GetString("TOTAL_CLIE") < 1 Then + Starter.skmt.ExecNonQuery("delete from pedido where PE_PRONOMBRE like 'CAMBIO%' and PE_CLIENTE In (select cuenta from cuentaa)"$) + End If + + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps)) + Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + Else + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + End If + b_terminar1_Click + End If + Else + ToastMessageShow("Esta venta ya esta impresa, no se puede editar ni borrar.", False) + End If +End Sub + +Private Sub clv_prods_ll_ItemClick (Index As Int, Value As Object) + +End Sub + +Sub l_prodX_Click + Log("l_prodx clicked") + l_info.Text = Sender.as(Label).text + Log(Sender.as(Label).tag) + l_info.BringToFront + l_info.Visible = True +' Dim index As Int = clv_prods_ll.GetItemFromView(Sender) +' Private p0 As B4XView = clv_prods_ll.GetPanel(index) +' Private p As B4XView = p0.GetView(0) +' Private cant1 As B4XView = p.GetView(2).GetView(2) +' Dim index As Int = clv_prods_ll.GetItemFromView(Sender) + '' Log(clv_prods_ll.GetValue(index)) +' Log(cant1.Text) +End Sub + +Private Sub l_prodX_LongClick + '' Log("longClic = "&Sender.as(Label).Text) +' If Subs.traeCliente <> 0 Then +' Dim index As Int = clv_prods_ll.GetItemFromView(Sender) +' Private pId As String = clv_prods_ll.GetValue(index).As(Map).Get("id") +' Private pNombre As String = clv_prods_ll.GetValue(index).As(Map).Get("prod") +' Private t As Cursor = Starter.skmt.ExecQuery("select sum(PE_COSTO_TOT) as ventaTotal from pedido where PE_CLIENTE in (Select CUENTA from cuentaa)") +' t.Position = 0 +' Private ventaT As String = t.GetString("ventaTotal") +' If ventaT = Null Then ventaT = 0 +' If ventaT > 0 Then +' t = Starter.skmt.ExecQuery("select sum(PE_PRECIO2) as totalRMI from pedido where PE_PRONOMBRE like 'CAMBIO%' and PE_CLIENTE in (Select CUENTA from cuentaa)") +' t.Position = 0 +' Private totalRMI As String = t.GetString("totalRMI") +' If totalRMI = Null Then totalRMI = 0 +' l_rmi_nombre.Text = Sender.as(Label).Text +' Private pu0() As String = Regex.Split("\$", Sender.as(Label).Text) +' Private pu As String +' If pu0.Length > 1 Then pu = pu0(pu0.Length-1) Else pu = 0 + '' Log(ventaT & ", " & totalRMI & ", " & Sender.as(Label).tag & ", " & pu) +' l_rmi_usado.Text = $"RMI usado: $$1.2{(totalRMI)}"$ +' l_montoDisponible.Text = $"Disponible para RMI: $$1.2{(ventaT-totalRMI)}"$ +' Private m As Map = CreateMap("disponible":(ventaT-totalRMI), "inv":Sender.as(Label).tag, "totalRMI":totalRMI, "pu":pu, "id":pId, "nombre":pNombre) +' rmiMap = m +' ' b_rmi_mas.Tag = m +' ' b_rmi_menos.Tag = m +' ' b_rmi_aceptar.Tag = m +' Subs.centraPanel(p_rmi, Root.Width) +' l_rmi_cant.Text = 0 +' l_rmi_total.text = "" +' p_rmi.BringToFront +' p_rmi.Visible = True +' Else +' ToastMessageShow("No hay venta suficiente para RMIs", True) +' End If +' End If +End Sub + +Private Sub clv_prods_ll_VisibleRangeChanged (FirstIndex As Int, LastIndex As Int) +' Private inicioContador As String = DateTime.Now +' Log($"clv_prods_ll_VisibleRangeChanged : ${FirstIndex}, ${LastIndex} "$) + Dim ExtraSize As Int = 30 'List size + For i = Max(0, FirstIndex - ExtraSize) To Min(LastIndex + ExtraSize, clv_prods_ll.Size - 1) + Dim Pnl As B4XView = clv_prods_ll.GetPanel(i) + If i > FirstIndex - ExtraSize And i < LastIndex + ExtraSize Then +' Log(listaRenglones) + If Pnl.NumberOfViews = 0 Then 'Add each item/layout to the list/main layout + Pnl.LoadLayout("proditem") + p_prods.Width = Root.Width * 0.90 + p_botMasMen.Left = p_prods.Width - (p_botMasMen.Width + 5) + Pnl.Height = p_prods.Height + Private cs As CSBuilder + cs.Initialize + l_prodX.Width = p_prods.Width - p_botMasMen.Width + l_prodX.SetTextSizeAnimated(0, 13) + If clv_prods_ll.GetValue(i).As(Map).Get("cant") <> Null And clv_prods_ll.GetValue(i).As(Map).Get("cant") > 0 Then + p_prods.Color=0xFFE2EEFF + et_pCant.TextColor=Colors.Red +' Log("VENDIDO ") + b_prodMenos.Tag = "vendido" + b_prodMas.Tag = "vendido" + If Subs.revisaImpresa Then + Log("YA IMPRESO") + et_pCant.Enabled = False +' b_prodMas.Enabled = False + b_prodMenos.Enabled = False + End If + End If + Private precio As String=NumberFormat2(clv_prods_ll.GetValue(i).As(Map).Get("precio").As(Double),1,2,2,False) + If clv_prods_ll.GetValue(i).As(Map).Get("cant") <> Null Then et_pCant.Text = clv_prods_ll.GetValue(i).As(Map).Get("cant") + l_prodX.Text = cs.Color(Colors.red).append(clv_prods_ll.GetValue(i).As(Map).Get("prod")).pop.append(CRLF).Append("Existencias: " & clv_prods_ll.GetValue(i).As(Map).Get("almacen")).Color(0xFF017F01).Append($" $${precio}"$).Popall + l_prodX.Tag = clv_prods_ll.GetValue(i).As(Map).Get("almacen") + l_pCant.Tag = clv_prods_ll.GetValue(i).As(Map).Get("id") + End If +' Log($"${i}, ${FirstIndex}, ${LastIndex}, ${Pnl.NumberOfViews}. ${clv_prods_ll.Size}"$) + Else 'Not visible + ' If Pnl.NumberOfViews > 0 Then + ' Pnl.RemoveAllViews 'Remove none visable item/layouts from the list/main layout + ' End If + End If + PCLV.B4XSeekBar1.Value = clv_prods_ll.Size - FirstIndex +' Log($"Bar value: ${PCLV.B4XSeekBar1.Value}"$) + Next +End Sub + +Sub Busca_TextChanged (Old As String, New As String) +' Private inicioContador As String = DateTime.Now + If (New.Length = 1 Or New.Length = 2) And Not(forzarBusqueda) Then Return + forzarBusqueda = False + If lfila.text = "PROMOCIONES" Then + If Not(lv_promos.Visible) Then lv_promos.Visible = True + Private cPromo As Cursor=Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from ${query} where CAT_GP_NOMBRE like '%${New}%' and CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS' AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID)"$) + Log($"res:${cPromo.RowCount}"$) + If cPromo.RowCount > 0 Then + lv_promos.Clear + For i=0 To cPromo.RowCount -1 + cPromo.Position=i + Private tm As Map = Subs.procesaPromocion(cPromo.GetString("CAT_GP_ID"), clienteId) + If tm.Get("status") = "ok" Then 'Solo muestrala si hay producto. + lv_promos.AddTwoLines(cPromo.GetString("CAT_GP_NOMBRE"),"# " & cPromo.GetString("CAT_GP_ALMACEN") & " $ " & cPromo.GetString("CAT_GP_PRECIO") & " F:" & tm.Get("mp").As(Map).Get("prodsFijosCant") & " V:" & tm.Get("mp").As(Map).Get("prodsVariablesCant")) + End If + Next + Else + ToastMessageShow("No hay promociones disponibles.", False) + End If + cPromo.Close + Else + If Not(clv_prods_ll.AsView.Visible) Then clv_prods_ll.AsView.Visible = True + clv_prods_ll.Clear + listaProds.Initialize + listaHints.Initialize + Sleep(0) + Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from CAT_GUNAPROD2 where CAT_GP_NOMBRE like '%${New}%' and CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_CLASIF <> 'PROMOS' order by CAT_GP_NOMBRE"$) + ' c2= Starter.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from " & query & " where CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO =? AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) ", Array As String( Value, Value) + Log("Llamamos LlenaProdsLL") + LlenaProdsLL(p, Null) + End If +End Sub + +Sub LlenaProdsLL(p As ResultSet, extra As String) +' Log("LlenaProdsLL") + listaProds.Initialize + hayPedido = Subs.hayPedido + Log($"HAYPEDIDO: ${hayPedido}"$) + If hayPedido Then 'Si hay pedido obtenemos las cantidades de los productos para agregarlos al CLV. + Dim cantsMap As Map + cantsMap.Initialize + Dim pe As ResultSet = Starter.skmt.ExecQuery($"select PE_PROID, PE_CANT from PEDIDO where PE_CLIENTE = '${clienteId}' and PE_CEDIS = '${Subs.traeAlmacen}'"$) + 'Si EXTRA es igual a rmi, entonces regresamos los RMIs existentes. + If extra = "rmi" Then pe = Starter.skmt.ExecQuery($"select PE_PROID, PE_CANT from PEDIDO where PE_CLIENTE = '${clienteId}' and PE_CEDIS = 'DUR'"$) + + LogColor("Ponemos productos de pedido anterior: "&pe.RowCount, Colors.red) + Do While pe.NextRow + Private cant As Int = 0 + cantsMap.put(pe.GetString("PE_PROID"), pe.GetString("PE_CANT")) + Loop +' Log($"Con pedido: ${pe.RowCount}"$) +' Log("CANTSMAP: " & cantsMap) + pe.Close + End If +' Log(p.IsInitialized) + If query = "" Or query = Null Then query = "cat_gunaprod2" + If p.IsInitialized Then +' Log($"YA HAY RESULTSET ${p.RowCount}"$) + Else +' Log("NO HAY RESULTSET") + Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Subs.traeTablaProds(Starter.tipov)} where CAT_GP_PRECIO > 0 And CAT_GP_CLASIF <> 'PROMOS' order by CAT_GP_NOMBRE"$) + End If + + Do While p.NextRow + Private cant As Int = 0 + If hayPedido And cantsMap.ContainsKey(p.GetString("CAT_GP_ID")) Then cant = cantsMap.Get(p.GetString("CAT_GP_ID")) + Dim tempMap As Map = CreateMap("prod":p.GetString("CAT_GP_NOMBRE"), "precio":p.GetString("CAT_GP_PRECIO"), "almacen":p.GetString("CAT_GP_ALMACEN"), "id":p.GetString("CAT_GP_ID"), "cant":cant) + listaProds.Add(tempMap) +' Log($"${p.GetString("CAT_GP_ID")}, ${p.GetString("CAT_GP_NOMBRE")}, ${cant}"$) + Loop + p.Close + +' Log("LISTAPRODS: " & listaProds) + PCLV.Commit + clv_prods_ll.Clear + Private listaProdsConCant, listaProdsConCantIndex As List + listaProdsConCant.Initialize + listaProdsConCantIndex.Initialize + listaHints.Initialize +' Log(listaProds) + For q = 0 To listaProds.Size - 1' Sacamos los productos con cantidad previa. + If listaProds.Get(q).As(Map).Get("cant").As(Int) <> 0 Then +' Log(listaProds.Get(q).As(Map).Get("cant")) + listaProdsConCant.Add(listaProds.Get(q)) + listaProdsConCantIndex.Add(q) + End If + Next +' Log("PRODCONCANT: " & listaProdsConCant) +' Log(listaProdsConCantIndex) + Private cont As Int = 0 + For pr0=0 To listaProdsConCant.Size - 1 'Agregamos los productos con cantidad previa. + Private Pnl As B4XView = xui.CreatePanel("") + Pnl.SetLayoutAnimated(0, 0, 0, clv_prods_ll.AsView.Width, 50dip) + Private tempMap As Map = listaProdsConCant.Get(pr0) + Private inv = tempMap.Get("almacen") + tempMap.Get("cant") + tempMap.Put("almacen", inv) + Log(tempMap) + clv_prods_ll.Add(Pnl, tempMap) + listaHints.Add(listaProdsConCant.get(pr0).As(Map).Get("prod")) + cont = cont + 1 + Next +' LogColor(clv_prods_ll.Size, Colors.red) +' Log(listaProds.Size) + For pr = 0 To listaProds.Size - 1 + If listaProdsConCantIndex.IndexOf(pr) = -1 Then + Private Pnl As B4XView = xui.CreatePanel("") + If listaProds.Get(pr).As(Map).Get("almacen") < 1 Then +' Log("EN CERO" & listaProds.Get(pr).As(Map).Get("prod") & "|" & listaProds.Get(pr).As(Map).Get("almacen")) + Else + Pnl.SetLayoutAnimated(0, 0, 0, clv_prods_ll.AsView.Width, 50dip) + clv_prods_ll.Add(Pnl, listaProds.Get(pr)) + listaHints.Add(listaProds.get(pr).As(Map).Get("prod")) + cont = cont + 1 + End If + End If + Next +' LogColor(clv_prods_ll.Size, Colors.red) +' PCLV.Commit +' Log("CONT=" & cont) +' Log("CLV_PRODSLL="&clv_prods_ll.Size) + PCLV.B4XSeekBar1.MaxValue = clv_prods_ll.Size + PCLV.B4XSeekBar1.MinValue = 0 + PCLV.B4XSeekBar1.Interval = clv_prods_ll.Size/20 + PCLV.B4XSeekBar1.Value = clv_prods_ll.Size + PCLV.B4XSeekBar1.Update +' Log($"Min:0, max:${clv_prods_ll.Size}, Interval:${clv_prods_ll.Size/20}"$) + reiniciarlistaProds = False +End Sub + +'Return the hint that will be displayed when the user fast scrolls the list. It can be a string or CSBuilder. +Sub PCLV_HintRequested(Index As Int) As Object + Dim word As String = listaHints.get(Index) + Return word +End Sub + +'Return the hint that will be displayed when the user fast scrolls the list. It can be a string or CSBuilder. +Sub PCLV2_HintRequested(Index As Int) As Object + Dim word As String = listaHints.get(Index) + Return word +End Sub + +Private Sub p_rmi_Click + +End Sub + +Private Sub b_rmi_aceptar_Click + If l_rmi_cant.Text > 0 Then Subs.guardaCambiosDeProducto(l_rmi_cant.Text, rmiMap.Get("nombre"), rmiMap.Get("id"), rmiMap.Get("pu")*l_rmi_cant.Text, query) +' Log($"${l_rmi_cant.Text}, ${rmiMap.Get("nombre")}, ${rmiMap.Get("id")}, ${rmiMap.Get("pu")}, ${query}"$) + p_rmi.Visible = False +End Sub + +Private Sub b_rmi_menos_Click + Log(Sender.As(Button).tag) +' Private d As Map = Sender.As(Button).tag + Private cant As String = l_rmi_cant.Text + If (cant - 1) >= 0 Then + l_rmi_cant.Text = $"$1.0{(l_rmi_cant.Text - 1)}"$ + l_rmi_total.Text = $"Total RMI $$1.2{(cant - 1) * rmiMap.Get("pu")}"$ + End If +End Sub + +Private Sub b_rmi_mas_Click + Log(Sender.As(Button).tag) +' Private d As Map = Sender.As(Button).tag + Private cant As String = l_rmi_cant.Text + If (cant + 1) <= rmiMap.Get("inv") And ((cant + 1) * rmiMap.Get("pu")) <= rmiMap.Get("disponible") Then + l_rmi_cant.Text = $"$1.0{(l_rmi_cant.Text + 1)}"$ + l_rmi_total.Text = $"Total RMI $$1.2{(cant + 1) * rmiMap.Get("pu")}"$ + End If +End Sub + +Private Sub b_rmi_Click + Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, '1000' as CAT_GP_ALMACEN from CAT_RMI order by CAT_GP_NOMBRE"$) + Log($"Llamamos LlenaProdsLL con ${p.RowCount} prods."$) + lfila.Text = "RMI" + b_rmi.Visible = False + lv_catalogos.Visible = False + LlenaProdsLL(p, "rmi") + clv_prods_ll.AsView.BringToFront + clv_prods_ll.AsView.Visible = True + l_mDisponible.Visible = True +End Sub diff --git a/B4A/C_Productos2.bas b/B4A/C_Productos2.bas new file mode 100644 index 0000000..6ac5a66 --- /dev/null +++ b/B4A/C_Productos2.bas @@ -0,0 +1,1331 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + '// Process Gloals + Dim g As GPS + Dim ruta As String + Dim q_buscar As String + '// Globals + Dim c As Cursor + Dim c2 As Cursor + Dim ListView1 As ListView + Dim entro As String = 0 + Dim lfila As Label + Dim marca As String + Dim tipo As String + Private BUSCA As EditText + Dim ya_entro As String + Dim bmp As Bitmap + Dim c As Cursor + Dim e As Cursor + Dim f As Cursor + Dim h As Cursor + Dim CC As Cursor + Dim DD As Cursor + Dim l_tipo As Label + Dim l_sub As Label + Dim l_marca As Label + Dim l_desc As Label + Dim l_precio As Label + Dim l_bodega As Label + Dim cantidad As EditText + Dim guardar As Button + Dim Terminar As Button + Dim img_prod As ImageView + Dim IMG_PASO() As Byte + Dim L_PROID As Label + Dim clie_id As String + Dim sDate,sTime As String + Dim usuario As String + Dim lat_gps, lon_gps As String + Dim t_venta As Label + Dim PROMO_C As String + Dim i_fotol As ImageView + Private DESC_PROMO As Button + Private nopromo As Button + Dim TOT_ART_PROMO As String + Dim cambio As String + Dim COSTO_TOT As String + Dim ALMACEN As String + Dim preciosin As String + Dim cl_ruta As String + Dim d As Cursor + Dim TOT_ART_PROMOR As String + Dim PROMO_CR As String + Dim TOTAL_PROMO As String + Dim HCCP_CANT As String + Private Panel1 As Panel + Dim query As String + Private t_precio As Label + Private LV_PRECIOS As ListView + Private PERFIL As String + Private EXISTE_CAMBIO As String + Private QUERY2 As String + Dim CAMBIOS As String + Dim precio2 As String + Private B_MENOS As Button + Private B_MAS As Button + Private E_CAMBIO As EditText + Private B_MENOSC As Button + Private B_MASC As Button + Private limite_abordo As String + Private limite_anterior As String + Private cuenta As String + Private limite_actual As String + Private l_invact As Label + Private L_LINV As Label + Private L_CANT As Label + Private V_ANT_SALIR As String + Private L_CARGA As Label + Private DESC_SS As String + Private DESC_PING As String + Private DESC_RTEC As String + Private TIPO_CLIENTE As String + Private PROMOS_VENTAS As String + Private Label3 As Label + Private ImageView4 As ImageView + Dim PRECIO_CERO As String + Private SI_APLICA_PROMO As String + Private PROMO_ESP As String + Private TOTAL_PROMO_CLIE As String + Private INV_TOTAL_PROMO As String + Private YA_IMPRIMIO As String + Private HCCP_CANT_E As String + Dim lvClic As Map + Private TECLA_BACK As String = 0 + Private lv_producto2 As ListView + Private lv_subtipo As ListView + Dim logger As Boolean = True +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + If Not(Starter.Logger) Then logger = False + Root = Root1 + 'load the layout to Root + Root.LoadLayout("productos") + ruta = File.DirInternal + Panel1.Visible= False + lvClic.Initialize +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub B4XPage_Appear +' If Subs.traeUltimaActividadBD <> "Productos" Then Subs.iniciaActividad(Subs.traeUltimaActividadBD) + Terminar.Enabled = True + guardar.Enabled = True + If Subs.clienteActual <> "0" Then Starter.tipov = "VENTA" Else Starter.tipov = "ABORDO" + If logger Then Log(Subs.clienteActual & "|" &Starter.tipov) + If logger Then Log("Entro="&entro) + If logger Then Log("ya_entro="&ya_entro) + If Starter.tipov = "PREVENTA" Then + query = "cat_gunaprod" + QUERY2 = "COUNT_GUNAPROD" + Else IF Starter.tipov = "VENTA" Then + query = "cat_gunaprod2" + QUERY2= " COUNT_GUNAPROD2" + ELSE IF Starter.tipov = "ABORDO" Then + query = "cat_gunaprod" + QUERY2 = "COUNT_GUNAPROD" + Else + query = "cat_gunaprod" + QUERY2 = "COUNT_GUNAPROD" + End If + E_CAMBIO.Text = "0" + cantidad.Text = "0" + If ya_entro <> "1" Then + If entro=0 Then entro ="2" + ya_entro ="1" + Dim label1 As Label + label1 = ListView1.TwoLinesLayout.Label + label1.TextSize = 14 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = ListView1.TwoLinesLayout.SecondLabel + label2.TextSize = 14 + label2.TextColor = Colors.Black + c2=Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS, CAT_GP_TIPO from " & query & " where CAT_GP_ALMACEN > 0 AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) GROUP BY CAT_GP_TIPO ORDER BY CAT_GP_TIPO ASC") + ListView1.Clear + lfila.text = "TIPO" + lvClic.Put("PASO", "TIPO") + If c2.RowCount>0 Then + For i=0 To c2.RowCount -1 + c2.Position=i + ListView1.AddTwoLines(c2.GetString("CAT_GP_TIPO"),c2.GetString("CUANTOS")) + Next + End If + entro = "2" + Else + entro = "3" + If logger Then LogColor($"Entro=${entro}"$, Colors.Blue) + ListView1_ItemClick(1,V_ANT_SALIR) + End If + c=Starter.skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL")) + c.Position =0 + PERFIL = c.GetString("CAT_VA_VALOR") + c.Close + If PERFIL = "V-COSTO" Then + Starter.skmt.ExecNonQuery("DELETE FROM CAT_GUNAPROD2 WHERE CAT_GP_ID IN (SELECT CAT_GP_ID FROM LISTA_PRECIOS WHERE NLISTA = '9' AND PRECIO = '0')") + End If + ListView1.Visible = True + If cuenta = "0" Then + B4XPages.mainpage.Cliente.CREDITO_DISPONIBLE = 10000000 + End If + + LogColor(ListView1.Visible,Colors.Red) +End Sub + +Sub ListView1_ItemClick (Position As Int, Value As Object) + Private l As List + l.Initialize + l.Add(Position) + l.Add(Value) + If lvClic.ContainsKey("ultimo") Then lvClic.Put("anterior", lvClic.get("ultimo")) + lvClic.Put("ultimo", l) +' If Logger Then Log($"lvClic=${lvClic}"$) + Private Subrutina As Map =CreateMap("nombre":"ListView1_ItemClick", "param1":Position, "param2":Value) + Starter.sesion = CreateMap("actividad":Me, "sub":Subrutina) +' If Logger Then LogColor($"Entro=${entro}, Value=${Value}"$, Colors.Blue) + If Value = "PROMOS" And B4XPages.mainpage.Cliente.cuenta <> "N" Then + entro = "3" + marca = "PROMOS" + tipo = "PROMOS" + Else if Value = "PROMOS" And B4XPages.mainpage.Cliente.cuenta = "N" Then + entro = "5" + Subs.iniciaActividad("Cliente") + End If + If entro = "1" Then + marca = Value + c2=Starter.skmt.ExecQuery2("select COUNT(*) AS CUANTOS, CAT_GP_TIPO from " & query & " where CAT_GP_ALMACEN > 0 and CAT_GP_CLASIF = ? AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) GROUP BY CAT_GP_TIPO ORDER BY CAT_GP_TIPO ASC", Array As String(Value)) + ListView1.Clear + lfila.text = "TIPO" + lvClic = CreateMap("PASO":0, "TIPO":0, "SUB-TIPO":0) + lvClic.Put("TIPO", l) + lvClic.Put("PASO", lfila.Text) + If logger Then Log("lvClic="&lvClic) + If c2.RowCount>0 Then + For i=0 To c2.RowCount -1 + c2.Position=i + ListView1.AddTwoLines(c2.GetString("CAT_GP_TIPO"),c2.GetString("CUANTOS")) + Next + End If + entro = "3" + Else If entro = "2" Then 'Or lvClic.Get("PASO") = "TIPO" Then + tipo = Value + c2=Starter.skmt.ExecQuery2("select COUNT(*) AS CUANTOS, CAT_GP_SUBTIPO from " & query & " where CAT_GP_ALMACEN > 0 and CAT_GP_TIPO = ? AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) GROUP BY CAT_GP_SUBTIPO ORDER BY CAT_GP_SUBTIPO ASC ", Array As String( Value)) + ListView1.Clear + lfila.text = "SUB-TIPO" + lvClic.Put("PASO", lfila.Text) + lvClic.Put("SUB-TIPO", l) +' If Logger Then Log("lvClic="&lvClic) + If c2.RowCount>0 Then + For i=0 To c2.RowCount -1 + c2.Position=i + ListView1.AddTwoLines(c2.GetString("CAT_GP_SUBTIPO"),c2.GetString("CUANTOS")) + Next + End If + entro = "3" +' If Logger Then LogColor($"Entro=${entro}, Value=${Value}"$, Colors.Blue) + Else If entro = "3" Then + TECLA_BACK = 0 + If tipo = "PROMOS" Then TECLA_BACK = 1 +' If Logger Then LogColor($"Entro=${entro}, Value=${Value}"$, Colors.Blue) + V_ANT_SALIR = Value + c2=Starter.skmt.ExecQuery2("select CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from " & query & " where CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO =? AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) ", Array As String( tipo, Value)) + ListView1.Clear + lfila.text = "PRODUCTO" + lvClic.Put("PASO", lfila.Text) + lvClic.Put("PRODUCTO", l) +' If Logger Then Log("lvClic="&lvClic) + Dim ins As InputStream + Dim bmp As Bitmap + Dim jpeg() As Byte + If c2.RowCount>0 Then + For i=0 To c2.RowCount -1 + c2.Position=i + jpeg = c2.GetBlob("CAT_GP_IMG") + ins.InitializeFromBytesArray(jpeg, 0, jpeg.Length) + bmp.Initialize2(ins) + ListView1.AddTwoLines(c2.GetString("CAT_GP_NOMBRE"),"# " & c2.GetString("CAT_GP_ALMACEN") & " $ " & c2.GetString("CAT_GP_PRECIO")) + Next + End If + entro = "4" +' LogColor($"Entro=${entro}, Value=${Value}"$, Colors.Blue) + Else If entro = "4" Then +' If Logger Then LogColor($"Entro=${entro}, Value=${Value}"$, Colors.Blue) + Starter.skmt.ExecNonQuery("delete from PROID") + Starter.skmt.ExecNonQuery2("INSERT INTO PROID VALUES (?)", Array As Object(Value)) + HACER_PEDIDO + End If +End Sub + +Private Sub lv_subtipo_ItemClick (Position As Int, Value As Object) + +End Sub + +Private Sub lv_producto2_ItemClick (Position As Int, Value As Object) + +End Sub + +Sub B4XPage_CloseRequest As ResumableSub'ignore + ' BACK key pressed + If logger Then LogColor("BACK", Colors.Red) +' If Logger Then Log("entro=" & entro) +' If Logger Then Log("lvClic="&lvClic) + If TECLA_BACK = 1 Then entro ="2" +' If key=KeyCodes.KEYCODE_BACK Then + ya_entro ="0" + If entro = "4" Or entro = "3" Then + entro = "2" + TECLA_BACK = 1 + ListView1_ItemClick(1,tipo) + Return True + Else If entro = "2" Then 'Antes 3 + B4XPage_Appear + Return False + Else + If logger Then LogColor($"Entro=${entro} - BACK"$, Colors.Blue) + Return False + End If +' End If + ' Returning False signals the system to handle the key +End Sub + +Sub BUSCA_TextChanged (Old As String, New As String) + q_buscar = "%" & BUSCA.Text & "%" + c=Starter.skmt.ExecQuery2("select CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO,CAT_GP_IMG from " & query & " where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_NOMBRE like ? and CAT_GP_CLASIF <> ? AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) order by CAT_GP_NOMBRE asc", Array As String(q_buscar,"PROMOS")) + ListView1.Clear + Dim ins As InputStream + Dim bmp As Bitmap + Dim jpeg() As Byte + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + jpeg = c.GetBlob("CAT_GP_IMG") + ins.InitializeFromBytesArray(jpeg, 0, jpeg.Length) + bmp.Initialize2(ins) + ListView1.AddTwoLines(c.GetString("CAT_GP_NOMBRE"),"Existencia " & c.GetString("CAT_GP_ALMACEN") & " Precio $" & c.GetString("CAT_GP_PRECIO")) + Next + End If + c.Close + entro= "4" +End Sub + +Sub HACER_PEDIDO + ListView1.Visible = False + c=Starter.skmt.ExecQuery("Select SUBSTR(CUENTA,1,1) AS CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c.Close + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") +' If Logger Then Log("+ + + "&c.RowCount) + c.Position=0 + cuenta = c.GetString("CUENTA") + c.Close + Panel1.Visible= True + cambio = "0" + cantidad.Text = "0" + c=Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN") +' If Logger Then Log("+ + + "&c.RowCount) + C.Position =0 + ALMACEN = C.GetString("ID_ALMACEN") + C.Close + i_fotol.Visible = False + c=Starter.skmt.ExecQuery("select CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV from " & query & " where CAT_GP_NOMBRE In (Select PDESC from PROID)") + c.Position=0 + L_PROID.Text = c.GetString("CAT_GP_ID") + l_tipo.Text = c.GetString("CAT_GP_TIPO") + l_sub.Text = c.GetString("CAT_GP_SUBTIPO") + l_marca.Text = c.GetString("CAT_GP_CLASIF") + l_desc.Text = c.GetString("CAT_GP_NOMBRE") + If PERFIL = "V-SUPER" Then + c2=Starter.skmt.ExecQuery("select PRECIO, NLISTA FROM LISTA_PRECIOS WHERE NLISTA = '10' AND CAT_GP_ID =" & "'" &L_PROID.TEXT&"' ORDER BY NLISTA ASC") + If logger Then Log("+ + + "&c.RowCount) + c2.Position=0 + l_precio.Text = c2.GetString("PRECIO") + c2.Close + Else + l_precio.Text = c.GetDouble("CAT_GP_PRECIO") + End If + l_bodega.Text = c.GetString("CAT_GP_ALMACEN") + PROMOS_VENTAS = c.GetString("CAT_GP_ALMACEN") + IMG_PASO = c.GetBlob("CAT_GP_IMG") + PROMO_C = c.GetString("CAT_GP_STS") + cambio = c.GetString("CAT_GP_DEV") + preciosin = c.GetString("CAT_GP_IMP2") + PROMO_CR = c.GetString("CAT_GP_IMP1") + precio2 = l_precio.Text + c=Starter.skmt.ExecQuery("select CAT_VA_VALOR from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'LIMITE'") +' If Logger Then Log("+ + + "&c.RowCount) + If c.RowCount > 0 Then + C.Position = 0 + limite_abordo = C.GetString("CAT_VA_VALOR") + End If + C.Close + c=Starter.skmt.ExecQuery2("select sum(cat_gp_precio * cat_gp_almacen) as MONTO from cat_gunaprod2 where cat_gp_almacen > 0 and cat_gp_clasif <> ? ", Array As String("PROMOS")) +' If Logger Then Log("+ + + "&c.RowCount) + c.Position = 0 + limite_anterior = c.GetString("MONTO") + c.Close + If clie_id = "0" Then + l_invact.Visible=True + L_LINV.Visible=True + L_CARGA.Visible = True + L_CANT.Text ="PEDIDO" + c2=Starter.skmt.ExecQuery("select count(*) as CUANTOS from cat_gunaprod2 where CAT_GP_NOMBRE In (Select PDESC from PROID)") +' If Logger Then Log("+ + + "&c2.RowCount) + c2.Position =0 + If c2.GetString("CUANTOS") > 0 Then + c=Starter.skmt.ExecQuery("select CAT_GP_ALMACEN from cat_gunaprod2 where CAT_GP_NOMBRE In (Select PDESC from PROID)") + C.Position =0 + l_invact.text = C.GetString("CAT_GP_ALMACEN") + C.Close + Else + l_invact.text = 0 + End If + Label3.Visible = False + ImageView4.Visible = False + E_CAMBIO.Visible = False + B_MENOSC.Visible = False + B_MASC.Visible = False + Else + l_invact.Visible=False + L_LINV.Visible=False + L_CARGA.Visible = False + L_CANT.Text ="VENTA" + Label3.Visible = True + ImageView4.Visible = True + E_CAMBIO.Visible = True + B_MENOSC.Visible = True + B_MASC.Visible = True + End If + DESC_SS = 0 + DESC_PING = 0 + DESC_RTEC = 0 + CC=Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS FROM DESC_CLIENTES WHERE DC_CL_CLIENTE IN (Select cuenta from cuentaa) ") +' If Logger Then Log("+ + + "&CC.RowCount) + CC.Position =0 + If CC.GetString("CUANTOS") > 0 Then + DD=Starter.skmt.ExecQuery("SELECT DC_CL_CLIENTE , CAT_CL_DESCUENTO_SS , CAT_CL_DESCUENTO_RTEC , CAT_CL_DESCUENTO_PING, CAT_CL_TIPOCLIENTE FROM DESC_CLIENTES WHERE DC_CL_CLIENTE IN (Select cuenta from cuentaa) ") +' If Logger Then Log("+ + + "&DD.RowCount) + DD.Position =0 + DESC_SS = DD.GetString("CAT_CL_DESCUENTO_SS") + DESC_RTEC = DD.GetString("CAT_CL_DESCUENTO_RTEC") + DESC_PING = DD.GetString("CAT_CL_DESCUENTO_PING") + TIPO_CLIENTE = DD.GetString("CAT_CL_TIPOCLIENTE") + DD.Close + Else + DESC_SS = 0 + DESC_PING = 0 + DESC_RTEC = 0 + TIPO_CLIENTE = 0 + End If + CC.Close + '' esto es de las promos para activarlas despues + If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" Then + DESC_PROMO.Visible = True + CC=Starter.skmt.ExecQuery2("select count(*) as CUANTOS FROM PROMOS_COMP WHERE CAT_PA_ID = ?", Array As String(L_PROID.Text)) + CC.Position =0 + If CC.GetString("CUANTOS") = 0 Then + l_bodega.Text = "1" + Else + CC.Close + CC=Starter.skmt.ExecQuery2("select CAT_PA_MAXPROM, CAT_PA_MAXPROMREC, CAT_PA_MAXPROMCLIE FROM PROMOS_COMP WHERE CAT_PA_ID = ?", Array As String(L_PROID.Text)) + CC.Position =0 + + DD=Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM HIST_CLIENTE_CANT_PROMOS WHERE HCCP_CLIENTE IN (Select cuenta from cuentaa) AND HCCP_PROMO =?", Array As String(L_PROID.Text)) + DD.Position =0 + If DD.GetString("CUANTOS") = 0 Then + HCCP_CANT_E = 0 + Else + DD.Close + DD=Starter.skmt.ExecQuery2("SELECT HCCP_CANT FROM HIST_CLIENTE_CANT_PROMOS WHERE HCCP_CLIENTE IN (Select cuenta from cuentaa) AND HCCP_PROMO =?", Array As String(L_PROID.Text)) + DD.Position =0 + HCCP_CANT_E = DD.GetString("HCCP_CANT") + DD.Close + End If + DD=Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select cuenta from cuentaa) AND HVD_PRONOMBRE =?", Array As String(l_desc.Text)) + DD.Position =0 + If DD.GetString("CUANTOS") = 0 Then + HCCP_CANT = 0 + Else + DD.Close + DD=Starter.skmt.ExecQuery2("SELECT SUM(HVD_CANT) AS HCCP_CANT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select cuenta from cuentaa) AND HVD_PRONOMBRE =?", Array As String(l_desc.Text)) + DD.Position =0 + HCCP_CANT = DD.GetString("HCCP_CANT") + DD.Close + End If + HCCP_CANT_E = HCCP_CANT_E - HCCP_CANT + TOTAL_PROMO = CC.GetString("CAT_PA_MAXPROMCLIE") - HCCP_CANT + If HCCP_CANT = 0 Then + PROMOS_VENTAS = CC.GetString("CAT_PA_MAXPROM") + Else IF TOTAL_PROMO > CC.GetString("CAT_PA_MAXPROMREC") Then + PROMOS_VENTAS = CC.GetString("CAT_PA_MAXPROMREC") + Else + PROMOS_VENTAS = TOTAL_PROMO + End If + End If + Else + DESC_PROMO.Visible = False + End If + c.Close + c=Starter.skmt.ExecQuery("select CASE WHEN pe_costo_tot is null then 0 else sum( pe_costo_tot ) end as TOTAL_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position=0 + t_venta.Text = c.GetString("TOTAL_CLIE") + c.Close + Terminar.Visible = True + guardar.Visible = True + cantidad.Visible = True + If cambio = "1" Then + nopromo.Visible = True + Else + nopromo.Visible = False + End If + Dim out As OutputStream + out = File.OpenOutput(ruta, "1.jpg", False) + out.WriteBytes(IMG_PASO, 0, IMG_PASO.Length) + out.Close + img_prod.Bitmap = LoadBitmap(ruta,"1.jpg") + TOT_ART_PROMO = "0" + TOT_ART_PROMOR = "0" + If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" And l_bodega.Text = "0" Then + MsgboxAsync("ALERTA","EL CLIENTE YA NO PUEDE TENER ESTA PROMOCION") 'ignore + Panel1.Visible= False + End If + If marca = "PROMOS" Then + DD=Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM PROMOS_COMP WHERE CAT_PA_ID =?", Array As String(L_PROID.Text)) + DD.Position =0 + If DD.GetString("CUANTOS") > 0 Then + C=Starter.skmt.ExecQuery2("SELECT CAT_PA_MAXPROMCLIE FROM PROMOS_COMP WHERE CAT_PA_ID =?", Array As String(L_PROID.Text)) + C.Position =0 + TOTAL_PROMO_CLIE = c.GetString("CAT_PA_MAXPROMCLIE") + c.Close + Else + TOTAL_PROMO_CLIE = 0 + End If + DD.Close + Else + If TIPO_CLIENTE = "TDCK" Then + + c=Starter.skmt.ExecQuery("select PRECIO, NLISTA FROM LISTA_PRECIOS WHERE NLISTA ='10' AND CAT_GP_ID =" & "'" &L_PROID.TEXT&"' ORDER BY NLISTA ASC") + c.Position=0 + l_precio.Text = c.GetString("PRECIO") + c.Close + End If + End If + If l_tipo.Text = "SALTY SNACKS" Then + l_precio.Text = Round2(l_precio.Text -(l_precio.Text * DESC_SS/100),2) + ELSE IF l_tipo.Text = "PING" Then + l_precio.Text = Round2(l_precio.Text - (l_precio.Text * DESC_PING/100),2) + ELSE IF l_tipo.Text = "RTEC" Then + l_precio.Text = Round2(l_precio.Text - (l_precio.Text * DESC_RTEC/100),2) + End If + + If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" And l_bodega.Text = "0" Then + MsgboxAsync("ALERTA","EL CLIENTE NO PUEDE TENER ESTA PROMOCION") 'ignore + Panel1.Visible= False + End If + DD=Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM HIST_CLIENTE_CANT_PROMOS WHERE HCCP_CLIENTE IN (Select cuenta from cuentaa) AND HCCP_PROMO =?", Array As String(L_PROID.Text)) + DD.Position =0 + SI_APLICA_PROMO = DD.GetString("CUANTOS") + DD.Close + DD=Starter.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM HIST_CLIENTE_CANT_PROMOS WHERE HCCP_PROMO =?", Array As String(L_PROID.Text)) + DD.Position =0 + PROMO_ESP = DD.GetString("CUANTOS") + DD.Close + If PROMO_ESP > 0 And SI_APLICA_PROMO = 0 Then + MsgboxAsync("ALERTA","EL CLIENTE NO PUEDE TENER ESTA PROMOCION 1") 'ignore + Panel1.Visible= False + End If + If L_PROID.Text = "PROMO58" Then + l_bodega.Text = 1 + End If + If L_PROID.Text = "PROMO58" And HCCP_CANT_E < 1 Then + MsgboxAsync("ALERTA","EL CLIENTE NO PUEDE TENER ESTA PROMOCION <") + Panel1.Visible= False + End If + If HCCP_CANT_E = 0 And ( L_PROID.Text = "1000000001" Or L_PROID.Text = "PROMO243" Or L_PROID.Text = "PROMO244" Or L_PROID.Text = "PROMO245" )Then + MsgboxAsync("ALERTA","EL CLIENTE NO PUEDE TENER ESTA PROMOCION 0 " &HCCP_CANT & " "& L_PROID.Text) 'ignore + Panel1.Visible= False + Else IF L_PROID.Text = "1000000001" Or L_PROID.Text = "PROMO243" Or L_PROID.Text = "PROMO244" Or L_PROID.Text = "PROMO245" Then + l_bodega.Text = 1 + End If + If L_PROID.Text = "PROMO76" And HCCP_CANT = 0 Then + MsgboxAsync("ALERTA","EL CLIENTE NO PUEDE TENER ESTA PROMOCION 2") 'ignore + Panel1.Visible= False + Else IF L_PROID.Text = "PROMO76" Then + l_bodega.Text = 1 + End If + C=Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS FROM CAT_DESCUENTOS_SKU WHERE CAT_DS_CLIENTE IN (Select cuenta from cuentaa) AND CAT_DS_PRODID = " & "'" &L_PROID.TEXT&"' ") + C.Position =0 + If c.GetString("CUANTOS") > 0 Then + DD=Starter.skmt.ExecQuery("SELECT CAT_DS_PORCENTAJE FROM CAT_DESCUENTOS_SKU WHERE CAT_DS_CLIENTE IN (Select cuenta from cuentaa) AND CAT_DS_PRODID = " & "'" &L_PROID.TEXT&"' ") + DD.Position =0 + l_precio.Text = Round2(l_precio.Text - (l_precio.Text * DD.GetString("CAT_DS_PORCENTAJE")/100),2) + End If + c.Close + '' ESTO ES PARA NO PASAR DE LAS PROMOS ABORDO Y MANDARLAS AL MINIMO INICIO + If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" Then + e=Starter.skmt.ExecQuery2("select count(*) as CUANTOS FROM pedido WHERE PE_PROID = ? AND PE_CLIENTE IN (Select cuenta from cuentaa) ", Array As String(L_PROID.Text)) + e.Position =0 + If e.GetString("CUANTOS") = 0 Then + l_bodega.Text = PROMOS_VENTAS + e=Starter.skmt.ExecQuery2("select count(*) as CUANTOS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID = ? and cat_dp_tipo = 0", Array As String(L_PROID.Text) ) + e.Position = 0 + If e.GetString("CUANTOS") > 0 Then + F=Starter.skmt.ExecQuery2("select CAT_DP_IDPROD, sum(CAT_DP_PZAS) as CAT_DP_PZAS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID = ? and cat_dp_tipo = 0 GROUP BY CAT_DP_IDPROD", Array As String(L_PROID.Text) ) + 'se coloco el if por la mala promocion. + For i=0 To F.RowCount -1 + F.Position=i + c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from cat_gunaprod2 where CAT_GP_ID = ? and cat_gp_almacen > 0 ", Array As String(f.GetString("CAT_DP_IDPROD"))) + c.Position=0 + If c.GetString("CUANTOS") > 0 Then + h=Starter.skmt.ExecQuery2("select CAT_GP_NOMBRE, CAT_GP_ALMACEN from cat_gunaprod2 where CAT_GP_ID = ? ", Array As String(f.GetString("CAT_DP_IDPROD"))) + h.Position=0 + If TOTAL_PROMO_CLIE > l_bodega.Text Then + INV_TOTAL_PROMO = l_bodega.Text + Else + INV_TOTAL_PROMO = TOTAL_PROMO_CLIE + End If + If h.GetString("CAT_GP_ALMACEN") < INV_TOTAL_PROMO * f.GetString("CAT_DP_PZAS") Then + If h.GetString("CAT_GP_ALMACEN") < f.GetString("CAT_DP_PZAS") Then + l_bodega.Text = "0" + Else + l_bodega.Text = Round(h.GetString("CAT_GP_ALMACEN") / f.GetString("CAT_DP_PZAS")) + End If + End If + h.Close + else if c.GetString("CUANTOS") = 0 Then + l_bodega.Text = "0" + End If + c.Close + Next + f.Close + End If + e.Close + If l_bodega.Text = "0" Then + Msgbox ("PROMO LLEGO AL LIMITE PARA ESTE CLIENTE", "AVISO") 'ignore + Panel1.Visible= False + l_bodega.Text = "0" + Subs.iniciaActividad("Cliente") + End If + Else + Msgbox ("YA SE VENDIO LA PROMO.", "AVISO") 'ignore + Panel1.Visible= False + l_bodega.Text = "0" + Subs.iniciaActividad("Cliente") + End If + End If + If l_marca.text = "PROMOS" And B4XPages.MainPage.cliente.YA_IMPRIMIO2 = 1 Then + Msgbox ("YA SE IMPRIMIO EL TICKET.", "AVISO") 'ignore + Panel1.Visible= False + l_bodega.Text = "0" + Subs.iniciaActividad("Cliente") + End If +End Sub + +Sub guardar_Click + guardar.Enabled = False + Panel1.Visible=False + If cantidad.Text = "" Then + cantidad.Text = 0 + End If + limite_actual = t_venta.Text + (cantidad.Text * l_precio.Text) + Log($"Limite actual=${limite_actual}"$) + If cuenta = "0" Then + limite_actual = limite_actual + limite_anterior + End If + Log($"Limite actual=${limite_actual}"$) + If Starter.lat_gps = 0 Or Starter.lat_gps = Null Then + Private coords As List = Subs.traeCoordsDeBD + Starter.lat_gps = coords.Get(0) + Starter.lon_gps = coords.Get(1) + End If +' If Logger Then Log($"cuenta: ${cuenta}, limite_actual:${limite_actual}, limite_abordo:${limite_abordo}"$) + If limite_abordo = "" Then limite_abordo = 0 'Mod por CHV - 211213 - Para que si limite_abordo no tiene valor, no nos saque de la app. + If cuenta ="0" And limite_actual > limite_abordo And cantidad.Text <> 0 And cantidad.Text <> "" Then + Log($"${cuenta},${limite_actual > limite_abordo},${cantidad.text}"$) + Msgbox("Excede el limite abordo","limite") 'ignore + Else IF (cuenta <> "0" And limite_actual < B4XPages.MainPage.cliente.CREDITO_DISPONIBLE) Or (cuenta ="0" And limite_actual < limite_abordo) Then + If E_CAMBIO.Text = "" Or E_CAMBIO.Text = "0" Then + Panel1.Visible= False + entro = "3" + If BUSCA.Text = "" Then + ListView1_ItemClick(1,V_ANT_SALIR) + Else + BUSCA_TextChanged(1, BUSCA.Text) + End If + Else + If E_CAMBIO.Text = "" Then E_CAMBIO.Text = "0" + If E_CAMBIO.Text * l_precio.Text > t_venta.Text Then + Msgbox("Excede EL MONTO DE LA VENTA", "ADVERTENCIA") 'ignore + else if E_CAMBIO.Text + cantidad.Text > l_bodega.Text Then + Msgbox("Excede existencia", "ADVERTENCIA") 'ignore + Else + Subs.guardaCambiosDeProducto(E_CAMBIO.text, l_desc.text, L_PROID.Text, precio2, query) + E_CAMBIO.Text = "" + Panel1.Visible= False + entro = "3" + If BUSCA.Text = "" Then + ListView1_ItemClick(1,V_ANT_SALIR) + Else + BUSCA_TextChanged(1, BUSCA.Text) + End If + End If + End If + If cantidad.Text = "" Or cantidad.Text = "0.0" Or cantidad.Text = "0" Then + Panel1.Visible= False + entro = "3" + If BUSCA.Text = "" Then + ListView1_ItemClick(1,V_ANT_SALIR) + Else + BUSCA_TextChanged(1, BUSCA.Text) + End If + ELSE If cantidad.Text > l_bodega.Text Then + Msgbox("Excede la existencia", "ADVERTENCIA") 'ignore + Else If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" And PROMO_C > 0 And cantidad.Text > 0 Then + Starter.skmt.ExecNonQuery("delete from PROIDID") + Starter.skmt.ExecNonQuery2("INSERT INTO PROIDID VALUES (?)", Array As Object(L_PROID.text)) + c=Starter.skmt.ExecQuery("Select count(*) as CUANTOSD from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_COSTOU > 0 and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_TIPO = 1)") + c.Position =0 + If c.GetString("CUANTOSD") = 0 Then + Msgbox("No tiene venta el cliente para la promo", "ADVERTENCIA") 'ignore + Else + c=Starter.skmt.ExecQuery("Select sum(pe_cant) As TOT_ART_PROMO, sum(PE_COSTO_TOT) as COSTO_TOT from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_COSTOU > 0 and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_TIPO = 1)") + C.Position =0 + TOT_ART_PROMO = C.GetString("TOT_ART_PROMO") + COSTO_TOT = C.GetString("COSTO_TOT") + C.Close + ' se agrego and PE_COSTOU > 0 para que no tome los cambios + c=Starter.skmt.ExecQuery("Select count(*) as CUANTOSD from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_COSTOU > 0 and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND (CAT_DP_PRECIO = 0.01 or CAT_DP_PRECIO = 1 OR CAT_DP_PRECIO = 0) AND CAT_DP_TIPO = 1)") + c.Position =0 + If c.GetString("CUANTOSD") = 0 Then + TOT_ART_PROMOR = "0" 'Msgbox("No tiene venta el cliente para la promo", "ADVERTENCIA") 'ignore + Else + c=Starter.skmt.ExecQuery("Select sum(pe_cant) As TOT_ART_PROMO, sum(PE_COSTO_TOT) as COSTO_TOT from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_COSTOU > 0 and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND (CAT_DP_PRECIO = 0.01 or CAT_DP_PRECIO = 1 OR CAT_DP_PRECIO = 0) AND CAT_DP_TIPO = 1)") + C.Position =0 + TOT_ART_PROMOR = C.GetString("TOT_ART_PROMO") + End If + C.Close + If PROMO_C = "" Then PROMO_C = "0" + PROMO_C = PROMO_C * cantidad.Text + If PROMO_CR = "" Then PROMO_CR = "0" + PROMO_CR = PROMO_CR * cantidad.Text + If TOT_ART_PROMO = PROMO_C And TOT_ART_PROMOR = PROMO_CR Then + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_CEDIS = (?) WHERE PE_CEDIS not like 'PROMO%' and PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID))", Array As Object(L_PROID.text)) + D=Starter.skmt.ExecQuery("select CAT_DP_ID, CAT_DP_PRECIO, CAT_DP_PRECIO_SIMPTOS, CAT_DP_IDPROD FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) AND CAT_DP_PRECIO > 1 AND CAT_DP_TIPO = 1") ' MODIFCADO 05/05/2021 PARA QUE NO TOME LOS CAMBIOS + If D.RowCount>0 Then + For i=0 To D.RowCount -1 + D.Position=i + ' se agrega esta linea para que no tome los cambios + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_COSTOU = (?), PE_COSTO_TOT = PE_CANT * (?) , PE_COSTO_SIN = (?) WHERE PE_PROID = (?) And PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_COSTOU > 0 and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_TIPO = 1 AND CAT_DP_PRECIO > 1) ",Array As Object( D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO_SIMPTOS"),D.GetString("CAT_DP_IDPROD"))) + Next + End If + D.Close + D=Starter.skmt.ExecQuery("select CAT_DP_ID, CAT_DP_PRECIO, CAT_DP_PRECIO_SIMPTOS, CAT_DP_IDPROD FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) AND (CAT_DP_PRECIO = 0.01 or CAT_DP_PRECIO = 1 OR CAT_DP_PRECIO = 0) AND CAT_DP_TIPO = 1") + If D.RowCount>0 Then + For i=0 To D.RowCount -1 + D.Position=i + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_COSTOU = (?), PE_COSTO_TOT = PE_CANT * (?) , PE_COSTO_SIN = (?) WHERE PE_PROID = (?) AND PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_COSTOU > 0 and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_TIPO = 1",Array As Object( D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO_SIMPTOS"),D.GetString("CAT_DP_IDPROD"))) + Next + End If + D.Close + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c.Close + c=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)") + cl_ruta = "0" + If c.RowCount > 0 Then + c.Position=0 + cl_ruta = c.GetString("CAT_CL_RUTA") + End If + c.Close + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + usuario = "" + If c.RowCount > 0 Then + c.Position=0 + usuario = c.GetString("USUARIO") + End If + 'para insertar la promo de ades el de regalo en 0 + e=Starter.skmt.ExecQuery("select count(*) as CUANTOS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) and CAT_DP_TIPO = 0 ") + e.Position =0 + If e.GetString("CUANTOS") > 0 Then + F=Starter.skmt.ExecQuery("select CAT_DP_IDPROD, CAT_DP_PZAS,CAT_DP_PRECIO FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) and CAT_DP_TIPO = 0 ") + 'meter el otro + If f.RowCount>0 Then + For i=0 To f.RowCount -1 + f.Position=i + 'F.Position =0 + PRECIO_CERO = f.GetString("CAT_DP_PRECIO") + h=Starter.skmt.ExecQuery2("select CAT_GP_NOMBRE from CAT_GUNAPROD2 where CAT_GP_ID = ? ", Array As String(f.GetString("CAT_DP_IDPROD"))) + h.Position=0 + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,PRECIO_CERO * f.GetString("CAT_DP_PZAS") * cantidad.text, PRECIO_CERO, f.GetString("CAT_DP_PZAS") * cantidad.text, h.GetString("CAT_GP_NOMBRE"), f.GetString("CAT_DP_IDPROD"),clie_id, sDate & sTime, usuario,cl_ruta,Starter.tipov,precio2)) + 'ESTO LO CAMBIE POR QUE NO DESCUENTA EL INVENTARIO ABORDO CON LAS PROMOS + Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(f.GetString("CAT_DP_PZAS") * cantidad.text, f.GetString("CAT_DP_IDPROD"))) + h.Close + Next + End If + f.Close + End If + e.Close + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,Starter.tipov,precio2)) + Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text)) + Else + Msgbox("Tiene " & TOT_ART_PROMO & " " & TOT_ART_PROMOR & " y necesita " & PROMO_C & " " & PROMO_CR & " Para la Promo. " , "ADVERTENCIA") 'ignore + End If + End If + cantidad.Text = "" + Panel1.Visible= False + entro = "3" + If BUSCA.Text = "" Then + ListView1_ItemClick(1,V_ANT_SALIR) + Else + BUSCA_TextChanged(1, BUSCA.Text) + End If + + ''''' PROMOS QUE NO SON VARIABLE + else If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" And PROMO_C = 0 Then + Starter.skmt.ExecNonQuery("delete from PROIDID") + Starter.skmt.ExecNonQuery2("INSERT INTO PROIDID VALUES (?)", Array As Object(L_PROID.text)) + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c.Close + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)") + c.Position=0 + cl_ruta = c.GetString("CAT_CL_RUTA") + c.Close + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + 'para insertar la promo de ades el de regalo en 0 + e=Starter.skmt.ExecQuery("select count(*) as CUANTOS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) ") + e.Position =0 + If e.GetString("CUANTOS") > 0 Then + F=Starter.skmt.ExecQuery("select CAT_DP_IDPROD, CAT_DP_PZAS, CAT_DP_PRECIO FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID)") + For i =0 To f.RowCount -1 + F.Position =i + h=Starter.skmt.ExecQuery2("select CAT_GP_NOMBRE from " & query & " where CAT_GP_ID = ? ", Array As String(f.GetString("CAT_DP_IDPROD"))) + h.Position=0 + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,f.GetString("CAT_DP_PRECIO") * cantidad.text * f.GetString("CAT_DP_PZAS"), f.GetString("CAT_DP_PRECIO"), f.GetString("CAT_DP_PZAS") * cantidad.text, h.GetString("CAT_GP_NOMBRE"), f.GetString("CAT_DP_IDPROD"),clie_id, sDate & sTime, usuario,cl_ruta,Starter.tipov,precio2)) + 'ESTO LO CAMBIE POR QUE NO DESCUENTA EL INVENTARIO ABORDO CON LAS PROMOS + Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(f.GetString("CAT_DP_PZAS") * cantidad.text, f.GetString("CAT_DP_IDPROD"))) + h.Close + Next + f.Close + End If + e.Close + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,Starter.tipov,precio2)) + Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text)) + cantidad.Text = "" + c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position=0 + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + If logger Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta) + Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps,ALMACEN,cl_ruta,c.GetString("TOTAL_CLIE_SIN"))) + Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + Panel1.Visible= False + entro = "3" + If BUSCA.Text = "" Then + ListView1_ItemClick(1,V_ANT_SALIR) + Else + BUSCA_TextChanged(1, BUSCA.Text) + End If + Else + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c.Close + c=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)") + c.Position=0 + cl_ruta = c.GetString("CAT_CL_RUTA") + c.Close + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (ALMACEN,cantidad.Text * l_precio.Text, l_precio.text, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,preciosin,Starter.tipov,precio2)) + Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text)) + c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position=0 + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + If logger Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta) + Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps, ALMACEN,cl_ruta,c.GetString("TOTAL_CLIE_SIN"))) + Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + Panel1.Visible= False + entro = "3" + If BUSCA.Text = "" Then + ListView1_ItemClick(1,V_ANT_SALIR) + Else + BUSCA_TextChanged(1, BUSCA.Text) + End If + Starter.skmt.ExecNonQuery("delete from pedido3") + Starter.skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = 0 where PE_FOLIO IS NULL") + c=Starter.skmt.ExecQuery("SELECT SUM(PE_FOLIO) AS FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position = 0 + If c.GetString("FOLIO") <> Null And c.GetString("FOLIO") > 0 Then + YA_IMPRIMIO = 1 + Else + YA_IMPRIMIO = 0 + End If + c.Close + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_FECHA, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO ) SELECT PE_PRECIO2, PE_TIPO, PE_FECHA, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE ") 'Mod por CHV - 220302 - Agregué PE_FECHA al select/insert + c=Starter.skmt.ExecQuery("select PE_PRECIO2,PE_TIPO,PE_DESC,PE_COSTO_SIN,PE_RUTA,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE, PE_FECHA,PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FECHA= ? WHERE PE_CLIENTE = ? AND PE_PRONOMBRE = ? AND PE_PROID = ? AND PE_CEDIS = ? ", Array As Object(c.GetString("PE_FECHA"), c.GetString("PE_CLIENTE"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CEDIS"))) + Next + End If + c.Close + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FOLIO = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As Object(YA_IMPRIMIO)) + Starter.skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ") + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3") + 'StartActivity(fila) + End If + Starter.skmt.ExecNonQuery("delete from pedido3") + Starter.skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = 0 where PE_FOLIO IS NULL") + c=Starter.skmt.ExecQuery("SELECT SUM(PE_FOLIO) AS FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position = 0 + If c.GetString("FOLIO") <> Null And c.GetString("FOLIO") > 0 Then + YA_IMPRIMIO = 1 + Else + YA_IMPRIMIO = 0 + End If + c.Close + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_FECHA, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO ) SELECT PE_PRECIO2, PE_TIPO, PE_FECHA, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE ") 'Mod por CHV - 220302 - Agregue PE_FECHA al select/insert + c=Starter.skmt.ExecQuery("select PE_PRECIO2,PE_TIPO,PE_DESC,PE_COSTO_SIN,PE_RUTA,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE, PE_FECHA,PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FECHA= ? WHERE PE_CLIENTE = ? AND PE_PRONOMBRE = ? AND PE_PROID = ? AND PE_CEDIS = ? ", Array As Object(c.GetString("PE_FECHA"), c.GetString("PE_CLIENTE"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CEDIS"))) + Next + End If + c.Close + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FOLIO = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As Object(YA_IMPRIMIO)) + Starter.skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ") + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3") + Else + Log($"${cuenta},${limite_actual > limite_abordo},${cantidad.text},${B4XPages.MainPage.cliente.CREDITO_DISPONIBLE},${limite_actual},${limite_abordo}"$) + Msgbox("EXCEDE EL LIMITE DE CREDITO","AVISO") 'ignore + End If + Starter.skmt.ExecNonQuery("delete from pedido3") + Starter.skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = 0 where PE_FOLIO IS NULL") + If cuenta <> "0" Then + c=Starter.skmt.ExecQuery("SELECT SUM(PE_FOLIO) AS FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position = 0 + If c.GetString("FOLIO") <> Null And c.GetString("FOLIO") > 0 Then + YA_IMPRIMIO = 1 + Else + YA_IMPRIMIO = 0 + End If + c.Close + End If + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_FECHA, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO ) SELECT PE_PRECIO2, PE_TIPO, PE_FECHA, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE ") 'Mod por CHV - 220302 - Agregué PE_FECHA al select/insert + c=Starter.skmt.ExecQuery("select PE_PRECIO2,PE_TIPO,PE_DESC,PE_COSTO_SIN,PE_RUTA,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE, PE_FECHA,PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FECHA= ? WHERE PE_CLIENTE = ? AND PE_PRONOMBRE = ? AND PE_PROID = ? AND PE_CEDIS = ? ", Array As Object(c.GetString("PE_FECHA"), c.GetString("PE_CLIENTE"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CEDIS"))) + Next + End If + c.Close + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FOLIO = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As Object(YA_IMPRIMIO)) + Starter.skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ") + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3") + ListView1.Visible = True + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_FECHA = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_FECHA IS NULL", Array As Object(sDate & sTime)) + guardar.Enabled = True +End Sub + +Sub GPS_LocationChanged (Location1 As Location) +' lat_gps=Location1.ConvertToSeconds(Location1.Latitude) +' lon_gps=Location1.ConvertToSeconds(Location1.Longitude) +End Sub + +Sub Terminar_Click + Terminar.Enabled = False + Panel1.Visible=False + If cantidad.Text = "" Then + cantidad.Text = 0 + End If + If Starter.lat_gps = 0 Or Starter.lat_gps = Null Then + Private coords As List = Subs.traeCoordsDeBD + Starter.lat_gps = coords.Get(0) + Starter.lon_gps = coords.Get(1) + End If + limite_actual = t_venta.Text + (cantidad.Text * l_precio.Text) + Log($"Limite actual=${limite_actual}"$) + If cuenta = "0" Then + limite_actual = limite_actual + limite_anterior + End If + Log($"Limite actual=${limite_actual}"$) + If limite_abordo = "" Then limite_abordo = 0 'Mod por CHV - 211213 - Para que si limite_abordo no tiene valor, no nos saque de la app. + If cuenta ="0" And limite_actual > limite_abordo And cantidad.Text <> 0 And cantidad.Text <> "" Then + Msgbox("excede el limite abordo","limite") 'ignore + Else IF (cuenta <> "0" And limite_actual < B4XPages.MainPage.cliente.CREDITO_DISPONIBLE) Or (cuenta ="0" And limite_actual < limite_abordo) Then + If E_CAMBIO.Text = "" Or E_CAMBIO.Text = "0" Then + Panel1.Visible= False + Else + If E_CAMBIO.Text = "" Then E_CAMBIO.Text = "0" + If E_CAMBIO.Text * l_precio.Text > t_venta.Text Then + Msgbox("Excede EL MONTO DE LA VENTA", "ADVERTENCIA") 'ignore + else if E_CAMBIO.Text + cantidad.Text > l_bodega.Text Then + Msgbox("Excede existencia", "ADVERTENCIA") 'ignore + Else + Subs.guardaCambiosDeProducto(E_CAMBIO.text, l_desc.text, L_PROID.Text, precio2, query) + E_CAMBIO.Text = "" + Panel1.Visible= False + End If + End If + If cantidad.Text = "" Or cantidad.Text = "0.0" Or cantidad.Text = "0" Then + B4XPages.ShowPage("Cliente") + ELSE If cantidad.Text > l_bodega.Text Then + Msgbox("Excede la existencia", "ADVERTENCIA") 'ignore + Else If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" And PROMO_C > 0 And cantidad.Text > 0 Then + Starter.skmt.ExecNonQuery("delete from PROIDID") + Starter.skmt.ExecNonQuery2("INSERT INTO PROIDID VALUES (?)", Array As Object(L_PROID.text)) + c=Starter.skmt.ExecQuery("Select count(*) as CUANTOSD from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_COSTOU > 0 and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_TIPO = 1)") + c.Position =0 + If c.GetString("CUANTOSD") = 0 Then + Msgbox("No tiene venta el cliente para la promo", "ADVERTENCIA") 'ignore + Else + c=Starter.skmt.ExecQuery("Select sum(pe_cant) As TOT_ART_PROMO, sum(PE_COSTO_TOT) as COSTO_TOT from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_COSTOU > 0 and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_TIPO = 1)") + TOT_ART_PROMO = 0 + COSTO_TOT = 0 + If c.RowCount > 0 Then + c.Position =0 + TOT_ART_PROMO = c.GetString("TOT_ART_PROMO") + COSTO_TOT = c.GetString("COSTO_TOT") + End If + C.Close + ' Se agrego and PE_COSTOU > 0 para que no tome los cambios + c=Starter.skmt.ExecQuery("Select count(*) as CUANTOSD from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_COSTOU > 0 and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND (CAT_DP_PRECIO = 0.01 or CAT_DP_PRECIO = 1 OR CAT_DP_PRECIO = 0) AND CAT_DP_TIPO = 1)") + c.Position =0 + If c.GetString("CUANTOSD") = 0 Then + TOT_ART_PROMOR = "0" 'Msgbox("No tiene venta el cliente para la promo", "ADVERTENCIA") 'ignore + Else + c=Starter.skmt.ExecQuery("Select sum(pe_cant) As TOT_ART_PROMO, sum(PE_COSTO_TOT) as COSTO_TOT from pedido where PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_COSTOU > 0 and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND (CAT_DP_PRECIO = 0.01 or CAT_DP_PRECIO = 1 OR CAT_DP_PRECIO = 0) AND CAT_DP_TIPO = 1)") + TOT_ART_PROMOR = 0 + If c.RowCount > 0 Then + C.Position =0 + TOT_ART_PROMOR = C.GetString("TOT_ART_PROMO") + End If + End If + C.Close + If PROMO_C = "" Then PROMO_C = "0" + PROMO_C = PROMO_C * cantidad.Text + If PROMO_CR = "" Then PROMO_CR = "0" + PROMO_CR = PROMO_CR * cantidad.Text + If TOT_ART_PROMO = PROMO_C And TOT_ART_PROMOR = PROMO_CR Then + ' anterior a 29/06/2015 + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_CEDIS = (?) WHERE PE_CEDIS not like 'PROMO%' and PE_CLIENTE IN (Select CUENTA from cuentaa) and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID))", Array As Object(L_PROID.text)) + D=Starter.skmt.ExecQuery("select CAT_DP_ID, CAT_DP_PRECIO, CAT_DP_PRECIO_SIMPTOS, CAT_DP_IDPROD FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) AND CAT_DP_PRECIO > 1 AND CAT_DP_TIPO = 1") ' MODIFCADO 05/05/2021 PARA QUE NO TOME LOS CAMBIOS + If D.RowCount>0 Then + For i=0 To D.RowCount -1 + D.Position=i + ' se agrega esta linea para que no tome los cambios + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_COSTOU = (?), PE_COSTO_TOT = PE_CANT * (?) , PE_COSTO_SIN = (?) WHERE PE_PROID = (?) And PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_COSTOU > 0 and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_TIPO = 1 AND CAT_DP_PRECIO > 1) ",Array As Object( D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO_SIMPTOS"),D.GetString("CAT_DP_IDPROD"))) + Next + End If + D.Close + D=Starter.skmt.ExecQuery("select CAT_DP_ID, CAT_DP_PRECIO, CAT_DP_PRECIO_SIMPTOS, CAT_DP_IDPROD FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) AND (CAT_DP_PRECIO = 0.01 or CAT_DP_PRECIO = 1 OR CAT_DP_PRECIO = 0) AND CAT_DP_TIPO = 1") + If D.RowCount>0 Then + For i=0 To D.RowCount -1 + D.Position=i + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_COSTOU = (?), PE_COSTO_TOT = PE_CANT * (?) , PE_COSTO_SIN = (?) WHERE PE_PROID = (?) AND PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_COSTOU > 0 and pe_proid In (Select cat_dp_idprod from CAT_DETALLES_PAQ WHERE CAT_DP_ID In (Select PROIDID from PROIDID) AND CAT_DP_TIPO = 1",Array As Object( D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO"), D.GetString("CAT_DP_PRECIO_SIMPTOS"),D.GetString("CAT_DP_IDPROD"))) + Next + End If + D.Close + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c.Close + c=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)") + cl_ruta = 0 + If c.RowCount > 0 Then + c.Position=0 + cl_ruta = c.GetString("CAT_CL_RUTA") + End If + c.Close + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + usuario = "0" + If c.RowCount > 0 Then + c.Position=0 + usuario = c.GetString("USUARIO") + End If + 'para insertar la promo de ades el de regalo en 0 + e=Starter.skmt.ExecQuery("select count(*) as CUANTOS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) and CAT_DP_TIPO = 0 ") + e.Position =0 + If e.GetString("CUANTOS") > 0 Then + F=Starter.skmt.ExecQuery("select CAT_DP_IDPROD, CAT_DP_PZAS,CAT_DP_PRECIO FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) and CAT_DP_TIPO = 0 ") + 'meter el otro + If f.RowCount>0 Then + For i=0 To f.RowCount -1 + f.Position=i + PRECIO_CERO = f.GetString("CAT_DP_PRECIO") + h=Starter.skmt.ExecQuery2("select CAT_GP_NOMBRE from CAT_GUNAPROD2 where CAT_GP_ID = ? ", Array As String(f.GetString("CAT_DP_IDPROD"))) + h.Position=0 + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,PRECIO_CERO * f.GetString("CAT_DP_PZAS") * cantidad.text, PRECIO_CERO, f.GetString("CAT_DP_PZAS") * cantidad.text, h.GetString("CAT_GP_NOMBRE"), f.GetString("CAT_DP_IDPROD"),clie_id, sDate & sTime, usuario,cl_ruta,Starter.tipov,precio2)) + 'ESTO LO CAMBIE POR QUE NO DESCUENTA EL INVENTARIO ABORDO CON LAS PROMOS + Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(f.GetString("CAT_DP_PZAS") * cantidad.text, f.GetString("CAT_DP_IDPROD"))) + h.Close + Next + End If + f.Close + End If + e.Close + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,Starter.tipov,precio2)) + Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text)) + Else + Msgbox("Tiene " & TOT_ART_PROMO & " " & TOT_ART_PROMOR & " y necesita " & PROMO_C & " " & PROMO_CR & " Para la Promo. " , "ADVERTENCIA") 'ignore + End If + End If + cantidad.Text = "" + Panel1.Visible= False + Subs.iniciaActividad("Cliente") + else If l_marca.text = "PROMOS" And l_tipo.Text ="PROMOS" And PROMO_C = 0 Then + Starter.skmt.ExecNonQuery("delete from PROIDID") + Starter.skmt.ExecNonQuery2("INSERT INTO PROIDID VALUES (?)", Array As Object(L_PROID.text)) + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + clie_id = "0" + If c.RowCount > 0 Then + c.Position=0 + clie_id = c.GetString("CUENTA") + End If + c.Close + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + + c=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)") + c.Position=0 + cl_ruta = c.GetString("CAT_CL_RUTA") + c.Close + + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + 'para insertar la promo de ades el de regalo en 0 + e=Starter.skmt.ExecQuery("select count(*) as CUANTOS FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID) ") + e.Position =0 + If e.GetString("CUANTOS") > 0 Then + F=Starter.skmt.ExecQuery("select CAT_DP_IDPROD, CAT_DP_PZAS, CAT_DP_PRECIO FROM CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (Select PROIDID from PROIDID)") + For i =0 To f.RowCount -1 + F.Position =i + h=Starter.skmt.ExecQuery2("select CAT_GP_NOMBRE from " & query & " where CAT_GP_ID = ? ", Array As String(f.GetString("CAT_DP_IDPROD"))) + h.Position=0 + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,f.GetString("CAT_DP_PRECIO") * cantidad.text * f.GetString("CAT_DP_PZAS"), f.GetString("CAT_DP_PRECIO"), f.GetString("CAT_DP_PZAS") * cantidad.text, h.GetString("CAT_GP_NOMBRE"), f.GetString("CAT_DP_IDPROD"),clie_id, sDate & sTime, usuario,cl_ruta,Starter.tipov,precio2)) + 'ESTO LO CAMBIE POR QUE NO DESCUENTA EL INVENTARIO ABORDO CON LAS PROMOS + Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(f.GetString("CAT_DP_PZAS") * cantidad.text, f.GetString("CAT_DP_IDPROD"))) + h.Close + Next + f.Close + End If + e.Close + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (L_PROID.text,0, 0, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,Starter.tipov,precio2)) + Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text)) + cantidad.Text = "" + c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position=0 + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + If logger Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta) + Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps, ALMACEN,cl_ruta,c.GetString("TOTAL_CLIE_SIN"))) + Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + Subs.iniciaActividad("Cliente") + Else + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c.Close + c=Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa)") + c.Position=0 + cl_ruta = c.GetString("CAT_CL_RUTA") + c.Close + + c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + + Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (ALMACEN,cantidad.Text * l_precio.Text, l_precio.text, cantidad.text, l_desc.text, L_PROID.Text,clie_id, sDate & sTime, usuario,cl_ruta,preciosin,Starter.tipov,precio2)) + Starter.skmt.ExecNonQuery2("update " & query & " set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object(cantidad.Text, L_PROID.Text)) + c=Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, SUM(PE_COSTO_SIN) AS TOTAL_CLIE_SIN FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position=0 + Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + If logger Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta) + Starter.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps, ALMACEN,cl_ruta,c.GetString("TOTAL_CLIE_SIN"))) + Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + Panel1.Visible= False + + Starter.skmt.ExecNonQuery("delete from pedido3") + Starter.skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = 0 where PE_FOLIO IS NULL") + c=Starter.skmt.ExecQuery("SELECT SUM(PE_FOLIO) AS FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position = 0 + If c.GetString("FOLIO") <> Null And c.GetString("FOLIO") > 0 Then + YA_IMPRIMIO = 1 + Else + YA_IMPRIMIO = 0 + End If + c.Close + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO ) SELECT PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE ") + c=Starter.skmt.ExecQuery("select PE_PRECIO2,PE_TIPO,PE_DESC,PE_COSTO_SIN,PE_RUTA,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE, PE_FECHA,PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FECHA= ? WHERE PE_CLIENTE = ? AND PE_PRONOMBRE = ? AND PE_PROID = ? AND PE_CEDIS = ? ", Array As Object(c.GetString("PE_FECHA"), c.GetString("PE_CLIENTE"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CEDIS"))) + Next + End If + c.Close + + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FOLIO = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As Object(YA_IMPRIMIO)) + Starter.skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ") + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3") + Subs.iniciaActividad("Cliente") + End If + Starter.skmt.ExecNonQuery("delete from pedido3") + Starter.skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = 0 where PE_FOLIO IS NULL") + c=Starter.skmt.ExecQuery("SELECT SUM(PE_FOLIO) AS FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position = 0 + If c.GetString("FOLIO") <> Null And c.GetString("FOLIO") > 0 Then + YA_IMPRIMIO = 1 + Else + YA_IMPRIMIO = 0 + End If + c.Close + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO ) SELECT PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE ") + c=Starter.skmt.ExecQuery("select PE_PRECIO2,PE_TIPO,PE_DESC,PE_COSTO_SIN,PE_RUTA,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE, PE_FECHA,PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FECHA= ? WHERE PE_CLIENTE = ? AND PE_PRONOMBRE = ? AND PE_PROID = ? AND PE_CEDIS = ? ", Array As Object(c.GetString("PE_FECHA"), c.GetString("PE_CLIENTE"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CEDIS"))) + Next + End If + c.Close + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FOLIO = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As Object(YA_IMPRIMIO)) + Starter.skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ") + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3") + Else + Log($"${cuenta},${limite_actual > limite_abordo},${cantidad.text},${B4XPages.MainPage.cliente.CREDITO_DISPONIBLE},${limite_actual},${limite_abordo}"$) + Msgbox("EXCEDE EL LIMITE DE CREDITO","AVISO") 'ignore + End If + Starter.skmt.ExecNonQuery("delete from pedido3") + Starter.skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = 0 where PE_FOLIO IS NULL") + If cuenta <> "0" Then + c=Starter.skmt.ExecQuery("SELECT SUM(PE_FOLIO) AS FOLIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + c.Position = 0 + If c.GetString("FOLIO") <> Null And c.GetString("FOLIO") > 0 Then + YA_IMPRIMIO = 1 + Else + YA_IMPRIMIO = 0 + End If + c.Close + End If + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO ) SELECT PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE ") + c=Starter.skmt.ExecQuery("select PE_PRECIO2,PE_TIPO,PE_DESC,PE_COSTO_SIN,PE_RUTA,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE, PE_FECHA,PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FECHA= ? WHERE PE_CLIENTE = ? AND PE_PRONOMBRE = ? AND PE_PROID = ? AND PE_CEDIS = ? ", Array As Object(c.GetString("PE_FECHA"), c.GetString("PE_CLIENTE"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CEDIS"))) + Next + End If + c.Close + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO3 SET PE_FOLIO = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As Object(YA_IMPRIMIO)) + Starter.skmt.ExecNonQuery("delete from pedido WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ") + Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO3") + ListView1.Visible = True + Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_FECHA = ? where PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_FECHA IS NULL", Array As Object(sDate & sTime)) + Terminar.Enabled = True + Subs.iniciaActividad("Cliente") +End Sub + +Sub i_fotol_Click + i_fotol.Visible = False +End Sub + +Sub DESC_PROMO_Click + Starter.skmt.ExecNonQuery("delete from PROIDID") + Starter.skmt.ExecNonQuery2("INSERT INTO PROIDID VALUES (?)", Array As Object(L_PROID.text)) + Subs.iniciaActividad("detalle_promo") +End Sub + +Sub nopromo_Click + If cantidad.Text = "" Then + Panel1.Visible= False + Else + If cantidad.Text * l_precio.Text > t_venta.Text Then + Msgbox("Excede EL MONTO DE LA VENTA", "ADVERTENCIA") 'ignore + Else + Subs.guardaCambiosDeProducto(cantidad.Text, l_desc.text, L_PROID.Text, precio2, query) + cantidad.Text = "" + Panel1.Visible= False + End If + End If +End Sub + +Sub LV_PRECIOS_ItemClick (Position As Int, Value As Object) + c=Starter.skmt.ExecQuery("select PRECIO, NLISTA FROM LISTA_PRECIOS WHERE NLISTA = " & "'" & Value &"' AND CAT_GP_ID =" & "'" &L_PROID.TEXT&"' ORDER BY NLISTA ASC") + c.Position=0 + l_precio.Text = c.GetString("PRECIO") + c.Close +End Sub + +Sub B_MENOS_Click + If cantidad.Text = "" Then + cantidad.Text = "" + Else IF cantidad.Text > 0 Then + cantidad.Text = cantidad.Text -1 + End If +End Sub + +Sub B_MAS_Click + If cantidad.Text = "" Then + cantidad.Text = 1 + Else + cantidad.Text = cantidad.Text + 1 + End If +End Sub + +Sub B_MENOSC_Click + If E_CAMBIO.Text = "" Then + E_CAMBIO.Text = "" + Else IF E_CAMBIO.Text > 0 Then + E_CAMBIO.Text = E_CAMBIO.Text -1 + End If +End Sub + +Sub B_MASC_Click + If E_CAMBIO.Text = "" Then + E_CAMBIO.Text = 1 + Else + E_CAMBIO.Text = E_CAMBIO.Text + 1 + End If +End Sub diff --git a/B4A/C_Promos.bas b/B4A/C_Promos.bas new file mode 100644 index 0000000..b2a1213 --- /dev/null +++ b/B4A/C_Promos.bas @@ -0,0 +1,422 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI + Private l_promoDesc As Label + Private lv_prodsFijos As ListView + Private clv_prodsVariabes As CustomListView + Private l_prodsFijos As Label + Private l_prodsVariables As Label + Private i_prod As ImageView + Private l_prodX As Label + Private p_prods As Panel + Private b_prodMenos As Button + Private et_pCant As EditText + Private b_prodMas As Button + Private l_pCant As Label + Dim totalProds As Int = 0 + Dim prodsVarReq As Int = 0 + Dim prodsVarReq2 As Int = 0 + Dim totalCompra As Float = 0 + Dim prodsFijosTot As Float = 0 + Dim tpf As Int = 0 + Dim tpf2 As Int = 0 + Dim maxCantPromos As Int = 1 + Private l_totProds As Label + Private l_total As Label + Private b_terminar1 As Button + Private p_promociones As Panel + Dim prodsIds, prodsCants, prodsPrecios, prodsIds2, prodsCants2, prodsPrecios2 As List + Dim estaPromo, esteCliente As String + Private b_promoMas As Button + Private b_promoMenos As Button + Private et_promoCant As EditText + Private l_promosCant As Label + Private b_continuar As Button + Private p_prodsVariables As Panel + Dim laPromo = "", elCliente = "" As String + Dim prodsPedidoActual As String + Dim montoPedidoActual As String + Dim promosMap As Map +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root + Root.LoadLayout("promociones") + promosMap.Initialize + p_promociones.Top=0 + p_promociones.Left=0 + p_promociones.Height=Root.Height + p_promociones.Width=Root.Width + b_terminar1.Left = Root.Width - (b_terminar1.Width + 10) + b_continuar.Left = Root.Width - b_terminar1.Width - (b_continuar.Width + 20) +End Sub + +Sub B4XPage_Appear +' LogColor(B4XPages.MainPage.productos.prodsMap, Colors.blue) + prodsIds.Initialize + prodsCants.Initialize + prodsPrecios.Initialize + prodsIds2.Initialize + prodsCants2.Initialize + prodsPrecios2.Initialize + Dim m As Map = Subs.traeTotalesClienteActual + prodsPedidoActual = m.Get("productos") + montoPedidoActual = m.Get("monto") + Log($"laPromo=${laPromo}, el cliente=${elCliente}"$) + If laPromo <> "" Then muestraPromo(laPromo, elCliente) +End Sub +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub muestraPromo(promo As String, cliente As String) + Log("muestraPromo:"&promo) + Private thisLog As Boolean = False +' If thisLog Then Log(promo) + estaPromo = promo + esteCliente = cliente + Private mp As Map = Subs.traePromo(promo, cliente) + Private prodsPromo As Map = mp.Get("productos") 'Los productos de la promoción. + Private invDispPromo As Map = Subs.traemosInventarioDisponibleParaPromo(promo) +' If thisLog Then Log($"invDispPromo=${invDispPromo}"$) + If thisLog Then Log("Max promos por inv de prods FIJOS: " & Subs.revisaMaxPromosProdsFijosPorInventario(mp)) + If thisLog Then Log("Max promos por inv de prods VARIABLES: " & Subs.revisaMaxPromosProdsVariablesPorInventario(mp)) + maxCantPromos = Subs.revisaMaxPromosProdsVariablesPorInventario(mp) + et_promoCant.Text = 1 + l_promosCant.text = "Max promos: " & maxCantPromos + Private cs As CSBuilder + cs.Initialize + If thisLog Then Log(mp) + If thisLog Then Log(prodsPromo) + 'Ponemos la promo y descripción. +' Dim desc As String = $"Promoción: ${promo}${CRLF}${mp.Get("descripcion")}"$ +' Dim desc As String = cs.append("Promocion: ").Color(Colors.RGB(100,149,237)).Append(promo).pop.append(CRLF).Append(mp.Get("descripcion")).Popall + l_promoDesc.Text = cs.Color(Colors.RGB(100,149,237)).append("Promocion: ").pop.append(CRLF).Append(promo).append(CRLF).Append(mp.Get("descripcion")).Popall + prodsFijosTot = 0 + 'Ponemos el texto en las etiquetas de la cantidad de productos. +' Dim pf As List = mp.Get("prodsFijos") + Dim pv As List = mp.Get("prodsVariables") + If thisLog Then Log(mp) + tpf = 0 + For Each pfp As Int In mp.Get("prodsFijosPiezas").As(List) + tpf = tpf + pfp + Next + tpf2 = tpf +' tpf = tpf * maxCantPromos + l_prodsFijos.Text = $"Productos fijos (${tpf})"$ + prodsVarReq = mp.Get("prodsVariablesRequeridos") + prodsVarReq2 = prodsVarReq + l_prodsVariables.Text = $"Productos variables requeridos: ${prodsVarReq}"$ + If prodsVarReq = 0 Then + p_prodsVariables.Visible = False + Else + p_prodsVariables.Visible = True + End If + 'Llenamos el listview con los productos fijos. + Dim label1 As Label + label1 = lv_prodsFijos.SingleLineLayout.Label + label1.TextSize = 13 + label1.TextColor = Colors.black + lv_prodsFijos.SingleLineLayout.ItemHeight = 30dip + lv_prodsFijos.Clear +' If pf.Size < 1 Then pf.Add("Sin productos fijos.") + lv_prodsFijos.Clear + agregaFijosALista(mp, True) + If thisLog Then Log("Total prods fijos = " & prodsFijosTot) +' If thisLog Then Log("======="&prodsMap) + l_totProds.text = $"Productos: ${tpf}"$ + l_total.Text = $"Total: $$1.2{prodsFijosTot}"$ +' Dim ins As InputStream +' Dim bmp As Bitmap +' Dim jpeg() As Byte + + 'Llenamos el listview con los productos variables. + If thisLog Then Log(pv) + If thisLog Then Log("invDisp=" & invDispPromo) + clv_prodsVariabes.Clear + For Each p As String In pv + If invDispPromo.ContainsKey(p) Then 'Si no esta en la lista de productos con inventario no lo mostramos. +' c2.Position=i +' jpeg = c2.GetBlob("CAT_GP_IMG") +' ins.InitializeFromBytesArray(jpeg, 0, jpeg.Length) +' bmp.Initialize2(ins) + Private thisProd As Map = prodsPromo.Get(p) + If thisLog Then Log(thisProd) + clv_prodsVariabes.Add(CreateListItem(Subs.traeProdNombre(p)&CRLF&"Hay " & invDispPromo.Get(p) & " $" & thisProd.Get("precio"), thisProd.Get("precio"), invDispPromo.Get(p), clv_prodsVariabes.AsView.Width, 50dip, Null, p), p) + End If + Next + b_terminar1.Visible = False + b_continuar.Visible = False + cuentaProds +End Sub + +'Agregamos los productos fijos a una lista para despues meterlos en el pedido. +Sub agregaFijosALista(mp As Map, addListItem As Boolean) + Private thisLog As Boolean = False + Private cont As Int = 0 + prodsFijosTot = 0 + Dim pf As List = mp.Get("prodsFijos") + If pf.Size < 1 Then pf.Add("Sin productos fijos.") +' Private m As Map +' prodsMap.Put(estaPromo, CreateMap("cant":1, "precio":0)) +' prodsIds.Add(estaPromo) + prodsIds.clear + prodsCants.clear + prodsPrecios.clear + prodsIds.Add(estaPromo) + prodsCants.Add(et_promoCant.text.As(Int)) + prodsPrecios.Add(0) + For Each p As String In pf +' Log($"cont=${cont}, mp=${mp}"$) + If mp.Get("prodsFijosPiezas").As(List).Size > 0 Then + Private tpi As String = mp.Get("prodsFijosPiezas").As(List).Get(cont) + Else + Private tpi As String = 0 + End If + If mp.Get("prodsFijosPrecios").As(List).Size > 0 Then + Private tpr As String = mp.Get("prodsFijosPrecios").As(List).Get(cont) + Else + Private tpr As String = 0 + End If + prodsFijosTot = prodsFijosTot + (tpi * tpr) + If thisLog Then Log("|"&tpi&"|"&p) + Private ntpi As Int = tpi * et_promoCant.text + If addListItem And tpi > 0 Then lv_prodsFijos.AddSingleLine(ntpi & " " & Subs.traeProdNombre(p) & " - $" & tpr) + cont = cont+1 +' m=CreateMap("cant":tpi, "precio":tpr) +' prodsMap.Put(p, m) + prodsIds.Add(p) + prodsCants.Add(tpi.As(Int)*et_promoCant.text.As(Int)) + prodsPrecios.Add(tpr) '*et_promoCant.text.As(Int) + Next +End Sub + +Sub CreateListItem(Text As String, precioU As String, inv As Int, Width As Int, Height As Int, img As Bitmap, prodId As String) As Panel 'ignore + Dim p As B4XView = xui.CreatePanel("") + p.SetLayoutAnimated(0, 0, 0, Width, Height) + p.LoadLayout("prodItem") + l_prodX.Text = Text + l_prodX.Tag = inv + l_prodX.TextSize = 13 + p_prods.Height = Height + l_prodX.Height = Height +' l_pCant.Text = 0 + l_pCant.Tag = precioU&"|"&inv&"|"&prodId + et_pCant.Tag = precioU&"|"&inv&"|"&prodId + et_pCant.BringToFront +' i_prod.Bitmap = img + Return p +End Sub + +Sub b_prodMenos_Click + Dim index As Int = clv_prodsVariabes.GetItemFromView(Sender) + Dim pnl0 As B4XView = clv_prodsVariabes.GetPanel(index) + Dim pnl As B4XView = pnl0.GetView(0) +' Dim laCant As B4XView = pnl.GetView(5) + Dim laCant As B4XView = pnl.GetView(2).GetView(4) +' Log($"precio|stock:${laCant.tag}"$) + laCant.Text = $"$1.0{laCant.Text-1}"$ + If laCant.Text < 0 Then laCant.Text = 0 + +' Log(Regex.Split("\|", laCant.tag)(0)) + Private precio As String = Regex.Split("\|", laCant.tag)(0) +' Private inv As String = Regex.Split("\|", laCant.tag)(1) + Private prodId As String = Regex.Split("\|", laCant.tag)(2) + Private tmpMap As Map = CreateMap("precio":precio, "cant":laCant.Text, "almacen":estaPromo) + Log(tmpMap) + promosMap.Put(prodId, tmpMap) + If laCant.Text = 0 Then promosMap.Remove(prodId) + LogColor(promosMap, Colors.Magenta) + cuentaProds +' l_total.Text = $"Total Compra: $$1.2{totalCompra}"$ +' l_totProds.text = $"Total Productos: ${totalProds}"$ +End Sub + +Sub b_prodMas_Click +' LogColor($"prodmas clic - ${Starter.cp_running}"$,Colors.Magenta) + If totalProds < prodsVarReq + tpf Then + Dim index As Int = clv_prodsVariabes.GetItemFromView(Sender) + Dim pnl0 As B4XView = clv_prodsVariabes.GetPanel(index) + Dim pnl As B4XView = pnl0.GetView(0) +' Dim laCant As B4XView = pnl.GetView(5) + Dim laCant As B4XView = pnl.GetView(2).GetView(4) +' Log($"precio|stock:${laCant.tag}"$) +' Log($"Indice: ${index}, cant:${laCant.Text+1}, precioU: ${laCant.tag}"$) + Dim esteTag As List = Regex.Split("\|", laCant.Tag) +' Log(esteTag) + If laCant.Text + 1 <= esteTag.get(1) Then + laCant.Text = $"$1.0{laCant.Text+1}"$ + cuentaProds + End If +' Log(Regex.Split("\|", laCant.tag)(0)) + Private precio As String = Regex.Split("\|", laCant.tag)(0) +' Private inv As String = Regex.Split("\|", laCant.tag)(1) + Private prodId As String = Regex.Split("\|", laCant.tag)(2) + Private tmpMap As Map = CreateMap("precio":precio, "cant":laCant.Text, "almacen":estaPromo) + Log(tmpMap) + promosMap.Put(prodId, tmpMap) + LogColor(promosMap, Colors.Magenta) + End If +' Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$) +' l_total.Text = $"Total Compra: $$1.2{totalCompra}"$ +' l_totProds.text = $"Total Productos: ${totalProds}"$ +End Sub + +Private Sub et_pCant_TextChanged (Old As String, New As String) +' LogColor($"txt changed - ${Starter.cp_running}"$,Colors.Magenta) + cuentaProds +' Starter.cp_running = False +End Sub + +Sub cuentaProds +' Log("=====================================================") +' Log($"Inicia cuentaProds - ${Starter.cp_running}"$) +' Starter.cp_running = True + Private thisLog As Boolean = False + If thisLog Then LogColor($"ProdsFijos=${tpf}, totalProds=${totalProds}, totalCompra=${totalCompra}"$, Colors.Red) + prodsIds2.Clear + prodsCants2.Clear + prodsPrecios2.Clear + lv_prodsFijos.Clear + agregaFijosALista(Subs.traePromo(estaPromo, esteCliente), True) +' Log(prodsIds) + Private tcpf As Float = 0 'Total de compra de productos fijos. + For pf = 0 To prodsIds.Size - 1 + If thisLog Then Log($"${tcpf} + ${prodsCants.Get(pf)} * ${prodsPrecios.Get(pf)} = ${(prodsPrecios.Get(pf) * prodsCants.Get(pf))}"$) + tcpf = tcpf + (prodsPrecios.Get(pf) * prodsCants.Get(pf)) + Next +' Log("Total compra prodsFijos = " & tcpf) + totalCompra = tcpf + totalProds = tpf 'Cantidad total de productos fijos. + For i = 0 To clv_prodsVariabes.GetSize - 1 + Private p0 As B4XView = clv_prodsVariabes.GetPanel(i) + Private p As B4XView = p0.GetView(0) + Private cant1 As B4XView = p.GetView(2).GetView(4) +' If cant1.Text = "" Then cant1.Text = 0 + totalProds = totalProds + cant1.Text + Private esteTag As List = Regex.Split("\|", cant1.Tag) + If cant1.Text > esteTag.Get(1) Then cant1.Text = esteTag.Get(1) + If cant1.Text > 0 Then + Log(esteTag.Get(2) & "|" & cant1.Text) + totalCompra = totalCompra + (esteTag.get(0) * cant1.text) + If thisLog Then Log($"Cant: ${cant1.Text}, Suma: ${totalCompra}"$) + prodsIds2.Add(esteTag.Get(2)) + prodsCants2.Add(cant1.Text) + prodsPrecios2.Add(esteTag.get(0)) + End If + l_total.Text = $"Total: $$1.2{totalCompra}"$ + l_totProds.text = $"Productos: ${totalProds}"$ + Next + If thisLog Then Log($"Total Prods: ${totalProds}, Total: $$1.2{totalCompra}"$) + l_total.Text = $"Total: $$1.2{totalCompra}"$ + l_totProds.text = $"Productos: ${totalProds}"$ + If totalProds < prodsVarReq + tpf Or totalProds > prodsVarReq + tpf Then +' Log("INCOMPLETA") + b_terminar1.Visible = False + b_continuar.Visible = False + Else +' Log("COMPLETA") + b_terminar1.Visible = True + b_continuar.Visible = True + End If + If thisLog Then LogColor($"${prodsIds}${CRLF}${prodsCants}${CRLF}${prodsPrecios}"$, Colors.blue) + If thisLog Then LogColor($"${prodsIds2}${CRLF}${prodsCants2}${CRLF}${prodsPrecios2}"$, Colors.Magenta) + LogColor($"Total Prods: ${totalProds}, Total: $$1.2{totalCompra}"$, Colors.Blue) +' Log($"Termina cuentaProds - ${Starter.cp_running}"$) +End Sub + +Private Sub et_pCant_FocusChanged (HasFocus As Boolean) +' LogColor("Focus changed", Colors.Magenta) + cuentaProds +' Starter.cp_running = False +End Sub + +Private Sub b_promoMenos_Click + If et_promoCant.Text > 1 Then + et_promoCant.Text = et_promoCant.Text.As(Int) - 1 + End If + l_prodsFijos.Text = $"Productos fijos (${tpf2 * et_promoCant.Text.As(Int)})"$ + l_prodsVariables.Text = $"Productos variables requeridos: ${prodsVarReq2 * et_promoCant.Text.As(Int)}"$ + tpf = tpf2 * et_promoCant.Text.As(Int) + prodsVarReq = prodsVarReq2 * et_promoCant.Text.As(Int) + Log($"Max promos=${et_promoCant.Text.As(Int)}, Prods fijos=${tpf}, "$) + cuentaProds +End Sub + +Private Sub b_promoMas_Click + If et_promoCant.Text < maxCantPromos Then + et_promoCant.Text = et_promoCant.Text.As(Int) + 1 + l_prodsFijos.Text = $"Productos fijos (${tpf2 * et_promoCant.Text.As(Int)})"$ + l_prodsVariables.Text = $"Productos variables requeridos: ${prodsVarReq2 * et_promoCant.Text.As(Int)}"$ + tpf = tpf2 * et_promoCant.Text.As(Int) + prodsVarReq = prodsVarReq2 * et_promoCant.Text.As(Int) + Log($"Max promos=${et_promoCant.Text.As(Int)}, Prods fijos=${tpf}, "$) + End If + If et_promoCant.text > maxCantPromos Then et_promoCant.Text = maxCantPromos + cuentaProds +End Sub + +Private Sub b_terminar1_Click + cuentaProds + Log("====================================================================") +' Log($"${prodsIds}${CRLF}${prodsCants}${CRLF}${prodsPrecios}"$) + For t = 0 To prodsIds.Size - 1 'Guardamos los productos fijos de la promocion en pedido. + Private pn As String = Subs.traeProdNombre(prodsIds.Get(t)) + If prodsCants.Get(t) > 0 Then Subs.guardaProductoSinGestion(estaPromo, prodsPrecios.Get(t), prodsCants.Get(t), pn, prodsIds.Get(t), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, Starter.tipov) + Next + For t = 0 To prodsIds2.Size - 1 'Guardamos los productos variables de la promocion en pedido. + Private pn As String = Subs.traeProdNombre(prodsIds2.Get(t)) + Subs.guardaProductoSinGestion(estaPromo, prodsPrecios2.Get(t), prodsCants2.Get(t), pn, prodsIds2.Get(t), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, Starter.tipov) + Next + lv_prodsFijos.Clear + B4XPages.MainPage.bTerminarClicked = True + B4XPages.ShowPage("productos") + B4XPages.MainPage.productos.b_terminar1_Click +End Sub + +Private Sub b_continuar_Click + cuentaProds + Log("====================================================================") +' Log($"${prodsIds}${CRLF}${prodsCants}${CRLF}${prodsPrecios}"$) + For t = 0 To prodsIds.Size - 1 'Guardamos los productos fijos de la promocion en pedido. + Private pn As String = Subs.traeProdNombre(prodsIds.Get(t)) + Subs.guardaProductoSinGestion(estaPromo, prodsPrecios.Get(t), prodsCants.Get(t), pn, prodsIds.Get(t), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, Starter.tipov) + Next + For t = 0 To prodsIds2.Size - 1 'Guardamos los productos variables de la promocion en pedido. + Private pn As String = Subs.traeProdNombre(prodsIds2.Get(t)) + Subs.guardaProductoSinGestion(estaPromo, prodsPrecios2.Get(t), prodsCants2.Get(t), pn, prodsIds2.Get(t), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, Starter.tipov) + Next + lv_prodsFijos.Clear +' Activity_KeyPress(KeyCodes.KEYCODE_BACK) +' CallSubDelayed2(productos, "Activity_KeyPress", KeyCodes.KEYCODE_BACK) + Private prodspage As C_Productos + If prodspage.IsInitialized Then + prodspage.lv_catalogos.Visible = True + prodspage.lv_promos.Visible = False + prodspage.clv_productos.AsView.Visible = False + End If + B4XPages.MainPage.bTerminarClicked = True + B4XPages.ShowPage("productos") +End Sub + +'Sub Activity_KeyPress (key As Int) As Boolean 'ignore +' ' BACK key pressed +' Log("Keypress") +' If key=KeyCodes.KEYCODE_BACK Then +' Log("BACK") +' Return False +' End If +' Return False +' ' Returning False signals the system to handle the key +'End Sub \ No newline at end of file diff --git a/B4A/C_Promos2.bas b/B4A/C_Promos2.bas new file mode 100644 index 0000000..36fa8d1 --- /dev/null +++ b/B4A/C_Promos2.bas @@ -0,0 +1,24 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root + +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. \ No newline at end of file diff --git a/B4A/C_TicketsDia.bas b/B4A/C_TicketsDia.bas new file mode 100644 index 0000000..493188f --- /dev/null +++ b/B4A/C_TicketsDia.bas @@ -0,0 +1,137 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore + Dim c As Cursor + Dim ruta As String + Dim ListView1 As ListView + Dim b_noventa As Button + Dim nombre_boton As String +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root + ruta = File.DirInternal + Root.LoadLayout("ticketsDia") + c=Starter.skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc") + ListView1.Clear + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim label1 As Label + label1 = ListView1.TwoLinesLayout.Label + label1.TextSize = 15 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = ListView1.TwoLinesLayout.SecondLabel + label2.TextSize = 13 + label2.TextColor = Colors.Black + ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),"Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO")) + Next + End If +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. + +Sub B4XPage_Appear + nombre_boton = "NOVENTA" + c=Starter.skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART,(select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pc_cliente ) as NOMBRE FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc") + ListView1.Clear + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim label1 As Label + label1 = ListView1.TwoLinesLayout.Label + label1.TextSize = 15 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = ListView1.TwoLinesLayout.SecondLabel + label2.TextSize = 13 + label2.TextColor = Colors.Black + ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cant. #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO")) + Next + End If + c.Close +End Sub + +Sub Regresar_Click + Subs.iniciaActividad("Cliente") +' B4XPages.ShowPage("Cliente") +End Sub + +Private Sub B4XPage_CloseRequest As ResumableSub + ' BACK key pressed + Subs.iniciaActividad("Principal") +' B4XPages.ShowPage("Principal") + Return True +End Sub + +Sub Activity_KeyPress (key As Int) As Boolean +' ' BACK key pressed +' If key=KeyCodes.KEYCODE_BACK Then +' Subs.iniciaActividad("Principal") +' End If +' ' Returning False signals the system to handle the key +' Return False +End Sub + +Sub ListView1_ItemLongClick (Position As Int, Value As Object) + Starter.skmt.ExecNonQuery("delete from CUENTAA") + Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(Value)) + Subs.iniciaActividad("Cliente") +End Sub + +Sub b_noventa_Click + If nombre_boton = "NOVENTA" Then + nombre_boton = "VENTA" + b_noventa.Text ="VENTA" + c=Starter.skmt.ExecQuery("select NV_CLIENTE,NV_MOTIVO,NV_COMM, (select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = NV_CLIENTE ) as NOMBRE FROM NOVENTA ORDER BY NV_CLIENTE asc") + ListView1.Clear + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim label1 As Label + label1 = ListView1.TwoLinesLayout.Label + label1.TextSize = 15 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = ListView1.TwoLinesLayout.SecondLabel + label2.TextSize = 10 + label2.TextColor = Colors.Black + ListView1.AddTwoLines(c.GetString("NV_CLIENTE"),c.GetString("NOMBRE") &" Motivo #"& c.GetString("NV_MOTIVO")& " Comentario $"& c.GetString("NV_COMM")) + Next + End If + Else + nombre_boton = "NOVENTA" + b_noventa.Text ="NO VENTA" + c=Starter.skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART,(select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pc_cliente ) as NOMBRE FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc") + ListView1.Clear + If c.RowCount>0 Then + For i=0 To c.RowCount -1 + c.Position=i + Dim label1 As Label + label1 = ListView1.TwoLinesLayout.Label + label1.TextSize = 15 + label1.TextColor = Colors.Black + Dim label2 As Label + label2 = ListView1.TwoLinesLayout.SecondLabel + label2.TextSize = 10 + label2.TextColor = Colors.Black + ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO")) + Next + End If + c.Close + End If +End Sub \ No newline at end of file diff --git a/B4A/C_updateAvailable.bas b/B4A/C_updateAvailable.bas new file mode 100644 index 0000000..36fa8d1 --- /dev/null +++ b/B4A/C_updateAvailable.bas @@ -0,0 +1,24 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=11.5 +@EndOfDesignText@ +Sub Class_Globals + Private Root As B4XView 'ignore + Private xui As XUI 'ignore +End Sub + +'You can add more parameters here. +Public Sub Initialize As Object + Return Me +End Sub + +'This event will be called once, before the page becomes visible. +Private Sub B4XPage_Created (Root1 As B4XView) + Root = Root1 + 'load the layout to Root + +End Sub + +'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. \ No newline at end of file diff --git a/B4A/CameraExClass.bas b/B4A/CameraExClass.bas new file mode 100644 index 0000000..8960471 --- /dev/null +++ b/B4A/CameraExClass.bas @@ -0,0 +1,294 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=6.8 +@EndOfDesignText@ + +'Class module +'version 1.20 +'See this page for the list of constants: +'http://developer.android.com/intl/fr/reference/android/hardware/Camera.Parameters.html +'Note that you should use the constant values instead of the names. +Sub Class_Globals + Private nativeCam As Object + Private cam As Camera + Private r As Reflector + Private target As Object + Private event As String + Public Front As Boolean + Type CameraInfoAndId (CameraInfo As Object, Id As Int) + Type CameraSize (Width As Int, Height As Int) + Private parameters As Object +End Sub + +Public Sub Initialize (Panel1 As Panel, FrontCamera As Boolean, TargetModule As Object, EventName As String) + target = TargetModule + event = EventName + Front = FrontCamera + Dim id As Int + id = FindCamera(Front).id + If id = -1 Then + Front = Not(Front) 'try different camera + id = FindCamera(Front).id + If id = -1 Then + ToastMessageShow("No camera found.", True) + Return + End If + End If + cam.Initialize2(Panel1, "camera", id) +End Sub + +Private Sub FindCamera (frontCamera As Boolean) As CameraInfoAndId + Dim ci As CameraInfoAndId + Dim cameraInfo As Object + Dim cameraValue As Int + If frontCamera Then cameraValue = 1 Else cameraValue = 0 + cameraInfo = r.CreateObject("android.hardware.Camera$CameraInfo") + Dim numberOfCameras As Int = r.RunStaticMethod("android.hardware.Camera", "getNumberOfCameras", Null, Null) + For i = 0 To numberOfCameras - 1 + r.RunStaticMethod("android.hardware.Camera", "getCameraInfo", Array As Object(i, cameraInfo), _ + Array As String("java.lang.int", "android.hardware.Camera$CameraInfo")) + r.target = cameraInfo + If r.GetField("facing") = cameraValue Then 'ignore + ci.cameraInfo = r.target + ci.Id = i + Return ci + End If + Next + ci.id = -1 + Return ci +End Sub + +Private Sub SetDisplayOrientation + r.target = r.GetActivity + r.target = r.RunMethod("getWindowManager") + r.target = r.RunMethod("getDefaultDisplay") + r.target = r.RunMethod("getRotation") + Dim previewResult, result, degrees As Int = r.target * 90 + Dim ci As CameraInfoAndId = FindCamera(Front) + r.target = ci.CameraInfo + Dim orientation As Int = r.GetField("orientation") + If Front Then + previewResult = (orientation + degrees) Mod 360 + result = previewResult + previewResult = (360 - previewResult) Mod 360 + Else + previewResult = (orientation - degrees + 360) Mod 360 + result = previewResult +' Log(previewResult) + End If + r.target = nativeCam + r.RunMethod2("setDisplayOrientation", previewResult, "java.lang.int") + r.target = parameters + r.RunMethod2("setRotation", result, "java.lang.int") + CommitParameters +End Sub + +Private Sub Camera_Ready (Success As Boolean) + If Success Then + r.target = cam + nativeCam = r.GetField("camera") + r.target = nativeCam + parameters = r.RunMethod("getParameters") + SetDisplayOrientation + Else + Log("success = false, " & LastException) + End If + CallSub2(target, event & "_ready", Success) +End Sub + +Sub Camera_Preview (Data() As Byte) + If SubExists(target, event & "_preview") Then + CallSub2(target, event & "_preview", Data) + End If +End Sub + +Public Sub TakePicture + cam.TakePicture +End Sub + +Private Sub Camera_PictureTaken (Data() As Byte) + CallSub2(target, event & "_PictureTaken", Data) +End Sub + +Public Sub StartPreview + cam.StartPreview +End Sub + +Public Sub StopPreview + cam.StopPreview +End Sub + +Public Sub Release + cam.Release +End Sub + +'Saves the data received from PictureTaken event +Public Sub SavePictureToFile(Data() As Byte, Dir As String, FileName As String) + Dim out As OutputStream = File.OpenOutput(Dir, FileName, False) + out.WriteBytes(Data, 0, Data.Length) + out.Close +End Sub + +Public Sub SetParameter(Key As String, Value As String) + r.target = parameters + r.RunMethod3("set", Key, "java.lang.String", Value, "java.lang.String") +End Sub + +Public Sub GetParameter(Key As String) As String + r.target = parameters + Return r.RunMethod2("get", Key, "java.lang.String") +End Sub + +Public Sub CommitParameters + Try + r.target = nativeCam + r.RunMethod4("setParameters", Array As Object(parameters), Array As String("android.hardware.Camera$Parameters")) + Catch + ToastMessageShow("Error setting parameters.", True) + Log(LastException) + End Try +End Sub + +Public Sub GetColorEffect As String + Return GetParameter("effect") +End Sub + +Public Sub SetColorEffect(Effect As String) + SetParameter("effect", Effect) +End Sub + +Public Sub GetSupportedPicturesSizes As CameraSize() + r.target = parameters + Dim list1 As List = r.RunMethod("getSupportedPictureSizes") + Dim cs(list1.Size) As CameraSize + For i = 0 To list1.Size - 1 + r.target = list1.Get(i) + cs(i).Width = r.GetField("width") + cs(i).Height = r.GetField("height") + Next + Return cs +End Sub + +Public Sub SetPictureSize(Width As Int, Height As Int) + r.target = parameters + r.RunMethod3("setPictureSize", Width, "java.lang.int", Height, "java.lang.int") +End Sub + +Public Sub SetJpegQuality(Quality As Int) + r.target = parameters + r.RunMethod2("setJpegQuality", Quality, "java.lang.int") +End Sub + +Public Sub SetFlashMode(Mode As String) + r.target = parameters + r.RunMethod2("setFlashMode", Mode, "java.lang.String") +End Sub + +Public Sub GetFlashMode As String + r.target = parameters + Return r.RunMethod("getFlashMode") +End Sub + +Public Sub GetSupportedFlashModes As List + r.target = parameters + Return r.RunMethod("getSupportedFlashModes") +End Sub + +Public Sub GetSupportedColorEffects As List + r.target = parameters + Return r.RunMethod("getSupportedColorEffects") +End Sub + +Public Sub GetPreviewSize As CameraSize + r.target = parameters + r.target = r.RunMethod("getPreviewSize") + Dim cs As CameraSize + cs.Width = r.GetField("width") + cs.Height = r.GetField("height") + Return cs +End Sub + +Public Sub GetPictureSize As CameraSize + r.target = parameters + r.target = r.RunMethod("getPictureSize") + Dim cs As CameraSize + cs.Width = r.GetField("width") + cs.Height = r.GetField("height") + Return cs +End Sub + +'Converts a preview image formatted in YUV format to JPEG. +'Note that you should not save every preview image as it will slow down the whole process. +Public Sub PreviewImageToJpeg(data() As Byte, quality As Int) As Byte() + Dim size, previewFormat As Object + r.target = parameters + size = r.RunMethod("getPreviewSize") + previewFormat = r.RunMethod("getPreviewFormat") + r.target = size + Dim width = r.GetField("width"), height = r.GetField("height") As Int + Dim yuvImage As Object = r.CreateObject2("android.graphics.YuvImage", _ + Array As Object(data, previewFormat, width, height, Null), _ + Array As String("[B", "java.lang.int", "java.lang.int", "java.lang.int", "[I")) + r.target = yuvImage + Dim rect1 As Rect + rect1.Initialize(0, 0, r.RunMethod("getWidth"), r.RunMethod("getHeight")) + Dim out As OutputStream + out.InitializeToBytesArray(100) + r.RunMethod4("compressToJpeg", Array As Object(rect1, quality, out), _ + Array As String("android.graphics.Rect", "java.lang.int", "java.io.OutputStream")) + Return out.ToBytesArray +End Sub + +Public Sub GetSupportedFocusModes As List + r.target = parameters + Return r.RunMethod("getSupportedFocusModes") +End Sub + +Public Sub SetContinuousAutoFocus + Dim modes As List = GetSupportedFocusModes + If modes.IndexOf("continuous-picture") > -1 Then + SetFocusMode("continuous-picture") + Else If modes.IndexOf("continuous-video") > -1 Then + SetFocusMode("continuous-video") + Else + Log("Continuous focus mode is not available") + End If +End Sub + +Public Sub SetFocusMode(Mode As String) + r.target = parameters + r.RunMethod2("setFocusMode", Mode, "java.lang.String") +End Sub + +Public Sub GetFocusDistances As Float() + Dim F(3) As Float + r.target = parameters + r.RunMethod4("getFocusDistances", Array As Object(F), Array As String("[F")) + Return F +End Sub + +'This method should only be called if you need to immediately release the camera. +'For example if you need to start another application that depends on the camera. +Public Sub CloseNow + cam.Release + r.target = cam + r.RunMethod2("releaseCameras", True, "java.lang.boolean") +End Sub + +'Calls AutoFocus and then takes the picture if focus was successfull. +Public Sub FocusAndTakePicture + cam.AutoFocus +End Sub + +Private Sub Camera_FocusDone (Success As Boolean) + If Success Then + TakePicture + Else + Log("AutoFocus error.") + End If +End Sub + + + diff --git a/B4A/DBRequestManager.bas b/B4A/DBRequestManager.bas new file mode 100644 index 0000000..d8ebf11 --- /dev/null +++ b/B4A/DBRequestManager.bas @@ -0,0 +1,270 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=6.8 +@EndOfDesignText@ +''Class module +Sub Class_Globals + Private mTarget As Object + Type DBResult (Tag As Object, Columns As Map, Rows As List) + Type DBCommand (Name As String, Parameters() As Object) + Private link As String + Private bc As ByteConverter + Private T_NULL = 0, T_STRING = 1, T_SHORT = 2, T_INT = 3, T_LONG = 4, T_FLOAT = 5 _ + ,T_DOUBLE = 6, T_BOOLEAN = 7, T_BLOB = 8 As Byte + Private VERSION As Float = 0.9 + Private tempArray(1) As Object + Dim jobTagAnterior As String = "" 'Mod por CHV - 211109 +End Sub + +'Target - The module that handles JobDone (usually Me). +'ConnectorLink - URL of the Java server. +Public Sub Initialize (Target As Object, ConnectorLink As String) + mTarget = Target + link = ConnectorLink +End Sub + +'Sends a query request. +'Command - Query name and parameters. +'Limit - Maximum rows to return or 0 for no limit. +'Tag - An object that will be returned in the result. +Public Sub ExecuteQuery(Command As DBCommand, Limit As Int, Tag As Object) + Dim j As HttpJob + Dim ms As OutputStream + Dim out2 As OutputStream = StartJob(j,ms, Tag) + + WriteObject(Command.Name, out2) + WriteInt(Limit, out2) + WriteList(Command.Parameters, out2) + out2.Close + j.PostBytes(link & "?method=query", ms.ToBytesArray) +End Sub + +'Executes a batch of (non-select) commands. +'ListOfCommands - List of the commands that will be executes. +'Tag - An object that will be returned in the result. +Public Sub ExecuteBatch(ListOfCommands As List, Tag As Object) + Dim j As HttpJob + Dim ms As OutputStream + Dim out2 As OutputStream = StartJob(j,ms, Tag) + WriteInt(ListOfCommands.Size, out2) + For Each Command As DBCommand In ListOfCommands + WriteObject(Command.Name, out2) + WriteList(Command.Parameters, out2) + Next + out2.Close + j.PostBytes(link & "?method=batch", ms.ToBytesArray) +End Sub + +'Similar to ExecuteBatch. Sends a single command. +Public Sub ExecuteCommand(Command As DBCommand, Tag As Object) + ExecuteBatch(Array As DBCommand(Command), Tag) +End Sub + +Private Sub StartJob(j As HttpJob, MemoryStream As OutputStream, Tag As Object) As OutputStream + j.Initialize("DBRequest", mTarget) + j.Tag = Tag + MemoryStream.InitializeToBytesArray(0) + Dim compress As CompressedStreams + Dim out As OutputStream = compress.WrapOutputStream(MemoryStream, "gzip") + WriteObject(VERSION, out) + Return out +End Sub + +Private Sub WriteList(Parameters As List, out As OutputStream) + Dim data() As Byte + If Parameters = Null Or Parameters.IsInitialized = False Then + Dim Parameters As List + Parameters.Initialize + End If + data = bc.IntsToBytes(Array As Int(Parameters.Size)) + out.WriteBytes(data, 0, data.Length) + For Each o As Object In Parameters + WriteObject(o, out) + Next +End Sub + +Private Sub WriteObject(o As Object, out As OutputStream) + Dim data() As Byte + tempArray(0) = o + If tempArray(0) = Null Then + out.WriteBytes(Array As Byte(T_NULL), 0, 1) + Else If tempArray(0) Is Short Then + out.WriteBytes(Array As Byte(T_SHORT), 0, 1) + data = bc.ShortsToBytes(Array As Short(o)) + Else If tempArray(0) Is Int Then + out.WriteBytes(Array As Byte(T_INT), 0, 1) + data = bc.IntsToBytes(Array As Int(o)) + Else If tempArray(0) Is Float Then + out.WriteBytes(Array As Byte(T_FLOAT), 0, 1) + data = bc.FloatsToBytes(Array As Float(o)) + Else If tempArray(0) Is Double Then + out.WriteBytes(Array As Byte(T_DOUBLE), 0, 1) + data = bc.DoublesToBytes(Array As Double(o)) + Else If tempArray(0) Is Long Then + out.WriteBytes(Array As Byte(T_LONG), 0, 1) + data = bc.LongsToBytes(Array As Long(o)) + Else If tempArray(0) Is Boolean Then + out.WriteBytes(Array As Byte(T_BOOLEAN), 0, 1) + Dim b As Boolean = 0 + Dim data(1) As Byte + If b Then data(0) = 1 Else data(0) = 0 + Else If GetType(tempArray(0)) = "[B" Then + data = o + out.WriteBytes(Array As Byte(T_BLOB), 0, 1) + WriteInt(data.Length, out) + Else 'If o Is String Then (treat all other values as string) + out.WriteBytes(Array As Byte(T_STRING), 0, 1) + data = bc.StringToBytes(o, "UTF8") + WriteInt(data.Length, out) + End If + If data.Length > 0 Then out.WriteBytes(data, 0, data.Length) +End Sub + +Private Sub ReadObject(In As InputStream) As Object + Dim data(1) As Byte + In.ReadBytes(data, 0, 1) + Select data(0) + Case T_NULL + Return Null + Case T_SHORT + Dim data(2) As Byte + Return bc.ShortsFromBytes(ReadBytesFully(In, data, data.Length))(0) + Case T_INT + Dim data(4) As Byte + Return bc.IntsFromBytes(ReadBytesFully(In, data, data.Length))(0) + Case T_LONG + Dim data(8) As Byte + Return bc.LongsFromBytes(ReadBytesFully(In, data, data.Length))(0) + Case T_FLOAT + Dim data(4) As Byte + Return bc.FloatsFromBytes(ReadBytesFully(In, data, data.Length))(0) + Case T_DOUBLE + Dim data(8) As Byte + Return bc.DoublesFromBytes(ReadBytesFully(In, data, data.Length))(0) + Case T_BOOLEAN + Dim b As Byte = ReadByte(In) + Return b = 1 + Case T_BLOB + Dim len As Int = ReadInt(In) + Dim data(len) As Byte + Return ReadBytesFully(In, data, data.Length) + Case Else + Dim len As Int = ReadInt(In) + Dim data(len) As Byte + ReadBytesFully(In, data, data.Length) + Return BytesToString(data, 0, data.Length, "UTF8") + End Select +End Sub + +Private Sub ReadBytesFully(In As InputStream, Data() As Byte, Len As Int) As Byte() + Dim count = 0, read As Int + Do While count < Len And read > -1 + read = In.ReadBytes(Data, count, Len - count) + count = count + read + Loop + Return Data +End Sub + +Private Sub WriteInt(i As Int, out As OutputStream) + Dim data() As Byte + data = bc.IntsToBytes(Array As Int(i)) + out.WriteBytes(data, 0, data.Length) +End Sub + +Private Sub ReadInt(In As InputStream) As Int + Dim data(4) As Byte + Return bc.IntsFromBytes(ReadBytesFully(In, data, data.Length))(0) +End Sub + +Private Sub ReadByte(In As InputStream) As Byte + Dim data(1) As Byte + In.ReadBytes(data, 0, 1) + Return data(0) +End Sub + +'Handles the Job result and returns a DBResult. +Public Sub HandleJob(Job As HttpJob) As DBResult + Dim start As Long = DateTime.Now 'ignore + Dim In As InputStream = Job.GetInputStream + Dim cs As CompressedStreams + In = cs.WrapInputStream(In, "gzip") + Dim serverVersion As Float = ReadObject(In) 'ignore + Dim method As String = ReadObject(In) + Dim table As DBResult + table.Initialize + table.Columns.Initialize + table.rows.Initialize + table.Tag = Job.Tag + If jobTagAnterior <> Job.Tag Then LogColor("HandleJob: '"&Job.Tag&"'", Colors.Blue) 'Mod por CHV - 211109 + jobTagAnterior = Job.Tag 'Mod por CHV - 211109 + If method = "query" Then + Dim numberOfColumns As Int = ReadInt(In) + For i = 0 To numberOfColumns - 1 + table.Columns.Put(ReadObject(In), i) + Next + Do While ReadByte(In) = 1 + Dim rowObjects(numberOfColumns) As Object + table.rows.Add(rowObjects) + For col = 0 To numberOfColumns - 1 + Dim o As Object = ReadObject(In) + rowObjects(col) = o + Next + Loop + Else If method = "batch" Then + table.Columns.Put("AffectedRows", 0) + Dim rows As Int = ReadInt(In) + For i = 0 To rows - 1 + table.rows.Add(Array As Object(ReadInt(In))) + Next + End If + In.Close +' Log("HandleJob: " & (DateTime.Now - start))'Comentado por CHV - 211112 + Return table +End Sub +'Reads a file and returns the file as a bytes array. +Public Sub FileToBytes(Dir As String, FileName As String) As Byte() + Dim out As OutputStream + out.InitializeToBytesArray(0) + Dim In As InputStream = File.OpenInput(Dir, FileName) + File.Copy2(In, out) + out.Close + Return out.ToBytesArray +End Sub +'Converts an image to a bytes array (for BLOB fields). +Public Sub ImageToBytes(Image As Bitmap) As Byte() + Dim out As OutputStream + out.InitializeToBytesArray(0) + Image.WriteToStream(out, 100, "JPEG") + out.Close + Return out.ToBytesArray +End Sub +'Converts a bytes array to an image (for BLOB fields). +Public Sub BytesToImage(bytes() As Byte) As Bitmap + Dim In As InputStream + In.InitializeFromBytesArray(bytes, 0, bytes.Length) + Dim bmp As Bitmap + bmp.Initialize2(In) + Return bmp +End Sub +'Prints the table to the logs. +Public Sub PrintTable(Table As DBResult) + Log("Tag: " & Table.Tag & ", Columns: " & Table.Columns.Size & ", Rows: " & Table.Rows.Size) + Dim sb As StringBuilder + sb.Initialize + For Each col In Table.Columns.Keys + sb.Append(col).Append(TAB) + Next + Log(sb.ToString) + For Each row() As Object In Table.Rows + Dim sb As StringBuilder + sb.Initialize + For Each record As Object In row + sb.Append(record).Append(TAB) + Next + ToastMessageShow(sb.ToString, True) + Next +End Sub + + \ No newline at end of file diff --git a/B4A/DownloadService.bas b/B4A/DownloadService.bas new file mode 100644 index 0000000..036d602 --- /dev/null +++ b/B4A/DownloadService.bas @@ -0,0 +1,114 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Service +Version=5.5 +@EndOfDesignText@ +#Region Service Attributes + #StartAtBoot: False +#End Region + +Sub Process_Globals + Private jobs As Map + Private timer1 As Timer + Type DownloadData (url As String, Target As Object, EventName As String) + Type JobTag (Data As DownloadData, _ + CountingStream As CountingOutputStream, Total As Long) + Private pw As PhoneWakeState +End Sub +Sub Service_Create + jobs.Initialize + timer1.Initialize("timer1", 1000) +End Sub + +Sub Service_Start (StartingIntent As Intent) + +End Sub + +Sub Service_Destroy + +End Sub + +Private Sub StartTimer (Target As Object) + Dim n As Notification + n.Initialize2(n.IMPORTANCE_LOW) + n.Icon = "icon" + n.Vibrate = False + n.Sound = False + n.Light = False + n.SetInfo("Downloading file...", "", Target) + Service.StartForeground(1, n) + timer1.Enabled = True + pw.PartialLock +End Sub + +Private Sub EndTimer 'ignore + Service.StopForeground(1) + timer1.Enabled = False + pw.ReleasePartialLock +End Sub + +Public Sub StartDownload(data As DownloadData) + If jobs.ContainsKey(data.url) Then + Log("Ignoring duplicate request.") + Return + End If + Dim J As HttpJob + J.Initialize(data.url, Me) + Log(J) + Dim tag As JobTag + tag.Initialize + tag.data = data + Log(tag) + J.tag = tag + jobs.Put(data.url, J) + Log(jobs) + J.Download(data.url) + If timer1.Enabled = False Then StartTimer(data.Target) +End Sub + +Public Sub CancelDownload(url As String) + If jobs.ContainsKey(url) = False Then + Log("Ignoring cancel request.") + Return + End If + Dim job As HttpJob = jobs.Get(url) + Dim jt As JobTag = job.Tag + If jt.CountingStream.IsInitialized Then + jt.CountingStream.Close + Else + jt.Data.url = "" + End If +End Sub + +Sub timer1_tick + For Each job As HttpJob In jobs.Values + Dim jt As JobTag = job.Tag + If jt.CountingStream.IsInitialized Then + CallSub3(jt.Data.Target, jt.Data.EventName & "_Progress", _ + jt.CountingStream.Count, jt.Total) + End If + Next +End Sub + +Sub JobDone(job As HttpJob) +' Log("1") +' jobs.Remove(job.JobName) +' Dim jt As JobTag = job.Tag +' Log(jt) +' If jobs.Size = 0 Then EndTimer +' Log(jobs.Size) +' If job.Success Then +' Log("5-"&jt.Data.Target&"-"&jt.Data.EventName&"-"&jt.CountingStream.Count&"-"&jt.Total) +' CallSubDelayed3(jt.Data.Target, jt.Data.EventName & "_Progress", jt.CountingStream.Count, jt.Total) +' Log("6") +' CallSubDelayed2(jt.Data.Target, jt.Data.EventName & "_Complete", job) +' Log("7") +' Else +' Log(job.ErrorMessage) +' Log("8") +' CallSubDelayed2(jt.Data.Target, jt.Data.EventName & "_Complete", job) +' Log("9") +' End If +' Log("10") +End Sub diff --git a/B4A/EscPosPrinter.bas b/B4A/EscPosPrinter.bas new file mode 100644 index 0000000..40292c1 --- /dev/null +++ b/B4A/EscPosPrinter.bas @@ -0,0 +1,1148 @@ +B4A=true +Group=Default Group +ModulesStructureVersion=1 +Type=Class +Version=9.3 +@EndOfDesignText@ +#IgnoreWarnings: 9 +' 9 = unused variable + +Sub Class_Globals + ' 1.0 Initial version + ' 2.0 Added FeedPaper, changed many WriteString(.." & Chr(number)) instances to WriteBytes(params) + ' This is to avoid Unicode code page transformations on some numbers > 32 + ' Added PrintAndFeedPaper, setRelativePrintPosn, + ' Added user defined characters, DefineCustomCharacter, DeleteCustomCharacter and setUseCustomCharacters + ' Addedhelper methods CreateCustomCharacter, CreateLine, CreateBox and CreateCircle + Private Version As Double = 2.0 ' Printer class version + + Type AnImage(Width As Int, Height As Int, Data() As Byte) + + Private EventName As String 'ignore + Private CallBack As Object 'ignore + + Private Serial1 As Serial + Private Astream As AsyncStreams + Private Connected As Boolean + Private ConnectedError As String + + Dim ESC As String = Chr(27) + Dim FS As String = Chr(28) + Dim GS As String = Chr(29) + + 'Bold and underline don't work well in reversed text + Dim UNREVERSE As String = GS & "B" & Chr(0) + Dim REVERSE As String = GS & "B" & Chr(1) + + ' Character orientation. Print upside down from right margin + Dim UNINVERT As String = ESC & "{0" + Dim INVERT As String = ESC & "{1" + + ' Character rotation clockwise. Not much use without also reversing the printed character sequence + Dim UNROTATE As String = ESC & "V0" + Dim ROTATE As String = ESC & "V1" + + ' Horizontal tab + Dim HT As String = Chr(9) + + ' Character underline + Dim ULINE0 As String = ESC & "-0" + Dim ULINE1 As String = ESC & "-1" + Dim ULINE2 As String = ESC & "-2" + + ' Character emphasis + Dim BOLD As String = ESC & "E1" + Dim NOBOLD As String = ESC & "E0" + + ' Character height and width + Dim SINGLE As String = GS & "!" & Chr(0x00) + Dim HIGH As String = GS & "!" & Chr(0x01) + Dim WIDE As String = GS & "!" & Chr(0x10) + Dim HIGHWIDE As String = GS & "!" & Chr(0x11) + + ' Default settings + Private LEFTJUSTIFY As String = ESC & "a0" + Private LINEDEFAULT As String = ESC & "2" + Private LINSET0 As String = ESC & "$" & Chr(0x0) & Chr(0x0) + Private LMARGIN0 As String = GS & "L" & Chr(0x0) & Chr(0x0) + Private WIDTH0 As String = GS & "W" & Chr(0xff) & Chr(0xff) + Private CHARSPACING0 As String = ESC & " " & Chr(0) + Private CHARFONT0 As String = ESC & "M" & Chr(0) + Dim DEFAULTS As String = CHARSPACING0 & CHARFONT0 & LMARGIN0 & WIDTH0 & LINSET0 & LINEDEFAULT & LEFTJUSTIFY _ + & UNINVERT & UNROTATE & UNREVERSE & NOBOLD & ULINE0 + +End Sub + +'********** +'PUBLIC API +'********** + +'Initialize the object with the parent and event name +Public Sub Initialize(vCallback As Object, vEventName As String) + EventName = vEventName + CallBack = vCallback + Serial1.Initialize("Serial1") + Connected = False + ConnectedError = "" +End Sub + +' Returns any error raised by the last attempt to connect a printer +Public Sub ConnectedErrorMsg As String + Return ConnectedError +End Sub + +' Returns whether a printer is connected or not +Public Sub IsConnected As Boolean + Return Connected +End Sub + +' Returns whether Bluetooth is on or off +Public Sub IsBluetoothOn As Boolean + Return Serial1.IsEnabled +End Sub + +' Ask the user to connect to a printer and return whether she tried or not +' If True then a subsequent Connected event will indicate success or failure +Public Sub Connect As Boolean + 'leos +' Serial1.Connect("88:6B:0F:3E:53:9E") +' Return True + Try + If Starter.MAC_IMPRESORA = "0" Then + Dim PairedDevices As Map + PairedDevices = Serial1.GetPairedDevices + Dim l As List + l.Initialize + For i = 0 To PairedDevices.Size - 1 + l.Add(PairedDevices.GetKeyAt(i)) + Next + Dim Res As Int + Res = InputList(l, "Choose a printer", -1) 'show list with paired devices 'ignore + If Res <> DialogResponse.CANCEL Then + Serial1.Connect(PairedDevices.Get(l.Get(Res))) 'convert the name to mac address + 'Msgbox(PairedDevices.Get(l.Get(Res)),"mac") + Starter.mac_impresora = PairedDevices.Get(l.Get(Res)) + Return True + End If + Return False + Else + Serial1.Connect(Starter.mac_impresora) + ' Starter.mac_impresora = colonia.MAC_IMPRESORA + Return True + End If + Catch + Log(LastException) + End Try +End Sub + +' Disconnect the printer +Public Sub DisConnect + Serial1.Disconnect + Connected = False +End Sub + +' Reset the printer to the power on state +Public Sub Reset + WriteString(ESC & "@") +End Sub + +'-------------- +' Text Commands +'-------------- + +' Print any outstanding characters then feed the paper the specified number of units of 0.125mm +' This is similar to changing LineSpacing before sending CRLF but this has a one off effect +' A full character height is always fed even if units = 0. Units defines the excess over this minimum +Public Sub PrintAndFeedPaper(units As Int) + WriteString(ESC & "J") + Dim params(1) As Byte + params(0) = units + WriteBytes(params) +End Sub + +' Set the distance between characters +Public Sub setCharacterSpacing(spacing As Int) + WriteString(ESC & " ") + Dim params(1) As Byte + params(0) = spacing + WriteBytes(params) +End Sub + +' Set the left inset of the next line to be printed +' Automatically resets to 0 for the following line +' inset is specified in units of 0.125mm +Public Sub setLeftInset(inset As Int) + Dim dh As Int = inset / 256 + Dim dl As Int = inset - dh + WriteString(ESC & "$" & Chr(dl) & Chr(dh)) + Dim params(2) As Byte + params(0) = dl + params(1) = dh + WriteBytes(params) +End Sub + +' Set the left margin of the print area, must be the first item on a new line +' margin is specified in units of 0.125mm +' This affects barcodes as well as text +Public Sub setLeftMargin(margin As Int) + Dim dh As Int = margin / 256 + Dim dl As Int = margin - dh + WriteString(GS & "L") + Dim params(2) As Byte + params(0) = dl + params(1) = dh + WriteBytes(params) +End Sub + +' Set the width of the print area, must be the first item on a new line +' margin is specified in units of 0.125mm +' This affects barcodes as well as text +' This appears to function more like a right margin than a print area width when used with LeftMargin +Public Sub setPrintWidth(width As Int) + Dim dh As Int = width / 256 + Dim dl As Int = width - dh + WriteString(GS & "W") + Dim params(2) As Byte + params(0) = dl + params(1) = dh + WriteBytes(params) +End Sub + +' Set the distance between lines in increments of 0.125mm +' If spacing is < 0 then the default of 30 is set +Public Sub setLineSpacing(spacing As Int) + If spacing < 0 Then + WriteString(ESC & "2") + Else + WriteString(ESC & "3") + Dim params(1) As Byte + params(0) = spacing + WriteBytes(params) + End If +End Sub + +' Set the line content justification, must be the first item on a new line +' 0 left, 1 centre, 2 right +Public Sub setJustify(justify As Int) + WriteString(ESC & "a" & Chr(justify + 48)) +End Sub + +' Set the codepage of the printer +' You need to look at the printer documentation to establish which codepages are supported +Public Sub setCodePage(codepage As Int) + WriteString(ESC & "t") + Dim params(1) As Byte + params(0) = codepage + WriteBytes(params) +End Sub + +' Select the size of the font for printing text. 0 = Font A (12 x 24), 1 = Font B (9 x 17) +' For font B you may want to set the line spacing to a lower value than the default of 30 +' This affects only the size of printed characters. The code page determines the actual character set +' On my printer setting UseCustomCharacters = while Font B is selected crashes the printer and turns it off +Public Sub setCharacterFont(font As Int) + WriteString(ESC & "M" & Chr(Bit.And(1,font))) +End Sub + +' Set the positions of the horizontal tabs +' Each tab is specified as a number of character widths from the beginning of the line +' There may be up to 32 tab positions specified each of size up to 255 characters +' The printer default is that no tabs are defined +Public Sub setTabPositions(tabs() As Int) + WriteString(ESC & "D") + Dim data(tabs.Length+1) As Byte + For i = 0 To tabs.Length - 1 + data(i) = tabs(i) + Next + data(tabs.Length) = 0 + WriteBytes(data) +End Sub + +' Set print position relative to the current position using horizontal units of 0.125mm +' relposn can be negative +' Unless I have misundertood this doesn't work as documented on my printer +' It only seems take effect at the beginning of a line as a one off effect +Public Sub setRelativePrintPosn(relposn As Int) + Dim dh As Int = relposn / 256 + Dim dl As Int = relposn - dh + WriteString(ESC & "\") + Dim params(2) As Byte + params(0) = dl + params(1) = dh + WriteBytes(params) +End Sub + +' Send the contents of an array of bytes to the printer +' Remember that if the printer is expecting text the bytes will be printed as characters in the current code page +Public Sub WriteBytes(data() As Byte) + If Connected Then + Astream.Write(data) + End If +End Sub + +' Send the string to the printer in IBM437 encoding which is the original PC DOS codepage +' This is usually the default codepage for a printer and is CodePage = 0 +' Beware of using WriteString with Chr() to send numeric values as they may be affected by Unicode to codepage translations +' Most character level operations are pre-defined as UPPERCASE string variables for easy concatenation with other string data +Public Sub WriteString(data As String) + WriteString2(data, "IBM437") +End Sub + +' Send the string to the printer in the specified encoding +' You also need to set the printer to a matching encoding using the CodePage property +' Beware of using WriteString2 with Chr() to send numeric values as they may be affected by codepage substitutions +' Most character level operations are pre-defined as UPPERCASE string variables for easy concatenatipon with other string data +Public Sub WriteString2(data As String, encoding As String) + Try + If Connected Then + Astream.Write(data.GetBytes(encoding)) + End If + Catch + Log("Printer error : " & LastException.Message) + AStream_Error + End Try +End Sub + +'----------------------------------------- +' User defined character commands commands +'----------------------------------------- + +' Delete the specified user defined character mode +' This command deletes the pattern defined for the specified code in the font selected by ESC ! +' If the code is subsequently printed in custom character mode the present code page character is printed instead +Public Sub DeleteCustomCharacter(charcode As Int) + WriteString(ESC & "?") + Dim params(1) As Byte + params(0) = charcode + WriteBytes(params) +End Sub + +' Enable the user defined character mode if custom is True, revert to normal if custom is False +' If a custom character has not been defined for a given character code then the default character for the present font is printed +' FontA and FontB have separate definitions for custom characters +' On my printer setting UseCustomCharacters = while Font B is selected crashes the printer and turns it off +' Therefore the cuatom character routines have not been tested on ont B +Public Sub setUseCustomCharacters(custom As Boolean) + If custom Then + WriteString(ESC & "%1") + Else + WriteString(ESC & "%0") + End If +End Sub + +' Define a user defined character +' The allowable character code range is the 95 characters) from ASCII code 32 (0x20) to 126 (0x7E) +' Characters can be defined in either font A (12*24) or font B (9*17) as selected by present setting of CharacterFont +' The programmer must ensure that the correct font size definition is used for the present setting of CharacterFont +' The user-defined character definition is cleared when Reset is invoked or the printer is turned off +' The vertical and horizontal printed resolution is approximaely 180dpi +' Characters are always defined by sets of three bytes in the vertical direction and up to 9 or 12 sets horizontally +' Each byte defines a vertical line of 8 dots. The MSB of each byte is the highest image pixel, the LSB is the lowest +' Byte(0+n) defines the topmost third of the vertical line, Byte(1+n) is below and Byte(2+n) is the lowest +' Set a bit to 1 to print a dot or 0 to not print a dot +' If the lines to the right of the character are blank then there set of three bytes can be omiited from the byte array +' When the user-defined characters are defined in font B (9*17) only the most significant bit of the 3rd byte of data is used +' charcode defines the character code for the character being defined +' bitdata is a Byte array containing the character definitiopn as described above. +' If the length of bitdata is not a multiple of 3 the definition is ignored and a value of -1 returned +Public Sub DefineCustomCharacter(charcode As Int, bitdata() As Byte) As Int + Dim excess As Int = bitdata.Length Mod 3 + If excess <> 0 Then Return -1 + Dim size As Int = bitdata.Length / 3 + WriteString(ESC & "&") + Dim params(4) As Byte + params(0) = 3 + params(1) = charcode + params(2) = charcode + params(3) = size + WriteBytes(params) + WriteBytes(bitdata) + Return 0 +End Sub + +' The third triangle point is hacked into spare bits keeping the generated Int human readable i hex for other shapes +' The shape array contains the character shapes and characterfont is 0 for a 12*24 character andd 1 for a 9*17 character +' Returns a Byte(36) for characterfont = 0 and a Byte(27) for characterfont = 1 +' The returned array can be directly passed to DefineCustomCharacter +' To define a custom character requires specifying up to 288 data points +' This is a lot of data and in most cases it is mainly white space +' This method takes a character definition that defines only the shapes in the character that are to be printed black +' It will be easier use the outputs from CreateLine, CreateTriangle, CreateBox and CreateCircle rather then building the actual Int values +' Each shape is defined by a single Int value containing four parameters in hex format plugs some single bit flags +' Taking the representation of the Int as eight hex characters numbered from the MS end as 0x01234567 +' 0 contains the shape to draw. 0 = Line, 1 = Box, 2 = Circle, 3 = Triangle +' 1 contains a value between 0 and 0xF. This is either an X coordinate or for a circle the radius +' 2 and 3 contain a value between 0 and 0x1F. This is either a Y coordinate or for a circle the quadrants to draw +' 4 contains a value between 0 and 0xF. This is 0 for an empty shope or 1 for a filled shape +' 5 contains a value between 0 and 0xF. This is an X coordinate +' 5 and 6 contain a value between 0 and 0x1F. This is a Y coordinate +' The coordinate 0,0 is at the top left of the character +' Line +' One point of the vector is contained in the top part of the Int and the other in the bottom half +' To define a single point place its coordinates as both sr=start and end of a line +' Box +' The two X,Y coordinates specify the top left and bottom right corners of the box +' Circle +' The left X parameter is now the radius of the circle, the left Y is the quadrants to be drawn +' The right X and Y parameters are the centre of the circle' +' The quadrants to draw are bit ORed together, UpperRight = 0x1, LowerRight = 0x2, LowerLeft = 0x4, Upper Left = 0x8 +' Triangle +' The left X and Y parameters are now one point of the triangle, the right X and Y parameters another point +' The third triangle point is hacked into spare bits keeping the generated Int human readable in hex for the other shapes +' The bit allocations of a shape are as follows. f = fill as 0 or 1, s = shape as 0 to 7, xn as 0 to 15, yn as 0 to 31 +' Shape 0 = line, 1 = box, 2 = triangle, 3 = circle, 4 to 7 = unused +' fsss xxxx -yyy yyyy xxxx xxxx yyyy yyyy +' 0000 220 0000 2222 1111 2221 1111 +' x0 y2 y0 x2 x1 y2 y1 +' The shape array contains the character shapes and characterfont is 0 for a 12*24 character andd 1 for a 9*17 character +' Returns a Byte(36) for characterfont = 0 and a Byte(27) for characterfont = 1 +' The returned array can be directly passed to DefineCustomCharacter +Public Sub CreateCustomCharacter(shapes() As Int, characterfont As Int) As Byte() + Dim masks(8) As Byte + masks(0) = 0x80 + masks(1) = 0x40 + masks(2) = 0x20 + masks(3) = 0x10 + masks(4) = 0x08 + masks(5) = 0x04 + masks(6) = 0x02 + masks(7) = 0x01 + ' rather than try to catch errors whenever we access this array we Dim it to the maximum possible values of X and Y + ' then copy the top left of it to the final character definition array of the correct size + Dim points(16,32) As Byte + ' initialise the character to all white + For x = 0 To 15 + For y = 0 To 31 + points(x,y) = 0 + Next + Next + Dim size As Int = 12 + If characterfont = 1 Then size = 9 + Dim charbyes(size * 3) As Byte + For c = 0 To charbyes.Length - 1 + charbyes(c) = 0 + Next + ' set the points array from the shapes provided + For i = 0 To shapes.Length -1 + Dim fill As Int = Bit.UnsignedShiftRight(Bit.And(0x80000000, shapes(i)), 31) + Dim shape As Int = Bit.UnsignedShiftRight(Bit.And(0x70000000, shapes(i)), 28) + Dim x0 As Int = Bit.UnsignedShiftRight(Bit.And(0x0f000000, shapes(i)), 24) + Dim y0 As Int = Bit.UnsignedShiftRight(Bit.And(0x001f0000, shapes(i)), 16) + Dim x1 As Int = Bit.UnsignedShiftRight(Bit.And(0x00000f00, shapes(i)), 8) + Dim y1 As Int = Bit.And(0x0000001f, shapes(i)) + Dim x2 As Int = Bit.UnsignedShiftRight(Bit.And(0x0000f000, shapes(i)), 12) + Dim y2 As Int = Bit.UnsignedShiftRight(Bit.And(0x00e00000, shapes(i)), 18) + Bit.UnsignedShiftRight(Bit.And(0x000000e0, shapes(i)), 5) + ' The bit allocations of a shape are as follows. f = fill as 0 or 1, s = shape as 0 to 7, xn as 0 to 15, yn as 0 to 31 + ' Shape 0 = line, 1 = box, 2 = triangle, 3 = circle, 4 to 7 = unused + ' fsss xxxx -yyy yyyy xxxx xxxx yyyy yyyy + ' 0000 220 0000 2222 1111 2221 1111 + ' x0 y2 y0 x2 x1 y2 y1 + Dim logmsg As String = ": Fill=" & fill & " : Points " & x0 & "," & y0 & " " & x1 & "," & y1 & " " & x2 & "," & y2 + If shape = 3 Then + Log("Triangle " & logmsg) + PlotTriangle(x0, y0, x1, y1, x2, y2, points, fill) + else If shape = 2 Then + Log("Circle " & logmsg) + PlotCircle(x0, y0, x1, y1, points, fill) + Else If shape = 1 Then + Log("Box " & logmsg) + PlotBox(x0, y0, x1, y1, points, fill) + Else + Log("Line " & logmsg) + PlotLine(x0, y0, x1, y1, points) + End If + ' map the points array onto the character definition array + For x = 0 To size -1 ' 9 or 12 horizontal bytes + For y = 0 To 2 ' 3 vertical bytes + Dim bits As Byte = 0 + For b = 0 To 7 ' 8 vertical bits + If points(x, y*8+b) <> 0 Then + bits = Bit.Or(bits, masks(b)) + End If + Next + charbyes(x*3+y) = bits + Next + Next + Next + Return charbyes +End Sub + +' This is a higher level method that builds the Int values to pass to CreateCustomCharacter in the shapes array +' Create the value to draw a line in a custom character +' The line starts at X0,Y0 and ends at X1,Y1 +Public Sub CreateLine(x0 As Int, y0 As Int, x1 As Int, y1 As Int) As Int + Dim line As Int = 0 + line = line + Bit.ShiftLeft(Bit.And(0xf,x0), 24) + line = line + Bit.ShiftLeft(Bit.And(0x1f,y0), 16) + line = line + Bit.ShiftLeft(Bit.And(0xf,x1), 8) + line = line + Bit.And(0x1f,y1) + Return line +End Sub + +' This is a higher level method that builds the Int values to pass to CreateCustomCharacter in the shapes array +' Create the value to draw a circle in a custom character +' The circle is centred on X1,Y1 and the quadrants to draw are bit ORed together +' UpperRight = 0x1, LowerRight = 0x2, LowerLeft = 0x4, Upper Left = 0x8 +Public Sub CreateCircle(radius As Int, quadrants As Int, x1 As Int, y1 As Int, fill As Boolean) As Int + Dim circle As Int = 0x20000000 + If fill Then circle = circle + 0x80000000 + circle = circle + Bit.ShiftLeft(radius, 24) + circle = circle + Bit.ShiftLeft(quadrants, 16) + circle = circle + Bit.ShiftLeft(x1, 8) + circle = circle + y1 + Return circle +End Sub + + +' This is a higher level method that builds the Int values to pass to CreateCustomCharacter in the shapes array +' Create the value to draw a triangle in a custom character +' The triangles corners are at X0,Y0 X1,Y1 and X2,Y2 +Public Sub CreateTriangle(x0 As Int, y0 As Int, x1 As Int, y1 As Int, x2 As Int, y2 As Int, fill As Boolean) As Int + Dim triangle As Int = 0x30000000 + If fill Then triangle = triangle + 0x80000000 + triangle = triangle + Bit.ShiftLeft(Bit.And(0xf,x0), 24) + triangle = triangle + Bit.ShiftLeft(Bit.And(0x1f,y0), 16) + triangle = triangle + Bit.ShiftLeft(Bit.And(0xf,x1), 8) + triangle = triangle + Bit.And(0x1f,y1) + triangle = triangle + Bit.ShiftLeft(Bit.And(0xf,x2), 12) ' extra X + triangle = triangle + Bit.ShiftLeft(Bit.And(0x7,y2), 5) ' extra Y lsbits * 3 + triangle = triangle + Bit.ShiftLeft(Bit.And(0x18,y2), 18) ' extra Y msbits * 2 + Return triangle +End Sub + +' This is a higher level method that builds the Int values to pass to CreateCustomCharacter in the shapes array +' Create the value to draw a box in a custom character +' The box top left start is X0,Y0 and bottom right is X1,Y1 +Public Sub CreateBox(x0 As Int, y0 As Int, x1 As Int, y1 As Int, fill As Boolean) As Int + Dim box As Int = 0x10000000 + If fill Then box = box + 0x80000000 + box = box + Bit.ShiftLeft(Bit.And(0xf,x0), 24) + box = box + Bit.ShiftLeft(Bit.And(0x1f,y0), 16) + box = box + Bit.ShiftLeft(Bit.And(0xf,x1), 8) + box = box + Bit.And(0x1f,y1) + Return box +End Sub + +'----------------------------------------- +' Private custom character drawing methods +'----------------------------------------- + +Private Sub PlotTriangle(x0 As Int, y0 As Int, x1 As Int, y1 As Int, x2 As Int, y2 As Int, points(,) As Byte, Fill As Int) + ' This is a pretty crude algorithm, but it is simple, works and it isn't invoked often + PlotLine(x0, y0, x1, y1, points) + PlotLine(x1, y1, x2, y2, points) + PlotLine(x2, y2, x0, y0, points) + If Fill > 0 Then + FillTriangle(x0, y0, x1, y1, x2, y2, points) + End If +End Sub + +Private Sub FillTriangle(x0 As Int, y0 As Int, x1 As Int, y1 As Int, x2 As Int, y2 As Int, points(,) As Byte) + ' first sort the three vertices by y-coordinate ascending so v0 Is the topmost vertice */ + Dim tx, ty As Int + If y0 > y1 Then + tx = x0 : ty = y0 + x0 = x1 : y0 = y1 + x1 = tx : y1 = ty + End If + If y0 > y2 Then + tx = x0 : ty = y0 + x0 = x2 : y0 = y2 + x2 = tx : y2 = ty + End If + If y1 > y2 Then + tx = x1 : ty = y1 + x1 = x2 : y1 = y2 + x2 = tx : y2 = ty + End If + + Dim dx0, dx1, dx2 As Double + Dim x3, x4, y3, y4 As Double + Dim inc As Int + + If y1 - y0 > 0 Then dx0=(x1-x0)/(y1-y0) Else dx0=0 + If y2 - y0 > 0 Then dx1=(x2-x0)/(y2-y0) Else dx1=0 + If y2 - y1 > 0 Then dx2=(x2-x1)/(y2-y1) Else dx2=0 + x3 = x0 : x4 = x0 + y3 = y0 : y4 = y0 + If dx0 > dx1 Then + While + Do While y3 <= y1 + If x3 > x4 Then inc = -1 Else inc = 1 + For x = x3 To x4 Step inc + points(x, y3) = 1 + Next + y3 = y3 + 1 : y4 = y4 + 1 : x3 = x3 + dx1 : x4 = x4 + dx0 + Loop + x4=x1 + y4=y1 + Do While y3 <= y2 + If x3 > x4 Then inc = -1 Else inc = 1 + For x = x3 To x4 Step inc + points(x ,y3) = 1 + Next + y3 = y3 + 1 : y4 = y4 + 1 : x3 = x3 + dx1 : x4 = x4 + dx2 + Loop + Else + While + Do While y3 <= y1 + If x3 > x4 Then inc = -1 Else inc = 1 + For x = x3 To x4 Step inc + points(x, y3) = 1 + Next + y3 = y3 + 1 : y4 = y4 + 1 : x3 = x3 + dx0 : x4 = x4 +dx1 + Loop + x3=x1 + y3=y1 + Do While y3<=y2 + If x3 > x4 Then inc = -1 Else inc = 1 + For x = x3 To x4 Step inc + points(x, y3) = 1 + Next + y3 = y3 + 1 : y4 = y4 + 1 : x3 = x3 + dx2 : x4 = x4 + dx1 + Loop + End If +End Sub + +Private Sub PlotBox(x0 As Int, y0 As Int, x1 As Int, y1 As Int, points(,) As Byte, Fill As Int) + ' This is a pretty crude algorithm, but it is simple, works and itsn't invoked often + PlotLine(x0, y0, x0, y1, points) + PlotLine(x0, y0, x1, y0, points) + PlotLine(x1, y0, x1, y1, points) + PlotLine(x0, y1, x1, y1, points) + If Fill > 0 Then + For x = x0 To x1 + PlotLine(x, y0, x, y1, points) + Next + End If +End Sub + + +Private Sub PlotCircle(radius As Int, quadrants As Int, x1 As Int, y1 As Int, points(,) As Byte, fill As Int) + ' This is a pretty crude algorithm, but it is simple, works and itsn't invoked often + Dim mask As Int = 1 + For q = 3 To 0 Step -1 + If Bit.And(quadrants, mask) <> 0 Then + For i = q*90 To q*90+90 Step 1 + Dim x,y As Double + x = x1 - SinD(i)*radius + y = y1 - CosD(i)*radius + If fill > 0 Then + PlotLine(x1, y1, x, y, points) + Else + points(Round(x), Round(y)) = 1 + End If + Next + End If + mask = Bit.ShiftLeft(mask, 1) + Next +End Sub + +' Bresenham's line algorithm - see Wikipedia +Private Sub PlotLine(x0 As Int, y0 As Int, x1 As Int, y1 As Int, points(,) As Byte ) + If Abs(y1 - y0) < Abs(x1 - x0) Then + If x0 > x1 Then + PlotLineLow(x1, y1, x0, y0, points) + Else + PlotLineLow(x0, y0, x1, y1, points) + End If + Else + If y0 > y1 Then + PlotLineHigh(x1, y1, x0, y0, points) + Else + PlotLineHigh(x0, y0, x1, y1, points) + End If + End If +End Sub + +Private Sub PlotLineHigh(x0 As Int, y0 As Int, x1 As Int, y1 As Int, points(,) As Byte ) + Dim dx As Int = x1 - x0 + Dim dy As Int = y1 - y0 + Dim xi As Int = 1 + If dx < 0 Then + xi = -1 + dx = -dx + End If + Dim D As Int = 2*dx - dy + Dim x As Int = x0 + For y = y0 To y1 + points(x,y) = 1 + If D > 0 Then + x = x + xi + D = D - 2*dy + End If + D = D + 2*dx + Next +End Sub + +Private Sub PlotLineLow(x0 As Int, y0 As Int, x1 As Int,y1 As Int, points(,) As Byte ) + Dim dx As Int = x1 - x0 + Dim dy As Int = y1 - y0 + Dim yi As Int = 1 + If dy < 0 Then + yi = -1 + dy = -dy + End If + Dim D As Int = 2*dy - dx + Dim y As Int = y0 + For x = x0 To x1 + points(x,y) = 1 + If D > 0 Then + y = y + yi + D = D - 2*dx + End If + D = D + 2*dy + Next +End Sub + + +'------------------- +' Image commands +'------------------- +' There are two different image printing options with different pixel formats. +' PrintImage prints an entire image at once with a maximum size of 576x512 +' PrintImage2 prints a slice of an image with a height of 8 or 24 and a maximum width of 576 +' One or other may look better on your particular printer + +' Printer support method for pre-processing images to print +' Convert the bitmap supplied to an array of pixel values representing the luminance value of each original pixel +Sub ImageToBWIMage(bmp As Bitmap) As AnImage + Dim BC As BitmapCreator 'ignore + Dim W As Int = bmp.Width + Dim H As Int = bmp.Height + Dim pixels(W * H) As Byte + + For y = 0 To H - 1 + For x = 0 To W - 1 + Dim j As Int = bmp.GetPixel(x, y) + ' convert color to approximate luminance value + Dim col As ARGBColor + BC.ColorToARGB(j, col ) + Dim lum As Int = col.r * 0.2 + col.b*0.1 + col.g*0.7 + If lum> 255 Then lum = 255 + ' save the pixel luminance + pixels(y*W + x) = lum + Next + Next + Dim ret As AnImage + ret.Width = bmp.Width + ret.Height = bmp.Height + ret.Data = pixels + Return ret +End Sub + +' Printer support method for pre-processing images to print +' Convert the array of luminance values to an array of 0s and 1s according to the threshold value +Sub ThresholdImage(img As AnImage, threshold As Int) As AnImage 'ignore + Dim pixels(img.Data.Length) As Byte + For i = 0 To pixels.Length - 1 + Dim lum As Int = Bit.And(img.Data(i), 0xff) ' bytes are signed values + If lum < threshold Then + lum = 1 + Else + lum = 0 + End If + pixels(i) = lum + Next + Dim ret As AnImage + ret.Width = img.Width + ret.Height = img.Height + ret.Data = pixels + Return ret +End Sub + +' Printer support method for pre-processing images to print +' Convert the array of luminance values to a dithered array of 0s and 1s according to the threshold value +' The dithering algorithm is the simplest one-dimensional error diffusion algorithm +' Normally threshold should be 128 but some images may look better with a little more or less. +' This algorithm tends to produce vertical lines. DitherImage2D will probably look far better +Sub DitherImage1D(img As AnImage, threshold As Int) As AnImage 'ignore + Dim pixels(img.Data.Length) As Byte + Dim error As Int + For y = 0 To img.Height - 1 + error = 0 ' reset on each new line + For x = 0 To img.Width - 1 + Dim lum As Int = Bit.And(img.Data(y*img.Width + x), 0xff) ' bytes are signed values + lum = lum + error + If lum < threshold Then + error = lum + lum = 1 + Else + error = lum - 255 + lum = 0 + End If + pixels(y*img.Width + x) = lum + Next + Next + Dim ret As AnImage + ret.Width = img.Width + ret.Height = img.Height + ret.Data = pixels + Return ret +End Sub + + +' Printer support method for pre-processing images to print +' Convert the array of luminance values to a dithered array of 0s and 1s according to the threshold value +' The dithering algorithm is the simplest two-dimensional error diffusion algorithm +' Normally threshold should be 128 but some images may look better with a little more or less. +' Anything more sophisticated might be overkill considering the image quality of most thermal printers +Sub DitherImage2D(img As AnImage, threshold As Int) As AnImage + Dim pixels(img.Data.Length) As Byte + Dim xerror As Int + Dim yerrors(img.Width) As Int + For i = 0 To yerrors.Length -1 + yerrors(0) = 0 + Next + For y = 0 To img.Height - 1 + xerror = 0 ' reset on each new line + For x = 0 To img.Width - 1 + Dim lum As Int = Bit.And(img.Data(y*img.Width + x), 0xff) ' bytes are signed values + lum = lum + xerror + yerrors(x) + If lum < threshold Then + xerror = lum/2 + yerrors(x) = xerror + lum = 1 + Else + xerror = (lum - 255)/2 + yerrors(x) = xerror + lum = 0 + End If + pixels(y*img.Width + x) = lum + Next + Next + Dim ret As AnImage + ret.Width = img.Width + ret.Height = img.Height + ret.Data = pixels + Return ret +End Sub + + +' GS v0 printing +'--------------- + +' Prints the given image at the specified height and width using the "GS v" command +' Image data is supplied as bytes each containing 8 bits of horizontal image data +' The top left of the image is Byte(0) and the bottom right is Byte(width*height-1) +' MSB of the byte is the leftmost image pixel, the LSB is the rightmost +' Maximum width is 72 bytes (576 bits), Maximum height is 512 bytes +' The printed pixels are square +' Returns status 0 : OK, -1 : too wide, -2 : too high, -3 : array too small +' The printer can take a long time to process the data and start printing +Public Sub PrintImage(img As AnImage) As Int + ' max width = 72 ' 72mm/576 bits wide + ' max height = 512 ' 64mm/512 bits high + If img.width > 72 Then Return -1 + If img.height > 512 Then Return -2 + If img.data.Length < img.width * img.height Then Return -3 + Dim xh As Int = img.width / 256 + Dim xl As Int = img.width - xh * 256 + Dim yh As Int = img.height / 256 + Dim yl As Int = img.height - yh * 256 + Dim params(5) As Byte + params(0) = 0 ' + params(1) = xl + params(2) = xh + params(3) = yl + params(4) = yh + WriteString(GS & "v0") + WriteBytes(params) + WriteBytes(img.data) + WriteString(CRLF) + Return 0 +End Sub + +' Printer support method for pre-processing images to print by PrintImage +' Takes an array of image pixels and packs it for use with PrintImage +' Each byte in the imagedata array is a single pixel valued zero or non-zero for white and black +' The returned array is 8 x smaller and packs 8 horizontal black or white pixels into each byte +' If the horizontal size of the image is not a multiple of 8 it will be truncated so that it is. +Public Sub PackImage(imagedata As AnImage) As AnImage + Dim xbytes As Int = imagedata.width/8 + Dim pixels(xbytes * imagedata.height) As Byte + Dim masks(8) As Byte + masks(0) = 0x80 + masks(1) = 0x40 + masks(2) = 0x20 + masks(3) = 0x10 + masks(4) = 0x08 + masks(5) = 0x04 + masks(6) = 0x02 + masks(7) = 0x01 + Dim index As Int = 0 + For y = 0 To imagedata.Height - 1 + For x = 0 To xbytes - 1 + Dim xbyte As Byte = 0 + For b = 0 To 7 + ' get a pixel + Dim pix As Byte = imagedata.Data(index) + If pix <> 0 Then + xbyte = xbyte + masks(b) + End If + index = index + 1 + Next + pixels(y*xbytes + x) = xbyte + Next + Next + Dim ret As AnImage + ret.Width = xbytes + ret.Height = imagedata.Height + ret.Data = pixels + Return ret +End Sub + + +' ESC * printing +'--------------- + +' Prints the given image slice at the specified height and width using the "ESC *" command +' Image data is supplied as bytes each containing 8 bits of vertical image data +' Pixels are not square, the width:height ratio varies with density and line height +' Returns status 0 = OK, -1 = too wide, -2 = too high, -3 = wrong array length +' Line spacing needs to be set to 0 if printing consecutive slices +' The printed pixels are not square, the ratio varies with the highdensity and dots24 parameter settings +' The highdensity parameter chooses high or low horizontal bit density when printed +' The dots24 parameter chooses 8 or 24 bit data slice height when printed +' Not(highdensity) +' Maximum width is 288 bits. Horizontal dpi is approximately 90 +' MSB of each byte is the highest image pixel, the LSB is the lowest +' highdensity +' Maximum width is 576 bits. Horizontal dpi is approximately 180 +' Not(dots24) +' Vertical printed height is 8 bits at approximately 60dpi +' One byte in the data Array represents one vertical line when printed +' Array size is the same as the width +' MSB of each byte is the highest image pixel, the LSB is the lowest +' dots24 +' Vertical printed height is 24 bits at approximately 180dpi +' Three consecutive bytes in the data array represent one vertical 24bit line when printed +' Array size is 3 times the width +' Byte(n+0) is the highest, byte (n+2) us the lowest +' MSB of each byte is the highest image pixel, the LSB is the lowest +Public Sub PrintImage2(width As Int, data() As Byte, highdensity As Boolean, dotds24 As Boolean) As Int + Dim d As String = Chr(0) + If Not(highdensity) And Not(dotds24 ) Then + d = Chr(0) + If width > 288 Then Return -1 + If data.Length <> width Then Return -3 + Else If highdensity And Not(dotds24) Then + d = Chr(1) + If width > 576 Then Return -1 + If data.Length <> width Then Return -3 + Else If Not(highdensity) And dotds24 Then + d = Chr(32) + If width > 288 Then Return -1 + If data.Length <> width*3 Then Return -3 + Else ' highdensity And dotds24 + d = Chr(33) + If width > 576 Then Return -1 + If data.Length <> width*3 Then Return -3 + End If + Dim xh As Int = width / 256 + Dim xl As Int = width - xh * 256 + Dim params(2) As Byte + params(0) = xl + params(1) = xh + WriteString(ESC & "*" & d) + WriteBytes(params) + WriteBytes(data) + WriteString(CRLF) + Return 0 +End Sub + +' Printer support method for pre-processing images to print by PrintImage2 +' Takes an array of image pixels and packs one slice of it for use with PrintImage2 +' Each byte in the imagedata array is a single pixel valued zero or non-zero for white and black +' The returned array packs 8 vertical black or white pixels into each byte +' If dots24 is True then the slice is 24 pixels high otherwise it is 8 pixels high +Public Sub PackImageSlice(img As AnImage, slice As Int, dots24 As Boolean) As Byte() + Dim bytes As Int = img.width + If dots24 Then + Dim pixels(bytes * 3) As Byte + Dim slicestart As Int = slice * bytes * 8 * 3 + Else + Dim pixels(bytes) As Byte + Dim slicestart As Int = slice * bytes * 8 + End If + + Dim masks(8) As Byte + masks(0) = 0x80 + masks(1) = 0x40 + masks(2) = 0x20 + masks(3) = 0x10 + masks(4) = 0x08 + masks(5) = 0x04 + masks(6) = 0x02 + masks(7) = 0x01 + ' You could compress this into a single code block but I left it as two to make it more obvious what's happening + If dots24 Then + For x = 0 To bytes - 1 + For s = 0 To 2 + Dim xbyte As Byte = 0 + For b = 0 To 7 + ' get a pixel + Dim pix As Byte = img.Data(slicestart + ((b + s*8) * bytes) + x) + If pix <> 0 Then + xbyte = xbyte + masks(b) + End If + Next + pixels(x*3+s) = xbyte + Next + Next + Else + For x = 0 To bytes - 1 + Dim xbyte As Byte = 0 + For b = 0 To 7 + ' get a pixel + Dim pix As Byte = img.Data(slicestart + (b * bytes) + x) + If pix <> 0 Then + xbyte = xbyte + masks(b) + End If + Next + pixels(x) = xbyte + Next + End If + Return pixels +End Sub + +'---------------- +'Barcode commands +'---------------- + +' Set the height of a 2D bar code as number of dots vertically, 1 to 255 +' Automatically resets to the default after printing the barcode +Public Sub setBarCodeHeight(height As Int) + WriteString(GS & "h") + Dim params(1) As Byte + params(0) = height + WriteBytes(params) +End Sub + +' Set the left inset of a 2D barcode, 0 to 255 +' This does not reset on receipt of RESET +Public Sub setBarCodeLeft(left As Int) + WriteString(GS & "x") + Dim params(1) As Byte + params(0) = left + WriteBytes(params) +End Sub + +' Set the width of each bar in a 2D barcode. width value is 2 to 6, default is 3 +' 2 = 0.250, 3 - 0.375, 4 = 0.560, 5 = 0.625, 6 = 0.75 +' Resets to default after printing the barcode +Public Sub setBarCodeWidth(width As Int) + WriteString(GS & "w") + Dim params(1) As Byte + params(0) = width + WriteBytes(params) +End Sub + +'Selects the printing position of HRI (Human Readable Interpretation) characters when printing a 2D bar code. +'0 Not printed, 1 Above the bar code, 2 Below the bar code, 3 Both above And below the bar code +' Automatically resets to the default of 0 after printing the barcode +' The docs say this can be Chr(0, 1 2 or 3) or "0" "1" "2" or "3" but the numeric characters don't work +Public Sub setHriPosn(posn As Int) + WriteString(GS & "H") + Dim params(1) As Byte + params(0) = posn + WriteBytes(params) +End Sub + +'Selects the font for HRI (Human Readable Interpretation) characters when printing a 2D bar code. +'0 Font A (12 x 24), 1 Font B (9 x 17) +' Automatically resets to the default of 0 after printing the barcode +' The docs say this can be Chr(0 or 1) or "0" or "1" but the numeric characters don't work +Public Sub setHriFont(font As Int) + WriteString(GS & "f" & Chr(font)) +End Sub + +' If given invalid data no barcode is printed, only strange characters +' CODABAR needs any of A,B,C or D at the start and end of the barcode. Some decoders may not like them anywhere else +' Bartype Code Number of characters Permitted values +' A | UPC-A | 11 or 12 characters | 0 to 9 | The 12th printed character is always the check digit +' B | UPC-E | 6 characters | 0 to 9 | The 12th printed character is always the check digit +' C | EAN13 | 12 or 13 characters | 0 to 9 | The 12th printed character is always the check digit +' D | EAN8 | 7 or 8 characters | 0 to 9 | The 8th printed character is always the check digit +' E | CODE39 | 1 or more characters | 0 to 9, A to Z, Space $ % + - . / +' F | ITF | 1 or more characters | 0 to 9 | even number of characters only +' G | CODABAR| 3 to 255 characters | 0 to 9, A to D, $ + - . / : | needs any of A,B,C or D at the start and end +' H | CODE93 | 1 to 255 characters | Same as CODE39 +' I | CODE128| 2 to 255 characters | entire 7 bit ASCII set +Public Sub WriteBarCode(bartype As String, data As String) + Dim databytes() As Byte = data.GetBytes("ASCII") + Dim dlow As Int = databytes.Length + Log("Barcode " & bartype & ", Size " & dlow & ", " & data) + WriteString(GS & "k" & bartype.ToUpperCase.CharAt(0)) + Dim params(1) As Byte + params(0) = dlow + WriteBytes(params) + WriteBytes(databytes) +End Sub + +' On my printer QR codes don't seem to be able to be decoded and on high ECs look obviously wrong :( +' size is 1 to 40, 0 is auto-size. Successive versions increase module size by 4 each side +' size = 1 is 21x21, 2 = 25x25 ... size 40 = 177x177 +' EC is error correction level, "L"(7%) or "M"(15%) or "Q"(25%) or "H"(30%) +' scale is 1 to 8, 1 is smallest, 8 is largest +Public Sub WriteQRCode(size As Int, EC As String, scale As Int, data As String) + Dim databytes() As Byte = data.GetBytes("ISO-8859-1") + Dim dhigh As Int = databytes.Length / 256 + Dim dlow As Int = databytes.Length - dhigh*256 + Log("QR Code : Size " & size & ", EC " & EC & ", Scale " & scale & ", Size " & dlow & " " & dhigh & " : Data = " & data) + Dim params(3) As Byte + params(0) = scale + params(1) = dlow + params(2) = dhigh + WriteString(ESC & "Z" & Chr(size) & EC.ToUpperCase.CharAt(0)) + WriteBytes(params) + WriteBytes(databytes) +End Sub + + +'**************** +' PRIVATE METHODS +'**************** + +'----------------------- +' Internal Serial Events +'----------------------- + +Private Sub Serial1_Connected (Success As Boolean) + If Success Then + Astream.Initialize(Serial1.InputStream, Serial1.OutputStream, "astream") + Connected = True + ConnectedError = "" + Serial1.Listen + Else + Connected = False + ConnectedError = LastException.Message + End If + If SubExists(CallBack, EventName & "_Connected") Then + CallSub2(CallBack, EventName & "_Connected", Success) + End If +End Sub + +'---------------------------- +' Internal AsyncStream Events +'---------------------------- + +Private Sub AStream_NewData (Buffer() As Byte) + If SubExists(CallBack, EventName & "_NewData") Then + CallSub2(CallBack, EventName & "_NewData", Buffer) + End If + Log("Data " & Buffer(0)) +End Sub + +Private Sub AStream_Error + If SubExists(CallBack, EventName & "_Error") Then + CallSub(CallBack, EventName & "_Error") + End If +End Sub + +Private Sub AStream_Terminated + Connected = False + If SubExists(CallBack, EventName & "_Terminated") Then + CallSub(CallBack, EventName & "_Terminated") + End If +End Sub diff --git a/B4A/Files/WHATSTEL.jpeg b/B4A/Files/WHATSTEL.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..5f50eb8d4c3a54bfb60588234adcee838570fd1b GIT binary patch literal 60482 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 MgyR3_$)9ik2mI6_CIA2c literal 0 HcmV?d00001 diff --git a/B4A/Files/WhatsApp Image 2022-11-17 at 11.50.59 AM.jpeg b/B4A/Files/WhatsApp Image 2022-11-17 at 11.50.59 AM.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..03a496a8b6531c05e2b81b7e7e4177d56f4a9e87 GIT binary patch literal 40983 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 XM2de;kmugb00000NkvXXu0mjfy>m~8 literal 0 HcmV?d00001 diff --git a/B4A/Files/alert2.png b/B4A/Files/alert2.png new file mode 100644 index 0000000000000000000000000000000000000000..44d3b7e651884f30ca0811371860a2c872077175 GIT binary patch literal 632 zcmV-;0*C#HP)a1y& zFeNaQ#z>D?Pp5~l@C6?oy~8sZU}IxI;&C5S^*RX4g3j(P>{qMnPinP$E4E$LLaawd zxnek%yAhe62RbqWgdrq^ANpD6_~aynggAY^(YRg~;@v0DbNvqNboym@YHBGwJq<@$ z?d@$S@9ezE?CmWRJ#%Duc*B^R3lx$242WOzK{1WrMjcw z-v5w}lckIWi}Lw_qDo3|mHN%`gnbxlHnWuTVAa-E_dYWdfCP^HQ;1ED$MadV-M-B| z?^qsqIKpekS=WQ}^2EeiLaAF}ZRSx95_bDVsrP40^RXUWeHWs5EgHQPk}^fGlYhI? z7ZShfA-TfX#^p-oQ5`+#S+9lSo8#jTvz$LL94Eq1h#qt#kt9MPaAUF7$5v}~!Lru$ zkBjl^|Gm>9vFC}z*(-*zl%(`RoYGSo*q8FFDMYE@IB%cY_Ge7}ISA*k00RI&q3etP SUq&PV000029qX%a+GMXQ$LSen>t%?#a*r8U}Olp5mHS_w@%R25Nc zdMtxVQEHiKs_n5>1tUaiQU_fyTAKN_bEe;W_uTvLeeZtn-Sf_sOh{${l$*1wGXR1B z073(h@PTwd7AdWygx;ALC5(!)iaG{^MPZcpDnXWtDh8*5(amz8V*)5AC%1doZgmt&)m&Fok3=LAO)ZF)7DSSSs`;AjL=N=e7mD@gM@Ydy zBos4%*rBXai0`Z*3`)9_)832ha4}UmtV~xj2`E4tU}!iRI10pf%YcA30=R~P0d`+a zIE8?v+#atMr)86r2ZqI$RNbiPKpnAY$#Ck$)_4JbFtfK+zCGF|xtum){_|yYZgx|0 zM6`5Cy-u+7lzYsm%cMuxJ6X@4_7U>%_UlXo=AH7n)uC3!Zv-4s(x4%IPpNg1Mi zeqh7DbtmhYZ}Rb7Dj6p_y1cLxo!V=v&5bAfic9%VybGterLO*Wxh&mWBwJVv;O(qQ zLC%#b)k^U;4y_Q@mv0doslrXpnXI5I zB3swZ1IM%xFcb25s-R)T=a)!djew=S@RW2>tRT=}#Cy5Xjyh+0dV=Y?pXs_{kYHxj zIzw%EfKK=Is^i?%WNl@ZRfn@0>npRGQYUr0^St{>IR#H|w2L|Sy*%Te_LN*OZ zvARQdfSz15S6GTA(}HYFNBJ62O$YG%_>g^qJv~s` ztkqGMD9W9_|HGX7x@U_J+3H9`IvY5y*~By6k8GSjNuBy*y1jZkzf*to%e}3d5eX11 z0bcjdl)vEf={UK{pO{pgbCFkNcNg92^ zIgK?hZrQ|z*&>H=6}N>${3t;ieM5P2xaLv*cq(&&L9UqJBfhla1dc7moP5l44^0Z? zsXq^@sa{=RZ1U|6$~D#bS~zmX_{q=H)fVyvr?|)6TGiZD3EW}wxJOObpK6+&xW!%< zWW7^S&8zK$O^H$OSmHe0q;)}zuzkK<7{spBz824M4Gjzk4M5qiAOd>CQHRU0B~8t< zwM;OAn8Mn!^`CXAuQ_y~dC{DEGcMs%){Ea~o0(UP&U84-2YBQC+Un%9-)Si9e9IG$ zsq&pJ#y^gXHQr3*^@YeA;$V3W2?wlf&&G|ZSM(~8KQKdXd88E<@A34lHgck#+d3YT99NUdD^pah=URGQclB;?u{pTn9*Ztp~4hb(-CnjWDHZr&ivu&E8CR2&M3x|WX zmKsEnU818J9kLONw7HRcvE-Uv*QLHVJ(L#nU((r(s;89c{w}}z?$XLdTqIca8EI$YCjb+0G9mImj6`OtC{>L-el*Z%?ya$i^g literal 0 HcmV?d00001 diff --git a/B4A/Files/alerta_amarilla.png b/B4A/Files/alerta_amarilla.png new file mode 100644 index 0000000000000000000000000000000000000000..4f4beaca41c7d207d360658ffbe169e9c867df08 GIT binary patch literal 62562 zcmV)gK%~EkP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf^Y=+aK~#8N?41Q* zRae%9UtA%$J1vFMLTQl-b)k;CL#Na6e_T7#&P?6C6!!ojxVy$(2np`QpX>V9J~uDD z&u_end>mc+6%NII zjAMVe7e{~B3kQGQ6@@=-hrAy)M%Kg#q>nWrWwZ%NLrh2=VM5mUNbGy11rGhP3r_y2 z56-^!C`$kR3{I^245!vjLD`N4u%)kq_dqgm_5ff#1Gvnv@_gj{c^2AF<2lMtRp;xK z2R7bX;Idc3<+Q4wAU{WbuZ<7f-f~_$`MvxEFF&E`z496hAIf#T(6zmJXvhCNgf$&z z)+VW6sV3ov4sk)^le2!0gq{e9#SzcO7ou-_sdb5&xS?SC3fSeU@EqxOw z-<^PczkeFL2L@vAzyKr;AWT$7e-m=4d}`l|ChQ(w4||5kP*K=BJPe7$gONNUK!KM! zk`f514n@|eFl3AhN9yQEB#n+h(x^z}Oyu`W zAcW)jzA?0%w4QrM5pF`flR7w4LJic?>bVsY)(F?nz zf|-@|NwaAJpn92@1=hn;9y4!PDcz@l{hLrW|8FSx-IGWk-j3F%9u5(>1233RG?12! z(BzB^K-!ofB#k3jRGK`dQbrO!TDYW<{2R4*1TEx)BFveD zHJk9}jtWNZ7(zKA6#0|Fv2St&l1JB}qLfkyWy+`sq!9d+k)cXCe7`80pCO-vGMG_FQ32GMK zmnCr?l|mOag?~>IK&t*Gu!-f%9TTSD(-eSAeviB+Ra9j$Q~3F*e1E!FJSvxe+sEe% z`8lH0@lBCDrU87oI&GBhNlUOK5>b2WrFLA>zsKM$e6=ka)y{1xS#Lm-s6P&N6q zc4s!Da?Rhc?~i@4`^6X(G3Giy`UbR&0;48smutL=;dGx>QU`CO5>pw)o!bMnW9 zE9H(2M)v4HWYWb==ksau8oqY#SWOAzcurIj?8lzhg1rwFk%@U4u>XID%;r<6wP}BsXu=TX@goJ_k}Rzi^X82OlL*U zWTjVDNFIyDq4mgR<=)3QFGo5-Ml?X?h&o6c5sG9&lEj!Su?h@j^{8yA=u{4s%h&i- zKrjo&(z?>>Wzh{yAH~>^ZfhdnvsXal>-|cT+bTe-W5yv7N_j&gk;_}Za%hRO21jB) ztz14Ej2wPf8b4Dyes&EDQ4PSh;cO82J9iN_iBIJ`3;5bXo_`^~BcH$X0Ao&ZXOsHz z{exSh=&$2Yx^5wy#mAIu>WA<`Al^J~Lin9S0JPa`sI06+MMVXU{jwYKCbgzZ7>&di zg9#n2)95fHvchjAa0%n;A#r?tT9~@nOAEG(7I6y*XHDq!WX;^wi!OI(*R zDwLpvBXKA-JXA?KWs-*mF&+z06<%CJQSyrfu0LbNL42N{ojiiCp*2bw7fkC(D8~mN zgVrjIabwCT={2o-9p5YONfmcgL{Q{8_1Qc>v7#cem>E33ES_Hu&o7sdi5n~pN*do& zFq!a=2~^g7Cm-+R?JhPZyBJ@JO*p%Egsfx~u>Q^eQS<*;W_)&pKrJE@dYnM8d7H=@28W@bCA)zRw z@`eN=hZQ)TN+tveth{@8e>b5@pp{E|nHBk0jd1Ait#I<4TTuL2SCmib248&Viz}{U zwY*C@RLirty;9|jb|{_r?|QTYbHU>;O`gh5i2Q{m)AxlR(>x(Zx25&f%kJCr@Q`2 zdsr6!12|cz3Q9bDt5ZA;mWIm?j~epP%El!H$zoBiEN|o=uieSQWC4ns>vQq0yqACa zFJbt5521kPhfpMs{BlWW0n5(9=TA!yrk6!+HM15t)R4nj%4X$jTztjRT{!UmXsjDj z4?6}&Abnh8B#f+&y=?tONdzaIu;q*oLpH5YIxD0Ml;@3NJVpzcGlG?Ncn~dLV6`#{ zm{=*P-U>N~g))ub#maxaSfNg10SQp=M zQQ38}E$Uh=YwYbx-Zd?ie5<|#Nyy}Pi^a?sO{>nvC~HhOe|w0s*wWdQN%vUXSaE?f#{?sP5*w2V5lH0YZ7&eS zG0h2NeQf9-hAq5*^oz;Bp)Dk+3=XGTjit(1B%GwpD&wgZl#oCfl9jTPzA!ic=97s4 zs)tO(H?Xk(TMX&<9zr@cQXc0>z;t_AaJ(;LSIPuB+yY%u z1gv;55(!VS)ux5oFYe@s5bT-Q9Ep6K!4_RQKe9&!tKQ0l=h^b}HixlO_P_w-4h}*- z-N}4fLK#jFOCba4(leUy3lsMJEe7RZ5wfKZ0PCLs);t7PTu+qG>x#12HYi`zR;glf zJ5(;A^`guKMO41{){Dv-e_ORIOFJo<<8G~1dF(AHTiB7`(;lS@+o5DZYo+4(EtSl% zZ3%OGIG5Z4*Wyla&g+26sjYDK(}pjp>pRZIQ@T*V-H*F#6fg5S+O!@?2OP!C6ey^1GENt;)Sx=8oVa!wKMcUJzczsV^IL(rJ%E+HY3+K!x1uLJEAEDSd3QKhP^-Er znU~(JWLE#Ez~fIZ<{+MCv}58O-pz`nHAMde=BhOcd1EhnGT%QmkUEc1K8x}Ybl zi|&SHNq6c_SmL`XS!o%~OWUAwQA?CBq~^CkC1qW}_bzPBhT}f?X5WRf589&ePccY+ z$%Gxe9-9fFP?UG>;v5MdS z<9iRGl$*GnViDCL?73KE@=)9yiTn6i9$LlC$=-rfe;SU=7b3BV(42bCgfndI^C!k& z?Vw039}q?tDuS&zTXR}Qe;kxGiWZLd(?>A&VWpA*c5%`6Ob$TKuj}H}JB-0*(Y;*W zmzIteZ)GpImfZzsY!|o}cZD~e@!hgJ;fe188!cGn!nP=#+Y-)YT?xzWaKv?igU{Py zJHk4@J#2H^!8)fcJc~MARPF_x;F^DHwVd;Asg`3dU0!~cYk{a8oD18)zKCvaY%>Dc zM9IChGp%4J*cQ<8&TS3zELum(GMf<2X-ybgsP}ndJHR*p7I>$3gza-$?{}J`_@9lH z%PO5z32cZ`cs`kUO?6PVgF@VZ*jnt~1Nx z`0t0HBy}BQLn|#F3(i3lS#~yB$Vz%GHjhk~@G1~hJnxnGP@>E4|M9(tP+CYQT~8Go zN{}G5NyIKQk%iFH5?#>cIkFiAuMNVE7wTZos4&&LnEWWMom2u^II)1~V-&JELODa@qwz-VFxSE-iam@{5}T7?=ZGn_5gge7OuG7urHydS=tR&T07h7 zyWm)RH~)4QJWIO4wTPfCWQC8t4W78pg!K-B+70#vJ(L^^3GAXf;i8pt$K9@A^)9=e z0N-;_+2`GLj%;)J-Bq&A>BjTpchOb#5i~C$_bk+4bsg-yVC02#n)3y zd4JJu1h^wDWPLUojR|W@eokA)l5OFQZ3ow!mT=5y0q@szc?o3UZ$gm7SW>K{Ts!IL zkr?sdkLc3!+HT-Am8o<&6YHv8*9>|aMZC881Tk}R7`74Ol@Al>Up)d_{&JRCnKl>I zEpeg^UXNV?DCMo38EIivocR4ezV{GH>nN5`wVnc?f{m0;15hV z@pemi7u-XL=rS(rp{$)_`MI($BLJ+(BHQBbgpwWKTRVr*(z+yWH~o1%PfBb3alkJ8x3T69N0_8{O$;b>G8=P(j%B>FATmqmJ{!IvP zh{NIYsFqRKQ~yZe@ClhtRhW{A^!|)L#?(XFq!=~btB8dxGh3urZ!cZUl!;+T8bd2b z5Tzo>m|5nCKw7{cBn=5f?zk|V`fUr~6UKK79;7w6R{>M8tP9Fk(#ou*wOQRA-W7My z<)q^7r1j%-OZj@rzUqEhSKQ0^s~0K=VkNDjnK0Vp2`nMTp5{P8Ga#igkX0YpR|hy4 z0UQkhj)%Z=+;mals7^<|mG7`76h>*EnN<(IPY*iKJn_skFAEK1WXA`7?D=9E4*RnA_U6!!Q3U@6_$hg^CES0%|}94?P#Oi4Y* z*xW2r$=q~X_`m$!>9U|SJr>7be*y;{VF6c-XGuY;86^bGzx+pLloXDvkKAEVNFPdf zijTMR`5h7m{yY#T|J8(*lCj;2Uhu5yMcD3vZ*@0#S9YNVyaleMjI-jpDGTR}qf1GP zW}{`Z(KWTk-K%6VSpbngeBH=hj*bW6;S2=U)z@AYTw!|1% zw>5-yO*2^H7#GeboU<7V&g}v3{JY?bWlXz-ZZct&n6hGiJ;t>4Ai)cv~P9iFZ=^0Kptq z2NlczM(U2KVmGs_g~Kw36goka{ux#NUX=4M#WE7<<&(DWho!vXAtY5acQ#ZyENXy3 z^>Rwjr!19m^CA;OS-o}wr6@m^h|(#q(&g!l9Zv^h&nuA%zRb}wY!IM2Rn%+|N(wt` zq^wei!cMxWYo63*z~ujm1^!V-w&*<>AJOuy>#g7ux6`^<#^1Wq4eJhfJb_%%yQ)X? zZrE24#?_4B*3)uqX6&`K1H9YY0m-zYskC&NjexucKoPCdk#OJyE#0X=LolwX4usKK z@_ce5fs7a+sUfhtDX^UudW$w*X<6J{xum6Yo2kyEvbpV0x!_j1tX&kW)&+EdW9bSn zYRlVJu+Qgv<~D|TP9vQCGzRWjybkm4gyq9F$oX*~w#ihu{)CL)NZ$AeWQ?RI!fP+R zr_wlP5KK`zt>?ONAvpBYj!1pJ8Fr89317lOR)ABi2QJvzE=z~EB9ryOXD#JjD=~B_ z@5pABKiv4ojSu0OL_u> zGlpB%O+n})crtY0jO#-X`@pt{ZYEt(>)P94+jJ{jJKE6YV+GEvOW;_s_l2^evtl0> z@aPsEWraT)1RUdKKS7B*X#~c#l(?_rwjQDm@Z5?7N}lU}{svJ>G~9cmVB1m$<*OPh z7qn!4M_RtFj1Rl1p$x}@mT)d?1$QiCM9Q_G8Qk-l!o@h!xqz|b9J;HtmYx~y;rhBg zO5bXVf?o!!xwF!%nkWq;%R?H;tdT*ganvS01Y^%nJ7EQ5M;QV+J}w#w{iAW_%OA0E zKFk{6P#{Vlsq_sfKgnLo2aF&2NM_)C9}Zsm8~cz8ZSmQ7iP@^jm6fS3Eh%n?157lO`uz*uX2O@<^q-ESY+JwA+ zG(g!`gl{RW-pU7+g|jW~&baLklrQOwO1fg!SPeeUsy^_pp=-MOZZ*bdUqSeGw}2y| zIb6w&;LRdz1+2t}XyF7f0Zo7tom1JXR9N-+ddhz;{>O5Ta<0{JCc!+!2BnBV<}z+g zCS+UNz`Cj}D&u(@E0(YotaDqyHiy@OmeMn?C9tp!u&5pX-VhaY>!WgZ0|g`Iw})?b zTiCvAfztOIB7HKwlBxyA=`wGX@wr+vIVzOk(LH@S9EX401Uvb+%`cj;pRbjod76f@Y3pe#0fDULPf?# zWKC?TrkEvq~>%=}246oCDIXo%vsZ&d^0 z-WB)5y{tFPi@U)b-wlqnJ=O3+)7KGp(tg6GzD4WHYl2*?-w>_}nHZ{EAT-pq-IL5>a znxb+hft+3+&e;T#pt`?okJJCGhpeBNu!o_;UY3!-m`!g*V#I>+0XV=iJ1~&X(`s&G z*>0a4hLjOe$bKpu$3OoGeEBO`C(O$7nFT`Cabttqca(Q-{DW8b20w&4Y1!DcX?a^L zaC`Gn8TStIhWEwMz9tk&9Px5E5++8|?F>iW5LuAaM(ein9$@2rjD;Rh5SGSuhJAH!*w^tjo4dfZt1Z0Jiso^ zX3%AI!tD{)qKpN<3+eBTRDs_4_GK;>B7(o%7A;SEI6GMh0Jkb$|`2E5L2XQ zly1*~KR1MRN>??&jSNDN$Wgpf1>0C|-DRD(*z}>N;2Yl=Jx82R)O=hc|%~)?g z0X#%2z=|r?!XcHB6%Gv-L$Bt{@JO5<7=mOrtQ+Z?X3=V@iQ*GF(e3>QTj^}p8HOo74_wZh9Wz(tIN>O! zXD=;W1+Z;7j{STH@}G=RnaB!QP@Bg#!Pa4sYDT{-6_NpASqrCT^^Xk4HpyD{lL)vz zxr1@vqrkeyfz|iHy8JGbFTYcDwy1&hrFXL;+^hbk4Z`=}{obr-GK@f2lqJ(3^U&IP zXaziHSV@aw7*mOh7Qu=cq5u@DA%H4Kd0%t;G>KcP{$3?RFs`AhU1d2xv2sPaTgsis zzl-ZEoi<`AkI`ZtBbZ0R31%qD`5SHY0@RqLxU5C>fXs$)?P&zt*2eHHx{YySdzfdo zpqj%jQ}q_KB!qNZXE#D=Yy{5C2}Q}wI<$_h8Ao=7XKEK5`&&b#ylg`9uxOb$ej?1?R?$YnLSatus7T*?}d-Co@@1;a4^=BjurPBv3{M@;JahlgK(~X z6yEIwFSCu-%AckTD(*FvSWAgF_wiivsY0pfv|RgWwQ}S&gyJAybAXLSA#V$$SC+TZ zJDVE@JKv*RNQvi8u(1%31b&J01RSI9yn^zk*N1IKJ(RAbRa_`T7ai1eI0$fao1=6_ zG_3O*!Yk9_Xc=7#o5RM~(mJOx>~osn@SmfR`IA7^i6$#Jb`K1|E?KF;vXz8aS-edj z7KHrqj4Np&cRtES_y76;iL+@9kE!8h>CXe`p1Mm^kBuy0E0H=Tq}~7rOW`^nHW^;! zh2aIU%iyZajG#LqoiS>l-hLQ`bN+!P!`flzfDjy?9EJUKFJ)|RJAsoqpfc@D2HGXd zSk|}ztnJ6=C-JAvdlb(2?y$$*sa6h1?B`i^AG~WGfOAD3SmJsrx6`@iPPjLBhIe;+ zAf2vfKCK(A8W!c;Fq)S*rD`g{0cCos=mFHbzl_)RY zC(?R3#bqYEv}PW0Cn>Lhc`Yn)K9$RuGnJriZ3=6AQ<&+JT4uC>V`dxJW;a&Q+2`?Z z1W(*mk!>#HMzNS*w?pZBEl}|5NbF`zznf()oox9GJF>*yns@yVmcn&D>?OP~4z+g7Tf&QTR&1lp znx|!C<8|^cgV+ML!&ZVNiH7z`?->gsjRlhbave3jOkB_GaiJ=9*vP+~_!nc0<+N%G zdolLA74GG?!L~#ez4j!O4>JaQm=N9%TRb7$)C=xiw-G*>GRDgxZkbe0x|hEFbghgk z)-{w_K%-kIF0k)pkb=-fxCBmz04H!#Zi1?w=W`CeR%BPbniL`R%4Z0Cg#qx@S5$I6VxUaqy2(1dhE?|{`&rdlg8fffsG;PEu1{%I)Eo(x0g^C2jr>mj{l zvUW{!pvWZPWX5|kBVVRG?IeInFR>y{V=TA!F}j!cz`eFNyvuHbcg0=sEWeKy@d20@ z_lAY;r)y(ZU{@FT(&-xIG}gxKsw%DO;XD`sx6E!)*5W#9AFYVQorl>-9A=}y#zD<+ zIl{Q?B%d#!Ybx4LH?xoxU0hXhPsNf`V)3LSMXaCd96G_zI~mRQhbbTpzw-*pD-D3Z zVG|c$V$0mR@a>@m+|U%xdCg#*)d=Pp4U`3xn9)AJ6)I;nNAWieQ9dt5^{RU2wT5R} zJDh!;ZYRrGQfg!n#(k55v7Pl`7aymMV;x{ay??BU9#b7;ycmw8{`Hag?pQYVCpEv6 zG!{F{S>qh=m9dq-0S;c3>wDP6J@9&At8l1so=Wl6&mKVPEc`iA;FC8V)Td6ut2#;8n69m#f z#2~Sr>fQVnEY;Z}zwa>LC->#{1OXNZWk})xU$6VFt0CXPD0mLg^2&KjBj=wfBynyY zzkeOA-SP%7$Ht(7z?tV0&Uwx0vNl86^d=}@7=tr2!%#M}4txtFj_e4_dyP=|OL|1o zdrAP0PiTmJ!|Ec5^+2tXp>>pu2uCJ2!Ty&*k@%Pig}?3#n6pvhus~M1Ic(C`t^%Ix ze(-8s@58JHSKWl~goCE=*iO2iEl@rx1i8GBDPzO1ldasI(LqRKJeWKt9LYmNkWB~+ zN73bAd}#mtPSx}2St2u99#9t0yrMg>l(_;itJ>?^~rgj<#Q(k;Np2(={lPQPO&Tp8Sjae zJI;zN^HI-IB~%$-e};|I30llUA=+dC`OWhCWPo1YYw(>{Rt>w#R!zfg`#vpB;C{o3Pk7pwzP!xVTo-B`@)8B%wxmJI8nK$U$(%pf6Byr z6AnuHjQ(|y`dkopv$5VaUK{vN8WM~=)}1r-pk#lK^<&%7TS#D|uNlP~!x_B+AoNNP zjJTm@x}*D7W8H{`YRqr%leB`b)JM)FNlF`z)ZwxhLy+p4&LNB`;{uVui(5JEc9c%< z4DTwobXy-s<+2_qU(yx6HGSxo(h9D99L^2B;n>;{ZW(AVkRC$DCbWJsmRCL4E|vJ8 zSO>a!QmN%{;yxKxtZS%a%~)|7!Ivhh9HLOZG90Johv4uxCKP?n%JmN2ua8VP{FMo( z=b2ExJOZxG^_07ZWX4tL;c(`LGY+h>i2O}rAwAbBCX~6d$9Y|k%jASGxcHq8y2fs~ zwgRD8?*lx)ES~4?2w2xd!?K7_&TRtc>=r1U)(}p{kG}X;u+FEooEZ)4oJJ~Ebj)dk zk}sQL6Jx-gkCtSQzmR5+y=JHI951X!5f4^ zUWMy>oR)54NmH=rLmVDc2m9G#Z5|nbZ9iy$EzbmKY1!%L=Ml`j!F zMN$b^Q3OJNFQSYI%1}UoxN8O#>l*6Nn?cC_9e*?3tc`Tfx4*!6h}S50a2*s3ZG<#d ztkkFJqCdx5KChN&$>apaMKUKdEtY_8;&0C5?>R*f&hj_0;Su-HDdT?z-+4tPjhsNA z&+ptvYj}W`@d!PUBlJ4xI-6+`rL#%7$VIe@2~CxIS~;U0%D$j`I-?azziEK78Ek|I zVdeZfI6EVPlKahYgs&A455F9W^yg*nDc#h`TIWsSs8DQuxgNF-2u9&JNk|opq-Xi} zaqVE+zT}1(N4)9~svj!TiAos+iw~g29*Wrrxo}Ya<~R2=iK}dCDY9wfOE;i@W$N>tRishy27=(4=l@{ zU_~HU7nMQ9xq@;XqziST9-Op1($lG|uJmHk8aVP9#}ze%kCo6ycT*}P3U9@!ui7E! zmB!fgXjS7gG(gMyIY!dehcPY=#oi$S*v)ITjSZ5d+}JZR7>T1JkTRw&(ni;#8n7ZZ zL{|S`6ulUZJXX*Xf8p;T2scn&az;f<$1XU6mb{#$@Pd-z*LH>dxkRjO;=KC zB7nHYC)n_vqK<^XksXXPI|6ZdT_8$6Y6Qp3R`4up1IvO&D4SCUmO1rdpTRotbwgNY z^ZG4p3Fp*iIKO$hSf`&No zg-K05$e%>G*ywDaMcX|(3W>5O#bC(_5TG_`Il{(hKU;d~B`zeS`}x{^ycO-IryzNA zj_^7jq4mrf$GDk~cfU+fX(hI>p*!>k7W-bhxu*$UNfUK0B^i9~Y$VK?0tH>yiWu0X zN7djrT}i3Q?-Hkqdn%0(t)@Fa5Z3fiR3t{gzN8t-=hQ>RtomxIo6I@2&S(Jhw0dyK z6u7zd)f`mktfsJh))0q&uZtF?f0zSB@(t8SY>u_Z_NB7m%^ce!5}@>$26CUP_+dDZ0tqT48Nf zYc07`z))JrDC9p)JsXLv7ebLbAP9T- zzHPj2>-l+Ws2o}b8C%=V_hpZ#>-I`>wG-41zUJtA{Qar7z?sbREDOO20g+Y`XKB5q z$5{0apZ9yNwA5@L8N1YCRIkLTswbEY#G!idBsW0$ns5})3x{JiW8*ok;F{3{wwVoJ zpWgtEB~4HZ<1*pEt$vS0j<}60awJf5ylBVKG?E|2YRaHB#oh2{kYOHGYdKkNkf}5 zq?2KYKvn5d7|#^`uo-r+GD=GIeY6Myr6iy|DFAML9*#8+qde{&U~OL|&&oSk5ce{e ze@x|b@$T(Fw@T{`RNeT7;OQk5?JCOO!k?60*ASSqd0)o*j`1Ax17M2{#b!crYHTyc zzYVZ~aAf@|0wr{tj`b!$<3rS@EL)!nLh6W4IQoxKC|&qAj%}HPyd4X0^w1WZC|rl) zv?VCn@Fh-8`!fpuG6Kot?!(UKZ$lz2U+N>g#?QA#>WeXmV@$M}F;l^h>83qFuj4m7 zpOp5nB=go90{f{Dc%(N|u8p{yhl4!A4xBxfPBJ zQ+aMA=Z$Pdki%;$6T!C+lOEa?Fgq$W15srWuhjqsf9=&hEaHmF_RA=NnZ9V5mG{fD zux3yTw)zcGK$k0>R!>@{{Vz8~>cINQ9n=V?UuudJ>1^PI^v#l)FHh0^ycg!Rw1BJc zRcR%#j&A4D`)LiSH9g?j+d><#mdbNXW`)q=d-?< zcv1|CrV}ngA`{LtheV?2rH0t|qcFr1n(WbykTIYWc8@$+($b-CZDu&B2{_#q~$DIy#hE7rlR!ok7+^sAZ2hQj{K;u+J9mLt%B^KAxU{t z>9Ve;kWdGn{k$HhW8jcpV(Ceh#^b!-bHycdS{Vnb`!aMPxAMJWg--;)Tg=;&QS@x; z!@V*Z=2=m&(>1lttB>-z(I}bD#|s<6v$!#=j2A1XMZz+*9xA_XgtMR2RqID(UyO9t zGnwkPZ*(yBj|)~yp=732KHby;UXM*f>7F0mMi4D3J&m#!*9b%Y!mE3z(ALHFg?_h3 z61F-IW7CAzNRghbQT36-z*#m9N&P_tQW^gwJQ;?w<8MLs07?F1;ss@Fw~SVA^}{M- znPo*UxYze(94N_@?t*3UQ*dp*1IVtL-9pPFs~J>WqXyyiz!}NFMY@9W?vI4MzyycD zCyj%2%V);m^pr4c8cz!~G#K02Dz9KgNT80h)jl+|1(v;ZKaS_E)ZBPE{1roblNndb z-7-o#zQk*ir?vQ-f0U_N(itZ6aOFww8JybuKKA~!EAsnCpx`OSOw!BxlR9eByJS3z zXBl|6&<)*3D|nFZp;&N{!Ed^vIx6Kv==Tg-Bj89^CzIX4l!1tBP(6$w{t zQ#j@}RXwQ{gwZy)4nd5jYs%PmW(>Tst#J4?y6QjUZ{+WkouwpohV-zjOBC zb^d+*u$C;NbXc5{r-s+D{MyW@;jg^9heU%?k;=3t441UvT78< z7IcK=>v|~uJOs8GQSik!gmXbX<+_TC>Rr?lr{9l6(hvCi*x03y48tB807>636aJH* z4?xySk=RL3Y_}|j`XTF+BMY|jW144i4G#XYt9;lGsHG#)VyC?S3)LwgJJjaW1(KOC zM}{;~Nqp4gTRtz_NoUek@GR<$Q|o)+Y`lyGJ`Ak94_G8gckhEQz9(JNyWrl==Vj(g zehi$s&EVMI5Z+^KImO~gAxivZ2%cUn=&Pxd5%3*~hNqx8kkcI%OFCi4OD1e!fgc&& z6x-PF6w)QirFGges6HG?vAj}jhsC{A47aWg z98;UY{$&$*XSRTEb`v;fGKQo}>RMQz5JutT7bcX>;&&|XfYJ||B8d&1wwX;mqz#iE zQ@W@B*A_|7hoE3Yv`VY7SsKRQu&!Cp-~_MNwK(_-Yj;Q%50!*TcGoFC$x7fNbXr1Q zI9%%QjP_CX_Bdp|5Kg~57&~bG)5o&%$-aJc$7DU2WZ9A}#L|Bh2>Xog!1kw6wz4N| zYwm!3*}cFD+0m#sVSJQv;InXV=4*0UScV0AIg*N2B>|W6cM|wJ3PkdpT6u7QG2X!l z-bT~yjnQHkX~_#&d2(q*(%3pDbOv^?@z~ZAW%1AO+@D3|s(azx)(?df!f|k7BW$8u zl*R&=+$vemuoWK6-&S#u1@FRX>7o+=CGM;3p*BsCeHt|;9d^R(VOgEXz`WOgi0miA z)lkQ#A4_j^G>RT(WuFs?3W>$UlaSx1h7NeGi)1o6r7{HYIce++ujv((a#JaN!zmWB zO0KUP5Jtv`GaH~%hBD?ifO)<)ekg8g>C{m87Bb$8ZG*B8>mifBQ?{wwGbj)_V;ZX+ zw30{39+Sby8Weyd!=h9NR_33cWk{H!g;Ub9Su8l~E~V@5fc^Ao)wnsX(B5pkinTkm zL`-ajt&-2f!dBQBlQ7D}jfr=S~ac(m;<;^^cP|k``F`{*56x_2K!9BG(PXDtm(kAh@4rYBD7OHk8 zPNk$@B8hMoNmw*A1e?aS!qI6zqzhlFuAw*-Hjk$&&58@f#b=a|a^&iT2Fp>(V%Sgy% zNJ9$z2n+fs|E@%r=x79==XZ(~kX)Sk_2^piyR#d?wUcq_j=SO7au3{_?uBdJ18}YC ztJW;KmOTc~7M}A$TJjD3vE?UG$Qr=wFj&$qYCUrak2Juc`F|oLr_}XR7O>2&cB8!_ z!&G!-^$;qqrE&DyG>e$A4LirQMfO-Wh~kc z%5pCpy%L^C4XO#ktQc6LIyMZE$? z?IGleIGkplmJSs~eqb4W^QE#p=@C}wN8q3}^vJ#q;{Kg9!9{@1aVP%+$&40} zbm;g5KB;U{!K$X0$#N!bPX}7VoTiLXIsv=sI&Oay*wPQ~bx&(r+Yg@APrtACKYnI))-PW75V-IvrnGrRsc9 z%e-oPc=@Sbmr7bL07{E4w;q0US!uBA2x@S5q}W=sO+=S4I%bt3y#SozQ*N2+nDeBBL=X7uH4Dv|!$k zVyqYi8?B{hdL#Izw#12lM5*y-nVT#z66BRNTJ zcqyG%(i!6_k?hefT0xeuxAqXar7T!;1j2HQ9Tv8d0-*wuAFt+4o+-qN2Td%aFf~yk z`MF4Bu*}ZPZw6OFV|dbN`S;1#A+Nna$m?&XJ8roac~fhE&?d8vjLYn{9VCniKnCmS z;qhTOGB`}t)wKV6gmo@kT}QcYvi*YB=};*+uf)M$P`g7V4v?(8vO^BfP<80hwK_28 zci1(&m70)!MFu47Qc`!LqWq8V8ijXYM78 zt=8X03wR%#jI-1#h%@36vGpqog6|5%BtBLuHHgjvSE(OlQZ>QzW!4AM8^ONyQ8+eJ z8)=Ex^OkVARz1Q-;Zeq`ESz<8m)G?J))PLNPRG|^1D}^3-Hi_tMm8pU24UO8I>@1W zQ!p-A#eyjVBe46I{7oJk%x0?^-m{f!TYp=46-y=4fGY9Y9s)8UB+yQm2QIg4C8s$n zq7%w%aiH*xNvx3J*vrNtYd|!z2ZZA2hb>@R--g$|CF5Os0XYrmj??>~1(YR8*J5sI zO%SRS9%p5&F$T6Bp*XWR2<7vmVV~bfO>?u)t&eiLqoq@WV3`>P`>Y69r$@puy*@m% znxNnpA;=yVhQ#MWkvY5}GA7kS>i8h!(K_bzqh(~hO?WX9$KDzXROYjMSl7h@vf5Xu zYg_xH)(}cPDJfxvk=i4Yq^tYZV$Fy~$fvs{OG?DrNt$!%fH^q68FGi$Q)4!{zX^kL z*}W*6dk1_n1hL^^m>1s#-#WUYJD$MV*xS`WynA;Ccyj7$mP)J^-A8RO{t8qAzcp3v zW_@^5+rYc$Hn_KSXFPWgTq_3=x&d&leh#iRPrLg&;bDz#$yv}gsQV}2c_ z%4uP+%!q_{K~tRmC<4cSAFeHf8W^J1s!Glp$yKYS{1M1~th*bYqUB%oSGp5tA!E1F zcBw+U0te5&mIupGiuIU7+k^w=GuZO8r&-ZLaGVux7qv?H)}h$T+r5tkA!krsl_3lB z?uKo{18}aD-q1VYm8oc(AA@)Gy(pCgyj%Lx3f;@tq>gff?7ZOCf)GN;i!bAWl6%Fd z;4Vipt41aZ=QV^ctv$TEyTP-mFQMzlSnhecln-elWWIHeP&~g4jQ1$-#wTbQ?}KCY z0~F7dR?;c?ZPq81( zlsDp7au*xNJ5aIW7Faj8geRTlAz;XAf1_)9B~>GYq43GFFgD2E;!rq>!f{rXKuryY z>#L@ayfrF)A}ykW?x{d%pC{AbBGvGPbzwN{A4FrncmU7IoMmn8rtHlxJ9=e}q1VQ+ zDd9yEwhn9#XL5on7nwK#o9eEq^-*gGoz_Zt*rH0Og2!2j{hy3P!80b5jW%KDh!)tv zA0oX@G9H*SA{=QW16BF~??TCZ-3LxqT*pdUomE|EH3;0wr)eD@hh<%NICi!9wlFRv znQcEae0ZwL3Pri_i*2r6$xhBQoY9u0)|Bt43g z(tAx$Ma7I)Sx19aGG!aRB*`|XCdOwsf^BtO6i*L7H&I--t2S5v{kh zk|e5*FE*M!n`-c+Ar&c0>5+K6=A+gSdVNmSmCiC`E3pX6`iJAlqzL4X2tfAeXe5pe zL>en!%8&q+o>10$xxTyyXTH8o#ZA^_z2RJWH?WqX#gQIG`*K>BEs}<5Int%z|%_> z9^1dZA6xq~;2#~NAlx^E0sk*(C1o40>wM@TOd8vu8bV1asUTd{6`tjHs*O-(Uq%Jt z(hh7uo5QoF5uAxp@MaS{X#}hCqDm*1w&#Yd#yGFMuC!!30eVQ{B}vXzl^r}k2JWrV zs8}2d+pH*5POXcIX#`W{IOXH%K`>8^glk4KoSw?}&Zg`7Wn&!uL#W#OLWXM6`TM0I zl1U{p?=)*H%T6rg_$J8y_!qop7PW1+%ro@}h>YW9CX;xB@<@2lg2$Q@*&ukJ^8Dvh0Z`maLieo*qy1=>g4gz?m24UQ7bk!NB%l2q1Z-sM5OUBdD+V!pK=+gGvki9z$ z%Ir!?mO{}jbrsPPOPR~GHij48v@qDW2g5c$8fDY!qWqi2Dz&1MuBdfp0IV}2;3Aae zGsD$jzISE=xIb@z<9`T33V*w7t(Q3}nqEr)k_hESK9@MLE)I^akDW5PA|+MPKh+AB1If4|w<9LRY4KRp4Kf#L@|b zyswx1jjf~iP`Db5MhYX!d|jV#Q6Y#3=+%rte9-E=$Q&2J@=2xLT4)6!dOnF|gV-O6rW-6C(t^+(204 z>!_3%lBdQtvmsn_qiOkqV4oER*SrR>%&Mn4X*_fJIdfxB`F;p;WC|baYr{TogJ)d3L$&1v%dt&nS&XCm z$>8?r59(t(flQtdjw}|aq^RFYVIHl{;`?A<)(3XRe-$fxv6a1B?Gs^N{s1ag-2>-N z86a*>00pk93w=>lK`8fi@Tr`dvK6$%h6OS3rFT%)&$F2pj4_{YO@F$-{oz^vJjK{g z58yfaE_iwwfu|SN^~LGeIwECg1X9ICr#qT7I1Hy2{EOwJy0Wh8Q6q$_ZdI_^m)-{J z5{e)SgbrFp*K%rEC)na{fjO=t>}zNpcUPs9lydO*JYQ9@fh`Ku=Jv|GUuBI6zlbra zb7K_B7Db|j)=r52u-jx%B1BPN`l{WhVi;H8uF)x4H&MuJsK$UJs8Y}d*X!cl@f zKkJSHo~&d6OBxo2tN|t*9v6fJ7HZzuaBL))C;mnEa`mHHXUwYJC|O7gxb^`)*N269 zAIvLy!Mddjd^rSAvP820-Mp}dE{I-gJ|}O_0g!Igeu7ufgcX7=5v`wh=Y4PyIOoct zbbANEx0W&4`bQOzS`0`Rl+abH$}RP6cL7QG5-q|sPFr3ye0u?jss!kgj zH>{i}`G3T^=Ofh2gDjq$tjm&#umxkIkT)_$#e-R|u(ewHs2T&r z=Dx75yqhq}r0n|vT0qzG`(az(i+()gMcLcED!6w^CN853e~zRVR9;slT0q%D!k6Eg z?uewsxR>AgkOs^;T0L4o_nK$5m~Gv|>N%|whR|#vlzsqJ2MsOedC;A&^P&5WHr|i2 zkGf;mkWi$IW(&(}lRlJg&*G0&#lPN1jSx!DC}FcNp*y;$laj#bh!Z&Pgn3zO*k}!1 zOS{9x@^vgCsLN$b?MCn=UHy(3NtUIO2}?aVuVYRDnHK{4ra+Xx8<)yjR}+@>i1AQE}MlyHh5GQ^SwbU)ov*@{7OA07Bf zOYC~ggyZjz;CF0M%f}=&hUyjd(h@plRp+H0Jj>c0`A?aUJ*gu$v6U#8XhJSeavee3 zJ1hnV2LxcpKz_w+*_=hQfEB9<;?};vrbhr-q7)|(_JwB~p)6`B1xB80bBL3j%xWQ-`CGx3ZMSKkFo z{B5u-Y6tfsx}xzc!<8N3pek1IzF~P?IaydwzTJ$KF{y+n;+|G5LlaBs+!28C1$04Y z)PZ+qJvgT`PW(Cwr@yKP`_ynaXVV(eLYB^mR_PS6unFAXMC0t6w15n=c8;%ujgtbA zJ({j5>vzVu*4WATP}YI&9bO;qjZ+Dpwv)61&r<=fyX?wAs1o0}_zkk4RE9;$g6 z$%pw5!;wEZRHbDo7#o4CAwf#AV{YE05Nv$b#1^KP%8KS((-p1_EKJ6Nj`;iGTY4W0 ztTzjh5N^K>$gHcm7RN=>v*ypu!WQm?SUU##g+Xu^hNv}tl0jR|lHkQwE~vO4lB-1G z$;5l$Aw>4L@dQD0D=#G9hNmwoqxa}#^d7xjYo7+D^hSbOxEzD*fdOitgky_eRRwpw z4~a@$E{SCv$asn|&xj~B$2aTwa1{Nikpj&x=hEAi#0vW55*R7xl1|lf2&7dyyD*Xs zk*qwCwU;bcX<%ugEQi8iJ=Q?$t@dw8AmuHtWR*L4C8i}>#G5K=49A>MxWD4}&2NLV zUxm;WjZ`Tyq*F#Oi4Xm%oEDBFe=(_S-g)DiBX?wTWU-Nw1Z2syhBA(rHX#f-w20BRo7#?A_JxxczF>4D zQfc|5D?WiIDLdp^=k{b_^`HybjWOBXw1)RHsHZhrLRU1t7aW@i%%1i@PNWt?NIsFH zbSV!7D_27SC1?4`T|;XbI%4>khpawLQJINSjC1tD-u zVM8##If}myRS;Td*0~^r0-)&Z8}#meO5ldd+|v5=^k{5o5oI=w3}Yk?mprDls&9^_ zS3wH>=FeVviKB#<0HNmNvbM0a?6ic+GM4Q};Xj68+rTiS$>8&(a3s(L%^nq^<{s{$ z5(uZ~vu?1*_Jn)+-E{BnrgiEA$BKtwi+fmQN%JlzfO{FYr8l7~%8Tz0s_9zDPCgE? za#cRQEU;C*Ut;yD#-kL3@}B&?Qfk}grkza<@u#QI6EM56Ff#+b)9 zYoi5X0qq{m)xU&;XIRtW(&`H76Ua~Tj(y`d$a}FFcG4%7$;e{)q!%Rk0z%cuN*h~ztQtbu{WeV|aKG6S&SiwJN{)B}NZFTmsa8!8 zdKUJ8b0Nc!g?DO094lMExs~o|DjQeX7C^FqGXxRuMh4tPYW4mRzUFu%t-Na?w@TAN zix(e+^66oW`Rb_YY<9+gzS&J{hHxs4!IXN)|Aq8(u)eeWQilf85{9dl`3WPUmC?y~ zj`1Q5(^;9&CTZ}*!@tA{-aNw^4v$MKC^ng9vzg^}7|FkU49A~ki@?}HAWUM6Q}|L{ zl_N${S0uecS7OFpkj*+}uRzagLb&!`cvn5h!jx%ggmJ^2@NDnER#9ffh#SIFQC5&T zz_@QeFCgXGAFNzZWdZ#cR|-l};N|nZGVs2wFI=0Xv*igmRzF3T_bIjF!M#?-@{Hm0 z%Lp93e4C!RsEpoojtHULN;-vogCmi`3ND$T6JKFWEQ7n(`A|z1`A_As{m6Wp5RQ`6 zlZ<(u55TGS+tnIE`}`L0@)q$uRPSl!f?H9sh!%ErLtuwMM&P8(rCj}utHk#wSiZ79 zhQG}JL%F0*WktcZRMKBiv!hTpE1WSREwZG}uK~jHsr2aP)P?zzC?wKN-$_H0IXVJK zLkJ=bPtNc<*v;pXe`vyiCut3{;xr2=E{5;Yf7g%#Yfx8Fpm4tBheekW2oG}lR@SpN41Gi>jCS(4a^pvEj;NL$zZtE2d2R zz0QYM*5!EJC@IWF*3)4M!bHY9iO-vG_S25Fc1N9YjrsRh1d!fJY*#{gJ8bhi(K5D& zb8#EkcLl?f!a9%_%JQWcFG|v1RUZ^c-*quBN3!bPy)_b!g)%T-S3y`YpN|Qatg^2O z!s6+SD`)fk=G8~RZ)go!cA1O;)!zBz15q$2m~aLod6EeQGGXOcPtY2c0HurwCC~09 z9Q>6v9A+&w!dY>2odwAJSs%9KVQTSbK4Us>{f_rXnwO53b7SPHT z(8-w4CyAP90o^Mepw;RIUrIBrXG~%~UT~S|pvHAnQYAtr&$C681-#X*quh!GB!J#s zcfq~oK~>3RMLX6%MJOJpWO412$_;d`BAf=`>17CxPDbGAW%QnN#Pf3{55hLa%*O^q zV(&y+M7r^t9;X%Xs0jP|9%`0{8z*y)O$XUP|xY7L=G_O>o=5A*!iu+DD_ zM{EbUV+r@d4sgzIM+?=Q<pp|jmA^XRBm-T^jc_!timF8}Iw9AMCXh;F7# zTa(TgwaFxJr4vRV+{ajf7El0mu6}{B=7SXBTlXwAfB=ekf4xjOqh&MzPcK7obiyWn z)E+fxWU11l_&$_w#ppuKy|upGq3+!m+G`Y6zvZ7YNI~u04d3 zHLr4E7h0coYCl2i!lrO75*M{K5Z4~=d2FQT-v%>X)QXj~Qd? zAzMQkQ#vNArTI5;O~euwG>30bZ`jxNgLTDYu&wH)mJ^Be1LWrnrV~!z`sb>J4bPt= z-R`>Y^1CD*?+tL! zb2_^84QzcOTBW4SWMi7o`{i@1X2Mj-8P`q8vE!}`C8Jm<{f333#9i=8}Q<5HEuM0uw2T`7@oEb(78VK_Ye#e}qNMroBg^kp{@l8}h z;a#JHuzg^FS`>Ve*KXIqVEEFjVnfyWCW95_u=^x$sg|T!jS*LM39u$y{BXHs`i%p{ z+h!tbTr)L;Abm^>w#Y`F^owO}T*mM~Y$lLrKkuNnDD!Q&52cGbt961F*++iuowQO6 z%$Gd`CvTBOw}W7Lj%fR+D+tx}GfLc08Ho3f83};$d_f&}QW-~VBZTW7V_d0CJG&GJ z^&nm@gx*d4FDmt#i$S<`2tj-n>9547@i&>+AP}x&f#Ea7}^SKDvXu+;FgpSx-s>Hu9Y70B9qXzNH+bEjBx37;oe0zb4?`5V#9D|Mi5SY9rzzZ=(mI-^DJ7#X@q}HIGodBQ1r(D zHL+WkI>|Dpw26%M$3&^6dlDD!Vndt%^)KmRSXBRvo3WwWT>+O@%vlwC0;lR|xdaF+ z^186v48Faqd#iX* zlK0A5LD^B)yR$7XAitKDO)^_sQ!Bp>1JHx~$D$S4qBZhMBUXM1`O+E~+pfe~uy zmpNgRy2jV_klH|{{q|A1q2XGlF;=Fn1Ly*-WE>cOXSHPclE_Xt{i-d5)qh{a=VIFt z!q%`ZXi)`XQ+Vcdf@kh6R0p``wIc|vDY~l*nkivnJHDnBY}1;k?a)NFX>?_0w*lsN zU<^puX4kEjB!JSZCJ4<_!%;CU7$vg8Von$;ri8*Xtp!f}EkbR(me2B(JT%&t<%E(k z;r^FGvGSP^SikzQ8Y`3?p6v8CRE{n2Og-8n;IgVAD%SFgAMyd^@B9oIjA0J&3nUiL`)KhbzN3|s znGxSvlq=xTJ(Yd^WHPpN;P`fTg>B7Kur7NMPTtB;gm0rPLwfeAL+IN);Ns$IE(W0j zkr1BvXICUK-rB?XxoBXh8e2NEVNumpzK(}#oLz*kGxCN6B6&gx_6-Zh=CSn%A)&g; z5L)K7QL-**LjdWH5=0dn(khBv64orbm9Osz`@FWW&TT=Mn$YSsLix=4@Gb5DH{a)& z*GeUIs+iFbWweHV)fPfo=2Y@kpaM`pw9br#cUEIqKW%^{$)!t6DAN#Sf0ZPe!a0#H z>BL~Q;Y`lB7Jx-U4grzZ*&heGoxJ95lvVkotnoD*#}lw`)NN|d_(P+#nK3e<^%%|W z#<4*vY17F!TQTN)0=_l(p(M65+-rLSYadX9vsm3-iv`!;2VVwV2*1UXI8f54ODBxV z6Z7r!UYVr5k1=3=Blx!64)=y$aITiIKP}U>f6bp~9U;5Q?x-PndhsLOpqgAm$XWyl!N1o`x8_D&2z-e9)uKX1+OqRmxz zM=R&HRI&8??4 zgsEImU(>>vTDzl;>2**_2qia-xTKcZjFo3Z!84;iie4pvykyJFT7U7wIpq}wnzVZSvg}bY$R8VnoGLTC zgRxEeFT>!QPv}-WpvDD@7k7qhRZrDHqn0YIxJRuQbjh$pf%JH4vtT6inTq$s-Bgoy zH3-$tw)+@l=d^$;vjZganw#;YcWocF2-v;)QFvDOQvhOflGj`eLi<{t z-}Zi}`20b&5C5J~Vc6e4Pz~)A&U?4&DqqKgt#hgMIP&^MBA+hu&ha70p}U;;w>y9( zjjlR`0$#P|GbZG7nmQ<%V_Uuy1S_ zL$)yNV7#A47&FOC>YtwhPNXXK1U+T@oRX*41*>KVYliUPh$h&;FOfavlg70~=7>5t z$S>K&FU=g-4Ez7qfS@r>Th<%pOS;0bwkOIL-LBT5VO3wXm!Pbs_wH${fp**kM_x3% z1u8HD`jOxQj?7}+mGAocBDKy1uahfu6u zbv!6g&TkL%+_tEk(*~8Z>6*@OqiJqy*k-kaeP%N_82{O)HikozH^nwrJ*uun0%dD> z=hG{rW%bQ!4%xS`wh-E;MyW-=l1|?`KLRJeGO1Pgw&|?1i(-)XfAx_ykshKLrlACH zShQN$zK5RUzHufjf4VM^xkelg$iBZ0x!}$c(&&P-YC??(=2GRS3Z-rtnLo>*k$<$x z{nStBibi11)3k!awEQS)2?ty8{XeQtA2?JE#LN6pzhuR{Uf%e=goRd6x{(Q>N5*u- z?UeC9SvheiQdvb80hGnO?tLM!Z+j4~H3VSueekS#tXkf+bVDg0q4Vop2xS0XX0dz= zoq(VRLl2AsP3Kyk1K8F z!|UVlt9NUqP<6Q7ZY7VWs)@V?hn;0_&fbo6x=uO6VzA-G2*!ja6usXCo{jg`4B?V4 zN=|w}e#z>3zr>|fQ`QLM`9O-a81P$(JL;EMN11!-mu+72YFX)?iX@k)NToBZl4Mn@ zRt*r^W@%fe`E@>!6*FiBrwfo_FjJLNLt&m00yC|k$ig^r=L8z0(GkcV9D{>nB9TcT zWd>Q&s7UPKbv^UP5yvym&X5zM6?4hAbFJL8b`0vm|ob@)>vR8EznpA)!sEW_&rq2EQlQ6a4ST7$5X zabnIdO-LCTNNZSErTml~on*(YB!an@Rx$ULK7j3z@;an*My9@;5!NcTayGHp6@+rg zJ_u%(ih6i9gCE=p>9l}3BZ3(R2C0R+GFdxoQYco_rSg8&r$z`p>$?F7GBy~gSwaDk zuqg;dGFUHD(vAnflido|9o=Bvz|WIa7puPo@Oum4W|?D3*LlU$*uuh*4JdO5g(Guh zJ*27O~wd%Jp&o%6T*_2Jz!ti<0gbPKv?#<31{D= z`_AwzcVw6{SXot;FnMGsQds8OUSP*=y5X!E+BH3@kFU#yk->QZoidsYX zA?x&)O_2X1vO(Zd25KvdgqtL?A}fuy_X~jewU^+*FD_ylr)-w(&1ja05@`iMZfQGv)G8LsYc*whl0{RC2` zs>yQ#VNM-*cCmn0_JeB~UCGrC0&DxiyQ*dgZ~T~$5Xx(I4ad$`LR5kv=|#&Q9*V8~ zOt9H(a5|mWv@=G3xSb`8VcOE23P#F!6OIjvK+95kLU_}=$I zkv4&iEWMqifx*~6p&pWH5v7wRXL2OAKN?0O@d+U;(Z&bqjrw$?2nlkUp4h>97d3sY~JS2-eC6U|r6Fs0qRY;ZWO9GZqvGWg||{ z{$LG4nK^SP1dfFEsFc|@(v!OCAz)2ELdaNZ?Y97aUm=w9!R8l%?Sql{%P7^eTsSHe zxoqHe$ewo=3+#5gvWC~=uv?BI_t|Ld85xL_NhX{g7>?ARG-HF<9-jE#HzBM6!ju0n z!Ah6Z^LZ%tO9~8@Z_em?$RArr#n!SNcghb!v8g{_``f|1;-|z2YKKp|XOj5PuI%3# zHLp#!yiWe(a1;#)z*?Huy|T1re5isjZ9ouGh6Td>;q5GdyI@&eGlVWlUm&na+$Rw3 z=Lt)OErC#FOXCmT+8xCUAB8Qh7qCud+t7_$LkMKU&F?#e(x7ajMcgs~X@97%X5Swe z6RtW!b`rwM%1UJouNQ=t$|B@H&U2A?<|PwK28JR17ldI&EBKaQzafh63xvmCHKF1i z*6Xi=aQrWf{}`$jz0?vpqoR>TuP5ty*-p)btrMb=^XRR-;zyMQEO*lfb!u~F==?iT zEM`%XMsuj;@!uN~t)aXSg!ak`{OBH=6yg=-(-E2J0`y6JlQA>s$ym=?CjC2SOvA1Ezt_2T%W9^4(xVAn7+`V!*+-I$$r| z6&dcy8y13Hyw0A4mC8L)VStaZp^p)R#06|5UCJ-1-Jvq6@$)3!l=xFVT4c7{U~#a} zcdfy${tejB(v=#=xc|9ORJ`8>XV%>T_tIOh8-#ukuQr5w==|XMC4=>np-mH?s{+wH zjSx-^rUGGkGZLp?m&NQX%da9;nhQyTD4XP_5yI@rL28Cn!b{=E7(@=%f6CyGywUjC zJk{fbUIvPMAePZpi8D#7k;lp*bKz3Q#;8h@B|W4=0#v4{oZrU4x8fn#m-k@s-c4oD zcCX_7ja^Z(s0%!cA0VU;!LqJBkk?x4e39+TWZ$@>p{irXLjb+`JfU2PJ^uS4bgiW| zB!oxay;b!rXAKQd5bkCx>D;~q78Z(HWA8l|LbsGuEf4=TT>_y$?v#&ru<`Zso^$y$ z>>boV?aP-ohOz%Mbgw?`iqds=62ePZ)cZZRgcpL)KV!xZ;DsQxz8#4(|1_ceJ=(J` z=;8dtggx|jG8l3Qglaa;pdf5xxo7aU_{*QdB|A5X*QrW_5K4il-GQujRXF=U9*dOz zL2BG1dn|+WF@b95(%cb2*foSP!~4=Y-V5hSx}foQ!nfpp!gv=P>${?IN!Ka}Wt;1^ zz`m*p+XrQ4OcX&RjN*bGB!ubp;o8;ZhKI05)dbJNSItN;G7PyT>};q{Thup@m`Aa?a*!!WfQ%xh^0 zm)&s_!Wtm7y%T}6|1zQYEfXA{h2q$sL$H&fM)tTcH9uGuNoNmbOh`9Xyvc;0^r0Ja zLRrFU2vsEFV~N|!SujB6#QNAZI8ybNWzq`DF1u=tL5pNn z`C^qNqzP1fkUyVtPp;r0pL?D%fAu_)M%7ibJTmA;$#!6#`FF#ynh-9(`@epOqP7s) z-wj7GAv{f4KMq3WJ5kszJ)+~u&Cn2JNN?$|P_^(qk49|mpn5by35q}|0y#7Y-GXHq ze5a2gl`Y}Ukr7Cj(SMShF5^dHR!MZq%LIt7sCnsK)ew4?^kERsmUDGywU*Gi_+G|{ z_W&sj?2DuqlmHg7U}Y#mh9pFJF>r0=d*b@t@DLg;5G6ipIe>fLBjGba} zh6NDBAhjn&(YrtAwJ%p8xlEdnI8aR+q`TtN(5%(rFKBhh0~wu{&zEMHN*LJ%$z#IV zT5B!#7M8Oo?k;V2UfIU(CWIG-(D8m4N(kU7#)Xw1&`5n&2kDd9(9*rn93H7UXSR!% zfg}FW8{Qo?0#C0R-BCVQx#}@(z<$}&)ey?e8R==x`r~lACTF$ij}W>ALunaR8Tsc_ z{O5<1b2W$ppv+Sf0Qnu((q{cYN=VUd~(GOo?0kCZS5UK|(6q!_d@^6nI zv40?vXhIJTVM|RIrI#mtL;w=$u2?_2g)QVgu&%jVO=*%1UF?f{!Mx&5l&)Z*t-V)4 z=v*ml2MM8c$`sa9ld~nIp}UarMsiEWi@j<2?uU2HJ^vFBmalpg*ggZ!%(?&jrR?X zM$S7O*r?tHNb)5%9ycMZ!5w`s1f~BDqDvZ#lDApMzcj(j_)yX!=8kNNed2BdqbJ^G>{jfK$|4Gdw;Xz7D;A6Q+$3USZH67kq^@1KB5`dJ6VQLeMjFEvVHwxz5 z#dz>eSl9K0Wht%Q@;=oN7O&`}R?pkwdK1FV{IC{q%XGBDW-1o+QL^c$WoIW?Ry__6 zEh;v4y5S)-N^_{!B}2Gl5U^p8f>7Lh+0Q^Wo=lkhAWhOS$PyO;L(+*@q(4S^C#t)q zR)-`L@0}q-eHD3nE*n!L! z>nI;q#s>4oHc&7Y$quul*n0mqgz;c6>Tb2KfFtf6*jL>TSG)|?-^w7qJM2pyLnW=F zH?b*W!DzT;<-`dFqE*?nks1Z_q6cAH%9wG}?ZDCzaIa!KSS62uSS7E3s9@B)DDgChqq@zF; zh}mUklgK!btZ2*0YJWK7g9)|6A`=v~S^P2_;`3GF)Q3M++0|qsMlRzQ>HYT3A!M@W z#PV)%ExLqhYqea|dm#w@Al3-s+{Q|_IgP4io!zin_F46nY%}XAS!cwYqYFXk2k~3* zj8*w=DBSNv!S)XmDqf=)7s?iFsV_@!Gs}2vgqjXmAXe~&5bUB++dVV_So1l`99kjM zerj7dSvM|3X8$O);#(&0=8vtX=D`&)Hk6HC_Wz?kEniQ@HFv=$9WzVsHh}OER4%)R zF(0kp!AQEF;qV@b)~2i-q&3{#9F`>y@bxk?rUyUo>FW=nZk4@}48haO;4}4dt$0{L zSiy6_)&V&1TI+Kme4;+Q=5z(2#bu-IyRs14<%9Wo9+?^?y{$BhYT~fB6#HHsrp5*{ zh6F;UBqp-F-E+Iab^}0o$(HacLFl)HM&RjXc|R1+w<0tMsWKTaoJPy{a}!cn&RL_v zkUBx@8O@D>%9+dK|J zqekhgAgn!!eh5{kjC?jfQuVpok7LiI-fB{Y^weez3q|G+*s9OJ6ZYj@2qDXO@m)6| zGyqR8>jxBLLhIj6D5uWSC6y#l$6gIZ0>Mik9*p!!EN_3u*XU5Bk*UJJ4P#lTK5=cZ z9=5a25n6^m1n^J@yvt>mQ2kEEIvTXlMXZMh78pbO@3quW0=JssL=U9aUy#cf5=h_9BG$!ny1= z4MIXD!xuM6`g#LV_7m|M5&q#)! zsS`HzgM0Hcuu^J`{G(w z`m~YS=P_+S04-qv(gvE4Gdv23jKTMfki9G#14oin8L6dA*cXpIFGk?dkO*ucbh5bf zfOMsfB*k=B3VzRckg!>oc7=7(EdX0dfzU?x)U*6PxR!TTlenGnkHWH2Ago6S1GI5M z$s?269QHM`{_tT1p?mqm>b`fwZG`Xox}*Np78jDfx6??5pQ#fzJ);&Y+h`5l>z)A? z_d5qd*=Fw4N54ab&#sLXT3y1424R)EQk$bfHmYPHOZcJ2gyq9||LB^pk^5{NmAF@a&nd%E%-Wqb%D$Lh3UnoEQ;}jbj)W$_x9OR0o3eke+>; z7j01wSmL{|^&^C9dcY%v#X|Tlgfz2hgzy-xpqe)t0{fVmRj-`FoYz*1M z{(3{`Pl3bs|oU&$Nu{v-1;D2viq(;$bxdk^@MYK7kFjgIJIOc^uiEUfq1h#KIE4f$3WS`)*Dz8uwR>&+F0mbK%hqXR5kolQ3g37M))_!K6%C^02 zcpaoYZ$gI575;4`U1i4o%kHR#&^FI_ci#U62>q7O2*AsMFl_|GJL%-41r!LgM+YL6 zhAnMiFmgxKh0p6GgpOh)j%|TmVlqcXqJS?>myE&#LexHMX_Ethg)ETeT~HQ(E91cK z@W%BagmhKb-i6BLgo>>vlxxxxuAQBLA{MA@gPj{gpzeWtCEZu0-c=%Oq7||h@xL2F zNrSI)kFJ%i+@9obdICp3?1b%X4U5=HCeZW9r8RQqrpx+j8bPyWzQljL0*3~&=8`I_ z$R~;umm;6=?H*AF*@J>rUX;^swS+JJZWZ^t*T^c0yXgYnaTCIe0C*`7%8VHqdzXDZ zGuhb50(pTjV{j<4heg6`DI}DqHOz{F(wAt^jD=zHT6Zlm{u|O7X)fiPgs|C zf`yVUZ13XUur6i+t?3TS3K^!50er>_lAUY!El^t=7e>IB*y=xq&<|owOPvhC(@8&c zVI=)<#?_Eh;G+fft$u{D^y6@>dIZ)v_hA!bF-e)8BCX?dK`31{2Tnrh5PRj39Ha#1 z3XBuVp=M_A1J$ST?t$5VMs9x-!;L7FVO^%HIlj?iJoB(g$YSNlm>jGil%-5Xe`!c7cMk*hTVY?>8BW6I zTXc_t(YEFeElYEJSGZ!k!_Jn}lhBTCXoOlb=-I*oT}d!yXC|dyRqCTjdRG6-A(T!d zZ0bkXo4;Y*!?3S@2w46kHp{ggAEnLR91w=%AOA+pn2`Z>=|EA_3ca=Om=XWetjr<( zP@#|(Hs`NTt5x3VBO{PGik6Vp7_s-lw&V^%cpDrm313`Scw!0WO$g6{PY>XwKzR6P zkqScDE-iDEW(CuR1herAS95l4IlEypr>sWmv#bcxAwwTEi3+4`Z7xW;6cfh)u?#W8Jp@h(}P#ZUNC$|9(g##IlHQ@e32(Oeo>hC?h zkc?c^E2<5IaO30Zx4PMAIMzQ(i}(z7Phu=ME*zQTgOM^M3j2TYG|WDk)hQslU{erk zshMkacq&n$Tw6M${NLxcAbosGwav4PQK~G_KMn)p`>Ju^$`$l>*x1?@-U{Dh@oxUN z-BCS!=L1+iCAdZiPyUA9&PbD5z%8qh)KCQ>%wy=6O4cg3FNW#N#yKcpODx&dk_Shs zokvq91R;y2a@UKD6+Y^y=8T%-JHof7E4;C{!?&QjvWPOX!nH~(Bs;;h%HVxUOVuHR z2;H*H_l9SX^-DH* zquC;k4?)84dW;V`p~7>P;K^XU17?BHBb#Z}@^GA03!*&Y<`P1y`54lkWrd(6&ZS!< z!zG9R+!R>WSM`jVSKg*V5A(bZfDB9Agz$m@UJ8W8e~ebEkTeMCUDDG`9~y>zW1^AF zkf40U=P(^x{uPc4i&9;vi37utH#7iA6SP_N+ZntUe|}pPgzbSf1aRT)z&y5)i*Hv2 z=33RI3c|Y;gx<6kw1go*VoSK@J#iC4T0yLNm@Zu(1)*mvpIiSl3jfkXty0OI5Q>D6 z^^yK`Bb0kjlNN!{CYxjN{u#wlZ4RIHgjzM>uIlh9FDpXEBW#Un0cCsat!#}?|C=F1 z{Qa=6&>B_=J<4adC73L`n-E?Qz)OL!^e?o8giv;A5(pCso*%*_8oBb=H)#n!8Heqo zo2hMo_w&WF{aM-w#)L!ZCXrhG1=kmZzi_ao4{S?&pd!8-Dpx)T6a~SXz>6Y@pW^yL zQssXOq24vsBrsOHr&M*P4W))Ls$jg3zJ>8ZGKTY7N#a0kc?!10_f%QJC+M280hs!r zn#i3vC|LDK=MN4?*}+Y49O zfo=S5%wf63Ndhm%dvrz17SRf>>ci(4F4VAS_k8f|i*7kr7Z{B9L#H2%H7M4(zEM*n}RWr&jr9fBLvPVVJfLp#oGZW z`8R%Eu&iKV?hjGx1|?p!EWKYrs0ZEV{J{LYB={g3xdAjKI_DdO;`v z`XRJV6$=<}SrDFi!x+MB8ah3M2i_SE)A4`5h~1+as01{5GEmPKrj3?21S6f+u_g$8 zE2IUzlZDrn5Iz9pN5HeA72TTKVU4@@e;z_7<3VhA9KMyjHUv`k+>o(CEP4{@FGV1C zP#Dt2%0vkU>wg)`$jt_~%vp0tBE;Gs(lIKtGEm7+b5~&9%MU?vVjg7KCXS3i+E2rP z`S({tDC5DEi#tJOQCQOJCWJZ&E2ohMLg@H9R6$t&mg%w}R2jL&+muv@RS+Kj;}b9) z{4?F65p|UX%n=ubN*^N|zi6rN_1)3>ZfbwmwKuMp)@{9_6I~g$sM&Sl+H{NBEXEe! z^QuFrAGR=(5g6A}4#tC^^^>>|>mEcouZerzqpalpkpG(o$bT^id&Wzimms9Q&=nOp zLG$HSCahA;Wvk^uW2&rSCI3B}j&;v8N803Y9Aeo@s)d5T*JFdwTlIk3mfWsZ)mvEB zK9-GVagR%a&<~(7gaqvpmns=*9^tE!QF=q8VF@$g^XvR!3CoP=YMG};Rl|272<_7u zCr&22M3;+JkTIek!2e|kt!o~Ej}{pMo`UdhxHkxt zPvZF7?bZCzZFC8f#xe%KF9PMRy>vxszZedhuf)VPPgV9(s|%$G)3NKxa3oI*LJz7gEks)gfNY*W76!Y^nB%&` zz2eTR4xzsH)JR5PTuYg00ex!-An#-KeXyVm)C?NSjJuHioC#ZK1+zwnAn6ek zP9=V-X1B<|x>^-q+r#11+**eNgFlCHw zq=3uk3sMBakwGdIzNADi;Bz%WXrD*Omb8OsO-lkr2org6m-d21dIK3J{;xw=Av0uT z>KZK~Bpt~5`(a=I0PHL71(rXI9A5Jsqry&{JB&L#4EBFh1;Pmi*nnM z{)@iK<0)df?ikJ1ctRv(XDvzAtP*t*Kmku>O^E9T%c9Qz^AOr3)!~#Nlzm-02-8PI zDhPAOoC{(0#CkBL@`1Ra0%7t%LO6o{Y88Z1ST#ZDm~%HFYy56p|` zcCFxR|K}kjeCr-3fOJV$_5n8cg?+<)s94&Q_xmAlWH5G(ip0S|f!H&Vh4sTeu+bOQ zI%Q-9ZY>W%VpIaDm{s^gbOuS^d^KgLs&}C zE(gL4nTt&bGlz#&LzpwF4&70C!AM#`x}LHXw&Y5bR0p#EcJAcJYS?O$nm<}4nb7T* zovo_K52GGPk$!_w(YI6EG${}-CIc|f6=TDTNjCxDKT-AK;|uD6i>mm;_G$t3rt!_y zrYu|OlA`1&K{RVinreI4yl}dFIF-E&8P5f(&bGA#@#OIOIPpQ7>hjY!u=<9#wuA8( zg3u459yp^#yS0X}hD|_gTB>xtV|1j^7B(2CV%xTDyJOocHFzdhvf!UYBDOSrmY2Z47XY6N(p<>_pG0jp)6QZPR}cf5Q^?j+G)8?e?pfbkWK zZ`BZ$+z}GoAn_3Qhs}mS8_t{6mkW!(EHUziw>mJImY%g_oQ*&pejqxDULU;7P=pw5 zVQCjGFhIcus?Y&*H-a^kIEv26tfWYFNpS4Ltub8X0wIAtuO#A3%}qG6B~0Zq4?mjJ z=u7z4vBln?QGBfMtpOev;-)-0{bdGWoWD7QZRN_=2|HRGn96_l|#=`k?WH6QFEN4Qzz9xR4F^ z+HQJirtw?OyQ-qXS_*ZlOHzLEp~pO%3ow5DD-KZ zh$PNh=P{T+y$ufgHXM7_E+Aqb(@m0KhV|^~4?41hpM6n1{kaRQ6~y`z;U@X9rLuR& zQ)pvC>hamro90$s_504Uk|eE4=%4+Kpp7N1c}JBxCuKAx)Dh+idJHv9ER32KSGmr^ zM#1j$fMeUX))R?w;HrpF(OR9jDLa#!WhHuY(NA3>chLcB97Y!(roz*BpzU>W?&k|r zPmUF>VFJD=5lEo@iW$R=b+Uw7+8;gQm`(+4tLd))%B>QPo+!ox5Ed^Mj!UVx$-~f>3&X{&fvpSkqUjQnyA>fLVkJA7nSamO`4*2ME_KtL{-a zl^vD;^!7$A7<%o;V-6qUjlKkE zOJ8P1*NFh7nRnX0)t=}x95)T&O{|E&?(6!JAWwEHC?<`P6x|n;-gJ`W-w=5Dx8(OT zNnmybyh7c;G#P-#L_4|px7a(#8ECJhxz#Y2XJ1sX0S|1&x{-j-_9yBm65`L?wG`XQ zSQsD+_^FYdL<{n~sN*`dj85b4eP3CL-uKs6IGXE1SnWfs;F>D^i+?8k##T2bi1#moNvI*29q1njmYk@}tX5gScDKbyz?CCnl%9PwZWczS1AFwSw@OG|*${R6vuSJO*vp~azhhSCS2X{{s zF&UE~MSy+C40~=vf#?(T_G{#p-0(R)U^3knE{ti6t2*Lpl%UvTJmW_H%r`zvnS{&L zzcPWkPhg6U)n7~tr;b^*M#Q^D zxbW;b^zrcY52fnx3wPX380FFdIeX+hvy8OKv8A8V=E)aEh6j)mMD7N3RI;MobVvx9 zsw}Yqj!eKNBo%v5^c^5d((b+110bz^@;xg58$wkm_T^JvLm^`Ef5{6;U!1W3f;44!G-<7WJAL zlBBw%x1!zWT4Qs^j#(9ECMW(h=5zo^m10?t`xakUnLm|fc#01jOnD&tlS)NyIn zyi|6!Y-m*^GA2VNvITu93cTRTbk!kY?L#roUc`Uf2s&BUeEtltS-x9_G!j_;iErP6 z)*5JTrN#u*VY{T4XiT}i#+mGxD_5DiN70bn>O^@ z2?sZmxi9Xl*RUn7utj2Rr*GTk7I?0nvyQm8+o9s?@>3YH0Nxo6K~a8dE5(mrp`h^? z|8lDkEp<}PK4LW_(~Wjqaoqk!ET?2_P(y&>6ZRL_wC)%KaoQfPOmmCkSJ70KO_c3x z6#RynPC5Y9dXMN)4VXZ zIfqhRM#TDbQ@xDj+(cAAc5DB^cYd%2HyLeDndc%8P=y(85D!YlM_PnB=o0l;Aaqeq z0UZFYM7Spm4M-ITCrLlS8HHqWp`(k7Rbbvz525Q0qWTND}rtF)?=WI5jpf z&zb0_u5JS51j4bmp8OEqA{eMrX_3`7F=%ZuiEa!cxpsGaC*L3W*>D&p3V|Ee<0gSY zJ&R@7zv3H!^Q7fr9qMCyQSou@3928Z^Fo=HWRZ5Kc}pRYrEEvBz->o#`!k?oK`D`@ zC}rM~EgWW`0jNfPUmL@cDw@5KfsYas$pIAC;C(a6`6D+QTY`q2H1>j6DC|QpSK^rYnZ+H(TwXl70`gP)lY{GHe7@)**q$ zbL(#@KHpJ4veQnv8h{IZ5Gv9!G-=b~r(T7U%3&hxm2O3i2CS|Y?d%SX?L78gU}Srb z7MI~;>M21bhsSL!0BB?*v7>7RBgh!aRGwM?aQu+MrN%nT>ApEKK34EL<5Tx$c$Hw$&ZGwOalxEU%81b* z>aR~;AoiffGcgrtCU^Y~3Gh3r)>}3yzG%f?4RM)e29y!!CEqa6>{k%=ow6vFJa7f==O7QLJ=eIYvp^M=)Q=L@){=Z7klvLBa6o+#0WvCJ{@>ONZ@{O9Cp#ebxCvG)M$*?(Go=?z?~t2lRUONmq)I?3245$ITfuX<^x*VnF9VRCk$ z`%NIY?~rf{v6LW^Cy9h#$gAjNug7QWYyZGg^p6k#0axgwHArK!^)3?T=NnStYZZKN z%+aq+#rnYh*XGF7z?iZLdD%^x4D~Ox&&|OnsL9ulMPviAK3Zy-zzUcL)con^d9O5l z3wur;HF!l}3fOenyfhw* zUC-N!=fKE=_j=D<5@80i`7m3@_x=&}H};(wASB3|4LN1NTkh;`sIA^m*4l`|d8clU zTnknFxS1_bvZf4erma{5k28WQ*psNk*c7myqi#u#E}KVp;~-#c`6 z`vQAr0&d+c?zI|({a(nNquyDO@_+@kfA(f2$db0*__d}VW+s;f^6KuzDM%%a4i1>g zVG9Q>EnW$hVx$WCo1VhYsx$wa{==he3ab3;A+?t^&~!83W<>|4Do?C#{cjgnOr@n%wEGBnu*_XZMrq~VR=(y}ZgbPnTuFhl;v$S>RU2zHFn}MA zYE+ic<aMYOYWcQRUZAGsLqs8_KC7A-AE;qgZ?`c0zmbwttSsBB^aS<`Ei}7*5r(utw6Mby~bb4 zUmUQB6q1QOH442rar50I!avdnNMu2qe?}SmU1c}ybr{;@vcP!{ z5nggoxpVMT?aw{PO6Zv<tF{>?K=W)o&^F5`d!gElUwF<@W-T!ik!{Nz77JWT_M(q zt0{RGipxPCaW9{543t7cH<_|1mW^;DfrL>tG%Is+Cs?T6f}O$ytC7TBmBPsJaRVQl zQjpn}xFs0BW7dj8P~kP^x|rw?-z5+?gD?C*9IE9=$XoWU1e<1y`)m3EUBs`7aRI9VWM&R+4#eA3}&-0UcU_1gAJB1HkyE8nQ9gqKN z;rxG)D$to@uUY}we&_$%{?vE=_%=5Jg)&cI%#7)&1g*Xw!Fbw6_%6d~@lB|e?4|wS zs%hMU*F_r1?2aO5rNgoBQQg-!DO9V5QYIfh!jXIwne7srRId&Te?)n6{i+5r1hIvK zR}U?r;)~MU#T(9lFCR?#$0t9aZ|hXJfa;BhsW28H4|d)2j>d=3$rd$jR#dk)QX0;D zOd^om6a{a*@UYRBum?+=wj)~&c3DhVjPb)KX^lq>xwDvxS3$vxmkXK7LDyBc9WT_Z z-q)c(K8_``@G%~~KRzEg!0|)Cfke6}Hbq|~Cd5@tMq{{D0-D8VUvL=O_0Ltu!&QBl zJ4=V=SiOn+4NZDa!dvJE&fIfP<>5qy%)Q?DQ4X_=&L+Si*bv7u2i;|bm`tR)XFgDFLx^TnJm4kb=2IW5p+EXD zKj4*!IJ^vHdfaWIa}f5EjUvaLKY^L5r*|2!duf@VCMaL2L(90rZV>5gv^J~1IL-Fm;;D)Sz= zn+@4Xq&Gbfu}Gu7fWJ8f)jOndOWQp2Lt)DqivcX##e9UBoQ&{+?4BAo32EIndslRYD>(oWFWM3hAl8P|0)|d80a~^&hIMGeU{S;6H^ehr9<~My#{g-L56c zKv!RAW}Z?Pe+cLvjTk$@Fm@BQPLsQQQMyaU^*U$`O|K7T3unojVI=cn6zr4YWc2z+ zV0PfLY9J0!4uqLruNPG5I<+T;oJyzylNnLo| z(sT;6)GJ&q(0;czM$m)%P!t!~IykNB4Tb%-8dv{C4?(f1rU3}KYfoe6FP})XT&=Az z`ALn9W`9}ua;5heWIaH1HFap8HuF+Tm17T5LD65FflPB(MJjUt%J9>^?w^_@9{3Rn zBxo;HCexnDRrZ0i)~f0;o}W^WcY;S#>Gv(9D^&3%lxQjU^SG2~{ePo^?dU7M3@Q^~ zlqS7hkk||kf4FZ?{gEs_qyk0@X6(h^#lr)!V3QLBS>d1W^cQ>A+~ksN!8Nh#XWccn zzOS|wzkvvPukkgk$R%(;%7aHC?wQRA2eEbd?FeuGG`QE{iN7O@NYDM4WBvbFnnwG& zGcu<#i|u9|N!y&iE+8qp^(c84Jh%$q%=W`vO?>oBSyTP~L!2dHYQfF-yGNfFOHe4y z(u$iyK{ok!A8TKjS6CV7SPxd&X5`B*|lGac8Hod$FJJQ^$^1C{B`2I(l^9n(Ds3Q z`4|F3IVN=e;Y2)wKw~HdhKj#(E!+t{68cqcT3XV$LFL**)xplQaV-JAAN{d`gCZ~# z?q>CRG1*d()Tq&Df9}8W#`mDcCWC6);|`6w*jv>hGskW}k1K;FVYt4kKAZ~E(H*0{_*c2{{fP!LyHrDSbMr+*G|IJ>64Py+B7kL@Hun_up7_$^%OsmUdzVrv!yB} zwqC7!dQZ^6D~MYIBZ>bl6Awh_zv=@QKRq0vEyWU;;8kHS&xPEkip5C#q!In@JpP+$xt5GfW8cHP+zS1lCWI&vkJt zPmyq^G}$Vw8Q3lktVu@`^4jeVxJ}6<@nJ&S8LRNG8wX>zze;&z3+^V-+L|E|%0Z0n zqU_Y46(-Y(szWnlHV{EZA5xV#NvhvZS{9xqm^Tv#_)aa|6z}F9jpeiS0P!?Lg*EySZfgq7z5X$R(@J^nChzZ$ z!9Mm&xPAjH41Q?w9~Ot-sux#zb0TVs^~k(Kep66+&2>p!K}q8E%I@FpU$z!huj0Y3 zhR9C1WTECA)ZSP7T(O2H5OY<#S+lS)Ke<|{H2fzBERL>D|3?`BmCG!hr+n}XG5)E? zPkFB!NcC`hWuQV;W9=eX!0XJcfenSKacRYAJ?Z)2~T5||!CrE#C=(jBMt5;p{p zPgcEA;ALxkRvPtspOo1V2cN8nwjw*}!|pQIhwfVe0vegu7=c*!xDX?;R&Ls>(Zh1g z$q(Vsf$@m+X-3jphG~fX?PdHw+8zbi`K@zf>!OT4*j5q#ZH@(KfE&mmx))36Anh)& z>h#VILo$@|q+FOE(;SLhf}l{wz=*md8u0!U+>*JqQYFM+Myu);lI?m4ObU?6u&@+P zHc;`CFW`7hgYvK1(FLQ7u2U2)K>W{1Xt;qFR^fu|qIjT?Ps4!>OXK zl}qvaqvbg#nGi8JJ1a(P`EJto1F)9 zSd%`>#U}%^qzGD9-TyF`dLF@I>kovC)iV4SSCNU$*cxF z6Pn7K=sOW4nc*w2mgLwP(+NB*IT4;Oy2E$Z)Ranl`sJI*JiDT&u%>GPj_ej^|R(q=l-M)ue@b4@b9hSQMm}@7Vu)&%J!spDt`z z*Jn(0j>Ff45yH+XmL}U;bn3;a?M@5WL2rJo{N@>j{5U)b4!>Hmkz8MXbm=zgXGns) zk(zD4yj2f!c}b8PRUny;EC{?jNI%MO#muQKkd=6rdgW zPwlZsh6RLZmHww8>HjQ%R(i`)kz#F@X3#_`13fa}- z(wxKLMvM{qkq6U-*~L2w8lhP2K_X6waN-A|!Xkxeei0sn<&3%Tu&U&q4&@8x$qwZ; zFE%-i5n`G36>plPBp@0K!&c)+*ep?;=#3~$#;#ccJ3W~G@nfEUEgR}4acRC?vKF-X zW8aZ0#;@o=4!}o2{Qv)x%Sbbq8HFz!(EQ8QKv#i)Nc@p-IC%c~DMr*WR2e)HMgq*O zdwBV%fPJo1RObp7gZq(Z)^&j$bG(iuCo8n^^ZEfJLXeLi2}qb7lg=oI;`JfoN^n(j8` z=&WcPpDZXgHo(F$qW}jw5k9n^`T+S&lrVce^(PBMe9L%81ns}ISB(%Ihn}1liSuI> zP1}T(f6H;w{^K9d?CBmurtFka(&lgOtKSy@mR+~yZUMkhZfwU>@4e@B(^|2Y5@gDxs5zA zj&dTwTPGeU1r`wnTp)k!7A^@<4EX;bWm$>VtPsnZEV zotQn%(cb~vuVfWo5owo`U`#T!NYeY8(_!PXjhn!CqJWL+Lf-e+s+V_Sq!}8Za~Wv5 zbgcM`0`(p;wF8SZnWrpo{6`HOw@`6MVRarN1gMwK@ay8`P6`##5ql((+ZKj6)gVPBLO;#>9(7YJ!!nAVZWBc6-Tv=?78S@+GUO zK%<)_ls4pJYy#qNP7IB5l#91>RtYz#h_<5A$30{0N-dMx{-L-b<;x)9d6xg2kX=1_ zHCcX(cqS@^?}7~cKYQM|b#~VZ{Y({dGO?qgJMO*fm{z=6!Wmjy#se;lOVxT0JW^`f zp{;kU#SKF&W&hD=6SGC&-ZEH?$_VyWzWolGGEnL;Vt#ggT-VC2x2Maem-Ix7j(qc zy7&^lR&&3PJbY!1{v5>Ki<8x%(tOGmgO`*&dE0lG#PL))eyr*K*RXuMUVdrQ@I|dR zBX+w>)x!9fJ?bB$T0yiib6Y{d>$XZwx`W!bLO(~D6lS}aBswP5n*apN&sw;tw<rw5lmY^60&n}#adE+7{D94V0kN%pqgYX%@{Xm@mu?ppbE$- zSt?HYog}@@$ngC*=ag%{v3kd6gJFD$L}dorT((AxZ~WjX-pc~{JcZ8UwCMR9+gl-h z;Hj`!z^~U5rPD)dH8#mmQ{O5|zpyiI?!qiwJ>v>pejiWuay8f>iB~)o(fBy zy4Wr19m;nKma+e0j(?Gq!Lt*lCbL8FU*$|7Q#A?Utt}QEfuX`}tjFl5f;r^}Ct)_8 z_2`3DQVL(7fy5cXBJOIadBO+cdO@MPv&|Ps%-BfD69nor%kA<82g-TvWBu-MW4EHN zHM}X^bJNUu!UJeUI1|X63?f^=245AvM|;AZ1WGtMPDWB8pzlrsT^mANB&adddVd+} zS^{YFmy{-)x z^HU%QTlMw2)Cp~r<%AvC4sv-8IUQ>InFwhUjcH`aLIb2~VNKL!bOT8{5$_k%32}QF z^xX8Y@_8sr`Ib<7QBVD^f$ZBWG-;TN^p2=FH$C9bFq9bunf{3Qrm!$79L7&w>4hzm zk_QwGj0+T0CEb9u$7B`4Pko7$zyZI-h=E$UP5Gf4?%-7B<>Kq>OG;em8Q|Nr)ILW^xEw zJ_P=BR0X~m&cnyFmr_;eydkHFsHgU)q_LRtG7RGCZeT_>Z-d*h+%@uK)kCaDH(kPR zkPw5LdLQm*0R4ZBfb=672Cvh(5xjCu*TFiKljVya_|#$jku zM>RkaHLUsNFHwu{NTLv*)cI7E=rNlP$iI6abrv!&_B!xpVlDPUPAtztPTbwsRad9< zhJunhjTpDA2jGRrUUfgdnsB+{ByHSts=*=259tH5^ZwE;*{%lTY%WM#+t03y`53d( zrdUcS@baTp?wOGwCC8St;QczyVKsCq=~n7vpx-IPlRgg~o75hA>i!j$^^S4<-7hs; zTJ4N-%F5*QD4rG{FM9nAeU*aDUZ*}wDw&IuP(Y{OTLdM@)5jNj1@414c;>_DWzXq) zL~ZV5)TCFB_nC}ouUXo8Tn!iUYHAijZ{mM+ssFyN!)_(#-xt7fQuk?D;b0F$<^kcu=RTMQH-N zJZZrg24n&czw9YD37%xS+^xYJocFcJX_M6D8xaVJ`RB?0`IE4Evx7F&Xe>;Sx?frk zMdrNCK-FI*1XH!DkZE}o#eWBsokj0lVstt=^|qDeXm*xrGBC_i@&{$0O@dx)im)&M z+N{K4`yz%-_H7xr-y1hcI{YE-6JU&fV+*51v;iuJ?`<&ehBQ8R)HtaXzxZXofpohv zSAvpxuP+Bi1IB^(X3#Wf;+@jE#iyj^CKdcqLc4$s8pYrh58hjD<&>G#k5WZvtScyS z*xG_OXSrzgYq=D?m;dHkxfEk}9%%n=MvY`&9y-|fZe0{#-HJb6j#LWTQ%BA%k^HY= z0G)_svF-Wbm3JM|hek5NyCvKVZ9l;66f|!a12UiPsS9}^2E97Y?p;V9#o@9t>GAXM zXdokE`D++iV9FUAdSoow0KL9Ax_Jg=n)b#7bBoQ6b9Fd7TjU4|YZLg!ke zKhP+~?b}dsY-@B)>mQ5oEUJQ0NvQ0>=7o;2&EB`4slblK|AE{8elTH0 zAx$8??z92696nu~mF($7IC2FG_r#h%B{-ln&`?9182K21GMMd&DDiWxLsXqfE;@x0 zs|M(5HaGL+n!v9f(N9LFOsCd|bG}ct(qjwRx{(rGg?0z(O3RW`;|TjYl*>m;i96wb zcIS*|Y*zB)aMPJcysBo|btQm03QB|Xn7|^imn49Zk($nvDlo## zc<8kn(8&e0im%tvVjz)HXPH8!c4AqUS(zEn1$ODINrpj$*VvjKaX6kk4fB<@nn zeBl2PH`X#tKJ_-;xbRu0rF=q945-$8rK8O;f}b8X$*#Hx zOp4WJsSyJnQLgG<+3iT8MrOMi{bWyceVjU@nk%;V(!R@$JiPY8T`r{t)kY^f$L{{< z;k2LsLW&6I50T?6d+qh^?0bAN5iw(xogUM_B#o{f{&26n75bSR580u+BH{BQjHB>= zj#oj^MAsYR`tSw@#q+`Q#1n{pZr@nYZ@BohECb4{IAchNL;)HtgtgbveH$_!V0q9z`D7Zds z^wF}*_sFjv1&b-SDEhL6LHxl4GvZk*Rv)v(K&rX=xJUz-;GDTw#2yUukdBpQc z5ihd1Nyw)W|9fCVKs}aaMM+OxfDx;Ugv9jCSyK>Dl#4wLE?{s}V!VAsO-(oaW}CFn zebr0c2<%5py25Q6v>z-MhY#a#MCrPGqyBJHp!Of;OwKA>cXX^u{reRhP5(nciE+nl zlQRfDJa%tCr=mY5#Rl}bh1up0NhsPgNT;nlvY8&}_U8(wMX2b#X$*1o2~I$VYqz

XXYsNe`}KrXFcJ@GxqlE9IfIkeT`t1j~TP#0J&l5v*Yp z(3o&3dBD|`y*j{1Nlro_`X#FB!IOF(+A6hSn>8oUCDVZ>gfWq9Qn4R~*s#S2UUZ0w z;8LsXx;=7!}haSkXkFR%^?SEjED` zKs5MRRKb2=&6@S4o`)53;- z@l5OjrV-MkkG5lF$C{JDSCU@{LRwFs2WRe5!V}i|K?JMT?+3L2&K%RIySSf06-$lX zO-Px{F%9+A9lKeg3(BohTEt0Zd0i?uzB~%{x3P$n8D;eNtw)(Os^uY7#SM4LTVYz0 pP5f*q@N2<5bAh&UklrcarhU zdUkA+szCv&f`n8>2uQ_4OVvn~Xi+N#p{i<;5K;*$Qh%kY6%SESABu#E(g*rf_xsN5 zouBM(;+6+ix_8d~JNMl0eCOP|U7DsPS7_Qz_7T& z=$o0IDVNu9aA@B19J@KxjUK;)lZK{84<1U&>^WIAbYyZkD=PD4(<>T}c+GX(QgzXc z(OJD}95s!_o$Jub1kL93RCG#gem^ZJ=re}Z_bILvF=Ds0X`59sEuDG_X2au7ePWkt zMeI^t)O<*{m1Yqmnx!4g*}WRG`Ahg8?GyL{V~ucdehLxt?{*zkDfRK3b&rf1B~h!%GahH@!MketFHh+?fxby>j-%n;U+21TlpfBH74s9*2gWBx zkB^TPvjrw6klcWatkIHVHwb)PFPBZbDxz-*H8s#>83ofeXnw;xV+kw9#wQMD3ldAX z5jb)9jZ0;->ZA`(&~OjEf&;n0aI5GggQ|1+k?fH|kt-GgBYFC!kw^0r#nItxfo|`+ zl?&R$a&WisbS*bcZ<|#L)Xb3S&FXd4WTp*WA0Ol4aN!sdpO#*-OAeDJ4^ee>UbH+! zV9HKfyt7mGQ5TYA9o1-N9pa_B`go#>-tZ8lj%DTjkf!Q>Ui0n1kn6GK;$(dJcPba} z>aw2TH zh$PHai+CgPZ1O;2qWb5P=Xj31?YX*y+DI5`Jmqe=f^8;Qq&X+OrEe>#K^^jb;v7vo zH!uj{ir>&u{PIPSQcs7(d313NJG2yclyNeQCU!5e8$~n_zV4-0esc%;C_T*JDf*7T zB$HrQf{~OWcH~i4f_8Sv8$)*GLqkUS+DNJAh6s!V86s1g2{0Oos}q~ zVnB*;n-VrEAx!~A>rnz5$=gw__%bUtQ+J?}LvDf)o_(|GX6$Z3@n>&U-Gt;TC<#K+ z2^-iPV1sE|avQ2PiaM?TgLzwg{hj~Y`ltPunt&ktOSK(!DuXKGps%92gZ*?t9}3QQ zGP{#K{ixC?q9p*Auf!A~3p}xlJzOq6rNX;VR*Pfl|J^8E+8(LzMxD9`6(1$CXfK6( zQQe0k-VQu_KZo|A8lW(UDsZSULJM3UQezA*6$LKLmhlg;POPUh(UczQLo^KuMZn1w}UOf zNe;#7f#n@B$SDkx*jg}n3F`t2(rAcHfhKe`F?axykHLeG1cL&E5QAljr5S)BPYVKli@Sk$hfWkkYB42UaSA5=HR<%@q&aC`czU(f2?Rl6c?n&L_v=d@NK!+J_c$YgBjOS^Qn(QO)3oGB)EG}x-_{zz6LQs zcP|=pk@(a^D^5-3gaOVOL>1r`@j#rKOnah$iB3H53WQ}*6Z4vB;sm6RPSR~J{Bac& ziNi&AJCc4KBWX3O14;SP5t4Fpi0WFj0vP4YoY)Sc4kX3wYe-5Tq*27?KodGzNIHZ* ziQZudVf40Mu@7PV07_yJ6@Sqy_F=TsD6(G=CK965yFm@f={Y$(J+bg#CUFeV-4=r~ z`oln_#R6Fhg3yFK6APHS(4VXycA?Xlm$bKH3sD3_7G!0RwCN`{0H_ z_XuV(B}QNMb7+eivR*KK5khdhG#YZ?9wp%0@@yf61=CFsLSAiF-MtV9mLHz2*Yy&{ zR-&}KHPow~YU9`Sw)Pr3DALsR)2iss_KM^W2ZsI+)3_?x?m2M^1H!V?5SlOlE1hyS zX(uEitU@A&W1K`(7$;H7%fB^qTUc}-N;fd^NwgbIz8^iQSyTfQ22ll0k7Vw6NZyKd zLLa(c=tHB0KG(TBF{Q~Nkr*02H9l@4#=1yM20f?C0Vy6 zNgV^%rlNBLl7#v(ltuyUktmImq&3q}VMvm-Xf1;zH)C3yB>mV`NU{$@9Z2GnAWo9t d?;+n+LK2P(Nv0sAQRF;5O29YDkD!^*{tJe1kR<>B literal 0 HcmV?d00001 diff --git a/B4A/Files/detalle_promo.bal b/B4A/Files/detalle_promo.bal new file mode 100644 index 0000000000000000000000000000000000000000..c696d912a620523d7373e5fcdd04c1fa1de63596 GIT binary patch literal 3429 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 Lv=^d# zP$J-`Cw72g^G9J4sXp+PnkG(?Pp^_gZDos92j&C z=(Oe_ph6Hc^|#?$(K9iM>f}3VpoG1E+|?*k_X|X!;_%p4>Og3b2}H&P3cM&0uF&z6 z|27~Z&dDm4Hnqg{C3sdjjN5TA=mQ)3;P?OHkpu3B)CuNA3j6p@EW{1zV@*JQAY&A61w$Nv zvmvQH3MphGZejVaXc1EQder1zZ67+L(qP|Z%U&R%!c$CZ`CvMEQ$GY-I0hV6#Jx-y z%PB1LR$6${<3XR`EL7h2J@R-6AG7DIo!p$Ai_0XDD{i>e%=!%{oDK$cBXz|cgpq>M z2|P+i@v?QHa`DhWVs=_Z22aRS+k{LnASES*RW7X(=q5lkAO{$N*3>Y5^cM~t$T6x1 z9*x7&6XvpmD=Fu;cYh{tVnZ+)1;oT+o0Z$HgdVd#1O^4` zy14R+j#zR)iA{AbMw}DD^aV}7T^6G)7Gk0d=I~fP$I<V4kXd(6C@BKsWxfJzpPfMZWmORVxLSTM^q6%wjh^t*M0_$U* z#vq91v3CTE0U81Wte*PS^ITk+*j$<8#X~Cstjd@XV`I-(3XB9!vY>y>W>sJy2+Tuz zAPujg8B0UD#pc{?>1j*c7o+(;g-as;q7^By%Am%`(y{~T^UBH!Pkm16tch)K@JjD( zV{dP&bDIfFQoaWEyQ+kXpBqxu!E~yzOJoRmh=;3!)p1?ACdUG-ANCxeJjjR&P#&T- z6FhLCqbi%4^#-{zjVFCZyMw?u$EN-^yX)2JOD1qf&&R5?ZQ zH!}bWomO5?(1VZv?lAb4<33?&pF+MRa zMX-*bq(KiVh-65!kT-6cdU{fhk6p?1HLA{J2y}IIbKbo>7>z%tLcB&lwS|t?Sr{6S z!Jr#hn})!oZ_|=CQa}yt97;a%vI|6Z_Qg7o9vTF*q}wiJq``6%@{)hg=f%t z1QFIiXr6d8~g z?8iM&<5U)#J(x(;F3l+k1Ht&&|#C1fiS}hg)Ktn%dDXFw*#K z)evIV7?Qc9ZgmjhCJ6eh)kk51Qf$6}{9y|}Iq;Rugv4|sQL;syoq1|#Yu{Agdypbd zkZ=3ou)QFiXWbwsM+(6Sr$_b(Zdxcie+K-sfPAoMWh}*i+z4BTyDP zn+R*K%|JSPdwT&%$!|#s72KGpgYw9?YC3bn9B_Q30Nu`yl!!v6BgY7BW{Qz5o7vc8 z5Y^{IJmb6)2Ew|??edyx+S}VDdK0aepJGPr?>jvTrQk?81>D9Pm%+$`bP}M>Na0F^ zx>sz#&1Fd;-Gxjz|66Dw*YX>k7!c49g5?_-G40oF2Kw2D4++P|$8O}G1(+v5D}!?V z77WYR!TnXP`H4kQ#KaxqmJ|L18ay{W0`(lS*iqaTI6V@_e= z$mFC3zin%divba8??vTFXe63J5eQeKpPIonZ|^X}JI;m*kRY4{h%}@CeyJyhCa(^g zw!I6i6Dzd)Pc@|SfLVV95s$speP7d;Fp<+uG^4D#p^18OegGN}+B$%c-8*0hYY*2M_l;E|4WQ zs0uuDR_(8N6nk~`rS-4?N;n~MOG^tF`CQ8|of7oTJUHyNK`Y}RE>0~-Zi9Hk`&8vT z?J7}jH34}}xY>S!HLD_L8w%nz(rKSBRIANocw_|qz_*YU#0)8537!1>`N|oajxB*; zQ(lep->cbJTyCDmAP^jjVh+tKo_ zC}#(YC!{Ubxh)p_38_mAT2o!Sc^`_makF(#)w^)&dn;+?{!3p0GoTP-n&ea_LU0T1 za6~5H)p?@tvX_!H2KzV(sOHoIzrnlS483{T7vteMC@HG~wGm=VbK6chq2=M9|4&cUpc&r4@IdYA1@l zTmm=L4lDw|CjAU8Xi(r*8ITwMIVc%j%Kn-=G6CxTsv{rF#x5={9{Ku3Af_=|S!zah z9>lCVZLy@U52Wq^jjN??(l073YlpV^Y#jD&_svenyxs1`;47~wP=9U%T^4?jUa?E$XaOttC^27mt!+A4fwt^6wGbDe8# zy}ONXC<^x>wUPM>V&sPy;wBMb6c86qx%)uLGc|2(9Y&VqEu52UPc*~*So@`=C(ev} z;MkirWv~A-PD(jbPS#jzy#gqVSDODBYoAs4K~o!asVX5O%541E)F= zkMuJ)`V-ZOW-Tr>HFrg1w&B&*W2pCxY_~naibetXq?ixJ;FsEXhT$h&w5$%#E0>p- z3rJ6lw#K=j1W2c4%+nfK`9{1j`-760yK-O)gkc~o)i~8lkouz0+Y_mqe6PuSRK|~w&&npG*0BYh zYWhMzS~_WLEY*!$Lo5$iXM#UugA5lW;=b|FgJ-CPH6`r$J@}ghNFNChV4>{og;u~! zP)}6=ODaCsQA5hxW5g8bHtjafPIja*G*Mmc%?^|UxkZ4znb(qx^lnlx`+ z2Me3gH`U>=e;_#o`z5vbpatoWJ=JC|Zl8q5eP)7xT>6YXugggf zi$r{nuX7t!y_scy=ApQUuM_3UN@j_sjhBF|Y=UgJpVi5)f=;JJ{A-UkfB?FzYXF3# z!_IX<@2G4;m}^)=}xheiC< zt?{wjTZtb(eh7$-Y`0FBVVtUP?t&QkC82f1JUZx`41|W=AbX$qN*G^96)FDb_d)Q+ z>gv#sA5YU1X1%%QO*Y?m^(J$xPgELo-uvX_=I0{{*Q6W$7x9n2^<<3hIS))u;(`&D zC}x{ei5vhnM^HfB;z8X&{AP|R^Q=3m-OlJShD=R&-jfSe>Q#4o>`L)je26`qcqL;t zP|1YqcVag5KD4{(^|TwADP=Mk(P3eQJ;nvPXs2y5oIdy9Vqn+C4JZOU9A?{baUOH# z(h|pV@)w<|1&{p$-~7H1JoSm1)vHknOh%8ndS#kbe-co@;T=WzqyOyh@0Wb0&~pa< z_Q1~h!JH0;NG51|mdNnyxWsllicN9U3=qkhee8s-TNkc=!%FQixL&PP8D!gG&XH7Z|%|HtVeGP2pCAHg9Y>TT#JH?l)TaZ&Wvr^NNZ_hlZ49%W;u?fei-u!wG0K+(yJW z*t1##)=gV!qwv#4=$e{7#0Zn~?Hmo)RC*Lk&7qW+vw40;SkOpzlDEh#kbxjcP*`}d zL^w|>+#Lo58-9whAY0S~J(oAKU;3{42q;t(_(|3i01CusHqu62BlDAej=Ys{sl}V9 zgJwA{G}y17+B%{i=``07b^8EpKEBKW(_^^D`H$B~i1fF#0tXRCuc-4Ry#ESKnRg{R zXO7<3B-(-*H}2-7KRxPRKwi45Lli$;`}Ch0XJ3UQb1YcjDLLS7Xs6GCdvNbxfUw-v z)s+S1n`roiVYbKlBpMHI1DPxSAj?wEE20is$@rdb|Kyh)--d=zf9&n4dTrRspll*> zvJxmP*%?{E38!jq`hZnK5NSZbRJpuN74o{3jpRC%evi+5cubhQski@zyZiwxcbo0Z z7#;!t3e$sErY>Z7czBY%vaRtDugYL)WUikC29UW`B$OvHh$b6GTl=rC#lV!5$4qn_4()x^FLSml@%)V1%5$Eq z^fqgAnJ&G4;fsLw$|3w zr3@k7gBdU2*H>e+F0UR(U5avkM@A2iX}(q86{5+{`2Uo~6)-_7;oe^=Zg9gNQc6-N z{EV!SKu&}U_M9fkT_=hKxfBIzU0t?rtGp#%?^2~%4kxoIY|ixNdF;&&GSB)-3@J*6 zAV0H`-uM(W`3Z*y{`DD<21r1`-HKkIIy^kA)Zs zTuSEm1jNMXquaUqsQh`~wCGspc|Aay-|a&xPQMzr;w~G#KQ>nK`2Z^ug4TOtYi<3$ zbuT!HMsencV5rqgS))hDX9?Vnm$*{0fQ<(OL&G?~kQ(Q@)SZgyt;-MUGm2elfsP*p zopL_r;ps-*>nC+I>-60CQoBzM&JNyt-q*zm%9ZUr$D0i>-r#~iM1e*lRrwZmbpd(= z@gU7)ecMPbPWIVRm3L+8CkX>hWj!13Lxrl9>4z?z1U&A!gtV0F*A&xd7F&yx5Jv7JNmRU;l&IMy}2Lu-kU5esQqwCH6QFKjDNJ2lD!%>@dAB-V3Rsl99U(7e^1c4 z|MUr)2l%h)D-TG#09UsQ4GsONV&5=-AaOPjm@gCTS-exbOr-m{OjGWRrMZuc2(y+t zp?Kt`!@i@>FM5$sr5A{bsmjtfUW3T$7ie%%6%#8Y5IXt+ z^ynU~R=SXw1*%uCUR4^zantRu!fOJ44B;%%AtY+_p3Rr%j4wQ6x@*#${i<*&tdLcow z?j}9bsyV0*0))u*^(7V!H%tgc-N)@5X+VskbL<8C!o z5&!k#!}ur8-Y;&sl$^#M!%H0wMy*Jt*ujmMkSb+>9uRoz{Ca7m)5LrOK{A~`bUtn}TmJIx zG2Hprdx*X3uS{pEsQH({Ci+z$f_Z83@3XYR4kS8z#{5QCGQU_aeVxc$hf6?icFd*8 zPrr1#QNO#xlbs&i-nOA+PYg?eoo_uVY-BYI#yRup%QfRx-ajvMhB8m?B|Lx2Xyr>< zj_WLulvI;En~%+L<_e`bd%4E<*(;MexM*(n-wLjWyQ4c?CHPv&7s7fkpc z>JNS}&6wEQ*}-|d+q@q1BN{Pkz(HXj@+m1eyyK3wJIJd$#-@9HAd!`oM6cM8TT$JV z&BZqK*7RNds}=5D9~`kdc$Gu#ZXz#lev+&2nH_H9%sA`Q9&^bJ4h`OQKTC(;4wc!K zw%|o3y3Tui4K1xFt`JpB#&LnRDf7qXzlaqKgqYyiiw{Uc>4ZC)c4>kP^}zWovP`$$ ztS@3(?vD%?TH32!%o+n_{n5y3G(pyPNtLxh(7u=0Eq~w2bt!oL?Vpt4d}Tsxq2klV z-Ra`bl*9|w zDl6BzkM0Y*&%iyHM)I)dpSxx6K6lr=>cTG9dWa*ounqT(Jn!6I1rpp_IH8nv^Dw zzpbh`xoB^EPFml{f74y!Xi5E3J3B??@YZ9bp7`1p*3eH#sB-%5yp8_5E19Z&Oh#iN zFQeIX7Vnq4bj{_NDWq#>b4!!{QMs!jgg<3{eZ7sRXH$`&G5NhdQ3k$0(GM1yE^8~* zAo|OW|3o1+I4d_9qPA~9)3IBbLC3dKWq>D1zp_*moHuF}eV+b~Az1r9LhBCJ#$@X~ z=!2)QTlMyfQx!EPAA2so!VhX66tP2<$zKXICBFt4e+nIWZ{9D0`%*$rD!BhY4zU3Q zn9lmOCgzS?zj%Gfv`#$9T>CDt=3P>?!AHHO-`;^0LgQ{fJ|~_8wfx{o?|of{(cw@r zmDk(E;e5$vleIaXTH%G`tmtwl)$(ASJWqAmfqO5ZwQvZB(VzITYKW~WFH!x&LSbt} zH#fU#QE$9*LyVMgo%Q5aIEX$D!VhjV0r6iL;115JWpWboFg$<77 zzypt@O14aW3dnPgo1A63f=fg8_nG*itKIW6ud=qk9jw-fZqn5uod_KbuEtzI$FD3% zr$j)mlf(h1Lp@cS^%JpuGpyg&g(^*IkkSQ2W%miW1+6Ml)YWc zU}YEO<8om8&CA-!t?pw7*RI`HbGgHdbM+8Q37?_*&NoPxSgX&uyZPZJ7MIM(wHWrB zA-n?|XOn^0&DWRo>i6d7lW%E!{R`3hJ8p>8^=cj+I|J-=^#_*3DPlb=!Fe;%HkM*2 zF*&^Z%XYq3Rdp7sQEiryfMNOO`0-j|@)&Qs$(ge#W+FZMd(lrQ8IS!U5EHI29ZGWU zny>M^aiUG_cTOvM_8cv1A;@ZY{%mgV^r&h*#dW^9@gTB;>#v{nLRq5z$0^*7lMw%`O zzi*jtq(iL)1R~4m&~a7ZA#~QStf{?S%;T}3uouZD>}eGqCv=WeQRpFNrDkt+?FC+B z(5Qvr)9CjD#aN!K8iD17j&HPQp2<3)L%W1G?Q3OB-w7|-g(%o{vf}tZuT*w;qa$T3 zymmwOcQzdo+*+o|QEYS(4qF{*m{basE}KS zH$HRk-CNn>s*7BF8|oFN}+UpJddHDX^u|UorYh|9w!tdtz6#W@R>?1*HXs~s2tEV15K2~AW zaPYu2$m4+9BblKHfEW*GY-@`FXO|_P9TPxmpe=vLljTlZStJ?)EV^U||FT-;>U1x&u<=&BxYm&tlD*~0OKtsyx( z>Lm^fZfS#w>G%)h`0?&!rJ|U}Bbwd*o0&K3F<>|Dpfb0hVEEE!^fLqxQ3h*%kpD_J zh+KmLgVH0P{wO)77#hp#=%@*}OsHt;S}@o7>4VnJSo^l5;zOgCh=Ib=Q19>)v(40aolx$c8Sai;(1$`wc4LFkc}0S z>}M3kJ$K~go80QZw~QQ1=s&2<1sfILzrU;)2BFkZ*dmaT*Z=lG);#ZCLDd(|Cyt*^h>!cLr1XnyhZYFVGW}ztg)+Wd0!%yrx80A%>YA< zQyW>rKxxfhBDT5vC#PX{*4fx-ny+he&G)>BviFU6k&c>1lDiorQzAvk>5a&o2oa}N zBsgB6X-OhB&dSSn#>#Wds(ddvY5G?j6H*7t;7qeax&}XG!>-fhgo)deonH)Q*58-I z^`y7=iagezwi@^{wMI836$<;PYNX5lUXy;=4IO5ulaD<#PrW%}HSZif*)NyXIK(v= z^^v?I4DY@--!D$__1!ub4f(N8G848J*{GABc@fQDLV6}P%l15w`Ars)KBLXMXA<-~ z^D4Yrs{=+@Sc6JT@c8*mm1@_7kriHswn_u4Pq4B-ZWej5W_Cwuz;?ri{B(ENFnCf{f7&Md>|Dtp_hNcTQF*U4*6)Y9&xS(sK|)%Mogbp@o7ywl z%%mmLI2EP+Vj;%n4GEEZv-Y??a9F4+caLikc5^Jz=CoFJJw+55_VP`tutDV}j`WwJ}Xu z!dCo)vtl{IExp49-pwGh%8r<&ywkPsXHw}wx*4O_qiYqdm#%-4@^TDR6M2mTh47i~ zXjeM+>)0^(kCRzYJ{OmXBVsTl!R^>>7LJs9XWXPcu03z&Z@2Me5FE%!G2@+dNR2tE=|%C#xH-ra22%1O|H{Gzje9B8@9xm#e)4gWc*P zH^brdVgKUir9s}xtKAPP`P0^ePsoYuf@+m&Jr3c7o)cdV;te{7%i{Bv{E0R=w#SG$ zg}Ah{3JmN*;D0FS4Y@SMD@YfvpA)W3tnR!V9?6GX2&K<|EzPJjXAd#m>L|;L_|ki$!(VoVwJl3Z2w_#p|CDQgI&B6pCq&e9)#xVZW& znY+p7E{4^eI}3x#rWr}#=mk9eVe9N%o#{ewJx<3)FQcJI4)!!r5!Auv+F%cGeB5e? zFlYALw8c-CkywM6%$9=MpVf_tSe%R9q!W}kgc2)rUz1Fqt_shj7mqWRMfx>){!MN$ zW))w9B~7mAEi__jo@1>Em@D|e4QQ#0xDH8l_^T9^%JAl&_Kl9{s;$_XxY>jaB-75D zWXOzpl|=9FI4a*)xUyCaO8qn{VBO9FJ3-S0s?u_@_ru%UOe3S-_sUsBxbp%MO)QG& z!Hr#m-z*G^+vsw(C=Pt-)99sBLBcJ?HF}J%;YeyUOtey{mi>j)5h_M%p!fAVsev&a zU&lgg?U<0TlKx60m%5q`zj`&{D<65mk=cQNrBe&1>? z8o1y-7Z@HgP@K+UpyMQNm`Bu*qFS)ZS|>=6ZQGr42Ub2UBUK&;9y-0jJnN+Vuh#8xEP#+LlHGH~87%W#(Eh zVe-^p+$^_N`4A=XE|j@wQc|@#oSNI;d_gtab|bRjsaZT!eVZg#VNGuJ1@>sY>Skvx z$nRC<7wOsEC;Wp=Pb_nG{*Xo|&0da~RoIru!oWK!IQur2@QXE=!-O{ahyyx&^oHA7_?sau zkDCcq4lOr>@`Lg{S;KVQAl|lHFAMUL>E}Fsd0D-)ox)~Iwx(b+wZAZ_pMh^HlL{%m zhZNtF?c&T4cJGL>MeTs6ZT4>1DfdMcr+quOmoTV_TGcjFYwTt;xsCV82c9%3>p$osCrL!=CozzuC2nx z(wElS$HN>23NvX#*Eq@DE?5XtyWDi6xp$aYD;g6kRBNC4;Q9A1MIk=fJNNoi8Dk5a0bM;zwCGf@LmOJO2UESnTsl(LySe>Row#p?3$ zrWInZ7Z<|-|m zk4ybM_MYzNPjILs0w*_MKREDhuNLS0S-!MJFgPK_mnAZ~3hG%~^uAAAph}bXrBR1QJ<|;fA+bjzLQstshdBfXQblt zev>YDN|j6AJenS}7sH%s`54!@tb5OH`=T|coDM$)bP{lk710ja-*_M8w>z*NNwPSG zCWJo6*E?Vt+xpBk$8oxtm35YD%TCq1@`4PUCtM`QNZ@ShhYG|!kFW)IY|*w+<3+IX z_7keJ@7@(2RVm@uW=#g)e`&8!Trdj0sEmgsE<>L!qnT7$bVcP+I#^u~vty ziQkhtKbFmx-e#lC!=`e3w?cuSX^g&skB{w3Us+aOZxv38T`JQTHVb?)mb8ld`4j@7 z712NDM`Fh;zG+4AZ!w+IJ+?brXHv1;0LeOC(?e9woRL?eY4g}qF)E%W154FW(;^gd z92-BHBPWN<;Uf;;;&3;x+&bVnuOx)UYRr&M$@wh@n-Z{Az4z+CCO+Yu3fQX@BdK&p zJ#CW99VT3gnnx>xEdoAm^!$5s&$nd!&v~W_-9u-3J3E`TdkwS`*etly2@S{Ck3XqD zEvf;>jpsb+(^I-3dR5YYAm2YEQs?}t^YUi3ss3b0#LYghK95k$+|Oki6YkLwt81h$ z)sLi!I(qH#dH-NLtKdw#Q@xq6D{c1ek24{s3DuXr(`0-sbHP7IZhs6yHJ3pf~`(! zF0rOu3mCT{rqEgM5u=a8>mDXWyyJ~B@(qw(_xie=lRC;iIW;@nwG>39)kONswj zzSBHER=|DD+`TsD5H`i8Fd^F7G*hzw^pI^d^OtmZ0HMquYO@s`7XzETHemxtB$@k% z+z5)Z9%z*ab;$24NEP|b1RYysH)i)J_#ljriCT|^`z~JkK&Qu@RH0N@7hL9ZH>z^R zdvetL?hk;Iij^rE(e!g_Qfu7|^o->k8+ScLnGej^J6DNHC7o;Eh4*_&5>nKr=?~A7 zT%J8dWh{Oxy4?15SF0yZ5%a@8eg>gj=>L}A{$D`WY z>6dXnrxDHmlwrRGoi6-X+I^{R#h%-Cxy{E9QSTKE_A$^PPCiz-cs$* zEc;CU+^FL#Rwo_}q2+teL3s8D^6mBSyo#W18w|FsCgHm;A5FhANEh;E$X$tx2CjL3 zzU$MqZ|>Cq5uHd2=gzKV`^+o#vOZU}*JwfW|;$|a#Gqf!A86_(#A;(zDCpmD$L z2uQ%EKZ1Q^Wba2tRQB0DEsRY^E97rn)Jeo0Qa)+*$UAM1e<$U%HOV!VLWRbfd$g%A z@x_X94zw|6HzGTkt$nTk>2dyM`mCwSrIbCtEB{hYFW1&VPAM_vyZ1|E-nZ=+o;{oK ziDlu5{~GbghK66b2wnx1?4nU7o!TJJlwxq(HxpTG5tGwQ)xWWn$lh$$kL@$&Ya-3e zUWoZg6Rb-Fb#BTx|Q1Yfs49eA=8 zlC(?YRHJJs;ZqJniiwKnf$`Y|LVd-&apft*WuMI}ZS6kTjf~IEz8ji; z{zLSu$G?FznG827FB%+|25?Y+c7XA#f6_;tgzu&R{erX}=u`$D%W}w2Ap`jZc%I>j z6ro|1!1SgcJW*BtUSnlDQKm5u74M^gpr>6?e8M7xWjOPY6T7GptxnbrC7&uYPKwD`;_-;!*trw9^@aVDF)FWC}jd}`0e z6Ufqy`OjFFyXLwmM12Sc*a&^~WA@5UCmG%iocZK_G`=3{QMj}cJ9inL{*cvULL1bo z6tMa^@Tib#_RewK%ca;!P4Zgm{S|WKdTov*0NJqX>@mms6*2F1BP2qx?m&d_zxtM+ z9xH2P4nD;}_;lsuvc9e^^LJgpNl&V_oF6Xtt2=br&-1K515#`PtM&#(1jMXS8ZyI! zZPPM;VRBbs5uKHBuJg0QZA&v$7&l@~eiwtghT@IK<9cIjl!^Lf%umTl(J^V1yz692>!|M}o?0?EJ9dgV(lZmi zGKtad`l@af(Op0Yk6o4O0Co>JB59~xe^N>^(2UVB0n7C5%9WGU#dcLIh z-HfSRN_C;IL`U-5I*(VO4mFYpUU-~`R<7fQRZpI>Rry!W7Vna0-Ch7f`rc*g(*Saf zbSrCP$Oiw_8(b>Hj&>2^3jU+XTI-bG^~({Si3sjX?Y#VN>*ob|PApH4QVK<=S_6}* z_&SnZtnI!G5687ID}ANVeTT{2Ea&{`dFfI~Wg?XwSM}=PP8qW*%U}M3UYvFl!QDVY z+y1iU-f;7LJ`vseg{h5VzMY7ft=})A2|bxbB4>Ma*U3ayK5zS|k7Rquo28@QmQ%mM zlnbtOR0xt=J}+_A@n_vkPt;5}|m)_-;muIxgt_xIF!n?W?Ubsx4| zPOk&eyj&^NiAFQ&xz;<{W(36zy;ULgk z7{`Q*lwYOs%?R^?<815zDO0)7Rv9US-wz@KzGr1)=Sv{g%e0F^2$ z1CyYg%nKFE=*WZ--TmmCk^xS(5)p=E@k#7=#kiVo4+dnzN@RcH(357GSSM}MqE1wq z1Y}ujZ-W}p{lVJI;L`L-|DC$w*<}Jbc9k@N z$ziR|`U!Aq8!G0&0uJ?PO|Gq6-QBZ;)M82a^G9Y${f=PzfC#$8+aGa-|f#Gp){8P9;bgo|s#jXj0fm26Fx zJQeY5sUWWDg%Q?PP}-*x=FxO)Ow|D5rgS4cpM6&DU4dZaXBu_yrP3?E zGhZ95kCt*j@trMA^J@RRzZG(tbchfr93`1icp6-Ym(+rcqUWRh?`KQ;X|%1&gw4bq zV=29u6dk7m&Qq4wfd?sw>NIPHn5N^mSBs+K%l7|>-;?BSTEuh&xB`P|ljIU78HX=$AA-Co*VXk8X_Al@I*IUWoc-+i1mc zJfM47Nl$WAgs(ClPfB2s{F!(z1x|Of1~Yk3cBJC3#A@&fTD$H&!iO+qWRsr)zqpe1 zgkl1=+KW$!q<%I=?Jv&F%q;t}B)IoEJdmjIlpjLlFlK_H>#QzmvkR`He33DgsLnni zNj-_BB7D!z|HS;q6QM#r*BEx9#%mb?1%|jKFVxx(=%1dePU{lg4_B4P7iCD=wpKnB zB4AlNxBnL8YR$0df3)0MzMC}RwLs3(Tqt>lT%R4l@C9s_w-&zT1pYNZt8=2nm>#K} zyCbXT2$m)Iln0mGh2DkE@(Q^jvdB7D*X#h1ik`|$_0KsWM+i~oiJY%$rfxrp6Zy^l z@)HVj115DNtj=o*Jd;+w<&LHG^bxKiaD-NcyyEx~#$JLJzB4aaGM=CGj2852_v>Nw z3{@euoWDx)TO)Ww?(Sk0-4n=q~j%qLB#GW-hX#KctcT^U7t`|qfl$g?dPxJ@37%MYQuoLi9oCL9@pX$+ z@_tCj2pP$e`_0&rGL=UQKB11N!qWM}Y4>Spcj;H~ctZ&DSJbOUMq)HfAPqvuO{*0qIxUW|eqRo)|x zH~A;z!S2fmhU@-@)`hM1;JGs^8z!QaUZhQ&GMM%gt1mNybhT4~n38Fw3teB$qu8~I z+&Sv0dN?WAJccquF;kPci9qi$-X0H%Q=>EO)tsAr#Y!mqC(psYd$x^JBZKOr))&#F z2FNk`6PDK`?xdSP{1+&+6UoH}lmsZJfOqDS(%|pV0EIgj4(f&jO&tJG&}Jo!rkX6a4!Up%QgsFFUa5Px}LpOuqf+cN^sG zI<@%Wgl`PN8FGXo5$hMna!&72+zXsKQ`jetDvr7E*aT8#EW^H%a{p{__`-0lK9KNj z{M=c`o$1fPNZ6j&i>4t)wTERAB~|pc0);+i#R)2XG#LGu;bM8fujLzk>B>k z`*$rn@-ZdRiKQN_t@S8OA;JPr#QLwF8YvG7+)f2i-@F{oa-VaI-gTz;nR@E*7t!dJ z5_Fo4Ex1GJiCRGP`h6vKH=k3`3mpz0k4d$@3O1%$KlfORj7sjN^d;;*CvUCX3rp2? zHtHJEdex|3ieAXyE(CW?)JRSAF5lo}C6WgB^jxFCLAQe8PPf6IoiAxA zYV$8q_sap1`cF)(WNgiavVrL02IJop!HT|M7UK`xGN+Cn$ni8v?coIy&pWr(c1U77 zfTN9_QLUF+o2y1<3FuLA*h4#YPu+^~Hi*kM#@4d1yJ9VB1ibaw&rH7k1_`o?W(5}a ztF)%Eclnk^@SvL7G0J8xbv+^^(zLqs0Zxk}5dnKF6E`6@J&H-qZZ8+ofyAm8zNpln z!u8VMU@0flC$Mq14v7Crt{BJ8d2#{^Jk*}+Ku!4z31|vY{i#&Qvu$^A_^c<4qqmjb zXMR>DJ*0J%pM$#Wmm1GNJll#TX{JL=(b{w)AyEP^QNf?tKFEwR^2o zt?91ZF08;Mq@xMq-)3sH4@LIBP(N24D>s8`FfLL!5H6KKcv*t=BBar0VnPivHO-(1 z`qCFZn2B>=^NWDaGsnBC!6DMY&dz-4?i1+qw53Zp<@cVWK+WxHK*Fd}z2M`Z9%EGr z^m4gSVC+q`nU_dw+HUbtLHOgljuxh35ooyKuT1~w8rn}wr%LONXiSFhP$N;wwL79* zZ~jgHOZvnx62G>H2Q3Mhtu68!clGxTEbbli8q{SD_cbt9K6xOea@Q=5E?qMgQ zRvUTa>etG);Y)hu<#Wsuk=;o=Sn>Yjc{Y=P(%;2|EZSIpx`2>5F#%>Rqb4+ypzq(C zndYv0>x4cmV(mccmRST!P7icxNwZm^mw?v1-=y(idJL~bDuDX>BhQR~libWsJ=bi; zzX%l40gFU!?k~7t2gaqmMqSxHNJV(E)U%S;yoK)9f6J}FwDeZ${n}jfla8^iExMq4 z;T^IK=p2}-bkF@ls-s%6YT=yB@@C`WQlGMo3Q}r!%zxe<`G!B1!&X&LqNnro*^FXt zFPbGYBD%s8MshR#{ewEE**yP>wRtu&iQY{3JCDL0NWa%g%Wicb8l%AW_D zZwkBFfAW!0ivo+|X!CHqlk@T$IZ*P%_T#vZP1y7yRO)7c>UQ&Cw>nj4J`S&tl8UU4 zSbt!UgL2|kvwT6NdQPQUMxoLG%T7t2FsPgEz2qiFy;}q=Q_Xn1fP%d@)j3l~6oF-^{1sYcZ=!71{Il2O;>dbbC9sl01hXR4fbD zrcmYk_Po*g6tc7CrT1EpyR`o%!;i)g$U7d543EBrd3SsV)N_E+ZIBlQ1Ss!x5>($* zVTv&*fCIaOF^>D^__o6TycetkhF+>2I%(NOvB10=Y(~9Ck&vu0iz-*FCK#R_ z`nKmeqW(3VjeEFDb4e}6-llQ_Ktp6=>H_!eICF7%xelZ9Z~{LEiQ7EkRstMk z>Yt(v3ZoRoQ$c7eDIQgk+zuoE=Q zzc+H@LJ#wpTU-H;2EkI_(>_YJTbq-R5}l>0RJ7h4Vd2LYf}GOCNYrDzpg^Jw+R??I z40U6VxeRr|a5{*Iw>QJwi!ClNf<%9xRSj8yuV>`!%yq2u3{^IJb?rJO{RD}r`O+KM zZ3$XkVq7~qVg>+iK&(v=AOMRGI6|>?c>f;W?ptiRx)Xty^OsTjL)Ds#EyZe_H2J#T>Vo$i!0GpXS)_nNOtS4uKf zQxL|RB`H}ZJHENfjzv4H!Qzw+3tuSca3;E4KPB%O2cY}kfkLc>SHF} z-oLABIpTl`$8X=rj>*WhH&)U67v>Q^eQK)FFVnuPjOwU5rN!0Ta@ak~5MDBZ62>}8 zzq1j?F+N2-j)Heo_i!$aIM8zq_oNm_v#5Nnq^0@N)cP~SoeWpy*X#`6zIX+z&y!RE zrwXR*`n(p=d3^!cVf*aND4i*-q)qZ<`Mu6&A!LJg~cSb!vhHsxQ zfL;PqlBC2l|4-ke1$ro#wg$w`np&g0z18!ix&BvRJ-I_tTPZz$@n3QrZC{89D55xi z7ppd{%#?no`8|xI71yq*-Vc@1`F_^jiNeCAufUU*9H~Q<597&H3rcIm z{524R==H5~Ye^tZOPmiQ!|p_KDz4dOkkHCam^FZO&AP54IrjzY1X)! z0#J~}UbzOZFO2alChPr#rE}FZ=g>*ZvFC6>;ECu)!UpwUl$b%QMz#hMapn<8L;uL4 zW<(jy!xUdIEsMhLAw*w&0O#C95C0PxOSx5IW5Bt6`}TVHUHLa0GIZwAjfo zAFGK1QJ991RknXI?QrZPUIo^hcd^PH?W7csvek{SLE7o>g0GJQ6bKX(3;T5PX*U)m z665=v4(NhJL^aQ122c?# zA1YXB{4$G?I5*jJo+B8)J>U2ItZ8UK3g51_jopIilp31@9sz*^6E9^hayo(DyYi#yD;6 zXWdoVf;Fbb`8;dBQu&PoS0l_-8<3!)Ju*mbJ1NguVL8W?xR^)Pg(P*&m?6!H`{D*~ zYzwY5DB-N{QFuOnRHN3}_tPOTHTCP!wG-Ici_P&PJmz==kl4*32;gV+K6N)>HxgLgxt&*AX{KEF6Vmg#=Wt_i^K7 zOH$S2BK ziFj?bQ?#F^9Mr9#+x4zO9U5OH`HK22z+$tN?0q`NM5-hQb$ z%--QzO~58(N5&?^P*oa-;zU?aQ&I!lo7vJhM;DBy!kdU4SQSAK9`)+T2Qnsw!LY*d zBKD<%r8bohyG?{4$q!){M-HuJ7K7__al%2mJBPjr`}{;`vmMFDbF zZIzgo(QG=~b+VTMehC3TPqG7L@AZkgWU;S{!L+@EPiN!NxcE<^-(H~hoyifVI=$>a zEQzVY#MWKQy*_6G(YjcvA1J>Key1QFJ=YfmTv!0L?0LQ%92Qyyp|U&$;)PJ)a0QP! zd781EDIV3oKX?=Be6NIB;7d(up~f|O#wp(F)W`r_$92>(mWtq8m6tCyY&S|7=VGYv z<7FfsOspkmD}E@jGq0s$b7ul8)Zsg7U%q_V+U)H3@5xzM;KE^W2^#@QoBa>^17Qk3 zY8yN3I>NE1Ysh+I?Fe#yNVB3`3ARzP;kMiNXP#qTkfa!gwnw&uIrCF50s+RManYQZ z2;789yEAqT*EkSe4k=-Y7#czMjhEC^*Hb*X#Reow$DhxO(%F`7c>yI0FczU%|H=yj zv|a71aLI^3kH`iL*wTYOr!;oN_Hh9iK58(2YoP8MQFdR2snZ^`x7Q`Qyu#=%tqs0D zRHfXYyxmEYKa@aL0x8r5F}gG;ve-UI-+_5_V#bRsk98%EVkEikOj9GW%d8h0KVZEO2P*e7ZFn_u-n1W;i_YP*7ebN?-y{2-4%VUvS)~oespIIzT;EN62|uV* z#`%pyr&!^`x|W$rs%wsybj{=N!&sW6Vcj66LfL3JzF$-4>xZRA7o2MEB?b8fimsZP zK)~xnvtA$Wf(p>c|F<+!LT!E(`L$r`J7%@*A5Plgv-|8@W&29}$KG^Rr9>$Dcv`({ z2{cvYAMt$^@eF90QGTszJrnb$mDe@vm2*@znC)*(Mk+E96`r{{D~H2aMZWbr@2AkmI~4?L~aC zWiTmv;RiKSf7(=rbMH^=gw^jWS1+6%T&isPxPH%^a3#(+Z(E>?Clu$jsLl|@ky=+5 zGw{czO&2Rha7ZJNwsR#J=rFQhQa9_t`8g0AxzrZeiee_O*|s; zQrXiBO{H^IZI^a(nzL!w_|UEi8`lOWmBR0e8)}!AA*ua7ES1DHY4xUYev40|i696w zLakkDGfGL^GktkBFO;#QZ)7*_i zt>WDBl2!@b*JnH$_NoqZg!fUdIUX-~^=atj#t7nr|jTW4x5 z3U)XS#9iTFyhB+*hRr7$;rZElzPdQu3TnLT0|&`T;MiwoW%XA^VC_r=y$adS1@1hH zOz1-*)hs6vuW6Ur%|INN+Pwq@H?(LPodi08!W;F##UO^v@wj|6YanW+G;K^FT8AEh z0AHe;q%>#GdIxAnEm%As!jaB8@PJ}+<|SM?h44W$YZf`&;{lFoFU+1Wi>T<&E8xh; z3*t*pGDGVYV={NfZ29zmx*(pwuW*nOmDW11YQPgf~Ft|7$Ta@QD>bsE6?5rA}_bxK#*@jlD5xAJUVIGj7;wp7G5(4H-Jzn2J z)`XqEWL}Tz#cv@Xaq&aEBybMbS(zbM9we=lzsDdI4VxaP^D96xVI%?#UC^83fRojd zJr8=G6+Y6q5_M=>XTe`E2FmpAZ4{>H-zqZ}!3XN%G^~9$(HD z5YQ|x!1y`C6DR}NghcL{4sE_j8U7}4D37`}XcETJ16Q?r}iwXi`S0rM=PHE$L` zO*+|YGX$W7)vy>orz@V{w>q8}h_EBbY|SfE^&S4=bg^*of!#Z#`WVXwS_}>x4KnHc zK-$&R(^OoAm@q#X6>0vEN*kW79Xe7InopE?{!hPmY)w(g^*=p*Cpx_f(gi+k&n;sh zH;5V31fyPFyLt(M++|3@Z~WUleVb z8$e0Ku8%n(G3i-5_9!FiAI>|P^%7*s)b9Txy9@6^_V<{}miWhBWCr0n$4S`G)y`h# z%{UTmT=Y@L(2V#dn!z3J$vQa4SY2rHzcI;?D{L((#-^bS=HRMM`>z+CT`5;l_W1oU zWK4h?8{C5*54M&lwvPsbQ&Ho<{`cG_H7gK6U)OWdI|^1q`xyo~;_9^rG=nhc#o=HllMdN#N+@m(K1A6#9vrEc}3TCVQP(NJPFe5Xy_ z+rsGPXdeYM%=v?#gu3Xe%W*XFWzpI&X%0T(q6#?sEq@zni7YtpjY@vEVlDEtIk!u> zwJKv0aJtqV^TT1r>!t~JjY^K4nz>`w~)O~^WY1iYg3tsRh6jS+r+mHav+c0d}}gW6`(3txAUE5Pmfd9M^NgpyfAk$-&aY`-&`Vfq56QyqeCkxUJH}ciAGhWaP0a{! z;@!^mo43*=p1pNsSQbuTCrozfEMlE)|lH}`*1V!yRvv*wxc5o&fE6z&x7Ap)W z^^WhavJ~))3xkJ+KIs>{9B21Xff%Y(&?*Yb;O$Zd6Uy457QuZx72$B3QgZ|Mt{&$ zsgBU|SFQnL5k1Dp@rkA-UU_ra;t|`Z^KE7(wZ4@!4dFzRgh> z3F#ky#%|E@oEYQHxZ8FN$7d7$@W74$5Hc0@j3gl~r$m)?`uQ3mI8jQ8PfVR1$8Pwxf|ttD;%1c^5K+c?|XRpboo#P0iFgdExaxWVDFHS}F#*)?$B1 z-FKBbV5|T$z-gKjIM?=L}^?ks$Z`-q=oQ$?c*|@)aIV5s?8UxR;5qoR( zmBbw&#BP3(@a%O*Yb7$}@oH%5Iq#XGV{jxFU0jQZJrgf_l}Aqz9lN8AJq-=IpUB#&*L z<=d#p@R}K(NAM`$3u$|>eU@V+Rk%vmG|c6k_C%b2IzN4=I+?X7hByl%kVUa%Z#Qzm z4trKgE-Hha2nI?#1;~T+>5vVY*MfW6gL(&C;7vwdkr2gBj2#67qb{A=Pu6`LpQm-f zdYo)KUX*8$Q$|Y2zfP+<1D~_7{j3buED`j`gL*f+uyt*U@3}=EH^cOIVUa^K@)n9a zF#4;Y>z;ME_oS)~a%94c(#IhM!;NRF$nE`h|!PzYsTE#rBO1R1@fV50XbC2EY!X_ggra$w}#fnAtB?LA^yUA4!*Mo zb0N*}9&GHJ|18hPf9>+kJa-$KS!lSq3JWQ`2I@Ne+YE-U zD0PM%7Sc9OY;ry5sXtgUh~ge_2WcvGhz;tfOap$V?))dhSjA-8F-LM>cLv-zN+*iPDM|h2Zzhi`O)~`>3l-jfQJB+=;aG z!;GR}!CDnTA2tD29u6K{n;}AvQg?N$O~Q?q0dDa&Iem;UF4tOcd_3yLjXq!I+rJR1 zKCp;g_P1>&SZx568&p$Cr|kcBa6~YwXwb@Xd3pTikWZ!3wurZ%L|ujk3I1E!;4}E< zQnMLN-=oo+0i6(5u|!-vE^g)mvsla{RfWO-8qwgAzChNFs?$S5!Yz>cnc-P0WlNyd zN+dd_gKI2?XtecE2_P=0+)-E*#@NUnm&nEX{bs-2;IC>3=5NVWRwa{BQ)3}e##>O- zwPNH(hNS+K2uW+qMzSpq90zLx0)_0Mom`H>b1VMP%ui4rhwwbhhTpe}hOav}XJm8`B)pH4{L8l5 zzh(!=qIlS8A_$kW-XWce)q=$wN{8M(I5?$GM~V=JLBUEhMN=XS?$>c7beM?7_1*M4 z)*jr**b~)Bv3zt4Y3g#lXz}19dcN8yj45KcGd&2!dB9`{qn5l5Bq8Ns4Wy@f{LYdj zY2KlLon|7+fdxuh=x<5<+rNV@A@z=pA#emnb-6YrU=}H5prv6$y;J?XVyyi>uX4$D zYkbcmLiJvW6vK@w`Jk@)*94>zIlGK`vi<^)IJ73ibW=u7>E*w zA}X7-YRQEn(v{3alxAD+HBQsz36}Ffk}y9EGYl{4cWuhw&j=!DJ-G}n9DnC|)T=$1 z!|f8(@3-gfuWulRiTu%He6`mfRxFj0EGLnAktWkxvDD#H>p3aR_~U)WTz|Mj&i+=B zR%cw}w_^~9p{`rT(4m-+QOi$fZ;TeZAP7EB31zJSER){{)$e_v7o8&p7b&2S2cSYez$Ms)(&L~&`H#CcPo)v1^ z%&8pQ+-k1e($>e3gn{eR6-}ApJ--)@0U@Q3J95Q(s;QWt6BNYLRy-IH2$ zSOJ-W5VHok_GI<{@z}i6weNW*q)HDgkBa->W-Sdvm#ZQMp}g&YE2#rr%E<7kV;D^= zrKq+PcLPEWT%7&CY_!zj`WaAI6vxXxknQ21Q<-N)y?&V&m8UW+>#Tl6Sc`I>HjU#_ zKkyP+hd5d@x}EnAutjsjuApsptsX)rKxABLn$-(-pj@~MM)%A19iA9kWZ0|#8TVFy zH?7A4_YSj@7+h+}wsaB?sgp?Uf`+pbcZ{keBc*`5gZj+%5yo6tEn2Ju;^AW&F^gJa zy(obwNF*vMH8jx5y2q0tO~+oc-A}$L1nI2Bht}+TgAd0JMeT2ovoy&5sPCNFhx|#)>M9`QaI!ZV z6Uc-WRtyzJ0mKrkhSX1#A+dQfMv97vDzld3utxZ)D!Gx*baWUuWqw|CdkB&TIlEg2 z6VABN1|_Y^<+`SG>Dm>-RY-{rdmJOfI6vjrxQqk?wrC0Mh0!e)wJY4);&kkYS^mUU zzVZcbYz&9-x<=L*RBym-denTW)Bx^!v~|gHNhtQ$A%P1UI`hON81JngtAHnqg_OL> z3{^g)8-^cJ=~l?6vsy4e{27i^<;n;p{*%P}#K%RZXT7Nw#8NE1QOB!2MN#azg&hTT zf?DOGd2|+-E*$gEI%!u zvq4Lh-@8*SbM+}xZ(Xaakl^T|@WyG?*0tA;02wK-o?+V!sJkGj_)ZTLR5<* zc5Wn!w}oJ;VinXj<@JBKDVBF3JJL_m_oUi{wDMFo!)n9oNrkc1rsctFy@SchQXy#D zv~t%({6^owPM4>dIUs?xO100>8pVp<*DN&YQ#5%!Cmo{tZwNyPanaLuX9MmG2(-)gx0sv z)0uNY*|wcKQ^lnGCB9DM26YQW^$bZkG_AHMx^;E1=3kB`ruw_i_W zxa?1K*nu@=CH3C4)1)N(L#XqdTgK?s_MS!fznj{^1@3#n7s3#LQsn7jK^ymKUFs+h z0Ouq>7pX>t84umq4LYUod!_C0#d2E6b<+p%?ce#`uQfZ4vNiiQXqNjy^wMF=I z`3Cuo4_B(UXO3*(OC=+f$GPyiF=4DiGD^vjNT_3&x@mil1%{GhwOw`kOtnB%#kW^$>&* z!jivtg#I~518X*n#Xa~*QAaVs4-m(28-LrBkM^dq#QNQc_$${`26O97@J!jREiu-` z-`d6H`s;@O^XZ3b*Bk_94C}wzWr4v^4mi%O8)NvRT~9tQy3h_ndZF? zAaa$})gE?}K;qo;%6ZaIxX>t5*LD^}hSg;M0mgc7&!UH_3XJ zyeV%ulmTKT?;=1O9F&O_K&C6GbZ>i|Q~1H|ce!MlD~v&H6dNW~5YWqk?$x6ASF)eP zRIf%k%SCCSgNk;b3-;X zxr%AB`*(%(`JpGCO33p9sie5L^9QH9M1}t-Xw~CBoAHN&=j(X0D7G3GolqgMVcDoj zS`kA4$44Kf&G(2-W2)3F^X^h%#EJRCGxpfIAp^K57W_HJjMaD;DZ;vk^+xJ>PaRHU z-M-tRuIfj%xIaW~kj6|EAraGK%)TyDG9xX7S?{7w9sj=KL< zwl1u0mgW3rkWkTUmYcqZ(MG9vhd(-J-V=Uci`d*+{Kw4kS{z8%(~~YUm3*x3;)F!V zSjBs&0VluwT%tPqy2%h6f<3aMyQTl=FgwoSuST@IWWJMPd}xOngh1?>g+$tRLhhbb&BTZG!(yl!2tne$!w9r zv`3pxCF$EQ!2II&{kX*}u|tCn8zLwIi)vtgo)9k3y=@$moG(zb916c_0z7@WDIhVG zt20;3*?{+)Gr(!)z&=p;X;vROWDyG_{NbGJ?6vDD2`oPwd;2q_(Y>n($B@D(h@%ri zwg3J{PN#P{paO0%>z2nm)u@aLi*%`57fvI#AuE`Q=8qAr$<+2kMAHe4kCPx^zp;}`LX7KEMB@vG~IkB)X+*NMrw>I zVpGV!vo;`8civE)3vf?79yNYjcsp2aaS8B!dwC=ntrH*6K6vhg)krfB!_}7Kfb#DH znT2n^9oYXsq%@cbY(8c3eEcYdD=7z}4^sOztxRESVZkuBba%e7(FkYI;v7aF4_J7V zngW0gJu*nUe9i>d7l@u_`J8sitTA9pUom^gFK~ zgrczdn;VR&KzW9tnLaO*KGxh$rQi<~qizUb{Dl>6^-`4exmubqREoi#d%u_0n$vC0 z*Ds9j|3<5h->kdBn$c=<;4g-=8;-o|op77GoQx5wJKvfR3qZpLhemW)A!!16$M2j; zexC-iRQeij%6Cmbg4Ua+gIGW{&`!)MZApzX&q&ufJ=RrLOBpFNo@7NFP)6uQ&+~a- zXG>yIIb1Ub`iD=XaU0JAyq%X+g4q*k=g;{&d_m^m{PSm;eIbMjAi`_*vw)lMSJ>Zi zaTvcf%TwT0aV1YTx^mOf(m)^}m`v|oPZn$KI#Pi-R5i-ZX)6wpww|84s3Ndb&qf`# zPu$$euzF-7oL|U`& z;xqNFc`mk>KF6!Z*>p3Lrfc`UYEyHFSqvM?{W-r9P17@AMyWHYNdkdMO$i7N=)L2E zepGcNx$VO;QIK1wp4n?|U1(Q4pSMz=HB*v!b_mu22`*2MooFpqWvLoS>3FY%XJkfm z$G3iX1u6=fL0ms)QLSy32 z#@5!SwvCs+y#F9`Hg4pDDDQOX10*My5vp933E*MA!ZK4R%25}EFj5F*3whxpVNsH! ze(`<0GQYd%!z%Zq2>nQk!4UKVvo$FY0CX%UO{}AJy&UScX)jEv^6uF1fYp4Z?};hZ zb2$dz6Lxf zdhWlii>+u#U4EdPZ_+ZywikzlSyx=l?D_BuD-OZMH92YxaBf_##YL`4!mL`Tk}Uy?0W#N~^X`9UnF#jnBTjOPSF zVW5g#{PTk^J)wOTu?1P$%tDNKW-uPv+7SC54Q%+04q(L&xdLuSoE!JT6JADOO=RkK zw70;$=zi8U2l^wh6M@VtDY<$r1f*5h&2AV>P*Ts&?Cc^mB6cIdp*qw*5paIQpa$AD z5GW=lrVuWV)n_+Rrd6PBGT`lcZJh%iq@bXnxIxq%1In8{tO2??>0dpBgoN1eLAbqI z%mjdqsLuBt4qB7WbCw$O6?euSLYyT@Gq@VIQPkzrrhmK1U*9rS%WlHr{cnEdig;dZ zZn%^0PgG$EguCx{t3KQvO1Lt=Q9M zbce|1>Ch~w4ep5kg%p$f#~XMm@iae;?rlGZHTN04;sjEyd$m6 zr(a?1XlNJ~hgIqB=j19rgb=P3+h7)OFi9#FuHJB>TZ3}FP%$y{0Q$H_zYerJ+Dsl1 z+g{Ke{k?tH+fWoWa%X*A-PN(>M3xsoT;#g2Tf!qI)y^z2qf`MF%nyJ6G5|?+DhLkA z^Vc*r$(b$~Of#%3=Wb(dEyte*g+f!3r-No|q_MAJyB%Jr%$6?m6Fg zmwRPO_sF~DM_#A5Q?%(oiCw6P>JM}9Zz^2vcW86nVFwn|{Lv&PP&4Qs%`xhza`47i%O-AJi+%%9UpxsktoTnvIQG66;Iy2>Mgu(JTom4 zbpx~%JqXzLH7NImamkR^k!692_M6|~AGHnZ5s?T;PqaLWxGk=6Ja- z!fFjSm9}zs6C{V657p{!2fFrM2}R-uM$hB#_HsI>CI#UQ*7ijJJ~bY$kE3z9IMaXU z%C!Pchu`PEEMzMUn#Mj3I~ujEVbWz`*J>COUs=@4J>Q+~0H)2%FTC8`61eKOaHW)9 zyEsP(1>S#67mI5tdEXV_AB@21;o8dO&DnnXkCs>h{%NI7<$&!<6MVV3)5K|6S(*A` zLZp1Ee9=kk*#_X2`mZgv_SmLzRcoRn9F2v=h&3@5A3YXayHT4?>N>34esZIddxBVZ zWkGl(8aX360{ZgQq7sT4Gah$ad;dA`aVaBcz6H-T7Vw4d1c>Jm1E2-T_eZ@$s{!n@ z@!IU>ZjFEuIbiDkzybuy5qxIWtd@=;$A|UdaZba6}mB-u)RIl@Uz%4m8VyFX{9~K9pco*sMyj>IDzMJjoq|yI(I~ zb{7Upx%bI`Fl^tU^YJh0zK|pN`-E7H7ClUW9%+HsY_f|0ULVuTu`7ms;V-Ju6=*X> zZBvql(Af%8Wncs()6pioav&3Mpr5kl0i_=gKFAcDR$o)&cmp&aPh~cZPi50WmuGRH z_J$i&cEc82PHksIZoC*t-P-DeV-Kz&Wj&sH<@vsT(wtaMwq17r+YZsR0qwFY_*lvK zBI0WJ82X!Zh8QUweeY+a6$DI*^g$%5cFR1svp@D+wa-!hgaKznMz6V`w;wP(HYawb zrf{9-L~H1_pL9KsTI!kZXr((1PWf76<%wjQX3Dw{D$5+B@*Rz({@ zejqamr8-E#cJg#B;Xp##^z z3kP}#@NsS-KZs4WTggX{2HzZsVP4&T0&V|4Flu{Z){VbP`$ z-xLVd4`b2EYtN+08H6KTZS$bt#|X-|b?^QQ7QBvgxJl9+^N-OqbSeQLUee_{mCMG& z%n86IgUeH|)GYb@IQ;eP0XVM#v7Ddo(Ap4;BP|VmaWXS?fo|@RT;WD=^a87&dj2{V zFL9)E%q#0-HZC=bhlTM6VNHut4)(94+e;)d1Pf)~+FS`0)1E$ z8z!=sUtV6Ocv4L*4BhnapMf}`)Ns``Z`6EZZ>fHvmVEtljVv)@UQJ6)XZ>`*2saj5 zAV580QjHH9G0MLZje{vvbR@vjU+YQj3GRW{I(jsFqzGg=yg-4E0Y4>ZMlBJTf9NHM zZp5V#nSoWcU)cVBm8aY`2nwjudW8EZa2VlvOir zl>Z@a08?sW!#9~Vz8j(~NZR)*@;UGD*y=%|dRdY$ zx~iqkaS;Ui*@^ZCT%A+K{6=Vnl_(u~D1MK^blcboyF`S_C;qa*Xx}UmK_VlRDYM`V z+k}sc%3IV3=ZG;MLzVM)7HKc7E#C0Azi9mr)Hh7Al%nBVIoBpax8t`a*ny`y}Q|cv{JTaX59O4*=_CfiDq7|koIT3 zyn)z8r-?yWJ(%tlmLEG5ag|YGvM+Vq#B|~PP87(uNL8`&T+4YP*WIb}A{y*4Roej( zXjQB|>P~Fr#E%By+8GFYeEj|5Riw#ollmTU!VuKHi|hr%fL8!d@Lwm{tr!r8imFX$!^_>r&N!97Jv(EY-}pOre$HuWvKk{yT{Qg3WxVC6U!uW z|Gn(PfM~ge|F7r)$Pl2L#x0W3@}OQkF2O(K>DLckAv=7l_kNV&Gy&UD@BOdgs2;kT z0j%dgT~|@7zv$em1KnQp*eY`9LY+WKLrA5SziW%E!p)5p<+6k;5U~Ig4q1o}A&At& z4@E!m6VEc_A_vf18%9m5Y5KFKjae2g{8G-bo}n9JkfBy-08cj3D{zSpx=)wILi5-V zBb6B&EG!z0dGGG7_G&@eo#zrtwh)w)YM2AmnpUp=47O17U^c_|UjU*2pv9x@5v%Mz zU5-1vdf8h|8CAa%M6h+J6m!!@L`y}n&C6Q4bJL2hlLtxGv+t1X!PY-X#1w!xnMrZb zF3hE#m@~mYtKgi{D)sfF%pbz)A9UbAWZ4@$u2x$X`n!U5ncBEa6p#-`#2!}FboL0?!5OG14H+d#wEd74QB zs5BL?Ae*=*5K0}RKp?1wFyqZi;6i3ws!YjyRupyvq^>5quNOIkCQuFZ9O%<-#72y8 zrz%QX#;BfUt*gCCemS9Hf^OyT&}O(6+2&RI`|)p@O*z>BK=G3`%c0RAHc#fBE!OpR%*rwewP68;atWL zedv4+`{27(pZoNu#NT$K(=Qi#r@2O)vF5T*0dWU}UOH?&r_@Syn3%K**J6rEijfSL zb;P!jTxsy&x_`L%E=716(Yv&aX(&mR;)vIU+N@9w68sc&Bj%(p6ud*V#P}mH*%P5L z&mglpUDB8$@08!3j(77=kIQcTW~`qm)8<-pYQw@ZI9M?=BtH<9rm}dw*+kqJ$<^v~#abm@NM{uTYbO-u~XuLO7h- zUHp2`gm!xtCibmq98@)5Jc&^r&aOZ$*(>i`DYhtjXXH$v9GoCHUtEJoF`-cQQ__}X zJ?1Z)Q*oG{f`B3{vOqRN9jKoN`G-{p1ToNr*VZX<;wyqHjCO}V92Qmslc~*4uR*0= zCn{z5v=X8Zg2h{lYMvxT%$xCWZ?xmg(WeoHM)k|_SxlT_rn&KL)A{f^M|fE0$x|U@$EM=3LkJ(A|eI8 z?|5SO-cch51GHQ>P(%S31b|zh%QY^U-2#5J1638|>*SR9Uw`0zGcBXRmk>(u=(|vV z*!3Ak`!G?4GEp>*mlOlAf*TUd#>~ym*5DSP7(@Z?FX4tIX-(*afwr6WNa)|o^@jJ= z@cVzo`(7oee%<7mIaS;1ZD*?5v5I}z5i_EsQ_3OaFvYekJ&a<<8-GE{L`vx) z!Y;ZP+uHMUtW{~|t9VgsDH0!#xt2$gpc!6WvCk*-zMs2C_R2#lT_ZlRpZ~#GG(2$U z0?PF3oDAZ67H5OgBbS~wm_S#cA6up&r^VE`&A?Pzh8L6!Z$^^e6Nxc%Bpb-Frjqg1 zL?CBTS@wO)|DOeLqVFacwQ6>kcr2Q8)A9~?_u`zD{^?v;`i3_~AeoL0c(pxj!jOw- zw`=o^0=c&H;bABK-)<^!+>g2eIpt$4=f-tAKnTDC;L*596(xjv6WD$d?W=C{Hn0`p zmSEtXjmO@E76z$1bDW`Co%z2%0vO<4r4l^ZJV31OJLuHz+_FkjFflSRa%2kZ(Iw6D zTgxyJz3&vlzQ{6IRMBb#3CPJ#I5|Xq8Yp>C>alKONs|kLN$J?Wh*~OH7)q~L*L~V< zboy$!;PQ94Gt|lMbOQ~~@BQo%*|{xL-mjE@+Vew?7I)@37g)n!31`g_~Quv%+rL=X1_dcnsrM3nb zP1*Q2^P}@7V6o{GK`bvFlLYt1?{ij84rT~7M}y{7Q4YOPZs6~&pOgZ=!1k-}4fpl( zTAH%(%8?PnmJO7S<-GFC1ztM`@UBnWL|qTFxsPL(r2kz(Zqeqljh=NJD^)ny8r9Fi z8o@0qij2;rjpLLvmf~QCdMgyVMMn!i(mf3JIhlAqJyPmk0hz2`1@B4f)IL9K%)2Nb(DSfdg8N|gJ zd`OZfjq?n;bCXfShu&aGTG}2OLW6Sj0G;W~F_dm!Xh%P}DxX<^U z3SMmU*`GS}1lTr-8B3}2zk##LWRiPO5zS3o!0MNV-vd|UYDWl?h4HOlDpW0#G$zKy zQNf14Su~A*eJK&SEh`6JMEO}|)3j&|NU@&({PQcwB1K%aJMq^V4@U#k{BgqcHrrQ_n$ZPLtTW1mX0Hd7a%% zWznrc-?T|bhcn524xdOutGg-Cy4#GYt)dT!M3D#1VHk)Ar4+|z#KCpb(pFSNFM9Fb zF~e;hl)ghLFe#9Old#ZOZfc^Fb}kbaM8|NS)#u!S#lydYt1>GZLE$bYe_wI1ASX%9 za7$SS%NeJ8P=BTap=dm`j?D-=?|eR^gVpoeb6%R#9iNzZ;(Eu37jdLh4uwk1^bl~M zAQ74m*W~}P0BS-~)i`kZeN5B0v;>A~0{ts+-cb6cd|oaG1AuqO-0s6%03I&2r)6`F z=h+_8BxARDTx>z;1gOgSFM;Az2PDiXZ{izsn3?(F;CXFp*q`TO?)suaPKbZy>TOSc zDHP`h&`oL-Saq%t z0p5*+CO&Nl=c)Yl`kK$%v)x$$SLOM%dE@Qb@byUR9~_PwP$vPh(E*$`qYGS_MttA- zFVh1X;J-}2Kas6Q)5D76(-ZGDtIKQmANpWq3N$n{)Pj9bE!zc7*G7|Fe58Qk+;1aBv9HU5vR&f&T#Xy_%m&jgBaJk_3E5AS2j%Oi?T=hS#+#`HvL? zjM~U7Ng#v7Mb$=X#vaCNxk`-FbL=u+=cLt$5zf43dE7TL=!Zu__#V+~-?&;kETb)k zX~Rc{`_^cQo8NX_JP{~t|X8CF%-b$#eg>F$v3l5Qj=q`ONR zlF!Piq`L$JzjZ&~_40F{4V<<2TyxDBW6TsI-k&(w^>Ul_nD3hzOQ*7} zX7kdx5tvb;`Lr~2Y3|hJC3QM6D01szAvhLE-6sRkL!%MayRm#*eOkJ)eQ2Xa(Du>$uDTr*$^kWt#tx5y7=^^dzxq-x%%g^eI`I@ z<^$*13gvnvXh<@jNRa{e;^ja{P8=>O0;SzH7l0nq(3>EbE95e!JpOI!P@7i38$oxq zGo)ZGpQh}Dp1aIQVQnqSxkF9}Z`tZ72+rgwMx4;Hj^Y*-RiTB_y~M@n1!Af(>AcP| z%+4bte-%-7^K?@CZ|`WnG!LzR2Blv$6gG0?!PltRxD1?4jjM{Gu=HH8!`ls(M0Ap2 zE~zG%up7?VGY>DumX6k>PZ?B3a~iaeYIodzDDqvym#)La=01pluCE-)beRYja)OKjL6Je{ z27$G&P?NLQ@YfMeohqc>w<|=;ygTmig1ew81l^S`#I<;#w01wq^P)sZhJoP7 z$HF3%Cf$RC-kvwh1k4qWhu4|b@ASGNH;v)eX(8{y1u!nCDNPR#fmSFA!OHj`CJTP9 zACIZWCoW+o%tR_M*()FG_8vFRPBHTxb!>>|dRg!FO8np8)A{BP-l|`9!2=N!T?c(V zw%i4haL?0-D$)P&Eu~Ix4r@W92I(s5`}@j|Cf6dE>vR$FP^2_Z?hU_i{zwQ~jiZO0 zZCawyO+TQb{f7EMvYAp`YeqL!noVf#B1z~s6Ock8Ae&1Bx+DY)EIoQ1phq$-dbgl% zlwcxmy`!K)_O?%xllmD}-ym-Z#r)`(=diN`A)O4g`G5BA-wqm2@1=!h=RlM7p+>0C zCb0qI12>%Xy*#TW`dFXZUiiRW0U7#cIE}39XBYwJs!w=KHEd~voRx7W@5!cHi`ek& zdTS1U5riNK93Wa;pAxS>S=MdEMZVh7$Vh3oZ5+P$#&xh0W{3Oc(yLJLi#vH9qJQl% zB%dlM@@K|)sWED-_{QSu*0J~^{!8L2)wudOH1j_w@Ai3Fn!+ zesX&9=SW{L#Ykv&KK8SWxNlU8`%IDLlZ`#IbPDH1zgWXckF|FBX2M6? zOI1++r?9pPJ-SOl8(y39M1BKB2c4mmImwT{##E$obfed(==vl9C>#et&M=s@o*zeVx56%?d>Kl$UTbU&3NAPG9w>hCjM6;dE98T_lH%k5)@ zvlOIJ>XnHud6n4LHo(=l06O`GcUMJLZnTgRw7k{Ni_|kwlA8qF+$5w&?n>1{pr@o)? zmY*5Vjs$|oPIj?@rS18jGqHdF;LB(k(%;b|CqxOz_2Pyy4T-Oih5Z~W zS1O>N5m=WohWr5P&qmjVD z1>OsD3&HZMtEQYLt~~`M4o0Cj@*@}q4MrgZU)4NK^nP4pOiwcpr@P}~ z%ua4w&KVqgkO;m}$@v-{YiVbEceXI}Ge-#e*}BV+Pl8$={^W&l*pVL`ocFe7q+$iG zRwl6vBg`Th=bf3}#sd4E>8XA1av7-4ZP+zsx5l;gdE}rAFyrPBr&Q_3wH+A=ep*R!JHAJ@yg7` zX56%dhc*2)^zL% zN=F>?zbZSpEcScUH0BZ9_+R0*tGW5U5>6Bzvh#KQ6M|XlET85Rj>+2|(jyXH!q>q$ zgrr&c1(~58#Sbz%>7^ZbOlonR6wVC3VmC&kQq zIy=lOLZ=B_o5(fl!dokRWJkPz+x_{e`>EXV$Gux<+DRCL{e1waYReHTJ$z0*OBzOe+<@}g@@9o32vBD6u{&s+_5GQ`egy| zKH(CYd39A)yuOx|udndN+8Q#rgQCYMhU4GWF!{e~<`nV8{HvHeQP@y6@8qf?+iAum`gBvD?Bz*;kUGQ5&Pq8D46 z11T7CH3-5zFAz_?Z*#KHjbnpX&d1i;6;F!p)NWKvJo*MAWMNnfEo$c;j#XA1n|W#& zsJY9Qry-U)S6^|4UC`M}9u+v+Q;rDJo4-{#{c0f<%KVEKyTO0J^xr0ujaUr@wH#wR zyZ6V|t@?US&^2_a-`~a4rY&B*i+k>#28EfH=4Oe<7l~WnlXuUjjsKiTZnaT{<7A0- zuhn?4;I5XlLR1rfH@mvd3Qc9$L_5G|ft2(DCK3q|a%?A}+v_IR8j# zy6e+uMj`&+iiDrOeyIes6GF&COs4>Kv-2P7THcxrgxjf9sN98SsLZ+LxTvl%8|hC7 zDLQ!qKa%pr=SW!0ZQK|U+(e%CbXs2 zEBC;4DpIp);NI;tlTf<2;88$2fAk?59;wx-zA zbAuNG?BF4d`T^fqbwWnsFzbu2;^|H#TV2$3LdSRQ3JW#!bmYBp6vS7~)mKu?%)KIw z5L;?0ad!2s7!RD!d7i&E`8gb%8)XBIG{p4onAkB5nwy^i0Muy)!XW0uYMr9oGzHV>>A|*1` z+t{!m;@`g}rQRv$1Y7g|yb4-nqB>?~VR;G4W=UT#kXL&i8$+gb{}{^aW4au>AGwwE z1%T0TC=?`)yROHWL{+3hE571?wW`y`)`o&$!_c3t6}1X0bH<=AJj*utWY*42-05!O6rr37u^&iVozE9u!HgQf&e74v@%IH@>T$i8hf~B}Qywr9YWJJbyQ5$w> zA$k9TE@J}_aWA*?D*t%RCJwR@_FV+5n{-V;C(wO!QEEY?K1Y{twxebk6#l~wb2xtc zznmETn`B4bW^8ytX_4kaj&#MupzLUz)8njL*xx8p_V=SEb}1xVVxDTYjG5lQeab7pG%~-cqQ-upfT}XTji)3c zoj%`;raJo(iqccp-Q5kx!p+aagPT0Q&yENUx|njT!PK=Ghc$G~2JesSAv*xmx^UzM z&{E$h5WU*;c_l(k2;c!aGHZN%yhlTSJn(Tcze=#ZAf{qG`efMe7o2dOJtHBA5OW%7rkf_`@Z0Ua(&Zflmw~H@y{K? zFqA-Twd`ri*5_RqMvX*D$7MyU>^W~}oPgTcw z0{aSzj)au!_G99esY@nbG`_cpUzPTK#ipa^6?kc)p;FfDsFG6xeAfm?<2yKOhmi&k zbdsSTZdq^4oTu8z-iBx^9Dq0WG^$*x&ekvqj;zYpPd2)hUNMx`EKs&o50rBx?5RZj zR(9Wt$YWmOT;9v?a52<-<6Vx~>fXx<FF%Qshrudsm^7tAFnN7*v~%{J0HN{+rynZPojuTe{4f|O_Fa}{Esc-L^ zNL9eCRc=~rpf|GcLk%F}>R=vwUw5d>X#6)Cf(%wulutG6YgxSCOM`^zUmRb4kg#QKZI&D4(2$U(2tzicz`n8`wIhByq^x|lL5)YZ zcL@^_QkabY-uX340C5A#+d`v6_&s3c7V^Hw)Jn}%8-UQdr5S3`65ybxxPF-WGt&nn zfWboq<~BXw-5gB!?D8x33Sii;qyH~jNKDG_lUE3fM4JOWe@=HvfXhQVA2j_1^*>w;7Kg_7ekB+*;-x)1y44krpU6atES2xGoD3L``p*JmdAB)<{JG=F4;rCTd!;{@u zKf7AH1nU2A4zQ7zUKDPCP*12anyFn2M;4mv1eMIj>!Q*rW1*8Xpc{vp{25yAzHizF zjv)I61h93BwxctswTrgj>*|b|LkoK_>3QqLR|?}qY>OPVwY7JebYlUWD^@1BMYsCD zH{_?HlKbuvR9So)%kIepd>AbAP-V+FmaZ`ewBH}`G;yQ-%2UkCK**l^Q&GAi9A|tC z7wjT#bp3;JlI~WJta&ZRV6k40>B-<7RmW!t-a)5R;PaZy#ig++bD%)mL&nl%9^L4)j(Cd*#DQO`P-eEL6_)teYTT~z5NHJYuRw`ZQS&Xs znAXRS{)O{L-$AQgq4)zxhTrBNUSGRdc2^>K^VDzZUJKEPFI``Aj$Ul%ONL9VH}`vV zkSg?f10G>@O%2|Vsb*;jJ6{JMcB?Boolmp={o6!iXW=B6^wc7a*scLi!3GVw&qaBW zY!mirA{0|pc`@zA4AXYi)i5XKN-e60u!##|qoJ0p+Y+f?Rgq75To6A6>ZLE)xZ3 zd$4eEM6jDAduen(97NYeW}Z#EYP z;2l2aOJoFS_|XFptx%3KpaDY7Z8x71{7u&R?esjjftnb#s zmU__CViFr?zddS`iIg8sgjXRb9-qK+?j#}{8_iJ1@G1oQPPXb_=uY3=hSh_YAelvKpt!d-wI7ze<< zOg#zTp1KJd7S8_3DOmdgnu|Y`5VK(v=S`t3KVtP)9f}?`4iF6Li^w*<>&1?x>0sAz z5&8+$sPCM%4qE2*dIiSV%wwK|=kd!@;XK$(FsB=+lht?usPTzi z32U5C+IZ;+>&(xs-wn$NCps$p83lffnb$HnQ*gM(TQq(g;>0&KqOro?XLyZ6#3SHO zlb73Vf0&-^tB;mHzyldRK=;S~+v8WJFw*_t2@oEixQS?1D@UvPBGJ|xEOF`5W|8{i z{|nUn0(SZP{=1vaX=m$|Pbonr17freEWlKP#e&}tqBRn-Yo6ppcUPm-)TpGYqeg81f; zCDSIGiSZ8L&re`EPQw1Z-Bcp6lr40kUnqf$U<98o349nKP z&8;XeWS&$up741zaabF+)xaDXtjIL3#GLQ4U)jTY?7~zzf1~2F@L~^_R<4eWqb2fRNQ0TDw=2u9j*UfM16gIQ+M|( zg7o(^jxcHjjHp1|II-lzlL~M3(~suq@#FSI$1#L-8VGmLVrvLrxfNG%RU%;o{Jhe- z9bFrnDo+qhb}t>t8ib9Z{;=D4<@_HOfH?rL?dc(`c->MQXnV)bEmw0~oPPFI zo&0j;s7zTjd6u7y*AyN%bY(B}akDECNdn^k>a^-y6fWj2k*I`%{Q9acYEzF*>ZQsr z{^FP+0H-%%Rtq6GT?Cn(y#`&6UE<(eQk=#ZZ=x^D8LYV%aE-Jt3dnxH}dmp;`0N_@X5brE`_ z_S?_#0sed#Fo1BE-Q%G6p?BC|{>VaJNdx$z?Drk354G8_OkCerNz}*g6%28hyB#=E z(EDaF7cjeHRBL{g<|3+kqxne9&onGQDl_z0Lr~-x9l+4oF$;NPkA+pCuD+sPY0>0y z*xc6k_z9qIcnQp&VwlNbp=z}%xdFVKvz(#sIpJV{u33FvhZ&Ndk&zFeUWtQ=ig;$s zouKp31h}*QAEkt>?oaz}-84Lv5l?FUq--zPo`m5g@12LdA_ZI^uphLam+FZ2?0xA1pz&?Ur6}~D9dS%ck^l6D`F5_i? zicb|1bgy*pUz%jMo;4f18)3^Fn^ zD>huGg&(>ex-MQYq`%(@)%FCoq_RbIYN6I?bFY}9rW%(ND4uJ*ONxhzi6$Hg`e{jH zf$*Upi6zevb;qS2J5B+i|Cj5pAgNzw1C1mpA$?VOVEGMBG%Xf7tXbG9Uw^$5 zsXcEK;``-y>ziJKmzKQhOme!}(Ngz(F((0;hWeBF=ku8R=E4M2X=urVzLSS-;{-4|D@_D5~xeePOLNS&`WFR z7MmN!mj^=BsXQ9bU`wRVbls)YeuzUg^g=GnX6(gt79L*GrgDY7b2;#^vC{Iv@%nJn z)WnksEXt*g`Nr_ShllGJ!}0Fvu<-l$?;($mpDQ%pe(&y91~b0?j-@auT%JGsd7W>x zU2OUPdwE~{!Nz&vY=e(4yd^bFdB2)M}rvtqpmumoY`5*KtSItQ~QY>!SSlE@pT! zP4fMJwx6$eA?tM^(@eT=egY&hPbd<&OHl}a;~Cx8nW$Ilw=bGnn8J~ zIz_~jIgXkhUGQcW$>R_e-(t%Eg7hJK!g=9H_VRkF5q7F1`ee5397gy9ked6ew}mtCE43tAa`^VH;dsQzG}sTA%s znZ|_5KxrjD;r!~qqJM-w>FnE9mS|;~Z#wvbEV@z~x1c&2ozvyLNLPg*enh>_%kKYL z{CaWgU;=2tQc6zRdw^?^g>;hl)>2`603c64xsz+91vDdC+U+s5yo)U9GI~j1oSH)H zgraqF+z(FD_e-(!o(qO+3d>e$HLvK7~$<#!mQm zJu)E4rK=9r}eJNtFE0*?Zleu8K+*u@RQ9HpgaUWF|Ml%*=I< zJaQ4uVAB?;Qr!}U)Vm`nL|9W7Qtkw0_?MhF?j4l%oxC@^7&Zw`-w9gKUH>0_{1QdWz?jpm2Pbl9CdJUIS>4 ztM(tNwF-gJTGa>uEg)QnC(o;udb98T|NKB#Yr&pZ9?%EsodCGP78J@#B0SEsawM7U z=Xhi}W)ejhh~g5|ltnDg?SC+f!lwQtezVW1oTd5uPrn9}3w+B_P(X^83M#};=>v~j z6FuZF?Xo*L;LrSXHt>`UjtPV?+ti$NAGe=BK>t~X)Sx$<=V;F!rn`RCstnG>X;?y< zCwTk3HgTS!qUfIAa(6~n*sRf3rKrn%0&T{(%%j?Aj$XJ|u3i3Zjw^tjPcP>680;s1 zdmSynTHwbjhjV*4TOTHlg$LMb$_#BcY_e?a*;K_e;US7a8fkBp5Tz1RZ)kyz<(Oex5Vwmee;2cW(jQ-2At z0`640qU0;YiAzb z0JFGU_;{9Sp_87K5jjs*rmy|MZIGKZ^@A;=6D@w^`7+z_FhRU9F>#5}>F?AV_|eb7 zHiayk@Kc}pHUb@*qEeLbU%uikL0^hO{efC`XG3lHmEV&CJ9$qLUJR=aZQ_}cN}QR6x8K}_U|2-7eWAq7hB#+IoiMom@K zUq&-#`zBo{OhEl-u=EdCDs@aGsD1&v0t7U#ga{dtGkZU+<2r7W4puLGW?U@Ux&EW|-+xM? z9ToU2p9aec?0c5*FBO(DbiR!fvgpnr^em>~P8#F>`Faoa*9?*e3~AA1)4b>kgn$2F zdrL8qM#CJXVX8dV`^D})u8F6XF*FStmsrX1P!s00Ti6Jx1X;MqaYnYny=6#+LLx0G%_qp`_ z-?DXq4o~=I3t1Sh$GlV&rl*)*TpQ>I^VCqqe@THU9@YKF&J&kkg~fF(V<-%4@qbiR z-zy>2Wky&czGk1aOU72j>i7O?KL>FgRaj@;E&qVWy5ZmbvvAs}W3SaCLe46H$=zxh zgVJn&e+Yf}WL>J3lxwUp0iimiQpSta#NyIxx}wzz*x zB%v+KfBe-DQ>_F3@Lm@VhS_-U;#dii=WOs`SJ=9Gi2DPgzwArc`vCEB(0*XZ?1H93 z)9R+BP{`Y17{u7GGueEyd(v8^rWFs`=ab1^Q}&vv(zmx=U6uD6+bFQ4VsTf)YD9qA z0ipoH)s2A36G`{8FVf&5l_yKJLEA;l`SE%`0ft#juUtIu3$vn91f`{I?SNo~{BavI;@DkkVsTm4yh5ZUfX&2Nt=ZlqVo6r?SpL318zFSFM9NR@$ zB7NnyaWsLT{P#@pd;19_?jH)a?W(_)^gzcidN=f9Nmgjving;xyPFb{6ZSIFW04mh zo|6a)FZQxZ^6gf<^D54v4lVm-fgphICS1US)W=~!D%^Yh?xGEZ5&80z!_H+u>;Y&9 z7_>S;0SY%HV04cEO-HUG9VuKuaWSnvxC|6d0PSMWQy-ndXZj|W*!|gde$m>v7_B`b zdaocN%}W`1Rp5HHa-o;wWQb6?H7n~x#>c(Zinxq%Kglz$wOv*>>=U)uM?Q#8&q;e} zm~UYbhz}t^`@$WPCzG7%XRO8DYkRU_wZL!tSddEPSTbV=V9}IRhOB9tU&6o$CE)BzbgN62$Y9y!Sq1A)hW0!) zYm@+u)%weqOn^;Kp6SwOb*1_Ra6c1e>wE^)nQMwseW^bWbYR;H-mxYB?BA17-qxsL zau%^O_@Q67XrXF*YVkaJ)_NuWIlUnCT+;8O5!9t`&B<3EV@M2CFEnJ?9fXCjvr&sM z^#zh44s3?)43p^ey$a+xB3q|HOCJ<9mybU@kGj4b*2a*AWj7%#9-U4lTerA;Q$#Sp zS^+{c`mDGOy*Go=_$qgEMn}9z7|Qk=EGI%0Cv||%0r1_|-aQQsoGy61%?=u47ORHy zqwHd~)lva7BPpfN6xh)to-i`<6ibt7mYdX-_S+QY2(gxbjy38`4xB1?H|th6fCP8# zNjn?r34E75GXxLQ!VlrHpFov!u3+0iJiWMQtfA@-p>cd)f2;77M2nGrU^zu*T7Tp7 z^VDGaCiV478CH3xTnJP_aN?lp&VU+=jDOP?5O*#Y(-mvHO~}oKir{9Z{ub|-9^Wge zXyVSQ{J@96T1q2O&k0?VUMWg2v5f~Y&u&jP9*-asTN*CcPG3w}Ivlvy8+3?6EnR@K zF}%ObONdwNfBW|30P?!)c)}sD+E#bzTtYP_C{)oTv?sA0*k70Zh*XMH$i^Nr0+vZD(vO^AWsrSk&h zVU&;EDuB6VUI&5@Krbc)9Qiy*MWjJmDhcX{k9HcXL6CVJ$uQ;i10$;BTWI6OiutiN zLKyB}kv^X%E(0@mDloQ}CcWKJnC{=)jkB&43&X%`$lv(%c;-{C1#B;p1(1XA-Zehu zd|?RNxUI$;M96U8y5aTy3dJr0$v za~f1jG-%Ey^3Psb7e~uUU_O4WlIJeLKYr^reG@7`+2?rY#$@y7hU{mro8~Cr@Hu8W zp#xzT+8=|LM(Ig{iH3SuZOBgh`3>atAV*)1+Zzrd?s(mNc3-j)yc*s?M=;q=VfNAo z^}A=RM~nMogNCh9a?(#ofks7@g2gRS)&BneO{#@jYOgR;-{AnAN0)Buj6oO@%Xk4G z!{w5@X90~7V+g^UT4qXo;{hmv6YWv-M8bxr?}|p*Jl`gWqS$6>;o2XNWd1*F4{2zTl4T?N5Jm-TQgk7E7lsuI$(6jpWty zyZ3x)q;YYhNJ|pd3@n{$W8MwpU^%b?#20!{FCvCQV8?g)pjmKq(}kV`3ZDwnCh2fK z1>zy->0V%~xh9{PD(-c^L6X_$K!ksfyj{qR#_kis>ZZ~|{4{--yKyn}bdWPn)tt!M zxIT&YOZ2f~CEtiyHy93eFUJ?DH?F-#NbA+J3M#cuw%J>J77`7C?VCy^Ka{cF&pT-} zJHvKzx07>xWunP}<`Sj+5N>NcmaZemQ8`E<36#?*5Vuf+0_@l6)|-(afO?4yGmd&L zvkuaLlZo5aT9=Hi~J}u9`J>_IpP)*z_k?^W|MWx`Y7(Cu47?a z1w7-f?@Cb@yxx9%RteGJUsN|C+=1T8!5zF@Jsh(UoXX3Xz8|uEGcRTIwI5#&VXY0VY4h0o&FR>Q_3&1Y0 zVg+fiec_5asmkq1ZVfcYCi0XQTpUFPXt)=sj=TUi`xbQ8M5D>g9d(d}0hgMSRf2m?JldIrt z26paJwhme%CA9rLy`qyIrU9Lncwr-k_e?P^;v8 ziT^nGx0PRaM>3vcR41L(3)at&1<*k%yl7)&wEX?B!n8c$#_0+*dfy*u;1wrp@zYqQ zZDx2>8xfbV;K&{?LMsDr)o;ij{8*VnO*i@mCu_vip4h3<=yO@JOMQDEw|(2X2lhNp zo)1Fhjdf~8x5;;4JPZ0RDo?@~$19?oRT4wg(@ zVJpl8nOVLD;-rSyckI!zOla2Evaz{22ndT5uEt7Tl3Ww)a3n$=iX-~k9UUDBW;x1M zpVnSx-B}XNH738{hPzS16K*%cx!1nVbjh3PB2c^!R{Ym%M;cQW8HBVHF@5U4YRz5Z zM~)sWDP0HXYG9OF#i1Xngla?AeRVfn0 z1up-KVu^M9V=%B3@KDBWpRgdRNwMePN2SB4o%6oS=VR1nL>n4becz**TKJ&(JJ0?m z&aZau;nUJyq`m)i-RR+es$wyd`?HrxTp?@S--TyL-y!83yZ&%mghw_iXF^0U^LiBG zj-f(qN8WAto3av$S=H6mb>e~xxGfth;qhP0j6m1nW{(+LHnUowV<| zvFUzuqTUPc{Z>_>*FDBzF0sk&ov20f&v!f7*&#_0kLxEPJ>?=6L9`(&X-9+s45OJQ zVOdDWT^ICQIkw+ACIayXG@;6w;#|#O*E7mEXYJ2}Icj35uURHCNy2JTMr>qqvJOdRn#v_qVBl$F6z+y3sB?$pnbqrvtJf27QLzt|bZ0bRn(j#MapgUt z2Eep4S*GX1#y`|`mOfKXuMp5{5P#DpqB7DUzl|ZI%ks{BB{@7jYFWn!XU15fk3JVO zBvJU!iSjGF%96=>hN0S@>an=k>-M`&EECey;}08HR@sCR&Z&)+UTfq0X^44pW{zmD zcLG8H@6_GsuYajxGn4ynhDZk~Wue7TUgofedQDOW$?YcAV?t-&ly~??T05%dfY1k; zVT(t&9~B|AGkjlo6XWyH5PyON%+v4LEV-Qar z#c8+=VVI6m@_=?OPIy?Bx!GED_%DKA83wk~nk3<=#-PB<0x@E1C$|~lBIegOb5UsQ zH5M-*hb8|cp_pfkrG^GldL^Iy`BD{?CN|)99Evt~U6@DeIape2h@WVvkz{4jWXPfB z6~@^uepXwnQPIN&h_bZ5>ED?FkAv7IRC=5FL!ZK}sp4j)Zt`M;&PHKuj9-N+XWMw* zLdLZ%K2=5e9?*o5G>NoKH`!3V@LhJdS!0zLzM}hBp_E>v_ZlzL_%)Z+8QFNZF$8p+^T_Lv@Zx z7;O6{>!NM0tm?A6uC{i1o(H-9GMXZWxLRv*K?>1FRnFw^-WpEv-cwfhF~&-S`xM(y^QXV_rDmtAvZqh^ z=r-e=ckA9%Y2cg8rr+Be7gfgYF_BCQ=E4 z(1C{#UIZY1H%__Ud0O0nNc z<{Q)I-dPOC_QHN0LWwfOf`YWy^trqIhj+EfB=h)hyY^|Z2&v`*cTk7^5TxSosEr>K;k_|nf@0UH)L00Rr;4cF8&#NHGC_4SpG@1+Om(N>FGEGvHQxlnUQzN=Ru4`99ss8!XGW zBX(@E4mP%dUhq5+nNj;Y$=8ocy#x3z-@HUxJUWy%9n*@U|8pKXIs)QS>PqtzA-%7! z-HDmvYiLkV+tLhwdmj)pqSm7RG*WIRl5BME*-^@}%s%XDv(H*-D)0GN=4HEy4#ocZ z*MJ~-Ox}qKJI?O*eQi^2wP>LtVQtcVj)4Wk^Q&SXW)%`u5ahuC3a1@8^iqQv0v<_< zg2jj*DQe4x%lI*9c>IZS!_s<-YZ{~0xJonZJd(Gc7BB?fY2Qw%^*7~GP(X`yGmtHv zr|f5sa8+hvVyc`!SMS)oTE0ib|F5gm{tjP>8i2q%T zRj5O63WD3wSPCrI4EfSm$*B+>;)C0bW>vhEcx-&s+Mu}<6sV>pKP z6nir84dVO_!28a_IgpUTb^Fl z*aD0*O4=%HhzP^5oZsXMx+B|^6IlkHbCFp7w`l=mj$$-rm*1QK-X>Ef)uLLtLv(Vf z`xAbF-cL*pqeCqTl;j(#e)g22TRsm{ZeH$s5A5n8g9vKO`U2c4O2z$1`Fk^L{!>_{ zq*=TdA7T&MpWpX>C)9AI$`q)=Y`p17j;X$EY^x;Pj6^&OLIeXu%#Ia)fExGd#f5s8 zVJX;Sx_Ww92^ECsqzj|HK<*P%m}h}b&i%uKjg1Y`G4cM}M4AqWQdfQA)o5)ijE5RZ@j zV)dynhAGvaTjX$Ib1T{jizv)FO}_xtC(|u-zPGdtn}2%-{X3{eu?IqQ`US|t{=UW9 z>S{i)W8mc`;)YEXDiT|iJN%!kQ)`!s6i5HMq0OT04jS`V!NR1MasCJ@93X6a;t+th zA{ZK2n+nc|uIpr|jb=~Bjq#Tr`%d@XRDy6<+Whf5s>?&a7L4aNL=i5FEEFn<@ohJc zOyd~Ru7@q}?EwO_FcVcE=nP~YZJUUAvXr2MgpsV$f6hp3^#jNbxTg6wg#rQ3EM^lx zaI6T;hD$d=&5TsJ;V&Hfbx&_t+3H4d?9Zs`(O#+3lgpc#AI9hj1m4)`jN1FsHn_~= z-0;&H=xAXlt*Wo&vQNgy(}*8TP4S;7*AWN-&8kfEpyO)i%bJuUS+bWrBt%Eq>w3Fen>k50 zih2(Ajblr&w;#|6|NH&_v({}5u)U}>B=!Fa6lv;Xjt4vWsx2YngnhY;<7b)3nY@R9?MF^uz`vyX!W zW1eUzLLR2@L#dokDhAu01T1+(8D@~QR5UQH3q1=Gyc^2hx*EeSg)9E5j4Y?H1}eW# zjzIGkghuj1Mx)Pq6-}W1{>dVSMX4jN+JlMUA(utYz#BD!UFT|~pLJ0#@^tq|dUrU) zzTM<-24ySUX~gQzn|=|zT=q9r4-Z1x+prTd=0=X`?n zyQTOHf0fwFSW4G9)8){fpOgDQ{Ga5}X);QB<~>o9eI|tSqC(?Y2#n{)=y$IOs@;MC zo1(y-s4U)Vt=-bKy3{cJk+_$$n^gT6ABuX#%)>el<}ssOGcq%M)x?~@$6B!CRhjt> z*aq4lYXR^V&|7d$s|I}?!k3)&jlmdg9i4oi&Uf?G24)$>iU={I=z~j3OS9-{xQN2@ zmo$8__;|?Z$U`BJBVW|eC|zX~5~)JmMh-YnPde$Z=uRLpToeBOh2WJCDFwR-Hr92e z7{=NIxc~lT2_X17b;2E_+l{ehiMX4kTJ}~E${y+m4-MtHog;nyi7%i@05jI&%@KRm zWvl5{A~i|U`&5bdzBJe+$DD*RIoWQ@KjZNcVkN5Q`FAON=WBpU678@jB{c}*cIylP zs4{?nn#3_qXE4uq$;d#5-%xr9i>nXI=7F)p^=FShRTU%X#hfQKHm<*O6D zrP)7}{IlI-IuH`K-hejDO+KYvUxTx^7y}=qeMgBd%dVYMV*01#H}D|l4?c>e92^%Z z$alO;m6>AG90ZEsg51xz$VLO-(;A)S@{N3tMQXjJ@6&26v%L~l|MLP;+u1Ih)`g8k zm(l+CaC=N3WmO(cq&iPyz{zL$N?M2Z_y_oS4GZS`522S}Ywa(?FMcTIaQqjdFmWrD z%(xp~SwpEJG9VvWqEMGfnDqy`A!JZKB(rW-(QWsF>#TE$oyV_kIzKaZO)cyta2`gC7WAk z3~e&GShr)N%ge@$61o%p`(k(I5v(6KPw8A!oPa2^_G7qOu z@#~B*`Qt}tw|W`WJg*(gW1c_GqKYZYB%)r*K(y4F9Jnv^Vn|K2e$YvSRcX34_IC`@r@bbWd~OcB*W6x(W3^z$I$Dz=)o zgrvfX;tlA4r0)ukrHUg4;fnl2 zKz<=|o7r5?T}xS5=yvjA@ukEd-Pb`t0TKwq%{XY&&B#5}U zPI!1q6!JobfNki=vZpNhk>7H z*FvzFF_Y$D*%soR-JzME2u?kgZhNrG4KjsyzniKMu2B24G#X=YAvXP2Ew?-+B7-{4 zI{r%mQGVP=Q9Y3jd`b3=eS#cRrJB~x+LCrCQbe}hb8P0DmXIL;cl(bvRbP?l?Yw*O z!J8Ccf(d9P*;r7E591}(r^^ax&6eoPu%AbuEyBT{nnj8>n8!{*XHWJJ^y$#YlDq@< ze*|NR%4MNAIk6vLV}idf|AS--C|eEEB$yqAE@+n$sn$NfihVGIH}N%(vm-sn24%Ao zazt@a_!U-J8bYKIHk5~ZDV`R}ah}ODh%L2*h-D?F;izH%j$^%)B#3dd7I(k|B`l`n zxajQD*QGE(?p`$^m6PdRgu|blHvn$Z+S}Wk_^+6>HGuz10@CBtUjgC%i;D|7WFW@v z@9ccqFZ<8l*Hhs0!KlBYY~H&l<4JV{t_P)W?)fU~Q9_pGHlJ=-eQ2ERN-K|$7LT=D zLs-d)ZRUDYnId^aGTkBK!V%TVSRbQ|@9$WciBxKBTvPpK5+wPGX1}OSOxnC3+kW;s zy(yV{_*Db0!nsmj`(0q7GOpxv&oB+`aH}ZpBhwNZfqWBETOfncu93_!@BRu@v5Sk> z8llTY(TsfUli;BjV|!1Iem_+2Ozu4dgJ9(uekKxo(un-04znV{q@ybG!NL9*65Y-P zESlV07zq-evB!4mt~-D2DrQZOCK9I)cZ&M6{?BYr1-q0*9VdZaw%-&?K6ykl1N)i| z={K#c@C6Bx$D0mu5Lz5RxyE=9XtEQ3{uP)woaDRiWJmlemhD%KX?1FtjWA-A#HF95 z{6V*IGBu0~akBY79zeK;1CZnBW zpW**PzI4Q1*M=*lXJBwY@%6^j-S#al9w9F4tH|sM_{P9=dsrB=b<~Z}pRZwW2gEEJ z`F;?E2_;}7&XAU)lvt6@G7v!7p78y){w#q<$e z=N|V5q6p;8YujT7r`@xG)J$YFiWdeVw?^HE&s5NJ49HezOLMb4&{uUcz!@RJ;{g?; zwzigAT>Mc~_MhkRjr-qb-G`s)n-q91MA`a2GH;7Npv}{ML~A^GkGRCT{OrQM&}iys zgr4Xnq#6kY^V>c`lg3&J08$zrpaeW_$H-feekB;Wg8>2 zOq-7|JYatg?4&-I8|tJLkwxSKOR~izdij9b$OjDClcAmB?x==t5>}p8E4ARp7j)1@ z`hLZrL4ni+Lsn|7sLU1#!%0`ej31MgIXcb9W%L;x;n#~+%<*_;0k0nu?css8S=jMN z;0r(kaC$~V`6Xl+(cGv_8BGGu-#pfFvU5F2m(TsYz#={)$3h?gutf={yhlreU&W&F2qUVg}#M zA2)-tbQ6zsucjMf0l%1pTwORf!WyGr{g(X<{U}rZ z=983zsc;*PrT(<-$CO5~sv_-VHzh{=AqM*oBr5Z`$yLUveD>%1uZC#utz1?F>J$(R-HvOn-3q7bd1&+BiBUn0LK~b(+TRfrH`#M472s%O}%| zd=p7Y3w}PAJKI1>Nm=_WFXE?1k65tLd1Y@oY{X~}H7D6F|)VZb{>a{>zTv zWH7C(*Cc!@U`#09s)G$ppvI=Oy?m$N=>uHf9-4}+TRq1~nJI<`Q*HGgm{rS61|UO0 zJyf_Ofp#b<9CR|&7Ifse38mS}1TlSI?T{88J0zKl+!$2n6eO3PCtS#U$*t&Nx%wj5 zYk8J%rGu&zJdMWzZ&HCgG6&UJe+E4a#L2uajWCawN&Nmyo3k#virUhbi8mk-vd3-6=mD)^825QG#;p47p5b z=vBw9ye3b^Vn2P|$zb*?MTkskYnYrtuSl<;#d(zI;~X>fue|Z$hPL5L3i`nlj7Q&a zp}LOxABayYy=Jkq5qj#hI_+r~iz`-9nRY|aCD~A1z&=dmIMqT&w`P8Za(HU>yxP-W zZKkoWiK_K(hzXMap+7X%0q24?R#h5yNz)Pa#nUSfrou>*zB-N$VEs_1^F6UgwYe z_i+j>`!NC{y>GDBn(g46OT}r?Pia(A*%)b<7q_w~yb|`}Ue3OH<3u~&1HX{9psmCP zyQMsGyI-Dw~Yr zOCQlr^)jpK0~^PV(+H+ZKVUzD4&^vsA{)(E&r>_5g>`~CD*6S*r~TCG10V3cKp}rQ zUQQt%a0lq0$C~Yj_Dk=0i+Nvn(aza_;Zj{h8WbfhRd%jGz$H;=wy+*hjOyOEm7Zbh z`$D~$PNDX`uf>FttMmU#Y#}$1nk3kzo#aua<0DdX92G{B7qPOY4f!mxZW;WReQj*!1&Va)A z2mCGgx8&G%;Lqhk8!Tad@QzKN!N?GF3w8cLsumJ?2+cq<$gKIIB%=w=XuY+v~4fH z9zOoCXe0G#FHsoAV0!X8Bp$VqSg{teHj+dy9smR!bDSyUEo1ip%fXXEeuh6zD869s zz`dR$=7)YbUo63CmR8U%`6p|#t>|B1d+=k`RSo=}k%2*{yS4QmbId_&u0G-Vz9fw@ z+rBrtG@a~&rO${3+5lY2skcSuouee71m`15;_2Uhp7v=+G=WhJsDFa#px z9d5vS|J@4PgMh69y~qT%Sxcxz`(L^T0p8-WgNabx-2?R3uU`RFLHRp_`{zEonv2gM zpR3riOrQgs)zgS@aJYOrb9UOQe;s<98`hK{aX&Tek4cdjZ)4ruZ7~nup&IjMmc};x zV^ZtA`shaNljy7iLF|{xM=n00OR9Zk7=9HteQTs%r9>|u)vwfQ!*%O-dXilCOhYVw zs05z{sh4d{=Z?!B{@_^R|31(7sR+?S9*_x`v?PSker-r;=J`Iv9+hn>Z}SN??wF_k zn_|bk6dSU9ztaBQ4ZCb!<+_+PA~uqy1(I%Aszf@v=7CW!ipr<=cwbS|nO32i5@Mkf z2ZSV+Nf1aOSSmAa^X^41J<2oYU?uS62eq@aV+UKuG7FAv2g{(sC+E01oA3N8L!_9~ zyl(9V1~dGWL8l}12^~PxQAE=`*U0aBPNGyj6h1o6NS?@k1P|+>x_X3O8nY=XvRs{F zu)gMg`3N%)`EArXHaogupnL%BCR!q+{%^wy9dQZMiQw+5RcnUQ zKz6Zp$_RxpA+fD%@Le_yyR*lvsnFdYT^-NT z-g4#`Q9h>WGi=yH`9T~B=wN{@pr_bO*<3?C8&+KT4*Fk)`ug zUypk2^is@Vt{7woB@7lS73{oZQj z$Bwr7UGrwPVpx(A^|w3&DG0=>`_O03Fm9kNpF};wf2f>v-~I259fG_zY&fcygR~M* zFjj8TgX6HP9}r#WLN*~v>b)mELl~s+<4=zH`!Clu_#3(z*%NI6Sx#|GMwB|Ax%ACh zuE_KeP830IvC$>Tdh>J?L7)-@4O$zuTZN!N&guUf{e6mc-kj^S?XMZ3xA=K{>|^Tm zhvF+jejp!fB|fyq1odU@LycJLV}?!{dy)mxw(l@foZs|(ekKQGRSo_cbmvqUr2ylx z4V+c?c>_yO0=C8Xp0pcui`0P-Y#h*6=6i*(7i<258;z}1U4s`i<9vJM;1@DFR-yB2 zK)*{ffkNmkiSD-B^Zre>y(4N}3PhqWp;0{`2X{L~?+ zK9$_C^wWY=bwRB$T2^Mrz;pSWhmLn0wG+I=O~DKk(j??UYn>HK2HS`Lwb9fJwOMD1 zAI=o^4i4`$3__*Q%Q~bZ0|t#yu&y*(jqxyX&ASoT>{A)vZvVc-Er-{q zx>5WT{cJ6*L8{qS^lzoaL+V?gh<6Lu?N|bVe9S6pE7qhjbs$O4E;xMuF>vt`g>2u7 z=7QP5Op77$SYo+Jm+p^=k3{KTXUR0XB{>d?7>C}H{oGgPSg=uQd&XejE4dtYU&Mz8 zP3b+7{2uOT5L(6WSMWU&MK9S9Ekp0S{+WU zm=B@Ql5xT0xXS-znCMIQZ2Ymu`!g4p2;n!qO&6T!**UaDac(~8;*WEZn>8FWJyKP* z;a?HPPOvncxPrKTH{BbgwDrh5EkYvf;efA|i^wuNkK=_@Zxxjs>BK**zEF9Zvc?p8 zfrT~wYUI(9Ad_Q3xRFQkRFBbCpHb33(OSlIUMmjGTL?9j5#BYsP5s}8Z-7=R)cn}Z zTdEBKyX(MxV0|Ql(*y7i5m3S>JUx{y(1V!B7A6@m`w_BY8A<=H`q%t?nPE)>NLLC= zsV1a8fZO0^Ft1mYhS1}+7L2+Q@bAx5x6vOG$jJtKjh8is8uBj5c&E5Z@4?UNbr>7f89$2G9k+mjwCm3Ag$Bz<)(#?A zc>bKjW}J#RnG-iHhN}?|cdp}L$gfuAA3bIUW_?2P20Abr zGo|7Ftg}{k<%CDQydu80Yt)ddzb#s1@!3~k;co@M;6l9O4MH7Sevo`0L4ExvDctJJ z*`k(lNL8Hittct?^CXU=3eBRVZ+OdLbjK@U3t{gLwPXg*m}`}b?bJ-`AdqRnw?r{t z*?tXek4M?6yojw!!4Wy>84kxK4w4v*9{%4ORgl(HYtJ|y(dRd*?0?+aS;*5YMDLzlHdK}`3F%=2}ZaU5`-e@Lb)Qrfyx z=v01}V#gtLu3VD=7ZoJWRm#IU>a7>?{0Kohk%n|x!!K&!P5y4Pa&o|Ztpa>`;vf>p z9feZ4c2PdoTiJw{l#0wm3NP}k>0eq1ek5i((-|md#8&dTT~L%yIiG7fLvFX66r52_ zW=r!#e|2i5K6v(_S1qnFqx93++#0E@jf(m^G zx9b$X7j^fb1TnCn>m_r0DbyU#W0ns`Ca`4sI?43GBJQ*-ymsQzFnis4HZ?fOz`)g^z2Q3cP?KXtRmY>4Zu+|b^7J4VQB zCpvtD5MQ>mM7Z@;Cjp(4qR8b&Ov~|6JEqZ(K2l+CU{oCl0Cblc^EF1Rt_E6v+Biwg z5FtLDRFIzf4yY^;`SSw|2r%>W0@gaTVYmB{<@8bSK==$AiJbBzz*Y$cU49qc(hiYt6tjU}xI!LY1_iAhL%7MGH57k?Q^UotRt)@xz69ujjfFbsr|SO6^2tR-fpu=Epad_yEBfu4=;^ zRMtKn zSSo}!8Y&3)yhSR|Q=2x}JCj_`xwtcrPv|i*mxo7Gr-NFbm(Mi+ixk|C1 z)q-;y3$W#D zSf>ru_rtL%`9(u5$OUz|!N)$W%*OA+=Te~8HbPX3R#;Q~iY5LAZ+##cOX53~2%Uvm z`SvMdYGzT_WE)heRl=v%_YpdJCOiPav@SDUx7 zR+M6;-Ee?Wl+@W$T0wPoDYDMkYpcF~YN1tuUeFiQZk5QYY|4%R3j&Du?Q_J33i&2; z8gHlJvD0_FGQAD7h7asi?+T}PzOaU|deLue`+q3*))Zxar^FTik0<7I5Z$=X@VR^? zLz*guG#Qp8SC4 z_m(R-eWb$U?&>t~>Q6yJ085-X_&&p0B;}(D!GF5kK!|(gJ!tM<2v|R%(Uo1m{Im1G zpZQ(ZmG=8p`scLBUDr#PYG&k8^WxsLnBT`?yVy2f)xAAUBXxW5y~xgJ-Olf`SR=Kp z(|2(hw`>mMpOENgCW^Eh(H)Nb#>*^211zGRXf#>*UxDM8)xM~Yukp$Ui zcYkMu;+%dJ(sd5&EtcgIhD3#R+!w!`@ptA&C;sMiB->;~!0ObyYZz1moJ&p76Zl!T zloaR>Yvhv0NO-Q;h^4$HH7xpf zqVVhdi7&`wC$ZW1>OwQI#;FjKoaDcfpM(-+ZL9?=lAX0!!<1i<(gkokV5!IIeySJ* zI1;wBH|XCpoaNvr=tLxICj@F}WO>I)?A@BAnX);)AzL1AV%N9l4W--HK2fqoj%b6s z!7d4>z8A~8daysn>gRSFcILnSnF`;ZJ#cRVQc|GUKACOEY}9{{sqj+^B%wvl@!CL7 z?#_MGtJkd}Zb7zSdq#(0`j20Q@0AK4wcklEDiE!@eIa8`bXz6WC`{S$Z;U-Bq>^*U z#DqccGPqLxtMIaanz~L?kTn% zgq#}*D=x;)VzUt+M5?%BjPG9s^?43w^N*cv=89-i|4{jC#$AkGBGP+Q_qub&R7GWK39`2_5s{V4u=i-`V&51LenLe@?|77%27Npd{U$IyQ z*LU0hZ;c_IR*B_)FIL4LE!AuhjKbdn4Cor=JTXa)BfWb}B%Rw^byM#s_@2Hv_XUC< z&!GfcuMI!B0VFrmJYft%$2Rz&AWyt&@~i^AAMedi6|^Ej+X&|ReHtDwSbwt2wAYos zijWqq(y0f&980!LRBg1n0r_Grx6_LoHckE?p~-9^cp*WafvhcM0645|)lCfz1%sih2$P5WdKTJL z12FbipADFBmlqbM^ylZcRzd)FOA0O2)d9*z1e9A-A}cS!&|%dbI1L59lS%#BogN)G zUb8v&&DMCJLr{Tfla^I^91^I^#*S){SC}P%U13|bTFOQVTwCmTxZ9MkQg3`rP#Z`j8)D@_oB zc+RBj?-uwAXiC!bO}zGs(!sQ2vg3oK@o)n5+YEJzj#UKTPHOclaHU z-DOZBbVY&u*b&R|Ur!bYJ~gA;j+PY4$74Wb6iW6OQvJdG?wn1B%3JZ9=h@xgH%jzT zibfcU8bmkRI z{I}%lWFWAKqfP;|_s?di@77SoKafVq%B01PgL!lWv|)DbGJv!HOU5hze;QTL^t`)! z4^PkYr!Z*?&2K>g8A1Fc80QWLEcq<)z#~W1pC7#8TSX=j*|@-D;+yuzLF@?~=nvsZ z(7vuqQt!kM2=b{_@IpRk`%F{*noTa2kUov4jEHr6Z$={NLUDkzEQ?yyQsk(2W}I10 z*!erlc!N8JLL87t>4e4G!(C5YgqKd<%`Pt+2*zu;37mx2_!G=u>OGWjANaJ`$MWl< zh00kJyOo||vBH1jCZ;Wje%5DOnC(|Au_ImoR)|RWZ<<+H`7mKxl}5^i4zx7$`OQC1 z#cyv?OVoOsyL*L{FeHpS8x~jCCt3ZjtAV@YU>P6*m!Ge>%Q;m z?Fus(u8Zma)Y^|J$-O7$baaTwtU_(w6&de|^ls-I>G4c#mS9}spQWzrlFH_@ZPzMJ zE;;cJGiG(p?Cnsk=4D_M_Wf$;#gX+#mf3IR)iiJO_{G;PYjwR%4oaOKX~%BgQdcGf zgZa7^ZNKCh);vsOz}jn^e*S??J5G+C&*?x;TIch{*r?g)g3iqV#?%yfU?#<Y0NiU41;Iu*bhAKZdya$^q&d1xit#04hv9?dYh;Y}BsO8kX!6F@OGmz2`vbfZ-e zHE^OndB~i7QrzyEcK0U^1bJXv;R~k}q}KlS9*Ci|_(J7A4XRwl?HcuMvjY%9bjw1r zL*GyBG6$)F5!u3k+VzJ0Ar1X#X91Hx)KCR9KO{0i>`*bf6~o_^i+hO+CHfj^2|r*g z1m@_+#se@kgrhd9sZ9!fG_>CL-#C^$FPDo(E^-le7r)tdUxQP3a~WBRnpe_>MP>#r zV%60L)k`dG@WZpYIapU+9qm@cl*FIcP=WYo+^&>6GP;W>H2cq&e*ex(O(g>EM)-Ux zd}tp4V)YPAo3dPA9^n&8kv^Fv;{c}k-`%@Atsi zswL5$_cj{WGt&4a%Le-t#V??tV=%$!$_!Bs2WQ#4gGWrMXd%(9=X6JsvYq&9)kSQY z(^b3ataj}FW|sLZM*%O)TyR!A4p=KYz1_h<3(g!7MS}qTeG*xXSfsHIqC?!jm)nyk-U)_+Fa`5GzN9HBM0UKrm~S4k6h$2;kAZ^ z3CK*L>{3i5af4^K*?(NsL~lG3FFxOyhs%8Do0SxoG4_KY9S#~fJIxEYWceyS7aAVj z96l|co68UAwk}w9c)Z>ff4qL&1KCOo@(&D#YILhEKnk+eNo(ltKDNo&c@y71_q)<; zI6jJO>J1Rq)6}Xlj2qAedp^(&fL&%I7-{LH6@fD;J;T4uuTo%GGfy3Gwa(0*I%X#8 z-z{>r<2t!HH*a*gQ4L8XE*3YzXpL4SM(J>7!z}V4YI$z4MwF0@hk#tCg;%7=Xj;Be z{fRm1c?i+3q|Y4T3XEu)QufKnDlbV8oTKqYk+*oHNQDwAQ80+A)+3hbah75RuQ#aY zfGlb$R4G-+T>UqK6R>(VXXEonCk8~cdwGb`-X%4&;O_6070$L7kf6!H^A}c4<{qb0 zAyz;aPOHiIBRFoT`n~?rW4#7O zQyckh=f!idEJ4lqLVumLtnPrl>7v~KIsXniG{cd8@?rHmgH*~fZv9Oc{T0wHMJGcx zs+qTxu|?Zr)C9%^457b)OS0meQkw(V9fDOiQy4ecd4rUH_vK}O+#Kk(1!DpCZVYdPYnfbKeru=+ zRH8QxEZ6&on(c91e%p>~7)Mplk^5xnx02XR1Ih^>Dd?WzBQB|q)1XI^2(ymHoDA{e zMsp3=6XU({fqmC`uTdnf-3p)#!F{{$bZL z$9pH)Is=%AJ5Nx~yVE=CfT+mg*`X5k`E-1A6fGiy*>XLiNnD2bjNr-Y7bvomZ)Vw^ z`-rLm_0^1G>o;b~$8K+)K{iz!eP;G!n?>OA?pxdQm3#ZFA4$Rx_I9Hdx4LnbFm#p;q82(2QWS8N#y5+#cXZ@a znfVN@0OR5zA)Jv^eb%eBP@Jy+n&1w%-YPR=r*0IG389Cb164CiPcCQ)DN0?udao&v z*%xN)Fk7PTcd2AF2o2a4tCpORF5bc<`! zCs^AOo9468jI;{1>j;0vv`b0^$*z22Lk>-2NOr3f62a5@2BC?wL)d24_eLYa zWrRWSZD5^-%&)vUXZ8}Im4dsAcXuKO9_?>-_03}U;y3@q^4wp*9gVsG%SaqF^x}fq zj($#PkONimP{P= zAZejxEb=l{8=|}#E;P&*Yzjj?@*jT+AV3xPNEd6W>{SRn(zf%IywTIp*D!)!J^{)-bs*N3n4YfOsd;=8``Cwki|lgy&1n_3?puapttLR6eo8CJoqR6iRKQaB3T ztQ*woV%)41>{cDXw9|PA{2WsHgKi*K`MU`fHytXyepXjSD)&G zcQx~_Gm*dg`Vc)0(giYAXqP{Fj}Ry3It|_k{6Y|5F|iSsLcwB!O=E)zxWWuS*g6a| z)Fnp~?dtPkNxM?WlSqNv^%v0f{<)+U_4!v4X%&#Q>N)MTqc>@?c`hIkdwt~jY-BEY zx@z*yMTmI&3ZpW(J7eAx+s8G-=@KRNq}067(YW1+wZNn>B(`c%e#hZQDZ;t?A z0&gJL1ofL>rIYG3#L^<(%{<}^(_(Ma~yAr;Z4Z@T8 z!2huSHk+}&P^*nD`h~6c16miB{8BVE>w1e-Wl$+*7^9{*K=bAqY!I2gWJ=a z^~lixq0D^rOU20rODv0y*uoqCab5>;f1lFTdMqc3-G%XVuE*ot$GhFfS?4UO-6dK& zEf`qgxV9qhiFE|rw}I6L0T@2)CR-r{G3W*D$|2tnaQ4s}oZT1BO3XD4juIxSltLtu z*&vAnPh!<}CMLlME|a3R>C`qe}m|w(!g}0 zT-JtK6d~@jQl$4%-{myVJ<{0>b>%KX}48d8a4F>p_1(wc<>J7PDIZ)U#bMId5lNl4<|&MJ&1vX^eEDA%sHv{_cjOfnq|@^zhO8CCB} zs4Pk52shoP(>W8d-Yi-i6uO)^Z)ktJ!N}L)+uC5RoYvFY;JJ1+G{Oan?A)ejWD%x*c%zJ9I9e@DiB0#zx z2VOMf-ao#{o(KTh(%rz5)XV|=AhfFwYb>8*+s*pVqy1%Jy@gJi)$2^UcP$XrbwrVA z5XD{yk%?UBsbSl}N;wQb_!bSqkc24WnH#8r7$levMs&a_Pk{{vX#Ido4AvNg>_em= ztAaie)Sw6xt2B!rqW^wM2bLJtJl2Bi1lG)B{rcj?>#mD)N8}0=$(1V-3sn$a!yC;M>=iUo~A><%0=zDMDikB=kxu_qEXwv*>W{rQyJ>IknYEpX2h46lpK7@ zQ~!D>=yHT-;XtywFR$i$vu?}Vrcw!aXdTtN$jwfv@#)9?r$i2g?1xM z&|u5z=<`cUSzh<&^I*_~0vU)R!A<5O8jhzt5QZ>1tJ5kH;xej3e%gHd17H_Genl0R ztxO&C*gzRzyq@J7t@;IjP@e9u)HmQ0ffDbjp(1uE$t>P$+WxU;eb|EcC!3w6?N?+WJ!4M;3+^C-qviS&et%E zLfM@A)Yvp-g6Xy?`hFrDV+@in!v1tdWFNjrAiB+AvyMsR4!chs;)^l&Hk7J~|DIBm z%#mNoO^BDgO)2gRC*#N!`EtqpQrN2*e%}YyLd;M0WU9x1|LPx~`&8qGjBA6(xW-!v zWy^A%XkV^QEF9;?nsR6kx6b%FXM;Y&A8w)ZRktddU8_1zy$lVKxP>Vp(Zj%iHy*<9 z4j<6XK$&8JST)1l?yj7HkS$n>&mMXJy&&~wc#%>OD8&g3UwBngK+G;XpbjV{v(bjh z$$aO=vNtiw_jtU&>~;jebw{1Fa~i^_b8fTEvjeY-)?LwWU+#h~2wk@A%a0EE(1M*( z+=GqTDd@;aJzr(n0_p*77Y?it>zr*`u4CEmoK3QtFje_wZj+Du?ViQbeK8!s4Ag5m zFab5MJh*-4@|^3jRH}Y<&6C#Y z!!~i2j*j9r3JzBo?x9Efy(K_k=3Z@(bYJPryZg$3T^;2+8SuC>i$}w8_0f94lLj8L z==DU*1`uPNG%%`&xY04x!mkTR98e56a(jae0pd46qns`m#!JKuJM_r>QmiO55E<#- zZXhS4jFu0OVxSFx+y|pld7XfOrmlvv9W#D?VY4t>ly1}u{+tpWsxHV zaI}f3#1PM{#cN#*TIo`Wqo=PAxMQ-OX1b(fqG%NAA&lz;RmX@YZF@9U2jVF~-WIF1K@2-Kk(x0w2tUgMP+Xak)$?r{-M2J7tyCic= z2&Jj!^kg@un?(pYI8D^N&itVYWF`F0Dva*;+YZ`-GZ=|praFPcnt#x?mgQfQw$$<%4sOJfqZCh2y1*t&=wefhG#jGBzPC#Ahqh zR-B8D1hAgP%*iaF{|-TKO>G)WIbl)YPXiITz5DNX%iS~c*B2Zvj2byt^ehZo5HB@m z2CbmT?e?=8L59{hiMHG=3UbEnfg(SDs6)&DxyaIHrun!Z@E!%Y3faXJTMN33n5ljo zP&<-bOC;bx&$aRw2x3O4jB7aLMQQhJ6ZJbPD@m0kgVoW=NWGLN9v#!Hqhp9kMDtQj z<|uOT8U)Nv8b3-pD$Gcf&RcAi40E1teMTJ!4Po-&GWU49)(?6;`2+Wk?TH2fH#@{# zzY_RiK>mVVz{8xD(S3zwuKxv!V&j(h&}UpJr(tIx54q$_k#C)mIPlgV2Sk+?B60E7-x+5N1!C2$F+@m>opS(!XXmww zfJy-A#Py3qkK6wMPVEuEB0B%gPl`X@*(O_AXD~6WyBKIWO|%wUOU>|4?YYr_h@yu` z%rqMJ?6q-%?r2LFxT(;bwvW5cGU@DpM$68 z-7FAKLV=TZ0FdT4YpOwGXbYZK4bGyW03G7<$6>DCO*ZT#d*bOK9cp#omZ~%Xp{odt zpm-w{=5xgf|8Q@NGF1H-BlCDa0!9nSEDH`UZ;AED-Su`XPt#_lcgmZSK^5Xv@p^yk z=5FMaFvpb#$YWs4uw(PDUvXY-VzEV-F;0`+w!dIi=nl!m{o1U)&DBx#qgq2a{Syh+ z_H>M!;=KtK^**di%Jm)QdW6q<<5DniDza$k+n1qNJYo=g(L3(fW`fcp)js{|T1EcRs2M8-ig|a;FuIBvvq=f>q#l9*?=a8NtyPD4>#>t*2?#W? zzLFwk``be}I_}?_{Q)VY#aCH$zrlg4l`kdJDf+WxPqH52MKCgdGhq2-YlYCEmS%;J z^Lo<~zp;`*fb@PrO`h2}BpVK62iAOoh}dQUZGKtJ&}i}9z5Rrpc_ZN0u^!!Fa?uai zDp}MmwF5l=YR|T{{lCBukTl+%EL0=$kgCkQYg+lnYw^P-*8r~T&!2!olj=!8fMYzp z2nrxqMN6?1`F^S`c@z5q!tJ+0HEYq_4SvuU^CxggK1 zP-5To^mp&cRdV8CG33>*{{rS&6Xa0_bbvWM0X!#;z_o1Nf#Bn5YEC#yNX>LSK0JK? z=Q}L9Ip%5#o&KnJl7>pIW>kVGJ`2&5XBtaubH(TIOVXV;P-+gRex9n4j|LhIM(IiT zJ<)Tx>>et;Ep@h7fzs1&L(pjMzhJY`^obt?m?HlMgJ{dR2ll_(#eOaO>(H4ouuKJS zxFYiSERgeMr}gh{ID%y;*FHVr7jzS(uW4#k1!veMF*Zgm*No!!yQq@1CC1r_6yAl{ z4DW`MJr*ct`G`$~yi_Zkr02e~tL`nOSD9S>%jpn^OQ9P*dFd2z^L_DexG>gP(^(Un z8}(3|M5i`G{sxT!W$ekDVIjqDB12&@j`7{wo0f+6-GpFZIm1CQ@TBH3f)|9-S{mL3U-YpSW$`+?WKi-%}3zZ}0S z6M)+n@Hm=HmeF}WQ9cAU0)HPVDisrbP*e(hiuvbQd&S+$_^Nf68#w8M+53sz!OY_2)gbu zd%at!x--hFm@Rfq(yt_`SkbrT?u(8Yd$WE#n%;9hRSZ@5iu|DNjar#Pg()wpf;&~{tHkie%eV~WtXrZ;TnL}0C zoOm7Sk`MIv!f6Fi9JS*ec=HznWD9`jDs}5V)h#=!21!>(d?DhGhmP`>rkB4v(B8=u z^R;N3QAM?a?zI?mn~NZniAxhk;4N<+2TuVkG;?Y+R9L-QEJ_+Gar1;Bjypo+o+LO` zztigmQT*TXiRBJPCGYF<%7?8wj$a|(RmKs`oXD(`p48?_zOE3k(RLG!MToBpJq7=9 zDoUVJ&8LWK+jr8T`#n+Zb)QBQny-uumwojNmhz+o8vzqe;W*sr!%|*fgFDt1M|`cH z8iP+WjEZw41%Ui?XN$dD8Dw*zt+Jg1Fr(<X-U@b|)VW#IJm<3IFcjXOUKTQ$lr zp7TK+hncpxHI}IKiIT$%k_Wu;;prJ1=B79dUE{|Hv_kV$=R(0Yl7wUJA|28x28n5| z1~>$}S(;^^am1vkJM?**z99q?S5Q|y>o}q52jwz|8Un+5pQ}B+OBYXqWM&LaEXt~F zEsoBwa}A!v)#YI&1}Y}RB_*wj4iWkn!N4(NL&k2FW;SX8?ervbT#Sf|rEj!*I{hBS z{hH91L^-$~{OfYYlosgw>+erCtqJo8@fSE_Cg>Ch#E)5_LGc;!XXGGTHdxv*hw zX9Nf0SIs(q*_SOE_q3M6{Nqw6(8WGE=N0j>qMZd*Z~oXsI`m%HuScm~w!@;VU}CaB z#pB^6J13+6iDzf0gS3fhBK|hILwj8>s1UFxkU+fDYb_N~g{Oi?Cz{Mw?80IEw-=6D z$|~uWtB}*ztc9t%5sN|cq_1%Kz1r1Hf;Djr90Vs#*r6HG?uG?+gMbPIqSHSs`_+IM zayA$wqlf7%7^KP>#0(dlRxAEnP+5mA8b{z?g7&~WW z!-e&+9qoq8dOjpyBM&j8-`dm$p-jP?B8jLQJ6nP$KmD~9EddtkHyb*q6L4L}vAy+7 z8j@=xJsW(TJ)abvOx`4&S-MdtHWwYj!iVDwuBx|;mi*>`cRZVLEs~0Mq;MwWs~3ol zaePDMttgx=SUa4!cz$QnLJ)m)*-bz$5s=$90#V0?f3ctUDvS#^Uz|z4c#Q8s26iqE z^4J2q8~Cm*l2s_^)AKWVHZXHkiDnF(91`<^W`DlwJ5 zRT_N&Tt4*!j$>rsKh-WE-t(C$ykdZU85i}8jm4y&*rV4ANVNoLG)F!Qm_}ILtBKdkDdQjQcaY2yk5rKe@?nGGCFYW-^Mp>}9I8 zj<+3~+D&b9UE)TbtsN#L4%Retifhqu4&48IIOYK&YvaQEdoi;w=8JHb6d-Y(dQ8iY zr(gfp%Bkj?lrQNiWhaIfYEQXU2?_~4=`#vAJ>*S(J1@nYSBP1DH(G*M@A;h_1uE&M zs=M8n3Wi3y;lt!76j1-`hoz*qnKIj`Ix3eXltpCld}4x)%Z}|{PuwP- zb}#_tv3yPX9ALzGb^W1w$Gy5UJgdVv@k3!x2q?H*GQ2p_TgT5Xy{9-W)Rk+}P-2t$ zsZFgX8G#+XYBsVH;30n!Z@i3=YJe!-YKcQ^E{Rn3X@Sb9%F{?`&?>NZtcY zZ%rI=5EO%y@BhXooqA(+m2#qA+_gdo%y48iZXKDpN*5<4 zFoE_fqMe2ikkDM1`cbTii0mS5NhV;yczuX3f14E?lR7ZNL(7b*7U@PtznIV{u^z~z z=&Ri)H_AHFxY#8pOORkddvxe~*&Vug^!lfl7~mAMauJNK1m_{q3ME8)vtEd1US5bm z3^WvTu+2HyS|;thoF}Sn=zw7Q{wqW0bC-;O7i#Ww$Igvt@df64MC$4&U<@2~qa*C? zuFa^AN}=UoUp*(W9c$*pj_o4jQKbvIM)xkiv^tZ8!UqR)b4;q|t~$#-Ho&)u%BFsw zKS&Mq_;7uZXij|p2YZt#Dg~~cs7nv-5j%(jsU}ln&-9D=W2)a7Q3;48k16UCf`#<7 zk?TZlYb$dV?clqIh54&(7UvN-s>|S{$#QrMUPNgl>bku5DS2ltcXmklFy4zt8l|Q^ zOw2M>jiK*nyV5ChktYprM(d5D1fpv}%`g-I2`3e2wsCB2SH8O$aV!UXuzQ5{ENc(l*FJ zXjN$*8uXhZD5c&=db4Tq z)1&W76sl}hcRW5@E3sP*!)PUBD+{>;(WUT8Qx%@(tnGNqxisuPRZ(AXHe ziDe{6_#g@}b3Bv}%6GA*w43k?VX4I`k_4h1S+q|BjB>j|_!y@O-75I69yjmMnU`Ns z`3z(1cE^Qpg-3^!L(qD;nv~>RHIRKdVpAk(;LECkAJyOj;Jd&*_dRCrDR?^t8pgi8w7gn zB=wr13CYT=)lggNolEXWqc`-g!+-a7=sS%JA_;fQ9teavVL8V8L(u&iK9)+%V9!=1 zUGSh8V9>0$cu@c#>nX~&Pi4{}Qy>H_#ADkx(qG`feY6xx5l{HqeP(`8<(hKP=dUh> zW(){bvp-vrk*Wz3pr(?*>b-RP zMS9kh&m>F|zV+=>gC3l2R6f%)6a4Re2XAj8pnD5xEXj0Q^AFPNbdfc^LggYWK<2a) z|J@}e85R_en2YLoDF5HXyQ4W$s;FNc91dwn6dcbBbOH z*VW@&#IH{ke@s{q{?gJ7nWrgHn8JS5hO=m;u3+F@!d^T^8QTq*SsfaP@URHrO2xww zb3Q-Qs#1y>wXRb))YME>my%F|AMHW^sL^`^1rps5^xsD1A0h`e(HMod_&r{3>HF4# zHv1RWdtM{T=V|W$4-4?2Q07Z#0Bch_QB;(43essf3KW!{)5lFM#t~ib;6Eh4#Os{W zN@0?aLOL}@z;TPdJP=I~8k}zB?W?)K=t@+-O$<~g#j!bErFerH)si3bfw`5->pok% z|C#Xpvg1+0?sd~p?m?-=@wxWV@OP{ah01%E}!Cu90a&*$+Ste%9CvXRA?+lZ-V>(j@ zg#-oBZe1-848LJkC8aWJ6i+IgA;Kj8DNVMKy4cm|R&SMyKbnk9#4KR2i1}3;fd1-% zBwBL16-&Vt=&~9fgk2dRRD{97-_dvH-&UFf_FBWpGEC5`(V3~D`R65uMzVW?8}m-L zQ4DoJ1{xn0=}{=Ne6W#L%a)V~|n~ z5=wM8qe-#0V5CFVcd^F2v~aQRakfO%6URypp+Rd$#vgvR;tR(i4LFXx5%eyb>d=(N6ir7ij(ApSo=zYFDpCuw}fi!Sy zm5W~?Xm((rP#YvA*fPrlPRB&y4)U>upXW&%mRXC>Wgw=GJ$`QD;{*Tv#^zdl(PP&(xFa(=wq zC>z%K|0{=nC0R$a4-BNJocE!yBr{xj+*PWM7LdKEo&C&9HTsc~Wr)@$l7{|rMV6@Y zPKc(rXPp%W5uZZUH>;eB?-#0PiOyUkxngI^g{d9#irS@kf;-4Xi3OV01Wqu>#oXWr zW61~ptUiifeEiYSQ5Om$Mj7*zCDFw+6-$fP!_Oa$gC-9c>A}aAd#&NrFm3Sls1mqh$ z`e{_v8>T;hcTG=gE;-~xTp9%Wff!WUnY);Cfuw@0O921v%8^G+tMDfQC8L&4XwIGP zGMQsa`^TO(wbUwCH=EvD*6PAWON}?ZYjZlDOY& z+cUXdZQoWN&bRK*+VqW06WxE3*ug&AGB1pvuPci&iGl=Yjr5oU?1B^_>F^*|*2uY@ z57x1Afn!~_SwWQ42dYw96OvetWmqnS%ezHH=ShX0d`9U+YY|vg?^=HE8pCxJMjyER z9eWhTl(V{^;|&GfmuD2VWk14VucQfT1( z1vyky$Lj_Q_WhlFZ)(Jtt<7KpauGN9i1!bxwUI;z z%`OqlO-1r?yu?i@G5*mu; zp@#Ylg^>nw$lKp+Mo0V@f=`=@f#+rD72?y0%Y2!?x15oE^>%y~sHrIrMI|Im>jjZ6 zErDLZBS_^3s!ouOx(0qAc~>go+tH^-F=SGZ!5P2!)%3~Y%7=t0uUno-M~HP%e5yZ|S{(iJwlNEEsjL^dIlk!|rQTu9NS>Qr!eIOblm&{2lC(T~V& zKh?@N5m-By-J$v>MimU4;~M0Hz|IbKykNP!tc%s(8|>Ed?F;Q9zX%k#NkvFHBhZQ)EZQWX)5^2TbDpc zj_;m|SWs~Y{!e+%s(9JaCmJOVBvp)!Pcs5;E#A($uu0Y_%@ce(dt?iSx7k9WXvp$# z%%)0ohnI`tTp0S8F7&;T`ICkH^yK;`1HpUrtZeM({uhJ?$^`|o}~mG((fFO0^UP~V`^%X8`I1}7)^#O5*$fro6PqvN@Ney)hJwTSN5 z7%QE9Kr;o7L-Mqislx1hSL>HpcmIf1e;cG6zdBjJvKB}Tm8%I* zenxukVCn%yf5!*p5}nyP~U2243edvaHyW!dORp3;&W?4r#s?ubIo=z$!e; z&_lgDu55%Tii1-SjMjn)L4orN5T;PL96|nUA$!vC?&&i(fXBXIuqDGY_2a&jNYdH; zv;qN6HzlP8)*iFhFFQ6luJY%npKumXnl{xob_N66@6+7rWK3s|#eSvBb!Xz5@P|<# z-g-#n-)^l+tn7rPTWaZ(swG2k^jJ?7O$J01`80Ur1hAQ5f2QZ5vzwo$b1xS=pKSmc z^YMe46+zl?&D+`ha6XC4a|d>3IX4+hd6sgR+h2;QsFW@)fD1ig_$#3QbIplvN*1D^ zRd|Jp829Thh#myc(*dwx%vwDLdY2Z_Xw?3V z9Ld)1*0q6QC-Wp$s;5;O?LpXw#c9tL(yn(1))|co(EMd>k%9>R--tU#{uQ&-Ov~{X zX~K@oWU?|IR9!73|}ukf!-~}=a$N#{a&TVeCgPmgHe8-F>Qu~t!H5VJs!XsarWqIt* zSp=;?<>n)@oYtaU;a}%^G9HquTRS%kw8SevIU(iltGGtz87Bdbu!WNo=8e0%-Ruc4 zvng3{`0p`mCxz3Z5nUq^TeI zH!dXyJ!Y2$YNX3l;I7-DN#jW_lMbUNko}DTDrDeVT3;Uk&{RRJ$10}net5v|jFIn2 zZ69kJKzhX79mzsxcMy3KN>JH%`?!Naw0yGWH!!+gXHosFGQLlULBfs9M)m8HS zYev$)&cG{c>#eah;LElXTYr`TQN7hN_wphH(tFGF%TIsDP(+P3x2)Gf7aPI*;5Vf1Ti4ep>P&cw{U(BfpZCiy64SjB zW`;%cEIi2l+Q!N(=}sHx4tmTHCgZOvI3}4VrVJ}WejD``uB(7Y5z_`Pt$j{nD)3mo z`1WJzr2H+(8%gSOQEgv0(kS95PMVx*yZZ-$y;rN_(6OwW9C>9PKnghZj~TF zHOGk|)cW{C&Fhctb&y-FBz5ZOj(l+az1cBU*q^FUNxwaCC@pRg0mCt8e$J;$t1g0B!= zUom*n-(;ct+aIFgf0Wn%y+RU_i^zFJI_qH8APJJkKKzx-uv|IU=Z5{&g)9)m0WO3Z zdo;L)KK>OEXgYa3ff{~1;(3aG=CfDBrZz+0R_y?>mcSubIT*KDwdK50Ws_JH9H zgLn=#_LCYMo+l2q8K3!QHf(GT(>!r{1_``9YhI4sM4Np?M22h%d9l!Au&h5FG)RBX zXgGl8EYB*2lK)x%=U^N21?A20!}rXP?qHUxSiZ#=i&r1>2D4D~(~Vm9_7lI%&L8~f zMy}0- z5ynCT9p4Gt*w_p>g?mfxTN;bT5t;gHW&Ucp64h`{R;UkONGx=d_j|DFzS1AwijZkD zz|CfrOr|yAJhn~fP_hk1B~j!V&+SdPwUIi{*clHYNA7rnj?5r9n1#!s-IM*&8x6yr z>nfJk5zeH$X`EgAVswtD62EXKxIj(QM68u|swLEt=9`HHnVG>Zd1nsa2Z-Ts>yN)$ zy?;NUBB=aPV|dMt(@MFzxUEViug1FFn=_jcDnG_T5Wk~EPI25;kSDWKxQ+c+%$=Nt zn)|oFQC^~Nh}k{^dc(!Q=x|WlNd%8fNR6OLU+~cG0joGfh$7;nnhKTVFHFz+{Vx#v zDuUNj!Ks}1Ttw_E5;{?>)hf$wg0mTjUZWU0b|D-Tr}CN!Lib3@3|f$(w0c*6fLSE8_2}idRDNw41qKH8`>i z8Ee_lsw!R+l3Qx~c?;*0smOACPH~KgXWGlDk!xVE?+4JA1WxqN7W(`uZ3B39gQlOu z*+J1<;ZIM#A3uIX?P} zo~+2R7h)4sTjU_WYfbaJ(bf5IjCC}lumFkoeBBYB%f6Iw4QM?$SgSNiBj7d!Gmy=J4k9V_oLQ*lo6xOd#0(4 zS_X467;#Wq26W{vg8t%KYfzOMOHo6LJTWsUd6@!BADU@DmD~khDEE6X5HkCz=dKmc zUPM>N(hOVi(n8pEBQ(-D91dk^iW6<7#kfVQiX}H786AF?3>eQ|Zyu|`{n?ElTOulR zt7)Cda$+IO^tZC|+rM%z5jftbb1=y7EGvw zP7Fhr*v@KHH_J?6eF^Cqg%h2T-NBhb4OwOI6vn$S0lCrB8rGd%dwTR~5t|?CN~G`l za>sWTcdb#p3xXLiNjfbH0@*jB7W4yEV|*?O(6lxcayQTxwIvz1RQLH2TAjHPg%Y2% zgo{~_t+GITx-vnM`&`3*%>Ra8(HyupqK+hzi4YmKelc8EX`e$uzf+G)_f!$$Gk}dY zl1ls$t$ZfonVbNTHC2`j3$`5Cv#soD+7>aNe#4-FMj`1_(X3z~0H_q+Oby~4?D`*I z^CaEua#h5dCVr6p_W&0!G_ND{ff@N(WT;uI2HB`|BU^{6h~l~~!gHc#g1%rp3A(Ix z(5jg&US45f`wB)Y6`JXDPi2pFT-OP9wI#Dq48KCJRxV-gI#%`eFE!d!w6OYN&wn-c z<)%h8+*q1WEWKBlOLGV|nf60Ma45OPotq>6kE+@(|JQ_W$N*x(t`nAKE89e(!ezZP zD3b@KR$zKVBmE_q*Df7Xp5(VF`ccAl?2oCl!k&~{rv6&u#k<~IdZv?AGWEhMNmR2+p~bQlZM`W5V1=c^{T*Fa?~P7w%oujL)Bpg&h+&l(!$0mC|zR zYWsw37jvSY$pufjw;h*_^j4kX{%#-`0e9e&643zvg`%vg+wD(t;!ZAf|NF%M-k}(r zE;hU@=3~OqR4~1$-!nWMir=;dBQ182tD0t+9nKJK%}z+X=d_pVNKC!*d!%I6(+aPk za7=BhNHS;L5L;@A(A74KI!UFoBs7Ce51U_lCY9GU2;)2>JOqPAkkmye>>K)QjOy*M zEL~jb=T#ryJ|;|(fgO0W-A_F7@mm&Rf$-R&2%`I9L&Do);M(qIqBIExFsK=NEhf%JH->xTKn&U*MsdB43nSm%cfPM{*v`2@%vEgo>h#@;lpM;-n(!64 zgXQj-J%MaH4cn{2@OKFxK0Vs}9&gI`Jjx20xY+ok+A<^2FiL*o_i!haFVLLNaQ6}` z1#0#=N5`bnKQBAyH;H#2L{tizk72TV~ZU?M)m~54YrPU_wak7&Iro>lcY(p`ar0j%ony&^n8i zJWY7`537Bm-)Srp=-VQWFWWwZGX>ZKFh4W(_Hl`Oc9btgH+qJwptz2eoxOlD-gUYFB zY&HJ8ZktsBDf`~eKK#rkLk=906qA%c$ay=-Vv)F5B@@EnYV2FKixu7#vHtNQ8AvGH z-A;t6J&qA-*CDzv84T5WRybm`)5F>U1t@}X<|(9D7q8h3eW6i^NO$=MN>F)SaopB+ z%ayVNQs2%pkc(VLy=oJO?+7UD;Fo|a&S!bd;Api0Z|wQIIR7cX;~pUZ9J(4B%mwi^u~dZ7z4SVes?g?(!Sihsi9L`g&K&WExigXaMjMYVF(9j#u zL*uqx@~LO7sP$3sls6wm)2okhMn$xCP?VoK-Uz0fsm9PdKj1`h@%(d0BYOAv(|C>| z9ChNC4^bBfW_M;_Df7FA%sZUkNe4A$A;ft_0RerB3tmg>7A1f7< zA^H?_G_0z^E&h6Q8b=z|?J1tJ68jg~lA8iD#9r!sePhmjKbRg=mgd^$%Gwom5(g-k zc3HBE7Yn|Z`{d1BY23s?Gbaois+Ihu=8iuq@D}CNfy6b~CHIbuE+X;yHq%m_gAfIU zcIlJEX4Hw^i@WBFvV@#ggQ$^bxeSut<)1<{``EeKsh%F`gag07fNIy^jgXU8E^1Ay zmZ_+I5HbP4u=vEc;EfQo)xt>C-?K`7ixQiW_~vjpiBYY}BcmZJdy`kdhdMeljL%Zv z7rN>cnwj=C)8#cThJHYOCfuZ+GaB8>ruwWlf(XoJ+mtC4yMoYOBP;ySMW_-#iNMay z$-J2V*&^UzcM_C(zs`BHRCea~Ss#R>iHCr}66uLLkKbOxF%TkrFsb5kz>Q;k7Ug5d zg=A&%>+hIyOx$Lia!l&l;O60_K0_Hqcv8u~EUXg0%mS2&u*piTZjGsnD)+ot&wxTt zZT^Yw$*dnkf9V&g69wt<%lJft<{(JOOUxU^4bwIF=O-;Es#(-)L*Dlp8#O>p1_+HQppc6jKg(G?|v+yiAJwq<+aN4I4dx4YDh={IX_?+ON?h& zhePVdEL2smhl4qY>W50KTK9AVTP0>gf8y?R3}5m08@vFnq94qz|0uKsyaCCCAi!}L zk1MJQWHX=Pxc|eMBtRBxaw=b*eKVW@kvw`yq&8OPGgmrl~DzkK*U4Odr9T1Hoc zQo^Hdo$$WLP*&wWH2JQB0D*vm$9*AZECQL%LIaz9uk~*)`|8e zaO|Wr@t5t(G6Pzb)lz3yGV~C!YX89Is{27avNhoHQIHuqBtOpPr5J#W(35HnS358~ zuoK8?AO*tD>Xv`GySw|uCxGqfbg?;;^ABv0#h*ka>BBSIm3M6@X_EeF?%&Co1I5od z6<-?%sF1i5m9R#3Lc;vod*OvO-;Zv~xz1P`zaUJ3PEi@WU$ zLWWLVA@qcr>)dsB zMQ}l6RLVaZ=Ra-(`FtLzX8DO-z&@bBz{F(2pBxiZ4`+nldpUxwyxatIe$jyOD{|mS zZ$7{s>Y12O{grW6t}DQQm9ED=I{4~=1ikl?up(jNCho&cM&Z$jhm{Wb{=qy7gH|s8 zkwrQVvwwwSTgW^&8)YXxjMs;Cz!zAz6O=245NZ6rQ8e8T-I;p&$9}AzI6jTK+Yggj zreKt0L(v&-VAp=TW7o13Ot5AZoQ%dD`OZso{b7h~IS#?*FEEdELeI}ZDBf$vFln9S z3Mx0~2Na%NWEZm#uSLUv$^xM4c?j?L z51x)}gR=v-HQFDSGqAmX5j6cD7NEF4rVWi`x189An51&ttI9|PgpPi6({?N)R)zTF zO;Xl|sv>gi>yN6@ylQjKJC-pG2U1R4#uei%G5+aI4z5Y*9_Pi|r z2bVl+Rq|+JyDcLvv=w5wiZU0mJk5tgC|KuJlIL+3i*4B&UaSq9V$+W{69kHnaA2X5G(rJAP@%W!m^4 zTe(?3PTmZY(EN@X4{E*&VIkyf|Ci1G+S(0xSy0Czj7j)O)=>PsfC;2tcTCk+v?goy~P?U z`r4CmBeL@A8lz^|M_16WgIvZun-Pw`9I~Dn(6ek6oX3jp;e_umXbt|0Zqp*MA$x=$qF2VLq`270c=-uadvHRl44h4X<|wo{d#e4vfphyvzU4__;R-2 zUC{MbUC%S36kOM!_4=3EvD8W%PS>0C@Xd^^jSWEWt!Zi!7;^HPU(y<^S#a1Ixm$U5 zed~~~GJ#xls37V1n72;+UUe!aVF^YrXpe=TI+R4n9d^ZDO6Pqx{vA@WH_lAVkKbnA zWEq-5Vg!>My>s{-EE%y(JdcjJ`)eRgWsZ0E)U4!+$^CY`AM$qyY4LM`F!1}i`l@L zY4wd%roEwK-NRs4^2}M+=5f!{jG*_k&wp$DFDNy7m7&&z7XYyvu-ph!1YAS`x-EBl zK!E4g>D$wWS_q-VOj1U1q2D28W1sYNn`|&Z48(LfBJ$_dimK#3LcK<;t$!Ap3s~oG=65ZS zNt(lYB~L{7BT4_^7Org8pA^x9J3nCGfJL)=g!uv#!x*^+{th+)KI1amR@y>tnGo@2 z*vYXtxnVelo~O1LCtT0;)IsysqC5k zCgtD!u@;mC)uiJt`QfgWo%gJ*>3{j(z=8m%`w^~%`|nj&wAil#(cu{MV=gixu(*IJ zT<$w!5?;IP6lSM~cud2;oV2CpzD=m0RKsNUTB~&4-?q#tQMmi>-ne%U8*-o(D5uj( zS~u-PFq@j9WW(L*wp3zbR|ITHwr2HKB`y~K4TEPxcKgMMiMGF5ojDpkX5k`xc6i?I z`(NgH^Y~PCjH$(ZQMQ}a{6El~I=>E#ud~iDwh8gP8{FC{Owvkh>2p6USKH1+`C@7M z#mz0huG&e5J$z!gMzwicZ6i2|+;}W9efFT$T=f|QNB;vNjmYmU!We!?bQf1&`Vef` znBV{^we5(WD<~*Zc}4<^&=r*L-W8G0GFx&ZEup~T#+C~@8HINZ+1zey^*qo$92kY) zz8t*bS71s1(;&m!z$#5T9YA1SE_xLzp?CQ@DP9!F(CM|}cb&C#MjywRZKoWFb$$hJ zi6w-6_g`^mgen%Ll@7(uJ1nZsuD$5 zBsD<4MV&=r%YLteG@ltu*IQVmA{O8-+1T0+e)?2lfV~M+y;pz)AtYl(B$iPr(`row zJs~j_AsdGqzFr`@6kCo4Xyws4luUkbDCiMe|_<%9WIC=@18NW}|*gQDDAU$^U|&hlItt z1(_7putK~|00y&W_V%S2WsabTUQVNvI)!9S-oJ7)k4Go(f0zEC`mma~PIf13;&V(Z z{xCq~da?CG@PUL#jr(bBcocRp8nVQ`a=)$-Gz(i>5vqVh|@YWTs;^eNU7U&vgmQ>y6_nRKob*Fkto$UtPhTke?C(+ z7z7=x-w>O01|T$@i%%U$iab#mN1%7NWPv!k<)jEf9sQCqfyH@Zf}r6xjNs{9`VD_Z zR?psu+%wIL1}V&s8fM%zdyr70Ozl39?;T3L#uQuL9cR$)nT?Vj+cRm*kAm49R4mBs z8R1NW5X|yFI6yzkwy7;{qgOyFOY8XqPu{9W-VKu)OA#z(2QfF{v?>NCw}tweB_9qE zVJ11!Ef>1Tp1N*M-We=eBX?Pc!PnhXB0}^sxkNp$$S2gg=<*c-+LARR-rbR|#K%%? zBLcJJ8Tp=2pddN`c;5`PM-(8y#4gsRE>>?NV6Z?Fe`s_Bl?2RmFb=*FPN>Nn`E|8# z>j^PXJ|kVowLY!uFlhby@u%p=NWMrxfO) zlGYt3;4%*sBz;6QU8fGw8ZgsRvwzN|0rV9YH0?Pf6H_roRcGA)eYTs%xtaPafmczvJWcTiKGSWuOmBLox)}|3r2PuD3mIQ@D|Bmwck> z-71m)<&;jRdKD`l8GtzB%1N@|3I8 zxYuS_E6+Z|wEKmrrTcE+$!w%P0j%ArdfV!htJs-WPN4ln##xCE&*Gia?yFlb7Ai$) zr|3NB6qj_wMJN9P)P8&!7y+A0jI}V{zjy*HrS1V#c$X|)q%Z(nQB{pJ<&NE+10*e^ zFa}u`B{ZLZb!wYD9Hs+KN@0SP@ibR9zuVCHh=YR^vIUeH^RC|F@YCfnF%>bsX zkqhI0S&UqcN6>NTKB%O9bv13tHAwLm5HzZ~2;;k3Mmsg(`65Ywe~R!v0ex~`SrI*TW0z9h|52t1Rq5&^h$=f+`}!dvF6%^TLR%~pk$ zVK{c~S4io1y8$d?x6cYH&Lm>o%&RI9#k9l%WmO8{!Bw~IMreBa`vu1sX+Xjw zH0`z?3>@qq!yQ2Y*a|yHg0g`Ey1ca14G`r^#+eFr+d?Nh{YXBXWYnCiTG|}yo|>=j z0<%y%-}m!Samt&Nv8eM5l zYjei_ay~29NlmX7aK92bSziycEYk@$aK=#>J|zbkuD`KserWPp`}B*J3PoG6a?w+?v{pws3@txq2que(uYPu zzQz50{NdxH?7i2THEU+p%$oNtb<=X3bn;)>7}#&0?uiZ}Wx-M(E#@7oE9o*4JhWSj zAU-^3dchXV8lTEe^72f}*D8VxUNz_n&)HfnOlNwUoO=KK{rcRi6Zh|>yuUr^>z4wR zxfc&b=mT81tnx`qv&BAzsn#m{oBwqBPL^+y+P_q~HJfg;7spavzB9EL^ZJJvX|-~m zl!KbA{HwyyQ>FR+qNtlBA?3d5i&Oa3(K#@TJNJgH5~A!1&wK8QglPrhhM4we7z}rb@3~BI2@Qqg}3(%Z;Tf6IAZ7 z!1@EnP+~=-llWQ8edps}M(t~S--cAI3{t*&WHpQRJBgs*-G#Cxe2B)RLPM?W>|@&^M1$ti&K_#4~mlvdY+9ip}`2bSvr=KSWnbH_R0jQK2bfa0}FS?>%23 ze%kQ^?)JlCZ}m0q-d`F+_Gwz|N`+~Dy^@(1Vaku)QjB(98NEclsU0G~+w=*+7|(_b z0=(Tt7Cqo%LU)CkWnXq|i9Rg>fbv6+ZpCbV$(Jm*0jB%rN(K2|;@YDkXS zLZcyH%;??E536^Ps;R>`Jgsi7OrV@ng9wYlVHmlU8#HDu9{5`h>`B#4R}8EF!qaoA z#H(_G`o?4VbmW+_#xsBpDJn#nz|ADx{7N8bm*OUdZ0LBOus1?M>0oqdm*IJ9I2La( zDGwJFO!A_SNG_E&h8$D4BF}j**xFyLzT~6Cct_o8I81m5e#U$R`GK~sXaoMJ>kvK}Cdo0y1`Unx5|8E>4L}w|vD9IMzbqWayS-neG zFCR%dEebJn>s?eQ-pgQJe?=p!M z-*1#MO{Q~5C`2m`{eBQbsejGk`-QDE8BT(~0XGsXA(RkQu#Egwy01W8R`W`0ZK~DK z17T4jY7<6{0O!8B_}v0h3*6{GHMv2XY<5{mv=lfvrhEbdr$MPFY~Wg-JZM6>v3XR; zWtJAEE4^;Byf&pxt&w5j{ZNXBR2(lzJ`bbJ9cRe8!&41OzilvaLTgc^@Tfbi3aHmX zpXzp!ohX<18qM5J`jfiTvCX{0?J@k+@4oVwT6JmgZH94n&+YTtPHW;->IuM&JB_qT zXvgKAcDvh)oSwR+{f1TBbQ9GV{@R2awd-HK;<-Z+9Q;K76=L7?EmRAkhdKXQ9ILeR zd=Q>@TCsd ztTp5t<4s(ZvBj{d1HmqRh=j@X^Wk2*xW^c!w}=(U1xrBY1Ze9bVJq1REZz#vH@SEi zzo#w(`6y>m4(3L?|3!)Je{!|}CdvcIhhklM!37_bWYh9(r4OE_MBI7Q5~UtR8o?1m zlDbjwxzOX`3lHy!t9lcRH2BMj39kz3q}d;xvr+4_D5wK0RaU zyOiZei4)2+dao5*do)_VZt_psgweH5clzD>=Y2Hls}zsZY|_VP^V_tBVM3w`zF980Nf;qDfmNi*GUI{LK#R@i)J%vW^+s4Yi91B%J(HL6ci z=LK+iT+`IRAF%J7eFQfP+jp48Z&4~Csx_WMXZ_=6yUtwLm;O1X7S@Z$7xeY_O|P&J zy$>Bto|b?T*4wvlUuS>lL#^>lV@^<6X!o;HmVDe|jR4cECK zWz1^(M4SKLBRSFvOXWpA!@77|no*F7xh&FVXkZaeUH%K$G*h&SzNh~VXe{T?m3-R| zPDGno2KDVN*buig0UJ59I|sMO?O#M_K?!5`Qa?n-9hr8yFHK(WJDAEj?kACLG;bt=KkpFBchebFDkbjM-^*Q}tI!m1jU;%T2$sza@=O5GHL7!8@vu;cM+g`#+%vqR|bi;tq) zgga`a`nU!vfSC4m_Woj-c-;O}rx@m>#U${hb3DyqpjVfKF@3W)m(%w}8(VK7O{R_q z?6y<6|#`k|KMoW@Um_H*xo zcn+vbte(x6eei^~+VF0dKJ933=9z*oQmW8d;n0*C#S&#n7dIDul^=pN)Uif4znC{ZLoDypL3|dPA(SWIU8gPy!=6UmFrM#j<4fC{itn6- zxx?X8bLxAV`y?@e6~R?6!hL%`b;IpUSo#P!v+dd6pUSv0O4a{spXX0Sc<3eFDngP; z2CM}QLaAS{OVm-m^!WurJ$Kun0cbliG0CF;vI;GAhccwqnaW3PPax%nDx>})X@Wx@ z@Txr;=;SL|ul~eHj0Iqqv&JRv3tSphtI2A8y}lrZ-)1=IM>zU4s=Yi2ER3=IWdtin zIr$$nD7l~fY^cB(!|nyRd)1wre-OOHXnn_-i>Dt#f`^4{xQDlY^kZE} z@=?YZ`H_nBp3f^Z0kn(lf1jwoMw{W`2pAVG1X^x&^$>97Y%k!TiuhPm9`SW}Tre;B zUvT?=?J|;k{7q-xhFJ2`;0VgocqE*!%4M3(zGgWkf~wiGMnj~b-m^dE%7DvVwPw4P z|F-U(s>QekjG05Z&fBvt_}A6OZ)dMi!|If2{JEdL7DZi*FSRL4Gg&{8_IN2x)DJ@G zd!0@c7>SnwY;Nz za@3dVuY%o}tzO|>>1lFIwUNZ&m^>&EQ4*G1k@;97L(aAZ4e7DH=E9AYVnr(SN?6K? z$qr5jsvZP>cqJ1K*CGU+f45Dgf*dJ4lT;n->~4Y7SdnNEZ8r&8hc5C04=b`d1lJHE zQ~Z7hdU*>y^WVta+-{KPChd-%gXR+dtD35|LkoD_7OJY`T7cq-u%gaX3Lbywb@N-R z0!}e%fs9#Yoe=S3n?Bvfs{2Q65eFt}hioYUg3W|*-}Tg1Zq(GPrOHGL_Q4~2b@9+6 zvL&w--e30i=i^J_4xsbG%S$&Q`}!?t&KoU%o36hj33~iF-}De5Su9w_u=VvjJ3D6< z7KR1H!#YmgiR*fg`9}ZZf11V@9VMBlW%6HQ5YfMz{0kRAK)6XuZq3gHi?zhWQH^19K4HB{X5}Fi8(}t-& zF&M9XHTZ>k3on^HzLu(xb4Ke9OPbk%Tq0>XLRcV)w9+~JMSO)8?)@&ftF{y6*E&xZ z24O=HdLJopf6V{q&+jTDDua_a>UZaAa*6vfhee`R^et{MLf|^j*`Z|-N67~&6QTyG zRRI18w5AdpxGiW%`PT8&(dayh_GUefLt-Hn-y9Qm=+w}a2{lnk1#pl1v0HFgJ+mU_ zGo-KVIMvVSkq(lC>aAe?p!~QGBJ~M;7U+RvT$SsQ6R62v0Leey@k3?;R5!pg(!!Ti z4Dhe|P$#3zOTp{(t_$q~x7e^W+s$f-W)9YLeAX5Z-ly^A(r>F(iRn|JYIK4vxN=Jm z1XHG?7|tK5*%l1)naL3So|zapl(r@+(`4-XbltR#UT7~ptqlCA!Gm^WhB)U~KdF#iY9HDF}UwqoJoW9jd=j%Bp-I1{|YhT~< z)1==wO+CB7lxkE$H-#P+EKE|-dus}jk*|BTQ(~sFTo_GT2j1zHFo7=Lb(6xpYp4KvW2ulzAkw_=DEre^yT;XdwFVfd z(e5alN$U(&h261XLHtW=M_#+E=j+;NUKeWsm3}V%i>lLObQDv z4;Ep(nAx|ZrR4^(Q#p7;#;Z?Vdar#XwANZ& z5Ej&vj{ZMCYG=!OF&=tda43l4K59CZFN0mWK|OAhk?P^xq^U)mZ%ANgx{zkU2sr>_1P(Q+5)?1MPeqOZj|KqVI^PNMzu4q+c6GU6fp&g6e{H#4vUodPWIfeD z0-Z9K<|iN6RiC%gfB&70Gan@0(_(AM&G$2HO1-y0HF@v)Par_!iO-b?n;3}S?)+v* zh6Ct^v*-SF27Z%=Udj;l(<-@qxet;-Q~-d;7WzwuJhJy8QTAZ8wzkIJ@eP_RC3?k)@PXxg1mnJv=xDMjpvUc*&ECI{6fS=nR-Cz26V;GZGqg3?_lEaLuw!wzNyjH;)9@Dbt)8MX2nwR z`dsNcF0>H0=IesT)b>P5B)mViE3Cx<6v(TqgYF=`DpY-ay;cOy(8fa?n?*)2t5Q&V z;Cxe<2gBsW&&8?Gt_LqK*ru1&>@b;j2hiTk%&aQsp+RcP=dNPuL&2in1y+%j3LTyY z7J|MoRo-6)Jnc(Jy+%D5t*;{TuehP~42RX>*F^v*gY#F}nYO5+2&j1d`SXYS{!ESx zUP6-3OQ6t+|3f`+ghDBiVsGbC9lk9sF$27{sN|#OB^n>Yea^gDWJ}l37{GvVJf%4 zn%Sd_I?)9T9U_)=wd<+XIQdxBAKnzcfXU&YuZrH=(o+oxfluae5udcq?TETAg&=@^ z|FP6BA{|{8i5-Nft@gcuhrZ+Xni}NGg6T9Xhj#Ykam%UW2ZD1tK$H3RhZ1RlSyk>? z$>a-RAlCZ5-8jbl&<8~Q*H*xxya96ra8b|Xh7){3Kb9VuOy6Zb2_Qv2{{xV<9w2c4 zv?{04-eryhAS}71{!9Pm@bv{W)Jsl`T^2enATihF{_vKc*3pBH({ziV;I-pN{M^AO zt1@T%cXcW*d1bX;``#jg$F5-dY=JGO!d z5X7P6qDDK1i@5^{B=n8}K&$$!&xM=>kSPwv3>r(A_OhMZ@cst?jLe9|&vI3DchdlW z8=vL3_hV(VgK=yKcfB!Skn%9A`J2vT!~tBTTC*-8v}{Fiv?zAvTbOP3Kfd?_@r+NJ zv>&Hv0(LA=t0;%(c7;}gi#|`NEqs6=awG9+nVDPoaJ{jSZrEpHP^c_Xf0$+izjVkl z0a^eHA4c`h#LnpklIJYf25%sr_Tm0-byh+Z6Y|CfNjwq+B2fX%NbJG;4B9D!;f zUg*9iYu&4}^0B5=51Hs0K>O?63jh460)CPVf8jY^{S7TRmJn-c>i|WXyOW zxFdd3j08yj2gb+dt*~G?T_ng!y;IS{HIxP$t_}y&`CEvzBK{3@$%|M9Nuh0gMVa;e zdr&CdYQbE^+~VS=sVRM*GRxaLyDjb@k+r*I-oJ=PTBD-DNBwWzD*Mx-Ri&rzl~mp6 zzc)-di@F1?jAJ(L0}Ybg0`S{Hp9KNrgtU^oU?4uaAB0!FVBb}OJAK-~voayB@sQ=A zE1hIZm3biATO*&|rEk=+i~UJM{1i2Qq8-H9;Bf8RjIJ;3h{hvP}uXPgL@tjQUFDn%b?`8HY!CY7LHn<-W$JLl8_nz@)r4a6`O zK1@{%S<#Yqc2~K-)HlV#k1_E02@i@%tZH69@WsN&%BMa9=9&N=3_yqj(vTuiTjLgx zR|TiRD{$)C0IRME5OgGAmlTnQ3m=xTG501`J5v1ah2kMtlm@BjP`sEcfd1jMWn#EE z^KtGo&6LLiC7%L#`G&0nJeY@K2o24u?MU{@DraZ#YDE#f zbRcATJNM2(3)e724}gJ@qOa*JXn}r%i1zOibU~N#)28;C5^+tzl|Sd&+R)x^q_H7* z7c}>EH^m%}xKz8jTDo`VhNkKL2dh}10@%Kj^a5Y?Ucwyo59DsAZ+_{%16 z8;*#~telG7pA6U|qobf5zLo%w#Efxu^~(OK%a>*V@&p4YUDvmennyFkdst^f7Xc>= zoNxYGL%p%Fe?I>Q|M0%DlbA!!gVAXQC{e?-Yr(|p@2{;f>G$HSKME-gOIY!ztp)nj zTE(*BW8uK$$pj}2?@pnxaBNKY$_r+zi;U`uSk0>>M?agR4zZ&u>DYFD(t?i*SAvg& zP`LLt`lXWJso~YV=&Cm%dCov4Nn}Z-Jsef00PzBpV83+VPvM4h1K!Y^?nJ<0qMg-f zJ{i`AxTXb8-53s=0?CQ*r?4{#s@~3b@(ZkIr?>1;Kf%1%plg{e18ix;H|Rv$ICSqoeu(`u!;Wk9tJcc3?wxg3DZqKv6`YUaY$=zFox7 zOID(O**m%Lq%zJozgU04F5a-M{Sf~Q?sKQ$n^%mdgW-UBD0f(h@EjI~59oI<7>+FH ztziYSaf2{hkg53@Gr|qOA43}H_TRK@qw!pNdtc-bG;_o0yORehNpEkT!n#P%G#{~F zyCtm!LG;kCyQ3{$Hh-uT_}AH?b;0b{1p|r<5a z)B|!E<}5k?4U+`>>>f0hTtPd~K*FS7splZRNnZUP3Z_SLz=E-m9Q}g9O$J#Y`y1h} zFwG8)VW0g2?e(9@1UJ!2{~P@-ICwI0n*)vz!2+&<8Vbd;+6>zRq3^nq^SA<-6eaYR z4*A1&>pwxFOP+*1N1))*S;nE%$g(IOF&|JlgIz|EiA@CaA^Q7&`yo5<&|6@gj>?H= z-N20l1z>x^p&mA({$5!}lLufLIk>-IO5uI*RyKqz;C7uCT^0YlyUXwE z>s#4L!UNxYBE3L;#sU51N4#W+vDedrO6AQHmKLa=bxy^t0vM1iU_Sk@j43}wZ9Qzv2oy?& zyJy3kAVY$dCFsZOf|-s1D?2_3eA+c3((eew4&Bm#?j(N^n9EJol&6(}-Elwxg|kZT z*^?u#!MeT_gPI~ANF0x9LT!SMCX83N5PL-Z?m=KN{6Ng&;CO%WtPV?ja?E#rM- zG_RU+Uih>q4D3m>F1YGE*-GWhNxY^9AmkH*UNW#bi=Md9;W-BNX>N^@ zpF5K*c$hHDQ&8_~Yi%{qIM#Bgrp5_7(LY}KgMdJM$a1?M(-JByx&a0*PuBE3Z`*4k z50M_Z;+r>LGpY37`T!#q#mY<|{jg=;1q{c^&8?1rRiB;^_b~$S2ii5wj^rS&Uk3Tn z-!pD$<>Jm|04+;zxkNHaOsUp%}_%&N30b(7Ah z$&*-L@H+WLfTmM9oer2#nKo~9=W^H5XuTwNPb|(6SsaV}h&x2j$L6cW^eeM=(e;s} z%x5A6sS8Z*#6(I7KNG6^-)Gttu@;E z+_9{nZ=(>OTXPIxvyyffa-SjSahAl;=W&S#nATVCv#o9+9l(pNU0vgRJ2g5NPnb>K z^G-}m+zjl|Bi+-?%IkIRN>86XPFe49#g8Cyj{atQdBlQM7WjPL#Sb4;{+*s|Ta zVMSkLY50)leR{o^NxTS0&;?n7$2+|yhU77=)#qT#RX%nbkCeVl=EuNP?Bn@UP$RfQ zZ^+2!5wtezhB42|`nR{Mm0AgerKP21cUnJ>$Zlb1(Ta(?Ur8Q*Wn2BErzs(@=)e68 zt&u1iFO!1$`rp%KSj)qs+G%EW0}Bfau4&i&V)9ietH8j(Rvw4s&4T8ze)cOFNo7if zkMrfD4vc5_Fvcp^%5Q8$z{uGYKKAIvEKb|o-$^Zr7}9-{Wa;SW*rWXRD?Vx|SZjQs zNnTh*AsFT_hPo5!cKTO;L};8k!OrNuG#xoDRAvJn>l51ub8VHB%@GHzg=G^e>h{=M zQ#Dxvx!A?ga8k{T*G?NADRRz z^zu1vT7{6Y7(D8cY3;E7XWSvx0}cz?dQIPV9*zFm$5!F1s2$%8-_FkNJ>SkxRQ38* zpC%_KFQX^NPl;7y-r{MZ-M!Gq&}xSsH6OG?W11?p**U3I>ch8Xdkf15uF_#V4?y1u1pJs4s2%$tGDGxKPA9h^*-?%m} z@x*D*l8bxoqY}I+>u=9ck&_l>K9Qmne<(8ZvxCs>qmw=ZEiX?3;nd&)aq#W4g|=KZ z4hNbx{5DQDoZ#q6_t}HzY!yI^{~G|m;gHuO%pHrQ;)|w!-n3$fjV%t6A!5v7bkOk+ z{8s&x-_Y*;qz}>v8F1yJNvSffk4}#kk9AboYWu1D!_~_dYI@+&*GM5PB8jA%$H`{h z2;08vlh8~oF2k0K7mO>;D={uU$G`FGMz*Ut3pEO3Uq}QaU9sbmj^ZAqRDHUC73P=~ zrK#&u?m)=@mBeC7nBP#JjkbC*hg8aBT(c>hD69B=@u{{3?YZC&+zri$Op&*QsnjLC zeu;kAbqj=D@bN8nYPjhADvRR|gANjzNXWl6OkMC83bz$qu=f1x0coSU<<_1@I zD@SzIfTrj_0x}wT)Px-iXtL7OI#?x@MOBzoSPJHD|DD>F0t-3p2!5@ED+FgN810kj zYm0Y>Bk?^Xfa5wmnwT%|bGJ1E^#y!G7wAd=@^w;ID@yP#`3)ORlGKF&#En`@I;i)#j3$jGt%S4#SYC=QrtY_vGO_+3e*R~pC)<`P3@m1$@I zI<>XGLr%-v#OmJHn3$c+bhmFk%un^;b0*K-4M(&;x^J8Jp4MD)`K&U~IhALlB!X77 z%Kt2`Ir^MOJggm42clq0ycNX}bMp5#@NWD{^Bnn#WXVccJvL<3?M4yt38sV-w6_vclnNY&Vp_HtMR@lA#cnD9(|ejE z%(D@d7>Aon6pYixDhA&fO*x9+CW{DQ!HjK_i3Em%nU;cASt)m@j2j^z>*1Y;vdpAp zIgZRBfyGaLI^K=6Z}OT{zR{{u)RxG8g>}=~>uBuqQBEmhe_zjR)LCS4t8Emgwn8#dWaQJrw6#M~6H!&HEn&e>K4D+`aGKCu4o#^9e>hIgp&F)hr`ZoT|#Sfc9~iRBbk zE}QUHQnSXmB!U>ZkMskSu(~@b(`IWI!M+IkZedA;QBs>l2H$scx|apTNnzMw)6g>R z?wH1VhPrNg>_lHE%?7+J;bwrv|6YX+>uZejqX&@j_f}VsJQby6@z~4>bUVTEW^dnm zA=2!l%EM?ovQS@~>WB4N*-o&{6k8HDc)~)I7*|FTM;Z3*=j5ZKX)t1F^fs^4BreH2 zZ$DqMrUw|Rf?00mIj#-7#Agt*n#kKTIJ%TP_>$56JHE_7>SLXFyJ|o%jiPyAr;i

A;+bu)%zR1E!cVcGqSKE6EAE}Y#vl1t(kI@9@5d>#B#m`*tH~l(b^J`+= z+&c>iy=G%0u`FPQP@_4H^vpu zh5vT{d!6)pp52AfSJb3E+Mn-=EvFdIwEsx~fyycSFCm^xrTXDS+sv4>3{)_C}+3Pci7n;1+>N4R6ho@R_$tJ<7VfA@$p zj+EjHJN>+x>S~J}EMKjZ@;^`5H>Ox^9yO8w_uN?Sl;tsk;cQvEqE{`GL0j|@11l}> tqo#9H`IfBf<82x4(+7HI4)f11{cDx)0Hdz4|K+bE9&oeUfxU6rjAv{jhVSO=bn4+x##@O z@17)US=MJ6%en{O_hAfT6z#|~O>~~?Lb5m;sCr!ocSAQf8!FcX_j3DaBZ_>lwK)Jy ztk?j_p0#~1GG0Rk^y0MQ3Bx7~e$HWR`-ms#Z)SSw){QrYPmbIy-`cb5%y6Y}b7c6JU}W!&O_j>6$?S>X z!05%X55DQU@|*SHS3h3Q-`sL(!}QgIKa5`e^rz1^U;cP#cX?zex>UTdxbbUi>$OjI zz74;pF&LX2R?pY<{826&c@~Xaw@j z;GIA%sX15g?BRT(wO1JTT|Y=x55uyM9P8d9rZ#N}qHbz0s;EWHYmyj=?0my@Q6sHA z;)~L{4M$f^3i4W4z2n%wYwDr7AeE|2RZ7G)dHK9( z9xb7`q(eWZ0GBjpU1~)a{9Qy*NzCz5rCOSvJw7!(`PNjWS}gNEP*tNw?j$-($TK0L zbamNyn&5}gc~`hmnVLRTEDQJbd(orVn$h{1%I6&&X**JmpKo}1O^y^8b_6Sdkm2&V z%qv?Hh>6m%;+y3vuWF{@@wKkC;TbQL;%z^VMGnM@EDBS&scWLtzA-uO~f&wuqN?A zFj_?FRMi6=hT2I~OsnJfKsXj#FuC#McY^xXuM6ur!=IVBPhUJT2I1#;VdePE#+^&L zb><3GJVS+*<5QJ=dL+IB%fJ4yjBl%-7v@+{#*~$Ip3RV4;)?*vF7wJUVUke<7BBZ8 zrp*}QZwrKM<{`{|>^T_+)7C`b;}H!jCIZow1lY7&nINDiu<9ds;?TE2lF;)I+8J$6 z)XeB9i~*+eG=_MJb6j3tekRf2+v?wei3cpU@@z(Oe->gIiUjvPG=e}LLYj#{LE~YJ zA;E*NrFf*7rs>3ZNaA$a1_p~57z(mKhN$K4FCe7Rq@HNE5*RXBfY}XUoxq^@-N5XD zkK72R4q*0TS)iU}--iL@E*AGw!}gp;DRC1N!Hm%eW&~#xLyil0bl3)uP#(m{TF=qy zc}yvmFHrL$rb8G~SwWXBU*gtbOfOS-1yhPr2i~M!8}DOSi33I`cz+8ajXTXG^@Lsd z17!8T3MnSyYmfx*BM|-;-elq+#sGM@0`Cr($6%30ATg0FMU2ev@F1Y_$`n+=atxYo zEK~4OsM2&gfT8a;FnqdV&g%r2t+-NxcpsWHtke^fEntp9`j1}dcxNanLIO-4Tiw9W z_}>FVrU@`r;32?_B*2hNYXGyNbxpuh7*m4KW(*yO`gI7$F=80ECu%&iH9Oj>hda5x z^ZRzJAmWMjogcKm>uwx4ZuR%-9w)J}vU{9ct9$UdNt8L5J|ghg zQ!qJ%F|d65_U-gx{F5G%GGY+!gb|k^2pbt^HzU9m`Sf${=pp}WMpS^s9c2U^uA324 YICN(iaSfh?QtM{~PPW?UT9Re`2|CwVV*mgE literal 0 HcmV?d00001 diff --git a/B4A/Files/fondo_kmt.jpg b/B4A/Files/fondo_kmt.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4055fafdf887f7146d6f951b0be3e8a17f34a599 GIT binary patch literal 33689 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 N002ovPDHLkV1l*Gg!=#h literal 0 HcmV?d00001 diff --git a/B4A/Files/foto.bal b/B4A/Files/foto.bal new file mode 100644 index 0000000000000000000000000000000000000000..a6ed4a653d6bd86448b921a10fac08f565741013 GIT binary patch literal 3641 zcmeHIU5pb|6rQr(mEx)>B0qwZA5mPXEXa=_LU-HUt(11@7DzCr-0j?LuS{o}nQ52R zm_U3a8X#f>L*j!E#wSg9)J=SWL>|x(_0906(HKlj3?wG?d}lh-7P>JQ9&K_@&pqef z({sM_o!eeb)6Ru7Z2^7v)0$5!UUXGmxibq%kNKO!wy0L69UH|d&raZHY@qFb{ie5x>Ixz?k&m#T=8Jf!4wTjaoov*W^)#^6IZ%WCsn zukV6_4`t7vc_e#ig=xX(>xlILEtH1zQR;)V@VP*1)hT#zZ{xdH7t9;%Pu6x7&b%H^ zT)r|C{_b|)*KhA%yXcoo^6auz1AD&DesQqpWc6m`%K6K0Ev;PJ_UVbE*HQ!5`!k+TJ8)bdn*zdzToao=5B)49Ce`e)-w~zmP z@%*3J`Df?f{^r(_n@7L;?B++6-HjuEUH!G^r?oS`eM}kUXd(Nelb@-|6{IC5g`tbcNp`)a}x_ZfyhN!c-OED$7jNZ2m^sx-F)~q#@UL37%;BV#AhU+5T<` zos9X{I$c0@(z11F^NrT_u+rT!dQwCr@T_Rrlz&d>s^;LFWh-gAoEG|%PLAXYxzy-b z9-WgWQq<8rS*K$eQIYLL#f_<&VN4WlDNTe|X3?nWGOt{NPrf1Q0vG}#lWqgms<0^* zDa;gCl#rl{8;CF}9bgq5A-*C$JGd-lR9B9ol#oPS*h-l0CWJQRlndIqRu#dfQ8s?6 zELExO;$m5t#j<5{3{S3+s?c?1mXOKd@-DGKx7K)fj{b%&=l!3IO;Bs4p&S<$0`5sV+#(Ts(@ig0 z4GQbZ;ja5J9wA$k2<@h-EgeVdz6odwqgobTm4>Q1>P>EYCYwp#{V0KZQ(_s+3jBwo{Fb$bj zrbJ$jJ7aJvL)mnKr&S(z@ja5wXOXWA`vU7zP?y4><(IWW9(;o5P^U!HB0Z$mT2(GgqApu-p z17=zr0f6;2E?r%RPO}Bm9YN>t34;>7ApjWx>ri`d=rKrb5sdhe$DzQx7|IhQ@CdSk zS|b=*j7wkRk6R5;yElZ#x(7&ybP`Yb$|_%p`pRl3w6rz8f=zfWiJo;3*hZcv!9}ho zrByqca!2h07p`;dxaZa0Xf)=i{aHE#)U-AbHqbW6DN38r8cL6$z;AO&^zC7S!_U#` zXJCL(01TH*hE`o3FpR)n3fV#k74UK79QdQO;olCj=|qU!T6lnjhtTt+F%%m~X(1Hz z%`cF$iI#V|3vlGSgEX_VvkV-fb&>|}?mYyep3KpK&D{fSA#(^co{P`KvpG_uOIr9v z5|OPW+8Vo!w%cI`e|ONL&YzCI1j|km0m@O@Flo8xK$Cl(r_ZWyivi6oQ}5<#!qSc6Gwv1XJK;sBqMnOS3! z5~URas;i;UYDK~(%wm+}|EwXTgIADY>12(@Z{iqv?kj5$@Sa(dqD%LOHDCUB*1Sqd zc&yn+8oxDZQd)1#e&3uSB}#LrTj3xc}vWdo2IS|9!Z}3Q&=6WR|(-9^3!$ zfBOLx@$Uhk7ICovXakohDE^-RMU>Q(e~E^Qijo>c0|NbRv~&z~w6yfJAP_whJv{>> znLu>RU?xW9zx>~i{2l&x6!~PN1=0TP@&85_od7E>@C8Vrq!0owu~Ja7Qe5-`5b{i^ z$&&ahjQ=8vOO#a9G~_AKGmtwpu#l%uNqLDpS!yaWT#9h=dw`0Sn(eBb77hD7CyE+ijCd-+cKhuSVWVTJoRjz|9E z^qeA!Xi@xMX#aui{|;F6{};0V2KGO=<^e|X!o0*v$qGP$b7JX_gZpOQCtto(Y z8UOSB(njhuQ?Px*_rR3gg_J~ZES6QN;_1!uBKKqB$^5OgH}V zzI9Ly`>$guzUR<40aDj405>0xH^|0>4Puz3*lYaQZ;e zwcWM-ygDrC;X>gB5GR=KM)9VfH@5IxdFux>PZ!w;O}hlXG;IT? z!Q^3{xyN1j#y6#vD!lNn(9DJAxQ<>`p_lMZ*IK&>v8=P>{i(xi&Rp%_aha=52S&xP z<-1LEM+Y|i5sxA@UXSq9uzWuM{Fu|?#3rE!n#^fY*Y9GRYcIp}h-&~U`@=QwQz+Ye zh|OLEV^|<=c>vC6=h-gM;Z^#idhJtdvbzYX=~FX8(1l$`sA529jjfWR3-sYV^RS}p ztAm1r_tYbok$DpD=_HlarZO#zrVW&lc5vk2cdEI9XOgKT;kw4~&vx2;G4&Ptl#~mI z;RB8y()a}+@PtH3l$>tW5n&1s0jv~vM4x{4w9J6WFt`k@=j-0vrBkPIr`&KPT(iV7 zIoB*L5^o;V6?$ah9bqpd=;XKAZn{Nx`k|;7rTU-Jz%>pj)=1pvac&ceeBl}=n2z2rDYik9(oaM_O-LW-EAKWmq+&OVx7$EO z_OVX+^0Ye#1M`!zlJkgEB~`<4xf=uM$wsL~1swpUzD#6yTp<+&Z92e$@3$jMas#Tj z*;OHXioN4dBD>y7>vjj;;A;`HwpazM63Qy$wV0#HeEZ}wodW8-9Khea09KF?CT}bC zN)4I1Y+W`hHQVwEJ<{H(E@<5p{NwJJ5o+Nh(SXqQk+?9r%zEA=w=?+V#Y4SXOk2NK zTx{yemK`FsUGyLWBXj90Z#`MX1@Vi#)3xMhr|0bb# zHlLS}R|uF^DMeEA%=jt@k4 zpZlf?(K;Eu&7R=iW8re%xbv;NGvnLGl??yL@Wqhe)v-jI0E3ogG%4rj?e<~p1Gi@a z4`WwnM^1QZ;-H>mvAoc3lZ8t>xnon(Y7abXl#2pn=YI!?S?Ddt#A(>!GwCbNNN)jC z(AHw*j(Vj}Ax97u>-ROY?3%am732lLQLQ*abA~Q%AK`3RY4_%M_r>_3z^d7w&%t-_ ztuFqCmBvI^O`!;0I+ZQNf6=x_+#VrW0lx*b8Y_z*uq!!8+c3l~@}~$L{w%q2&SWDX zamf(xxM16TI-5k|(B?$CRcz>5*90ktI2g5QKf%i1b_<=`a+-yUa9v3s3HQ1HsM!dU zB}94x+nWajpM^f&#)juD4oM!tZXA6j$FYe^+Qu81rXLajfn9wa>bI7or=Vy>$GKJX zNt~@dqAx;@P_#OB+q6DLCr4cps_JakoE=@7By4Vmcpd)Xo*8ggQ{uI{j25m zd|LNdh~n&x`pMnoo6enxN2OM)=A90UJE6zwQ))r@$^LfvCcIc%4a~MbpSdYPKVv4; zOR5ypkjaU@j1V<=lEDyjK%IIl)Eai0hVF5H!&-g&u-V6*65WyL$a4XB z)zG-JEy0q}^=UHP_P>2IW|mk5RoCOn7W$uWiUR>%6=xEEB?f88)4P{qRM$o*Odb@8 z-dL>a&$9Nf5=mpcZl370FU2~^!*PhjdbyPnN_w<=+GVDQH{8DX`8~?%6NP!oMv_E)WqU171chczZEP1|$zMq~%-F&b_cyK>Z1OA( zyvhMm`W)He9wvz@DvtB{pqv3?r$%*IqYRk&1+dh_ojD+&m-+5ceFGQVYckK(#VO^6 zz5rrcXb_%r(!6)N^2V%19?d;dCky`h?8LAW{*Lvh`Q@mpsr(qj=JeWS$QHu`@pzKR zm&dKi^(;mn`h`s;4_*6 zA4_(=OUBFckOrV!fxi46IWQT;~<1**%Gb9>PhOh zO6k@q#COFcF~daI4z_1BKd^2K2U9N)>ajToHS?(M2q7GzQ}!|;#flJBW+xv1N&Jy`I(kZAvr;CR1j}7mRShT`@OvkY*X?;y)&H3wbIAAjOpFu zhC@jy*Sn%ylY`?Vt>@*xQEb8M;0aH>JKT-1mgv2>BNN&%m0WFi-|N2v=MF z&^b$AU35*;>9hw+%Qy7`?*ODWosK#~pR3Ob^@iFSB53m9L=DHMgs!qIA3q@6r!50QbOS1o`llsTCIhtz~MU zy;k<}qr|mVBUOJB$ab|$4dZz+iNoUp;5lLn?y<00?<+}bRaj-n#R}i8OBhT3y|lkX zCt}cbRX7dRd|>^?OO`61mU{Vzc;CEv2^NW$AJE0?7OWbpSWkZVl43b^0~I`}+2t}s zpKPv%OCBtby#|C8BL5}3CQrta1h1vV=ihOnYrirB@6lFry3_>ZL_+Q z?P@Sfodn|vINEe;#-f}}!Z|~KRYxE?u9FD00gilQpzN*Ycm~s{t9VePk}pk<8^1Bt ziA`GDghQR1e`!*R%+G*U#*WviDs}Z6RW6SLADpuRy3FW?*D(Aax7aG>{ zKj91M*zVp;T&NYvULbs-2k;OU4yZYDIL**>ZqLC9Vvnm)7P_`mNl%-e`6g2DSLR1=l-*HZSPEurZW$w+ zsAezoC8P`{Yu4Ue>!r);Y3%uFby)6YhwGKNYlGVX3mo%$HKgzH&?6+H%~Z>x-uuf?0;S~QMsM?sdlZb3TzuF?akkK z)o2o@7C181O3K`HtOs?%UqI{oGYhv!!mR|jKsDmo?6?>*0w0pW?UKm(GnIKdGjVGy zU?Ng2+vR)M<1_s*u1TT-p1p6GwQ{vJWyIJ)^a4m?5Z1f0Klnnua)>Y9V(DwCD&LE} zKmvoWU><%I?NGz?#l{{s+@ov%bM`2sLOwdkJo7_PAAi&TTq!MhwmIIz_#j9zl9 z0reUQJSi&^crMnB)(@GVw;CRnnUaokqmShHxsW6twe5I`sL_aQK*kYOM91<1aKmWt zqSo?12Nt#qarV7%I;n@9C#shzj;IV8`9n=hgi;&iagbY^$5$BNpH2o{$EDhoZEcj#dIKHq%`Zx5EBddJc z(%phW{h!Zx^J*MR97{Ry&`!v_E$OnN%Be;Ly3M&ykab#iwAS@h`F&OkGC>K%=jN`h z=Jer>&>gkuhy9M3QQW|}JhToK$@6pxgoBglsxAORvio_ihCs|fR2Z+qEJ>vC=LN8u zxsOPI`ufrk;$*$AYX}qX;wn$QyL;4ldr5+}S*~fK7Ur$4{&6CAXjgvky!5Lrj+n_o zq_{OrwsNgvL;Gx|o*~^6uyTYDY)E*ygTAO~LGZokA48NyKsY(TWSqtAJ%gjEaX#=} z2JZ`?*9>u{N>opOx4g!%ZB9b6dxmMi{8EKK-`*N4beuN;#<^6fq`9 z(TJ027Kxz8rTPjYZ(p+){OK(u)&&u_86j|;sljOAF%g$T)VR<*JckvQkLJ~zhi+7x z{M-)r`r7JrX5ke;ctqk$dp@&@<-9K?3Db3t*uT*wcJQJA`FxaMeP#iR?m@qacS^8G z5=Iy`rfK40Gn}6|>5nZ$VYf6P2B=*$?&y@j)wN6zYrFt3*DQ~N2oWh!D{xx)NIpW?n5imt2JHX&=P#Cd z9x(&J#ZewjpoNVZxZYd7Lb<(1aDyjY0EZ$lJ#s*Ed;t)3lsepG6Dk)FQA9zLvhk|A z3*f!wH+l_i<%C5Bl=caOU}5?8jWs>eaYp<8QspmoFKp1!xM6pJ@@< zao2Cjyega{sB|}?=8x;V-1vHmYzJ=Wyc&I7M$i1uJ$=}&*Wd;45Duy7>mW!t4s>wp zJr%8=!amtmB%+8db9Q#~*91pI9^5=)25UQ*;8l*d>+mMgdwgB(e0U6@=6-{+1?d_- z=%^L>!egHbgY(#KH-88B zK0J4)Je0+kuF*SY6~&xeZM?H9BSHEj#Yz{*n>oLp0u9IAhk$kj)y@&E_lkenc=uP8 zDmJQInptFgrDnRcFmm-DN|`R!7hS^-qh3YAm3_jXl>%go>kRwQ+Uo2UA0(s>y8v`S z?YHR9b3R5w)!{4IP`c{h7k~$ok##!`yT8>)63iH{t~o5LdNUe=eynwzIG){DAU98I zsy8w!wdwU&X6im3@ z!4Lt_{YHE9yEL4D@ND)yyFwJNzW^-BD(w^pB1TGw29m8((61>|5H0faX3syAzCFv7 zR|J6X-mopwz$aq)HRxm6xC5aIqB4#_G8G7ex@%qlgF(M8n}U$YIVjo-{70;vViWNP zuz}-SqB>llaVFx#S0+I9QUZx}$AqNffY1R#&JnvMxE_P17hWa_8q^IrLi7gAF`m_h zfnBT{tpy}{BV19#-dz5=B9y7I%&%m-#pmPkjIxkdd@^6@lCJ)g&!gJ1oBS^e=}#S! z0itIIZnSBWq_f9s_;qfKDEvHq@bCh7K(L&G;tY}T?LxH#G-i*@Ve3{qvHDy zwRBB>RNrz6uWZ)^0C?sL&B{a!6mQ+g-t^1BraH0eUEehz8Q&VRLTQUlfyP7WX%P5+TjS4!Wi&sV z3SR-P=wSEM?LN=IB(7TCgdlR#ZB&t&wGZL+)UlG|%D>X|M*QdRu^o#G06hh#ip_n~ zlaqrg_XBZ$hJ9B8NBhFAZzAj7|&jz!+Gn0^r zG=Asd)N1g&Hn)H;Bot-%U@!Qgp4vt;V$Os_r+}7aCdlkV_}p#!+IAdnG$e!B?7)&t z?^ph?iG;|uMswZt33(3=m?Wy;dyJPlaGy1}wvFCN*~4yai3l!#nKE<3m2tG+vQYqI z!LhgAk9{5XhL@~_B9sG8XO)pS!@Zb$!)<|Z7M~*x;ST7iO%0UDmb0%J$2r$Aw#sSxfkiud-OHYGj2U_$gvKTW}bzg zo+*$fp6g*bR?3tZZilw1nAW}3h8Hh-t8mH;e!lvsC^O@qpuiweYbzGm%|CU=2(q*A zWDCkb5 z938Y1i>Gqnz~4<$Z!9SCd|>2vC7v!XcldxVQ~Bz_s_uH&oDfu@f(1N%eip4!9lQ6JlF4aLDdFBF>B%sG!bQ(p4cM&Q zlDVr{nCuo0-xni`bq-nKu3r!cK#QlSK{<;@ypPlF zGI+H~JQ8zd5{+3jqyS16Ss3;CEr+4>VJaB#3vZ0KxZadvo~#}LPV>RJU|4Np-nNTj zF*nO3&qBYzJY(*`Hw4L^+ey~|I6@Fa9J@288W8NnJ2|>74GlUtc*4d@%J#1dY(|oT zTO!}?hFt%;_9`9OTazvIBc8!3Q>tHv*e?{a!U7MwPqEWxc zLz-R|&=8Kj#cPhp2oyug5Rx z^*f`Tb6ESS!}&123+!m$=vE!ESCwRo-F50vM7JQ?Hd?{x%k!I0dO!Ww52Zgt&>kct zVi@|_B4zbvkO}jWrv_hBM_`KaRO(L2Al@D!JL(RV;*!+_og)oLUM8cLJKxRJ>_HgZ>%YwsvHfxayVSuWOTvYGj)xR_<~rILe`XJoyTO7y_1ba%ul zKR1cJo*gvCVZ*)w7> zkk=|)+;uE=k^V{A4c9?l3X`9RP>uNJATUnU;(x=^<4yJG$sZL?lyX(ASW<%AV1_RJ zr?rQs)JP7}U<3yq8NYY^NUDa_(a!OTL5UJ1lm_ZLO6B~HQx-GTMW~}z#;CR zw=KE2W|tTygVZT4W~`NqYp=8=-;|qDphAW4BU(m5czzesoWl)5!PzY$MJt}>RgK5# zc{@_QRpq{N?y=V|>34s;p*aE{Whw_verxuxqEanK+nLD{`@Dk$D@xgm8xaED_c;4J zt1ze>Q)u7I&dVL5s*}5J;!k!bbEeXLz9eT+X58c{`F$D@^k>$M984GDpOg&yCd@Nq z?#|d-gqKVr#Fa|^zIctNZBD^DG9Ow*8NPuv3^3|hFtjigwNVJ?Vpb`O{#E@J?8CM$YWeDcGYMXUiSTXaezm4Ap3@|nA$3# z5H#QH%T93ag5yk==k~kZgQN(DX<9Ses=LMeKD#o`BHlj3LdseeAdO7NW54qkYU*c# zVyGIG#D)>iZOmf(bZEt*%-|Kr>`&z!phfDp(F5*7@0mMDtYd;B3BI|$dsQ}?jhww+7t?%B+T;djxf7ppXC&g7gp<;0h8FfCEY}WXXSmtw*Y2LZiVf!2mx6JgB+*hkzHTxm347G$tS#sgpEbT z0i8PQ`_v8T*@oU8S-<)}>_-a~0@UHGxHGgUvU_u?!K1ox`e^Z<`H{WNx|yAQV%Pp8 zJ)r-cy@4w#ORY{$19GM@Z|AXGUlJ8`WkM}N87Ec|>@Ps?%}}l#z_7BiIrX7LUL=+ZU6fvJIvD0sq>eNV($9b`C-M8 zxWEpy(-9O{Pk6JMCivTgrFVR(y2f3)VR!-7*Y;gHGD*U`7ypwP^shN`p`+In23l!H zVk(j%#vpNF#s!{CS5j52Mu;~IW+D5dZkxi8qQH5k{=IqGUPt*|4ZexDVM{2R#P`er z7`noUs`Wikstn*9V0@lga5jjn)~TbH_%xj82pm<%8}}+DX3}S>_)_3qkKh4uL)Cp zQr%ec^)(*B4|VCg;Y@yTz6cf~dqcR)EP6RnO%!8%A3x`+Rcd1=;xcsEuj2Z(cM4x= zLIId+AIzkyBUy#SGk$c_wl}SyVWS!Tl+%PIMZN2{Jqk>CrFylliA7U5uN+oLK;q?s z$T=n^UtcxrlI_M*!4}j34c^ACsO64YKNY!tZyS64a_P@yg&RDkMgX`{gFk{CXY)qT z$$Wsss_CqlfP2dHi#L`QOw*l0%&=4yHlG*+>eHj2N?rgj+Np?Pga))N0=(mJ3+GT$ zv~3lS8E-HUw(X;GRcM?ux^|O_a`2{_U|2z)gWUNW(p9e|q1kFRB@E9|mH&fM$6K&& zZnod+JVh_;lOh0@bksG|8=C!o=0s7<1uzFU#6yztN6FI z8L->`B=SX!?F8L>2|b-Y0QK&r-!e<`~xUxnU84JI^D`ty-<=SyO(9ev%(^q zG84YmuW1K&u09q|<)X@8tpdVze9vx^22fghMA3Yvm(Jv*OKkPkF9_4sQl)K2s&-By zM~um<9w;->z1{3{+hGG4hC;?;``yeWbYU$6h< zfh*{_0O(x&NvPZaco#yB?cXNk8X z0BpO*)WVBzW^(17lvA?uhbPSH_z7}>DFHiIp@9GsMd#ru;H0W2AID3+e0R!PQrDF- zDB(O|#C!UwdI)C^UjuylBH|+EAXKs)?ufY^2V7RpF>cvYi07flk4k9~g@IcIFX`w< zSng|zP`z#}k! z7!6@K98<%Q#yiS60r@w6=Ii;Mjb(<_S_n^$M0e@_Ye4?)UB5`FU9c>qhpbh)tI%V~ z``;>;SP5zJFWMik4?|`h%51xr*+sM8kXU>Lxqoc>W!aA$k<;ba@Zt4U0^IP@!}H~d zNDZ=$iu1zXwryyM3**83vi=ZcqT#{iH~&;VsGG)wKjz*qD6NLbF9*hnU00l2idg>4 zsKjHlru5mX%AY`IPh9YhK_S-Azz8#PZPAVVSK@cWgjcH+4a;zQn9CZ@oUXb-j||4V z{ogf0E@Ky12(p-4ao*$UYMnK+yn9L~T$xDpxx^fTe4)fBBQYnwbVS3h!=~mj5>hIU zP=J3k;7AoFcix7vXUE*lEI$7zWs$ws8ni4-r4>8#cE6Vq(@vtpI;fllM2xnSV3lx! zdp)K zUfI~q9A#PFmf>>!FJYarFPm3YtItSu>NPuLt@Xau9s_2}b;ZjjDLyFoEMDY!WRxW9 z?`&5WR$FQ{yWyL4BVZ)pIf}>*UR7$CWZ(l++UZ4|_0K*|tQ|Os7z{m|ZG(4dbT}h; z!vH)oQE8cb;KSTV$YYMU%=X-{lgQHa!e{9@68Irg02DR!OM-HH8toBq=flE@`yBSv RlG+|p@-g!2vVd8(pv>djU}y;31OR{nAR{3H$OtVWLe(cB`OooR8!(~&ulBz$CJX>6;Xr88b(t{! zZ~I?AfG8pd04fu&=775ZF%i+f_kR}>GLnCVoRpM=3`7nB{i_s|)RYtyR1_c(6)hDN zH4UMFDCxkoG<5&k|0el2{NE_Tn}z~J@vq1KUAbxp7$|@q;4cZ$b%2UniGPdn--U>ngp`b&AQBZdp+gNlL3|PtVuG+_qy%+|f(X9@qzq(?{L&iaOeT(? z>%Pn~A<4NE0-BW_ET*Gq!P`%shf-3pvaxe;-VhQN5xprZC$FHWqsIirRN$kCVSx=aWKvu1K`We26eZBsPM zljoyUtb($r8<>Bp{YSI^Z;FNf|I+M#6#HMjW&s+)ACs7YgaLp6m)M12Yie#zu=U;1 zBBB6e%jHqsS8{;lYK8(gLN*|O4?9AHcSnoe z0dZgL)eNw{$_P>YDkjf&NEq7tz6Ibant!3i^M@$!TF}Pk;=9U?q{~_G!#i{f+S?*I zB)&sJs|Jf7@6gd8^%YE|jtg=~{P>+}(=rfygqerb=*;uf4E6XHazG|p%tUOjz}k7L zBLuM|`2S2)N9Gw5pArNc=R_I%2m`OCKj2(1i)HyD0!-cgWsFw99EQ|#;)?We9d<@M-%fFqyp(_^gFF!Jqe(;lcs9V+Q8yDeTTI!n2 zw%z~gxCaQzJ1H3W%cEu1is8xn5K=B#mTT*m;$pO+g>Zb@#v_3x);ll579X z|K4QEPvCmWofJ8n4tmlEzU}sFFS&yUjUo^t)3a0CeapXcxntx->(LVL$^@VnJ?r5K z(hHxA8g}mR~tH&)*u@+x=!+A!7FLZjOA_tlj zsaL2iAbA;Bt5zDE^C;A*egwh1Gwa<)ZeCq8TIQG(cG<}hj5E~07<69&EUn@vjM2yrdMev>gs5__3p^0TI6-!0+lCb&plTlv%YYv3;DZ6LxtF?US1)0 z_(N~hZ&Ze-$@-1nY?hzTS<~1^tA9DMw*z4rn=V*4OkWS<&qaQ$_sZO4U4ON0Isa)y8_7Is-wph zj5FA(4#aH?G~9IBZPsZ#Ys{TUP*gi@Mgo^Q`yy&qBQq_*)*E7h7+OLbbHMq_wikIY zCj|lJ9w&!fpCH|}wGR!}JNxtRzKZsyqGX+;S_%YAz*K3DtAN5z=*orxB}vsJx+JPVlN-&Mz6 zin;?|vYQ?d>K&r(r@Ht(?N=Eokfu9ypJPOb$?gbB%>ON9>Uv~u)JnD)(E2LtuV5rY zEBR_dRyCk|VVteM)+&zk7(q~By=x%!4mxhsja{U#4Tb{6f_^*3KR?v%3yz``Jl?Sn z#O$0*j35}Wm#SRQFWa*RaTO9NE5i@!BAuVhmJe_QS_W6Hvo{5IFf;z{2PLCJw;C0q zmbzyzFDtqeV^eh2?m89d3)hW=Jw9XoBU3vPiU`bCcls+BAC<$Z>bok%jx!#adxT+` zDnOTXFgfj>`{i1x8kSWqYuYJLyS`|Tp&frQ*o&}kSVo53y^F5t?0VWp+ssw7zZohT zJXv#%{3PRiE82aofod1`X^f=jl~jm2-2k)%*{QMOkvpk+SMc>i59oIflhqGplL;1+ znYdrCG97hN5KC=5-Z<*z1x=tN&@H!vXML|keWIx`^@rswL_oSaTJXD+X&Uz0{%kw1 zBj)bvaoTKaHu?bN6YJ|4SgL(!y_H5avS6p(zH)f(6gS2s}BJK*Z2P@&f65V^Zu3nDzG(=R0gnD0G`q}ud5KYv|3Xw-ABXP zD%TjnKKe-9q^zf(Du)J8BMS;T@uSUZkUKQOF)lPa0T$Us3gvYArGGgLGtHz|l4QPiMxVHdbr+>|9#bG+G6!Cu&n47cZ= z{_H)vJ?qRCsJhljjQkWR6^*;4e%&5^XT)AfwT%g`S{I=W-0UCI@#EF_L$NT;?L+?c z3g{41eYq%e83(`3Jtj8)$6G!18lBCP9x;kY0X*yjcJB_KcA&n_;mOy=ipbKxzd5-E zVLr=#v!h1r$?PvXNMB$l`+uz$fP{k85!i|=fOH&df#E!>;o{+if_9qf`iijr{^M)W zO-ZpA%~={M8rQOPtk0HKrgxn%PAG|q_x{pb5T;|xQ^-eB>8$}ZGeGa^o-buXq58@w_nyKn6_u!U z9scj-VO$A!amPd_iQ%eNh1faG+DX}uJ8A}o&2a`~L#2bVGR1$)CX#gOI@TKUN9@rLOvBdO#v_0*0-y>DIVUi++0Zh7Loy+^R>t~9FX8F&{sfr87q&D#-#XP z1C`)jrE5v@{*~ta+f?7bCk2wy2bN7VS`63H0{U%ZX&I3M=t5&6Lx}$;LJcOFm`J{y zjr%Jni1ZKU(PB0x^K^$tP2Op@Cv$<#^}a#|<5XUMefoat+&ezgTX0%|j*?1LZ^VEvKgBpMV^Z{r}Mmx9!|(5(%NnFJ=Sw}O`yn6VNB}c zWHyev!#?<2PkkK)PHa^6xYdU;io}aIj=9FWh6X|O>uRf0t?r7^jtLQwawm^$v<6{x zx}i*n$t!?2%qyqvextk|)--x;bQV*7rI%w1Mtc$JJt`9IErWz2}WIdr%}Qy}DCrDQLxz zm7Acq)EqUq+aeM+w{j4PLw?0}X<&pR3%5DJ-IM~2wVAMtiJM$7v-?kX>IGw~e%k9k z9vZk7alYBPMAHmGaj}FMjT{H50qYW8tMNK(WH0!tzr2}hqv5g~N4Ykm%O5t*YD`5^dx0gO^C$jOlK(~Jv!*k zUz51Q2YNZ+EVv4quiKtJ?Hmcl*-XlE{EePHGI=dU-$T7?F=YmPpMdDToduhfcT?835cC$e58^Ig;bOoRz;CG24aZ*sWTaGw;;Wz&} znIjYNEZDr2_u*?Ja5D_lV!B%Chw91gowN|=*&ppbhqtqokB%$Gh{H1M>UpjJ!tRg8 zPla`5^U0>#s0q$ggbUTUgQA{vP`&^x#Q)?*nQAL8Urfi$;2^bV`>G(}2!teTyi@+w zM(&OIS9XQ5$3>1Zy1U)loR1_z`nZG1VJs)_dtugntBGAUr9VfvO}9Cjzb00bWlRqr zaZME00B%jw@3A|0$||TIvT(s2ac#lZb!@#RmZCz?@2!vjPiAF#Gd+m>?xCVB01NsQ z8GED7s0#NS8~d!d!Js1HrO=|rrb>BZ!iPQcd+LHUu`jOx9(6%YCT`(4S<3W8g!(Mx zQ;^t&Jfgc1*}>!C=UMXSK+cNMvLI$`NJ4yG_fbl}jI-l6$4}8*3DTJsbzmxwhASYE z3vzMTjDJUj4*JrtGWele8QKeu<$M#jjJkoo?DF0xmpa0ZJ3|=O^xj+noa#5MM2DF? z8t;eeTvoLSA6GQrKqFG0g*%UX+1Y%prqaMkTYbmzpi{dLN1b?{x0ieJOjp475m3h~ zsm@_0p}fKpxED6r*Z1?F;`g-iPP*P3NuMsPTrNtRp3`Y-2i@FgyO4Q`WJSdc_hhrH z22|MOx?1`{L5s~|KTxv@`&v#sZ(LKKF_L3qbAMS#V$Y6jj2i3R`H!U zVxL=UtCOI^Zqv2>J~_JrMnp(9Dnh4b`E~>SP>Q8;4(y(3=i%e-ue#r7akafM;EM2c ziwo2dVl`n5{dxa6!`n*WZv~GQI(y~DymeNkci@*L9bc9o4qRM&lIsOg5%IBaG}nE5 zcf*G)E(_b-AjE&J0IC}kD0F$4$7O7h<Ox;)eqf&UZy<`a1UQ z3)Ck^AKKBjswwf~ong5Tl}SHG#pj}b>B5r&hwS;P_KV$es$jyaCuLt9zAMb+PpBID z!6ezagMazt$AMo)l3WxPyk3J;;lt=%?e6yI+7hM1?*>ZF2N3I7B2r^Z5x?+kErx~N z?|TNFYkt-SM9w4d!X#*BqN8k_6eRHqpv2vgz1V{qrcvIiJ%okbx9KnE@?WVO^jHhb zgqKwPe4^y1Nw;6p1*z-nZUI>bN%cC=Xf+puXBjufF3Wl*)Sd3R#0%eH(V)`H&<%|w zU1rF>gHhOhO;=cWztO(9KyQ<=KxmAWecx&I)Mv_@e4QPCt!vWIS6vj#Rt8rc*|T%T zkjKg=3fOwgrZ!yxof>Y1ncf|SmGeEkV;YvH+K-aXIQl{5u!ko<(e~e`MxVZapT$() zd{d&g#m8&8L6Df#LPvgFdYD+$MwMZz#dHzRRb-Nv>`Ws=q10cI(9DFnJAid<6@0Hz zo!xb6s>fR4?Fc=opuvVP@4o(MyPo5(@_~cF>8)zoydY0mVZYI zdAz;?C<+#~I1#xdG;f`UuK?bZ!HCvZgd#a#A`=!#zGLVj z1>@cPT1B6HQf-PA9ob8v%u~%TLZ!Ytq&V&PNl3 zEodr&Rin%8*H}qERk?i`cW^^YWYalg+b)!_tDPf#8@8}8&6aQB27Bas*Zl5hb@{R! zmB*KOBH19W!xTFP(B&YA7UrF`SRQ$g-qSTD`2-ouu;e!xiB2 zNoW;imeuf8uhe=c<1n_m`TKJAFt4CFhV3B)}nU@p>~GUb=CL(cX3wWBp%qzxZ;$aM};uFC=?jO@z7vh}xD55OSBFpr1!^ zE(P|s?iRG{b&UyYPn92JXM#m!?y^i4-FSDiI)E~TI7#f-VL7pH2(%gy>C`wT)ZHnv zkv5ZWks{~&?(w5k*zf1x`ESlIuhBz<)kUxY8d&errw_5F20O#Vea~xUtQOCpaxG0o zPS1)t-z2coAnwzA9eAg0ex!T_%y6yJ<)T3=6R{q0^HZ8H)6M37#xkYf<`Bp<6gTa8 zo2fqqJ(7M`588n#$0lf#EEwAyi=W7m~VE0izu zV-{f0E|bFZVXXeKzp*-IE|7~mh?(h_yoC|`QALNRJ_mGy^LRbxPxu%i(s?D)Cku?9 zx~mz2-sDRbs^T9JZ6Iqt{X#HE6q~zD)O?ccy_0t%#o&)g>o%zm3Tfm;`qh-m2bUE(4cS)wEAr-HCxd3*d=89v zouDosID2AyzZqR`^iDsLA+Fqq^?O~T6s;)1K`uBAQ56yPx6oN7MKFn)A-mlrofM^< zx+ZG2wC~l z3KcI-6?@@ddV(aD59SmeVtb%@Scjef#Z*w8VJ>-IC(i0?({qQ8qm)AXpc z1a)nGhKfg4@Ld*M0d71B9j{ti%HP9ER*zG>4eain$?lX5Zs@ot9WAo>{`x(t0?l0*@UoU@e#KZn5rUK8T2LRFKJ$3Rw5GJk77*$B_pL1k% znt9!1b|LY|#HkeZomd?}TZeqE z0QVze#ID!-XYAs^G+_=wSozt*;m!;%vi5nKaW0V6)yFskx6)%NV)v{7<-!a~ZXc?Y*S zkS39nDSGkdFvxQd@^on?0X!Sq!KzF<)llS~=HK{E`CYb4%%XF%H2ECOsI88mX}1Bn z$hP*{-PvGum)P#v_dQ6gsCleMg@=<-{rHmxN>A}n%awH5@%3gOa^71$DBs}#x&f=!_U5rB`gDZU=-if$tc z56?1<(nN)Bd%g&1@v(j;kEXi2;r=2ydVFLj5w^8v!D<4ir9?lm;mFyku+@sF3}x)w zo(v5`aiqIa%q3PJ^~wI2auLVQ*%_)WhVy;6AFa${uNtJ=`n8=N>4}0;U8}(} zmU5?0-?>}cubaK=ORP?LzE*jBK#HHp5*%B`n8jzm@hKO;_?4zL=3B2?_4o{*M7tcl z-%U6?i>cCWN_QYuj8dfs)VNL#F$v$6XrRe8Wo+FDF3h9pv~#o8k2k6x+Zwbo>s>p% z7b}Q(Dv&50bz{(bRx9wJqau>vyKd zIaYDtWe79;88-Dqg184~wxWwGN)ywa;-VD;iqf|F206qsE4j{|MJdQ54I!?4GhjU| z6WV^KOJNXNzJ!gohB7RuYB)`Nc}eku3H#&`7XzK{9T`2rB=C*PECdfuw*?(C0q0PN zc&Q{_QC>Rf11%S>YY7)r*J!9a{89axiSsP_dIMEXB|vmwt{mA@@|wcjTNs5KzZrZe zlo!C+&?hJw9t9c~=Kb=W5MBKiK#_$icP&fMvG_0EbDUs&y)1Vh;%M}yO$ujxuCpmj zNG06i?0SSP(j#~S3cE8jaGC#@Gk#oRjv_za zEOF*g{ylB-f@e?-Uu<$MlQ#BsqWNS6u-}F}B;*d$g5%PwmB5d*3S{v^4m<-)((Yj2UdKf2k+xt<=qp8k7NfR7#i z2pzwk6`eCXL^p+D>+g_F&|*8aaF-VCKj37E=f+wLMsf*w z-og~|s6Xs0o7XKoc5uuER)T*E41qfvEr#q_^ROx?&qBh{%mh|lZ*V!U?=IT7x~UO zFovn?)j>OyV;jAlrohWJVXee^sy+EwGb8RU&7SwQew9$E1Ad8thi?#`t!TEryDLyy zPxFkwOOXdom>ciV_FB*{A6>^Sqg?`%GxVk`M^j8V7;-wh_&}ue;3_->Zuarvm{21c zno#}Q8+ZF@()M{!yNycI?=%#n9)I9xsFJN%XTh^9*9R-wqv-dYv7)Mh7_N>+`|OP& zzZEcxtr&&oSmSFV6i7`}@$yR+;*_NX@vO>hc5U2DdwCtaYsDsH`d z>v|7WLyT{kni21rKL6RyLWn62*gckLAfC{ej0bte9vLoQw;N-+xT^%A{8Aopt46nt z31_O;#}$@XvsDK=Y+k4O^~oB$7kcAT&7Lo0518wcbzXRSF%5)RN}pLdnK}LWHEGe~ z@QpWY1rmF{6fXfcSn&p%Ph0A}I8iJWN(@M)xmPhOQQ$H!ff6K%`|?cYg#f zK4x=hX?Ip#2d_H<8bE^ZU|2vOr1~JZT1~ADb$eX)V#`PFb*xIPyEi8n7fh>Qhx(;n z#9&meS%T?+z>q+(*M7y=pxF$-yLmR9i6gqqeAza$-({U>)H>nkS%x%G{`7bMGylcC zu`}trQzEOzpB0_hsmL|d^eS{?_l-%4KF0tFahMT8$_uoycmK8DTP6EE=5rB}A-n{l zpO26ldK4M0) zU&d?<06gLB1ZkwTn3-Y#u&kNQg1HLMqSMW<NjNji04m*yKvZGg9>qQEFkr1U1{;XY881oYf2~aqBJ{Z(@S*eX{yf6lR zGqHz&_J)?l294Ag;JzFe z!6`=CUcu?YA4Yew^z#DJO~J(>Di!QEVzI52%U7m6OrTiU1c)cswjiI3Wa>6XL>5`T zJCDwJc!#$~*I4?G*w1RdIR%ta^gb&WUsM)#hR#LhCwum_;au~_8s$4$n1t*VMRP;- z^WJm$KPN|}F-w~HBjm_#qcA)hwgJ^3i)40JHj0u>|75o(N9|l6o^E+d#gZZEN1=LW zbE^YZsIYwoI=c*48$-FO=HH&z0$*NO5hK_uo+YgQ^tbh%o5&omL!M*qa3^+wXHMG* znObj7FeU7v273274dl0YUI=0T4}3?w6fHL`t{)jrVAaIQ_ArrC7NF#K`) z8FC4N^;EA^OMST+GM(VRVuJMAbHL`=#tAbg4Udrva;r#=HXkSvPAqNJDD>Qj-ZQPd zSTeg{FM01n67jGYOT?Vg@~^Ed-xO&FHJl^1Z8b5bQ9L6u(QgnLfuK%T=*jmu>TgWQ z&m#%=pjw=7s!O`Dcw=6H<6YbtTW37D+ktzdrVdykhS9@OePd zkzh5N<(oi!3;F?+t=YK zT#|5)*?I)jo*dzfF|2v3g&}dV1)6jp^E&v4f7POsI3jch`ieO=TC>nPT~c&7h0&hG z$YVRHyVX}fmc0A`@!M_9khlARIpCoyfE><lCoy0rj|a<7gBVFOvHhQ zIaG*!VAyx8iK5LJIeWW1Q#%em#=~x=j|62^F`qOgu7`|1jM8F7-Eq{=6@F9xds8dqqiNP4!9nygnTnaU_q3c=jlz>NU`4N+>aPr>dTmlhj$h0eoooeb)8E-buqr( z&oVvlamq`C(M}Fr=6TU4kH1#aqQHiy#RNo`!&_WOw0Fe)hhMsC`#nkE6cRgJPNiYD zxy-u)mOsq~O&qKwMi|dxq1{Q1L-J|Yf2Ee*bYiHs6k`ITVAD7Ct`WbmP2Bx^p)rR& z()~zSV}|O$lRu|oPQ^1jcZZwMYdxt?kaDda-V5oP59qKn6Sr@P@dM`yD2qK6)D^(z zIheB~l#4>L-b{O|F@?Igfg&lnn_`Lralm+{lT*MfTS@a0?PoUrVw-Kz*`x(kXiUvy zbt*O-#Xc`%W7ltEH5xdOHih8T%)6nzo~p}bi>@*1RKJCJ-?2a^@v!SWe6t4{={59$ z19!mSUMajt(M=Lqmz!W$RnG2{v`i1q|5NUSD(r~|6WoaKJ--U@Q}gqL>}Nd++RsLn z*JPiIcIjNt;$SC#m~=;OEMj3K2Jll-e&{iJ{9nv0^PW>{VU0Q7RQYWp;*WwQoa^y` ziXT@=EcO%Ts1r$%SLglODq?B{y;oBeqa+E1f|V@2SIpBi)fgVAtTb2jIn?yUEUtUO zAQa?}i|jru@HOrM^Vtaz${jWV_mSEy}l{G?>Z`WY3? zw5`$;0f2H?A9FyD?9fDTZFQQD`H3a6>9~2S=f0MTTvm?rXZ^N!B%IWj{mzG-y5S?} zY3+F8^@hv%HrERjZEpc8$jN@;?S^m!lv;mgyLW7o8rfdbGzOPIM|PRJ{u)N@w*-3r z*lQZ|u~r~;;_~TV{T%~r$Q>lMDqa@Kafrj2+=^jPjdbd!&W9JKD0ZGQ+21g)>pu0o zE~BLQeIb@^oK7nmxf_5wiQuRXdf1nw{6G>qr9EEVRQ#PK`?c)bdA^obZ4ZBb|CbNI z&9KdrZzFgHEZw#Nl4i)s+tEd$r`aed|95Z5qa;%3%To1_7kduM+xE0r2TVX$7I!NK z{wm-8dcv5&$Cd}D9|wRRUEkxu5@TSd#M5cnxGv zpK_sB?CA6K$*Ym_eM@UA*ylg};bv}_Uj-b(6J%pi{d?0}51%?zxkW%%<^q?8S#>Wo zp-=``0t$9wDB_0hL*3!~?BHQ{@f@P8KGx8?ja$z?kwXXl_}qoM)R$dOly_iB8^#k! z_`d4vI0#dAtrGee82Ck}*eX9|!1LsQ;cQd{RToibN+A#qQ2+rWps}TzKxDK7+87yv zU@@~QQ-$0Zj*=Y7buqU~Byr}IuW3Svt9gDTn8RT4t`lu+^O$Ii$^rXKdkQ&6GTZLg z7rPv~9mD#lHkT$TLQG1h>d66lx#|KHzH~+rWF-F43Ecz|Jy>9Rr4#yaRzDI ziQ6Xh-&Hk z_(wgWRh_U%@3FjHsOnir&yesg{m!{9X6sd1W+6%UD|nyNoboY(l826jDLd73gVqN1 zzJo{MVPp8;orr|VpSNu#${R;|FMS(iK5%gGN0AhRVjd-T~!(4on3%GBx{y0%Ho=ATV3S4{UiCOhdjq=lN0m@Ra^?CT0XKStHHy+ za;XcApZml?c?y-(97b_`n@phf}?FAQN`W(9Fi}HSgAHM%lKU-^pvvWn%hcy3F z^fkv+i@C^NeL%llMbQaOs^z~%^2-TA%@u-H=3Nb7{T6l#mRF&&S!AT9O zDafgt&HF1X%&xjFB}j97MdQ76Y1p7$o47j#KLazFP_VR3Hy(`D%a?_KPq9ZUY*ADl zfu+5Wni}?ZkwPn59c27mHiK~=Ru>l!*40hwB> zeL?#GX?5%6grb{$z0^{~IBqOYk>xh4^sLA2Dz6ApO*g%DF!+gx`v=?@mCQk27YX@&G3^EnI zXJ({>4~D<%zZ>Y^bZfQeZw2ShspHDq?#9%_nJz80gjD9b%AO5LRs}sq%Lx{-_{vTh z4Zw|==sa``&Y-{`H*^}|BP6h%g2(;%2|CR%S2}01As|8&IL1ZJ#>r--6w zDu&;4;sK^)KN4m60jA!-ivA|Cc!PG|L2q!3T>Nz|W1oVAmB9-oK}AI&%azdkkD0o2 z(66S;;dGZpI1TisY2xl|a&>F{%Lu;XkP}0b?0x>!hNH}&(bpSiZ}x2JKa}55AH*O& zl`OzXFafw5d|(^|_3*m&%pBLf;Obb_66P*1p9{@MTLQO6-sp#P*s)J)?#yo+9cKFO z%FbM75fb)ui=Qv>6KTk5zTLJ}F)MG=!R}d~bk#DKFb@ClhMN_UdIHJv16(h-0J`;? zL&ql}uTL&zrd)0g%2Hl)?Dq_I#_uzjeA0*C*32kAL$X=6(pw7R zyPyRJ(eDI8ImOHIJh&A4Z~8*x^!?hXH13p2ksP|%9}fDexeq=Eb3QSBWgZZxD(bWf zrFQV({M5Lxb^bwIcg7QvJww5 zYV>n- zLF$0}4TKm=0D+O+4l%6~K>^*fCm&Ism-lN5T0S$CEgDi7-**}w$`KBAs;lZ)y^$b7 za^j{p?p6I-q_hnF0aYFEs7qktO%}16oYDQ|t;@0AL9_cXa+Ixc2`1dLuwwpeALNNX z!ZQZFn!OPR8|-;j{LafCof@Lqo!nj103PRyariD7Rs!=u!IcCT*&19Kqjul>WF5L) z*QqssL_-Ho=N(`^ETx4N?oMMeE>LaVTR5(=L9$=zenqwE{@Lz&-g}$ZNKedrA|5>9d$Tv~g4Z@b?xH;O7o0zi{RjY zhX&1`-BRQ=R}OQyg`ZJZs>VR}7)tv}uQj3Df?s+LIhlL|4q8Hgs01Q@$xsl#F8TPZ z+eysxTPSA?UNi(8z6J~^ntUst}Gr5r1v1k zpip;g30BcFEL2djFsDru%)qIvSr!V=6?2ACX;D9p=&1Or&W;#tBv?F<#MJg8G!lZ2 zyKc4pzAo*Q-ew!a(bH|XUKu~-zP9;TiuL3%d^G0F2-O$Qk7VCcj+~RMwo&t^6dyMs zw%iz#Oy^Ww5}R@N1Z{DLj9ocb$qef7eh_SMRb zlwYEbsX|nh1N?7ycN+Yw9NDF*MFoPXvY8N!uz*!iLbJ)L%cLuT8Kl;%V1yDW+YI$^ zi4dYM$-AX)zBd+nUEH#kqcglB3ZaJMnrvmT-8y>uilsL?2iv%@!BjZpGdimy@S|O> z-v0=mckylUNnUpKy^FhS6&1}~n3Q3ZecMXBLHDBQ+wK=X2MatDX7zP|m|iE@p0FWN zb!XF3jO3;;gJ!PYW1ICWU=CzDUSq`j=aqf@Dpw+x26t@WNo=CZa8(?azk9xw;Nu%I zGu;$(98zMTU1c*5K8(iaVC*?0&Oj~3#9V5x$HfVftJ}wB0sN)qH ziYQwjcE?fb-Bn#kcpxHt%6)e2^P!ctR#*sRWGI&qv0mHQC^0 z3{dt5=j)Dy{M;j=|kraBrNzLa2y9I*oZ>uX^*d z_Ibal997eYg|$pN0%!Qk(Z0xVeML6Y>hp*z;B5r<(as)imJ!}?e0tUEHF6E5&hmEq zTGbV>_5(Pbkz^G(Qdkq~Z1YN-{iu(XK%bw__=!cy*+lUy>^aE{7FtIYq!^^FQrz=3 zSU>39q*ChWWs6l8>|1G3*)6%yhmjZz(vDk7W_|y*DfYhJJLkNJ_Kz0)0#jj#zT8a2 z382&z`dXN4Wp4y!g)0ub2b=(Cq!y-U{2) z%~@Oct$n*-N-0@`Qm9V9Oh4BG#1%3VQZt0`zHK}5cVoKQ z>`T`Rj}`5@RPuE7sbotr64I$Zw{sl1+lD#nYNM-G6SkgGB^V?f^XgmibUpi$*Q=s`!UAsV zFWmyzSMGe5892;;V@&>cx&sNucA}mu@#mNB~8_f&c;=WM}lu2 zV08kS!v}LoNH+OqU!Qok;wPu&5-G6?_9NbKQLi-A;*^zzS%N69e9DFn5e2_VveOZT z&Qhw%3N&B+8tfG~!hsRTm$L+0GHgWGMb=Qbwv6uX$uC*&rTd6Gr<$9}xKT36^ioGV zfeyIO0`?*?2Zoq{h#DlDhr0ZvK!TS1bFAs1$4YWsQdCD&k7&d_t}yT47X>dhQ3*eQ zv+QM;o@Hzz_ae{5lO<1osZuNJ_D;(3`xKJ)f~trUU4=mor8&8Jh`)zfo6asmY6d^z z@GUah&!D8k*N^a6)%fB))k?tu#$notz+Vf?Ju;!{c5}KvGO&es$^rE3YR^)wRM#6j z0>VzAo~WKzqznG=m9^cnNH8-|di_aWCPjaF$@2U7zkJmAAwK5o^{rzsvq8Vh8YY~Z zt+@6WF2AfmDm9ZsjfXf(uiuydSw!`W0yuxTY80WWM|hkQejS}vurjyc&&L4En0}Ns zWhb-9%sTth8}W0GGYnr#VN9;^XS;(g zPY-0*n<5vJn4E~7w6-GkEmBmG2t%^V9m~3j{nxW>Y^Fc7U&XzwP{PJui2TDu;@VKx zrb_+Dr_}q?Bwo0b*n8}w^O`;@B;O>b8td2IT@9=-m=*agLedY~g)Gxw)WVvw&p-Z! zBOE-++QRv&q~0Jvi`#YfT$K$qjZ^TpnjzmH-$3zBnRSi8eE)XIJ|HAbm_zQ*M=~xA z9ubmd=v)|{vZX|CCFo&KHduBp=xLX2@|P+2EoV!vA$Z_>)`EzxwvWYo+;FOBpgMYHo8T+e?-2AkV|Ds~8JqEz(VBca+t>4_X-p-JUIBqD6QK=`xPLyjB z()XW#q*Onvm)3)lmc;j1-X{4aHUn{iVukzSTjf0wL6ct^P>Hll%7(~_ZO4@fziZ$j zo@!GO$E-)XKZ-(PulMU!Oh|!oENJMPHUF{Z8>mmx`4=1G2BC~gc3*GXvCTLQ&pZ4G zR$3y#NsZw7upmS9)Z4J1DOBT<&v0LUTHC=yMj zj@17nAN=nkWDz!ID^w$e2N+L0{5R^IA`3m^iKrrmftx|ZQMv40T|LL4~ z&U(y;W9uRG9yjVtq~6494H4K(WEdnyZgiK~i<#(`LT4gP_F3AoRA(n)bh0`V%npQ$ zeMNBv)Wab-!H86d)RiD&O+|9kproo^=Jj6q5S zHhdnzt2mZ)hhU{*3Cx%roCvz%3P=yo=(`Lf02M2q`Ez=No{9)2m;*k1h!i=mPB<~a z>O&)sOKKXbM~-b?7yVjGQ(+&SI1eTFESQUtCuC`dmg*FCA6@~pEO~P~2)@ReF}QDj zZp>_8$c1_#(b}w0f@X@I&RTDG5`}o-(V+1-+~h(WyN;}OYQ`eVv|#UzJ4)IG$0a41 z$XsH~#hAlxME_p%QHg<)x4G$y;u+4&Bs{yUkx{#|OU9Met#wI`sQPHLG)Fzg6u z)gcz*KFqc=`>V3Z-VpVsWvXXx=&N3ZfuKgAW!{lio=w!d-fJQ6#ONGB{(5qs(0AK; z%v!pqy)tWi>*)#gW_|Hpq*D^c0~$d*B0?c6vv&;(@jn*H zG8kZubx}3rJiRqvWr@^Be%wmd&iVAMm-?otAnHSkRdneE1S=%m6)!nwTUXhL=^;2~ zYk_iH21cyg{wLG?gRFNsZOLZd!=>(U@hDd0vC5gW7dkN$g`hXv%^}py4EfmC20Dp` zqY?s@)$t4Y?x=W8?ScP}j>2x@ literal 0 HcmV?d00001 diff --git a/B4A/Files/foto3.jpg b/B4A/Files/foto3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6179697336aaf1792239aacd26996d33e4ad76a3 GIT binary patch literal 16612 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 B&)xt4 literal 0 HcmV?d00001 diff --git a/B4A/Files/foto4.jpg b/B4A/Files/foto4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9828b3efc36de86da77b98199facd4d07a4307df GIT binary patch literal 15202 zcmbWd2UL?mv@RNobO^mekRmEgq)H2jG!YS{R|V+;A_74|5e1|d6$GRRND+}vXcDOr z5a}SHCIOKq2}t-cA>4S*z3<+4)>-S7$viPyl!k}45Fc- z0l}z0&?yGwWd!r}0)Z?nKo>zE5EF=jh8sjjZP8GFAUYb*ng3{mK(=&r|9bwTf~+|I zv;D8biVH;lpZy$tR^0!)P3@yTolpV-HDsJFfDA#jG&KLN|5@nH(ETe6^z?LR7#SED z|5YYtR%Rw97A8hU7IqdERyJy3Waa>~vvK@u|NF?l*Z;jmz1Wx-nf^WT|E-*U0dX;b z`aw848c7f>7Y!X3&1pXfLLKQD>a6^mnEzR5XzA$BFi?lY!b*Lhg_AmbIyzeFV9(G~ z#ifa&-Urcho#8&KY{0-{b&pXpnD_G2tanUOR~vfxZcpH)RooxNF|+Us2nq?yoRd9& z;i9UVx`yTzEyHU@#wMm_*Y8-{*xK1UIC|Xo^z!!c^$U3%8Ws+Vc=GIdd_v-jq~z?E zuU_ZmzRAlkEh~RtQCU^}p|PpCr4`ZE-qG9FKQM^;Iy5{vH9a#s_hTN7!Q$4|e{THR z+#>8B{5d2Z0mpy;$wfn5!v9tNQ?UOc7Z+77TIw3mGyao{hBlm9>A2|6oKGN5b*b=hn*_rer(K zO`Dp{bY8qa%XSKqWEQ%Sv0vhaZ5yMFM&BlTwPqjm=+O{vR=*#p>MlO_?t`nJLrLgeDHY4WUTIoWIS*R z@++vA)9anp10P6d&GL$?wp<>rd0TJMzVk@??grn>(r7f|@AvrNsNmItTF6dt*`m{y za2Mw&SLosg&~W=;^rpn>YEd)IA2sjo{F97?=1s*G)|yCdpXsJiofOgFsh9VcZ1Vwoo!TV}X zK|KZ{*IE&U&2Ai9tTIc5UG+a;pRRZ%T=7o7QqgzyX%25#W|j6^V|~!uI|0bml15mf z-AqAWH(yG>uu|e<^CfTl>D?{^h7pLQj1P97m?wGzd*6<=Cw>S;8>?4R+U-HeAoJ4V z`kt&L!sQ^(93e?XN;3+NPk8$NR@CRzyBX;g?rtrqeKS)|Kg&`0gvkfNe2+<=ccfw{P;;3`+?TU}2j6P%db4_sc`7=EkH8SY;VXqb z>qR!6f>IRz)bTJwn+`3U2L9gHvfrOcX`bx$%28cTac_rtm`gAY^TonEjks zz0}ffmvN+TFr&*JG)zpAlfZ9xz~IOdXb|s6e_Jeq?#>xQgqn>k>G3P6fv}`r=a-!2@s7&x3XhT%4!8Zo#vLQn?!`P-i|mAbYN>U1sBn-f@`r6Kh-fuN99(~TsUPf45ZJMS zq&SpM>jYrUtIJb+C%e-yKeNX74MHkjZk~eR&*t*?SLWUN&Gc z@U5-!(_$!OsIK}t9@Vk-xw&;v(;%C2{zt_1wfRqGKRq5-(VELD$(>b{FItNA^{5D((hIws*2cUtM1d7TxkkJMEG5D9`im}yTs2{C zXR{7CFmG#liQVYmJ*OSVaiT&xhxVzrj{PKW4({CkZt0OcFah<@u07|k-UhT2YOG0e zFD2Ruynadyp#CE3^ZJ6)yy!j)7t@#n;F7m9xa+c&$hfAdCe&bR(6vLozk zfy_gqoTghAu%Iux;j7*QV1})3Ng(MI#6rS?2f%cTu$+Avf~ceGd#r`j_4=7ZIUie{ zewk#xWX4-I`XfWr*_JKQQxN7mn3$biTn4vqv^;?<-1-bdIx+rkrehH<`4PWhCVju= ziY?7d^lc{HD|IOtAWb|`{T=qjq0gU%A6|soXJ`vcW5$agGl63DQAPWeVT*E+d-Z^bh*7-zxRvRLF;SjT(EbfWH!gCRT0 z?>Ac0ar432v>FmPZ!tOK{iMS!o&vcR@F}%#XWyb~>vodI{Iu4mT;|0miC+deqMB2a zLC0=`$X1O(O9p>eNJ{}Rh`|4z1vz6kxyuX|_K%$?fvZH7twCSJbRUEYof-TbF6FYYd0@fjm+$&+-$LtMx`a6`UB~acAV$PwvA3J$ zY^>f*07JSD>qJ4AyKLS8F{^GUR^3S3$-te*Binl%4wfDPA@Yh@=Boa1F|6H12V>@2 z`fGC|ZcVODB**As2>Ty523X{^oP%BpBx8rjA3_#?d#sE}xsd6mM%|c#M>oj8HUO<4U0iB(&+w{kJ93% zEPdT_ayV2nMK5}S*xC`^Zy6g+17vxWfA?z4=!ekWtU1%1+IIOGLQg`QS(F)S7u^B42Pqokw?_jT>DM9_;*rBhf{Ol;EQL>%WOXl2lUtRpzvNWDbl>&(o7(OfS?9ubZ%lON)zzsyzmy6Nzp3!OB`!2e^{Y zCmo|F9SJ3;Ap8eKr?I>MOe_0X5+2!(h<|uV&-qZgSOS=0+|453u!(&uy#6^w=hC`` zfi$v7xuYXou-V4Jbve?@`0{o(celm2WD${PXYPh8ME6HrjgPl$0l{(pq-cM$0O28$ zPW1S)*B6n%_{xCqS5SY$udhez#`Kte(hcWXJHpci&M~ZbBaJra@`##3m5q2xq_=RGWL33$A1fQ*DFd7di*lr`^&lV z@D^QFX)@?RT8kVeXdw}^a|)u`1z!tCG50H>P{6oL?t?2#%0f=|uW^HVAyJcf5#xDA zNh#~~KKRY^RgUGo@3Ce ziA&{^|L~#hD{bwsVlfKTFXXZdoNnUrXib}$Mn99ZG4W)nMm?$_BiOzeZ*m-(6mu8M zfOt{STHqQvdVlM-lktRs%ouUtDBr`F=C%3nFA|)}ne0)z`Vgfpw`L>?$+8SYvxi{7 z&mSLmS=1SnqTeG@EYR2LKIi*Fc78>hy60T|kXHDiWR0*b{OL8p@#k;vDYDtBwo|Cl zerY>?bn*KbqVPN77ij6nS&8s-)zK606H_VNjr9wsAm)#e-No}Av2`{j;LKAH6(2%i z1=tPh1mpIYd=WX9fP>zSimZE)@6ikLvs(Epiwmp)qoK^S8XWWJM|C3X8-bQ%Zrt#* z7--@tsHG?kkHiGUlSNjMY`-#-QhaBFoz-h2p)dZhiu{cDa{1kJ*Z7MNg-Z{Q_wjnK zfrd~TV4WcIt|Q$;bOl_R=h3-1yD#=Aq#<@F_4VU`N+ED(nOC>x_)5_32*y-N)oE9f z$UB$s)52PNl+6!hVJgynrD2kbAJce@Kctb0&#Ap0PAmaWvvNp~IwLmkSclbiC=HgE zfY|~4dgSf^A=}3x&&~+H)ZAa3b7hWXHVh6Ht#3F5eJVQqeHHd&HlOMh$<#YGS^&u1k!4;`L|XBSqE-r?dLVF|n#f^vC#a)H;?Ix?iV7NnJYz66|) z^mpT!U!u%Gn~Lh|Kjyb&qy+97rW^|lx8@p6j}$j0{5a0mOdwvh%lxRpxpI9jE_y0W zBznAHw792m^ux|O-Q9IhNnEJ^fM07Ki(?INuzdy1;HZe5CJAGxq zjjuT;KS<9^o*eV>cUD8jvG1c*Hjh|F%i0Lbovl#I1XoQ0;u%>xXcc*8TU?4DHd_js ztW#7aZT~7ub-moTfm%~-9j$bhcfYDEy?&#>zOH3yGe)p9&KNNrExc%kxbJSx`ipOD zIQ;DmQpB=4)pcTCnZCuSP#4|H38eHcLnbSLGJ->HpVmxkyJxuGJMVCqOq^|&l&^P7 zn9uj!RPeW30ZR!{%ULCGrI}_6$?vm45Lnag?0IM1(P`nJg3!VrO6zFJ^>DTaHW0}* z@sR#`S9mnyG4voluJyD}=AzPnuQ{4YcKOaC>ZzkPg?<(jqYQINay48@pLl zf*jrUOB5?ag@r9{yq*F2rZACxe>I~hR!55X<|O}<9wd51Pcg%SVBApU;^){>_kwJR z6?3;bS3W*}QkZX_%F1h{YBk?~wfvsG-C1*l9v1`-CE8;g=e2zps%Fmy586&p{u`XyrB!8WPn%IiDbj}9Xx;bq9t$Tj2 zgYfOnP?<=I?bP#b>0-DxE{8uxaZ8n4ARlSOawg~k533Q3%!eR2Iu9dDe?Nzu$Vb$2y}Yl@2ROvcJv*`rV$S}HYu zj!&BJ*U&x6yYnkz`}P71Y5uuLbN7%{BuSc7E!L|dP6qkV^-#}42#@MYtI3xYjy~@Y zsn(i^k7JK>Ck8W(_~NI}3iF>?V><$^Gof#JSMmMvgijIr`f{{Zc1if++xa5=T@yP> zGOhX6#`%{pS+nYa*7f%ayE409?==E@CWzN%xwq?+ugN&LuJgT0@AryT_xbn?x5Q_n z)k^h9pPErrD^X9>S8G1_e*5;2*SW%s{EN;pc_0JJpFl{U%udefrY*+cEX8#u%%BAI z$+5}bP(lg&6FL5%7f-~x6r{F=9S1)e|GMs3wxEhP^hK;~FH@N_ z!+?d*DEVDY&CZN;N{hKQ(1|JJ=-ajHmKfjJJ$i6?w8~KQ?go9JJc9u?R?F{rjKV@1 zBXbx3A12auD29;O+hI}T>;g+MXhEbIHc$C+mivLP+P5-9Y@oXYC@g8XLNHdA%%enn zKH2QzZ!}$3*Dba^J7L7}j@1+0>j^6S0a2zadPUPqmY!`1P{I+PRaRusquEx3)spP2 zGpvj~UsAZD4DwvXVyoD$-&YY$*WY#v&{*U<-X_WTiSq#{0=Ngt-E}3n%8a3f@Us5` zThpTRwOr*4@Rn7!0(ndxKC#AK&@i;{*6x?p6$5>a(&Y1?Pj|2zefD~aaJ9KEjZi7W zpxPfJUX!1~^&Lzd1n9+vf82}XFtKuRQP;C0lz^W@T<5yfI(z>XwPV_%FDVvOHq>`d z-#CYJZDdnjGGiD$vOO9v?FpB5@X3~_^x^P0tOXOR2;QlZ`8dP)&;m`Tk%IvE*=l#$ z-qyjTi#+jnLz-!Y?C*2>ufXkA*}*7B?;nSw5c662qriQo+S^zioDh07bu|l^6Zja7 zLb9vbC78k?6~Dqcze+n5(hrp`Hh^MxT&x_kj5CN%Rb%+(3TEi| zQE+NL^?XYV1|UZef(;xt+C7RSM8F*m0yaA-=b#$hI~(0Tbg@%N-yk&YwxvS_-Y(Yq z>#(&#WwKSQ{IgeDwwN?jwlb>3{W8*fC7HNP2k?Zh7JBq*A^O>s`W=Z)?0qn=nYst} zT&`k&60zv*-3msVbf=`+7oPXxGs1cYOsc?utXq=UeKo0x_}D{w%_7=U@SH7rA$ zqoZ$LniuT-1F{p5C3AVNs{VC(U$7~zL()xaod3eu@5ULJE@OP_UH3wfMuR9G^{_8Q zUp%A?ehqk!m!i^ENvehCMzHExm>}BG^|7cAn~qN`1Mab9h$7U(=j?)bs}!(KIou1w z8sA1l`1*r`V>tEX;l>27k`8HCJv?a;i5B4TkG@2Z+QhFoO1ZrM7A*5L9esyh9j{ZR zz#Q+%=E?BL<8P-K75<09AOcRlRSaH{N>oNZ;kw zr|rrmzBqXvK;gGv*b*0_a(5e8f7Z^lqX~Ps13`nB_Uy%)9{hnCU%pKi`OUKCQrIWw zL^>Z3CYl?7_Gu6^0q=p8R=)0*s0w>?@rDXOT|uJ{8K4l(f9%a)W$&?rUDRS)vi{n+ ze=}0sa-KwdG}$fh(|tY>o0xhEYHl{$-8=gnn7ft#-8NRj>XP?8$+xt(jU@=NAi=`` zZ3^?k>XPyFk{MPh!!~=1%Xso?vQZ1)`6?nNUrwr~GLNkz z#hBz`6YD9#$)U;T)Ca|z2E}!=5@cp;%Qm~Urb1bF^){~O`^UTx{_`Nf`3bk^|9qXo=lEgG zJ3r+;zn;IY7HN_Iy*Cyo&Oy-qj(86j1)Sb*hxha!5sP^06ShL#Ss7ltvwg{Arr*~e zyWSE(5`jZI0q+XH=5geNb5a5I2A|oYLV>yT+U8;o zAg1r{+x#;?^Yo5t%KeV1pCs+$kp3{-6Lmql9tpZ0HM}>Or-{NG{s|rhK=34Ncq&B` z?mBtM9yvO#NLJ1CC8mfvuyTNahadJ92}-Wmcm!u$3q=j+K7LbMI@0 zsvKN>o0x=${Wbd|D;ly4Ub%S-j{Vg$fT%~Dg3@E~CXsG&9ejoB#RHaT5^B=*#y$Ta zb}*}jZatme{W$C}AL~Ng%}BdxL=4^(IZym)9R|dZeoU8MSNnX;G!`eJfmZp>5cN>^ z0+pWFREqU73Ig=kj-50qE7Md5={+wEA)^-xoV%GqkRv7#O!^AOGGdyIGpaYW0zNhQ z2WU=PAM1KO)AEYV}j>eH$#j6m4; ztr6q4Hf{&lljR6vslZuxu7=Fa%5~62h01LU5)16QdHXr4AM^~znQg+&iR6RdsD8^8 zOWjyB51-Ja#s+6zXrS~gbIq?0eS$l;#b*u@7Rk2>(wh>RUp*tSf}EE^rn$Aa&(mQ~ zL4Z_Z{Np{Uuij+RtIGl5HNpA(DNZZ8*wj2HM63QG>HW5!j8*%WVO*K`ndo9FZutTO z6TR@3eM_#W+f!s{&`EX0J9Gbq_VUl|FW&Uuz&hj=fAgUjXBO_X(`N>|kp7e~S{d{C)?`mF~8-Qj!n5wqr?SV@~DkKu?ecM$um6FzO=VV5C(Ilndh* ziYj1ErPYt9k(=bdhlQ`Qi@E(CISJiQSG&|poG5s@o|D7m`KA}C945*U1zkl%D|H#E4WD< zkVXnMlyp98z9jo4TCn(AT0z!@m*(hr^Qv51HR$0V-+x~Cw>PXT(7Ha<>p!Rj zUMiiyJI`RG^?zqTRFW-vU;U|AeIg8U=}qf>NjE<6^p_8fOjJYmXa9q3T)dV}7 zUB9`Q)F4{C7MEtc@TGo>XTe`R%n=T4KalYBl{{~*W6Ht8w0`%+)bM>0lp=Tv!YKA4 z@gJkbF&(F%fh*pppuz2zR5b{Ovu6;4Pm=XS0E61colZ+o!vx%|lpE6X3hRS`f$+31 z8m~7j&VA`S8uapY|4UzU>%RoQFKp#`H#i;{mKuT z&&5(>m=;nn?>jbW!FkNhxh$8NHYz33sq1v?Mq!%3D}5=Z61S^wi$DZ{q%K)1Ugh)8 ze?8bBvs@eXe%{RzK2oz>lKGAA*}Bz3L#|kmj@|S#DqOmy;en~_I|VI+AmZZ9$M}%3 z-^XioWA9-aWKNt}H#IOG=L}bAoN1eihT7g4~gua96;tWRt=QJjGL; zeO1y4qlHsgHd?4O@@qx1M74ZCVD|m5;2e!hUlv97*uaL)F{rwD#~_sDQ_3a$%?4JB za@dGb*Z5x9^3YF%5V}5z#q!JR&ihPK2vwS66x9r)^>BSqL{N`g3feVo1LlSmj~7Uy zE3I63KM{zr&;u$qHB2WOVeac#g*KCo)_IF|WlBXv%C=j2HwWNC;K7=ZxmWrS0@?oK zWJ5pz$8O$xq~Vyp-WH{`71r2UwD`HpOwOscw=vHnn=#-DUi32GiPlMav<6~VjHC{j z4BBy`7|LqwpHE|wSl+jg6~|rr%R=A{ivyQwg`Toze&aA@toqFx$oob-Ar)-+pI+!c zPxQam?-#l~HL0rjmj$FVtTTKm>I@u5KoKVi-p`@Fs(=%I0~4^(U&rI*lhZ9Zvyt0x zo3CD6I=?s)!Ny>csZ%GN?O^&&GKnxV%>F+1A{8pxgbE(k&8ytPEA+2;WMI3S$^cF+ z=RV#hRQ1Y0K&Wte<2C8g8jF4Tr}O6VYiwi>EHp!pv)Blb!GB+|pCT(o5nc{<8C=|Oz-6lR;}*B!i{S&t7awHB|NZuJ|iqd5s;J?VQLEaQw@h~BYuJyu}F zGc?(lo)GfETe0UWd2^>gpn zigLxNrklPDu=D1fbT;t|g=IU)#}}9~G{ETu^=WlZLE)lyKZ-ozRP07Ch{#@`FgxG} z)h*Q39YV7j2PbM3rYN#@$IPr3RsFz57t0?@2$KZyTK_i5&u9g>Gk&ZGOuGzwIVeng zi75vEcqO2fUimm@wm#@?O^3-@WBb_45z;KbaBpu=z4mR_5Rx5b#Fh7?DVp9N!qFAr z6$IC=H49KB#HZC0kGK}EE!?*=?$0`Vacj6wB96HP{8Y6rDVp)51Q|fpwGfOQl?n8D z;+@#72C$&|TZ=ACw$wzv_+wrrtgCLDAf3sy9$s{XCPc_r0LJ}WTep+KL^TSR$FOz@ zlymkq0Wi3$j=!(h#N|_v_rf;u(w4CpN~Ei^CIx6{VEO1L6z*B@GX_0HRK!y)%IYU1 zb2P+HAb)oaDx?}Z2RDfdUsqVJiz;#UMb1acB%ERKNM~e+aP5Al%@LYC$)m`^Mu-k4 zbzMg904RpM!mVS39a-T73>4M~_ie+~t$d#J&*e-l4L$r;%~e0Q%Tj*+K1&1kGKW6n zR&Qa|`2)H27>?+LVxBH$LgkleA)p-}xYC0T>aTT;qBEXV4dOSc9pKwvungz5Q;y(l zzPH-?Hu3h#Wsg7(lNr{rd-@#Tef~>`;eUl2n7>pUzrtR=(CIWA3%=ZK2Vn3f*rUD` z^eM;&_>8YK!ds@66QIwjsW+^CPoOVaHvf3F^4sMilr88d92e=j+^&E8RQCF|AltJ; zu{49yE$4h=^;jf6m=iCfN0^fRU@%jKm_znZsJB$s}9>-@X&NbbI4gn!M^@ zj)krLyY{iac|u_wD)l1Hip)7G))WPRWQZRl^O;){G?H3IbQw*lR7BHz`@)c0(`OM= z3cIQq3@+v}T`$cgrCnVHtF=MQXMfvsn&HNxHOS0>3CWpioP4{W?*J22HZb*Ng^#Qp z^bx3`aMkgNv{+bP*YNtjt0w4`wOjGRsW*w<>ykmfez@E%#;vj5Vl?BIQ;?X5wKyvw zJP~ell5(jPNg0}!>?HAak+UDj`agu};Qi}f{}>EA`8|V0HXwFHR#$$+jSQG$qRa>L zf4|2C7^vy`+YpSAdQDYsH?!mo@_mzZX*3T#7C@0+g5f1B9glO3?vt(?*LLmvAR!bP zm{;!};)-h@#1?Wb?;Le zdZ_f5aP3lOpGw`U(aOc%Z`Pa;X1P^$eQB<^%OD-9T1-@^Q!}#YxA7J!zDJJcjw{;@ zBHC}tll|S*ItdNg#^JYhh2EsE%}sZE!V9Snn&&LX0Oydg=1eO*YWTdy@OO;>n`1+6-g_p)Z9+qXX0o!_ z@Bue=vH;%bC`rfRlW(`!xN7r(;vxH0%v}V+%{FY+&VVWr6^TIRU-m*!xE zK{+0;aKjLe1ltsB3IuHSA;x5)W*1>+|Zra3@YN~gx|uWp6Us}VlapoCMmVepCSE^fE24~ z#qOT)`>hAp0|KyVd_gjq9T9nFc{y0;X2)~vDS^!+o&(J>k-yX1$FAp6Rh#bV*Z&F+ z{@4Es@-)?qbi05cYU(CFbE3vBN zliRI@%3l+oKbSoHnm(EKmHA;=dmpWCAJGa}@+6#sC@dKK(EvXZ47b4lWWV#JwRd>R zsWEPOi^3GB<3PLgRpOYd!p4LJV@8wAn98VUNHRzJqfyj2iJ;3#{Nph`2g;(EZ`syW z^s>WaWyzi(UwD=?MDfmgvrgB*c}>^P7@09jOckuD(zflvHGVQ!kJ zQ*&{^e~ng{}}fQfb*b!^e+3D=fgy26d^$;wX% z5rIh(XP?6}v!(bT>LL{eAiBNtxc#0lTOqEIBzrSyNE5iAB=0N8{Jugq zW{2knpMn@=C?jFjtT92bL8CnP&w8I28{c8#s2g>6H@K1cO;+o6u8_1~kr-q@ z`9;${0xr@1<+THwI*2=mLeGkfXp zvX>d!katc}LKUFBDzN?ih1+u;83u_v1hcB#DMdXiwQmhQ;^XgIhmKm; zF2Cx7#q36?cVdgt&v36PW%!Dq1UonUd${iV(Ra(1-c=Ui572`R(6>##yO*nc18}#6 zW(tO`+}RhdBR!5@fw08{LKdD8?SM3@OC$n}^icTl;wHLe>=rPm)JEF zATsaN6VEJt`}uk4d%;62+p*wzIWL6(k$^#KQSn9VVzs+ul}2-F#1;~#=7USLXic*z z^O@IA(m&($^Uh9$*m3QiB9*-1y+!liRf{o_^;S@>K0^$;YLDSp$5FLTNAmtTABywK zd=MFZQlukNMor+V?>-CHol#SOx+3s*1Y%{)_ zD9B{jvrT;6K9ok{sp&!SK_C3)Y-hVQCv%;PcLl;a>@p5dw7yxO#>75<-ZErm|6q{D z8&`tYm!ev3FYu3$s|1bRM3R~Rvi!7;O*yR3h7iy^?(nNfZdw(oa*e;S;KG`DWL@6< zqMuay>;+B9@CUX8;z$M{i+mpVKq`^K15RUIdq?XDx!V-Eab#APzZv1&%hj0V72dOi z#KdSVYRb1GG$SFS5=M1yvO>@0Vl1E}sKo;D<5t7>POr8iTXE~g2k=a#1 z>@o+3imvc%z+03e%+jSk>H;;HO{A{?)ue9k6aZp?|lldWy2@!sh z(xpstfi+=U+p)#GaQCSo9XVW@T~8Q)hf@FNNb|Vm-tYF;ydP-z?VCv!PMTeCA2dvr z>=&3+plW9ploi{StVTeg<||rWdtZv1pZt^E0KrK*eSdZ3sd zd8o%qszApxd$J0_J05Q3&s)Fsm%kG$=5IL@H=HeHCU1;S;=&bqau1FP@m#07Uta>g zMa80VhGZp&pKU29w`MxGAx=d0ZnQFxRv~EB0}YT^D_pSW8`?~z=3XzvP?%R%i>W*a z(F}+u(DhMtfQd@jOUz0_U6)~*WemZv-)`3S$o7`Px5!=L-7;8;6X*Cx*ai8g)&Ut_ zsKE?CrgEnkPxmFn&v7muZgD1UebLHsvsF)d?ta@$9oi;evm`!sEvLu$BKRGSnr=dghbDpxM>y5NtJp?+@s{Xvv-F?W4kc_(h0j-~1toO#ue*5{(zC)e_o$BgLnQ6(Yh zJh$E*x!;FkDnu^8w`9SWNVJW<*pPVB*j#g$?D?@j=R=PHS9}Kz4GZH)dhH3WxS-3L z$_gL#{PIAIH!G!fB*sV2`=21NtT6&W&Ya0a^g=LueOr5b5rMACIoD_8*qj04JuF8( z2mDresR$g>yCM#hVTzwpRA3`l@kw{6>GhBoPr8;xo4eADR3ZvmU_bNGGBL}ef!Px5 z=Wjb|u+R{Hwo?z2KfoQVdBAm%6NqbfhU257%}{Kbt!KA~K<14PNAzZIV!{vTNL`gn znsu_&wH<_OjFV}ouSEfy<$$-*%6uP&ka?+v-4|l|KDGn?R39-}sR|N|(cL85*Y_Rp^|Gung$Ze)=t@y}Hw=+9x)a@cKHK+02 z&42Xxe^b4Am;P*7#KrPNiEM_ksI!28XI3Y{}_^JEfXvhF#Y(uIfe!hHfOig zC!8TZt9FdY)suDLQ`~uUuyPctIzV6v$u^nGxT`UJ8hqxj?C_ zdLle+E{Zmf-%Axh`tak&}r3cE}>EIJIyTR9rAh~bxRvS^0V*MNi!!SDD7FC*1|cei-|`wUAs z+UQf6zp4NyDww@ja6SDRTXwbJ#V>dR(Yw=keyRJHsU@So%z7zFEWAOz@)%SP7*xll zKCTsuEA0|d`0@8q^eY;C5Sgc#!c4+1P}!#@y99Eu=(5ImXszGEt)`+NHrR^m_^x6J z$zrA}Pyy4PWb<5JJ^Lx{Zh63cdaDyEpt@U^7}J!Iqz4Ad`dam*XLRm;guCE}EwNxu zAbrmTnc@95^%`RGIw47NIaT7k{j2XbVRPNo?Q_xH_T;Ia_}3;~6k4LA-PfTaNV&YL z@JEK~aWb<qZKcKZD^HPlyY&+a< literal 0 HcmV?d00001 diff --git a/B4A/Files/guardagestion.bal b/B4A/Files/guardagestion.bal new file mode 100644 index 0000000000000000000000000000000000000000..b5b5216beec6e2830ff6118bf4241a77bb035cf5 GIT binary patch literal 13104 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 b|9uHhc34r+Aj!S;|KAs^EPOSRipBm1c@r(4 literal 0 HcmV?d00001 diff --git a/B4A/Files/guna_viejo.png b/B4A/Files/guna_viejo.png new file mode 100644 index 0000000000000000000000000000000000000000..d93702792de8fa40c74e0bb047c40d5d26b6107e GIT binary patch literal 3543 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 RELZ>l002ovPDHLkV1gG_=_~*M literal 0 HcmV?d00001 diff --git a/B4A/Files/historico.bal b/B4A/Files/historico.bal new file mode 100644 index 0000000000000000000000000000000000000000..a70aeb1c6a49bd2430cc165a934e7f248bf1c495 GIT binary patch literal 8167 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 OPls5>bjXup+P?sNp^j+) literal 0 HcmV?d00001 diff --git a/B4A/Files/info_gral.resp b/B4A/Files/info_gral.resp new file mode 100644 index 0000000000000000000000000000000000000000..85c1dc65a302c4b552b73ae1d036fcb1f093c05d GIT binary patch literal 69923 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 a*u&WiXbX_=T7U+xW&vc|e$7ioB7YB3$g6+= literal 0 HcmV?d00001 diff --git a/B4A/Files/infonavit1.jpg b/B4A/Files/infonavit1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b8cce4c0421c69dfd07a7b13d4487ef5edeb186c GIT binary patch literal 30576 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 HXXZZu3mh}r literal 0 HcmV?d00001 diff --git a/B4A/Files/inventario (1).jpg b/B4A/Files/inventario (1).jpg new file mode 100644 index 0000000000000000000000000000000000000000..1eccaf3a5230205722bf939a33dfd3add13c96f0 GIT binary patch literal 23450 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
%9yj=e`2m#J>JhYWHs| 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 literal 0 HcmV?d00001 diff --git a/B4A/Files/inventario.jpg b/B4A/Files/inventario.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1b5fd18ddb77a58567956cf34fbb146df6eaff70 GIT binary patch literal 27037 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 VJ+!oC{&RY#a$i%S^saTp{{gbN6(axu literal 0 HcmV?d00001 diff --git a/B4A/Files/itembuttonblue.png b/B4A/Files/itembuttonblue.png new file mode 100644 index 0000000000000000000000000000000000000000..af4dc0b6e6fb333c43e978d6194936f4a8c52d92 GIT binary patch literal 2647 zcmb_edo+~m8h@oi8KbKyF;P2_E_R)bq=_LpGOn{lcH^4Z&DfO&k&%#FS$kKMM4bw; z45Kv1Wl-8FijhksB$vr0Gn&DSnfbo+PHSbIy;`k({y2Zk%scPz{XLi8`#jJ0B|DSs zFiX}h0RUj^57@W@umFMUHr2)OTk>2h0{*D|cEIx#0NXYwK1vby2z0o)Cd~Fwm|N)4 zuyEg#fxs#t)Gu(oJ=HfT&^6FEAo9eEz&(&SWN%~T9`SafmvB5gNT+U!7uj;+kL4~K z+;O<&m;Y&e;FXV>9(h;Nx!cO!IJIRIFO{@{=?*Znr-3h0PBMoRwp558Mq;BtA?z?Kk32)B?I}>+?Y4S~n?rD4Vfs#!wsaW2& zgJ(n3qcjn7F;U&a&m}s4jB2e6fQ711@{l`uH({oKF8yw;2k*nt!vh3K^TaN&`nN0A|vw zr4)LTgDHdp8U{l1@o=xAOvZbs?Y5mTPWy9lD_Zjr8a~V1OqwB$?y2YMpt3Pb!#T!y zay0-u^mAB3LUcoI5+k=uUSl+wbT%MN9Fxvtf z%^-IDv%?JU6{0U6y75d2fQy&VH>tS#ru}gJ>S`9+lVAeCKA{=|fMfqQdK#+wWuc$A z!In&~P9#8UmPk?I+MUquF=knzmu*3#zk+-5XR|?g-54!m-;@fB&`GQe>Xbgl3@A1| zmOv|JxOhlc*xLs&@B|NlCTzjFBb%$Jic_z!sD)xv11SD|g<}QKnu54q2E8bduNJmcXxSB67ESZ;xD)NlR1rQjixjVliF&0T$`)p-2+J@Zasi^bv_j_a}oD(^iL zR#~<XxxHue*KUOE-`i?2?OTmGD;Dlj)NR{~;aar6nh>O=s(m(laK_k~9EN`J&Q) zU)7gHyNU$qEWsZ+uv$fe?J4yQiYr;Gi|mI(_V2ZtSN{9ie;=7Af1}tu@)xqAF6WWb z^rxL?71>}+_agVYP5dEtR64=yucS5nf6BE-4aHUFK^Yve=rE~gCG67C0SX;|eF1DY za)roDR;3VVZPA0}NFeWaFzg^=akjuP<)nF7RkH+E%8JucZ8;}X=Qu*# zw~I(3(J$lWG3fd09Z_5RFgGuGNMQT9TyYW@YaAcxuZ*BMiYXX*ko2en7SXXri_b#1 zb?VsE%$P&Ordo=`zLm1*f^@Txrh($wWe{L+Fvp4CaxjvD{sVpV^tAEy1HZ zXk+kUbs-~TGLa+|P6y3-M28QTOI0pX1(N3Y2L9*iMgf7U_pt4UG>)d%;EDl(Sc|yI zs|LQJlpb!p$0a?+XYdouWV(EfRAl151=0p8DeW8tvHoi3Dh z02FKx3x!lIJ}s;y-Bpwu^L9H8hxDYNz1-c|NS>}^!LJ#%z8U3dWz&m@1y%>qN7Ut@ z?l%dhA|rDoDxaD&Fc@aeLDV>hm!Rhs?Td-4Ye~cVFpN@(!M=>=>q9)ddp6#uUiryB zWam%xmzo-}viM%wtjkBbZoCnmwc!FtqJ7fyy)&hJ=R z?x$L`GmmN^Q&|lp%VKxRo3PP3uoB;R+h+=In7?(45@S78vq>KLuZL~WGi=VtI2Jy3 zR1vnTpucO*-wNKoC E01Tvq<^TWy literal 0 HcmV?d00001 diff --git a/B4A/Files/itembuttonred.png b/B4A/Files/itembuttonred.png new file mode 100644 index 0000000000000000000000000000000000000000..312b8b82f4f58388f95c730a14e077420c3fc008 GIT binary patch literal 5822 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 I_rEd<0Q*>SF#rGn literal 0 HcmV?d00001 diff --git a/B4A/Files/kelloggs.png b/B4A/Files/kelloggs.png new file mode 100644 index 0000000000000000000000000000000000000000..6e4ae6fb55db541a1ea1a35ce66352ded1fccc1e GIT binary patch literal 76788 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 z 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

X z&9Yfq!U#bhx6LLE|I46B>#R<6{Ba`5S#^)22am&VguDfqR>*VeB~5?i&(2tYPDOX9-@otqG86eZf#t1xr|t(AYEKDrS`_APqQBo> z@59lV&FwAsTJzss7v1?#Q{UY3PtzTJB7I?yaWm9gkbEkv8|?npK1b?tS-}j*d8z2h zvdT2?v1_(a)5erzORS&x!}!;J^mygwagcbP$=+;1bA5d`^wq1q>f4zP7D@`Y@uav!2xCD%VNdHyD+>ef*>by8Yb*WI@I z%&R>4@EV$~a(eA@Cwz+bld5rxO2`U#nLl-6Vw$BtEkGo@w1`iaEy$pZ3fDQcHd z_*)BZJA#!N;gNcXWxayd1`YT#LBmmcbOq;0ynH2tDgxXXbJ$o#r0gC45e zk}((1vOPj{w^J|BWB|+di0ZHZXw&g)^?yhR+KL6|`-cBHNKW0h!T1ira{Ji|nw1+e zUyy>PdyQp!CWdon%ODf5Qzy(+?b&Gw;}dw|xk5i9;gqNHBr4b4286824u@%M^zR1b zRa~9rIIW_w+iw_wDy*Uyt5}eV>_VLX|4x{T2(!7f`|rlNXBkh=13Ggbj*<}j-(qAM z8p8RECgIL0>$>u1mU)gu55`)Z6x>7!4Su31rXe3*y6*CT=g}DLqm-rLkH-6?FyCr2 z0c~kpD^Ruhmg+4^PxI4Mm}^1I4^89IzML6f2cAy~fh~0_0S8c1pqYztj*L{cwb`cyB@;PSvNwD~jU-p+}fwmFhP@Ax>J1^sqO7s`@Olr`>6B85IG0w=% zLQ<`8ZV?s}oZ&9^N3tYJpA_+bU4K9h85~&2YFu!318C=l++~T){CY; zU8#e+_DzmdPdU!u3vLSfN}K8BZD7x+NmjjyOXMI#1PS2?g0!`hj{nf$S!e&OSsHfb zUY_Iw(tT35!DlQ+sg81wo*Kd&*e8!h0Iv~1Uy{FWOrD~uy2%WcjthCNLWq?bVYE{Jy+J~ZkdsGGwKU9@5C5eng5xH!G@ESMVw)_>0xQeym9wN9fCxdWYOSD|a|!;f@6{${ee(&xB+ zk6F1w>RN-{V0otW2sT+0_T?|cCU_ShVsNmuKN*3<(~L{*Fo>&Bmp4K=riaP*Hr$ek zbamIHq0#jUk5p#}M{t12vAp}&UlYpVGGy*ydKX2nz3r&wFp+DZ+xm3heTDv$a!89n zzFLFzAC@@H)K?Aj#RQy`pp@a?<#!{ZPH{*Q+2ZuHPN2!VjqzWj}&=i|pV1I_Iww+q$~h)sZAl7}=r=LIi@b=gPQ- zao4@{C_M;T`~5wae$3Tn)=MsubjZN{0Z!Uc{O@}e`cF!k|F5Ugnz3AW3y zp9Kcw-;(%;;o79Hmh)5P`wik28s*972~fw?3JZBT@b(?Uf1jX6<#(k7*Qp$to9tNc z4J$aHH6o@boF7ML)<=MR{w?{VI(+7rag(b|cL}OGWH?OJdfUwZ7i1Uv*BPW=llN!H zlqBa~Q)(6M?Cywf)oQi+-PRr*yR#`aLdwFeo@S8~8%_B@?npKsWLq3w;*Vsnk@=V# zen@sb_sw{f5kLrLG(GFD)g;}eE;t$R_x#2a%k`cMjt|F=70M;@O?{X6_?LP|XOKhw zs)jJ6Ra_HklI$S(+le?ge3iFf$Z5+R{*nSMS44Evk*Y4PaH)RKORE)OZ;QV_J z0g=LxfCDiJm@>ZLuoIV!_E!QfC_=X|d7Z3?nL2h4i@a5d{#_gJCk7XP9UlfqNNJZ}Ggny2DMT1AQY`u>PY;Ya%s5x8ViZS-TI%{QiM{g#s2pl;Hkh YNiUIS_2PDah68@ol(ZD{9$EzaAH;YP)&Kwi literal 0 HcmV?d00001 diff --git a/B4A/Files/kelloggs2.jpg b/B4A/Files/kelloggs2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..74afa959a97cea2cd9b3e7f36b3015df9e4e98ef GIT binary patch literal 110798 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Ξ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 literal 0 HcmV?d00001 diff --git a/B4A/Files/kelloggs2.png b/B4A/Files/kelloggs2.png new file mode 100644 index 0000000000000000000000000000000000000000..4c7fa2cb734fde53d1b98e15912a1f254093be77 GIT binary patch literal 92140 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%0A3+KbQT2NaRJ1ajwE65y^liOSB~PW_3C|9 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 xXf literal 0 HcmV?d00001 diff --git a/B4A/Files/kelloggs_chico.png b/B4A/Files/kelloggs_chico.png new file mode 100644 index 0000000000000000000000000000000000000000..86237b60e17f6628999087cdbae12e2045fea766 GIT binary patch literal 53581 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 literal 0 HcmV?d00001 diff --git a/B4A/Files/kelloggs_original.png b/B4A/Files/kelloggs_original.png new file mode 100644 index 0000000000000000000000000000000000000000..dc2726844bb15c170f20c2375da5a6380b9bddaf GIT binary patch literal 305840 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 z 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 Aq5uE@ literal 0 HcmV?d00001 diff --git a/B4A/Files/keymon_logo.png b/B4A/Files/keymon_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..945e546e77aea396e590bb05d8194866c7eb5fe4 GIT binary patch literal 10983 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

pV;E;n;yZJ7-TWMP_hFF&pI0jD9Xe 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 literal 0 HcmV?d00001 diff --git a/B4A/Files/amarillo.png b/B4A/Files/amarillo.png new file mode 100644 index 0000000000000000000000000000000000000000..44e8c49161021a549ecbbf32d1746dc5cbc0dbfd GIT binary patch literal 10753 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 literal 0 HcmV?d00001 diff --git a/B4A/Files/blacnco.jpg b/B4A/Files/blacnco.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1b44567b3be57689d94084b56147d3bd1e7271c0 GIT binary patch literal 5027 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 H#MA!*XDOt- literal 0 HcmV?d00001 diff --git a/B4A/Files/carrito.png b/B4A/Files/carrito.png new file mode 100644 index 0000000000000000000000000000000000000000..03889f677a4efd00995fc8da3043861424aa6a35 GIT binary patch literal 22596 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 literal 0 HcmV?d00001 diff --git a/B4A/Files/checks.bal b/B4A/Files/checks.bal new file mode 100644 index 0000000000000000000000000000000000000000..eac2be3ba02d6ce55daa38ea6869594a52ee3b60 GIT binary patch literal 33830 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 LMbkt#EtUHJznFdx literal 0 HcmV?d00001 diff --git a/B4A/Files/cliente.bal.bak b/B4A/Files/cliente.bal.bak new file mode 100644 index 0000000000000000000000000000000000000000..6bf71a054247f8c5f8cb2551a35145f7a9daa1ed GIT binary patch literal 97420 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