diff --git a/hb_server/apps/inm/filters.py b/hb_server/apps/inm/filters.py index 09f8777..cd03941 100644 --- a/hb_server/apps/inm/filters.py +++ b/hb_server/apps/inm/filters.py @@ -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'] \ No newline at end of file + fields = ['material', 'warehouse', 'batch', 'order', 'material__type'] \ No newline at end of file diff --git a/hb_server/apps/inm/models.py b/hb_server/apps/inm/models.py index 8937211..c03940c 100644 --- a/hb_server/apps/inm/models.py +++ b/hb_server/apps/inm/models.py @@ -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): diff --git a/hb_server/apps/inm/serializers.py b/hb_server/apps/inm/serializers.py index eb94f33..a05e3c1 100644 --- a/hb_server/apps/inm/serializers.py +++ b/hb_server/apps/inm/serializers.py @@ -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'] \ No newline at end of file diff --git a/hb_server/apps/inm/signals.py b/hb_server/apps/inm/signals.py index 00b1692..59df461 100644 --- a/hb_server/apps/inm/signals.py +++ b/hb_server/apps/inm/signals.py @@ -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) diff --git a/hb_server/apps/inm/views.py b/hb_server/apps/inm/views.py index 85cbe4c..3fc15d8 100644 --- a/hb_server/apps/inm/views.py +++ b/hb_server/apps/inm/views.py @@ -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() \ No newline at end of file + ordering = ['-create_time'] \ No newline at end of file