iproduct 去除军检
This commit is contained in:
parent
e4bce6b453
commit
7d033ca12c
|
@ -14,4 +14,4 @@ class IProductFilterSet(filters.FilterSet):
|
|||
order = filters.NumberFilter(field_name="wproduct__subproduction_plan__production_plan__order")
|
||||
class Meta:
|
||||
model = IProduct
|
||||
fields = ['material', 'warehouse', 'batch', 'order', 'is_mtested', 'is_mtestok', 'material__type']
|
||||
fields = ['material', 'warehouse', 'batch', 'order', 'material__type']
|
|
@ -94,9 +94,6 @@ class IProduct(BaseModel):
|
|||
batch = models.CharField('所属批次号', max_length=100, default='')
|
||||
wproduct = models.ForeignKey('wpm.wproduct', on_delete=models.CASCADE, verbose_name='关联的动态产品', db_constraint=False,
|
||||
null=True, blank=True, related_name='iproduct_wproduct')
|
||||
is_mtested = models.BooleanField('是否军检', default=False)
|
||||
is_mtestok = models.BooleanField('是否军检合格', null=True, blank=True)
|
||||
remark_mtest = models.TextField('军检备注', null=True, blank=True)
|
||||
is_saled = models.BooleanField('是否售出', default=False)
|
||||
|
||||
class FIFOItemProduct(BaseModel):
|
||||
|
|
|
@ -40,6 +40,9 @@ 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)
|
||||
class Meta:
|
||||
model = IProduct
|
||||
fields = '__all__'
|
||||
|
@ -148,8 +151,3 @@ class InmTestRecordCreateSerializer(serializers.ModelSerializer):
|
|||
model = TestRecord
|
||||
fields = ['form', 'record_data', 'is_testok', 'fifo_item']
|
||||
|
||||
|
||||
class IProductMtestSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = IProduct
|
||||
fields = ['remark_mtest', 'is_mtestok']
|
|
@ -34,9 +34,6 @@ def update_inm(instance:FIFO, type:int=1):
|
|||
ip['wproduct'] = wp
|
||||
ip['number'] = m.number
|
||||
ip['material'] = m.material
|
||||
ip['is_mtested'] = wp.is_mtested
|
||||
ip['is_mtestok'] = wp.is_mtestok
|
||||
ip['remark_mtest'] = wp.remark_mtest
|
||||
ips2.append(IProduct(**ip))
|
||||
IProduct.objects.bulk_create(ips2)
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ from rest_framework.viewsets import GenericViewSet, ModelViewSet
|
|||
from apps.inm.filters import IProductFilterSet, MbFilterSet
|
||||
|
||||
from apps.inm.models import FIFO, FIFOItem, IProduct, MaterialBatch, WareHouse,Inventory
|
||||
from apps.inm.serializers import FIFOItemSerializer, FIFOInPurSerializer, FIFOListSerializer, IProductListSerializer, IProductMtestSerializer, InmTestRecordCreateSerializer, MaterialBatchQuerySerializer, MaterialBatchSerializer, WareHouseSerializer, WareHouseCreateUpdateSerializer,InventorySerializer
|
||||
from apps.inm.serializers import FIFOItemSerializer, FIFOInPurSerializer, FIFOListSerializer, IProductListSerializer, InmTestRecordCreateSerializer, MaterialBatchQuerySerializer, MaterialBatchSerializer, WareHouseSerializer, WareHouseCreateUpdateSerializer,InventorySerializer
|
||||
from apps.inm.signals import update_inm
|
||||
from apps.mtm.models import Material
|
||||
from apps.pm.services import PmService
|
||||
|
@ -171,25 +171,4 @@ class IProductViewSet(ListModelMixin, GenericViewSet):
|
|||
filterset_class = IProductFilterSet
|
||||
search_fields = []
|
||||
ordering_fields = ['create_time']
|
||||
ordering = ['-create_time']
|
||||
|
||||
@action(methods=['post'], detail=True, perms_map={'post':'*'}, serializer_class=IProductMtestSerializer)
|
||||
@transaction.atomic
|
||||
def mtest(self, request, pk=None):
|
||||
"""
|
||||
军检
|
||||
"""
|
||||
obj = self.get_object()
|
||||
if obj.is_mtested:
|
||||
raise exceptions.APIException('已进行军检')
|
||||
if obj.wproduct:
|
||||
if obj.wproduct.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:
|
||||
WpmServies.update_plan_state_by_mtestok(obj.wproduct.subproduction_plan.production_plan)
|
||||
obj.save()
|
||||
return Response()
|
||||
ordering = ['-create_time']
|
Loading…
Reference in New Issue