Ejemplo n.º 1
0
def calculate():
    from src.calc.calcroyalties import ProcessRoyalties
    pr = ProcessRoyalties()

    print("We are in the calculate thing..... for ", request.args)
    db = config.get_database()
    for monthly in db.select('Monthly',
                             ExtractDate=int(request.args.get('ExtractDate')),
                             ProdMonth=int(request.args.get('ProdMonth')),
                             Entity=request.args.get('Entity'),
                             EntityId=int(request.args.get('EntityID'))):
        try:
            print("about to calculate...")
            pr.process_one(monthly.ExtractDate, monthly.Entity,
                           monthly.EntityID, monthly.ProdMonth,
                           monthly.Product)
        except Exception as e:
            print("We have an error")
            traceback.print_exc(file=sys.stdout)
            tb = traceback.format_exc()
            return "<h2>Error displaying worksheet for " + monthly.Entity + " %s</h2><br>" % monthly.EntityID + \
                   str(e) + '<plaintext>' + \
                   tb + '</plaintext>'

            # print(e)
            # return 'Something went wrong during calculation for %s, %s, %i, %s:<br />%s' % \
            #        (monthly.Entity, monthly.EntityID, monthly.ProdMonth, monthly.Product, str(e))

    return "Processing complete."
Ejemplo n.º 2
0
def calculate():
    from src.calc.calcroyalties import ProcessRoyalties
    pr = ProcessRoyalties()
    well_id = int(request.args.get('WellId'))
    try:
        pr.process_one(well_id, get_proddate_int(), 'Oil')
        return 'Calculation successful for %s, %i, %s' % (well_id, get_proddate_int(), 'Oil')
    except Exception as e:
        print(e)
        return 'Something went wrong during calculation for %s, %i, %s:<br />%s' % \
               (well_id, get_proddate_int(), 'Oil', str(e))
    def test_process_monthly(self):
        db = config.get_database()
        dbu = DatabaseUtilities()
        dbu.delete_all_tables()
        dbu.create_some_test_well_royalty_masters()
        dbu.create_some_test_lease_royalty_masters()
        dbu.create_some_test_leases()
        dbu.create_some_test_well_lease_link()
        dbu.create_some_test_monthly()
        dbu.create_some_test_econdata()
        dbu.create_some_test_rtp_info()
        dbu.create_calc()
        pr = ProcessRoyalties()
        pr.process_one(4, 201501, "OIL")
        # Check to see if the oper record exists
        self.assertEqual(2, db.count("calc"))

        pr.process_all()
        self.assertEqual(3, db.count("calc"))