Files
material-api/web/tasks/once/calculate.py
2024-12-09 17:26:32 +08:00

86 lines
3.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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, δ=540mm', '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)