Skip to content
Extraits de code Groupes Projets
Valider 6be2167b rédigé par Juliana's avatar Juliana
Parcourir les fichiers

Change form counter + delete model energie

parent 58bb5984
Branches
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
'views/enercoop_operation_views.xml', 'views/enercoop_operation_views.xml',
'views/enercoop_counter_views.xml', 'views/enercoop_counter_views.xml',
'views/enercoop_enedis_cdc_views.xml', 'views/enercoop_enedis_cdc_views.xml',
'views/enercoop_enedis_energie_views.xml', # 'views/enercoop_enedis_energie_views.xml',
'views/enercoop_enedis_import_logs_views.xml', 'views/enercoop_enedis_import_logs_views.xml',
# views menu # views menu
'views/menu_views.xml', 'views/menu_views.xml',
......
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
from . import res_partner from . import res_partner
from . import enercoop_enedis_cdc from . import enercoop_enedis_cdc
from . import enercoop_enedis_energie
from . import enercoop_operation from . import enercoop_operation
from . import enercoop_counter from . import enercoop_counter
from . import enercoop_enedis_import_logs from . import enercoop_enedis_import_logs
...@@ -13,9 +13,6 @@ class EnercoopCounter(models.Model): ...@@ -13,9 +13,6 @@ class EnercoopCounter(models.Model):
# ------------------------------------------------------ # ------------------------------------------------------
# General Info # General Info
name = fields.Char("ID PRM", required=True) name = fields.Char("ID PRM", required=True)
# enercoop_operation_id = fields.Many2one(
# comodel_name='enercoop.operation',
# string="Nom de l'opération")
enercoop_operation_ids = fields.One2many( enercoop_operation_ids = fields.One2many(
comodel_name='enercoop.counter.operation', comodel_name='enercoop.counter.operation',
inverse_name='enercoop_counter_id', inverse_name='enercoop_counter_id',
......
...@@ -7,6 +7,7 @@ import pandas as pd ...@@ -7,6 +7,7 @@ import pandas as pd
from io import StringIO from io import StringIO
from odoo import fields, models, api from odoo import fields, models, api
from datetime import datetime, timedelta, date from datetime import datetime, timedelta, date
from odoo.exceptions import UserError
class EnercoopOperation(models.Model): class EnercoopOperation(models.Model):
...@@ -49,10 +50,10 @@ class EnercoopOperation(models.Model): ...@@ -49,10 +50,10 @@ class EnercoopOperation(models.Model):
string="Table des courbes", string="Table des courbes",
auto_join=True auto_join=True
) )
percent_autoconso = fields.Float( # percent_autoconso = fields.Float(
"% Autoconso", # "% Autoconso",
compute="_compute_percent_autoconso") # compute="_compute_percent_autoconso")
graph_values = fields.Text(compute="_compute_graph_values") # graph_values = fields.Text(compute="_compute_graph_values")
distribution_key = fields.Selection([ distribution_key = fields.Selection([
('statique', 'Statique'), ('statique', 'Statique'),
('dynamique', 'Dynamique par défaut'), ('dynamique', 'Dynamique par défaut'),
...@@ -84,57 +85,6 @@ class EnercoopOperation(models.Model): ...@@ -84,57 +85,6 @@ class EnercoopOperation(models.Model):
if operation.date_start_contract: if operation.date_start_contract:
operation.birthday_date = operation.date_start_contract.day operation.birthday_date = operation.date_start_contract.day
def _compute_graph_values(self):
for operation in self:
autoconso_ids = self.env['enercoop.enedis.energie'].search([
('enercoop_operation_id', '=', operation.id),
('comp_data_type', '=', 'Autoconso')])
autoconso_count = sum(autoconso_ids.mapped('power'))
conso_ids = self.env['enercoop.enedis.energie'].search([
('enercoop_operation_id', '=', operation.id),
('comp_data_type', '=', 'Conso')])
conso_count = sum(conso_ids.mapped('power'))
prod_ids = self.env['enercoop.enedis.energie'].search([
('enercoop_operation_id', '=', operation.id),
('comp_data_type', '=', 'Prod')])
prod_count = sum(prod_ids.mapped('power'))
surplus_ids = self.env['enercoop.enedis.energie'].search([
('enercoop_operation_id', '=', operation.id),
('comp_data_type', '=', 'Surplus')])
surplus_count = sum(surplus_ids.mapped('power'))
operation.graph_values = json.dumps([{
'values': [
{'label': 'Autoconsommation', 'value': autoconso_count},
{'label': 'Consommation', 'value': conso_count},
{'label': 'Production', 'value': prod_count},
{'label': 'Surplus', 'value': surplus_count},
],
'area': True,
'title': '',
'key': 'Operations',
'color': '#F61E00'
}])
def _compute_percent_autoconso(self):
for operation in self:
autoconso_ids = self.env['enercoop.enedis.energie'].search([
('enercoop_operation_id', '=', operation.id),
('comp_data_type', '=', 'Autoconso')])
autoconso_count = sum(autoconso_ids.mapped('power'))
conso_ids = self.env['enercoop.enedis.energie'].search([
('enercoop_operation_id', '=', operation.id),
('comp_data_type', '=', 'Conso')])
conso_count = sum(conso_ids.mapped('power'))
percent = 0
if conso_count:
percent = autoconso_count / conso_count * 100
if 0 < percent < 1:
operation.percent_autoconso = 1
elif 99 < percent < 100:
operation.percent_autoconso = 99
else:
operation.percent_autoconso = percent
# ------------------------------------------------------ # ------------------------------------------------------
# Onchange / Constraints # Onchange / Constraints
# ------------------------------------------------------ # ------------------------------------------------------
...@@ -152,6 +102,10 @@ class EnercoopOperation(models.Model): ...@@ -152,6 +102,10 @@ class EnercoopOperation(models.Model):
('res_model', '=', 'enercoop.operation'), ('res_model', '=', 'enercoop.operation'),
('res_id', '=', operation.id) ('res_id', '=', operation.id)
]) ])
if not files:
raise UserError(
"Pas de fichiers à intégrer")
else:
for file in files: for file in files:
data_filename = file.name.split('_') data_filename = file.name.split('_')
id_pdm = data_filename[0] id_pdm = data_filename[0]
...@@ -192,18 +146,6 @@ class EnercoopOperation(models.Model): ...@@ -192,18 +146,6 @@ class EnercoopOperation(models.Model):
'date_slot': date_slot_30, 'date_slot': date_slot_30,
}) })
if data_filename[4] == "ENERGIE.csv":
# Create Data for the Energie
for row in reader.values:
self.env['enercoop.enedis.energie'].create({
'name': file.name,
'enercoop_operation_id': self.id,
'enercoop_counter_id': counter_id.id or False,
'comp_data_type': computed_data_type,
'type_nrj': row[0],
'power': float(row[1].replace(',', '.')),
})
# Logs information logs # Logs information logs
self.env['enercoop.enedis.import.logs'].create({ self.env['enercoop.enedis.import.logs'].create({
'name': file.name, 'name': file.name,
......
...@@ -5,8 +5,6 @@ id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink ...@@ -5,8 +5,6 @@ id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink
"access_enercoop_counter_group_user","enercoop_counter group_user","model_enercoop_counter","base.group_user",1,0,0,0 "access_enercoop_counter_group_user","enercoop_counter group_user","model_enercoop_counter","base.group_user",1,0,0,0
"access_enercoop_enedis_cdc_group_partner_manager","enercoop_enedis_cdc group_partner_manager","model_enercoop_enedis_cdc","base.group_partner_manager",1,1,1,1 "access_enercoop_enedis_cdc_group_partner_manager","enercoop_enedis_cdc group_partner_manager","model_enercoop_enedis_cdc","base.group_partner_manager",1,1,1,1
"access_enercoop_enedis_cdc_group_user","enercoop_enedis_cdc group_user","model_enercoop_enedis_cdc","base.group_user",1,0,0,0 "access_enercoop_enedis_cdc_group_user","enercoop_enedis_cdc group_user","model_enercoop_enedis_cdc","base.group_user",1,0,0,0
"access_enercoop_enedis_energie_group_partner_manager","enercoop_enedis_energie group_partner_manager","model_enercoop_enedis_energie","base.group_partner_manager",1,1,1,1
"access_enercoop_enedis_energie_group_user","enercoop_enedis_energie group_user","model_enercoop_enedis_energie","base.group_user",1,0,0,0
"access_enercoop_enedis_import_logs_group_partner_manager","enercoop_enedis_import_logs group_partner_manager","model_enercoop_enedis_import_logs","base.group_partner_manager",1,1,1,1 "access_enercoop_enedis_import_logs_group_partner_manager","enercoop_enedis_import_logs group_partner_manager","model_enercoop_enedis_import_logs","base.group_partner_manager",1,1,1,1
"access_enercoop_enedis_import_logs_group_user","enercoop_enedis_import_logs group_user","model_enercoop_enedis_import_logs","base.group_user",1,0,0,0 "access_enercoop_enedis_import_logs_group_user","enercoop_enedis_import_logs group_user","model_enercoop_enedis_import_logs","base.group_user",1,0,0,0
"access_enercoop_counter_operation_group_partner_manager","enercoop_counter_operation group_partner_manager","model_enercoop_counter_operation","base.group_partner_manager",1,1,1,1 "access_enercoop_counter_operation_group_partner_manager","enercoop_counter_operation group_partner_manager","model_enercoop_counter_operation","base.group_partner_manager",1,1,1,1
......
...@@ -42,7 +42,13 @@ ...@@ -42,7 +42,13 @@
</group> </group>
<notebook> <notebook>
<page string="Liste des opérations"> <page string="Liste des opérations">
<field name="enercoop_operation_ids" readonly="1"/> <field name="enercoop_operation_ids" widget="one2many" readonly="1">
<tree string="Liste des opérations">
<field name="operation_id" options="{'no_create': True}" />
<field name="is_injection"/>
<field name="is_delivery"/>
</tree>
</field>
</page> </page>
</notebook> </notebook>
</sheet> </sheet>
......
...@@ -48,6 +48,7 @@ ...@@ -48,6 +48,7 @@
<group> <group>
<group> <group>
<field name="distribution_key"/> <field name="distribution_key"/>
<field name="enercoop_enedis_cdc_ids" invisible="1"/>
</group> </group>
<group> <group>
<field name="date_start_contract"/> <field name="date_start_contract"/>
...@@ -112,9 +113,7 @@ ...@@ -112,9 +113,7 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<kanban class="oe_background_grey o_kanban_dashboard o_account_kanban"> <kanban class="oe_background_grey o_kanban_dashboard o_account_kanban">
<field name="name"/> <field name="name"/>
<field name="percent_autoconso"/>
<field name="pmo_id"/> <field name="pmo_id"/>
<field name="graph_values"/>
<templates> <templates>
<t t-name="kanban-box"> <t t-name="kanban-box">
<div class="container o_kanban_card_content oe_kanban_global_click"> <div class="container o_kanban_card_content oe_kanban_global_click">
......
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