feat: 交接记录返回material_changed_fname

This commit is contained in:
caoqianming 2025-11-11 10:00:03 +08:00
parent acf09d0056
commit aa62b04fcf
3 changed files with 9 additions and 3 deletions

View File

@ -119,6 +119,10 @@ class Material(CommonAModel):
def __str__(self):
return f'{self.name}|{self.specification if self.specification else ""}|{self.model if self.model else ""}|{self.process.name if self.process else ""}'
@property
def fname(self):
return f'{self.name}|{self.specification if self.specification else ""}|{self.model if self.model else ""}|{self.process.name if self.process else ""}'
class Shift(CommonBModel):
"""TN:班次

View File

@ -1182,6 +1182,7 @@ class HandoverSerializer(CustomModelSerializer):
material_ = MaterialSimpleSerializer(source='material', read_only=True)
material_name = serializers.StringRelatedField(
source='material', read_only=True)
material_changed_fname = serializers.CharField(source='material_changed.fname', read_only=True)
wm_notok_sign = serializers.CharField(source='wm.notok_sign', read_only=True)
handoverb = HandoverbSerializer(many=True, required=False)
ticket_ = TicketSimpleSerializer(source='ticket', read_only=True)
@ -1197,7 +1198,8 @@ class HandoverSerializer(CustomModelSerializer):
if "material_changed" not in attrs:
raise ParseError("必须指定改版后的物料")
if attrs["mtype"] == Handover.H_MERGE:
mtype = attrs["mtype"]
if mtype == Handover.H_MERGE:
new_state = None
new_wm:WMaterial = attrs.get("new_wm", None)
if new_wm:

View File

@ -524,7 +524,7 @@ class HandoverViewSet(CustomModelViewSet):
queryset = Handover.objects.all()
list_serializer_class = HandoverListSerializer
serializer_class = HandoverSerializer
select_related_fields = ["send_user", "send_mgroup", "send_dept", "recive_user", "recive_mgroup", "recive_dept", "wm"]
select_related_fields = ["send_user", "send_mgroup", "send_dept", "recive_user", "recive_mgroup", "recive_dept", "wm", "material_changed"]
filterset_class = HandoverFilter
search_fields = ["id", "material__name", "material__number", "material__specification", "batch", "material__model", "b_handover__batch", "new_batch", "wm__batch"]
prefetch_related_fields = [Prefetch("b_handover", queryset=Handoverb.objects.select_related("wm__defect"))]