Exemple #1
0
def get_rows_db():
#    from reporter.engine.basedb.models import * #TrudovDogovor, Person, SalaryCalculation, Naznachenie
    from reporter.engine.basedb import docs #TrudovDogovor, Person, SalaryCalculation, Naznachenie
    from reporter.engine.basedb.simpleDB import DB
    #print "\n\nLOCALS:\n", locals()
    #print "\n\nDOCS_LOCALS:\n", docs.__dict__
    DB.reset( docs.__dict__)

    baiIvan = docs.Person()
    aln = baiIvan.ime
    #boza was aln.alias
    boza, aln.ime = ( 'baiIvan', 'Ivan Shivachev')
    baiMamul = docs.Person()
    aln = baiMamul.ime
    boza, aln.ime = ( 'baiMamul', 'Kalmuk Mamulev')
    shefa = docs.Rabotodatel()
    shefa.ime.ime = 'Chichko Mnogov Parichkov'

    td = baiIvanNaznachenie = docs.TrudovDogovor()
    td.rabotodatel = shefa
    td.sluzhitel = baiIvan
    td.osnovna_zaplata = 2000
    td1 = baiMamulNaznachenie = docs.TrudovDogovor()
    td1.rabotodatel = shefa
    td1.sluzhitel = baiMamul
    td1.osnovna_zaplata = 2500
    DB.save( locals())
    #print "\n\nLOCALS:\n", locals()

    test_data =(3*[[ 18, 19]] +
                3*[[ 16, 19]] +
                3*[[ 16, 20]] +
                3*[[ 45, 45]] )
    k = 0
    test_db = []
    for i in test_data:
        k += 1
        sc = docs.SalaryCalculation()
        sc.naznachenie = k % 3 and baiIvanNaznachenie or baiMamulNaznachenie
        sc.otraboteni_dni           = i[0]
        sc.rabotni_dni_za_perioda   = i[1]

        r = ZaplataRow( sluzhitel    = sc.naznachenie.sluzhitel.ime.ime,
                        osn_zaplata = sc.osnovna_zaplata              ,
                        otrab_dni   = sc.otraboteni_dni               ,
                        dni_za_mes  = sc.rabotni_dni_za_perioda       ,
                        realna_zap  = sc.realna_zaplata               )

        test_db.append( r)
    return test_db
Exemple #2
0
    RowType = RowTrDogovor

    model_mapping = dict( sluzhitel   = 'employment.slujitel.name.name',
                          short_name  = 'employment.slujitel.name.alias',
                          osn_zaplata = 'employment.osnovna_zaplata')
    def setup( me):
        me.group( th_mod_1000, None, [ AggTrDogovor])

from reporter.engine.basedb.docs import TrudovDogovor, Person, SalaryCalculation, Employment, populateAll

if __name__ == "__main__":
    from reporter.engine.basedb.simpleDB import DB
    populateAll( DB, 10)
    column_order = ['sluzhitel', 'short_name', 'osn_zaplata', 'percent']

    spr = SprExtCalc()
    if 10:
        viewdescr = dict(
            sluzhitel   = FldView( align='l', border='lr'),
            short_name  = FldView( align='l', border='r'),
            osn_zaplata = FldView( format_str='%.2f', align='r', border='r'),
            percent     = FldView( format_str='%.2f %%', align='r', border='r'),
        )
    else:
        viewdescr = dict()

    spr.update( iter(DB.query( TrudovDogovor)))
    print View2( spr, viewdescr).make_str( column_order)

# vim:ts=4:sw=4:expandtab