from calculators.asphalt_domestic import AsphaltDomesticCalculator from calculators.asphalt_imported import AsphaltImportedCalculator from calculators.cement_325 import Cement325Calculator from calculators.cement_425 import Cement425Calculator from calculators.modifier import ModifierCalculator from calculators.oil_0 import Oil0Calculator from calculators.oil_89 import Oil89Calculator from calculators.oil_92 import Oil92Calculator from calculators.steel_plate import SteelPlateCalculator from calculators.steel_rebar_300 import Reber300Calculator from calculators.steel_rebar_400 import Reber400Calculator from calculators.steel_section import SteelSectionCalculator from calculators.steel_strand import SteelStrandCalculator from calculators.asphalt_domestic_modifier import AsphaltDomesticModifierCalculator from calculators.asphalt_imported_modifier import AsphaltImportedModifierCalculator def calculate(year=2023, month=8): """ 计算生成趋势表 """ # todo-1 价格计算触发器 for Calculator in [ AsphaltDomesticCalculator, AsphaltImportedCalculator, Cement325Calculator, Cement425Calculator, Oil0Calculator, Oil89Calculator, Oil92Calculator, SteelPlateCalculator, Reber300Calculator, Reber400Calculator, SteelSectionCalculator, SteelStrandCalculator, ModifierCalculator, AsphaltDomesticModifierCalculator, AsphaltImportedModifierCalculator, ]: calculator = Calculator(year=year, month=month) _result = calculator.run() calculator.save() print(_result) if __name__ == '__main__': from core.factory import ClientApp with ClientApp().app_context(): for i in range(2, 12): calculate(2022, i+1) for i in range(0, 12): calculate(2023, i+1) for i in range(0, 5): calculate(2024, i+1)