diff --git a/hb_server/apps/inm/models.py b/hb_server/apps/inm/models.py index 2d74d11..d8235ee 100644 --- a/hb_server/apps/inm/models.py +++ b/hb_server/apps/inm/models.py @@ -88,7 +88,7 @@ class FIFO(CommonADModel): pu_order = models.ForeignKey(PuOrder, verbose_name='关联采购订单', null=True, blank=True, on_delete=models.CASCADE) sale = models.ForeignKey(Sale, verbose_name='关联销售记录', - null=True, blank=True, on_delete=models.CASCADE) + null=True, blank=True, on_delete=models.CASCADE, related_name='fifo_sale') class FIFOItem(BaseModel): diff --git a/hb_server/apps/sam/views_sale.py b/hb_server/apps/sam/views_sale.py index ee7d2b1..4dc31a7 100644 --- a/hb_server/apps/sam/views_sale.py +++ b/hb_server/apps/sam/views_sale.py @@ -164,6 +164,9 @@ class SaleProductViewSet(ListModelMixin, DestroyModelMixin, CreateModelMixin, Ge elif request.method == 'POST': if not obj.sale.is_audited: raise exceptions.APIException('该销售记录未审核,不可装箱') + if obj.sale.fifo_sale.first().is_audited: + raise exceptions.APIException('该销售记录已出库,不可装箱') + serializer = SaleProductPackSerializer(data=request.data) serializer.is_valid(raise_exception=True) vdata = serializer.validated_data @@ -185,6 +188,8 @@ class SaleProductViewSet(ListModelMixin, DestroyModelMixin, CreateModelMixin, Ge obj = self.get_object() if obj.sale.is_audited: raise exceptions.APIException('该销售记录已审核,不可填写备注') + if obj.sale.fifo_sale.first().is_audited: + raise exceptions.APIException('该销售记录已出库,不可装箱') serializer = self.get_serializer(data=request.data) serializer.is_valid(raise_exception=True) vdata = serializer.validated_data