diff --git a/apps/mtm/views.py b/apps/mtm/views.py index 6017b495..5f3d4788 100644 --- a/apps/mtm/views.py +++ b/apps/mtm/views.py @@ -79,7 +79,20 @@ class MaterialViewSet(CustomModelViewSet): 'week_esitimate_consume', None) obj.save() return Response() - + + @action(methods=['put'], detail=True, serializer_class=Serializer, perms_map={'put': '*'}) + @transaction.atomic + def set_safe(self, request, *args, **kwargs): + """设置安全库存上下限 + + count_safe 为下限, count_safe_upper 为上限 + """ + obj: Material = self.get_object() + obj.count_safe = request.data.get('count_safe', None) + obj.count_safe_upper = request.data.get('count_safe_upper', None) + obj.save(update_fields=['count_safe', 'count_safe_upper', 'update_time']) + return Response() + @action(methods=['get'], detail=False, serializer_class=Serializer, perms_map={'get': '*'}) def cates(self, request, *args, **kwargs): res = Material.objects.exclude(cate='').exclude(cate=None).values_list('cate', flat=True).distinct()