feat:wpr中添加工装(喷码工段需要)
This commit is contained in:
parent
aa8e411a1b
commit
1807004129
|
|
@ -2,7 +2,7 @@ from django.db import models
|
||||||
|
|
||||||
from apps.qm.models import FtestDefect, FtestItem
|
from apps.qm.models import FtestDefect, FtestItem
|
||||||
from apps.utils.models import BaseModel
|
from apps.utils.models import BaseModel
|
||||||
from apps.mtm.models import Material
|
from apps.mtm.models import Material, Tooling
|
||||||
from rest_framework.exceptions import ParseError
|
from rest_framework.exceptions import ParseError
|
||||||
from apps.wpm.models import WmStateOption, Mlogbw, Handoverbw
|
from apps.wpm.models import WmStateOption, Mlogbw, Handoverbw
|
||||||
from apps.utils.tools import update_dict
|
from apps.utils.tools import update_dict
|
||||||
|
|
@ -30,6 +30,7 @@ class Wpr(BaseModel):
|
||||||
oinfo = models.JSONField(verbose_name="其他信息", default=dict, blank=True)
|
oinfo = models.JSONField(verbose_name="其他信息", default=dict, blank=True)
|
||||||
wpr_from = models.ForeignKey("self", verbose_name="来源于", on_delete=models.CASCADE, null=True, blank=True)
|
wpr_from = models.ForeignKey("self", verbose_name="来源于", on_delete=models.CASCADE, null=True, blank=True)
|
||||||
data = models.JSONField(verbose_name="数据", default=dict, blank=True)
|
data = models.JSONField(verbose_name="数据", default=dict, blank=True)
|
||||||
|
tooling = models.ForeignKey(Tooling, verbose_name="工装", on_delete=models.SET_NULL, null=True, blank=True)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def change_or_new(cls, wpr=None, number=None, mb=None, wm=None, old_mb=None, old_wm=None, ftest=None, wpr_from=None, add_version=True, number_out=None):
|
def change_or_new(cls, wpr=None, number=None, mb=None, wm=None, old_mb=None, old_wm=None, ftest=None, wpr_from=None, add_version=True, number_out=None):
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@ class WprSerializer(CustomModelSerializer):
|
||||||
# material_start_name = serializers.StringRelatedField(source='material_start', read_only=True)
|
# material_start_name = serializers.StringRelatedField(source='material_start', read_only=True)
|
||||||
wm_material_ofrom_name = serializers.StringRelatedField(source="wm.material_ofrom", read_only=True)
|
wm_material_ofrom_name = serializers.StringRelatedField(source="wm.material_ofrom", read_only=True)
|
||||||
wprdefect = WprDefectSerializer(many=True, read_only=True)
|
wprdefect = WprDefectSerializer(many=True, read_only=True)
|
||||||
|
tooling_name = serializers.CharField(source="tooling.name", read_only=True, default=None)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Wpr
|
model = Wpr
|
||||||
|
|
@ -55,3 +56,9 @@ class WproutListSerializer(serializers.Serializer):
|
||||||
class WprChangeNumberSerializer(serializers.Serializer):
|
class WprChangeNumberSerializer(serializers.Serializer):
|
||||||
old_number = serializers.CharField(label="原编号")
|
old_number = serializers.CharField(label="原编号")
|
||||||
new_number = serializers.CharField(label="新编号")
|
new_number = serializers.CharField(label="新编号")
|
||||||
|
|
||||||
|
|
||||||
|
class WprPartialUpdateSerializer(CustomModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = Wpr
|
||||||
|
fields = ['tooling']
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
from rest_framework.decorators import action
|
from rest_framework.decorators import action
|
||||||
from apps.utils.viewsets import CustomModelViewSet, CustomGenericViewSet
|
from apps.utils.viewsets import CustomModelViewSet, CustomGenericViewSet
|
||||||
from apps.utils.mixins import CustomListModelMixin, CustomRetrieveModelMixin, ComplexQueryMixin
|
from apps.utils.mixins import CustomListModelMixin, CustomRetrieveModelMixin, ComplexQueryMixin, CustomUpdateModelMixin
|
||||||
|
|
||||||
from apps.wpmw.models import Wpr, WprDefect
|
from apps.wpmw.models import Wpr, WprDefect
|
||||||
from apps.wpmw.serializers import WprSerializer, WprNewSerializer, WprDetailSerializer, WproutListSerializer, WprChangeNumberSerializer
|
from apps.wpmw.serializers import WprSerializer, WprNewSerializer, WprDetailSerializer, WproutListSerializer, WprChangeNumberSerializer, WprPartialUpdateSerializer
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
from apps.mtm.models import Material
|
from apps.mtm.models import Material
|
||||||
from rest_framework.exceptions import ParseError
|
from rest_framework.exceptions import ParseError
|
||||||
|
|
@ -13,14 +13,15 @@ from apps.utils.sql import query_one_dict
|
||||||
from django.db.models.expressions import RawSQL
|
from django.db.models.expressions import RawSQL
|
||||||
|
|
||||||
|
|
||||||
class WprViewSet(CustomListModelMixin, CustomRetrieveModelMixin, ComplexQueryMixin, CustomGenericViewSet):
|
class WprViewSet(CustomUpdateModelMixin, CustomListModelMixin, CustomRetrieveModelMixin, ComplexQueryMixin, CustomGenericViewSet):
|
||||||
"""动态产品
|
"""动态产品
|
||||||
|
|
||||||
动态产品
|
动态产品
|
||||||
"""
|
"""
|
||||||
|
|
||||||
perms_map = {"get": "*"}
|
perms_map = {"get": "*", "patch": "*"}
|
||||||
select_related_fields = ["wm", "mb", "material", "wm__material_ofrom"]
|
partial_update_serializer_class = WprPartialUpdateSerializer
|
||||||
|
select_related_fields = ["wm", "mb", "material", "wm__material_ofrom", "tooling"]
|
||||||
prefetch_related_fields = ["defects"]
|
prefetch_related_fields = ["defects"]
|
||||||
queryset = Wpr.objects.all()
|
queryset = Wpr.objects.all()
|
||||||
serializer_class = WprSerializer
|
serializer_class = WprSerializer
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue