feat: wproducts统一用wprs
This commit is contained in:
parent
def67ebac5
commit
37a6f37af5
|
@ -119,12 +119,12 @@ class MIOItemwTestSerializer(CustomModelSerializer):
|
||||||
class MIOItemCreateSerializer(CustomModelSerializer):
|
class MIOItemCreateSerializer(CustomModelSerializer):
|
||||||
assemb = MIOItemACreateSerializer(
|
assemb = MIOItemACreateSerializer(
|
||||||
label='组合件信息', many=True, write_only=True, required=False)
|
label='组合件信息', many=True, write_only=True, required=False)
|
||||||
wproducts = MIOItemwCreateSerializer(many=True, required=False)
|
wprs = MIOItemwCreateSerializer(many=True, required=False)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = MIOItem
|
model = MIOItem
|
||||||
fields = ['mio', 'warehouse', 'material',
|
fields = ['mio', 'warehouse', 'material',
|
||||||
'batch', 'count', 'assemb', 'is_testok', 'wproducts']
|
'batch', 'count', 'assemb', 'is_testok', 'wprs']
|
||||||
|
|
||||||
def create(self, validated_data):
|
def create(self, validated_data):
|
||||||
mio = validated_data['mio']
|
mio = validated_data['mio']
|
||||||
|
@ -143,7 +143,7 @@ class MIOItemCreateSerializer(CustomModelSerializer):
|
||||||
count = validated_data["count"]
|
count = validated_data["count"]
|
||||||
batch = validated_data["batch"]
|
batch = validated_data["batch"]
|
||||||
assemb = validated_data.pop('assemb', [])
|
assemb = validated_data.pop('assemb', [])
|
||||||
wproducts = validated_data.pop('wproducts', [])
|
wprs = validated_data.pop('wprs', [])
|
||||||
instance = super().create(validated_data)
|
instance = super().create(validated_data)
|
||||||
assemb_dict = {}
|
assemb_dict = {}
|
||||||
for i in assemb:
|
for i in assemb:
|
||||||
|
@ -158,12 +158,12 @@ class MIOItemCreateSerializer(CustomModelSerializer):
|
||||||
else:
|
else:
|
||||||
raise ParseError('缺少组合件')
|
raise ParseError('缺少组合件')
|
||||||
if material.tracking == Material.MA_TRACKING_SINGLE:
|
if material.tracking == Material.MA_TRACKING_SINGLE:
|
||||||
if count == 1 and len(wproducts) == 0:
|
if count == 1 and len(wprs) == 0:
|
||||||
MIOItemw.objects.create(mioitem=instance, number=batch)
|
MIOItemw.objects.create(mioitem=instance, number=batch)
|
||||||
elif count == 1 and len(wproducts) >= 1:
|
elif count == 1 and len(wprs) >= 1:
|
||||||
MIOItemw.objects.create(mioitem=instance, number=wproducts[0]['number'], note=wproducts[0]['note'])
|
MIOItemw.objects.create(mioitem=instance, number=wprs[0]['number'], note=wprs[0]['note'])
|
||||||
elif count > 1 and len(wproducts) == count:
|
elif count > 1 and len(wprs) == count:
|
||||||
for w in wproducts:
|
for w in wprs:
|
||||||
MIOItemw.objects.create(mioitem=instance, number=w['number'], note=w['note'])
|
MIOItemw.objects.create(mioitem=instance, number=w['number'], note=w['note'])
|
||||||
else:
|
else:
|
||||||
raise ParseError('单个明细信息不匹配')
|
raise ParseError('单个明细信息不匹配')
|
||||||
|
@ -191,7 +191,7 @@ class MIOItemSerializer(CustomModelSerializer):
|
||||||
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)
|
||||||
test_user_name = serializers.CharField(source='test_user.name', read_only=True)
|
test_user_name = serializers.CharField(source='test_user.name', read_only=True)
|
||||||
wproducts = MIOItemwSerializer(source='w_mioitem', read_only=True, many=True)
|
wprs = MIOItemwSerializer(source='w_mioitem', read_only=True, many=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = MIOItem
|
model = MIOItem
|
||||||
|
|
|
@ -17,7 +17,8 @@ from apps.inm.serializers import (
|
||||||
MIOItemwSerializer, MIOItemwTestSerializer)
|
MIOItemwSerializer, MIOItemwTestSerializer)
|
||||||
from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet
|
from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet
|
||||||
from apps.inm.services import InmService, daoru_mb
|
from apps.inm.services import InmService, daoru_mb
|
||||||
from apps.utils.mixins import BulkCreateModelMixin, BulkDestroyModelMixin, BulkUpdateModelMixin
|
from apps.utils.mixins import (BulkCreateModelMixin, BulkDestroyModelMixin, BulkUpdateModelMixin,
|
||||||
|
CustomListModelMixin)
|
||||||
from apps.utils.permission import has_perm
|
from apps.utils.permission import has_perm
|
||||||
from .filters import MaterialBatchFilter, MioFilter
|
from .filters import MaterialBatchFilter, MioFilter
|
||||||
|
|
||||||
|
@ -213,7 +214,7 @@ class MIOViewSet(CustomModelViewSet):
|
||||||
return Response()
|
return Response()
|
||||||
|
|
||||||
|
|
||||||
class MIOItemViewSet(ListModelMixin, BulkCreateModelMixin, BulkDestroyModelMixin, CustomGenericViewSet):
|
class MIOItemViewSet(CustomListModelMixin, BulkCreateModelMixin, BulkDestroyModelMixin, CustomGenericViewSet):
|
||||||
"""
|
"""
|
||||||
list: 出入库明细
|
list: 出入库明细
|
||||||
|
|
||||||
|
@ -235,6 +236,10 @@ class MIOItemViewSet(ListModelMixin, BulkCreateModelMixin, BulkDestroyModelMixin
|
||||||
}
|
}
|
||||||
ordering = ['create_time']
|
ordering = ['create_time']
|
||||||
|
|
||||||
|
def add_info_for_list(self, data):
|
||||||
|
|
||||||
|
return data
|
||||||
|
|
||||||
def perform_destroy(self, instance):
|
def perform_destroy(self, instance):
|
||||||
if instance.mio.state != MIO.MIO_CREATE:
|
if instance.mio.state != MIO.MIO_CREATE:
|
||||||
raise ParseError('出入库记录非创建中不可删除')
|
raise ParseError('出入库记录非创建中不可删除')
|
||||||
|
|
Loading…
Reference in New Issue