Advertisement
Guest User

Untitled

a guest
Nov 19th, 2019
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.35 KB | None | 0 0
  1. def table_json(request):
  2.     if request.POST :
  3.         evs = json.loads(request.POST.get('evs', None))
  4.         magazinu = request.GET.get('magazinul')
  5.         nume = []
  6.         persoane_query = Persoana.objects.filter(magazin=magazinu,functia=1) | Persoana.objects.filter(magazin=magazinu,functia=3) | Persoana.objects.filter(magazin=magazinu,functia=2)
  7.         for persoana in persoane_query:
  8.             table_json = {}
  9.             nume_s = persoana.nume
  10.             prenume = persoana.prenume
  11.             marca = str(persoana.marca)
  12.             nume_i = nume_s + " " + prenume + " (" + marca + ")"
  13.             table_json["nume"] = nume_i
  14.             table_json["zile_angajare"] = 0
  15.             table_json["zile_libere_pontate"] = 0
  16.             table_json["zile_fara_contract"] = 0
  17.             table_json['zile_lucrate'] = 0
  18.             table_json['zile_delegatii'] = 0
  19.             table_json['nr_tichete'] = 0
  20.             table_json['ore_suplimentare'] = 0
  21.             table_json['ore_weekend'] = 0
  22.             table_json['ore_noapte'] = 0
  23.             table_json['ore_sarbatori_legale'] = 0
  24.             table_json['zile_co'] = 0
  25.             table_json['zile_cm'] = 0
  26.             table_json['zile_absente_nemotivate'] = 0
  27.             table_json['zile_cfp'] = 0
  28.             table_json['zile_CD'] = 0
  29.             table_json['zile_CIC'] = 0
  30.             table_json['zile_CICH'] = 0
  31.             table_json['zile_evenimente'] = 0
  32.             table_json['zile_libere_platite'] = 0
  33.             nume.append(table_json)
  34.         for ev in evs:
  35.             id_event = ev["id"]
  36.             event = Pontaj_final.objects.get(id=id_event)
  37.             per = Persoana.objects.get(id=event.persoana.id)
  38.             # print(event.persoana.id)
  39.             nume_s = per.nume
  40.             prenume = per.prenume
  41.             marca = str(per.marca)
  42.             nume_i = nume_s + " " + prenume + " (" + marca + ")"
  43.             for i in range(0,len(nume)-1):
  44.                 if nume_i == nume[i]["nume"]:
  45.                     ore_suplimentare = event.ore_suplimentare
  46.                     total_ore = 0
  47.                     ore_suplimentare = event.ore_suplimentare
  48.                     total_ore += ore_suplimentare
  49.                     if event.tip_pontare == "X":
  50.                         delta = (event.data_sfr - event.data_inc).days
  51.                     else:
  52.                         delta = 0
  53.                     if event.data_inc.month == event.data_sfr.month and event.data_inc.year == event.data_sfr.year:
  54.                         if event.tip_pontare == "CIC":
  55.                             nr_zile_cic = (event.data_sfr - event.data_inc).days
  56.                             nume[i]["zile_CIC"] += nr_zile_cic
  57.                         elif event.tip_pontare == "CICH":
  58.                             nr_zile_cich = (event.data_sfr - event.data_inc).days
  59.                             nume[i]["zile_CICH"] += nr_zile_cich
  60.                         elif event.tip_pontare == "CFP":
  61.                             nr_zile_cfp = (event.data_sfr - event.data_inc).days
  62.                             nume[i]["zile_cfp"] += nr_zile_cfp
  63.                         elif event.tip_pontare == "CM":
  64.                             nr_zile_cm = (event.data_sfr - event.data_inc).days
  65.                             nume[i]["zile_cm"] += nr_zile_cm
  66.                         elif event.tip_pontare == "ZL":
  67.                             nr_zile_libere_platit = (event.data_sfr - event.data_inc).days
  68.                             nume[i]["zile_libere_platite"] += nr_zile_libere_platit
  69.                         elif event.tip_pontare == "E":
  70.                             nr_zile_libere = (event.data_sfr - event.data_inc).days
  71.                             nume[i]["zile_evenimente"] += nr_zile_libere
  72.                         elif event.tip_pontare == "N":
  73.                             nr_zile_nemotivate = (event.data_sfr - event.data_inc).days
  74.                             nume[i]["zile_absente_nemotivate"] += nr_zile_nemotivate
  75.                         elif event.tip_pontare == "CO":
  76.                             nr_zile_co = (event.data_sfr - event.data_inc).days
  77.                             nume[i]["zile_co"] += nr_zile_co
  78.                         elif event.tip_pontare == "X":
  79.                             nr_zile_fcontract = (event.data_sfr - event.data_inc).days
  80.                             nume[i]["zile_fara_contract"] += nr_zile_fcontract
  81.                         elif event.tip_pontare == "L":
  82.                             nr_zile_libere_pontate = (event.data_sfr - event.data_inc).days
  83.                             nume[i]["zile_libere_pontate"] += nr_zile_libere_pontate
  84.                         elif int(event.tip_pontare) is not None:
  85.                             nume[i]["zile_lucrate"] += 1
  86.                             nume[i]["nr_tichete"] +=1
  87.                     else:
  88.                         if event.tip_pontare == "CIC":
  89.                             prima_zi = event.data_sfr.replace(day=1)
  90.                             nr_zile_cic = (event.data_sfr - prima_zi).days + 1
  91.                             nume[i]["zile_CIC"] += nr_zile_cic
  92.                         elif event.tip_pontare == "CICH":
  93.                             prima_zi = event.data_sfr.replace(day=1)
  94.                             nr_zile_cich = (event.data_sfr - prima_zi).days + 1
  95.                             nume[i]["zile_CIC"] += nr_zile_cich
  96.                         elif event.tip_pontare == "CFP":
  97.                             prima_zi = event.data_sfr.replace(day=1)
  98.                             nr_zile_cfp = (event.data_sfr - prima_zi).days + 1
  99.                             nume[i]["zile_cfp"] += nr_zile_cfp
  100.                     nume[i]["ore_suplimentare"] += ore_suplimentare
  101.                    
  102.                     # print(total_ore)
  103.         print(nume)
  104.     return render(request, 'pep/foaia_colectiva.html',{"events": nume})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement