Skip to content
Extraits de code Groupes Projets
Valider 87abbadc rédigé par Benjamin's avatar Benjamin
Parcourir les fichiers

add prévi

parent 0e25132f
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -200,3 +200,44 @@ class LeFilamentTdb(models.Model):
return { 'tresorerie': tresorerie, 'fonds_propres': fonds_propres }
@api.model
def previ_tresorerie(self):
self._cr.execute("""SELECT to_char(date_trunc('month', date),'YYYY-MM') as mois, sum(sum(amount))
over ( order by date_trunc('month', date) ) as treso
from account_bank_statement_line
group by date_trunc('month', date)
order by date_trunc('month', date) desc limit 6;""")
tresorerie = self._cr.dictfetchall()
self._cr.execute("""SELECT
(select sum(es.total_amount) as fonds_propres from hr_expense_sheet es, hr_expense e where es.id = e.sheet_id and e.payment_mode='own_account' and es.state!='done') as cca,
(select sum(capital) as capital from hr_employee) as capital;""")
fonds_propres = self._cr.dictfetchall()[0]
self._cr.execute("""SELECT to_char(date_trunc('month', date_due),'YYYY-MM') as mois,
sum(case when type='in_invoice' then residual_company_signed else 0 end ) as f_fournisseur,
sum(case when type='out_invoice' then residual_company_signed else 0 end ) as f_client
from account_invoice
where state!='draft' and state!='paid'
group by date_trunc('month', date_due)
order by date_trunc('month', date_due);""")
factures = self._cr.dictfetchall()
self._cr.execute("""SELECT periode,
sum(montant)
from previ_treso
where periode != 1
group by periode;""")
charges_periode = self._cr.dictfetchall()
self._cr.execute("""SELECT to_char(date_trunc('month', date),'YYYY-MM') as mois,
sum(montant)
from previ_treso
where periode = 1
group by date_trunc('month', date);""")
charges_fixes = self._cr.dictfetchall()
if not fonds_propres['cca']:
fonds_propres['cca'] = 0
return { 'tresorerie': tresorerie, 'fonds_propres': fonds_propres, 'factures': factures, 'charges_fixes': charges_fixes, 'charges_periode':charges_periode, }
......@@ -6,5 +6,17 @@ class res_company(models.Model):
_inherit = "res.company"
ca_target = fields.Integer( "Objectif Chiffre d'Affaire" )
charges_fixes = fields.Integer( "Charges Fixes" )
charges_fixes = fields.Integer( 'Charges Fixes' )
previ_treso_ids = fields.One2many('previ.treso', 'company_id', 'Prévisionnel')
class previ_treso(models.Model):
_name = "previ.treso"
_description = "Previsionnel de tresorerie"
company_id = fields.Many2one('res.company', 'Company', default=lambda self: self.env.user.company_id.id )
name = fields.Char('Nom')
periode = fields.Selection([(12,'Mensuel'),(3,'Trimestriel'),(1,'Annuel')], srting='Période')
date = fields.Date('Date')
montant = fields.Float('Montant')
\ No newline at end of file
......@@ -15,6 +15,7 @@
<script type="text/javascript" src="/lefilament_tdb/static/src/js/lefilament_tdb.js"></script>
<script type="text/javascript" src="/lefilament_tdb/static/src/js/dashboard_year.js"></script>
<script type="text/javascript" src="/lefilament_tdb/static/src/js/tresorerie.js"></script>
<script type="text/javascript" src="/lefilament_tdb/static/src/js/previ_tresorerie.js"></script>
</xpath>
</template>
......
......@@ -27,12 +27,19 @@
<field name="target">new</field>
</record>
<record id="action_previ_tresorerie" model="ir.actions.client">
<field name="name">Trésorerie</field>
<field name="tag">lefilament_tdb.previ_tresorerie</field>
<field name="target">new</field>
</record>
<menuitem id="lefilament_dashboard_menu" name="Dashboard" sequence="10" groups="group_dashboard"/>
<menuitem id="lefilament_dashboard_report" parent="lefilament_dashboard_menu" name="Rapports" sequence="1"/>
<menuitem id="lefilament_dashboard_report_month" parent="lefilament_dashboard_report" name="Mensuel" sequence="2" action="action_home_page"/>
<menuitem id="lefilament_dashboard_report_year" parent="lefilament_dashboard_report" name="Annuel" sequence="1" action="action_year_page" />
<menuitem id="lefilament_tresorerie" parent="lefilament_dashboard_report" name="Trésorerie" sequence="3" action="action_tresorerie" />
<menuitem id="lefilament_tresorerie" parent="lefilament_dashboard_report" name="Tréso" sequence="3" action="action_tresorerie" />
<menuitem id="lefilament_previ_tresorerie" parent="lefilament_dashboard_report" name="Prévi Tréso" sequence="3" action="action_previ_tresorerie" />
<menuitem id="lefilament_dashboard_conf" parent="lefilament_dashboard_menu" name="Configuration" sequence="10"/>
<menuitem id="lefilament_dashboard_datas" parent="lefilament_dashboard_conf" name="Données" action="lefilament_dashboard_action" sequence="10"/>
......@@ -160,6 +167,9 @@
</group>
</group>
</page>
<page name="tdb" string="Prévisonnel">
<field name="previ_treso_ids" />
</page>
</xpath>
</field>
</record>
......@@ -176,22 +186,20 @@
</field>
</record>
<!-- <record id="lefilament_dashboard_data" model="ir.ui.view">
<field name="name">Le Filament Dashboard Data</field>
<field name="model">lefilament.dashboard.data</field>
<field name="type">pivot</field>
<!-- Prévi Tréso -->
<record id="view_tree_lefilament_previ_treso" model="ir.ui.view">
<field name="name">previ.treso</field>
<field name="model">previ.treso</field>
<field name="arch" type="xml">
<pivot class="test_pivot">
<field name="facture" type="measure" />
<field name="commandes" type="measure" />
<field name="pipe" type="measure" />
<field name="tresorerie" type="measure" />
<field name="entree" type="measure" />
<field name="sortie" type="measure" />
<field name="variation" type="measure" />
</pivot>
<tree string="Prévisionnel Tréso" editable="top">
<field name="name" />
<field name="periode" />
<field name="date" />
<field name="montant" />
</tree>
</field>
</record> -->
</record>
</data>
</odoo>
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter