diff --git a/apps/qm/views.py b/apps/qm/views.py index c1440015..c6c29bf2 100644 --- a/apps/qm/views.py +++ b/apps/qm/views.py @@ -42,6 +42,4 @@ class QuaStatViewSet(ListModelMixin, BulkUpdateModelMixin, CustomGenericViewSet) ins = serializer.save() if ins.sflog: # 更新值班记录的质检时间 ins.sflog.last_test_time = datetime.datetime.now() - ins.sflog.save() - # 计算其他方面的统计 - cal_quastat.delay(ins.id) \ No newline at end of file + ins.sflog.save() \ No newline at end of file diff --git a/apps/wpm/views.py b/apps/wpm/views.py index a57c2328..86bf0b72 100644 --- a/apps/wpm/views.py +++ b/apps/wpm/views.py @@ -71,12 +71,10 @@ class SfLogViewSet(UpdateModelMixin, ListModelMixin, DestroyModelMixin, CustomGe from apps.qm.models import QuaStat, TestItem from apps.qm.serializers import QuaStatSerializer obj = self.get_object() - test_materials = obj.mgroup.test_materials - for mid in test_materials: - material = Material.objects.get(id=mid) - testitems = material.testitems - for tid in testitems: - testitem = TestItem.objects.get(id=tid) + test_materials = Material.objects.filter(id__in=obj.mgroup.test_materials).order_by('sort', '-create_time') + 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}) @@ -85,7 +83,7 @@ class SfLogViewSet(UpdateModelMixin, ListModelMixin, DestroyModelMixin, CustomGe ins.create_by = request.user ins.belong_dept = obj.mgroup.belong_dept ins.save() - qs = QuaStat.objects.filter(type='sflog', sflog=obj) + 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)