feat: 优化enstat2
This commit is contained in:
parent
cf10f02829
commit
e94996471f
|
@ -27,6 +27,7 @@ from apps.wpm.tasks import get_total_sec_now, cal_exp_duration_sec
|
|||
from apps.utils.sql import DbConnection
|
||||
from apps.enm.services import db_insert_mplogx_batch
|
||||
from apps.enm.xscript import main
|
||||
from django.core.exceptions import ObjectDoesNotExist
|
||||
myLogger = logging.getLogger("log")
|
||||
|
||||
|
||||
|
@ -685,34 +686,42 @@ def cal_enstat2(type: str, year_s: int, month_s: int, day_s: int, cascade=True):
|
|||
elif type == "day_s":
|
||||
enstat2, _ = EnStat2.objects.get_or_create(type="day_s", year_s=year_s, month_s=month_s, day_s=day_s, defaults={"year_s": year_s, "month_s": month_s, "day_s": day_s, "type": "day_s"})
|
||||
# enstat2 = EnStat2.objects.select_for_update().get(id=enstat2.id) # 加锁
|
||||
material_bulk_clinker = Material.objects.get(code="bulk_clinker") # 散装熟料
|
||||
material_bulk_cement = Material.objects.get(code="bulk_cement") # 散装水泥
|
||||
material_bag_cement = Material.objects.get(code="bag_cement") # 袋装水泥
|
||||
try:
|
||||
material_bulk_clinker = Material.objects.get(code="bulk_clinker") # 散装熟料
|
||||
enstat2.bulk_clinker_price = get_price_unit(material_bulk_clinker, year_s, month_s)
|
||||
except ObjectDoesNotExist:
|
||||
enstat2.bulk_clinker_price = 0
|
||||
try:
|
||||
material_bulk_cement = Material.objects.get(code="bulk_cement") # 散装水泥
|
||||
enstat2.bulk_cement_price = get_price_unit(material_bulk_cement, year_s, month_s)
|
||||
except ObjectDoesNotExist:
|
||||
enstat2.bulk_cement_price = 0
|
||||
try:
|
||||
material_bag_cement = Material.objects.get(code="bag_cement") # 袋装水泥
|
||||
enstat2.bag_cement_price = get_price_unit(material_bag_cement, year_s, month_s)
|
||||
except ObjectDoesNotExist:
|
||||
enstat2.bag_cement_price = 0
|
||||
|
||||
|
||||
enstat2.bulk_cement_price = get_price_unit(material_bulk_cement, year_s, month_s)
|
||||
enstat2.bulk_clinker_price = get_price_unit(material_bulk_clinker, year_s, month_s)
|
||||
enstat2.bag_cement_price = get_price_unit(material_bag_cement, year_s, month_s)
|
||||
|
||||
if type == "month_s":
|
||||
enstat2.bulk_cement_val = MpointStat.objects.filter(type="month_s", mpoint__material=material_bulk_cement, year_s=year_s, month_s=month_s).aggregate(sum=Sum("val"))["sum"]
|
||||
enstat2.bulk_cement_val = MpointStat.objects.filter(type="month_s", mpoint__material__code="bulk_cement", year_s=year_s, month_s=month_s).aggregate(sum=Sum("val"))["sum"]
|
||||
elif type == "day_s":
|
||||
enstat2.bulk_cement_val = MpointStat.objects.filter(type="day_s", mpoint__material=material_bulk_cement, year_s=year_s, month_s=month_s, day_s=day_s).aggregate(sum=Sum("val"))["sum"]
|
||||
enstat2.bulk_cement_val = MpointStat.objects.filter(type="day_s", mpoint__material__code="bulk_cement", year_s=year_s, month_s=month_s, day_s=day_s).aggregate(sum=Sum("val"))["sum"]
|
||||
if enstat2.bulk_cement_val is None:
|
||||
enstat2.bulk_cement_val = 0
|
||||
|
||||
if type == "month_s":
|
||||
enstat2.bag_cement_val = MpointStat.objects.filter(type="month_s", mpoint__material=material_bag_cement, year_s=year_s, month_s=month_s).aggregate(sum=Sum("val"))["sum"]
|
||||
enstat2.bag_cement_val = MpointStat.objects.filter(type="month_s", mpoint__material__code='bag_cement', year_s=year_s, month_s=month_s).aggregate(sum=Sum("val"))["sum"]
|
||||
elif type == "day_s":
|
||||
enstat2.bag_cement_val = MpointStat.objects.filter(type="day_s", mpoint__material=material_bag_cement, year_s=year_s, month_s=month_s, day_s=day_s).aggregate(sum=Sum("val"))["sum"]
|
||||
enstat2.bag_cement_val = MpointStat.objects.filter(type="day_s", mpoint__material__code='bag_cement', year_s=year_s, month_s=month_s, day_s=day_s).aggregate(sum=Sum("val"))["sum"]
|
||||
if enstat2.bag_cement_val is None:
|
||||
enstat2.bag_cement_val = 0
|
||||
|
||||
|
||||
if type == "month_s":
|
||||
enstat2.bulk_clinker_val = MpointStat.objects.filter(type="month_s", mpoint__material=material_bulk_clinker, year_s=year_s, month_s=month_s).aggregate(sum=Sum("val"))["sum"]
|
||||
enstat2.bulk_clinker_val = MpointStat.objects.filter(type="month_s", mpoint__material__code='bulk_clinker', year_s=year_s, month_s=month_s).aggregate(sum=Sum("val"))["sum"]
|
||||
elif type == "day_s":
|
||||
enstat2.bulk_clinker_val = MpointStat.objects.filter(type="day_s", mpoint__material=material_bulk_clinker, year_s=year_s, month_s=month_s, day_s=day_s).aggregate(sum=Sum("val"))["sum"]
|
||||
enstat2.bulk_clinker_val = MpointStat.objects.filter(type="day_s", mpoint__material__code='bulk_clinker', year_s=year_s, month_s=month_s, day_s=day_s).aggregate(sum=Sum("val"))["sum"]
|
||||
if enstat2.bulk_clinker_val is None:
|
||||
enstat2.bulk_clinker_val = 0
|
||||
|
||||
|
|
Loading…
Reference in New Issue