Example #1
0
        /// <summary>
        /// REALIZAR UN FLAG EN TRN_TRANS PARA YA NO ENVIAR AL TEMPORAL
        /// </summary>
        /// <param name="param"></param>
        public void update_documento_TRN_TRANS(Ent_Bat_Tk_Return param, ref string error)
        {
            //string sqlquery = "select rtl_loc_id,business_date,wkstn_id,trans_seq,TOTAL,fiscal_number from trn_trans where trans_typcode='RETAIL_SALE' AND trans_statcode='COMPLETE' AND TOTAL>0 AND RECORD_STATE IS NULL and business_date>='" + fecha + "'";
            string sqlquery = "update trn_trans set RECORD_STATE='X' where trans_typcode='RETAIL_SALE' AND trans_statcode='COMPLETE' AND TOTAL>0 AND RECORD_STATE IS NULL AND rtl_loc_id=" + param.RTL_LOC_ID + " AND wkstn_id=" + param.WKSTN_ID + " AND trans_seq=" + param.TRANS_SEQ + " AND fiscal_number='" + param.FISCAL_NUMBER + "'";

            try
            {
                //object results = new object[1];
                Database db = new OracleDatabase(Ent_Acceso_BD.conn());

                DbCommand dbCommandWrapper = db.GetSqlStringCommand(sqlquery);

                db.ExecuteNonQuery(dbCommandWrapper);
            }
            catch (Exception exc)
            {
                error = exc.Message;
                //throw;
            }
        }
Example #2
0
        /// <summary>
        /// INSERTAR LA TABLA TEMPORAL DEL TRN_TRANS VENTA
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public Boolean inserta_tabla_temp(Ent_Bat_Tk_Return param, ref string error)
        {
            Boolean insert = false;

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

            //string sqlquery = "INSERT INTO  " + Ent_Acceso_BD.nom_tabla + "(RTL_LOC_ID,BUSINESS_DATE,WKSTN_ID,TRANS_SEQ,TOTAL,FISCAL_NUMBER)" +
            //    " VALUES(" + param.RTL_LOC_ID + ",'" + param.BUSINESS_DATE + "'," + param.WKSTN_ID + "," + param.TRANS_SEQ + "," + Convert.ToDecimal(param.TOTAL, new NumberFormatInfo() { NumberDecimalSeparator = "." }) + ",'" + param.FISCAL_NUMBER + "')";
            string sqlquery = "INSERT INTO  " + Ent_Acceso_BD.nom_tabla + "(RTL_LOC_ID,BUSINESS_DATE,WKSTN_ID,TRANS_SEQ,TOTAL,FISCAL_NUMBER) VALUES(:RTL_LOC_ID,:BUSINESS_DATE,:WKSTN_ID,:TRANS_SEQ,:TOTAL,:FISCAL_NUMBER)";

            try
            {
                Database  db = new OracleDatabase(Ent_Acceso_BD.conn());
                DbCommand dbCommandWrapper = db.GetSqlStringCommand(sqlquery);
                db.AddInParameter(dbCommandWrapper, "RTL_LOC_ID", DbType.Decimal, param.RTL_LOC_ID);
                db.AddInParameter(dbCommandWrapper, "BUSINESS_DATE", DbType.DateTime, param.BUSINESS_DATE);
                db.AddInParameter(dbCommandWrapper, "WKSTN_ID", DbType.Decimal, param.WKSTN_ID);
                db.AddInParameter(dbCommandWrapper, "TRANS_SEQ", DbType.Decimal, param.TRANS_SEQ);
                db.AddInParameter(dbCommandWrapper, "TOTAL", DbType.Decimal, param.TOTAL);
                db.AddInParameter(dbCommandWrapper, "FISCAL_NUMBER", DbType.String, param.FISCAL_NUMBER);


                //dbCommandWrapper.Parameters.Add("RTL_LOC_ID",DbType.)
                //dbCommandWrapper.Parameters.Add(new OracleParameter(":FName", TextBox1.Text));


                db.ExecuteNonQuery(dbCommandWrapper);


                insert = true;
            }
            catch (Exception exc)
            {
                error = exc.Message + " ==>inserta_tabla_temp ==QUERY==> " + sqlquery;
            }
            return(insert);
        }
Example #3
0
        /// <summary>
        /// SI EXISTE EN LA TABLA TEMPORAL LOS PARAMETROS DE VENTA
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public Boolean existe_tabla_temp(Ent_Bat_Tk_Return param, ref string error)
        {
            Boolean   existe    = false;
            string    sqlquery  = "SELECT count(*) as existe FROM " + Ent_Acceso_BD.nom_tabla + " WHERE RTL_LOC_ID=" + param.RTL_LOC_ID + " and WKSTN_ID=" + param.WKSTN_ID + " AND TRANS_SEQ=" + param.TRANS_SEQ + " AND FISCAL_NUMBER='" + param.FISCAL_NUMBER + "'";
            DataTable dt_existe = null;

            try
            {
                Database  db = new OracleDatabase(Ent_Acceso_BD.conn());
                DbCommand dbCommandWrapper = db.GetSqlStringCommand(sqlquery);
                dt_existe = db.ExecuteDataSet(dbCommandWrapper).Tables[0];
                if (dt_existe.Rows.Count > 0)
                {
                    existe = Convert.ToInt32(dt_existe.Rows[0]["existe"]) >= 1 ? true : false;
                }
            }
            catch (Exception exc)
            {
                //throw;
                error = exc.Message + " ==>existe_tabla_temp";
            }
            return(existe);
        }
Example #4
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);
        }
Example #5
0
        private void btnconectar_Click(object sender, EventArgs e)
        {
            Cursor.Current = Cursors.WaitCursor;

            try
            {
                string fecha = DateTime.Today.ToString("dd/MM/yyyy");/*fecha de validacion*/

                #region <CONEXIONES DE ORACLE>
                Ent_Acceso_BD.server    = "10.10.10.209";// 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 <ORACLE CREACION Y EXISTENCIA>
                string  error  = "";
                Boolean existe = data_ora.existe_tabla(ref error);
                if (!existe)
                {
                    data_ora.crear_table();
                }
                #endregion

                #region <REGION DE TRANSACCIONES AL TEMPORAL>
                string    query       = "";
                DataTable dtventa_ora = data_ora.get_documento_TRN_TRANS(fecha, ref error, ref query);

                if (dtventa_ora != null)
                {
                    if (dtventa_ora.Rows.Count > 0)
                    {
                        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"]);
                            param.TOTAL         = Convert.ToDecimal(fila["TOTAL"]);
                            param.FISCAL_NUMBER = fila["FISCAL_NUMBER"].ToString();
                            //string error = "";
                            /*VERIFICAR QUE NO EXISTA EL DOCUMENTO*/
                            Boolean existe_tmp = data_ora.existe_tabla_temp(param, ref error);
                            if (!existe_tmp)
                            {
                                Boolean insert = data_ora.inserta_tabla_temp(param, ref error);
                                /*si el insert es correcto entonces hacemos un update*/
                                if (insert)
                                {
                                    data_ora.update_documento_TRN_TRANS(param, ref error);
                                }
                            }
                            else
                            {
                                /*realizar el update en la tabla principal*/
                                data_ora.update_documento_TRN_TRANS(param, ref error);
                            }
                        }
                    }
                }
                #endregion


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