示例#1
0
        public void imprimir(Ent_Tk_Return env)
        {
            #region Imprimir
            try
            {
                Ticket _tk = new Ticket();
                _tk.leftMargin = 69f;//para el xstore
                _tk.MaxChar    = 38;
                Barcode barcode = new Barcode();
                //barcode.IncludeLabel = true;
                Image img = barcode.Encode(TYPE.CODE128A, env.cupon_imprimir.Trim(), Color.Black, Color.White, 250, 80);

                Bitmap bmp = new Bitmap(img);
                _tk.HeaderImage = bmp;
                _tk.AddHeaderLine(env.text1_cup);
                _tk.AddHeaderLine("");
                _tk.AddHeaderLine(env.text2_cup);
                _tk.AddHeaderLine("");
                _tk.AddFooterLine0(env.cupon_imprimir.Trim());
                _tk.AddFooterLine0("");
                _tk.AddFooterLine0(env.text3_cup);
                _tk.AddFooterLine0("");
                _tk.AddFooterLine0("");
                //_tk.AddFooterLine0("");
                _tk.AddFooterLine(env.text4_cup);

                string printer = get_printer_disp();
                if (printer != "")
                {
                    _tk.PrintTicket(printer);
                }
            }
            catch (Exception) { }
            #endregion
        }
示例#2
0
        private Ent_Tk_Return reim(string tienda)
        {
            string        sqlquery = "[USP_BATA_GET_TKRETURN_REIMPR_BK]";
            string        con      = "Server=172.28.7.14;Database=BDPOS;User ID=pos_oracle;Password=Bata2018**;Trusted_Connection=False;";
            Ent_Tk_Return tk       = null;

            try
            {
                tk = new Ent_Tk_Return();
                using (SqlConnection cn = new SqlConnection(con))
                {
                    using (SqlCommand cmd = new SqlCommand(sqlquery, cn))
                    {
                        cmd.CommandTimeout = 0;
                        cmd.CommandType    = CommandType.StoredProcedure;
                        cmd.Parameters.AddWithValue("@COD_TDA", tienda);
                        using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                        {
                            DataTable dt = new DataTable();
                            da.Fill(dt);
                            tk.cupon_imprimir = dt.Rows[0]["cup_rtn_barra"].ToString();
                            tk.text1_cup      = dt.Rows[0]["tex1_cup"].ToString();
                            tk.text2_cup      = dt.Rows[0]["tex2_cup"].ToString();
                            tk.text3_cup      = dt.Rows[0]["tex3_cup"].ToString();
                            tk.text4_cup      = dt.Rows[0]["tex4_cup"].ToString();
                        }
                    }
                }
            }
            catch (Exception)
            {
            }
            return(tk);
        }
示例#3
0
        private void print_qr_Click(object sender, EventArgs e)
        {
            Basico        ejecuta = new Basico();
            Ent_Tk_Return tk      = new Ent_Tk_Return();

            tk.cupon_imprimir = "";
            tk.text1_cup      = "* BATA TE REGALA *";
            tk.text2_cup      = "*2X1 EN ENTRADAS AL CINE EN CINEMARK*";
            tk.text3_cup      = "** USALO YA ** ";
            tk.text4_cup      = "*Por compras mayores o igual a S/ 99.00 Soles en toda la tienda, realizadas del 01 al 29 de Febrero de 2020 en una sola transacción, Bata te regala un cupón de 2x1 en entradas 2D al cine en cualquier local de Cinemark para ser utilizado durante el 01 de febrero al 15 de marzo del 2020. La promoción es válida en los locales Cinemark de Lima, Arequipa, Huancayo y Trujillo. No aplica para asientos DBOX ni sala XD. No válido para películas con la restricción del distribuidor según el tiempo que indiquen. Para hacer efectiva la promoción se hará entrega del cupón en cualquier boletería de Cinemark. No valido para pre ventas, pre estrenos, contenido alternativo ni compra online. Indispensable presentar este cupon en la boletería para acceder al descuento. No aplica con otros descuentos y/ promociones. Promoción válida solo para personas mayores de 18 años.";

            string error = "";

            Basico.imprimir_qr(tk, "Ticket");
        }
