feat: 切分融合的单件生成

This commit is contained in:
caoqianming 2025-01-17 14:45:31 +08:00
parent 6bcafcad3a
commit 713c51bdbd
1 changed files with 11 additions and 2 deletions

View File

@ -564,7 +564,11 @@ class MlogbInViewSet(CreateModelMixin, UpdateModelMixin, DestroyModelMixin, Cust
for wpr in Wpr.objects.filter(wm=wm_in).order_by("number"):
Mlogbw.objects.get_or_create(wpr=wpr, mlogb=mlogbin, defaults={"number": wpr.number})
if m_out_t == Material.MA_TRACKING_SINGLE:
if route.process.mtype == Process.PRO_NORMAL:
Mlogbw.objects.get_or_create(wpr=wpr, mlogb=mlogbout, defaults={"number": wpr.number})
elif route.process.mtype == Process.PRO_DIV:
for i in range(route.div_number):
Mlogbw.objects.get_or_create(mlogb=mlogbout, defaults={"number": f'{wpr.number}-{str(i+1)}'})
class MlogbOutViewSet(UpdateModelMixin, CustomGenericViewSet):
@ -629,6 +633,7 @@ class MlogbwViewSet(CustomModelViewSet):
@transaction.atomic
def perform_create(self, serializer):
ins:Mlogbw = serializer.save()
route:Route = ins.mlogb.mlog.route
mlogb:Mlogb = ins.mlogb
self.cal_mlogb_count(mlogb)
# 如果是输入且输出追踪到个,需同步创建
@ -637,7 +642,11 @@ class MlogbwViewSet(CustomModelViewSet):
mlogb_to = mlogb.mlogb_to
material_out:Material = mlogb.mlog.material_out
if mlogb_to and material_out.tracking == Material.MA_TRACKING_SINGLE:
if route.process.mtype == Process.PRO_NORMAL:
Mlogbw.objects.get_or_create(mlogb=mlogb_to, wpr=ins.wpr, defaults={"number": ins.number})
elif route.process.mtype == Process.PRO_DIV:
for i in range(route.div_number):
Mlogbw.objects.get_or_create(mlogb=mlogb_to, defaults={"number": ins.number + i})
self.cal_mlogb_count(mlogb_to)
@transaction.atomic