去除is_mtested字段

This commit is contained in:
caoqianming 2022-01-24 14:31:07 +08:00
parent 444914fde9
commit c39d62c9a5
6 changed files with 10 additions and 15 deletions

View File

@ -51,7 +51,6 @@ class MaterialBatchSerializer(serializers.ModelSerializer):
class IProductListSerializer(serializers.ModelSerializer):
material_ = MaterialSimpleSerializer(source='material', read_only=True)
warehouse_ = WareHouseSimpleSerializer(source='warehouse', read_only=True)
is_mtested = serializers.BooleanField(source='wproduct.is_mtested', read_only=True)
is_mtestok = serializers.BooleanField(source='wproduct.is_mtestok', read_only=True)
remark_mtest = serializers.CharField(source='wproduct.remark_mtest', read_only=True)

View File

@ -63,7 +63,7 @@ class OrderSimpleSerializer(serializers.ModelSerializer):
customer_ = CustomerSimpleSerializer(source='customer', read_only=True)
class Meta:
model = Order
fields = '__all__'
fields = ['id', 'number', 'contract_', 'customer_', 'need_test']
class SaleCreateSerializer(serializers.ModelSerializer):
iproducts = serializers.PrimaryKeyRelatedField(queryset=IProduct.objects.all(), many=True)

View File

@ -136,13 +136,6 @@ class SaleViewSet(CreateUpdateCustomMixin, ListModelMixin, RetrieveModelMixin, C
fifo.inout_date = timezone.now()
fifo.create_by = request.user
fifo.save()
# 出库条目 暂时不校验是否军检
# spds = SaleProduct.objects.filter(sale=obj)
# for i in spds:
# if i.is_mtested and i.is_mtestok:
# pass
# else:
# raise exceptions.APIException('存在未军检产品')
# 创建出库条目
ips = IProduct.objects.filter(sale_iproduct__sale=obj)
items = ips.values('warehouse', 'material', 'batch').annotate(total=Count('id'))

View File

@ -120,7 +120,6 @@ class WProduct(CommonAModel):
on_delete=models.SET_NULL, null=True, blank=True, related_name='wp_ticket')
to_order = models.ForeignKey('sam.order', verbose_name='指派的订单', null=True, blank=True, on_delete = models.CASCADE)
is_mtested = models.BooleanField('是否军检', default=False)
is_mtestok = models.BooleanField('是否军检合格', null=True, blank=True)
remark_mtest = models.TextField('军检备注', null=True, blank=True)
last_test_result = models.BooleanField('最后一次检验结果', null=True, blank=True)
@ -194,7 +193,6 @@ class WproductFlow(CommonAModel):
ticket = models.ForeignKey('wf.ticket', verbose_name='当前工单',
on_delete=models.SET_NULL, null=True, blank=True)
to_order = models.ForeignKey('sam.order', verbose_name='指派的订单', null=True, blank=True, on_delete = models.CASCADE)
is_mtested = models.BooleanField('是否军检', default=False)
is_mtestok = models.BooleanField('是否军检合格', null=True, blank=True)
remark_mtest = models.TextField('军检备注', null=True, blank=True)
last_test_result = models.BooleanField('最后一次检验结果', null=True, blank=True)

View File

@ -157,7 +157,7 @@ class WProductListSerializer(serializers.ModelSerializer):
warehouse_ = WareHouseSimpleSerializer(source='warehouse', read_only=True)
children = serializers.SerializerMethodField()
to_order_ = OrderSimpleSerializer(source='to_order', read_only=True)
order_ = OrderSimpleSerializer(source='subproduction_plan__production_plan__order', read_only=True)
order_ = serializers.SerializerMethodField()
class Meta:
model = WProduct
fields = '__all__'
@ -167,6 +167,11 @@ class WProductListSerializer(serializers.ModelSerializer):
if wps.exists():
return WProductBaseSerializer(instance=wps, many=True).data
return []
def get_order_(self, obj):
order = Order.objects.select_related('contract', 'customer').filter(
plan_order__subplan_plan__wproduct_subplan=obj).first()
return OrderSimpleSerializer(instance=order).data
class WProductCardBaseSerializer(serializers.ModelSerializer):
"""
@ -225,6 +230,8 @@ class WProductDetailSerializer(serializers.ModelSerializer):
subproduction_plan_ = SubproductionPlanSimpleSerializer(source='subproduction_plan', read_only=True)
warehouse_ = WareHouseSimpleSerializer(source='warehouse', read_only=True)
children = serializers.SerializerMethodField()
to_order_ = OrderSimpleSerializer(source='to_order', read_only=True)
order_ = OrderSimpleSerializer(source='subproduction_plan__production_plan__order', read_only=True)
class Meta:
model = WProduct
fields = '__all__'
@ -232,7 +239,6 @@ class WProductDetailSerializer(serializers.ModelSerializer):
def get_children(self, obj):
wps = WProduct.objects.filter(child=obj)
if wps.exists():
print(wps)
return WProductBaseSerializer(instance=wps, many=True).data
return []

View File

@ -399,12 +399,11 @@ class WProductViewSet(ListModelMixin, RetrieveModelMixin, GenericViewSet):
军检
"""
obj = self.get_object()
if obj.is_mtested:
if obj.is_mtestok is None:
raise exceptions.APIException('已进行军检')
if obj.material.type != Material.MA_TYPE_GOOD:
raise exceptions.APIException('军检必须是成品')
obj.remark_mtest = request.data.get('remark_mtest', None)
obj.is_mtested = True
is_mtestok = request.data.get('is_mtestok')
obj.is_mtestok = is_mtestok
if is_mtestok: