コード例 #1
0
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)
コード例 #2
0
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)
コード例 #3
0
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
コード例 #4
0
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)
コード例 #5
0
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]
コード例 #6
0
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)
コード例 #7
0
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)
コード例 #8
0
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
コード例 #9
0
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
コード例 #10
0
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)