feat: 离职申请支持删除

This commit is contained in:
caoqianming 2025-11-09 23:05:10 +08:00
parent f62bc532de
commit 9408dbd6e5
1 changed files with 12 additions and 5 deletions

View File

@ -26,9 +26,9 @@ from apps.hrm.services import HrmService
from apps.third.dahua import dhClient
from apps.third.tapis import dhapis
from apps.utils.export import export_excel
from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet
from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet, EuModelViewSet
from apps.utils.mixins import BulkCreateModelMixin, BulkDestroyModelMixin, CustomListModelMixin, RetrieveModelMixin
from apps.wf.models import Ticket
epTypeOptions = {'employee': '正式员工', 'remployee': '相关方',
'visitor': '访客', 'driver': '货车司机'}
epStateOptions = {10: '在职', 20: '离职', 30: '退休'}
@ -393,9 +393,16 @@ class CertificateViewSet(CustomModelViewSet):
ins.get_state(need_update=True)
class ResignationViewSet(CustomListModelMixin, BulkCreateModelMixin, RetrieveModelMixin, CustomGenericViewSet):
perms_map = {"get": "*", "post": "resignation.create"}
class ResignationViewSet(EuModelViewSet):
select_related_fields = ['employee', 'employee__belong_dept', 'employee__post']
queryset = Resignation.objects.all()
serializer_class = ResignationSerializer
search_fields = ["employee__name"]
search_fields = ["employee__name"]
def perform_destroy(self, instance):
ticket:Ticket = instance.ticket
if ticket and ticket.state.type != 1:
raise ParseError('该离职记录关联的工单已被处理,不可删除')
instance.delete()
if ticket:
ticket.delete()