From 46e9607942f1b9b5f9fec2cab118d09b0e933277 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Tue, 30 May 2023 14:46:52 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0commonadmodel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/apps/supervision/models.py | 20 ++++++++++---------- server/apps/supervision/views.py | 4 +--- server/apps/system/models.py | 24 ++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 13 deletions(-) diff --git a/server/apps/supervision/models.py b/server/apps/supervision/models.py index 55270ad..11dc6d9 100644 --- a/server/apps/supervision/models.py +++ b/server/apps/supervision/models.py @@ -1,6 +1,6 @@ from django.db import models from utils.model import BaseModel -from apps.system.models import CommonAModel, CommonBModel, Organization, User, Dict, File +from apps.system.models import CommonAModel, CommonBModel, Organization, User, Dict, File, CommonADModel, CommonBDModel from django.contrib.postgres.fields import JSONField # Create your models here. @@ -114,7 +114,7 @@ class TAction(CommonAModel): value_old = JSONField('原值', null=True, blank=True, default=dict) value_new = JSONField('新值', null=True, blank=True, default=dict) -class Pgoal(CommonAModel): +class Pgoal(CommonADModel): """ 基础目标 """ @@ -137,7 +137,7 @@ class Pgoal(CommonAModel): pgoal_4_file = models.ForeignKey(File, related_name='pgoal_4_file', on_delete=models.SET_NULL, null=True, blank=True) pgoal_5_file = models.ForeignKey(File, related_name='pgoal_5_file', on_delete=models.SET_NULL, null=True, blank=True) -class Task2(CommonAModel): +class Task2(CommonADModel): """ 报送任务2 """ @@ -163,7 +163,7 @@ class Task2(CommonAModel): depts = models.ManyToManyField(Organization, verbose_name='执行公司', through='supervision.task2do', blank=True) -class Task2Do(CommonBModel): +class Task2Do(CommonBDModel): """任务执行情况 """ task2 = models.ForeignKey(Task2, verbose_name='关联任务', on_delete=models.CASCADE, related_name='task2dept_task2') @@ -181,7 +181,7 @@ class Task2Do(CommonBModel): num_oinspect = models.PositiveSmallIntegerField('外部检查数', null=True, blank=True) -class PgoalDept(CommonBModel): +class PgoalDept(CommonBDModel): """企业年度目标值 """ year = models.PositiveSmallIntegerField('年份') @@ -196,7 +196,7 @@ class PgoalDept(CommonBModel): task2do = models.ForeignKey('supervision.task2do', verbose_name= '关联任务执行', on_delete=models.SET_NULL, null=True, blank=True) -class Rc(CommonBModel): +class Rc(CommonBDModel): """报告或证书 """ etype_choices = ( @@ -214,7 +214,7 @@ class Rc(CommonBModel): remark = models.TextField('备注', null=True, blank=True) -class Complaint(CommonBModel): +class Complaint(CommonBDModel): """客户投诉 """ complainant = models.CharField('投诉人', max_length=100) @@ -225,7 +225,7 @@ class Complaint(CommonBModel): task2do = models.ForeignKey('supervision.task2do', verbose_name= '关联任务执行', on_delete=models.SET_NULL, null=True, blank=True) -class Pt(CommonBModel): +class Pt(CommonBDModel): """能力验证 """ pt_result_choices = ( @@ -248,7 +248,7 @@ class Pt(CommonBModel): task2do = models.ForeignKey('supervision.task2do', verbose_name= '关联任务执行', on_delete=models.SET_NULL, null=True, blank=True) -class Risk(CommonBModel): +class Risk(CommonBDModel): """风险识别 """ risk_level_choices = ( @@ -268,7 +268,7 @@ class Risk(CommonBModel): task2do = models.ForeignKey('supervision.task2do', verbose_name= '关联任务执行', on_delete=models.SET_NULL, null=True, blank=True) -class Oinspect(CommonBModel): +class Oinspect(CommonBDModel): """外部检查 """ oinspect_cate_choices = ( diff --git a/server/apps/supervision/views.py b/server/apps/supervision/views.py index bf5c4b2..dc3a491 100644 --- a/server/apps/supervision/views.py +++ b/server/apps/supervision/views.py @@ -411,8 +411,6 @@ class PogalViewSet(CreateUpdateCustomMixin, ModelViewSet): return PgoalCreateUpdateSerializer return super().get_serializer_class() - def perform_destroy(self, instance): - instance.delete(soft=False) class Task2ViewSet(CreateUpdateCustomMixin, ModelViewSet): perms_map = {'get': '*', 'post': 'task2', @@ -574,7 +572,7 @@ class Domixin: @transaction.atomic def perform_destroy(self, instance): task2do = instance.task2do - instance.delete(soft=False) + instance.delete() self.countup_task2do(task2do) diff --git a/server/apps/system/models.py b/server/apps/system/models.py index 8b6781f..fd84af5 100644 --- a/server/apps/system/models.py +++ b/server/apps/system/models.py @@ -167,6 +167,17 @@ class Dict(SoftModel): def __str__(self): return self.name +class CommonADModel(BaseModel): + """ + 业务用基本表A,包含create_by, update_by字段,物理删除 + """ + create_by = models.ForeignKey( + User, null=True, blank=True, on_delete=models.SET_NULL, verbose_name='创建人', related_name='%(class)s_create_by') + update_by = models.ForeignKey( + User, null=True, blank=True, on_delete=models.SET_NULL, verbose_name='最后编辑人', related_name='%(class)s_update_by') + + class Meta: + abstract = True class CommonAModel(SoftModel): """ @@ -194,6 +205,19 @@ class CommonBModel(SoftModel): class Meta: abstract = True +class CommonBDModel(BaseModel): + """ + 业务用基本表B,包含create_by, update_by, belong_dept字段,物理删除 + """ + create_by = models.ForeignKey( + User, null=True, blank=True, on_delete=models.SET_NULL, verbose_name='创建人', related_name='%(class)s_create_by') + update_by = models.ForeignKey( + User, null=True, blank=True, on_delete=models.SET_NULL, verbose_name='最后编辑人', related_name='%(class)s_update_by') + belong_dept = models.ForeignKey( + Organization, null=True, blank=True, on_delete=models.SET_NULL, verbose_name='所属部门', related_name='%(class)s_belong_dept') + + class Meta: + abstract = True class File(CommonAModel): """