feat: 快速报工的bug

This commit is contained in:
caoqianming 2025-09-12 09:11:35 +08:00
parent 9d692b4d5d
commit aa72b0780a
1 changed files with 33 additions and 28 deletions

View File

@ -454,6 +454,7 @@ class MlogViewSet(CustomModelViewSet):
return Response(res) return Response(res)
@action(methods=['post'], detail=False, perms_map={'post': 'mlog.create'}, serializer_class=MlogQuickSerializer) @action(methods=['post'], detail=False, perms_map={'post': 'mlog.create'}, serializer_class=MlogQuickSerializer)
@transaction.atomic
def quick(self, request, *args, **kwargs): def quick(self, request, *args, **kwargs):
"""快速创建日志 """快速创建日志
@ -848,6 +849,7 @@ class MlogbInViewSet(CreateModelMixin, UpdateModelMixin, DestroyModelMixin, Cust
mlogbin = mlogbin_parent mlogbin = mlogbin_parent
else: else:
xcount = math.floor( (mlogbin.count_use-mlogbin.count_pn_jgqbl) / div_number) xcount = math.floor( (mlogbin.count_use-mlogbin.count_pn_jgqbl) / div_number)
if xcount >0:
d_count_real = xcount d_count_real = xcount
d_count_ok = xcount d_count_ok = xcount
number_to_batch = process.number_to_batch number_to_batch = process.number_to_batch
@ -896,7 +898,7 @@ class MlogbInViewSet(CreateModelMixin, UpdateModelMixin, DestroyModelMixin, Cust
m_model = material_out.model m_model = material_out.model
# 按生产日志查询 # 按生产日志查询
wpr = Wpr.objects.filter(wpr_mlogbw__mlogb__material_out__isnull=False, wpr = Wpr.objects.filter(wpr_mlogbw__mlogb__material_out__isnull=False,
wpr_mlogbw__mlogb__mlog__mgroup=mlog.mgroup, wpr_mlogbw__mlogb__mlog__mgroup__process=mlog.mgroup.process,
wpr_mlogbw__mlogb__mlog__is_fix=False, wpr_mlogbw__mlogb__mlog__is_fix=False,
wpr_mlogbw__mlogb__mlog__submit_time__isnull=False, wpr_mlogbw__mlogb__mlog__submit_time__isnull=False,
wpr_mlogbw__mlogb__mlog__handle_date__year=c_year, wpr_mlogbw__mlogb__mlog__handle_date__year=c_year,
@ -997,7 +999,10 @@ class MlogbwViewSet(CustomModelViewSet):
else: else:
if mlog != ins.mlogb.mlog: if mlog != ins.mlogb.mlog:
raise ParseError("所有记录必须属于同一张日志") raise ParseError("所有记录必须属于同一张日志")
wpr:Wpr = ins.wpr
mlogb:Mlogb = ins.mlogb mlogb:Mlogb = ins.mlogb
if wpr.wm != mlogb.wm_in:
raise ParseError("单个与所属批次不一致")
route:Route = mlogb.route if mlogb.route else mlog.route route:Route = mlogb.route if mlogb.route else mlog.route
Mlogbw.cal_count_notok(mlogb) Mlogbw.cal_count_notok(mlogb)
# 如果是输入且输出追踪到个,需同步创建 # 如果是输入且输出追踪到个,需同步创建