def deudor_head(): rut = deu.get_rut() try: if len(rut) > 1: pass except: return redirect(url_for("form_rut")) eco = ecomart.Ecomart() lu_docs = eco.query_lu_rut(rut) try: #lu = lu_docs['hits']['hits'][0]['_source'] #df = json2html.convert(json = lu) df = Select.from_dict(lu_docs).to_pandas() df.drop(columns=['_index', '_type', '_id', '_score'], inplace=True, errors='ingnore') df_lu = df[[ 'fecha_generacion', 'lista_cliente', 'motivo_no_pago', 'fase_inicio', 'fase_dia', 'saldo_cliente', 'dias_mora_real' ]] df_lu.sort_values(by=['fecha_generacion']) otros_datos = get_otros_datos(df) return render_template('deudor.html', rut=rut, dv=df['dv'][0], ap_pat=df['apellido_paterno'][0], ap_mat=df['apellido_materno'][0], primer_nombre=df['primer_nombre'][0], otros_datos=otros_datos) except Exception as e: return 'sin data.' + str(e)
def comportamiento(): rut = deu.get_rut() try: if len(rut) > 1: pass except: return redirect(url_for("form_rut")) eco = ecomart.Ecomart() lu_docs = eco.query_lu_rut(rut) try: df = Select.from_dict(lu_docs).to_pandas() df.drop(columns=['_index', '_type', '_id', '_score'], inplace=True, errors='ingnore') df_lu = df[[ 'fecha_generacion', 'lista_cliente', 'motivo_no_pago', 'fase_inicio', 'fase_dia', 'saldo_cliente', 'dias_mora_real', 'saldo_castigado', 'sucursal_cobranza', 'banca_cliente' ]] df_lu.sort_values(by=['fecha_generacion'], inplace=True) df_ch = get_df_ch(rut) chartt.chart_comp(df_lu, df_ch) chartt.chart_wcode_x_date(df_ch) return render_template('comportamiento.html', rut=rut, dv=df['dv'][0], ap_pat=df['apellido_paterno'][0], ap_mat=df['apellido_materno'][0], primer_nombre=df['primer_nombre'][0], lu=df_lu) except Exception as e: return 'sin datos.' + str(e)
def get_df_ch(rut): eco = ecomart.Ecomart() li_docs = eco.query_li_rut(rut) try: lista_i3_identity = [] df_li = Select.from_dict(li_docs).to_pandas() df_li = df_li[['i3_identity', 'canal_id', 'table_name', 'dbname']] lista_i3_identity = df_li['i3_identity'].unique() except: pass if len(lista_i3_identity): df_ch = [] for i3 in lista_i3_identity: ch_docs = eco.query_ch_i3(i3) if len(ch_docs) > 0: try: ch = Select.from_dict(ch_docs).to_pandas() ch2 = ch[[ 'i3_identity', 'canal_id', 'callconnectedtimeUTC', 'wcode_displayname', 'wcat_displayname' ]] df_ch.append(ch2) except: pass df_all = pd.concat(df_ch) return df_all
def inin(): rut = deu.get_rut() try: if len(rut) > 1: pass except: return redirect(url_for("form_rut")) eco = ecomart.Ecomart() li_docs = eco.query_li_rut(rut) try: lista_i3_identity = [] #li = li_docs['hits']['hits'][0]['_source'] #df = json2html.convert(json = li) df_li = Select.from_dict(li_docs).to_pandas() #df_li.drop(columns=['_index', '_type', '_id', '_score'], inplace=True, errors='ingnore') df_li = df_li[['canal_id', 'table_name', 'dbname', 'i3_identity']] lista_i3_identity = df_li['i3_identity'].unique() except: pass if len(lista_i3_identity): df_ch = [] for i3 in lista_i3_identity: ch_docs = eco.query_ch_i3(i3) if len(ch_docs) > 0: try: ch = Select.from_dict(ch_docs).to_pandas() ch2 = ch[[ 'campaignname', 'canal_id', 'callconnectedtimeUTC', 'wcode_displayname', 'wcat_displayname', 'length', 'i3_identity' ]] df_ch.append(ch2) except: pass df_all = pd.concat(df_ch) else: return 'sin datos' found, datos = get_basic_data(rut) if found: df_all.sort_values(by=['callconnectedtimeUTC'], inplace=True) # Genera chart de "tipo" timeline #chartt.gen_timeline(df_all) #tl_chart = chartt.gen_timeline2(df_all) graficar = 0 if graficar == 1: chartt.chart_wcode_x_date(df_all) return render_template('inin.html', rut=rut, ap_pat=datos['apellido_paterno'], ap_mat=datos['apellido_materno'], primer_nombre=datos['primer_nombre'], li=df_li, ch=df_all, graficar=graficar)
def get_basic_data(rut): found = False try: print('buscando en ecomart con RUT : ' + str(rut)) eco = ecomart.Ecomart() lu_docs = eco.query_lu_rut(rut) df = Select.from_dict(lu_docs).to_pandas() print('largo df:', len(df.index), flush=True) if (len(df.index) > 0): deu.set_rut(rut) found = True print('encontro.') try: ap_pat = '' ap_pat = df['apellido_paterno'][0] except: ap_pat = 'Sin datos' try: ap_mat = '' ap_mat = df['apellido_materno'][0] except: ap_mat = 'Sin datos' try: primer_nombre = '' primer_nombre = df['primer_nombre'][0] except: primer_nombre = 'Sin datos' basic_data = { 'apellido_paterno': ap_pat, 'apellido_materno': ap_mat, 'primer_nombre': primer_nombre, } else: basic_data = { 'apellido_paterno': 'Sin datos', 'apellido_materno': 'Sin datos', 'primer_nombre': 'Sin datos' } except: basic_data = { 'apellido_paterno': 'Sin datos', 'apellido_materno': 'Sin datos', 'primer_nombre': 'Sin datos' } return [found, basic_data]
def ajax2(): print('ajax2') rut = request.form.get('rut') print('rut:', rut, flush=True) print('Buscando para RUT:', rut, flush=True) mensaje = '' resultado = 0 try: eco = ecomart.Ecomart() lu_docs = eco.query_lu_rut(rut) df = Select.from_dict(lu_docs).to_pandas() if (len(df.index) > 0): resultado = 1 deu.set_rut(rut) except: mensaje = 'No encontre el rut consultado.' try: ap_pat = '' ap_pat = df['apellido_paterno'][0] except: ap_pat = 'Apellido Paterno, sin datos' try: ap_mat = '' ap_mat = df['apellido_materno'][0] except: ap_mat = 'Apellido Materno, sin datos' try: primer_nombre = '' primer_nombre = df['primer_nombre'][0] except: primer_nombre = 'Nombre, Sin datos' respuesta = { 'resultado': resultado, 'mensaje': mensaje, 'rut': rut, 'nombre': primer_nombre, 'apellido_paterno': ap_pat, 'apellido_materno': ap_mat, 'edad': 'ND' } return jsonify(respuesta)
def lu(): rut = deu.get_rut() try: if len(rut) > 1: pass except: return redirect(url_for("form_rut")) eco = ecomart.Ecomart() lu_docs = eco.query_lu_rut(rut) try: #lu = lu_docs['hits']['hits'][0]['_source'] #df = json2html.convert(json = lu) df = Select.from_dict(lu_docs).to_pandas() df.drop(columns=['_index', '_type', '_id', '_score'], inplace=True, errors='ingnore') df_lu = df[[ 'fecha_generacion', 'lista_cliente', 'motivo_no_pago', 'fase_inicio', 'fase_dia', 'saldo_cliente', 'dias_mora_real', 'saldo_castigado', 'sucursal_cobranza', 'banca_cliente' ]] df_lu.sort_values(by=['fecha_generacion'], inplace=True) graficar = 0 if graficar == 1: chartt.chart_lu_x_date(df_lu) return render_template('lu.html', rut=rut, dv=df['dv'][0], ap_pat=df['apellido_paterno'][0], ap_mat=df['apellido_materno'][0], primer_nombre=df['primer_nombre'][0], lu=df_lu, graficar=graficar) except Exception as e: return 'sin datos. ' + str(e)
def get_lu(rut_cliente): eco = ecomart.Ecomart() if len(rut_cliente) < 1: abort(404) lu_docs = eco.query_lu_rut(rut_cliente) return lu_docs
def get_ch(i3_identity): eco = ecomart.Ecomart() if len(i3_identity) < 1: abort(404) ch_docs = eco.query_ch_i3(i3_identity) return ch_docs
from lib import ecomart from json2html import * import sys eco = ecomart.Ecomart() rut = '15446641' lu_docs = eco.query_lu_rut(rut) # "Fijos" print(lu_docs['hits']['hits'][0]['_source']['rut_cliente']) print(lu_docs['hits']['hits'][0]['_source']['dv']) print(lu_docs['hits']['hits'][0]['_source']['primer_nombre']) print(lu_docs['hits']['hits'][0]['_source']['apellido_paterno']) print(lu_docs['hits']['hits'][0]['_source']['apellido_materno']) ndocs = len(li_docs['hits']['hits']) for i in range(0,ndocs): print(li_docs['hits']['hits'][i]['_source']['fecha_generacion']) print(li_docs['hits']['hits'][i]['_source']['lista_cliente']) print(li_docs['hits']['hits'][i]['_source']['banca_cliente']) print(li_docs['hits']['hits'][i]['_source']['fase_inicio']) print(li_docs['hits']['hits'][i]['_source']['fase_dia']) print(li_docs['hits']['hits'][i]['_source']['saldo_cliente']) #sys.exit(-1) #print(json2html.convert(json = docs)) li_docs = eco.query_li_rut(rut)