Export sap

This commit is contained in:
alazo 2018-05-15 14:07:23 +02:00 committed by Claude Paroz
parent 982ccb83eb
commit 8b626796f0
4 changed files with 62 additions and 0 deletions

View file

@ -45,6 +45,7 @@ urlpatterns = [
name='export-qualif-ede'),
path('imputations/export/', views.imputations_export, name='imputations_export'),
path('export_sap/', views.export_sap, name='export_sap'),
path('print/update_form/', views.print_update_form, name='print_update_form'),
path('general_export/', views.general_export, name='general-export'),
path('ortra_export/', views.ortra_export, name='ortra-export'),

View file

@ -107,6 +107,10 @@ class StagesTest(TestCase):
response = self.client.get(reverse('export-qualif-ede'))
self.assertEqual(response.status_code, 200)
def test_export_sap(self):
response = self.client.get(reverse('export_sap'))
self.assertEqual(response.status_code, 200)
def test_student_change_view(self):
klass_ede = Klass.objects.create(
name="2EDEps",

View file

@ -890,6 +890,62 @@ def imputations_export(request):
return export.get_http_response('Imputations_export')
def export_sap(request):
EXPORT_SAP_HEADERS = [
'PERNR', 'PERNOM', 'DEGDA', 'ENDDA', 'ZNOM', 'ZUND',
'ZACT', 'ZBRA', 'ZOTP', 'ZCCO', 'ZORD', 'ZTAUX',
]
MAPPING_OTP = {
'ASA': 'CIFO01.03.02.03.01.02 - ASA EE',
'ASE': 'CIFO01.03.02.04.01.02 - CFC ASE EE',
'ASSC': 'CIFO01.03.02.04.02.02 - CFC ASSC EE',
'EDEpe': 'CIFO01.03.02.07.01.01 - EDE prat. prof. PT',
'EDEps': 'CIFO01.03.02.07.02.01 - EDE stages PT',
'EDS': 'CIFO01.03.02.07.03.02 - EDS EE',
'CAS_FPP': 'CIFO01.03.02.01.03 - Mandats divers (CAS FPP)',
'MP' : 'Matu. Santé + Travail social',
'Direction': 'Direction',
}
export = OpenXMLExport('Imputations')
export.write_line(EXPORT_SAP_HEADERS, bold=True) # Headers
start_date = '20.08.2018'
end_date = '19.08.2019'
indice = 'charge globale'
type_act = 'Ens. prof.'
branche = 'Ens. prof.'
centre_cout = ''
stat = ''
for teacher in Teacher.objects.filter(archived=False):
activities, imputations = teacher.calc_imputations()
for key in imputations:
if imputations[key] > 0:
values = [
teacher.ext_id, teacher.full_name, start_date, end_date, imputations[key], indice, type_act,
branche, MAPPING_OTP[key], centre_cout, stat,
round(imputations[key] / settings.GLOBAL_CHARGE_PERCENT, 2),
]
export.write_line(values)
# Previous report
values = [
teacher.ext_id, teacher.full_name, start_date, end_date, teacher.previous_report, indice, type_act,
branche, 'Report précédent', centre_cout, stat,
round(teacher.previous_report / settings.GLOBAL_CHARGE_PERCENT, 2),
]
export.write_line(values)
# Next report
values = [
teacher.ext_id, teacher.full_name, start_date, end_date, teacher.next_report, indice, type_act,
branche, 'Report suivant', centre_cout, stat,
round(teacher.next_report / settings.GLOBAL_CHARGE_PERCENT, 2),
]
export.write_line(values)
return export.get_http_response('Export_SAP')
def print_update_form(request):
"""
PDF form to update personal data

View file

@ -75,6 +75,7 @@
<li style="margin-top: 1em;"><a href="{% url 'stages_export' %}">Exporter les données de stages</a> (récentes)</li>
<li><a href="{% url 'stages_export' 'all' %}">Exporter les données de stages</a> (toutes)</li>
<li><a href="{% url 'imputations_export' %}">Exporter les données comptables</a></li>
<li><a href="{% url 'export_sap' %}">Exporter les données SAP</a></li>
<li><a href="{% url 'print_update_form' %}">Imprimer les formulaires de MAJ</a></li>
<li><a href="{% url 'general-export' %}">Exportation générale des élèves</a></li>
<li><a href="{% url 'export-qualif-ede' %}">Exportation qualif. EDE</a></li>