Example #1
0
def get(ej_ini, ej_fin, division_id, auth):
    ''' Returns an instance of Reporte 52 and 53 '''
    # Tratamiento de filtros
    ej_ini = int(ej_ini)
    ej_fin = int(ej_fin)
    str_filtro_direccion = get_direction_str_condition(int(division_id))

    if ej_fin < ej_ini:
        raise Exception('Verifique los valores del ejercicio ingresados')

    # Buscar las auditorias que seran ignoradas (multi-dependencia y multi-anio)
    ignored_audit_str, ignored_audit_ids = get_ignored_audit_structs(
        get_ignored_audits(), 'ires.')

    # Retrieve de cant. obs y montos por cada ente
    aux_dict1 = getRowsSFP(ignored_audit_str, ej_ini, ej_fin,
                           str_filtro_direccion, {}, ('SFPR' in auth))  # SFP
    aux_dict2 = getRowsASF(ignored_audit_str, ej_ini, ej_fin,
                           str_filtro_direccion, aux_dict1,
                           ('ASFR' in auth))  # ASF
    aux_dict3 = getRowsASENL(ignored_audit_str, ej_ini, ej_fin,
                             str_filtro_direccion, aux_dict2,
                             ('ASER' in auth))  # ASENL
    aux_dict4 = getRowsCyTG(
        ignored_audit_str, ej_ini, ej_fin, str_filtro_direccion, aux_dict3,
        ('CYTR' in auth))  # CyTG (Ires no tiene monto observado)

    aux_l = sorted(aux_dict4.items())

    # Arreglar data en lista de dicts que sera retornada como response

    return {
        'data_rows': set_data_rows(aux_l),
        'ignored_audit_ids': ignored_audit_ids
    }
Example #2
0
def get(ej_ini, ej_fin, fiscal, reporte_num, division_id, auth, is_clasif):
    ''' Returns an instance of Reporte 56 and 58'''
    
    # Tratamiento de filtros
    ej_ini = int(ej_ini)
    ej_fin = int(ej_fin)
    reporte_num = str(reporte_num)
    str_filtro_direccion = get_direction_str_condition(int(division_id))
    is_clasif = True if is_clasif == 'True' else False

    if ej_fin < ej_ini:
        raise Exception('Verifique los valores del ejercicio ingresados')

    # Buscar las auditorias que seran ignoradas (multi-dependencia y multi-anio)
    ignored_audit_str, ignored_audit_ids = get_ignored_audit_structs(get_ignored_audits(), 'ires.')

    #Organos fiscalizadores
    entes = setEntesIds()

    if fiscal == 'SFP':
        sql = setSQLs( ignored_audit_str, ej_ini, ej_fin, reporte_num, 'SFP', str_filtro_direccion)
        l = getDataSFP( sql, entes['SFP'], ('SFPR' in auth) )
    elif fiscal == 'ASF':
        ignored_audit_str = ignored_audit_str.replace('ires.', 'pre.')
        sql = setSQLs( ignored_audit_str, ej_ini, ej_fin, reporte_num, 'ASF', str_filtro_direccion)
        l = getDataASF( sql, entes['ASF'], ('ASFR' in auth) )
    elif fiscal == 'CYTG':
        ignored_audit_str = ignored_audit_str.replace('ires.', 'pre.')
        sql = setSQLs( ignored_audit_str, ej_ini, ej_fin, reporte_num, 'CYTG', str_filtro_direccion)
        l = getDataCYTG( sql, entes['CyTG'], ('CYTR' in auth) )
    elif fiscal == 'ASENL':
        ignored_audit_str = ignored_audit_str.replace('ires.', 'pre.')
        sql = setSQLs( ignored_audit_str, ej_ini, ej_fin, reporte_num, 'ASENL', str_filtro_direccion)
        l = getDataASENL( sql, entes['ASENL'], ('ASER' in auth) )
    else:
        l = []

    if is_clasif:
        data_rows = setDataObj56(l) if (reporte_num == 'reporte56') else (setDataObj58(l) if (reporte_num == 'reporte58') else [])
    else:
        data_rows = setDataObjObs56(l) if (reporte_num == 'reporte56') else []

    return {
        'data_rows': data_rows,
        'ignored_audit_ids': ignored_audit_ids
    }
