fix: pmservice cal_real_task_count

This commit is contained in:
caoqianming 2025-01-14 12:37:42 +08:00
parent 620ed2e19e
commit 5b977d4cf9
1 changed files with 10 additions and 5 deletions

View File

@ -1,6 +1,6 @@
from apps.system.models import Dept, User from apps.system.models import Dept, User
from apps.sam.models import OrderItem from apps.sam.models import OrderItem
from apps.mtm.models import Route, Material, Mgroup from apps.mtm.models import Route, Material, Mgroup, Process
from rest_framework.exceptions import ParseError from rest_framework.exceptions import ParseError
from apps.pm.models import Mtask, Utask from apps.pm.models import Mtask, Utask
from django.db.models.query import QuerySet from django.db.models.query import QuerySet
@ -25,8 +25,13 @@ class PmService:
while indx < rate_len: while indx < rate_len:
if indx + 1 == rate_len: # 循环到最后一步 if indx + 1 == rate_len: # 循环到最后一步
break break
rate, div_number = rate_list[indx+1] div_number0 = 1
xcount = xcount/(rate/100)/div_number rate, div_number, mtype = rate_list[indx+1]
if mtype == Process.PRO_DIV:
div_number0 = div_number
elif mtype == Process.PRO_MERGE:
div_number0 = 1/div_number
xcount = xcount/(rate/100)/div_number0
indx = indx + 1 indx = indx + 1
r_list.append(math.ceil(xcount)) r_list.append(math.ceil(xcount))
return r_list return r_list
@ -131,7 +136,7 @@ class PmService:
if not rqs.exists(): if not rqs.exists():
raise ParseError('未配置工艺路线') raise ParseError('未配置工艺路线')
# 通过出材率校正任务数, out_rate 默认为 100 # 通过出材率校正任务数, out_rate 默认为 100
out_rate_list = [(rq.out_rate, rq.div_number) for rq in rqs] out_rate_list = [(rq.out_rate, rq.div_number, rq.process.mtype) for rq in rqs]
count_task_list = cls.cal_real_task_count(count,out_rate_list) count_task_list = cls.cal_real_task_count(count,out_rate_list)
# 创建小任务 # 创建小任务
for ind, val in enumerate(rqs): for ind, val in enumerate(rqs):