Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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))
Ejemplo n.º 4
0
def getReserv(vp_id, kpv):
    vh = VaraHaldur()
    l_val = vh.getReservDiff(vp_id, kpv)
    return float(l_val)