feat: 完善equip_last_mlog5

This commit is contained in:
caoqianming 2024-09-09 15:03:38 +08:00
parent 1b6e947492
commit 9a26529e0a
1 changed files with 18 additions and 3 deletions

View File

@ -1,7 +1,7 @@
from apps.utils.viewsets import GenericViewSet from apps.utils.viewsets import GenericViewSet
from rest_framework.decorators import action from rest_framework.decorators import action
from apps.em.models import Equipment from apps.em.models import Equipment
from apps.wpm.models import Mlog, Mlogb from apps.wpm.models import Mlog, Handover
from apps.mtm.models import Mgroup from apps.mtm.models import Mgroup
from django.utils import timezone from django.utils import timezone
from django.db.models import Sum from django.db.models import Sum
@ -35,7 +35,7 @@ class AnaViewSet(GenericViewSet):
equip_qs_v = equip_qs.values('id', 'name', 'number', 'state').order_by('number') equip_qs_v = equip_qs.values('id', 'name', 'number', 'state').order_by('number')
equip_qs_l = list(equip_qs_v) equip_qs_l = list(equip_qs_v)
# 设备最后生产日志 # 设备最后生产日志
mlog_qs = Mlog.objects.filter(equipment__in=equip_qs) mlog_qs = Mlog.objects.filter(equipment__in=equip_qs, mgroup=mgroup)
mlog_qs = mlog_qs | Mlog.objects.filter(work_start_time__lte=now, work_end_time__isnull=True) mlog_qs = mlog_qs | Mlog.objects.filter(work_start_time__lte=now, work_end_time__isnull=True)
mlog_qs = mlog_qs | Mlog.objects.filter(work_start_time__lte=now, work_end_time__gte=now) mlog_qs = mlog_qs | Mlog.objects.filter(work_start_time__lte=now, work_end_time__gte=now)
mlog_qs = mlog_qs.annotate(t_count_use=Sum('b_mlog__count_use')) mlog_qs = mlog_qs.annotate(t_count_use=Sum('b_mlog__count_use'))
@ -77,3 +77,18 @@ class AnaViewSet(GenericViewSet):
ret["rows"] = equip_qs_l ret["rows"] = equip_qs_l
return Response(ret) return Response(ret)
@action(methods=['post'], detail=False, perms_map={'post': '*'}, serializer_class=Serializer)
def put_prod(self, request):
"""
投产分析
"""
tomorrow = datetime.now() + timedelta(days=1)
for i in range(8):
timex = tomorrow - timedelta(days=i)
mgroup: Mgroup = Mgroup.objects.get(name='退火')
# 子状态
mstate_json = mgroup.process.mstate_json
# 生产记录
handover_qs = Handover.objects.filter(material__process=mgroup.process, send_mgroup=mgroup, type=Handover.H_NORMAL)
pass