public string ws_envio_poslog_tda(Ent_PosLog_Tda param) { string error = ""; try { ValidateAcceso header_user = new ValidateAcceso(); header_user.Username = "******"; header_user.Password = "******"; Bata_TransactionSoapClient batatran = new Bata_TransactionSoapClient(); error = batatran.ws_envio_poslog_xstore_tda(header_user, param); } catch (Exception exc) { error = exc.Message; } return(error); }
public void update_tmp_bata_transac_ora(Ent_PosLog_Tda param, ref string error) { //string sqlquery = "SELECT RTL_LOC_ID,BUSINESS_DATE,WKSTN_ID,TRANS_SEQ,TOTAL,FISCAL_NUMBER FROM " + Ent_Acceso_BD.nom_tabla + " WHERE SEND_SERVER IS NULL AND SUBSTR(FISCAL_NUMBER,0,1) IN ('B','F')"; string sqlquery = "UPDATE " + Ent_Acceso_BD.nom_tabla_poslog + " SET SEND_SERVER='A' WHERE (SEND_SERVER IS NULL OR SEND_SERVER='X') AND " + " RTL_LOC_ID=" + param.rtl_loc_id + " AND WKSTN_ID=" + param.wkstn_id + " AND TRANS_SEQ=" + param.trans_seq + " AND DOCUMENT_TYPCODE='" + param.document_typcode + "' AND NUMDOC='" + param.numdoc + "'"; try { Database db = new OracleDatabase(Ent_Acceso_BD.conn()); DbCommand dbCommandWrapper = db.GetSqlStringCommand(sqlquery); db.ExecuteNonQuery(dbCommandWrapper); } catch (Exception exc) { error = exc.Message + " ==>update_tmp_bata_transac_ora"; } }
public string ejecuta_envio_poslog() { string _fecha_ini = DateTime.Today.AddDays(-90).ToString("dd/MM/yyyy"); string _fecha_fin = DateTime.Today.ToString("dd/MM/yyyy");; string error = ""; try { 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"; } _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; } 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); } if (con_ora == null) { return(""); } //_server = ""; // "172.30.41.10" TDA 143 // 172.30.39.10 TDA 141 Ent_Acceso_BD.server = _server; //"172.16.100.200";// _server;// "172.16.100.189";// _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(); Ent_Acceso_BD.nom_tabla_poslog = "TMP_BATA_TRANSAC"; #endregion #region <ORACLE CREACION Y EXISTENCIA> Boolean existe = data_ora.existe_tabla_poslog(ref error); if (error.Length > 0) { return(error); } if (!existe) { error = data_ora.crear_table_poslog(); } if (error.Length > 0) { return(error); } #endregion #region <ENVIO DE DATOS DE VENTA,GUIAS AL TEMPORAL> // _tienda = "50704"; DataTable dtventa_ora = data_ora.get_documento_TRN_INV_TRANS_POSLOG(_tienda, _fecha_ini, _fecha_fin, ref error); if (error.Length > 0) { return(error); } if (dtventa_ora != null) { if (dtventa_ora.Rows.Count > 0) { foreach (DataRow fila in dtventa_ora.Rows) { Ent_Ora_Transac transac = new Ent_Ora_Transac(); transac.RTL_LOC_ID = Convert.ToDecimal(fila["RTL_LOC_ID"]); transac.WKSTN_ID = Convert.ToInt32(fila["WKSTN_ID"]); transac.TRANS_SEQ = Convert.ToDecimal(fila["TRANS_SEQ"]); transac.BUSINESS_DATE = Convert.ToDateTime(fila["BUSINESS_DATE"]); transac.NUMDOC = fila["NUMDOC"].ToString(); transac.TOTAL = Convert.ToDecimal(fila["TOTAL"]); transac.DOCUMENT_TYPCODE = fila["DOCUMENT_TYPCODE"].ToString(); decimal _numero_region = Convert.ToDecimal(fila["TOTAL"], new NumberFormatInfo() { NumberDecimalSeparator = "." }); transac.TOTAL = _numero_region; /*VERIFICAR QUE NO EXISTA EL DOCUMENTO*/ Boolean existe_tmp = data_ora.existe_data_temp_transac(transac, ref error); if (error.Length > 0) { return(error); } if (!existe_tmp) { Boolean insert = data_ora.inserta_tabla_temp_poslog(transac, ref error); if (error.Length > 0) { return(error); } /*si el insert es correcto entonces hacemos un update*/ if (insert) { data_ora.update_documento_Transac_Mov(transac, ref error); if (error.Length > 0) { return(error); } } } else { /*realizar el update en la tabla principal*/ data_ora.update_documento_Transac_Mov(transac, ref error); if (error.Length > 0) { return(error); } } } } } #endregion #region <ENVIO LOS DATOS AL SERVER AL POSLOG POR WEBSERVICE> DataTable dt_envio = data_ora.select_tmp_poslog_ora();/*seleccionamos datos del oracle*/ if (dt_envio != null) { if (dt_envio.Rows.Count > 0) { foreach (DataRow fila in dt_envio.Rows) { Ent_PosLog_Tda param = new Ent_PosLog_Tda(); param.rtl_loc_id = Convert.ToInt32(fila["RTL_LOC_ID"]); param.wkstn_id = Convert.ToInt32(fila["WKSTN_ID"]); param.trans_seq = Convert.ToDecimal(fila["TRANS_SEQ"]); param.business_date = Convert.ToDateTime(fila["BUSINESS_DATE"]); param.numdoc = fila["NUMDOC"].ToString(); param.total = Convert.ToDecimal(fila["TOTAL"]); param.document_typcode = fila["DOCUMENT_TYPCODE"].ToString(); param.pos_log_data = fila["POSLOG_DATA"].ToString(); string env = data_ora.ws_envio_poslog_tda(param); if (error.Length > 0) { return(error); } /*en este caso quiere decir que no hay errores en el envio*/ if (env.Length == 0) { data_ora.update_tmp_bata_transac_ora(param, ref error); } // param. } } } #endregion } catch (Exception exc) { error = exc.Message + "==>POSLOG"; } return(error); }