示例#4
0
        private void btnreimporimir_Click(object sender, EventArgs e)
        {
            Basico ejecuta = new Basico();
            //Ent_Tk_Return tk = new Ent_Tk_Return();
            //tk.cupon_imprimir = "";
            //tk.text1_cup = "";
            //tk.text2_cup = "";
            //tk.text3_cup = "";
            //tk.text4_cup = "";

            Ent_Tk_Return tk = reim("50143");

            string error = "";

            Basico.imprimir(tk, "Ticket");
        }
示例#5
0
        private void button2_Click(object sender, EventArgs e)
        {
            Basico        ejecuta = new Basico();
            Ent_Tk_Return tk      = new Ent_Tk_Return();

            tk.cupon_imprimir = "BTRBF0LH01RL00DYI5";
            tk.text1_cup      = "* BATA TE REGALA *";
            tk.text2_cup      = "S/30.00 DSCTO EN TU PROXIMA COMPRA";
            tk.text3_cup      = "";
            tk.text4_cup      = "Por compras mayores o iguales a S/100.00 Soles en toda la tienda, realizadas del 28 de Noviembre al 02 de Diciembre del 2019 en una sola transacción, BATA te regala un cupón de descuento de S/30.00 Soles para ser utilizado durante el 03 al 09 de Diciembre del 2019 en tu siguiente compra mayor o igual a S/100.00 Soles en una sola transacción. Para hacer efectiva la promoción se hará entrega del cupón de descuento (impreso en el presente ticket de compra). Aplica para todas las tiendas BATA a nivel nacional. No acumulable con otras promociones. Solo aplica un descuento por transacción y por cliente. El cupón no puede ser canjeado por efectivo. Promoción sujeta a cambio sin previo aviso.";

            string error = "";

            Basico.imprimir(tk, "Ticket");

            //Basico._ticket_retorno(ref error);

            //ejecuta. ._ticket_retorno();
        }
示例#6
0
        /// <summary>
        /// ENVIO DE WEB SERVICE PARA VERIFICAR SI EXISTE CUPON PARA LA VENTA
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public Ent_Tk_Return ws_envio_param(Ent_Tk_Set_Parametro param, ref string error)
        {
            Ent_Tk_Return re = null;

            try
            {
                re = new Ent_Tk_Return();
                ValidateAcceso header_user = new ValidateAcceso();
                header_user.Username = "******";
                header_user.Password = "******";
                Bata_TransactionSoapClient batatran = new Bata_TransactionSoapClient();
                re = batatran.ws_genera_cupon_return(header_user, param);
            }
            catch (Exception exc)
            {
                error           = exc.Message + " ==>ws_envio_param";
                re.estado_error = exc.Message;
            }
            return(re);
        }