Example #3
0
def get(ej_ini, ej_fin, division_id, auth):
    ''' Returns an instance of Reporte 55 '''

    # Tratamiento de filtros
    ej_ini = int(ej_ini)
    ej_fin = int(ej_fin)
    str_filtro_direccion = get_direction_str_condition(int(division_id))

    if ej_fin < ej_ini:
        raise Exception('Verifique los valores del ejercicio ingresados')

    # Buscar las auditorias que seran ignoradas (multi-dependencia y multi-anio)
    ignored_audit_str, ignored_audit_ids = get_ignored_audit_structs(
        get_ignored_audits(), 'pre.')

    data_rows = getData(ignored_audit_str, ej_ini, ej_fin, 'NO DATO',
                        str_filtro_direccion, auth)

    return {'data_rows': data_rows, 'ignored_audit_ids': ignored_audit_ids}
Example #4
0
def get(ej_ini, ej_fin, fiscal, onlyObras, division_id, auth):
    ''' Returns an instance of Reporte 57 and 59'''

    # Tratamiento de filtros
    ej_ini = int(ej_ini)
    ej_fin = int(ej_fin)
    only_obras = True if onlyObras else False
    str_filtro_direccion = get_direction_filter(int(division_id), only_obras)

    if ej_fin < ej_ini:
        raise Exception('Verifique los valores del ejercicio ingresados')

    # Buscar las auditorias que seran ignoradas (multi-dependencia y multi-anio)
    ignored_audit_str, ignored_audit_ids = get_ignored_audit_structs(
        get_ignored_audits(), 'ires.')

    #Organos fiscalizadores
    entes = setEntesIds()

    data_rows = []
    if fiscal == 'SFP':
        data_rows = getDataSFP(ignored_audit_str, ej_ini, ej_fin, entes['SFP'],
                               only_obras, str_filtro_direccion,
                               ('SFPR' in auth))
    elif fiscal == 'ASF':
        ignored_audit_str = ignored_audit_str.replace('ires.', 'pre.')
        data_rows = getDataASF(ignored_audit_str, ej_ini, ej_fin, entes['ASF'],
                               only_obras, str_filtro_direccion,
                               ('ASFR' in auth))
    elif fiscal == 'CYTG':
        ignored_audit_str = ignored_audit_str.replace('ires.', 'pre.')
        data_rows = getDataCYTG(ignored_audit_str, ej_ini, ej_fin,
                                entes['CyTG'], only_obras,
                                str_filtro_direccion, ('CYTR' in auth))
    elif fiscal == 'ASENL':
        ignored_audit_str = ignored_audit_str.replace('ires.', 'pre.')
        data_rows = getDataASENL(ignored_audit_str, ej_ini, ej_fin,
                                 entes['ASENL'], only_obras,
                                 str_filtro_direccion, ('ASER' in auth))

    return {'data_rows': data_rows, 'ignored_audit_ids': ignored_audit_ids}
Example #5
0
def get(ej_ini, ej_fin, fiscal, obs_c, division_id, auth):
    ''' Returns an instance of Reporte 61 and 63'''

    # Tratamiento de filtros
    ej_ini = int(ej_ini)
    ej_fin = int(ej_fin)
    str_filtro_direccion = get_direction_str_condition(int(division_id))

    if ej_fin < ej_ini:
        raise Exception('Verifique los valores del ejercicio ingresados')

    # Buscar las auditorias que seran ignoradas (multi-dependencia y multi-anio)
    ignored_audit_str, ignored_audit_ids = get_ignored_audit_structs(
        get_ignored_audits(), 'ires.')

    #Organos fiscalizadores
    entes = setEntesIds()

    data_rows = []
    if obs_c == 'pre':
        if fiscal == 'SFP':
            l = preSFP(ignored_audit_str, ej_ini, ej_fin, entes['SFP'],
                       str_filtro_direccion, ('SFPR' in auth))
            data_rows = setDataObj(l)
        elif fiscal == 'ASF':
            ignored_audit_str = ignored_audit_str.replace('ires.', 'pre.')
            l = preASF(ignored_audit_str, ej_ini, ej_fin, entes['ASF'],
                       str_filtro_direccion, ('ASFP' in auth))
            data_rows = setDataObj(l)
        elif fiscal == 'CYTG':
            ignored_audit_str = ignored_audit_str.replace('ires.', 'pre.')
            l = preCYTG(ignored_audit_str, ej_ini, ej_fin, entes['CyTG'],
                        str_filtro_direccion, ('CYTP' in auth))
            data_rows = setDataObj(l)
        elif fiscal == 'ASENL':
            ignored_audit_str = ignored_audit_str.replace('ires.', 'pre.')
            l = preASENL(ignored_audit_str, ej_ini, ej_fin, entes['ASENL'],
                         str_filtro_direccion, ('ASEP' in auth))
            data_rows = setDataObj(l)
    else:
        if fiscal == 'SFP':
            ignored_audit_str = ignored_audit_str.replace('pre.', 'ires.')
            l = iresSFP(ignored_audit_str, ej_ini, ej_fin, entes['SFP'],
                        str_filtro_direccion, ('SFPR' in auth))
            data_rows = setDataObj(l)
        elif fiscal == 'ASF':
            ignored_audit_str = ignored_audit_str.replace('ires.', 'pre.')
            l = iresASF(ignored_audit_str, ej_ini, ej_fin, entes['ASF'],
                        str_filtro_direccion, ('ASFR' in auth))
            data_rows = setDataObj(l)
        elif fiscal == 'CYTG':
            ignored_audit_str = ignored_audit_str.replace('ires.', 'pre.')
            l = iresCYTG(ignored_audit_str, ej_ini, ej_fin, entes['CyTG'],
                         str_filtro_direccion, ('CYTR' in auth))
            data_rows = setDataObj(l)
        elif fiscal == 'ASENL':
            ignored_audit_str = ignored_audit_str.replace('ires.', 'pre.')
            l = iresASENL(ignored_audit_str, ej_ini, ej_fin, entes['ASENL'],
                          str_filtro_direccion, ('ASER' in auth))
            data_rows = setDataObj(l)

    return {'data_rows': data_rows, 'ignored_audit_ids': ignored_audit_ids}
