def run_project_calculations(self):
        self.timer.start()  # use log.time_message
        tool_box = INTEG4KPIToolBox(self.data_provider, self.output)
        kpi_set_name = tool_box.set_name
        if kpi_set_name == CANTEEN:
            INTEG4CanteenCalculations(self.data_provider, self.output).main_function()
        elif kpi_set_name == PETROL:
            INTEG4PetrolCalculations(self.data_provider, self.output).main_function()
        elif kpi_set_name == HORECA:
            INTEG4HoReCaCalculations(self.data_provider, self.output).main_function()
        elif kpi_set_name == FT:
            INTEG4FTCalculations(self.data_provider, self.output).main_function()
        elif kpi_set_name == HYPERMARKET:
            INTEG4HypermarketCalculations(self.data_provider, self.output).main_function()
        elif kpi_set_name == SUPERMARKET:
            INTEG4SupermarketCalculations(self.data_provider, self.output).main_function()
        elif kpi_set_name == SUPERETTE:
            INTEG4SuperetteCalculations(self.data_provider, self.output).main_function()
        elif kpi_set_name == FAST_FOOD:
            INTEG4FastFoodCalculations(self.data_provider, self.output).main_function()
        else:
            Log.error('Session store "{}" is not set to calculation'.format(
                tool_box.session_info.store_type))  # todo add all supported store types

        self.timer.stop('INTEG4Calculations.run_project_calculations')
Beispiel #2
0
    def __init__(self, data_provider, output):  #All relevant session data with KPI static info will trigger the KPI calculation
        self.k_engine = BaseCalculationsGroup(data_provider, output)
        self.data_provider = data_provider
        self.project_name = data_provider.project_name
        self.output = output
        self.session_uid = self.data_provider.session_uid
        self.visit_date = self.data_provider[Data.VISIT_DATE]
        self.rds_conn = PSProjectConnector(self.project_name, DbUsers.CalculationEng)
        self.session_info = SessionInfo(data_provider)
        self.store_id = self.data_provider[Data.STORE_FK]
        self.tool_box = INTEG4KPIToolBox(self.data_provider, self.output, FT)

        self.results = {}