示例#7
0
        private void button3_Click(object sender, EventArgs e)
        {
            Basico        ejecuta = new Basico();
            Ent_Tk_Return tk      = new Ent_Tk_Return();

            tk.cupon_imprimir = "BTRBF0LH01RL00DYI5";
            tk.text1_cup      = "* BATA TE REGALA *";
            tk.text2_cup      = "S/30.00 DSCTO EN TU PROXIMA COMPRA";
            tk.text3_cup      = "";
            tk.text4_cup      = "Por compras mayores o iguales a S/100.00 Soles en toda la tienda, realizadas del 28 de Noviembre al 02 de Diciembre del 2019 en una sola transacción, BATA te regala un cupón de descuento de S/30.00 Soles para ser utilizado durante el 03 al 09 de Diciembre del 2019 en tu siguiente compra mayor o igual a S/100.00 Soles en una sola transacción. Para hacer efectiva la promoción se hará entrega del cupón de descuento (impreso en el presente ticket de compra). Aplica para todas las tiendas BATA a nivel nacional. No acumulable con otras promociones. Solo aplica un descuento por transacción y por cliente. El cupón no puede ser canjeado por efectivo. Promoción sujeta a cambio sin previo aviso.";

            string error = "";
            //Basico.imprimir2(tk, "Ticket");

            //String impresora = "ticket";
            //string barra =  "BTRBF0LH01RL00DYI5";
            //CrearTicket tk = new CrearTicket();
            //tk.TextoCentro("* BATA TE REGALA *");
            //tk.lineasGuio();
            //tk.TextoCentro("S/30.00 DSCTO EN TU PROXIMA COMPRA");
            //tk.lineasGuio();
            //tk.TextoIzquierda("Por compras mayores o iguales a S/100.00 Soles en toda la tienda, realizadas del 28 de Noviembre al 02 de Diciembre del 2019 en una sola transacción, BATA te regala un cupón de descuento de S/30.00 Soles para ser utilizado durante el 03 al 09 de Diciembre del 2019 en tu siguiente compra mayor o igual a S/100.00 Soles en una sola transacción. Para hacer efectiva la promoción se hará entrega del cupón de descuento (impreso en el presente ticket de compra). Aplica para todas las tiendas BATA a nivel nacional. No acumulable con otras promociones. Solo aplica un descuento por transacción y por cliente. El cupón no puede ser canjeado por efectivo. Promoción sujeta a cambio sin previo aviso.");
            //tk.lineasGuio();
            //tk.TextoCentro(barra);
            //tk.lineasGuio();
            //tk.ImprimirTicket(impresora);
            //tk.lineasGuio();

            //BarcodeLib.Barcode Codigo = new BarcodeLib.Barcode();
            //Codigo.IncludeLabel = true;
            //System.Drawing.Image im = Codigo.Encode(BarcodeLib.TYPE.CODE128, Barra, System.Drawing.Color.Black, System.Drawing.Color.White, 400, 100);

            //tk.HeaderImage = im;

            //tk.PrintQR(impresora);
        }
