作业人员未就位/未配置灭火器事件
This commit is contained in:
parent
9324f59825
commit
568d6545d0
|
@ -0,0 +1,21 @@
|
||||||
|
# Generated by Django 3.2.12 on 2022-09-09 08:14
|
||||||
|
|
||||||
|
from django.conf import settings
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||||
|
('hrm', '0003_alter_employee_type'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='employee',
|
||||||
|
name='user',
|
||||||
|
field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='employee', to=settings.AUTH_USER_MODEL, verbose_name='系统账号'),
|
||||||
|
),
|
||||||
|
]
|
|
@ -1,7 +1,7 @@
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from apps.system.models import Post, User
|
from apps.system.models import Post, User
|
||||||
|
|
||||||
from apps.utils.models import BaseModel, CommonAModel, CommonBModel
|
from apps.utils.models import BaseModel, CommonADModel, CommonAModel, CommonBModel
|
||||||
|
|
||||||
|
|
||||||
class Employee(CommonBModel):
|
class Employee(CommonBModel):
|
||||||
|
@ -24,7 +24,7 @@ class Employee(CommonBModel):
|
||||||
user = models.OneToOneField(User,
|
user = models.OneToOneField(User,
|
||||||
verbose_name='系统账号',
|
verbose_name='系统账号',
|
||||||
related_name='employee',
|
related_name='employee',
|
||||||
on_delete=models.PROTECT, null=True, blank=True)
|
on_delete=models.CASCADE, null=True, blank=True)
|
||||||
name = models.CharField('姓名', max_length=20)
|
name = models.CharField('姓名', max_length=20)
|
||||||
phone = models.CharField('手机号', max_length=11, null=True, blank=True, unique=True)
|
phone = models.CharField('手机号', max_length=11, null=True, blank=True, unique=True)
|
||||||
email = models.EmailField('邮箱号', null=True, blank=True)
|
email = models.EmailField('邮箱号', null=True, blank=True)
|
||||||
|
@ -62,7 +62,7 @@ class Employee(CommonBModel):
|
||||||
# CARD_LOCATION = 20
|
# CARD_LOCATION = 20
|
||||||
|
|
||||||
|
|
||||||
class NotWorkRemark(CommonAModel):
|
class NotWorkRemark(CommonADModel):
|
||||||
"""
|
"""
|
||||||
离岗说明
|
离岗说明
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -66,12 +66,6 @@ class CustomUpdateModelMixin(UpdateModelMixin):
|
||||||
serializer.save(update_by=self.request.user)
|
serializer.save(update_by=self.request.user)
|
||||||
|
|
||||||
|
|
||||||
class CustomDestoryModelMixin(DestroyModelMixin):
|
|
||||||
|
|
||||||
def perform_destroy(self, instance):
|
|
||||||
instance.delete(update_by=self.request.user)
|
|
||||||
|
|
||||||
|
|
||||||
class MyLoggingMixin(object):
|
class MyLoggingMixin(object):
|
||||||
"""Mixin to log requests"""
|
"""Mixin to log requests"""
|
||||||
|
|
||||||
|
|
|
@ -12,13 +12,13 @@ class SoftDeletableQuerySetMixin(object):
|
||||||
its ``is_deleted`` field to True.
|
its ``is_deleted`` field to True.
|
||||||
'''
|
'''
|
||||||
|
|
||||||
def delete(self, soft=True, update_by=None):
|
def delete(self, soft=True):
|
||||||
'''
|
'''
|
||||||
Soft delete objects from queryset (set their ``is_deleted``
|
Soft delete objects from queryset (set their ``is_deleted``
|
||||||
field to True)
|
field to True)
|
||||||
'''
|
'''
|
||||||
if soft:
|
if soft:
|
||||||
self.update(is_deleted=True, update_by=update_by)
|
self.update(is_deleted=True)
|
||||||
else:
|
else:
|
||||||
return super(SoftDeletableQuerySetMixin, self).delete()
|
return super(SoftDeletableQuerySetMixin, self).delete()
|
||||||
|
|
||||||
|
@ -103,6 +103,9 @@ class CommonAModel(SoftModel):
|
||||||
update_by = models.ForeignKey(
|
update_by = models.ForeignKey(
|
||||||
'system.user', null=True, blank=True, on_delete=models.SET_NULL,
|
'system.user', null=True, blank=True, on_delete=models.SET_NULL,
|
||||||
verbose_name='最后编辑人', related_name='%(class)s_update_by')
|
verbose_name='最后编辑人', related_name='%(class)s_update_by')
|
||||||
|
# delete_by = models.ForeignKey(
|
||||||
|
# 'system.user', null=True, blank=True, on_delete=models.SET_NULL,
|
||||||
|
# verbose_name='删除人', related_name='%(class)s_delete_by')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
abstract = True
|
abstract = True
|
||||||
|
@ -118,6 +121,9 @@ class CommonBModel(SoftModel):
|
||||||
update_by = models.ForeignKey(
|
update_by = models.ForeignKey(
|
||||||
'system.user', null=True, blank=True, on_delete=models.SET_NULL,
|
'system.user', null=True, blank=True, on_delete=models.SET_NULL,
|
||||||
verbose_name='最后编辑人', related_name='%(class)s_update_by')
|
verbose_name='最后编辑人', related_name='%(class)s_update_by')
|
||||||
|
# delete_by = models.ForeignKey(
|
||||||
|
# 'system.user', null=True, blank=True, on_delete=models.SET_NULL,
|
||||||
|
# verbose_name='删除人', related_name='%(class)s_delete_by')
|
||||||
belong_dept = models.ForeignKey(
|
belong_dept = models.ForeignKey(
|
||||||
'system.dept', null=True, blank=True, on_delete=models.SET_NULL,
|
'system.dept', null=True, blank=True, on_delete=models.SET_NULL,
|
||||||
verbose_name='所属部门', related_name='%(class)s_belong_dept')
|
verbose_name='所属部门', related_name='%(class)s_belong_dept')
|
||||||
|
@ -136,6 +142,9 @@ class CommonADModel(BaseModel):
|
||||||
update_by = models.ForeignKey(
|
update_by = models.ForeignKey(
|
||||||
'system.user', null=True, blank=True, on_delete=models.SET_NULL,
|
'system.user', null=True, blank=True, on_delete=models.SET_NULL,
|
||||||
verbose_name='最后编辑人', related_name='%(class)s_update_by')
|
verbose_name='最后编辑人', related_name='%(class)s_update_by')
|
||||||
|
# delete_by = models.ForeignKey(
|
||||||
|
# 'system.user', null=True, blank=True, on_delete=models.SET_NULL,
|
||||||
|
# verbose_name='删除人', related_name='%(class)s_delete_by')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
abstract = True
|
abstract = True
|
||||||
|
@ -151,6 +160,9 @@ class CommonBDModel(BaseModel):
|
||||||
update_by = models.ForeignKey(
|
update_by = models.ForeignKey(
|
||||||
'system.user', null=True, blank=True, on_delete=models.SET_NULL,
|
'system.user', null=True, blank=True, on_delete=models.SET_NULL,
|
||||||
verbose_name='最后编辑人', related_name='%(class)s_update_by')
|
verbose_name='最后编辑人', related_name='%(class)s_update_by')
|
||||||
|
# delete_by = models.ForeignKey(
|
||||||
|
# 'system.user', null=True, blank=True, on_delete=models.SET_NULL,
|
||||||
|
# verbose_name='删除人', related_name='%(class)s_delete_by')
|
||||||
belong_dept = models.ForeignKey(
|
belong_dept = models.ForeignKey(
|
||||||
'system.dept', null=True, blank=True, on_delete=models.SET_NULL,
|
'system.dept', null=True, blank=True, on_delete=models.SET_NULL,
|
||||||
verbose_name='所属部门', related_name='%(class)s_belong_dept')
|
verbose_name='所属部门', related_name='%(class)s_belong_dept')
|
||||||
|
|
|
@ -8,7 +8,7 @@ from rest_framework.permissions import IsAuthenticated, IsAdminUser
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
from rest_framework.viewsets import GenericViewSet
|
from rest_framework.viewsets import GenericViewSet
|
||||||
|
|
||||||
from apps.system.models import DataFilter, Dept
|
from apps.system.models import DataFilter, Dept, User
|
||||||
from apps.utils.errors import PKS_ERROR
|
from apps.utils.errors import PKS_ERROR
|
||||||
from apps.utils.mixins import MyLoggingMixin
|
from apps.utils.mixins import MyLoggingMixin
|
||||||
from apps.utils.permission import ALL_PERMS, RbacPermission, get_user_perms_map
|
from apps.utils.permission import ALL_PERMS, RbacPermission, get_user_perms_map
|
||||||
|
@ -131,11 +131,15 @@ class CustomModelViewSet(CreateModelMixin, UpdateModelMixin, ListModelMixin,
|
||||||
|
|
||||||
@action(methods=['post'], detail=False, serializer_class=PkSerializer, permission_classes=[IsAdminUser])
|
@action(methods=['post'], detail=False, serializer_class=PkSerializer, permission_classes=[IsAdminUser])
|
||||||
def deletes_hard(self, request, *args, **kwargs):
|
def deletes_hard(self, request, *args, **kwargs):
|
||||||
|
"""批量物理删除
|
||||||
|
|
||||||
|
批量物理删除
|
||||||
|
"""
|
||||||
request_data = request.data
|
request_data = request.data
|
||||||
pks = request_data.get('pks', None)
|
pks = request_data.get('pks', None)
|
||||||
if pks:
|
if pks:
|
||||||
try:
|
try:
|
||||||
self.get_queryset(all=True).filter(id__in=pks).delete(soft=False)
|
self.get_queryset().model.objects.get_queryset(all=True).filter(id__in=pks).delete(soft=False)
|
||||||
except Exception:
|
except Exception:
|
||||||
self.get_queryset().filter(id__in=pks).delete()
|
self.get_queryset().filter(id__in=pks).delete()
|
||||||
return Response(status=204)
|
return Response(status=204)
|
||||||
|
|
Loading…
Reference in New Issue