feat:工艺路线Route创建/更新时未指定输出物料且工艺包无产品直接报错,不再静默生成残缺工序;补material_in_type字段供画布按物料真实类型着色
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
c08b220d17
commit
3561a50647
|
|
@ -177,6 +177,8 @@ class RouteSerializer(CustomModelSerializer):
|
|||
process_cate = serializers.CharField(source='process.cate', read_only=True)
|
||||
material_in_name = serializers.StringRelatedField(
|
||||
source='material_in', read_only=True)
|
||||
material_in_type = serializers.CharField(
|
||||
source='material_in.type', read_only=True)
|
||||
material_out_name = serializers.StringRelatedField(
|
||||
source='material_out', read_only=True)
|
||||
material_out_type = serializers.CharField(
|
||||
|
|
@ -268,6 +270,8 @@ class RouteSerializer(CustomModelSerializer):
|
|||
# if material and process and Route.objects.filter(material=material, process=process).exists():
|
||||
# raise ValidationError('已选择该工序!!')
|
||||
|
||||
if not validated_data.get('material_out') and not validated_data.get('material'):
|
||||
raise ParseError('未指定输出物料,且工艺包未设置产品无法自动生成;请指定输出物料,或先在工艺包基本信息中选择产品')
|
||||
instance:Route = super().create(validated_data)
|
||||
material_out = instance.material_out
|
||||
if material_out:
|
||||
|
|
@ -303,6 +307,8 @@ class RouteSerializer(CustomModelSerializer):
|
|||
if material_out_tracking is None:
|
||||
material_out_tracking = Material.MA_TRACKING_BATCH
|
||||
|
||||
if not validated_data.get('material_out', instance.material_out) and not instance.material:
|
||||
raise ParseError('未指定输出物料,且工艺包未设置产品无法自动生成;请指定输出物料,或先在工艺包基本信息中选择产品')
|
||||
instance = super().update(instance, validated_data)
|
||||
material_out = instance.material_out
|
||||
if material_out:
|
||||
|
|
|
|||
Loading…
Reference in New Issue