feat: 添加mlog和handover的锁
This commit is contained in:
parent
8a039094cf
commit
316931fb40
|
@ -24,6 +24,7 @@ from django.db.models import Count, Q
|
||||||
from apps.utils.tasks import ctask_run
|
from apps.utils.tasks import ctask_run
|
||||||
from apps.mtm.models import Process
|
from apps.mtm.models import Process
|
||||||
from apps.mtm.services_2 import cal_material_count
|
from apps.mtm.services_2 import cal_material_count
|
||||||
|
from apps.utils.lock import lock_model_record_d_func
|
||||||
|
|
||||||
myLogger = logging.getLogger('log')
|
myLogger = logging.getLogger('log')
|
||||||
|
|
||||||
|
@ -146,7 +147,7 @@ def get_pcoal_heat(year_s: int, month_s: int, day_s: int):
|
||||||
myLogger.error(f'获取煤粉热值失败,{e}, {year_s}, {month_s}, {day_s}', exc_info=True)
|
myLogger.error(f'获取煤粉热值失败,{e}, {year_s}, {month_s}, {day_s}', exc_info=True)
|
||||||
return 25000
|
return 25000
|
||||||
|
|
||||||
|
@lock_model_record_d_func(Mlog)
|
||||||
def mlog_submit(mlog: Mlog, user: User, now: Union[datetime.datetime, None]):
|
def mlog_submit(mlog: Mlog, user: User, now: Union[datetime.datetime, None]):
|
||||||
"""
|
"""
|
||||||
生产日志提交后需要执行的操作
|
生产日志提交后需要执行的操作
|
||||||
|
@ -398,7 +399,7 @@ def mlog_submit(mlog: Mlog, user: User, now: Union[datetime.datetime, None]):
|
||||||
if wprIds:
|
if wprIds:
|
||||||
ana_wpr_thread(wprIds, mlog.mgroup)
|
ana_wpr_thread(wprIds, mlog.mgroup)
|
||||||
|
|
||||||
|
@lock_model_record_d_func(Mlog)
|
||||||
def mlog_revert(mlog: Mlog, user: User, now: Union[datetime.datetime, None]):
|
def mlog_revert(mlog: Mlog, user: User, now: Union[datetime.datetime, None]):
|
||||||
"""日志撤回
|
"""日志撤回
|
||||||
"""
|
"""
|
||||||
|
@ -710,7 +711,7 @@ def update_mtask(mtask: Mtask, fill_way: int = 10):
|
||||||
utask.state = Utask.UTASK_SUBMIT
|
utask.state = Utask.UTASK_SUBMIT
|
||||||
utask.save()
|
utask.save()
|
||||||
|
|
||||||
|
@lock_model_record_d_func(Handover)
|
||||||
def handover_submit(handover:Handover, user: User, now: Union[datetime.datetime, None]):
|
def handover_submit(handover:Handover, user: User, now: Union[datetime.datetime, None]):
|
||||||
"""
|
"""
|
||||||
交接提交后需要执行的操作
|
交接提交后需要执行的操作
|
||||||
|
@ -938,7 +939,7 @@ def handover_submit(handover:Handover, user: User, now: Union[datetime.datetime,
|
||||||
|
|
||||||
ana_batch_thread(xbatchs=batches)
|
ana_batch_thread(xbatchs=batches)
|
||||||
|
|
||||||
|
@lock_model_record_d_func(Handover)
|
||||||
def handover_revert(handover:Handover, handler:User=None):
|
def handover_revert(handover:Handover, handler:User=None):
|
||||||
if handover.submit_time is None:
|
if handover.submit_time is None:
|
||||||
raise ParseError('该交接单未提交!')
|
raise ParseError('该交接单未提交!')
|
||||||
|
|
|
@ -37,6 +37,7 @@ from django.db.models import Q
|
||||||
from apps.utils.tools import convert_ordereddict, update_dict
|
from apps.utils.tools import convert_ordereddict, update_dict
|
||||||
from django.db.models import Count
|
from django.db.models import Count
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
|
from apps.utils.lock import lock_model_record_d_method
|
||||||
|
|
||||||
|
|
||||||
# Create your views here.
|
# Create your views here.
|
||||||
|
@ -226,7 +227,7 @@ class MlogViewSet(CustomModelViewSet):
|
||||||
# data = list(data_dict.values())
|
# data = list(data_dict.values())
|
||||||
return data
|
return data
|
||||||
|
|
||||||
@transaction.atomic
|
@lock_model_record_d_method(Mlog)
|
||||||
def perform_destroy(self, instance):
|
def perform_destroy(self, instance):
|
||||||
if instance.submit_time is not None:
|
if instance.submit_time is not None:
|
||||||
raise ParseError('日志已提交不可变动')
|
raise ParseError('日志已提交不可变动')
|
||||||
|
@ -438,7 +439,7 @@ class HandoverViewSet(CustomModelViewSet):
|
||||||
'material__number', 'material__specification', 'batch', 'material__model', 'b_handover__batch', "new_batch", "wm__batch"]
|
'material__number', 'material__specification', 'batch', 'material__model', 'b_handover__batch', "new_batch", "wm__batch"]
|
||||||
prefetch_related_fields = ["b_handover"]
|
prefetch_related_fields = ["b_handover"]
|
||||||
|
|
||||||
@transaction.atomic
|
@lock_model_record_d_method(Handover)
|
||||||
def perform_destroy(self, instance:Handover):
|
def perform_destroy(self, instance:Handover):
|
||||||
user = self.request.user
|
user = self.request.user
|
||||||
if instance.submit_time is not None:
|
if instance.submit_time is not None:
|
||||||
|
|
Loading…
Reference in New Issue