mirror of https://github.com/interlegis/sigi.git
Sesostris Vieira
2 years ago
3 changed files with 42 additions and 375 deletions
@ -1,335 +0,0 @@ |
|||||
from django.utils.translation import gettext as _ |
|
||||
from geraldo import ( |
|
||||
ReportBand, |
|
||||
ObjectValue, |
|
||||
Label, |
|
||||
ReportGroup, |
|
||||
FIELD_ACTION_SUM, |
|
||||
) |
|
||||
from reportlab.lib.units import cm |
|
||||
|
|
||||
from sigi.apps.relatorios.reports import ReportDefault |
|
||||
|
|
||||
|
|
||||
# from abc import ABCMeta |
|
||||
|
|
||||
|
|
||||
class CasasAderidasReport(object): |
|
||||
pass |
|
||||
|
|
||||
|
|
||||
class CasasNaoAderidasReport(object): |
|
||||
pass |
|
||||
|
|
||||
|
|
||||
class CasasComEquipamentosReport(object): |
|
||||
pass |
|
||||
|
|
||||
|
|
||||
class SemEquipamentosReport(object): |
|
||||
pass |
|
||||
|
|
||||
|
|
||||
class ConvenioReport(ReportDefault): |
|
||||
title = _("Relatório de Parcerias") |
|
||||
|
|
||||
class band_page_header(ReportDefault.band_page_header): |
|
||||
|
|
||||
label_top = ReportDefault.band_page_header.label_top |
|
||||
label_left = [0, 2.5, 6, 8, 10, 12, 14, 16] |
|
||||
elements = list(ReportDefault.band_page_header.elements) |
|
||||
height = 4.7 * cm |
|
||||
|
|
||||
elements += [ |
|
||||
Label( |
|
||||
text=_("UF"), |
|
||||
left=label_left[0] * cm, |
|
||||
top=label_top + 0.4 * cm, |
|
||||
), |
|
||||
Label( |
|
||||
text=_("Municipio"), |
|
||||
left=label_left[1] * cm, |
|
||||
top=label_top + 0.4 * cm, |
|
||||
), |
|
||||
Label( |
|
||||
text=_("Número do Convênio"), |
|
||||
left=label_left[2] * cm, |
|
||||
top=label_top, |
|
||||
width=2 * cm, |
|
||||
), |
|
||||
Label( |
|
||||
text=_("Projeto"), |
|
||||
left=label_left[3] * cm, |
|
||||
top=label_top + 0.4 * cm, |
|
||||
width=2 * cm, |
|
||||
), |
|
||||
Label( |
|
||||
text=_("Data do Convênio"), |
|
||||
left=label_left[4] * cm, |
|
||||
top=label_top, |
|
||||
width=2 * cm, |
|
||||
), |
|
||||
Label( |
|
||||
text=_("Data de Publicação"), |
|
||||
left=label_left[5] * cm, |
|
||||
top=label_top, |
|
||||
width=2 * cm, |
|
||||
), |
|
||||
Label( |
|
||||
text=_("Orgão"), |
|
||||
left=label_left[6] * cm, |
|
||||
top=label_top + 0.4 * cm, |
|
||||
width=2 * cm, |
|
||||
), |
|
||||
] |
|
||||
|
|
||||
class band_page_footer(ReportDefault.band_page_footer): |
|
||||
pass |
|
||||
|
|
||||
class band_detail(ReportDefault.band_detail): |
|
||||
|
|
||||
label_left = [0, 2.5, 6, 8, 10, 12, 14, 16] |
|
||||
|
|
||||
elements = [ |
|
||||
ObjectValue( |
|
||||
attribute_name="casa_legislativa.municipio.uf.sigla", |
|
||||
left=label_left[0] * cm, |
|
||||
), |
|
||||
ObjectValue( |
|
||||
attribute_name="casa_legislativa.municipio.nome", |
|
||||
left=label_left[1] * cm, |
|
||||
), |
|
||||
ObjectValue(attribute_name="num_convenio", left=label_left[2] * cm), |
|
||||
ObjectValue( |
|
||||
attribute_name="projeto.sigla", left=label_left[3] * cm |
|
||||
), |
|
||||
ObjectValue( |
|
||||
attribute_name="data_retorno_assinatura", |
|
||||
left=label_left[4] * cm, |
|
||||
get_value=lambda instance: instance.data_retorno_assinatura.strftime( |
|
||||
"%d/%m/%Y" |
|
||||
) |
|
||||
if instance.data_retorno_assinatura is not None |
|
||||
else "-", |
|
||||
), |
|
||||
ObjectValue( |
|
||||
attribute_name="data_pub_diario", |
|
||||
left=label_left[5] * cm, |
|
||||
get_value=lambda instance: instance.data_pub_diario.strftime( |
|
||||
"%d/%m/%Y" |
|
||||
) |
|
||||
if instance.data_pub_diario is not None |
|
||||
else "-", |
|
||||
), |
|
||||
ObjectValue( |
|
||||
attribute_name="casa_legislativa.nome", left=label_left[6] * cm |
|
||||
), |
|
||||
] |
|
||||
|
|
||||
# groups = [ |
|
||||
# ReportGroup(attribute_name='casa_legislativa.municipio.uf', |
|
||||
# band_header=ReportBand( |
|
||||
# height=0.7 * cm, |
|
||||
# elements=[ |
|
||||
# ObjectValue(attribute_name='casa_legislativa.municipio.uf', |
|
||||
# get_Value=lambda instance: '%s: %s' % (_('Casa Legislativa'), instance.casa_legislativa.uf) |
|
||||
# ) |
|
||||
# ], |
|
||||
# borders={'top': True}, |
|
||||
# ) |
|
||||
# ) |
|
||||
# ] |
|
||||
|
|
||||
|
|
||||
class ConvenioReportSemAceite(ConvenioReport): |
|
||||
class band_page_header(ReportDefault.band_page_header): |
|
||||
|
|
||||
label_top = ReportDefault.band_page_header.label_top |
|
||||
label_left = [0, 2.5, 6, 8, 10, 12, 14, 16] |
|
||||
elements = list(ReportDefault.band_page_header.elements) |
|
||||
height = 4.7 * cm |
|
||||
|
|
||||
elements += [ |
|
||||
Label( |
|
||||
text=_("UF"), |
|
||||
left=label_left[0] * cm, |
|
||||
top=label_top + 0.4 * cm, |
|
||||
), |
|
||||
Label( |
|
||||
text=_("Município"), |
|
||||
left=label_left[1] * cm, |
|
||||
top=label_top + 0.4 * cm, |
|
||||
), |
|
||||
Label( |
|
||||
text=_("Número do Convênio"), |
|
||||
left=label_left[2] * cm, |
|
||||
top=label_top, |
|
||||
width=2 * cm, |
|
||||
), |
|
||||
Label( |
|
||||
text=_("Projeto"), |
|
||||
left=label_left[3] * cm, |
|
||||
top=label_top, |
|
||||
width=2 * cm, |
|
||||
), |
|
||||
Label( |
|
||||
text=_("Data do Convênio"), |
|
||||
left=label_left[4] * cm, |
|
||||
top=label_top, |
|
||||
width=2 * cm, |
|
||||
), |
|
||||
Label( |
|
||||
text=_("Orgão"), |
|
||||
left=label_left[5] * cm, |
|
||||
top=label_top + 0.4 * cm, |
|
||||
width=2 * cm, |
|
||||
), |
|
||||
] |
|
||||
|
|
||||
class band_detail(ReportDefault.band_detail): |
|
||||
|
|
||||
label_left = [0, 2.5, 6, 8, 10, 12, 14, 16] |
|
||||
|
|
||||
elements = [ |
|
||||
ObjectValue( |
|
||||
attribute_name="casa_legislativa.municipio.uf.sigla", |
|
||||
left=label_left[0] * cm, |
|
||||
), |
|
||||
ObjectValue( |
|
||||
attribute_name="casa_legislativa.municipio.nome", |
|
||||
left=label_left[1] * cm, |
|
||||
), |
|
||||
ObjectValue(attribute_name="num_convenio", left=label_left[2] * cm), |
|
||||
ObjectValue( |
|
||||
attribute_name="projeto.sigla", |
|
||||
left=label_left[3], |
|
||||
), |
|
||||
ObjectValue( |
|
||||
attribute_name="data_retorno_assinatura", |
|
||||
left=label_left[4] * cm, |
|
||||
get_value=lambda instance: instance.data_retorno_assinatura.strftime( |
|
||||
"%d/%m/%Y" |
|
||||
) |
|
||||
if instance.data_retorno_assinatura is not None |
|
||||
else "-", |
|
||||
), |
|
||||
ObjectValue( |
|
||||
attribute_name="casa_legislativa.nome", left=label_left[5] * cm |
|
||||
), |
|
||||
] |
|
||||
|
|
||||
|
|
||||
float_duas_casas = lambda instance: "%.2f" % (instance) |
|
||||
|
|
||||
|
|
||||
class ConvenioReportRegiao(ReportDefault): |
|
||||
title = _("Relatório de Parcerias por Região") |
|
||||
|
|
||||
class band_page_header(ReportDefault.band_page_header): |
|
||||
label_top = ReportDefault.band_page_header.label_top |
|
||||
label_left = [0.5, 6, 8, 10, 12, 14] |
|
||||
map(lambda x: x - 0.4, label_left) |
|
||||
|
|
||||
elements = list(ReportDefault.band_page_header.elements) |
|
||||
|
|
||||
elements += [ |
|
||||
Label( |
|
||||
text=_("UF"), |
|
||||
left=label_left[0] * cm, |
|
||||
top=label_top, |
|
||||
), |
|
||||
Label( |
|
||||
text=_("Total"), |
|
||||
left=label_left[1] * cm, |
|
||||
top=label_top, |
|
||||
), |
|
||||
Label( |
|
||||
text=_("Aderidas"), |
|
||||
left=label_left[2] * cm, |
|
||||
top=label_top, |
|
||||
), |
|
||||
Label(text="%", left=label_left[3] * cm, top=label_top), |
|
||||
Label( |
|
||||
text=_("Ñ Aderidas"), |
|
||||
left=label_left[4] * cm, |
|
||||
top=label_top, |
|
||||
), |
|
||||
Label(text="%", left=label_left[5] * cm, top=label_top), |
|
||||
] |
|
||||
|
|
||||
class band_detail(ReportDefault.band_detail): |
|
||||
label_left = [0.5, 6, 8, 10, 12, 14] |
|
||||
display_inline = True |
|
||||
float_duas_casas = lambda instance: "%.2f" % ( |
|
||||
instance.porc_casas_aderidas |
|
||||
) |
|
||||
default_style = {"fontName": "Helvetica", "fontSize": 11} |
|
||||
|
|
||||
elements = [ |
|
||||
ObjectValue( |
|
||||
attribute_name="estado", |
|
||||
left=label_left[0] * cm, |
|
||||
), |
|
||||
ObjectValue( |
|
||||
attribute_name="quant_casas", |
|
||||
left=label_left[1] * cm, |
|
||||
), |
|
||||
ObjectValue( |
|
||||
attribute_name="quant_casas_aderidas", left=label_left[2] * cm |
|
||||
), |
|
||||
ObjectValue( |
|
||||
attribute_name="porc_casas_aderidas", left=label_left[3] * cm |
|
||||
), |
|
||||
ObjectValue( |
|
||||
attribute_name="quant_casas_nao_aderidas", |
|
||||
left=label_left[4] * cm, |
|
||||
), |
|
||||
ObjectValue( |
|
||||
attribute_name="porc_casas_nao_aderidas", |
|
||||
left=label_left[5] * cm, |
|
||||
), |
|
||||
] |
|
||||
|
|
||||
class band_summary(ReportBand): |
|
||||
label_left = [0.5, 6, 8, 10, 12, 14] |
|
||||
elements = [ |
|
||||
Label(text=_("Total"), top=0.1 * cm, left=label_left[0] * cm), |
|
||||
ObjectValue( |
|
||||
attribute_name="quant_casas", |
|
||||
action=FIELD_ACTION_SUM, |
|
||||
left=label_left[1] * cm, |
|
||||
), |
|
||||
ObjectValue( |
|
||||
attribute_name="quant_casas_aderidas", |
|
||||
action=FIELD_ACTION_SUM, |
|
||||
left=label_left[2] * cm, |
|
||||
), |
|
||||
# ObjectValue(attribute_name='porc_casas_aderidas', action=FIELD_ACTION_AVG, left=label_left[3]*cm, |
|
||||
# get_value= lambda instance : lambda instance: '%.2f' % (instance.porc_casas_aderidas), |
|
||||
# ), |
|
||||
ObjectValue( |
|
||||
attribute_name="quant_casas_nao_aderidas", |
|
||||
action=FIELD_ACTION_SUM, |
|
||||
left=label_left[4] * cm, |
|
||||
), |
|
||||
# ObjectValue(attribute_name='porc_casas_nao_aderidas', left=label_left[5]*cm, |
|
||||
# get_value=lambda x: teste(), |
|
||||
# ), |
|
||||
] |
|
||||
borders = {"top": True} |
|
||||
|
|
||||
|
|
||||
class ConvenioPorCMReport(ConvenioReport): |
|
||||
title = _("Relatório de Parcerias por Câmara Municipal") |
|
||||
|
|
||||
|
|
||||
class ConvenioPorALReport(ConvenioReport): |
|
||||
title = _("Relatório de Parcerias por Assembléia Legislativa") |
|
||||
|
|
||||
|
|
||||
class ConvenioReportSemAceiteCM(ConvenioReportSemAceite): |
|
||||
title = _("Relatório de Parcerias por Câmara Municipal") |
|
||||
|
|
||||
|
|
||||
class ConvenioReportSemAceiteAL(ConvenioReportSemAceite): |
|
||||
title = _("Relatório de Parcerias por Assembléia Legislativa") |
|
Loading…
Reference in new issue