forked from erp-dev/erp
feat: running on docker fully, and added rabbitmq/worker container
This commit is contained in:
@@ -12,8 +12,15 @@ class ProductStockChangeSerializer(serializers.Serializer):
|
||||
quantity = serializers.ListField(
|
||||
child=serializers.DecimalField(max_digits=10, decimal_places=2, min_value=Decimal('0.01')),
|
||||
min_length=1,
|
||||
required=False,
|
||||
help_text="数量列表,每个数量对应一条明细记录"
|
||||
)
|
||||
consume_with = serializers.ListField(
|
||||
child=serializers.IntegerField(min_value=1),
|
||||
required=False,
|
||||
allow_empty=False,
|
||||
help_text="严进严出模式(出库)指定的入库明细ID列表"
|
||||
)
|
||||
|
||||
def validate_product(self, value: int) -> int:
|
||||
"""验证产品是否存在"""
|
||||
@@ -23,6 +30,11 @@ class ProductStockChangeSerializer(serializers.Serializer):
|
||||
raise serializers.ValidationError(f"产品ID {value} 不存在")
|
||||
return value
|
||||
|
||||
def validate_consume_with(self, value: List[int]) -> List[int]:
|
||||
if len(value) != len(set(value)):
|
||||
raise serializers.ValidationError("consume_with 中存在重复的入库明细ID")
|
||||
return value
|
||||
|
||||
|
||||
class CreateStockChangeSerializer(serializers.Serializer):
|
||||
"""创建库存变动记录序列化器"""
|
||||
@@ -115,12 +127,14 @@ class StockChangeDetailResponseSerializer(serializers.ModelSerializer):
|
||||
"""库存变动明细响应序列化器"""
|
||||
product_name = serializers.CharField(source='product.name', read_only=True)
|
||||
unit_display = serializers.CharField(source='get_unit_display', read_only=True)
|
||||
consume_with_id = serializers.IntegerField(read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = stock_models.StockChangeDetail
|
||||
fields = [
|
||||
'id', 'product', 'product_name', 'quantity',
|
||||
'unit', 'unit_display', 'stock_change_record'
|
||||
'unit', 'unit_display', 'stock_change_record',
|
||||
'is_consumed', 'consume_with_id',
|
||||
]
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user