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

@ -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