feat: Mlogb添加parent字段
This commit is contained in:
parent
d3a304b918
commit
e333b84c1b
|
@ -0,0 +1,24 @@
|
|||
# Generated by Django 3.2.12 on 2025-01-07 06:23
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('wpm', '0080_mlogb_mlogb_to'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='mlogb',
|
||||
name='parent',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='mlogb_parent', to='wpm.mlogb', verbose_name='父级物料'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='mlogb',
|
||||
name='mlogb_to',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='mlogb_to_mlogb', to='wpm.mlogb', verbose_name='生成的'),
|
||||
),
|
||||
]
|
|
@ -1,18 +0,0 @@
|
|||
# Generated by Django 3.2.12 on 2025-01-07 03:08
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('wpm', '0080_mlogb_mlogb_to'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='mlogb',
|
||||
name='is_main_batchin',
|
||||
field=models.BooleanField(default=True, verbose_name='是否主输入批次'),
|
||||
),
|
||||
]
|
|
@ -292,7 +292,6 @@ class Mlog(CommonADModel):
|
|||
return mlog_count_fields
|
||||
|
||||
class Mlogb(BaseModel):
|
||||
mlogb_to = models.ForeignKey("self", verbose_name='生成的', on_delete=models.SET_NULL, null=True, blank=True)
|
||||
mlog = models.ForeignKey(Mlog, verbose_name='关联日志',
|
||||
on_delete=models.CASCADE, related_name='b_mlog')
|
||||
note = models.TextField('备注', default='', blank=True)
|
||||
|
@ -304,7 +303,11 @@ class Mlogb(BaseModel):
|
|||
material_in = models.ForeignKey(
|
||||
Material, verbose_name='投入物料', on_delete=models.CASCADE, related_name='mlogb_material_in',
|
||||
null=True, blank=True)
|
||||
is_main_batchin = models.BooleanField('是否主输入批次', default=True)
|
||||
|
||||
parent = models.ForeignKey("self", verbose_name='父级物料', on_delete=models.CASCADE, null=True, blank=True,
|
||||
related_name='mlogb_parent')
|
||||
mlogb_to = models.ForeignKey("self", verbose_name='生成的', on_delete=models.SET_NULL, null=True, blank=True,
|
||||
related_name='mlogb_to_mlogb')
|
||||
material_out = models.ForeignKey(
|
||||
Material, verbose_name='产物', on_delete=models.CASCADE, related_name='mlogb_material_out',
|
||||
null=True, blank=True)
|
||||
|
|
|
@ -525,7 +525,7 @@ class MlogbInSerializer(CustomModelSerializer):
|
|||
class Meta:
|
||||
model = Mlogb
|
||||
fields = ['id', 'mlog', 'mtask', 'wm_in', 'count_use', 'count_pn_jgqbl',
|
||||
'count_break', 'note', "is_main_batchin"]
|
||||
'count_break', 'note', "parent"]
|
||||
extra_kwargs = {'count_use': {'required': True}, 'mtask': {'required': True}, 'wm_in': {'required': True}}
|
||||
|
||||
def validate(self, attrs):
|
||||
|
|
|
@ -492,7 +492,7 @@ class MlogbInViewSet(CreateModelMixin, UpdateModelMixin, DestroyModelMixin, Cust
|
|||
if material_out is None:
|
||||
raise ParseError('产物不可为空')
|
||||
# 如果是主要输入物料且是主批次,才需生成输出
|
||||
if route.material_in != material_in or mlogbin.is_main_batchin is False:
|
||||
if route.material_in != material_in or mlogbin.parent is None:
|
||||
return
|
||||
m_dict = {
|
||||
"mtask": mlogbin.mtask,
|
||||
|
|
Loading…
Reference in New Issue