Compare commits
No commits in common. "1c203325fcb6d8d58fe9c0c306b360753771ecd3" and "c08b220d173ad5507c837af62b5c7f3ba1e7a4da" have entirely different histories.
1c203325fc
...
c08b220d17
|
|
@ -177,8 +177,6 @@ class RouteSerializer(CustomModelSerializer):
|
||||||
process_cate = serializers.CharField(source='process.cate', read_only=True)
|
process_cate = serializers.CharField(source='process.cate', read_only=True)
|
||||||
material_in_name = serializers.StringRelatedField(
|
material_in_name = serializers.StringRelatedField(
|
||||||
source='material_in', read_only=True)
|
source='material_in', read_only=True)
|
||||||
material_in_type = serializers.CharField(
|
|
||||||
source='material_in.type', read_only=True)
|
|
||||||
material_out_name = serializers.StringRelatedField(
|
material_out_name = serializers.StringRelatedField(
|
||||||
source='material_out', read_only=True)
|
source='material_out', read_only=True)
|
||||||
material_out_type = serializers.CharField(
|
material_out_type = serializers.CharField(
|
||||||
|
|
@ -270,8 +268,6 @@ class RouteSerializer(CustomModelSerializer):
|
||||||
# if material and process and Route.objects.filter(material=material, process=process).exists():
|
# if material and process and Route.objects.filter(material=material, process=process).exists():
|
||||||
# raise ValidationError('已选择该工序!!')
|
# raise ValidationError('已选择该工序!!')
|
||||||
|
|
||||||
if not validated_data.get('material_out') and not validated_data.get('material'):
|
|
||||||
raise ParseError('未指定输出物料,且工艺包未设置产品无法自动生成;请指定输出物料,或先在工艺包基本信息中选择产品')
|
|
||||||
instance:Route = super().create(validated_data)
|
instance:Route = super().create(validated_data)
|
||||||
material_out = instance.material_out
|
material_out = instance.material_out
|
||||||
if material_out:
|
if material_out:
|
||||||
|
|
@ -307,8 +303,6 @@ class RouteSerializer(CustomModelSerializer):
|
||||||
if material_out_tracking is None:
|
if material_out_tracking is None:
|
||||||
material_out_tracking = Material.MA_TRACKING_BATCH
|
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)
|
instance = super().update(instance, validated_data)
|
||||||
material_out = instance.material_out
|
material_out = instance.material_out
|
||||||
if material_out:
|
if material_out:
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,3 @@
|
||||||
## 3.1.2026072309
|
|
||||||
|
|
||||||
- feat: 新增功能
|
|
||||||
- 工艺路线Route创建/更新时未指定输出物料且工艺包无产品直接报错,不再静默生成残缺工序;补material_in_type字段供画布按物料真实类型着色 [caoqianming]
|
|
||||||
- 工艺路线新增validate接口,供拖拽画布实时校验DAG结构(不存盘,返回valid/error) [caoqianming]
|
|
||||||
- 物料新增入库检验方式test_mode_in(免检/必检,默认必检),生产领料检验卡点支持物料级免检,明细过滤器支持material__test_mode_in [caoqianming]
|
|
||||||
- other: 其他变更
|
|
||||||
- docs:新增优化算法切入点分析(排产/补货/合批/装箱等可优化环节盘点) [caoqianming]
|
|
||||||
## 3.1.2026071614
|
## 3.1.2026071614
|
||||||
|
|
||||||
- feat: 新增功能
|
- feat: 新增功能
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
|
||||||
ALLOWED_HOSTS = ['*']
|
ALLOWED_HOSTS = ['*']
|
||||||
|
|
||||||
SYS_NAME = '星途工厂综合管理系统'
|
SYS_NAME = '星途工厂综合管理系统'
|
||||||
SYS_VERSION = '3.1.2026072309'
|
SYS_VERSION = '3.1.2026071614'
|
||||||
X_FRAME_OPTIONS = 'SAMEORIGIN'
|
X_FRAME_OPTIONS = 'SAMEORIGIN'
|
||||||
|
|
||||||
# Application definition
|
# Application definition
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue