'doc_a_date': fields.String(description='Oficio date (CyTG)'), 'doc_b_date': fields.String(description='Oficio date (Dependencia)'), 'doc_c_date': fields.String(description='Oficio date (Organo Fiscalizador)'), 'doc_a': fields.String(description='Oficio No. (CyTG)'), 'doc_b': fields.String(description='Oficio No. (Dependencia)'), 'doc_c': fields.String(description='Oficio No. (Organo Fiscalizador)'), 'dep_response': fields.String(description='Dependency response (Dependencia)'), 'dep_resp_comments': fields.String(description='Dependency response comments (Dependencia)'), 'division_id': fields.Integer(description='Division identifier'), 'hdr_doc': fields.String(description='Oficio No. (header)'), 'hdr_reception_date': fields.String(description='Reception date (header)'), 'hdr_expiration1_date': fields.String(description='Expiration date (header)'), 'hdr_expiration2_date': fields.String(description='Registration date (header)'), 'observation_stage_id': fields.Integer(description='Observation stage id'), } observation = api.model('Observation', obs_fields) amounts = api.model('Amount entry', { 'id': fields.Integer(description='An integer as entry identifier'), 'projected': fields.Float(description='Amount projected'), 'solved': fields.Float(description='Amount solved'), 'observation_id': fields.Integer(description='An integer as observation id'), 'inception_time': fields.String(description='Inception time'), 'comments': fields.String(description='Comments'), }) obs_ext_fields = dict(obs_fields) obs_ext_fields['amounts'] = fields.List(fields.Nested(amounts)) observation_ext = api.model('Extended Observation (includes amounts history)', obs_ext_fields)
'Flag que indica vinculación con Paraestatal (true | false)', 'obra_pub': 'Flag que indica vinculación con Obra Pública (true | false)', } ns = api.namespace( "programas_soc", description="Servicios disponibles para los programas sociales") programa_soc = api.model( 'Programa social', { 'id': fields.Integer(description=programa_soc_ns_captions['id']), 'title': fields.String(description=programa_soc_ns_captions['title']), 'description': fields.String(description=programa_soc_ns_captions['description']), 'central': fields.Boolean(description=programa_soc_ns_captions['central']), 'paraestatal': fields.Boolean(description=programa_soc_ns_captions['paraestatal']), 'obra_pub': fields.Boolean(description=programa_soc_ns_captions['obra_pub']), }) @ns.route('/') @ns.response(401, 'Unauthorized') class ProgramaSocialList(Resource): @ns.marshal_list_with(programa_soc) @ns.param("offset", "Which record to start from, default is 0") @ns.param("limit",
obs_ires_asenl = api.model('Observación de la ASENL (Informe de Resultados)', { 'id': fields.Integer(description=obs_ires_asenl_ns_captions['id']), 'observacion_pre_id': fields.Integer(description=obs_ires_asenl_ns_captions['observacion_pre_id']), 'num_oficio_of': fields.String(description=obs_ires_asenl_ns_captions['num_oficio_of']), 'fecha_publicacion': fields.Date(description=obs_ires_asenl_ns_captions['fecha_publicacion']), 'tipo_observacion_id': fields.Integer(description=obs_ires_asenl_ns_captions['tipo_observacion_id']), 'num_observacion': fields.String(description=obs_ires_asenl_ns_captions['num_observacion']), 'observacion_final': fields.String(description=obs_ires_asenl_ns_captions['observacion_final']), 'observacion_reincidente': fields.Boolean(description=obs_ires_asenl_ns_captions['observacion_reincidente']), 'anios_reincidencia': fields.String(description=obs_ires_asenl_ns_captions['anios_reincidencia']), 'monto_observado': fields.Float(description=obs_ires_asenl_ns_captions['monto_observado']), 'compartida_observacion': fields.String(description=obs_ires_asenl_ns_captions['compartida_observacion']), 'compartida_tipo_observacion_id': fields.Integer(description=obs_ires_asenl_ns_captions['compartida_tipo_observacion_id']), 'compartida_monto': fields.Float(description=obs_ires_asenl_ns_captions['compartida_monto']), 'comentarios': fields.String(description=obs_ires_asenl_ns_captions['comentarios']), 'clasif_final_cytg': fields.Integer(description=obs_ires_asenl_ns_captions['clasif_final_cytg']), 'monto_solventado': fields.Float(description=obs_ires_asenl_ns_captions['monto_solventado']), 'monto_pendiente_solventar': fields.Float(description=obs_ires_asenl_ns_captions['monto_pendiente_solventar']), 'monto_a_reintegrar': fields.Float(description=obs_ires_asenl_ns_captions['monto_a_reintegrar']), 'acciones': fields.List(fields.Integer(), description=obs_ires_asenl_ns_captions['acciones']), 'recomendaciones': fields.String(description=obs_ires_asenl_ns_captions['recomendaciones']), 'num_oficio_recomendacion': fields.String(description=obs_ires_asenl_ns_captions['num_oficio_recomendacion']), 'fecha_oficio_recomendacion': fields.Date(description=obs_ires_asenl_ns_captions['fecha_oficio_recomendacion']), 'fecha_vencimiento_enviar_asenl': fields.Date(description=obs_ires_asenl_ns_captions['fecha_vencimiento_enviar_asenl']), 'num_oficio_dependencia': fields.String(description=obs_ires_asenl_ns_captions['num_oficio_dependencia']), 'fecha_oficio_dependencia': fields.Date(description=obs_ires_asenl_ns_captions['fecha_oficio_dependencia']), 'fecha_vencimiento_interna_cytg': fields.Date(description=obs_ires_asenl_ns_captions['fecha_vencimiento_interna_cytg']), 'num_oficio_resp_dependencia': fields.String(description=obs_ires_asenl_ns_captions['num_oficio_resp_dependencia']), 'fecha_acuse_resp_dependencia': fields.Date(description=obs_ires_asenl_ns_captions['fecha_acuse_resp_dependencia']), 'resp_dependencia': fields.String(description=obs_ires_asenl_ns_captions['resp_dependencia']), 'num_oficio_enviar_resp_asenl': fields.String(description=obs_ires_asenl_ns_captions['num_oficio_enviar_resp_asenl']), 'fecha_oficio_enviar_resp_asenl': fields.Date(description=obs_ires_asenl_ns_captions['fecha_oficio_enviar_resp_asenl']), 'unidad_investigadora': fields.String(description=obs_ires_asenl_ns_captions['unidad_investigadora']), 'num_vai': fields.String(description=obs_ires_asenl_ns_captions['num_vai']), 'tipificacion_id': fields.Integer(description=obs_ires_asenl_ns_captions['tipificacion_id']), 'direccion_id': fields.Integer(description=obs_ires_asenl_ns_captions['direccion_id']), 'auditoria_id': fields.Integer(description=obs_ires_asenl_ns_captions['auditoria_id']), })
ns = api.namespace( "reporte_54", description= "Observaciones por Estatus de la Observación del Informe Preliminar") data_row = api.model( 'Data row (Reporte 54)', { 'dep': fields.String(description=reporte_54_ns_captions['dependencia']), 'tipo_obs': fields.String(description=reporte_54_ns_captions['tipo_obs']), 'c_sol': fields.Integer(description=reporte_54_ns_captions['cant_obs_solv']), 'm_sol': fields.Float(description=reporte_54_ns_captions['monto_solv']), 'c_no_sol': fields.Integer(description=reporte_54_ns_captions['cant_obs_no_solv']), 'm_no_sol': fields.Float(description=reporte_54_ns_captions['monto_no_solv']), 'c_analisis': fields.Integer( description=reporte_54_ns_captions['cant_obs_en_analisis']), 'm_analisis': fields.Float( description=reporte_54_ns_captions['cant_obs_en_analisis']), }) report = api.model( 'Reporte 54', { 'data_rows': fields.List(fields.Nested(data_row)), 'ignored_audit_ids': fields.List(fields.Integer()),
from flask import request from genl.restplus import api from dal import acciones from misc.helper import get_search_params, verify_token from misc.helperpg import EmptySetError ns = api.namespace( "acciones", description= "Servicios disponibles para el catálogo de acciones (ASF y ASENL)") accion = api.model( 'Acción (ASENL)', { 'org_fiscal_id': fields.Integer(description='Id del órgano fiscalizador'), 'id': fields.Integer(description='Id de la acción'), 'title': fields.String(description='Siglas de la acción'), 'description': fields.String(description='Nombre de la acción'), }) pair = api.model( 'Id-Title pair', { 'id': fields.Integer(description='An integer as entry identifier'), 'title': fields.String(description='Entry title'), }) catalog = api.model( 'Leyendas relacionadas al catálogo de Acciones (ASF y ASENL)', { 'fiscals': fields.List(fields.Nested(pair)), })
ns = api.namespace( "reporte_56", description= "(Reporte 56 y 58) Observaciones Pendientes de Solventar por Ente Fiscalizador" ) data_row = api.model( 'Data row (Reporte 56)', { 'dep': fields.String(description=reporte_56_ns_captions['dependencia']), 'ej': fields.Integer(description=reporte_56_ns_captions['ej']), 'tipo': fields.String(description=reporte_56_ns_captions['tipo']), 'clasif_name': fields.String(description=reporte_56_ns_captions['clasif_name']), 'c_obs': fields.Integer(description=reporte_56_ns_captions['c_obs']), 'monto': fields.Float(description=reporte_56_ns_captions['monto']), 'm_obs': fields.Float(description=reporte_56_ns_captions['m_obs']), 'm_sol': fields.Float(description=reporte_56_ns_captions['m_sol']), }) report = api.model( 'Reporte 56', { 'data_rows': fields.List(fields.Nested(data_row)), 'ignored_audit_ids': fields.List(fields.Integer()), })
data_row = api.model( 'Data row (Reporte 55)', { 'dep': fields.String(description=reporte_55_ns_captions['dependencia']), 'c_asf': fields.Integer(description=reporte_55_ns_captions['cant_obs']), 'm_asf': fields.Float(description=reporte_55_ns_captions['monto_aten']), 'c_na_asf': fields.Integer(description=reporte_55_ns_captions['cant_obs_no_aten']), 'm_na_asf': fields.Float(description=reporte_55_ns_captions['monto_no_aten']), 'c_a_asf': fields.Integer(description=reporte_55_ns_captions['cant_obs_aten']), 'm_a_asf': fields.Float(description=reporte_55_ns_captions['monto_aten']), 'c_asenl': fields.Integer(description=reporte_55_ns_captions['cant_obs']), 'm_asenl': fields.Float(description=reporte_55_ns_captions['monto_aten']), 'c_na_asenl': fields.Integer(description=reporte_55_ns_captions['cant_obs_no_aten']), 'm_na_asenl': fields.Float(description=reporte_55_ns_captions['monto_no_aten']), 'c_a_asenl': fields.Integer(description=reporte_55_ns_captions['cant_obs_aten']), 'm_a_asenl': fields.Float(description=reporte_55_ns_captions['monto_aten']), 'c_cytg': fields.Integer(description=reporte_55_ns_captions['cant_obs']), 'm_cytg': fields.Float(description=reporte_55_ns_captions['monto_aten']), 'c_na_cytg': fields.Integer(description=reporte_55_ns_captions['cant_obs_no_aten']), 'm_na_cytg': fields.Float(description=reporte_55_ns_captions['monto_no_aten']), 'c_a_cytg': fields.Integer(description=reporte_55_ns_captions['cant_obs_aten']), 'm_a_cytg': fields.Float(description=reporte_55_ns_captions['monto_aten']), 'c_na_total': fields.Integer(description=reporte_55_ns_captions['cant_obs_no_aten']), 'm_na_total': fields.Float(description=reporte_55_ns_captions['monto_no_aten']), 'c_a_total': fields.Integer(description=reporte_55_ns_captions['cant_obs_aten']), 'm_a_total': fields.Float(description=reporte_55_ns_captions['monto_aten']), })
ns = api.namespace("reporte_53", description="Servicios para los reportes 52 y 53") data_row = api.model( 'Data row (Reporte 53)', { 'dep': fields.String(description=reporte_53_ns_captions['dependencia']), 'ej': fields.Integer(description=reporte_53_ns_captions['ejercicio']), 'c_asf': fields.Integer(description=reporte_53_ns_captions['cant_obs_asf']), 'm_asf': fields.Float(description=reporte_53_ns_captions['monto_asf']), 'c_sfp': fields.Integer(description=reporte_53_ns_captions['cant_obs_sfp']), 'm_sfp': fields.Float(description=reporte_53_ns_captions['monto_sfp']), 'c_asenl': fields.Integer(description=reporte_53_ns_captions['cant_obs_asenl']), 'm_asenl': fields.Float(description=reporte_53_ns_captions['monto_asenl']), 'c_cytg': fields.Integer(description=reporte_53_ns_captions['cant_obs_cytg']), 'm_cytg': fields.Float(description=reporte_53_ns_captions['monto_cytg']), }) report = api.model( 'Reporte 53', { 'data_rows': fields.List(fields.Nested(data_row)),
from genl.restplus import api from dal import audits from misc.helper import get_search_params, verify_token from misc.helperpg import get_msg_pgerror, EmptySetError ns = api.namespace("audits", description="Available services for an audit") audit = api.model( 'Auditoría', { 'id': fields.Integer(description='Id de la auditoría'), 'title': fields.String(description='Título de la auditoría'), 'org_fiscal_id': fields.Integer(description='Id del Órgano Fiscalizador'), 'direccion_id': fields.Integer(description='Id de la Dirección'), 'dependency_ids': fields.List(fields.Integer(), description='List of dependency ids'), 'years': fields.List(fields.Integer(), description='List of years (public account)'), }) dependency = api.model( 'Dependencia', { 'id': fields.Integer(description='Id de la Dependencia'), 'title': fields.String(description='Título o siglas de la Dependencia'), 'description':
seguimiento = api.model( 'Seguimiento de una Observación SFP', { 'observacion_id': fields.Integer( description='Observacion a la que pertenece el seguimiento'), 'seguimiento_id': fields.Integer(description='Id del seguimiento'), 'num_oficio_cytg_oic': fields.String(description='Num. de Oficio CyTG u OIC'), 'fecha_oficio_cytg_oic': fields.Date(description='Fecha de Oficio CyTG u OIC'), 'fecha_recibido_dependencia': fields.Date(description='Fecha de recibido de la Dependencia (ACUSE)'), 'fecha_vencimiento_cytg': fields.Date(description='Fecha de vencimiento (CyTG)'), 'num_oficio_resp_dependencia': fields.String( description='Num. de Oficio de respuesta de la Dependencia'), 'fecha_recibido_oficio_resp': fields.Date( description= 'Fecha de recibido del Oficio de respuesta de la Dependencia'), 'resp_dependencia': fields.String(description='Respuesta de la Dependencia'), 'comentarios': fields.String(description='Comentarios'), 'clasif_final_interna_cytg': fields.Integer(description='Clasificacion final Interna CyTG'), 'num_oficio_org_fiscalizador': fields.String(description='Num. de Oficio para Organo Fiscalizador'), 'fecha_oficio_org_fiscalizador': fields.Date(description='Fecha de Oficio para Organo Fiscalizador'), 'estatus_id': fields.Integer(description='Estatus'), 'monto_solventado': fields.Float(description='Monto Solventado'), 'monto_pendiente_solventar': fields.Float(description='Monto Pendiente de solventar'), 'monto_a_reintegrar': fields.Float(description=obs_sfp_ns_captions['monto_a_reintegrar']), 'monto_reintegrado': fields.Float(description=obs_sfp_ns_captions['monto_reintegrado']), 'fecha_reintegro': fields.Date(description=obs_sfp_ns_captions['fecha_reintegro']), 'monto_por_reintegrar': fields.Float(description=obs_sfp_ns_captions['monto_por_reintegrar']), })
from misc.helper import get_search_params, verify_token from misc.helperpg import get_msg_pgerror, EmptySetError clasif_interna_ns_captions = { 'org_fiscal_id': 'Id del órgano fiscalizador para la Clasificación interna', 'direccion_id': 'Id de la dirección para la Clasificación interna', 'sorting_val': 'Id de la Clasificación interna', 'title': 'Título o siglas de la Clasificación interna', } ns = api.namespace("clasifs_internas", description="Servicios disponibles para las clasificaciones internas de CyTG") clasif_interna = api.model('Clasificaciones internas de CyTG', { 'org_fiscal_id': fields.Integer(description=clasif_interna_ns_captions['org_fiscal_id']), 'direccion_id': fields.Integer(description=clasif_interna_ns_captions['direccion_id']), 'sorting_val': fields.Integer(description=clasif_interna_ns_captions['sorting_val']), 'title': fields.String(description=clasif_interna_ns_captions['title']), }) pair = api.model('Id-Title pair', { 'id': fields.Integer(description='An integer as entry identifier'), 'title': fields.String(description='Entry title'), }) catalog = api.model('Leyendas relacionadas con las Clasificaciones internas de CyTG', { 'fiscals': fields.List(fields.Nested(pair)), 'divisions': fields.List(fields.Nested(pair)), }) @ns.route('/')
obs_pre_cytg = api.model('Observación de la CyTG (Preliminar)', { 'id': fields.Integer(description=obs_pre_cytg_ns_captions['id']), 'periodo_revision_de': fields.Date(description=obs_pre_cytg_ns_captions['periodo_revision_de']), 'periodo_revision_a': fields.Date(description=obs_pre_cytg_ns_captions['periodo_revision_a']), 'direccion_id': fields.Integer(description=obs_pre_cytg_ns_captions['direccion_id']), 'fecha_captura': fields.Date(description=obs_pre_cytg_ns_captions['fecha_captura']), 'programa_social_id': fields.Integer(description=obs_pre_cytg_ns_captions['programa_social_id']), 'auditoria_id': fields.Integer(description=obs_pre_cytg_ns_captions['auditoria_id']), 'tipo_auditoria_id': fields.Integer(description=obs_pre_cytg_ns_captions['tipo_auditoria_id']), 'num_oficio_inicio': fields.String(description=obs_pre_cytg_ns_captions['num_oficio_inicio']), 'fecha_notificacion_inicio': fields.Date(description=obs_pre_cytg_ns_captions['fecha_notificacion_inicio']), 'fecha_vencimiento_nombra_enlace': fields.Date(description=obs_pre_cytg_ns_captions['fecha_vencimiento_nombra_enlace']), 'num_oficio_requerimiento': fields.String(description=obs_pre_cytg_ns_captions['num_oficio_requerimiento']), 'fecha_notificacion_requerimiento': fields.Date(description=obs_pre_cytg_ns_captions['fecha_notificacion_requerimiento']), 'fecha_vencimiento_requerimiento': fields.Date(description=obs_pre_cytg_ns_captions['fecha_vencimiento_requerimiento']), 'fecha_vencimiento_nueva': fields.Date(description=obs_pre_cytg_ns_captions['fecha_vencimiento_nueva']), 'tipo_observacion_id': fields.Integer(description=obs_pre_cytg_ns_captions['tipo_observacion_id']), 'num_observacion': fields.String(description=obs_pre_cytg_ns_captions['num_observacion']), 'observacion': fields.String(description=obs_pre_cytg_ns_captions['observacion']), 'monto_observado': fields.Float(description=obs_pre_cytg_ns_captions['monto_observado']), 'num_oficio_cytg_oic_pre': fields.String(description=obs_pre_cytg_ns_captions['num_oficio_cytg_oic_pre']), 'fecha_oficio_cytg_pre': fields.Date(description=obs_pre_cytg_ns_captions['fecha_oficio_cytg_pre']), 'fecha_recibido_dependencia': fields.Date(description=obs_pre_cytg_ns_captions['fecha_recibido_dependencia']), 'fecha_vencimiento_pre': fields.Date(description=obs_pre_cytg_ns_captions['fecha_vencimiento_pre']), 'prorroga': fields.Boolean(description=obs_pre_cytg_ns_captions['prorroga']), 'num_oficio_solic_prorroga': fields.String(description=obs_pre_cytg_ns_captions['num_oficio_solic_prorroga']), 'fecha_oficio_solic_prorroga': fields.Date(description=obs_pre_cytg_ns_captions['fecha_oficio_solic_prorroga']), 'num_oficio_contest_prorroga_cytg': fields.String(description=obs_pre_cytg_ns_captions['num_oficio_contest_prorroga_cytg']), 'fecha_oficio_contest_cytg': fields.Date(description=obs_pre_cytg_ns_captions['fecha_oficio_contest_cytg']), 'fecha_vencimiento_pre_nueva': fields.Date(description=obs_pre_cytg_ns_captions['fecha_vencimiento_pre_nueva']), 'clasif_pre_cytg': fields.Integer(description=obs_pre_cytg_ns_captions['clasif_pre_cytg']), 'num_oficio_resp_dependencia': fields.String(description=obs_pre_cytg_ns_captions['num_oficio_resp_dependencia']), 'fecha_oficio_resp': fields.Date(description=obs_pre_cytg_ns_captions['fecha_oficio_resp']), 'resp_dependencia': fields.String(description=obs_pre_cytg_ns_captions['resp_dependencia']), 'comentarios': fields.String(description=obs_pre_cytg_ns_captions['comentarios']), 'observacion_ires_id': fields.Integer(description=obs_pre_cytg_ns_captions['observacion_ires_id']), 'estatus_id': fields.Integer(description=obs_pre_cytg_ns_captions['estatus_id']), })
'username': fields.String(description=user_ns_captions['username']), 'passwd': fields.String(description=user_ns_captions['passwd']), 'orgchart_role_id': fields.Integer(description=user_ns_captions['orgchart_role_id']), 'division_id': fields.Integer(description=user_ns_captions['division_id']), 'disabled': fields.Boolean(description=user_ns_captions['disabled']), 'first_name': fields.String(description=user_ns_captions['first_name']), 'last_name': fields.String(description=user_ns_captions['last_name']), } user = api.model('User', usr_fields) usr_fields_ext = dict(usr_fields) usr_fields_ext['access_vector'] = fields.List( fields.Integer(description='Authority id')) user_ext = api.model('Extended User', usr_fields_ext) pair = api.model( 'Id-Title pair', { 'id': fields.Integer(description='An integer as entry identifier'), 'title': fields.String(description='Entry title'), }) authority = api.model( 'Authority', { 'id':
estatus_captions = { 'org_fiscal_id': 'Id del órgano fiscalizador', 'pre_ires': 'Preliminar o Informe de Resultados {pre | ires}', 'id': 'Id del estatus', 'title': 'Título del estatus', } ns = api.namespace( "estatus", description="Servicios disponibles para el catálogo de estatus") estatus_model = api.model( 'Estatus', { 'org_fiscal_id': fields.Integer(description=estatus_captions['org_fiscal_id']), 'pre_ires': fields.String(description=estatus_captions['pre_ires']), 'id': fields.Integer(description=estatus_captions['id']), 'title': fields.String(description=estatus_captions['title']), }) pair = api.model( 'Id-Title pair', { 'id': fields.Integer(description='An integer as entry identifier'), 'title': fields.String(description='Entry title'), }) catalog = api.model('Leyendas relacionadas al catálogo de Estatus', { 'fiscals': fields.List(fields.Nested(pair)), })
seguimiento = api.model( 'Seguimiento de una Observación CyTG (resultados)', { 'observacion_id': fields.Integer( description=obs_ires_cytg_ns_captions['observacion_id']), 'seguimiento_id': fields.Integer( description=obs_ires_cytg_ns_captions['seguimiento_id']), 'num_oficio_ires': fields.String( description=obs_ires_cytg_ns_captions['num_oficio_ires']), 'fecha_notif_ires': fields.Date(description=obs_ires_cytg_ns_captions['fecha_notif_ires']), 'fecha_vencimiento_ires': fields.Date( description=obs_ires_cytg_ns_captions['fecha_vencimiento_ires']), 'prorroga': fields.Boolean(description=obs_ires_cytg_ns_captions['prorroga']), 'num_oficio_solic_prorroga': fields.String( description=obs_ires_cytg_ns_captions['num_oficio_solic_prorroga'] ), 'fecha_oficio_solic_prorroga': fields.Date(description=obs_ires_cytg_ns_captions[ 'fecha_oficio_solic_prorroga']), 'num_oficio_contest_prorroga': fields.String(description=obs_ires_cytg_ns_captions[ 'num_oficio_contest_prorroga']), 'fecha_oficio_contest': fields.Date( description=obs_ires_cytg_ns_captions['fecha_oficio_contest']), 'fecha_vencimiento_ires_nueva': fields.Date(description=obs_ires_cytg_ns_captions[ 'fecha_vencimiento_ires_nueva']), 'num_oficio_resp_dependencia': fields.String(description=obs_ires_cytg_ns_captions[ 'num_oficio_resp_dependencia']), 'fecha_oficio_resp_dependencia': fields.Date(description=obs_ires_cytg_ns_captions[ 'fecha_oficio_resp_dependencia']), 'resp_dependencia': fields.String( description=obs_ires_cytg_ns_captions['resp_dependencia']), 'comentarios': fields.String(description=obs_ires_cytg_ns_captions['comentarios']), 'estatus_seguimiento_id': fields.Integer( description=obs_ires_cytg_ns_captions['estatus_seguimiento_id']), 'monto_solventado': fields.Float( description=obs_ires_cytg_ns_captions['monto_solventado']), 'monto_pendiente_solventar': fields.Float( description=obs_ires_cytg_ns_captions['monto_pendiente_solventar'] ), 'monto_a_reintegrar': fields.Float( description=obs_ires_cytg_ns_captions['monto_a_reintegrar']), 'monto_reintegrado': fields.Float( description=obs_ires_cytg_ns_captions['monto_reintegrado']), 'fecha_reintegro': fields.Date(description=obs_ires_cytg_ns_captions['fecha_reintegro']), 'monto_por_reintegrar': fields.Float( description=obs_ires_cytg_ns_captions['monto_por_reintegrar']), })
) from dal import file_services from misc.helperpg import ServerError file_services_ns_captions = { 'obs_id': 'ID de la observación: integer >= 1', 'pre_ires': 'Preliminar o Inf. Resultados: ({}|{})'.format(PRE, IRES), 'org_fisc': 'Organismo fiscalizador: ({}|{}|{}|{})'.format(SFP, ASF, ASENL, CYTG), 'filename': 'Exclusivamente el filename con extension .pdf', } ns = api.namespace("files", description="Servicios de Uploading/Downloading de archivos (.pdf)") filenames = api.model('Lista con nombres de archivo', { 'fnames': fields.List(fields.String()), }) @ns.route('/') @ns.response(400, 'Client error') @ns.response(500, 'Server error') class FileList(Resource): @ns.marshal_with(filenames) @ns.param('obs_id', file_services_ns_captions['obs_id'], required=True) @ns.param('pre_ires', file_services_ns_captions['pre_ires'], required=True) @ns.param('org_fisc', file_services_ns_captions['org_fisc'], required=True) def post(self): ''' Upload service (desde 1 hasta N archivos pdf). El Content-Type es multipart/form-data. Se hicieron pruebas con hasta 9 pdfs que sumaron unos 8MB en total. El nginx se ha configurado para permitir unos 10 MB en un solo request. Adicionalmente se requieren tres parameters en el query string: '''
'm_sol': 'Monto solventado', } ns = api.namespace( "reporte_61", description= "(Reporte 61 y 63) Reporte de Detalle de la Observación, Estatus, Entidad, Tipo de Observación y Ente Fiscalizador" ) data_row = api.model( 'Data row (Reporte 61)', { 'dep': fields.String(description=reporte_61_ns_captions['dependencia']), 'n_obs': fields.String(description=reporte_61_ns_captions['n_obs']), 'obs': fields.String(description=reporte_61_ns_captions['obs']), 'tipo': fields.String(description=reporte_61_ns_captions['tipo']), 'estatus': fields.String(description=reporte_61_ns_captions['estatus']), 'c_obs': fields.Integer(description=reporte_61_ns_captions['c_obs']), 'monto': fields.Float(description=reporte_61_ns_captions['monto']), 'm_sol': fields.Float(description=reporte_61_ns_captions['m_sol']), }) report = api.model( 'Reporte 61', { 'data_rows': fields.List(fields.Nested(data_row)), 'ignored_audit_ids': fields.List(fields.Integer()), }) @ns.route('/')