feat: route增加div_number字段
This commit is contained in:
parent
7937a632a0
commit
f653c2c191
|
@ -0,0 +1,18 @@
|
||||||
|
# Generated by Django 3.2.12 on 2024-12-18 00:55
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('mtm', '0046_process_mtype'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='route',
|
||||||
|
name='div_number',
|
||||||
|
field=models.PositiveSmallIntegerField(blank=True, default=1, verbose_name='拆分数量'),
|
||||||
|
),
|
||||||
|
]
|
|
@ -226,6 +226,7 @@ class Route(CommonADModel):
|
||||||
Material, verbose_name='主要输出物料', on_delete=models.CASCADE, related_name='route_material_out', null=True, blank=True)
|
Material, verbose_name='主要输出物料', on_delete=models.CASCADE, related_name='route_material_out', null=True, blank=True)
|
||||||
is_count_utask = models.BooleanField('是否主任务统计', default=False)
|
is_count_utask = models.BooleanField('是否主任务统计', default=False)
|
||||||
out_rate = models.FloatField('出材率', default=100, blank=True)
|
out_rate = models.FloatField('出材率', default=100, blank=True)
|
||||||
|
div_number = models.PositiveSmallIntegerField('拆分数量', default=1, blank=True)
|
||||||
hour_work = models.FloatField('工时', null=True, blank=True)
|
hour_work = models.FloatField('工时', null=True, blank=True)
|
||||||
batch_bind = models.BooleanField('是否绑定批次', default=True)
|
batch_bind = models.BooleanField('是否绑定批次', default=True)
|
||||||
|
|
||||||
|
|
|
@ -170,8 +170,11 @@ class RouteSerializer(CustomModelSerializer):
|
||||||
attrs['material'] = attrs['routepack'].material
|
attrs['material'] = attrs['routepack'].material
|
||||||
if 'mgroup' in attrs and attrs['mgroup']:
|
if 'mgroup' in attrs and attrs['mgroup']:
|
||||||
attrs['process'] = attrs['mgroup'].process
|
attrs['process'] = attrs['mgroup'].process
|
||||||
if attrs.get('process', None) is None:
|
process: Process = attrs.get('process', None)
|
||||||
|
if process is None:
|
||||||
raise ParseError('未提供操作工序')
|
raise ParseError('未提供操作工序')
|
||||||
|
if process.mtype == Process.PRO_DIV and attrs.get('div_number', 1) <= 1:
|
||||||
|
raise ParseError('切分数量必须大于1')
|
||||||
return super().validate(attrs)
|
return super().validate(attrs)
|
||||||
|
|
||||||
def gen_material_out(self, instance: Route):
|
def gen_material_out(self, instance: Route):
|
||||||
|
|
Loading…
Reference in New Issue