refector: 初始化检测录入优化

This commit is contained in:
caoqianming 2023-07-25 11:20:27 +08:00
parent be9011f8f5
commit 13382171de
3 changed files with 29 additions and 9 deletions

View File

@ -0,0 +1,18 @@
# Generated by Django 3.2.12 on 2023-07-25 03:12
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('wpm', '0005_auto_20230724_1118'),
]
operations = [
migrations.AddField(
model_name='stsflog',
name='duration',
field=models.FloatField(blank=True, null=True, verbose_name='停机时长(h)'),
),
]

View File

@ -19,4 +19,11 @@ def make_sflogs(mgroup: Mgroup, start_date: datetime.date, end_date: datetime.da
"end_time": end_time,
"work_hour": round((end_time-start_time).total_seconds/3600)
})
current_date = current_date + datetime.timedelta(days=1)
current_date = current_date + datetime.timedelta(days=1)
def cal_shut_hour():
"""
计算班的停机时间
"""
pass

View File

@ -75,14 +75,9 @@ class SfLogViewSet(UpdateModelMixin, ListModelMixin, DestroyModelMixin, CustomGe
for material in test_materials:
testitems = TestItem.objects.filter(id__in=material.testitems).order_by('sort', '-create_time')
for testitem in testitems:
end_time_local = localtime(obj.end_time)
params = {'type': 'sflog', 'material': material, 'testitem': testitem, 'sflog': obj}
params_default = params.update({'year_s': end_time_local.year, 'month_s': end_time_local.month, 'day_s': end_time_local.day})
ins, _ = QuaStat.objects.get_or_create(**params, defaults=params_default)
if ins.create_by is None:
ins.create_by = request.user
ins.belong_dept = obj.mgroup.belong_dept
ins.save()
params = {'material': material, 'testitem': testitem, 'sflog': obj}
params_default = params.update({'create_by': request.user, 'belong_dept': obj.mgroup.belong_dept})
QuaStat.objects.get_or_create(**params, defaults=params_default)
qs = QuaStat.objects.filter(type='sflog', sflog=obj).order_by('material__sort', 'material__create_time', 'testitem__sort', 'testitem__create_time')
sr = QuaStatSerializer(instance=qs, many=True)
return Response(sr.data)