Merge branch 'master' of https://e.coding.net/ctcdevteam/ehs/ehs_server
This commit is contained in:
commit
f1a76cba74
|
|
@ -255,7 +255,7 @@ def cal_mpointstats(is_now=1, year=None, month=None, day=None, hour=None, m_code
|
|||
|
||||
# 先调整一下班时间,以防计算错误
|
||||
# 为了保持一致使用统计的时间点
|
||||
nowx = datetime.now()
|
||||
nowx = timezone.now()
|
||||
get_total_sec_now(now=nowx) # 再处理total_sec
|
||||
cal_exp_duration_sec(now=nowx) # 先处理shut_sec
|
||||
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ class RouteFilter(filters.FilterSet):
|
|||
"material_out": ["exact", "in"],
|
||||
"process": ["exact", "in"],
|
||||
"is_autotask": ["exact"],
|
||||
"routepack": ["exact"],
|
||||
"routepack": ["exact", "isnull"],
|
||||
"routepack__state": ["exact"],
|
||||
"mgroup": ["exact", "in", "isnull"],
|
||||
"mgroup__name": ["exact", "contains"],
|
||||
|
|
|
|||
|
|
@ -0,0 +1,24 @@
|
|||
# Generated by Django 3.2.12 on 2024-08-04 10:46
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('system', '0005_alter_permission_type'),
|
||||
('opm', '0013_auto_20230605_1429'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='opl',
|
||||
name='audit_imgs',
|
||||
field=models.ManyToManyField(blank=True, related_name='opl_audit_imgs', to='system.File', verbose_name='作业审批照片'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='opl',
|
||||
name='work_imgs',
|
||||
field=models.ManyToManyField(blank=True, related_name='opl_work_imgs', to='system.File', verbose_name='作业工作照片'),
|
||||
),
|
||||
]
|
||||
|
|
@ -105,6 +105,10 @@ class Opl(CommonBDModel):
|
|||
workers = models.ManyToManyField('system.user', verbose_name='作业人员', through='opm.oplworker')
|
||||
create_imgs = models.ManyToManyField('system.file', verbose_name='作业审批照片',
|
||||
related_name='opl_create_imgs', blank=True)
|
||||
audit_imgs = models.ManyToManyField('system.file', verbose_name='作业审批照片',
|
||||
related_name='opl_audit_imgs', blank=True)
|
||||
work_imgs = models.ManyToManyField('system.file', verbose_name='作业工作照片',
|
||||
related_name='opl_work_imgs', blank=True)
|
||||
close_imgs = models.ManyToManyField('system.file', verbose_name='作业关闭照片',
|
||||
related_name='opl_close_imgs', blank=True)
|
||||
close_note = models.PositiveSmallIntegerField('作业关闭情况',
|
||||
|
|
|
|||
|
|
@ -252,6 +252,8 @@ class OplDetailSerializer(CustomModelSerializer):
|
|||
measures_checked_ = serializers.SerializerMethodField()
|
||||
close_dos_ = serializers.SerializerMethodField()
|
||||
create_imgs_ = FileSerializer(source='create_imgs', many=True)
|
||||
audit_imgs_ = FileSerializer(source='audit_imgs', many=True)
|
||||
work_imgs_ = FileSerializer(source='work_imgs', many=True)
|
||||
close_imgs_ = FileSerializer(source='close_imgs', many=True)
|
||||
mtask_uid = serializers.SerializerMethodField()
|
||||
|
||||
|
|
|
|||
|
|
@ -179,4 +179,13 @@ def opl_monitor(opl: Opl, tv: str):
|
|||
for i in vchannels:
|
||||
Thread(target=snap_and_analyse, args=(i, algo_codes, opl), daemon=True).start()
|
||||
time.sleep(10)
|
||||
cache.delete(tkey)
|
||||
cache.delete(tkey)
|
||||
|
||||
def check_opl_audit_imgs(ticket: Ticket, transition: Transition, new_ticket_data: dict):
|
||||
audit_imgs = new_ticket_data.get('audit_imgs', [])
|
||||
if audit_imgs:
|
||||
opl = Opl.objects.get(ticket=ticket)
|
||||
opl.audit_imgs = audit_imgs
|
||||
opl.save()
|
||||
else:
|
||||
raise Exception('需提交审核照片')
|
||||
|
|
@ -82,6 +82,7 @@ class OplViewSet(CustomModelViewSet):
|
|||
serializer_class = OplListSerializer
|
||||
retrieve_serializer_class = OplDetailSerializer
|
||||
select_related_fields = ['cate', 'operation', 'dept_do', 'charger', 'monitor', 'ticket']
|
||||
prefetch_related_fields = ['close_imgs', 'audit_imgs', 'work_imgs', 'create_imgs']
|
||||
filterset_fields = ['operation', 'cate']
|
||||
|
||||
@transaction.atomic
|
||||
|
|
|
|||
|
|
@ -160,6 +160,7 @@ class SflogExpSerializer(CustomModelSerializer):
|
|||
# happen_time = serializers.DateTimeField(required=True, label='发生时间')
|
||||
# cate = serializers.CharField(required=True, label='原因类别')
|
||||
sflog_ = SfLogSerializer(source='sflog', read_only=True)
|
||||
stlog_ = StLogSerializer(source='stlog', read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = SfLogExp
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ class SfLogExpViewSet(ListModelMixin, UpdateModelMixin, CustomGenericViewSet):
|
|||
perms_map = {'get': '*', 'put': 'sflogexp.update'}
|
||||
queryset = SfLogExp.objects.all()
|
||||
serializer_class = SflogExpSerializer
|
||||
select_related_fields = ['sflog', 'sflog__mgroup', 'stlog', 'sflog__team', 'sflog__shift', 'sflog__leader']
|
||||
select_related_fields = ['sflog', 'sflog__mgroup', 'stlog', 'sflog__team', 'sflog__shift', 'sflog__leader', 'stlog']
|
||||
filterset_fields = ['sflog', 'stlog']
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue