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): """ 计算生成趋势表 """ from calculators import Calculator for material_id, name, spec, unit in [ ['2001001', 'HPB300钢筋', '', 't'], ['2001002', 'HRB400钢筋', '', 't'], ['2001008', '钢绞线', '普通,无松弛,Φ15.24', 't'], ['2003004', '型钢', '工字钢, 角钢 Ⅰ20', 't'], ['2003005', '钢板', 'A3, δ=5~40mm', 't'], ['2003005001', '钢板', 'Q355', 't'], ['5509001', '32.5级水泥', '旋窑', 't'], ['5509002', '42.5级水泥', '旋窑', 't'], ['5509003', '52.5级水泥', '', 't'], ['3001001002', '石油沥青', '国产', 't'], ['3001001001', '石油沥青', '进口', 't'], ['3001002002', '改性石油沥青', '进口', 't'], ['3001002001', '改性石油沥青', '国产', 't'], ['3003002001', '汽油', '89#', 'kg'], ['3003002002', '汽油', '92#', 'kg'], ['3003003', '柴油', '0#', 'kg'], ]: calculator = Calculator(year=year, month=month) calculator.name = name calculator.material_id = material_id calculator.unit = unit calculator.spec = spec _result = calculator.run() calculator.save() print(_result) # # 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(6, 9): calculate(2024, i+1)