def findT4VT(aasta): akpv = date(aasta, 1, 1) lkpv = date(aasta, 12, 31) vts = Varatehing.objects.all().filter(vaartuspaev__gte=akpv, vaartuspaev__lte=lkpv).order_by('vaartuspaev') vtx = [] for vt in vts: cnt = 0 if vt.tyyp != 'H': ks = Kanne.objects.all().filter(Q(konto__kontonumber='117')|Q(konto__kontonumber='118')| Q(konto__kontonumber='1191')|Q(konto__kontonumber='115')|Q(konto__kontonumber='1132'), tehing__maksepaev=vt.vaartuspaev, summa=vt.eur_summa) cnt = ks.count() else: vh = VaraHaldur() dr = abs(vh.getReservDiff(vt.vara.id, vt.vaartuspaev)) if dr != 0: ks = Kanne.objects.all().filter(Q(konto__kontonumber='117')|Q(konto__kontonumber='118')| Q(konto__kontonumber='1191')|Q(konto__kontonumber='264'), tehing__maksepaev=vt.vaartuspaev, summa=dr) cnt = ks.count() else: cnt = -1 if cnt > 0: vtx.append(vt) return vtx
def getReservD(vp_id, deebet, kpv): vh = VaraHaldur() l_val = float(vh.getReservDiff(vp_id, kpv)) if deebet == 'K' and l_val < 0 or deebet == 'D' and l_val > 0: l_val = 0 if deebet == 'D' and l_val < 0: l_val = -1 * l_val return l_val
def reports(request): if request.GET.has_key('rt'): if request.GET['rt'] == 'kvt': prs = Pearaamat.objects.all().order_by('aasta') pr_count = prs.count() if request.POST.has_key('year'): pr = Pearaamat.objects.get(aasta=request.POST['year']) else: pr = prs.reverse()[:1][0] vtx = findKVT(pr.aasta) vh = VaraHaldur() data = vh.reservMovementReport(pr) x = vh.assetReport(pr) asst = x[0] sums = x[1] context = Context({'prs':prs, 'pr_count':pr_count, 'year':pr.aasta, 'vtx':vtx, 'data':data, 'asst':asst, 'sums':sums}) return render_to_response('reports_kvt.html', context, context_instance=RequestContext(request)) if request.GET['rt'] == 'bil': prs = Pearaamat.objects.all().order_by('aasta') pr_count = prs.count() if request.POST.has_key('year'): pr = Pearaamat.objects.get(aasta=request.POST['year']) else: pr = prs.reverse()[:1][0] kvartal = 0 if request.POST.has_key('kvartal'): kvartal = int(request.POST['kvartal']) vtx = findBIL(pr, kvartal) context = Context({'prs':prs, 'pr_count':pr_count, 'year':pr.aasta, 'kvartal':kvartal, 'vtx':vtx[0], 'tot':vtx[1]}) return render_to_response('reports_bil.html', context, context_instance=RequestContext(request)) if request.GET['rt'] == 'kas': prs = Pearaamat.objects.all().order_by('aasta') pr_count = prs.count() if request.POST.has_key('year'): pr = Pearaamat.objects.get(aasta=request.POST['year']) else: pr = prs.reverse()[:1][0] kvartal = 0 if request.POST.has_key('kvartal'): kvartal = int(request.POST['kvartal']) vtx = kasumiAruanne(pr, kvartal) context = Context({'prs':prs, 'pr_count':pr_count, 'year':pr.aasta, 'kvartal':kvartal, 'vtx':vtx[0], 'fin':vtx[1], 'tot':vtx[2]}) return render_to_response('reports_kas.html', context, context_instance=RequestContext(request)) if request.GET['rt'] == 'rva': prs = Pearaamat.objects.all().order_by('aasta') pr_count = prs.count() if request.POST.has_key('year'): pr = Pearaamat.objects.get(aasta=request.POST['year']) else: pr = prs.reverse()[:1][0] kvartal = 0 if request.POST.has_key('kvartal'): kvartal = int(request.POST['kvartal']) rva = rahavoogudeAruanne(pr, kvartal) context = Context({'prs':prs, 'pr_count':pr_count, 'year':pr.aasta, 'kvartal':kvartal, 'rva':rva }) return render_to_response('reports_rva.html', context, context_instance=RequestContext(request)) elif request.POST.has_key('action'): if request.POST['action'] == u'Kustuta erinevustega tehingud': prs = Pearaamat.objects.all().order_by('aasta') pr_count = prs.count() if request.POST.has_key('year'): pr = Pearaamat.objects.get(aasta=request.POST['year']) else: pr = prs.reverse()[:1][0] vtx = findKVT(pr.aasta) lkpv = date(pr.aasta, 12, 31) vh = VaraHaldur() data = vh.reservMovementReport(pr) for r in data: print r if float(r['dk']) != float(r['dv']): print '-- erinevus!' T = Tehing.objects.get(pk=r['t']) if not T.on_manual: pts = Pangakirje.objects.all().filter(tehing=T) for pt in pts: pt.arvestatud = 'N' pt.tehing = None pt.save() Kanne.objects.all().filter(tehing=T).delete() print '-- kustutan tehingu ', T.sisu vtt = Varatehing.objects.all().filter(tehing_id=T.id) for u in vtt: u.tehing_id = None u.save() T.delete() if request.POST['action'] == u'Genereeri ümberhindlused': prs = Pearaamat.objects.all().order_by('aasta') pr_count = prs.count() if request.POST.has_key('year'): pr = Pearaamat.objects.get(aasta=request.POST['year']) else: pr = prs.reverse()[:1][0] vtx = findKVT(pr.aasta) print '..1 vtx.length = ', len(vtx) lkpv = date(pr.aasta, 12, 31) vh = VaraHaldur() for vt in vtx: if vt.tyyp == 'H': dr = vh.getReservDiff(vt.vara.id, lkpv) if dr != 0: tt = Tehingutyyp.objects.get(kirjeldus=u'Käsitsi sisestatud tehing') if vt.vara.vp_tyyp == 'A': l_sisu = u'Aktsia ümberhindamine ' l_konto = '117' elif vt.vara.vp_tyyp == 'V': l_sisu = u'Võlakirja ümberhindamine ' l_konto = '118' elif vt.vara.vp_tyyp == 'I': l_sisu = u'Alt.investeeringu ümberhindamine ' l_konto = '1191' l_sisu = l_sisu + '(' + vt.vara.nimetus + ')' t = Tehing.objects.create(pearaamat=pr, tehingutyyp=tt, sisu=l_sisu, tehingupaev=lkpv, maksepaev=lkpv, on_manual=True) vpk = Konto.objects.get(pk=l_konto) rsk = Konto.objects.get(pk='264') vt.tehing_id = t.id vt.save() else: print '... reserv_diff = 0: ', vt.vara.nimetus if dr > 0: Kanne.objects.create(tehing=t, konto=vpk, on_deebet=True, summa=dr, on_manual=True) Kanne.objects.create(tehing=t, konto=rsk, on_deebet=False, summa=dr, on_manual=True) elif dr < 0: Kanne.objects.create(tehing=t, konto=vpk, on_deebet=False, summa=abs(dr), on_manual=True) Kanne.objects.create(tehing=t, konto=rsk, on_deebet=True, summa=abs(dr), on_manual=True) vtx = findT4VT(pr.aasta) print '..2 vtx.length = ', len(vtx) for vt in vtx: if vt.tyyp == 'H': tt = Tehingutyyp.objects.get(kirjeldus=u'Käsitsi sisestatud tehing') if vt.vara.vp_tyyp == 'A': l_sisu = u'Aktsia ümberhindamine ' l_konto = '117' elif vt.vara.vp_tyyp == 'V': l_sisu = u'Võlakirja ümberhindamine ' l_konto = '118' elif vt.vara.vp_tyyp == 'I': l_sisu = u'Alt.investeeringu ümberhindamine ' l_konto = '1191' l_sisu = l_sisu + '(' + vt.vara.nimetus + ')' t = Tehing.objects.all().filter(pearaamat=pr, tehingutyyp=tt, sisu=l_sisu, tehingupaev=lkpv, maksepaev=lkpv, on_manual=True) if len(t) > 0: vt.tehing_id = t[0].id vt.save() else: '... no ', l_sisu context = Context({}) return render_to_response('pd_rp_home.html', context, context_instance=RequestContext(request))
def getReserv(vp_id, kpv): vh = VaraHaldur() l_val = vh.getReservDiff(vp_id, kpv) return float(l_val)