Exemplo n.º 1
0
def create_recovery_report(d, the_tweaks):
    
    camel_recoveries = tweaks.tweak_recoveries(the_tweaks)
    jobcodes_to_process = set(tweaks.tweaked_jobs(the_tweaks))
    db_recoveries = get_dbase_recoveries(d)
    for k, v in db_recoveries.items():
        if abs(v) >= 0.01: jobcodes_to_process.add(k)    
    jobcodes_to_process = sorted(list(jobcodes_to_process))
    output = ['RECOVERY RECONILIATION', '']

    tweaks_grand_total = 0.0
    pms_grand_total = 0.0
    for job_code in jobcodes_to_process:
        job = d['jobs'][job_code] # TODO - d['jobs'][job_code] is a common idiom which ought to be abstracted        
        camel_job_recoveries = dget(camel_recoveries, job_code, [])
        db_job_recovery = dget(db_recoveries, job_code)
        tweak_amount, recovery_text = create_recovery_text(job, camel_job_recoveries, db_job_recovery)
        output += recovery_text
        tweaks_grand_total += tweak_amount
        pms_grand_total += db_job_recovery
       
    output.append('SUMMARY:')
    output.append(line(tweaks_grand_total, 'TWEAKS GRAND TOTAL'))
    output.append(line(pms_grand_total, 'PMS GRAND TOTAL'))
    output.append(line(tweaks_grand_total - pms_grand_total, 'OVERALL DIFF'))
    period.save_report('recoveries.txt', output)
Exemplo n.º 2
0
def accum_tweaks_to_job_level(the_tweaks):
    
    jobs = {}
    for entry in the_tweaks:
        code = entry['JobCode']
        if not jobs.has_key(code): jobs[code] = {}
        job = jobs[code]
        for key in ['Inv3rdParty', 'InvAccrual', 'InvBIA', 'InvInvoice', 'InvTime', 'InvUBI', 'InvWIP']:
            common.dplus(job, key, common.dget(entry, key))
    return jobs
Exemplo n.º 3
0
    def Show(self):
        if self.jobs is None:
            self.jobs = {}
            jobs = db.GetJobs()
            job_codes = sorted(jobs.keys())
            for job_code in job_codes:
                job = jobs[job_code]
                if dget(job, 'active', False):
                    self.jobs[job_code] = job
                    self.opt_jobs.Append(job_code)
            self.opt_jobs.SetSelection(0)
            #print self.jobs
            
            self.clients = db.GetClients()
            #self.client_reverse_lookup = {}
            #for k in clients.keys():
            #    self.client_reverse_lookup[clients[k]] = k
            #self.client_opt_index
            for client in sorted(self.clients.values()):
                self.opt_client.Append(client)

            
            self.fill_frame()
        super(JobsFrame, self).Show()
Exemplo n.º 4
0
 def safe_set_text(text_control, field):
     text_control.SetValue(common.dget(job, field, ""))