Skip to content
GitLab
Explorer
Connexion
Navigation principale
Rechercher ou aller à…
Projet
A
acc_operation
Gestion
Activité
Membres
Labels
Programmation
Tickets
Tableaux des tickets
Jalons
Code
Requêtes de fusion
Dépôt
Branches
Validations
Étiquettes
Graphe du dépôt
Comparer les révisions
Analyse
Données d'analyse des chaînes de valeur
Analyse des contributeurs
Données d'analyse du dépôt
Aide
Aide
Support
Documentation de GitLab
Comparer les forfaits GitLab
Forum de la communauté GitLab
Contribuer à GitLab
Donner votre avis
Raccourcis clavier
?
Extraits de code
Groupes
Projets
Ce projet est archivé. Le dépôt et les autres ressources du projet sont en lecture seule.
Afficher davantage de fils d'Ariane
Le Filament
Opération Auto-Consommation Collective
acc_operation
Validations
91ddcd9b
Valider
91ddcd9b
rédigé
Il y a 2 ans
par
Juliana
Parcourir les fichiers
Options
Téléchargements
Correctifs
Plain Diff
[UPD]Change format date slot
parent
94e22574
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Modifications
3
Afficher les modifications d'espaces
En ligne
Côte à côte
Affichage de
3 fichiers modifiés
models/acc_operation.py
+21
-12
21 ajouts, 12 suppressions
models/acc_operation.py
views/acc_operation_views.xml
+6
-1
6 ajouts, 1 suppression
views/acc_operation_views.xml
views/res_partner_views.xml
+4
-1
4 ajouts, 1 suppression
views/res_partner_views.xml
avec
31 ajouts
et
14 suppressions
models/acc_operation.py
+
21
−
12
Voir le fichier @
91ddcd9b
...
@@ -2,11 +2,11 @@
...
@@ -2,11 +2,11 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
import
base64
import
base64
import
pytz
from
datetime
import
datetime
,
timedelta
,
timezone
from
datetime
import
datetime
,
timedelta
from
io
import
StringIO
from
io
import
StringIO
import
pandas
as
pd
import
pandas
as
pd
from
dateutil
import
tz
from
odoo
import
_
,
api
,
fields
,
models
from
odoo
import
_
,
api
,
fields
,
models
from
odoo.exceptions
import
UserError
from
odoo.exceptions
import
UserError
...
@@ -123,6 +123,8 @@ class AccOperation(models.Model):
...
@@ -123,6 +123,8 @@ class AccOperation(models.Model):
)
)
computed_data_type
=
data_filename
[
3
].
lower
()
computed_data_type
=
data_filename
[
3
].
lower
()
if
computed_data_type
!=
"
prod
"
and
computed_data_type
!=
"
surplus
"
:
computed_data_type
=
data_filename
[
3
].
lower
()[:
-
1
]
file_decode
=
StringIO
(
base64
.
b64decode
(
file
.
datas
).
decode
(
"
UTF-8
"
))
file_decode
=
StringIO
(
base64
.
b64decode
(
file
.
datas
).
decode
(
"
UTF-8
"
))
file_decode
.
seek
(
0
)
file_decode
.
seek
(
0
)
...
@@ -133,8 +135,18 @@ class AccOperation(models.Model):
...
@@ -133,8 +135,18 @@ class AccOperation(models.Model):
# Create Data for the CDC
# Create Data for the CDC
for
row
in
reader
.
values
:
for
row
in
reader
.
values
:
# Create 1st slot 0-30min
# Create 1st slot 0-30min
date_slot
=
datetime
.
strptime
(
row
[
0
],
"
%d/%m/%Y %H:%M
"
)
slot_datetime_tz
=
datetime
.
strptime
(
date_slot_utc
=
fields
.
Datetime
.
to_string
(
date_slot
)
row
[
0
],
"
%d/%m/%Y %H:%M
"
)
slot_tz
=
datetime
.
strftime
(
slot_datetime_tz
,
"
%Y-%m-%d %H:%M:%S
"
)
slot_date_tz
=
datetime
.
fromisoformat
(
slot_tz
).
replace
(
tzinfo
=
tz
.
gettz
(
"
Europe/Paris
"
)
)
date_slot_utc
=
slot_date_tz
.
astimezone
(
timezone
.
utc
).
replace
(
tzinfo
=
None
)
self
.
env
[
"
acc.enedis.cdc
"
].
create
(
self
.
env
[
"
acc.enedis.cdc
"
].
create
(
{
{
...
@@ -143,16 +155,11 @@ class AccOperation(models.Model):
...
@@ -143,16 +155,11 @@ class AccOperation(models.Model):
"
acc_counter_id
"
:
counter_id
.
id
or
False
,
"
acc_counter_id
"
:
counter_id
.
id
or
False
,
"
comp_data_type
"
:
computed_data_type
,
"
comp_data_type
"
:
computed_data_type
,
"
power
"
:
row
[
1
],
"
power
"
:
row
[
1
],
"
date_slot
"
:
date_slot
,
"
date_slot
"
:
slot_datetime_tz
,
"
date_slot_utc
"
:
date_slot_utc
,
"
date_slot_utc
"
:
date_slot_utc
,
}
}
)
)
# Create 2nd slot 30-60min
# Create 2nd slot 30-60min
date_slot_30
=
datetime
.
strptime
(
row
[
0
],
"
%d/%m/%Y %H:%M
"
)
+
timedelta
(
minutes
=
30
)
date_slot_utc
=
fields
.
Datetime
.
to_string
(
date_slot_30
)
# date_slot_utc = fields.Datetime.to_string(date_slot_30)
self
.
env
[
"
acc.enedis.cdc
"
].
create
(
self
.
env
[
"
acc.enedis.cdc
"
].
create
(
{
{
"
name
"
:
file
.
name
,
"
name
"
:
file
.
name
,
...
@@ -160,8 +167,10 @@ class AccOperation(models.Model):
...
@@ -160,8 +167,10 @@ class AccOperation(models.Model):
"
acc_counter_id
"
:
counter_id
.
id
or
False
,
"
acc_counter_id
"
:
counter_id
.
id
or
False
,
"
comp_data_type
"
:
computed_data_type
,
"
comp_data_type
"
:
computed_data_type
,
"
power
"
:
row
[
2
],
"
power
"
:
row
[
2
],
"
date_slot
"
:
date_slot_30
,
"
date_slot
"
:
slot_datetime_tz
"
date_slot_utc
"
:
date_slot_utc
,
+
timedelta
(
minutes
=
30
),
"
date_slot_utc
"
:
date_slot_utc
+
timedelta
(
minutes
=
30
),
}
}
)
)
...
...
Ce diff est replié.
Cliquez pour l'agrandir.
views/acc_operation_views.xml
+
6
−
1
Voir le fichier @
91ddcd9b
...
@@ -25,7 +25,12 @@
...
@@ -25,7 +25,12 @@
<field
name=
"arch"
type=
"xml"
>
<field
name=
"arch"
type=
"xml"
>
<form
string=
"Opération"
>
<form
string=
"Opération"
>
<header>
<header>
<button
string=
"Intégration des données ENEDIS"
type=
"object"
class=
"btn-primary"
name=
"import_enedis_data"
/>
<button
string=
"Intégration des données ENEDIS"
type=
"object"
class=
"btn-primary"
name=
"import_enedis_data"
/>
</header>
</header>
<sheet>
<sheet>
<widget
<widget
...
...
Ce diff est replié.
Cliquez pour l'agrandir.
views/res_partner_views.xml
+
4
−
1
Voir le fichier @
91ddcd9b
...
@@ -42,7 +42,10 @@
...
@@ -42,7 +42,10 @@
<field
name=
"is_producer"
/>
<field
name=
"is_producer"
/>
<field
name=
"is_consumer"
/>
<field
name=
"is_consumer"
/>
<field
name=
"is_pmo"
/>
<field
name=
"is_pmo"
/>
<field
name=
"mail_contact_pmo"
attrs=
"{'invisible': [('is_pmo', '!=', True)]}"
/>
<field
name=
"mail_contact_pmo"
attrs=
"{'invisible': [('is_pmo', '!=', True)]}"
/>
<field
name=
"is_buyer_surplus"
/>
<field
name=
"is_buyer_surplus"
/>
</field>
</field>
<xpath
expr=
"//notebook"
position=
"inside"
>
<xpath
expr=
"//notebook"
position=
"inside"
>
...
...
Ce diff est replié.
Cliquez pour l'agrandir.
Aperçu
0%
Chargement en cours
Veuillez réessayer
ou
joindre un nouveau fichier
.
Annuler
You are about to add
0
people
to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Enregistrer le commentaire
Annuler
Veuillez vous
inscrire
ou vous
se connecter
pour commenter