Example #6
0
def get(ej_ini, ej_fin, fiscal, division_id, auth):
    ''' Returns an instance of Reporte 54 '''

    # Tratamiento de filtros
    ej_ini = int(ej_ini)
    ej_fin = int(ej_fin)
    str_filtro_direccion = get_direction_str_condition(int(division_id))

    if ej_fin < ej_ini:
        raise Exception('Verifique los valores del ejercicio ingresados')

    # Buscar las auditorias que seran ignoradas (multi-dependencia y multi-anio)
    ignored_audit_str, ignored_audit_ids = get_ignored_audit_structs(
        get_ignored_audits(), 'pre.')

    # Retrieve de cant. obs y montos por cada ente, empezando por ASENL
    aux_dict1 = getRowsASENL(ignored_audit_str, ej_ini, ej_fin,
                             str_filtro_direccion, fiscal, {},
                             ('ASEP' in auth))
    aux_dict2 = getRowsASF(ignored_audit_str, ej_ini, ej_fin,
                           str_filtro_direccion, fiscal, aux_dict1,
                           ('ASFP' in auth))
    aux_dict3 = getRowsCYTG(ignored_audit_str, ej_ini, ej_fin,
                            str_filtro_direccion, fiscal, aux_dict2,
                            ('CYTP' in auth))

    aux_l = sorted(aux_dict3.items())

    # Arreglar data en lista de dicts que sera retornada como response
    data_rows = []

    for item in aux_l:
        k = item[0]
        v = item[1]
        r = {
            'dep': k[0],
        }

        r['tipo_obs'] = '' if k[1] == 'no_data' else k[1]

        r['c_analisis'] = 0
        r['m_analisis'] = 0.0
        r['c_sol'] = 0
        r['m_sol'] = 0.0
        r['c_no_sol'] = 0
        r['m_no_sol'] = 0.0

        # estatus_pre_asenl no tiene las opciones solventadas ni no solventadas (Las 3 se consideraran en analisis)
        # -En análisis de la CYTG
        # -En análisis del organismo/dependencia
        # -En análisis del ente fiscalizador

        # estatus_pre_asf (Las primeras 3 se consideraran en analisis)
        # -Observaciones Preliminares
        # -Respuestas atendida a Preliminares
        # -En análisis del ente fiscalizador
        # -Solventada
        # -No solventada

        for ob in v:
            if ob == 'to_ana':
                r['c_analisis'] = v[ob][1]
                r['m_analisis'] = v[ob][2]
            elif ob == 'to_sol':
                r['c_sol'] = v[ob][1]
                r['m_sol'] = v[ob][2]
            elif ob == 'to_not':
                r['c_no_sol'] = v[ob][1]
                r['m_no_sol'] = v[ob][2]

        data_rows.append(r)

    return {'data_rows': data_rows, 'ignored_audit_ids': ignored_audit_ids}