def update_accrued_amt()

in process-requests/app.py [0:0]


def update_accrued_amt(budget_dict):
    logger.info("Updated Dict Object before updating the accrued spends: {}".format(budget_dict))
    for key, value in budget_dict.items():
        logger.info("Updating accrued Amt for key {}".format(key))
        update_expression = "set accruedForecastedSpend=:a, accruedBlockedSpend=:b, accruedApprovedSpend=:c"
        expression_attributes = {
            ':b': value['accruedBlockedSpend'],
            ':a': value['accruedForecastedSpend'],
            ':c': value['accruedApprovedSpend']
        }
        if not value['budgetForecastProcessed']:
            logger.info("Set budgetForcast Processed to True for business entity {}".format(key))
            update_expression =  update_expression + ', budgetForecastProcessed=:e, budgetForecastProcessedAt=:d'
            expression_attributes[':e'] = True
            expression_attributes[':d'] = str(datetime.utcnow())

        response = budgets_table.update_item(
        Key={'partitionKey': budgets_partition_key, 'rangeKey': value['rangeKey']},
        UpdateExpression = update_expression,
        ExpressionAttributeValues=expression_attributes,
        ReturnValues="UPDATED_NEW")
        logger.info('Successfully Updated accrued Amt for Key: {} with response {}'.format(key, response))
    return True