示例#8
0
        public string ejecuta_proceso_oracle()
        {
            string error = "";
            //string fecha = DateTime.Today.AddDays(-1).ToString("dd/MM/yyyy");
            string fecha = DateTime.Today.AddDays(-90).ToString("dd/MM/yyyy");// DateTime.Today.ToString("dd/MM/yyyy");

            //string _fecha_ini = DateTime.Today.AddDays(-90).ToString("dd/MM/yyyy");
            //TextWriter tw = null;

            //System.Globalization.CultureInfo cultureinfo = new System.Globalization.CultureInfo("ES-Pe");
            //DateTime fecha = DateTime.Parse(d, cultureinfo);

            //var culturaArgentina = CultureInfo.GetCultureInfo("es-PE");

            //var dutchCulture = CultureInfo.CreateSpecificCulture("Es-Pe");

            //DateTime fecha = DateTime.Parse(d, dutchCulture);

            //var fecha = DateTime.ParseExact(d, "dd/MM/yyyy HH:mm:ss", dutchCulture);

            try
            {
                //tw = new StreamWriter(ruta_log, true);
                //tw.WriteLine(DateTime.Today.ToString() + " " + DateTime.Now.ToString("HH:mm:ss") + "==>" + fecha.ToString());
                //tw.Flush();
                //tw.Close();
                //tw.Dispose();

                string nom_pc = Environment.MachineName;//"TIENDA-933-1"

                string caja    = nom_pc.Substring(nom_pc.Length - 1, 1);
                string _server = nom_pc;
                if (caja != "1")
                {
                    _server = nom_pc.Substring(0, nom_pc.Length - 1) + "1";
                }

                //tw = new StreamWriter(ruta_log, true);
                //tw.WriteLine(DateTime.Today.ToString() + " " + DateTime.Now.ToString("HH:mm:ss") + "==>" + "entrando paso 1");
                //tw.Flush();
                //tw.Close();
                //tw.Dispose();

                //_server = "172.16.100.252";

                _tienda = nom_pc.Substring(nom_pc.IndexOf('-') + 1, nom_pc.Length - (nom_pc.IndexOf('-') + 1));
                _tienda = _tienda.Substring(0, _tienda.Length - 2);
                if (_tienda.Length == 3)
                {
                    _tienda = "50" + _tienda;
                }

                //_tienda = "50702";

                Dat_Ora_Data data_ora = new Dat_Ora_Data();
                #region <CONEXIONES DE ORACLE>
                Ent_Conexion_Ora_Xstore con_ora = data_ora.ws_conexion_xstore(ref error);
                if (error.Length > 0)
                {
                    return(error);
                }

                //tw = new StreamWriter(ruta_log, true);
                //tw.WriteLine(DateTime.Today.ToString() + " " + DateTime.Now.ToString("HH:mm:ss") + "==>" + "entrando paso 2");
                //tw.Flush();
                //tw.Close();
                //tw.Dispose();

                if (con_ora == null)
                {
                    return("");
                }

                Ent_Acceso_BD.server    = _server;          //con_ora.server;//  ConfigurationManager.AppSettings["server"].ToString();
                Ent_Acceso_BD.user      = con_ora.usuario;  // ConfigurationManager.AppSettings["usuario"].ToString();
                Ent_Acceso_BD.password  = con_ora.password; //  ConfigurationManager.AppSettings["password"].ToString();
                Ent_Acceso_BD.port      = con_ora.port;     // Convert.ToInt32(ConfigurationManager.AppSettings["port"].ToString());
                Ent_Acceso_BD.sid       = con_ora.sid;      // ConfigurationManager.AppSettings["sid"].ToString();
                Ent_Acceso_BD.nom_tabla = ConfigurationManager.AppSettings["tempo"].ToString();
                #endregion
                #region <ORACLE CREACION Y EXISTENCIA>
                Boolean existe = data_ora.existe_tabla(ref error);
                if (error.Length > 0)
                {
                    return(error);
                }
                if (!existe)
                {
                    error = data_ora.crear_table();
                }
                if (error.Length > 0)
                {
                    return(error);
                }
                #endregion
                #region <REGION DE TRANSACCIONES AL TEMPORAL>

                //tw = new StreamWriter(ruta_log, true);
                //tw.WriteLine(DateTime.Today.ToString() + " " + DateTime.Now.ToString("HH:mm:ss") + "==>" + "entrando paso 3");
                //tw.Flush();
                //tw.Close();
                //tw.Dispose();


                string    query       = "";
                DataTable dtventa_ora = data_ora.get_documento_TRN_TRANS(fecha, ref error, ref query);
                //tw = new StreamWriter(ruta_log, true);
                //tw.WriteLine(DateTime.Today.ToString() + " " + DateTime.Now.ToString("HH:mm:ss") + "==>" + query);
                //tw.Flush();
                //tw.Close();
                //tw.Dispose();
                if (error.Length > 0)
                {
                    return(error);
                }
                if (dtventa_ora != null)
                {
                    if (dtventa_ora.Rows.Count > 0)
                    {
                        //tw = new StreamWriter(ruta_log, true);
                        //tw.WriteLine(DateTime.Today.ToString() + " " + DateTime.Now.ToString("HH:mm:ss") + "==>" + "Si hay Datos");
                        //tw.Flush();
                        //tw.Close();
                        //tw.Dispose();
                        foreach (DataRow fila in dtventa_ora.Rows)
                        {
                            Ent_Bat_Tk_Return param = new Ent_Bat_Tk_Return();
                            param.RTL_LOC_ID    = Convert.ToDecimal(fila["RTL_LOC_ID"]);
                            param.BUSINESS_DATE = Convert.ToDateTime(fila["BUSINESS_DATE"]);
                            param.WKSTN_ID      = Convert.ToDecimal(fila["WKSTN_ID"]);
                            param.TRANS_SEQ     = Convert.ToDecimal(fila["TRANS_SEQ"]);

                            decimal _n = Convert.ToDecimal(fila["TOTAL"], new NumberFormatInfo()
                            {
                                NumberDecimalSeparator = "."
                            });
                            param.TOTAL = _n;// Convert.ToDecimal(fila["TOTAL"]);

                            param.FISCAL_NUMBER = fila["FISCAL_NUMBER"].ToString();

                            /*VERIFICAR QUE NO EXISTA EL DOCUMENTO*/
                            Boolean existe_tmp = data_ora.existe_tabla_temp(param, ref error);
                            if (error.Length > 0)
                            {
                                return(error);
                            }
                            if (!existe_tmp)
                            {
                                Boolean insert = data_ora.inserta_tabla_temp(param, ref error);
                                if (error.Length > 0)
                                {
                                    return(error);
                                }
                                /*si el insert es correcto entonces hacemos un update*/
                                if (insert)
                                {
                                    data_ora.update_documento_TRN_TRANS(param, ref error);
                                    if (error.Length > 0)
                                    {
                                        return(error);
                                    }
                                }
                            }
                            else
                            {
                                /*realizar el update en la tabla principal*/
                                data_ora.update_documento_TRN_TRANS(param, ref error);
                                if (error.Length > 0)
                                {
                                    return(error);
                                }
                            }
                        }
                    }
                    else
                    {
                        //tw = new StreamWriter(ruta_log, true);
                        //tw.WriteLine(DateTime.Today.ToString() + " " + DateTime.Now.ToString("HH:mm:ss") + "==>" + "No hay Datos");
                        //tw.Flush();
                        //tw.Close();
                        //tw.Dispose();
                    }
                }
                #endregion
                #region <REGION DE ENVIO DE DATA AL SERVER WEB SERVICE>
                DataTable dt_envio = data_ora.select_tmp_ora();/*seleccionamos datos del oracle*/
                if (dt_envio != null)
                {
                    if (dt_envio.Rows.Count > 0)
                    {
                        foreach (DataRow fila in dt_envio.Rows)
                        {
                            String FC_SUNA = fila["FISCAL_NUMBER"].ToString().Substring(0, 1) == "B" ? "03" : "01";
                            String FC_SFAC = fila["FISCAL_NUMBER"].ToString().Substring(0, 4).ToString();
                            String FC_NFAC = fila["FISCAL_NUMBER"].ToString().Substring(5, fila["FISCAL_NUMBER"].ToString().Length - 5).ToString().PadLeft(8, '0');

                            Ent_Tk_Set_Parametro param = new Ent_Tk_Set_Parametro();
                            param.COD_TDA = fila["RTL_LOC_ID"].ToString();
                            param.FECHA   = Convert.ToDateTime(fila["BUSINESS_DATE"]);
                            param.MONTO   = Convert.ToDecimal(fila["TOTAL"]);
                            param.FC_SUNA = FC_SUNA;
                            param.SERIE   = FC_SFAC;
                            param.NUMERO  = FC_NFAC;

                            Ent_Tk_Return env = data_ora.ws_envio_param(param, ref error);
                            if (error.Length > 0)
                            {
                                return(error);
                            }
                            /*en este caso quiere decir que no hay errores en el envio*/
                            if (env.estado_error.Length == 0)
                            {
                                Int32  RTL_LOC_ID    = Convert.ToInt32(fila["RTL_LOC_ID"]);
                                Int32  WKSTN_ID      = Convert.ToInt32(fila["WKSTN_ID"]);
                                Int32  TRANS_SEQ     = Convert.ToInt32(fila["TRANS_SEQ"]);
                                string FISCAL_NUMBER = fila["FISCAL_NUMBER"].ToString();

                                /*en este caso vemos que se genero el cupon*/

                                data_ora.update_tmp_ora(env.cupon_imprimir, RTL_LOC_ID, WKSTN_ID, TRANS_SEQ, FISCAL_NUMBER, ref error);
                                imprimir(env);
                            }

                            // param.
                        }
                    }
                }

                #endregion
                #region <REGION PARA LA REIMPRESION DE TICKETS RETORNO>
                List <Ent_Tk_Return> lista_reimprime = data_ora.ws_get_reimprimir_tk_return(_tienda);

                if (lista_reimprime != null)
                {
                    if (lista_reimprime.Count > 0)
                    {
                        foreach (Ent_Tk_Return fila in lista_reimprime)
                        {
                            imprimir(fila);
                            data_ora.ws_update_tk_return_reimprimir(_tienda, fila.cupon_imprimir);
                        }
                    }
                }
                #endregion
            }
            catch (Exception exc)
            {
                error = error + "==>" + exc.Message;
            }
            return(error);
        }
