feat: mioitem 返回信息时展示组合件信息
This commit is contained in:
parent
7d2fee8409
commit
884b10d6bc
|
@ -30,6 +30,15 @@ class MaterialBatchAListSerializer(CustomModelSerializer):
|
||||||
fields = ['material', 'batch', 'rate', 'mb', 'id', 'material_']
|
fields = ['material', 'batch', 'rate', 'mb', 'id', 'material_']
|
||||||
|
|
||||||
|
|
||||||
|
class MaterialBatchAListSerializer2(CustomModelSerializer):
|
||||||
|
material_name = serializers.StringRelatedField(
|
||||||
|
source='material', read_only=True)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = MIOItemA
|
||||||
|
fields = ['material', 'batch', 'rate', 'mb',
|
||||||
|
'id', 'material_', 'material_name']
|
||||||
|
|
||||||
class MaterialBatchSerializer(CustomModelSerializer):
|
class MaterialBatchSerializer(CustomModelSerializer):
|
||||||
warehouse_name = serializers.CharField(
|
warehouse_name = serializers.CharField(
|
||||||
source='warehouse.name', read_only=True)
|
source='warehouse.name', read_only=True)
|
||||||
|
@ -209,15 +218,14 @@ class MIOItemAListSerializer(CustomModelSerializer):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = MIOItemA
|
model = MIOItemA
|
||||||
fields = ['material', 'batch', 'rate', 'mioitem',
|
fields = "__all__"
|
||||||
'id', 'material_', 'material_name']
|
read_only_fields = EXCLUDE_FIELDS_BASE
|
||||||
|
|
||||||
|
|
||||||
class MIOItemSerializer(CustomModelSerializer):
|
class MIOItemSerializer(CustomModelSerializer):
|
||||||
warehouse_name = serializers.CharField(source='warehouse.name', read_only=True)
|
warehouse_name = serializers.CharField(source='warehouse.name', read_only=True)
|
||||||
material_ = MaterialSerializer(source='material', read_only=True)
|
material_ = MaterialSerializer(source='material', read_only=True)
|
||||||
assemb = MIOItemAListSerializer(
|
assemb = serializers.SerializerMethodField(label="组合件信息")
|
||||||
source='a_mioitem', read_only=True, many=True)
|
|
||||||
material_name = serializers.StringRelatedField(
|
material_name = serializers.StringRelatedField(
|
||||||
source='material', read_only=True)
|
source='material', read_only=True)
|
||||||
inout_date = serializers.DateField(source='mio.inout_date', read_only=True)
|
inout_date = serializers.DateField(source='mio.inout_date', read_only=True)
|
||||||
|
@ -235,6 +243,15 @@ class MIOItemSerializer(CustomModelSerializer):
|
||||||
ret["price"] = Decimal(ret["count"]) * Decimal(ret["unit_price"])
|
ret["price"] = Decimal(ret["count"]) * Decimal(ret["unit_price"])
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
def get_assemb(self, obj):
|
||||||
|
qs = MIOItemA.objects.filter(mioitem=obj)
|
||||||
|
if qs.exists():
|
||||||
|
return MIOItemAListSerializer(qs, many=True).data
|
||||||
|
elif obj.mb and obj.mb.material.is_assemb:
|
||||||
|
return MaterialBatchAListSerializer2(MaterialBatchA.objects.filter(mb=obj.mb), many=True).data
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
class MioItemDetailSerializer(MIOItemSerializer):
|
class MioItemDetailSerializer(MIOItemSerializer):
|
||||||
mio_ = MIOListSerializer(source='mio', read_only=True)
|
mio_ = MIOListSerializer(source='mio', read_only=True)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue