From 569efa357fd131cb5a24159db15450876d16fe7e Mon Sep 17 00:00:00 2001 From: Marco Folco <marcofolco28@gmail.com> Date: Thu, 22 Aug 2019 21:05:24 -0300 Subject: [PATCH 1/7] Traducciones --- i18n/es_AR.mo | Bin 9843 -> 10406 bytes i18n/es_AR.po | 46 +++++++++++++++++++++++----------------------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/i18n/es_AR.mo b/i18n/es_AR.mo index 94ea26e84ebc688f70326286de1090776bd51873..b67e9333a5f402b40f378c5116d8d5caccf0b417 100644 GIT binary patch delta 4164 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 Mk~O)wx2(zYKe!>*PXGV_ delta 3711 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 SPp3KIp1gyeaMd-lJ^unc3VnnC diff --git a/i18n/es_AR.po b/i18n/es_AR.po index dd824ea..c0d062e 100644 --- a/i18n/es_AR.po +++ b/i18n/es_AR.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 8.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-21 15:30+0000\n" -"PO-Revision-Date: 2019-08-21 12:46-0300\n" +"POT-Creation-Date: 2019-08-23 00:00+0000\n" +"PO-Revision-Date: 2019-08-22 21:03-0300\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -112,7 +112,7 @@ msgstr "Ciudad" #. module: rafalim_cattle_account #: field:cattle.account.mapping,clasification_id:0 msgid "Clasification" -msgstr "Clasificaciòn" +msgstr "Clasificación" #. module: rafalim_cattle_account #: field:ranch.expenses.type,code:0 @@ -130,6 +130,7 @@ msgid "Commisions" msgstr "Comisiones" #. module: rafalim_cattle_account +#: view:ranch.create.adjustement:rafalim_cattle_account.view_ranch_create_adjustement_form #: view:ranch.purchase.data.invoice.wizard:rafalim_cattle_account.view_ranch_purchase_data_invoice_wizard #: view:ranch.purchase.data.invoice.wizardd:rafalim_cattle_account.view_ranch_purchase_data_invoice_wizardd msgid "Create" @@ -191,6 +192,11 @@ msgstr "Creado por" msgid "Created on" msgstr "Creado el" +#. module: rafalim_cattle_account +#: selection:ranch.create.adjustement,voucher_type:0 +msgid "Credit" +msgstr "Credit" + #. module: rafalim_cattle_account #: model:ir.ui.menu,name:rafalim_cattle_account.cross_move_info_report msgid "Cross account move lines" @@ -286,7 +292,7 @@ msgstr "Hilo de Mensajes" #. module: rafalim_cattle_account #: code:addons/rafalim_cattle_account/models/purchase_romaneo.py:36 -#: code:addons/rafalim_cattle_account/wizard/ranch_purchase_data_invoice_wizard.py:401 +#: code:addons/rafalim_cattle_account/wizard/ranch_purchase_data_invoice_wizard.py:402 #, python-format msgid "Error!" msgstr "¡Error!" @@ -342,11 +348,6 @@ msgstr "LÃneas definitivas" msgid "Fully invoiced" msgstr "Totalmente facturado" -#. module: rafalim_cattle_account -#: field:ranch.purchase.data.invoice.wizard,group:0 -msgid "Group by partner" -msgstr "Agrupado por partner" - #. module: rafalim_cattle_account #: field:account.invoice,guide:0 msgid "Guide" @@ -358,7 +359,7 @@ msgid "Head Qty" msgstr "Cabezas" #. module: rafalim_cattle_account -#: code:addons/rafalim_cattle_account/wizard/ranch_purchase_data_invoice_wizard.py:158 +#: code:addons/rafalim_cattle_account/wizard/ranch_purchase_data_invoice_wizard.py:157 #, python-format msgid "Head Qty must be greater than 0" msgstr "Cantidad de cabezas debe ser mayor a 0" @@ -398,7 +399,7 @@ msgid "Interface missing invoices found" msgstr "Facturas faltantes de interfaz encontradas" #. module: rafalim_cattle_account -#: code:addons/rafalim_cattle_account/wizard/ranch_purchase_data_invoice_wizard.py:402 +#: code:addons/rafalim_cattle_account/wizard/ranch_purchase_data_invoice_wizard.py:403 #, python-format msgid "Invalid invoiced kilos.Please complete the lines with the correct kilos" msgstr "Kilos facturados inválidos. Por favor complete las lÃneas con los valores correctos." @@ -454,7 +455,8 @@ msgid "Invoice Total" msgstr "Total facturado" #. module: rafalim_cattle_account -#: code:addons/rafalim_cattle_account/wizard/ranch_purchase_data_invoice_wizard.py:207 +#: code:addons/rafalim_cattle_account/wizard/ranch_create_adjustement.py:255 +#: code:addons/rafalim_cattle_account/wizard/ranch_purchase_data_invoice_wizard.py:206 #: code:addons/rafalim_cattle_account/wizard/ranch_purchase_data_invoice_wizardd.py:162 #, python-format msgid "Invoice created" @@ -552,11 +554,6 @@ msgstr "Última modificación el" msgid "Limit Date" msgstr "Fecha LÃmite" -#. module: rafalim_cattle_account -#: view:cross.move.info.result.wizard:rafalim_cattle_account.view_cross_info_result_wizard -msgid "Load results" -msgstr "Resultados de carga" - #. module: rafalim_cattle_account #: field:cattle.account.mapping,mapping_type:0 msgid "Mapping type" @@ -584,20 +581,20 @@ msgid "Move info crossing results" msgstr "Resultados del cruce de asientos contables" #. module: rafalim_cattle_account -#: code:addons/rafalim_cattle_account/wizard/cross_info.py:181 +#: code:addons/rafalim_cattle_account/wizard/cross_info.py:169 #, python-format msgid "Move lines info crossing result" msgstr "Resultados del cruce de asientos contables" #. module: rafalim_cattle_account -#: code:addons/rafalim_cattle_account/wizard/ranch_purchase_data_invoice_wizard.py:502 +#: code:addons/rafalim_cattle_account/wizard/ranch_purchase_data_invoice_wizard.py:503 #: code:addons/rafalim_cattle_account/wizard/ranch_purchase_data_invoice_wizardd.py:580 #, python-format msgid "New invoice created" msgstr "Nueva factura creada" #. module: rafalim_cattle_account -#: code:addons/rafalim_cattle_account/wizard/ranch_purchase_data_invoice_wizard.py:191 +#: code:addons/rafalim_cattle_account/wizard/ranch_purchase_data_invoice_wizard.py:190 #: code:addons/rafalim_cattle_account/wizard/ranch_purchase_data_invoice_wizardd.py:153 #, python-format msgid "No invoice created!" @@ -671,6 +668,7 @@ msgstr "Planilla de Compra" #. module: rafalim_cattle_account #: help:purchase.data.final_line.line_invoice.line,head_qty:0 +#: help:ranch.final.line.adjustement,head_qty:0 msgid "Qty of heads" msgstr "Cantidad de Cabezas" @@ -823,14 +821,14 @@ msgstr "" "Facturas: %s" #. module: rafalim_cattle_account -#: code:addons/rafalim_cattle_account/wizard/ranch_purchase_data_invoice_wizard.py:96 +#: code:addons/rafalim_cattle_account/wizard/ranch_purchase_data_invoice_wizard.py:95 #: code:addons/rafalim_cattle_account/wizard/ranch_purchase_data_invoice_wizardd.py:81 #, python-format msgid "There is not lines to invoice!" msgstr "No hay lÃneas para facturar!" #. module: rafalim_cattle_account -#: code:addons/rafalim_cattle_account/models/purchase_data.py:70 +#: code:addons/rafalim_cattle_account/models/purchase_data.py:91 #, python-format msgid "There is nothing to show here :)" msgstr "No hay facturas que mostrar" @@ -856,12 +854,14 @@ msgid "Total Kilos" msgstr "Total de Kilos" #. module: rafalim_cattle_account +#: view:ranch.create.adjustement:rafalim_cattle_account.view_ranch_create_adjustement_form #: view:ranch.purchase.data.invoice.wizard:rafalim_cattle_account.view_ranch_purchase_data_invoice_wizard msgid "Total Price" msgstr "Precio total" #. module: rafalim_cattle_account #: field:purchase.data.final_line.line_invoice.line,price_unit:0 +#: field:ranch.final.line.adjustement,price_unit:0 msgid "Unit Price" msgstr "Precio unitario" @@ -882,7 +882,7 @@ msgid "WSLSP Expenses Codes" msgstr "WSLSP Codigos de Gastos" #. module: rafalim_cattle_account -#: code:addons/rafalim_cattle_account/models/purchase_data.py:69 +#: code:addons/rafalim_cattle_account/models/purchase_data.py:90 #, python-format msgid "Warning!" msgstr "Precaución!" -- GitLab From 3394e253a622e0d99a1f15351f037391090594d8 Mon Sep 17 00:00:00 2001 From: Marco Folco <marcofolco28@gmail.com> Date: Wed, 28 Aug 2019 15:10:07 -0300 Subject: [PATCH 2/7] Merge with preprod --- i18n/es_AR.mo | Bin 10406 -> 10475 bytes i18n/es_AR.po | 9 +++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/i18n/es_AR.mo b/i18n/es_AR.mo index b67e9333a5f402b40f378c5116d8d5caccf0b417..eb3d2f210aff696b5bfbe5be8b79a9f9964a42d9 100644 GIT binary patch delta 3838 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 delta 3758 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 diff --git a/i18n/es_AR.po b/i18n/es_AR.po index c0d062e..e2c6345 100644 --- a/i18n/es_AR.po +++ b/i18n/es_AR.po @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: Odoo Server 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-08-23 00:00+0000\n" -"PO-Revision-Date: 2019-08-22 21:03-0300\n" +"PO-Revision-Date: 2019-08-28 15:00-0300\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -554,6 +554,11 @@ msgstr "Última modificación el" msgid "Limit Date" msgstr "Fecha LÃmite" +#. module: rafalim_cattle_account +#: view:cross.move.info.result.wizard:rafalim_cattle_account.view_cross_info_result_wizard +msgid "Load results" +msgstr "Resultados de carga" + #. module: rafalim_cattle_account #: field:cattle.account.mapping,mapping_type:0 msgid "Mapping type" @@ -748,7 +753,7 @@ msgstr "Elaboración" #. module: rafalim_cattle_account #: view:website:rafalim_cattle_account.report_invoice_settlement_header_info_template_document msgid "Seller" -msgstr "Seller" +msgstr "Vendedor" #. module: rafalim_cattle_account #: view:cross.move.info.wizard:rafalim_cattle_account.view_cross_move_info_wizard -- GitLab From 206e730f01624dbd2c8dfc24dfdf84b165342d4f Mon Sep 17 00:00:00 2001 From: Marco Folco <marcofolco28@gmail.com> Date: Wed, 28 Aug 2019 16:12:13 -0300 Subject: [PATCH 3/7] [NEW]Report de planillas de compra sin facturar Added a report inside Compras-->Hacienda vacuna-->Reportes called "Planillas de compra sin facturar" RAF-135 --- __openerp__.py | 5 +- i18n/es_AR.mo | Bin 10475 -> 10911 bytes i18n/es_AR.po | 40 ++- report/__init__.py | 1 + report/cattle_chore_uninvoiced_report_xls.py | 267 ++++++++++++++++++ report/ir_actions_report_xml_data.xml | 17 ++ views/menu_inheritance.xml | 10 + wizard/__init__.py | 1 + wizard/cattle_chore_uninvoiced_xls_wizard.py | 44 +++ ...attle_chore_uninvoiced_xls_wizard_view.xml | 33 +++ 10 files changed, 409 insertions(+), 9 deletions(-) create mode 100644 report/cattle_chore_uninvoiced_report_xls.py create mode 100644 report/ir_actions_report_xml_data.xml create mode 100644 views/menu_inheritance.xml create mode 100644 wizard/cattle_chore_uninvoiced_xls_wizard.py create mode 100644 wizard/cattle_chore_uninvoiced_xls_wizard_view.xml diff --git a/__openerp__.py b/__openerp__.py index 3ad594a..79c91d5 100644 --- a/__openerp__.py +++ b/__openerp__.py @@ -29,7 +29,7 @@ "depends": [ "rafalim_cattle_ranch", "account_invoice_merge", - "l10n_ar_invoice_registration_date", + #"l10n_ar_invoice_registration_date", ], "data": [ "views/assets.xml", @@ -39,9 +39,12 @@ "wizard/ranch_purchase_data_invoice_wizardd_view.xml", "wizard/ranch_cross_info_result_wizard_view.xml", "wizard/ranch_cross_move_info_wizard_view.xml", + "wizard/cattle_chore_uninvoiced_xls_wizard_view.xml", "views/ranch_purchase_data.xml", "views/account_invoice_view.xml", "views/res_config_view.xml", + "views/menu_inheritance.xml", + "report/ir_actions_report_xml_data.xml", 'security/ir.model.access.csv', ], "installable": True, diff --git a/i18n/es_AR.mo b/i18n/es_AR.mo index eb3d2f210aff696b5bfbe5be8b79a9f9964a42d9..02c380a4b4e1225f0148c7166ebdbef0d150ed3b 100644 GIT binary patch delta 4263 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⁣v`}NWlahH1*Uq@ A^#A|> delta 3828 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 diff --git a/i18n/es_AR.po b/i18n/es_AR.po index e2c6345..1b7fd3a 100644 --- a/i18n/es_AR.po +++ b/i18n/es_AR.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 8.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-23 00:00+0000\n" -"PO-Revision-Date: 2019-08-28 15:00-0300\n" +"POT-Creation-Date: 2019-08-28 19:05+0000\n" +"PO-Revision-Date: 2019-08-28 16:10-0300\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -78,6 +78,7 @@ msgid "Billing Type" msgstr "Tipo Facturación" #. module: rafalim_cattle_account +#: view:cattle.chore.uninvoiced.xls.wizard:rafalim_cattle_account.cattle_chore_uninvoiced_xls_wizard_view #: view:cross.move.info.wizard:rafalim_cattle_account.view_cross_move_info_wizard #: view:ranch.config.settings:rafalim_cattle_account.view_ranch_config_settings_form #: view:ranch.purchase.data.invoice.wizard:rafalim_cattle_account.view_ranch_purchase_data_invoice_wizard @@ -99,6 +100,11 @@ msgstr "Vacuna" msgid "Cattle Account Mapping" msgstr "Mapeo de cuenta vacuna" +#. module: rafalim_cattle_account +#: model:ir.actions.report.xml,name:rafalim_cattle_account.cattle_chore_report_uninvoiced_xlsx +msgid "Cattle Chore Report Uninvoiced" +msgstr "Faena sin facturar XLSX" + #. module: rafalim_cattle_account #: model:ir.actions.act_window,name:rafalim_cattle_account.action_cattle_ranch_invoices msgid "Cattle Ranch Invoices" @@ -279,6 +285,12 @@ msgstr "Descuento [Kg]" msgid "Display Name" msgstr "Nombre" +#. module: rafalim_cattle_account +#: view:cattle.chore.uninvoiced.xls.wizard:rafalim_cattle_account.cattle_chore_uninvoiced_xls_wizard_view +#: model:ir.actions.act_window,name:rafalim_cattle_account.cattle_chore_uninvoiced_xls_wizard_action +msgid "Download XLSX" +msgstr "Descargar XLSX" + #. module: rafalim_cattle_account #: code:addons/rafalim_cattle_account/report/invoice_settlement_parser.py:62 #, python-format @@ -348,6 +360,11 @@ msgstr "LÃneas definitivas" msgid "Fully invoiced" msgstr "Totalmente facturado" +#. module: rafalim_cattle_account +#: view:cattle.chore.uninvoiced.xls.wizard:rafalim_cattle_account.cattle_chore_uninvoiced_xls_wizard_view +msgid "Generate XLSX" +msgstr "Generar XLSX" + #. module: rafalim_cattle_account #: field:account.invoice,guide:0 msgid "Guide" @@ -388,6 +405,11 @@ msgstr "Cabezas" msgid "ID" msgstr "ID" +#. module: rafalim_cattle_account +#: view:cattle.chore.uninvoiced.xls.wizard:rafalim_cattle_account.cattle_chore_uninvoiced_xls_wizard_view +msgid "Insert the dates to generate the .xlsx" +msgstr "Inserte las fechas para generar el .xlsx" + #. module: rafalim_cattle_account #: view:cross.move.info.result.wizard:rafalim_cattle_account.view_cross_info_result_wizard msgid "Interface missing invoices" @@ -554,11 +576,6 @@ msgstr "Última modificación el" msgid "Limit Date" msgstr "Fecha LÃmite" -#. module: rafalim_cattle_account -#: view:cross.move.info.result.wizard:rafalim_cattle_account.view_cross_info_result_wizard -msgid "Load results" -msgstr "Resultados de carga" - #. module: rafalim_cattle_account #: field:cattle.account.mapping,mapping_type:0 msgid "Mapping type" @@ -586,7 +603,7 @@ msgid "Move info crossing results" msgstr "Resultados del cruce de asientos contables" #. module: rafalim_cattle_account -#: code:addons/rafalim_cattle_account/wizard/cross_info.py:169 +#: code:addons/rafalim_cattle_account/wizard/cross_info.py:167 #, python-format msgid "Move lines info crossing result" msgstr "Resultados del cruce de asientos contables" @@ -782,6 +799,12 @@ msgstr "Cuenta Origen" msgid "Species" msgstr "Especies" +#. module: rafalim_cattle_account +#: code:addons/rafalim_cattle_account/wizard/cattle_chore_uninvoiced_xls_wizard.py:29 +#, python-format +msgid "Start Date must be earlier than End Date" +msgstr "La fecha de inicio debe ser menor a la fecha de fin" + #. module: rafalim_cattle_account #: view:website:rafalim_cattle_account.report_invoice_settlement_header_info_template_document msgid "State" @@ -931,6 +954,7 @@ msgid "of ranch invoices or autoliquidation. Use to not to load invoices of othe msgstr "of ranch invoices or autoliquidation. Use to not to load invoices of other period than actual one." #. module: rafalim_cattle_account +#: view:cattle.chore.uninvoiced.xls.wizard:rafalim_cattle_account.cattle_chore_uninvoiced_xls_wizard_view #: view:ranch.config.settings:rafalim_cattle_account.view_ranch_config_settings_form #: view:ranch.purchase.data.invoice.wizard:rafalim_cattle_account.view_ranch_purchase_data_invoice_wizard #: view:ranch.purchase.data.invoice.wizardd:rafalim_cattle_account.view_ranch_purchase_data_invoice_wizardd diff --git a/report/__init__.py b/report/__init__.py index 66cf907..cc374ad 100644 --- a/report/__init__.py +++ b/report/__init__.py @@ -1,3 +1,4 @@ # -*- coding: utf-8 -*- from . import invoice_settlement_parser # noqa +from . import cattle_chore_uninvoiced_report_xls # noqa diff --git a/report/cattle_chore_uninvoiced_report_xls.py b/report/cattle_chore_uninvoiced_report_xls.py new file mode 100644 index 0000000..986c468 --- /dev/null +++ b/report/cattle_chore_uninvoiced_report_xls.py @@ -0,0 +1,267 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# OpenERP, Open Source Management Solution +# Copyright (c) 2019 E-MIPS (http://www.e-mips.com.ar) +# Copyright (c) 2019 Eynes (http://www.eynes.com.ar) +# All Rights Reserved. See AUTHORS for details. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General +# Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +############################################################################## + +import logging +from datetime import datetime +import re +import operator +from itertools import groupby + +from openerp import _ +from openerp.tools import DEFAULT_SERVER_DATE_FORMAT as DSDATEF +from openerp.exceptions import ValidationError +from psycopg2 import sql + +_logger = logging.getLogger(__name__) + +try: + from openerp.addons.report_xlsx.report.report_xlsx import ReportXlsx +except ImportError: + _logger.warning("ReportXLSX Dependecy Unmet") + + class ReportXlsx(object): + def __init__(self, *args, **kwargs): + pass + +class CattleChoreReportUninvoicedXLSX(ReportXlsx): + + def _print_headers(self): + header_cols = [ + u'Grupo', u'Referencia a planilla de compra', u'Fecha de compra', + u'Fecha Faena', u'Comprador', u'Productor', u'Feria/Consignatario', + u'Localidad de Compra', u'Cabezas compradas', u'Cabezas faenadas', + u'Total previo impuesto', u'Monto total neto', + ] + row = col = 0 + for header in header_cols: + self.sheet.write(row, col, header, self.header_format) + self.sheet.set_column(col, col, len(header) * 0.9) + col += 1 + + def _get_xls_data(self): + rpd_model = self.env['ranch.purchase.data'] + + locality_re = re.compile('(^.+)\(') + + rpds = rpd_model.search([ + ('ranch_type', '=', 'cattle'), + ('purchase_date', '>=', self.start_date), + ('purchase_date', '<=', self.end_date), + ('invoice_ids', '!=', False), + ]) + + result = [] + + for rpd in rpds: + + rpd_ref = rpd.name + rpd_date = rpd.purchase_date + + #Todo: Where is 'fecha faena' + + chore_date = '' + + if rpd.romaneo_ids and rpd.billing_type == "performance": + romaneo_dates = [rline.date for rline in rpd.romaneo_ids] + chore_date = min(romaneo_dates) + + buyer = rpd.buyer_id + buyer_name = buyer.name or '' + + productor = rpd.productor_id + productor_name = productor.name or '' + + auction = rpd.auction_id or rpd.productor_id or \ + self.env['res.partner'] + auction_name = auction.name + + locality = locality_re.findall(rpd.purchase_locality) + locality = locality and locality[0] or rpd.purchase_locality + + #alive_head_count = rpr.alive_head_count + alive_head_count = 0 + if rpd.billing_type == "performance": + alive_head_count = rpd.alive_head_count + else: + for fline in rpd.final_lines: + alive_head_count += fline.quantity + + #head_count = rpr.head_count + head_count = 0 + for rline in rpd.romaneo_ids: + head_count += rline.head_count + + untaxed_total = rpd.untaxed_total + amount_total = rpd.amount_total + + rpd_vals = { + 'rpd_id': rpd.id, + 'rpd_ref': rpd_ref, + 'rpd_date': rpd_date, + 'buyer_name': buyer_name, + 'chore_date': chore_date, + 'productor_name': productor_name, + 'auction_name': auction_name, + 'locality': locality, + 'alive_head_count': alive_head_count, + 'head_count': head_count, + 'untaxed_total': untaxed_total, + 'amount_total': amount_total, + } + + result.append(rpd_vals) + + result = sorted( + result, key=operator.itemgetter( + 'rpd_date') + ) + return result + + def generate_xlsx_report(self, wb, data, repositors): + + self.start_date = data.get('start_date') + self.end_date = data.get('end_date') + + self.sheet = wb.add_worksheet() + self.header_format = wb.add_format({ + 'font_name': 'DejaVu Sans', + 'font_size': 8, + 'bold': True, + 'bg_color': 'silver', + 'border': 1, + }) + self.cell_format = wb.add_format({ + 'font_name': 'DejaVu Sans', + 'font_size': 8, + }) + self.cell_bold = wb.add_format({ + 'font_name': 'DejaVu Sans', + 'font_size': 8, 'bold': True, + }) + self.cell_italic = wb.add_format({ + 'font_name': 'DejaVu Sans', + 'font_size': 8, 'italic': True, + }) + self.total_format = wb.add_format({ + 'font_name': 'DejaVu Sans', + 'font_size': 8, + 'italic': True, + 'bg_color': 'silver', + 'border': 1, + }) + self.highlighted_format = wb.add_format({ + 'font_name': 'DejaVu Sans', + 'font_size': 8, + 'italic': True, + 'bg_color': 'yellow', + 'border': 1, + }) + + self._print_headers() + + xls_data = self._get_xls_data() + + row = 1 + + group_date = '' + + sorted_data = {} + + if xls_data: + group_date = xls_data[0]['rpd_date'] + + for values in xls_data: + if values['rpd_date'] != group_date: + group_date = values['rpd_date'] + sorted_data.setdefault(group_date, []).append(values) + + + sorted_data = sorted( + sorted_data.items(), key=operator.itemgetter(0) + ) + + for k, values in sorted_data: + col = 0 + group_str = k + "(" + str(len(values)) + ")" + self.sheet.write(row, col, group_str, self.cell_bold) + col = 8 + total_alive_heads = sum([r['alive_head_count'] for r in values]) + self.sheet.write(row, col, str(total_alive_heads), self.cell_bold) + col = 9 + total_heads = sum([r['head_count'] for r in values]) + self.sheet.write(row, col, str(total_heads), self.cell_bold) + col = 10 + sum_untaxed_total = sum([r['untaxed_total'] for r in values]) + self.sheet.write(row, col, str(sum_untaxed_total), self.cell_bold) + col = 11 + sum_amount_total = sum([r['amount_total'] for r in values]) + self.sheet.write(row, col, str(sum_amount_total), self.cell_bold) + row += 1 + for value in values: + col = 1 + + self.sheet.write( + row, col, value['rpd_ref'], self.cell_format) + col += 1 + rpr_date_dt = datetime.strptime( + value['rpd_date'], DSDATEF).strftime('%d/%m/%Y') + self.sheet.write( + row, col, rpr_date_dt, self.cell_format) + col += 1 + if value['chore_date'] != '': + chore_date_dt = datetime.strptime( + value['chore_date'], DSDATEF).strftime('%d/%m/%Y') + self.sheet.write( + row, col, chore_date_dt, self.highlighted_format) + col += 1 + self.sheet.write( + row, col, value['buyer_name'], self.cell_format) + col += 1 + self.sheet.write( + row, col, value['productor_name'], self.cell_format) + col += 1 + self.sheet.write( + row, col, value['auction_name'], self.cell_format) + col += 1 + self.sheet.write( + row, col, value['locality'], self.cell_format) + col += 1 + self.sheet.write( + row, col, value['alive_head_count'], self.cell_format) + col += 1 + self.sheet.write( + row, col, value['head_count'], self.cell_format) + col += 1 + self.sheet.write( + row, col, value['untaxed_total'], self.cell_format) + col += 1 + self.sheet.write( + row, col, value['amount_total'], self.cell_format) + col += 1 + + row += 1 + return + +CattleChoreReportUninvoicedXLSX('report.rafalim_cattle_account.cattle_chore_report_uninvoiced_xlsx', + 'ranch.purchase.data') diff --git a/report/ir_actions_report_xml_data.xml b/report/ir_actions_report_xml_data.xml new file mode 100644 index 0000000..b56c6d6 --- /dev/null +++ b/report/ir_actions_report_xml_data.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<openerp> + <data> + <record id="cattle_chore_report_uninvoiced_xlsx" model="ir.actions.report.xml"> + <field name="report_type">xlsx</field> + <field name="report_name">rafalim_cattle_account.cattle_chore_report_uninvoiced_xlsx</field> + <field eval="[(6,0,[])]" name="groups_id"/> + <field eval="1" name="multi"/> + <field eval="0" name="auto"/> + <field eval="1" name="header"/> + <field name="model">ranch.purchase.data</field> + <field name="type">ir.actions.report.xml</field> + <field name="name">Cattle Chore Report Uninvoiced</field> + <field name="file">CattleChoreUninvoiced</field> + </record> + </data> +</openerp> diff --git a/views/menu_inheritance.xml b/views/menu_inheritance.xml new file mode 100644 index 0000000..ef5680a --- /dev/null +++ b/views/menu_inheritance.xml @@ -0,0 +1,10 @@ +<openerp> + <data> + <menuitem id="ranch_cattle_uninvoiced_xlsx_report" + name="Uninvoiced purchase data report" + parent="rafalim_cattle_ranch.ranch_cattle_reports" + action="cattle_chore_uninvoiced_xls_wizard_action" + sequence = "35"/> + </data> +</openerp> + diff --git a/wizard/__init__.py b/wizard/__init__.py index 7ed0606..3ab8845 100644 --- a/wizard/__init__.py +++ b/wizard/__init__.py @@ -4,3 +4,4 @@ import ranch_cross_info_result_wizard import ranch_purchase_data_invoice_wizard import ranch_purchase_data_invoice_wizardd import ranch_cross_move_info_wizard +import cattle_chore_uninvoiced_xls_wizard diff --git a/wizard/cattle_chore_uninvoiced_xls_wizard.py b/wizard/cattle_chore_uninvoiced_xls_wizard.py new file mode 100644 index 0000000..0e44994 --- /dev/null +++ b/wizard/cattle_chore_uninvoiced_xls_wizard.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +############################################################################## + +# Copyright (c) 2019 Rafaela Alimentos (Eynes - Ingenieria del software) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +############################################################################## + + +from openerp import _, api, exceptions, fields, models +from openerp.exceptions import except_orm +from openerp.addons.decimal_precision import decimal_precision as dp +from openerp.tools import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT, float_compare + +import datetime +import logging + +_logger = logging.getLogger(__name__) + +class CattleChoreUninvoicedXlsWizard(models.TransientModel): + _name = 'cattle.chore.uninvoiced.xls.wizard' + + start_date = fields.Date("Start Date") + end_date = fields.Date("End Date") + + @api.constrains('start_date', 'end_date') + def _check_dates(self): + if self.start_date > self.end_date: + raise exceptions.ValidationError(_("Start Date must be earlier than End Date")) + + @api.multi + def _pre_print_data(self): + data = self.read()[0] + return data + + @api.multi + def button_generate_xls(self): + data = self._pre_print_data() + action = { + 'type': 'ir.actions.report.xml', + 'report_name': 'rafalim_cattle_account.cattle_chore_report_uninvoiced_xlsx', + 'datas': data, + } + return action diff --git a/wizard/cattle_chore_uninvoiced_xls_wizard_view.xml b/wizard/cattle_chore_uninvoiced_xls_wizard_view.xml new file mode 100644 index 0000000..970e5f7 --- /dev/null +++ b/wizard/cattle_chore_uninvoiced_xls_wizard_view.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<openerp> + <data> + + <record model="ir.ui.view" id="cattle_chore_uninvoiced_xls_wizard_view"> + <field name="name">cattle.chore.uninvoiced.xls.wizard.form</field> + <field name="model">cattle.chore.uninvoiced.xls.wizard</field> + <field name="arch" type="xml"> + <form string="Generate XLSX"> + <p> + <strong>Insert the dates to generate the .xlsx</strong> + </p> + <group> + <field name="start_date" required="True"/> + <field name="end_date" required="True"/> + </group> + <footer> + <button name="button_generate_xls" type="object" string="Download XLSX" class="oe_highlight"/> + or + <button special="cancel" string="Cancel"/> + </footer> + </form> + </field> + </record> + + <act_window id="cattle_chore_uninvoiced_xls_wizard_action" + name="Download XLSX" + res_model="cattle.chore.uninvoiced.xls.wizard" + view_mode="form" + target="new"/> + + </data> +</openerp> -- GitLab From 0c495594fcf7edbb1c65a288dd823e6ac12c6e45 Mon Sep 17 00:00:00 2001 From: Marco Folco <marcofolco28@gmail.com> Date: Wed, 28 Aug 2019 16:15:45 -0300 Subject: [PATCH 4/7] Modified __openerp__.py --- __openerp__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/__openerp__.py b/__openerp__.py index 79c91d5..e8a7c08 100644 --- a/__openerp__.py +++ b/__openerp__.py @@ -29,7 +29,7 @@ "depends": [ "rafalim_cattle_ranch", "account_invoice_merge", - #"l10n_ar_invoice_registration_date", + "l10n_ar_invoice_registration_date", ], "data": [ "views/assets.xml", -- GitLab From 693d0914d660fef61646cda1d74246cf79c1a7a8 Mon Sep 17 00:00:00 2001 From: Marco Folco <marcofolco28@gmail.com> Date: Thu, 29 Aug 2019 16:41:05 -0300 Subject: [PATCH 5/7] [ADD]Comments in report Added comments in cattle_chore_uninvoiced_report_xls.py explaining the code and mentioning important files RAF-135 --- report/cattle_chore_uninvoiced_report_xls.py | 58 +++++++++++++++++++- 1 file changed, 56 insertions(+), 2 deletions(-) diff --git a/report/cattle_chore_uninvoiced_report_xls.py b/report/cattle_chore_uninvoiced_report_xls.py index 986c468..6ec25ec 100644 --- a/report/cattle_chore_uninvoiced_report_xls.py +++ b/report/cattle_chore_uninvoiced_report_xls.py @@ -46,7 +46,24 @@ except ImportError: class CattleChoreReportUninvoicedXLSX(ReportXlsx): + # Important files are: + + # This one. Defines the logic to print all the cells in the XLSX. + + # ir_actions_report_xml_data.xml. There we define the record we will + # referencing through the wizard to launch the report. + + # ../wizard/cattle_chore_uninvoiced_xls_wizard.py. There we ask for + # the dates to filter and we launch the report + + # ../wizard/cattle_chore_uninvoiced_xls_wizard_view.xml. There we define + # the form view and the window action for the wizard + + # ../views/menu_inheritance.xml. There we define the menuaction for + # the wizard. + def _print_headers(self): + # List o all headers for the sheet header_cols = [ u'Grupo', u'Referencia a planilla de compra', u'Fecha de compra', u'Fecha Faena', u'Comprador', u'Productor', u'Feria/Consignatario', @@ -54,6 +71,7 @@ class CattleChoreReportUninvoicedXLSX(ReportXlsx): u'Total previo impuesto', u'Monto total neto', ] row = col = 0 + # Write all headers in the sheet using the desired format (self.header_format) for header in header_cols: self.sheet.write(row, col, header, self.header_format) self.sheet.set_column(col, col, len(header) * 0.9) @@ -64,6 +82,9 @@ class CattleChoreReportUninvoicedXLSX(ReportXlsx): locality_re = re.compile('(^.+)\(') + # Bring all uninvoiced purchase data + # Maybe it will be better to include partially invoiced purchase data + rpds = rpd_model.search([ ('ranch_type', '=', 'cattle'), ('purchase_date', '>=', self.start_date), @@ -73,6 +94,9 @@ class CattleChoreReportUninvoicedXLSX(ReportXlsx): result = [] + # Iterate over all the records and fill a dictionary with the + # desired values for each one, appending all of them into a list + for rpd in rpds: rpd_ref = rpd.name @@ -82,6 +106,8 @@ class CattleChoreReportUninvoicedXLSX(ReportXlsx): chore_date = '' + # We only want the chore date if the billing_type is "performance" + if rpd.romaneo_ids and rpd.billing_type == "performance": romaneo_dates = [rline.date for rline in rpd.romaneo_ids] chore_date = min(romaneo_dates) @@ -99,7 +125,10 @@ class CattleChoreReportUninvoicedXLSX(ReportXlsx): locality = locality_re.findall(rpd.purchase_locality) locality = locality and locality[0] or rpd.purchase_locality - #alive_head_count = rpr.alive_head_count + # If the billing_type is performance, we use the value of + # rpd.alive_head_count. Otherwhise we will calculate the + # amount based in the final lines + alive_head_count = 0 if rpd.billing_type == "performance": alive_head_count = rpd.alive_head_count @@ -107,7 +136,8 @@ class CattleChoreReportUninvoicedXLSX(ReportXlsx): for fline in rpd.final_lines: alive_head_count += fline.quantity - #head_count = rpr.head_count + # The head_count will always be calculated based on + # romaneo lines head_count = 0 for rline in rpd.romaneo_ids: head_count += rline.head_count @@ -132,6 +162,9 @@ class CattleChoreReportUninvoicedXLSX(ReportXlsx): result.append(rpd_vals) + # Sort the list based on the purchase_date to fulfill the format + # of the report + result = sorted( result, key=operator.itemgetter( 'rpd_date') @@ -144,6 +177,9 @@ class CattleChoreReportUninvoicedXLSX(ReportXlsx): self.end_date = data.get('end_date') self.sheet = wb.add_worksheet() + + # Formats of the cells + self.header_format = wb.add_format({ 'font_name': 'DejaVu Sans', 'font_size': 8, @@ -188,20 +224,35 @@ class CattleChoreReportUninvoicedXLSX(ReportXlsx): sorted_data = {} + # Initialize group_date variable so we can compare in the iteration + if xls_data: group_date = xls_data[0]['rpd_date'] + # Build a dictionary using rpd_date as key and for each key + # inserting as value a list of rpds with rpd_date = key + for values in xls_data: if values['rpd_date'] != group_date: group_date = values['rpd_date'] sorted_data.setdefault(group_date, []).append(values) + # Sort the dictionary again to make sure that we + # will print the values in ascending date order sorted_data = sorted( sorted_data.items(), key=operator.itemgetter(0) ) + # Note that the dictionary becomes a list of tuples + # after it gets sorted + + # Iterate over the list and print the values in the desired format + for k, values in sorted_data: + # First we print the header of the group + # It consist in the group date, the number of records, + # and the sum of all amounts and head_counts col = 0 group_str = k + "(" + str(len(values)) + ")" self.sheet.write(row, col, group_str, self.cell_bold) @@ -219,6 +270,9 @@ class CattleChoreReportUninvoicedXLSX(ReportXlsx): self.sheet.write(row, col, str(sum_amount_total), self.cell_bold) row += 1 for value in values: + + # Print the values in the desired order and format + col = 1 self.sheet.write( -- GitLab From 1f68bd624833f27145264b27d44065b70a785d35 Mon Sep 17 00:00:00 2001 From: Sebastian Kennedy <skennedy@e-mips.com.ar> Date: Tue, 17 Sep 2019 10:18:38 -0300 Subject: [PATCH 6/7] [FIX] domain for uninvoiced purchase data --- report/cattle_chore_uninvoiced_report_xls.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/report/cattle_chore_uninvoiced_report_xls.py b/report/cattle_chore_uninvoiced_report_xls.py index 6ec25ec..5cef50d 100644 --- a/report/cattle_chore_uninvoiced_report_xls.py +++ b/report/cattle_chore_uninvoiced_report_xls.py @@ -89,7 +89,7 @@ class CattleChoreReportUninvoicedXLSX(ReportXlsx): ('ranch_type', '=', 'cattle'), ('purchase_date', '>=', self.start_date), ('purchase_date', '<=', self.end_date), - ('invoice_ids', '!=', False), + ('invoice_ids', '=', False), ]) result = [] -- GitLab From 44bc0d61bf1861f1f8bb380df7576267bd1e35e4 Mon Sep 17 00:00:00 2001 From: Sebastian Kennedy <skennedy@e-mips.com.ar> Date: Mon, 23 Sep 2019 10:50:40 -0300 Subject: [PATCH 7/7] [ADD] Payment term date to reporte uninvoiced cattle chore RAF-135 --- report/cattle_chore_uninvoiced_report_xls.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/report/cattle_chore_uninvoiced_report_xls.py b/report/cattle_chore_uninvoiced_report_xls.py index 5cef50d..6e6bfdc 100644 --- a/report/cattle_chore_uninvoiced_report_xls.py +++ b/report/cattle_chore_uninvoiced_report_xls.py @@ -68,7 +68,7 @@ class CattleChoreReportUninvoicedXLSX(ReportXlsx): u'Grupo', u'Referencia a planilla de compra', u'Fecha de compra', u'Fecha Faena', u'Comprador', u'Productor', u'Feria/Consignatario', u'Localidad de Compra', u'Cabezas compradas', u'Cabezas faenadas', - u'Total previo impuesto', u'Monto total neto', + u'Plazo de Pago', u'Total previo impuesto', u'Monto total neto', ] row = col = 0 # Write all headers in the sheet using the desired format (self.header_format) @@ -142,6 +142,8 @@ class CattleChoreReportUninvoicedXLSX(ReportXlsx): for rline in rpd.romaneo_ids: head_count += rline.head_count + payment_term_date = max(rpd.payment_system_term_ids.mapped('days')) + untaxed_total = rpd.untaxed_total amount_total = rpd.amount_total @@ -156,6 +158,7 @@ class CattleChoreReportUninvoicedXLSX(ReportXlsx): 'locality': locality, 'alive_head_count': alive_head_count, 'head_count': head_count, + 'payment_term_date': payment_term_date, 'untaxed_total': untaxed_total, 'amount_total': amount_total, } @@ -262,10 +265,10 @@ class CattleChoreReportUninvoicedXLSX(ReportXlsx): col = 9 total_heads = sum([r['head_count'] for r in values]) self.sheet.write(row, col, str(total_heads), self.cell_bold) - col = 10 + col = 11 sum_untaxed_total = sum([r['untaxed_total'] for r in values]) self.sheet.write(row, col, str(sum_untaxed_total), self.cell_bold) - col = 11 + col = 12 sum_amount_total = sum([r['amount_total'] for r in values]) self.sheet.write(row, col, str(sum_amount_total), self.cell_bold) row += 1 @@ -307,6 +310,9 @@ class CattleChoreReportUninvoicedXLSX(ReportXlsx): self.sheet.write( row, col, value['head_count'], self.cell_format) col += 1 + self.sheet.write( + row, col, value['payment_term_date'], self.cell_format) + col += 1 self.sheet.write( row, col, value['untaxed_total'], self.cell_format) col += 1 -- GitLab