feat: 如果是主要输入物料且是主批次,才需生成输出
This commit is contained in:
parent
f8c72a1487
commit
0e428f6c9d
|
@ -0,0 +1,18 @@
|
|||
# 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='是否主输入批次'),
|
||||
),
|
||||
]
|
|
@ -302,12 +302,16 @@ class Mlogb(BaseModel):
|
|||
|
||||
wm_in = models.ForeignKey(WMaterial, verbose_name='投入物料所在库存', on_delete=models.SET_NULL, null=True, blank=True)
|
||||
material_in = models.ForeignKey(
|
||||
Material, verbose_name='投入物料', on_delete=models.CASCADE, related_name='mlogb_material_in', null=True, blank=True)
|
||||
Material, verbose_name='投入物料', on_delete=models.CASCADE, related_name='mlogb_material_in',
|
||||
null=True, blank=True)
|
||||
is_main_batchin = models.BooleanField('是否主输入批次', default=True)
|
||||
material_out = models.ForeignKey(
|
||||
Material, verbose_name='产物', on_delete=models.CASCADE, related_name='mlogb_material_out', null=True, blank=True)
|
||||
Material, verbose_name='产物', on_delete=models.CASCADE, related_name='mlogb_material_out',
|
||||
null=True, blank=True)
|
||||
|
||||
batch_ofrom = models.TextField('原料批次号', null=True, blank=True)
|
||||
material_ofrom = models.ForeignKey(Material, verbose_name='原料物料', on_delete=models.SET_NULL, null=True, blank=True, related_name='mlogb_mofrom')
|
||||
material_ofrom = models.ForeignKey(Material, verbose_name='原料物料', on_delete=models.SET_NULL,
|
||||
null=True, blank=True, related_name='mlogb_mofrom')
|
||||
|
||||
count_use = models.PositiveIntegerField('领用数量', default=0)
|
||||
count_break = models.PositiveIntegerField('加工破碎数', default=0)
|
||||
|
|
|
@ -484,13 +484,15 @@ class MlogbInViewSet(CreateModelMixin, UpdateModelMixin, DestroyModelMixin, Cust
|
|||
mlogbin: Mlogb = serializer.save()
|
||||
mlog:Mlog = mlogbin.mlog
|
||||
route:Route = mlog.route
|
||||
# 创建输出
|
||||
# 以及mlogbw
|
||||
if mlogbin.mtask and mlogbin.material_in:
|
||||
material_in:Material = mlogbin.material_in
|
||||
material_out:Material = mlog.material_out
|
||||
if material_out is None:
|
||||
raise ParseError('产物不可为空')
|
||||
# 如果是主要输入物料且是主批次,才需生成输出
|
||||
if route.material_in != material_in and mlogbin.is_main_batchin is False:
|
||||
return
|
||||
m_dict = {
|
||||
"mtask": mlogbin.mtask,
|
||||
"mlog": mlog,
|
||||
|
|
Loading…
Reference in New Issue