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='是否主输入批次'),
|
||||||
|
),
|
||||||
|
]
|
|
@ -299,15 +299,19 @@ class Mlogb(BaseModel):
|
||||||
batch = models.TextField('批次号', null=True, blank=True)
|
batch = models.TextField('批次号', null=True, blank=True)
|
||||||
mtask = models.ForeignKey(Mtask, verbose_name='关联任务',
|
mtask = models.ForeignKey(Mtask, verbose_name='关联任务',
|
||||||
on_delete=models.CASCADE, related_name='mlogb_mtask', null=True, blank=True)
|
on_delete=models.CASCADE, related_name='mlogb_mtask', null=True, blank=True)
|
||||||
|
|
||||||
wm_in = models.ForeignKey(WMaterial, verbose_name='投入物料所在库存', on_delete=models.SET_NULL, null=True, blank=True)
|
wm_in = models.ForeignKey(WMaterial, verbose_name='投入物料所在库存', on_delete=models.SET_NULL, null=True, blank=True)
|
||||||
material_in = models.ForeignKey(
|
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_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)
|
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_use = models.PositiveIntegerField('领用数量', default=0)
|
||||||
count_break = models.PositiveIntegerField('加工破碎数', default=0)
|
count_break = models.PositiveIntegerField('加工破碎数', default=0)
|
||||||
|
|
|
@ -877,4 +877,4 @@ class MlogTCreateSerializer(CustomModelSerializer):
|
||||||
class BatchStSerializer(CustomModelSerializer):
|
class BatchStSerializer(CustomModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = BatchSt
|
model = BatchSt
|
||||||
fields = "__all__"
|
fields = "__all__"
|
||||||
|
|
|
@ -484,13 +484,15 @@ class MlogbInViewSet(CreateModelMixin, UpdateModelMixin, DestroyModelMixin, Cust
|
||||||
mlogbin: Mlogb = serializer.save()
|
mlogbin: Mlogb = serializer.save()
|
||||||
mlog:Mlog = mlogbin.mlog
|
mlog:Mlog = mlogbin.mlog
|
||||||
route:Route = mlog.route
|
route:Route = mlog.route
|
||||||
# 创建输出
|
|
||||||
# 以及mlogbw
|
# 以及mlogbw
|
||||||
if mlogbin.mtask and mlogbin.material_in:
|
if mlogbin.mtask and mlogbin.material_in:
|
||||||
material_in:Material = mlogbin.material_in
|
material_in:Material = mlogbin.material_in
|
||||||
material_out:Material = mlog.material_out
|
material_out:Material = mlog.material_out
|
||||||
if material_out is None:
|
if material_out is None:
|
||||||
raise ParseError('产物不可为空')
|
raise ParseError('产物不可为空')
|
||||||
|
# 如果是主要输入物料且是主批次,才需生成输出
|
||||||
|
if route.material_in != material_in and mlogbin.is_main_batchin is False:
|
||||||
|
return
|
||||||
m_dict = {
|
m_dict = {
|
||||||
"mtask": mlogbin.mtask,
|
"mtask": mlogbin.mtask,
|
||||||
"mlog": mlog,
|
"mlog": mlog,
|
||||||
|
|
Loading…
Reference in New Issue