Skip to content
GitLab
Explorer
Connexion
Navigation principale
Rechercher ou aller à…
Projet
A
ap_sale_project
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
Afficher davantage de fils d'Ariane
Le Filament
Arbre et Paysage
ap_sale_project
Validations
91bd2cfb
Valider
91bd2cfb
rédigé
Il y a 2 mois
par
Julien - Le Filament
Parcourir les fichiers
Options
Téléchargements
Correctifs
Plain Diff
[ADD] add order export data
parent
bcb5b82e
Aucune branche associée trouvée
Aucune étiquette associée trouvée
2 requêtes de fusion
!4
14.0 new fields
,
!3
[ADD] add some fields for import
Modifications
1
Afficher les modifications d'espaces
En ligne
Côte à côte
Affichage de
1 fichier modifié
controllers/export.py
+83
-12
83 ajouts, 12 suppressions
controllers/export.py
avec
83 ajouts
et
12 suppressions
controllers/export.py
+
83
−
12
Voir le fichier @
91bd2cfb
...
@@ -29,6 +29,11 @@ def export_xlsx(data_by_sheet):
...
@@ -29,6 +29,11 @@ def export_xlsx(data_by_sheet):
headers
=
list
(
rows
[
0
].
keys
())
headers
=
list
(
rows
[
0
].
keys
())
for
col_idx
,
header
in
enumerate
(
headers
):
for
col_idx
,
header
in
enumerate
(
headers
):
if
header
[:
3
]
==
"
ROT
"
:
cell_format
=
workbook
.
add_format
()
cell_format
.
set_rotation
(
90
)
sheet
.
write
(
0
,
col_idx
,
header
[
3
:],
cell_format
)
else
:
sheet
.
write
(
0
,
col_idx
,
header
)
sheet
.
write
(
0
,
col_idx
,
header
)
for
row_idx
,
row
in
enumerate
(
rows
,
start
=
1
):
for
row_idx
,
row
in
enumerate
(
rows
,
start
=
1
):
...
@@ -82,12 +87,73 @@ class ApExportController(http.Controller):
...
@@ -82,12 +87,73 @@ class ApExportController(http.Controller):
"""
"""
export commande
export commande
"""
"""
projects
=
request
.
env
[
"
sale.project
"
].
search
([(
"
saison_id
"
,
"
=
"
,
saison
.
id
)])
# un onglet par programme (subvention)
programmes
=
request
.
env
[
"
sale.project.subvention
"
].
search
([])
file
=
{}
file
=
{}
for
project
in
projects
:
for
programme
in
programmes
:
file
[
project
.
name
]
=
[{
"
test
"
:
"
test
"
}]
# on créer l onglet du programme
file
[
programme
.
name
]
=
[]
page
=
file
.
get
(
programme
.
name
)
# tout les projets sous ce programme pour la saison dont le devis est signé
projects
=
request
.
env
[
"
sale.project
"
].
search
(
[
(
"
saison_id
"
,
"
=
"
,
saison
.
id
),
(
"
project_subvention_id
"
,
"
=
"
,
programme
.
id
),
(
"
sale_order_id.state
"
,
"
=
"
,
"
sale
"
),
]
)
interventions
=
request
.
env
[
"
sale.intervention
"
].
search
(
[(
"
project_id
"
,
"
in
"
,
projects
.
ids
)]
)
plant_data
=
{}
seeders_list
=
[]
for
intervention
in
interventions
:
seeders_list
.
append
(
intervention
.
partner_id
)
for
sequence
in
intervention
.
plant_sequence_ids
:
plant
=
plant_data
.
setdefault
(
sequence
.
product_id
,
{})
if
plant
.
get
(
f
"
ROT
{
intervention
.
partner_id
.
name
}
"
):
plant
[
f
"
ROT
{
intervention
.
partner_id
.
name
}
"
]
+=
sequence
.
qty
else
:
plant
[
f
"
ROT
{
intervention
.
partner_id
.
name
}
"
]
=
sequence
.
qty
# format data for xls
# premiere ligne on va chercher les secteurs de plantation
first_line
=
{
"
Article
"
:
"
Secteur plantation
"
,
"
Nom latin
"
:
""
,
"
Nom de la catégorie
"
:
""
,
"
Numéro de pépiniesriste
"
:
""
,
}
for
seeder
in
set
(
seeders_list
):
secteur_plat
=
(
request
.
env
[
"
sale.project
"
]
.
search
([(
"
partner_id
"
,
"
=
"
,
seeder
.
id
)])
.
mapped
(
"
plant_sector_id
"
)
.
mapped
(
"
name
"
)
)
first_line
[
f
"
ROT
{
seeder
.
name
}
"
]
=
"
,
"
.
join
(
secteur_plat
)
page
.
append
(
first_line
)
for
plant
in
plant_data
:
line
=
{}
line
.
update
(
{
"
Article
"
:
plant
.
name
,
"
Nom latin
"
:
plant
.
latin_name
or
""
,
"
Nom de la catégorie
"
:
plant
.
categ_id
.
name
or
""
,
"
Numéro de pépiniériste
"
:
plant
.
categ_id
.
nurseryman_id
or
""
,
}
)
qty
=
plant_data
.
get
(
plant
)
for
seeder
in
qty
:
line
[
seeder
]
=
qty
[
seeder
]
page
.
append
(
line
)
return
file
return
file
def
get_fin_data
(
self
,
saison
):
def
get_fin_data
(
self
,
saison
):
...
@@ -118,13 +184,18 @@ class ApExportController(http.Controller):
...
@@ -118,13 +184,18 @@ class ApExportController(http.Controller):
"
Télephone
"
:
project
.
partner_id
.
phone
or
""
,
"
Télephone
"
:
project
.
partner_id
.
phone
or
""
,
"
Email
"
:
project
.
partner_id
.
email
or
""
,
"
Email
"
:
project
.
partner_id
.
email
or
""
,
"
Commune intervention
"
:
inter
.
city
or
""
,
"
Commune intervention
"
:
inter
.
city
or
""
,
"
Geo latitude
"
:
str
(
inter
.
latitude
).
replace
(
'
,
'
,
'
.
'
),
"
Geo latitude
"
:
str
(
inter
.
latitude
).
replace
(
"
,
"
,
"
.
"
),
"
Geo longitude
"
:
str
(
inter
.
longitude
).
replace
(
'
,
'
,
'
.
'
),
"
Geo longitude
"
:
str
(
inter
.
longitude
).
replace
(
"
,
"
,
"
.
"
),
"
Bord de départementale
"
:
inter
.
near_road
or
""
,
"
Bord de départementale
"
:
inter
.
near_road
or
""
,
"
Forme juridique
"
:
project
.
partner_id
.
partner_company_type_id
.
name
or
""
,
"
Forme juridique
"
:
project
.
partner_id
.
partner_company_type_id
.
name
"
Type de culture
"
:
project
.
partner_id
.
culture_type_id
.
name
or
""
,
or
""
,
#todo format date
"
Type de culture
"
:
project
.
partner_id
.
culture_type_id
.
name
"
Date de première adhésion
"
:
project
.
partner_id
.
year_1st_membership
or
""
,
or
""
,
"
Date de première adhésion
"
:
(
project
.
partner_id
.
year_1st_membership
.
strftime
(
"
%d-%m-%Y
"
)
if
project
.
partner_id
.
year_1st_membership
else
""
),
"
Diffusion sur site internet
"
:
project
.
online
or
""
,
"
Diffusion sur site internet
"
:
project
.
online
or
""
,
"
Longueur de haie
"
:
inter
.
intervention_length
or
""
,
"
Longueur de haie
"
:
inter
.
intervention_length
or
""
,
"
Nombre de plants
"
:
inter
.
plant_qty
or
""
,
"
Nombre de plants
"
:
inter
.
plant_qty
or
""
,
...
@@ -134,7 +205,7 @@ class ApExportController(http.Controller):
...
@@ -134,7 +205,7 @@ class ApExportController(http.Controller):
"
Implantation
"
:
inter
.
location_id
.
name
or
""
,
"
Implantation
"
:
inter
.
location_id
.
name
or
""
,
"
Objectif plantation
"
:
project
.
plant_goal_id
.
name
or
""
,
"
Objectif plantation
"
:
project
.
plant_goal_id
.
name
or
""
,
"
Avancement
"
:
project
.
admin_state_id
.
name
,
"
Avancement
"
:
project
.
admin_state_id
.
name
,
"
Aides financières
"
:
self
.
get_financial_help
(
inter
)
"
Aides financières
"
:
self
.
get_financial_help
(
inter
)
,
}
}
file
.
get
(
sheet_name
).
append
(
project_data
)
file
.
get
(
sheet_name
).
append
(
project_data
)
...
...
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