示例#9
0
        private void btnenvio_ws_Click(object sender, EventArgs e)
        {
            Cursor.Current = Cursors.WaitCursor;
            try
            {
                #region <CONEXIONES DE ORACLE>
                Ent_Acceso_BD.server    = "172.19.4.40";// txtserver.Text;
                Ent_Acceso_BD.user      = txtusuario.Text;
                Ent_Acceso_BD.password  = txtpassword.Text;
                Ent_Acceso_BD.port      = Convert.ToInt32(txtport.Text);
                Ent_Acceso_BD.sid       = txtsid.Text;
                Ent_Acceso_BD.nom_tabla = "BAT_TK_RETURN";
                Dat_Ora_Data data_ora = new Dat_Ora_Data();
                #endregion
                #region <REGION DE ENVIO DE DATA AL SERVER WEB SERVICE>
                DataTable dt_envio = data_ora.select_tmp_ora();/*seleccionamos datos del oracle*/
                if (dt_envio != null)
                {
                    if (dt_envio.Rows.Count > 0)
                    {
                        foreach (DataRow fila in dt_envio.Rows)
                        {
                            String FC_SUNA = fila["FISCAL_NUMBER"].ToString().Substring(0, 1) == "B"?"03":"01";
                            String FC_SFAC = fila["FISCAL_NUMBER"].ToString().Substring(0, 4).ToString();
                            String FC_NFAC = fila["FISCAL_NUMBER"].ToString().Substring(5, fila["FISCAL_NUMBER"].ToString().Length - 5).ToString().PadLeft(8, '0');

                            Ent_Tk_Set_Parametro param = new Ent_Tk_Set_Parametro();
                            param.COD_TDA = fila["RTL_LOC_ID"].ToString();
                            param.FECHA   = Convert.ToDateTime(fila["BUSINESS_DATE"]);
                            param.MONTO   = Convert.ToDecimal(fila["TOTAL"]);
                            param.FC_SUNA = FC_SUNA;
                            param.SERIE   = FC_SFAC;
                            param.NUMERO  = FC_NFAC;

                            string error = "";

                            Ent_Tk_Return env = data_ora.ws_envio_param(param, ref error);
                            /*en este caso quiere decir que no hay errores en el envio*/
                            if (env.estado_error.Length == 0)
                            {
                                Int32  RTL_LOC_ID    = Convert.ToInt32(fila["RTL_LOC_ID"]);
                                Int32  WKSTN_ID      = Convert.ToInt32(fila["WKSTN_ID"]);
                                Int32  TRANS_SEQ     = Convert.ToInt32(fila["TRANS_SEQ"]);
                                string FISCAL_NUMBER = fila["FISCAL_NUMBER"].ToString();
                                //string error = "";
                                /*en este caso vemos que se genero el cupon*/
                                //if (env.genera_cupon==1)
                                //{
                                data_ora.update_tmp_ora(env.cupon_imprimir, RTL_LOC_ID, WKSTN_ID, TRANS_SEQ, FISCAL_NUMBER, ref error);
                                //}
                                ////else
                                ////{

                                ////}
                            }

                            // param.
                        }
                    }
                }

                #endregion
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.Message, "Mensaje..", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            Cursor.Current = Cursors.Default;
        }