feat: 正式添加dpm模块
This commit is contained in:
parent
d40389df76
commit
d36de5bc00
|
@ -1,4 +1,4 @@
|
|||
# Generated by Django 3.2.12 on 2023-03-09 05:09
|
||||
# Generated by Django 3.2.12 on 2024-06-06 06:46
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
@ -12,27 +12,13 @@ class Migration(migrations.Migration):
|
|||
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('wf', '0001_initial'),
|
||||
('am', '0003_alter_area_access_list'),
|
||||
('system', '0001_initial'),
|
||||
('system', '0004_auto_20240605_1011'),
|
||||
('django_celery_beat', '0016_alter_crontabschedule_timezone'),
|
||||
('wf', '0002_alter_state_filter_dept'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='CheckItem',
|
||||
fields=[
|
||||
('id', models.CharField(editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')),
|
||||
('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
|
||||
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
|
||||
('check_time', models.DateTimeField(blank=True, null=True, verbose_name='检查时间')),
|
||||
('result', models.PositiveSmallIntegerField(choices=[(10, '未检查'), (20, '合格'), (30, '不合格')], default=10, verbose_name='检查结果')),
|
||||
('note', models.TextField(blank=True, null=True, verbose_name='检查备注')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='CheckTaskSet',
|
||||
fields=[
|
||||
|
@ -44,6 +30,8 @@ class Migration(migrations.Migration):
|
|||
('expire', models.PositiveSmallIntegerField(default=0, help_text='0代表不设限制直到下个任务派发', verbose_name='执行有效期(h)')),
|
||||
('belong_dept', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='checktaskset_belong_dept', to='system.dept', verbose_name='所属部门')),
|
||||
('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='checktaskset_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
||||
('myschedule', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='system.myschedule', verbose_name='周期')),
|
||||
('periodictask', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='checktask_periodictask', to='django_celery_beat.periodictask', verbose_name='关联定时任务')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
|
@ -61,12 +49,11 @@ class Migration(migrations.Migration):
|
|||
('type', models.PositiveSmallIntegerField(choices=[(10, '手动'), (20, '派发')], default=10, verbose_name='任务类型')),
|
||||
('time_start', models.DateTimeField(verbose_name='开启时间')),
|
||||
('time_end', models.DateTimeField(verbose_name='关闭时间')),
|
||||
('enabled', models.BooleanField(default=True, verbose_name='是否可用')),
|
||||
('note', models.TextField(blank=True, null=True, verbose_name='检查备注')),
|
||||
('time_check', models.BooleanField(default=True, verbose_name='最后检查时间')),
|
||||
('time_check', models.DateTimeField(blank=True, null=True, verbose_name='开始检查时间')),
|
||||
('belong_dept', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='checkwork_belong_dept', to='system.dept', verbose_name='所属部门')),
|
||||
('category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='system.dictionary', verbose_name='工作分类')),
|
||||
('checktaskset', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='dpm.checktaskset', verbose_name='关联派发任务')),
|
||||
('checktaskset', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='dpm.checktaskset', verbose_name='关联派发策略')),
|
||||
('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='checkwork_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
||||
],
|
||||
options={
|
||||
|
@ -106,7 +93,7 @@ class Migration(migrations.Migration):
|
|||
('name', models.TextField(verbose_name='项目/步骤')),
|
||||
('level', models.PositiveSmallIntegerField(choices=[(10, '低风险'), (20, '一般风险'), (30, '较大风险'), (40, '重大风险')], default=10, verbose_name='风险等级')),
|
||||
('standard', models.TextField(blank=True, null=True, verbose_name='检查标准')),
|
||||
('hazard', models.TextField(blank=True, null=True, verbose_name='危害因素')),
|
||||
('hazard_factors', models.TextField(blank=True, null=True, verbose_name='危害因素')),
|
||||
('sort', models.PositiveSmallIntegerField(default=1, verbose_name='排序')),
|
||||
('measure_tech', models.TextField(blank=True, null=True, verbose_name='工程技术措施')),
|
||||
('measure_manage', models.TextField(blank=True, null=True, verbose_name='管理措施')),
|
||||
|
@ -146,13 +133,9 @@ class Migration(migrations.Migration):
|
|||
('correct_deadline', models.DateTimeField(blank=True, null=True, verbose_name='整改期限')),
|
||||
('correct_description', models.TextField(blank=True, null=True, verbose_name='整改描述')),
|
||||
('correct_time', models.DateTimeField(blank=True, null=True, verbose_name='整改完成时间')),
|
||||
('opinion_access', models.TextField(blank=True, null=True, verbose_name='评估意见')),
|
||||
('opinion_check', models.TextField(blank=True, null=True, verbose_name='复查意见')),
|
||||
('opinion_audit', models.TextField(blank=True, null=True, verbose_name='审核意见')),
|
||||
('area', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='am.area', verbose_name='所在区域')),
|
||||
('belong_dept', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='hazard_belong_dept', to='system.dept', verbose_name='所属部门')),
|
||||
('category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='system.dictionary', verbose_name='隐患类别')),
|
||||
('checkitem', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='dpm.checkitem', verbose_name='关联检查条目')),
|
||||
('checkwork', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='dpm.checkwork', verbose_name='关联检查工作')),
|
||||
('correct_solution', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='system.file', verbose_name='整改方案')),
|
||||
('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='hazard_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
||||
|
@ -162,9 +145,6 @@ class Migration(migrations.Migration):
|
|||
('photos_done', models.ManyToManyField(blank=True, related_name='hazard_photos_done', to='system.File', verbose_name='整改后照片')),
|
||||
('ticket', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='hazard_ticket', to='wf.ticket', verbose_name='关联工单')),
|
||||
('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='hazard_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')),
|
||||
('user_access', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='hazard_user_access', to=settings.AUTH_USER_MODEL, verbose_name='评估人')),
|
||||
('user_audit', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='hazard_user_audit', to=settings.AUTH_USER_MODEL, verbose_name='审核人')),
|
||||
('user_check', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='hazard_user_check', to=settings.AUTH_USER_MODEL, verbose_name='复查人')),
|
||||
('user_correct', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='hazard_user_correct', to=settings.AUTH_USER_MODEL, verbose_name='整改责任人')),
|
||||
('user_discover', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='hazard_user_discover', to=settings.AUTH_USER_MODEL, verbose_name='发现人')),
|
||||
],
|
||||
|
@ -187,4 +167,38 @@ class Migration(migrations.Migration):
|
|||
name='user_duty',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='指派人'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='checktaskset',
|
||||
name='riskpoint',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='ctask_riskpoint', to='dpm.riskpoint', verbose_name='关联风险点'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='checktaskset',
|
||||
name='update_by',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='checktaskset_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='checktaskset',
|
||||
name='user_duty',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='指派人'),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='CheckItem',
|
||||
fields=[
|
||||
('id', models.CharField(editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')),
|
||||
('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
|
||||
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
|
||||
('result', models.PositiveSmallIntegerField(default=10, verbose_name='检查结果')),
|
||||
('note', models.TextField(blank=True, null=True, verbose_name='备注')),
|
||||
('checkwork', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='citem_checkwork', to='dpm.checkwork', verbose_name='关联检查工作')),
|
||||
('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='checkitem_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
||||
('hazard', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='citem_hazard', to='dpm.hazard', verbose_name='关联隐患')),
|
||||
('risk', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='citem_risk', to='dpm.risk', verbose_name='关联风险')),
|
||||
('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='checkitem_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
},
|
||||
),
|
||||
]
|
||||
|
|
|
@ -1,65 +0,0 @@
|
|||
# Generated by Django 3.2.12 on 2023-03-09 05:09
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
('dpm', '0001_initial'),
|
||||
('system', '0002_myschedule'),
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('django_celery_beat', '0016_alter_crontabschedule_timezone'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='checktaskset',
|
||||
name='myschedule',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='system.myschedule', verbose_name='周期'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='checktaskset',
|
||||
name='periodictask',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='checktask_periodictask', to='django_celery_beat.periodictask', verbose_name='关联定时任务'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='checktaskset',
|
||||
name='riskpoint',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='ctask_riskpoint', to='dpm.riskpoint', verbose_name='关联风险点'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='checktaskset',
|
||||
name='update_by',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='checktaskset_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='checktaskset',
|
||||
name='user_duty',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='指派人'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='checkitem',
|
||||
name='checkwork',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='citem_checkwork', to='dpm.checkwork', verbose_name='关联检查工作'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='checkitem',
|
||||
name='create_by',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='checkitem_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='checkitem',
|
||||
name='risk',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='citem_risk', to='dpm.risk', verbose_name='关联风险'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='checkitem',
|
||||
name='update_by',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='checkitem_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'),
|
||||
),
|
||||
]
|
|
@ -30,7 +30,7 @@ class RiskPoint(CommonBModel):
|
|||
type = models.PositiveSmallIntegerField('风险点类型', default=10, choices=R_TYPE)
|
||||
manage_level = models.PositiveSmallIntegerField('管控层级', default=10, choices=R_M_LEVEL)
|
||||
dept_res = models.ForeignKey('system.dept', on_delete=models.SET_NULL, verbose_name='责任部门', related_name='riskpoint_dept_res', null=True, blank=True)
|
||||
user_res = models.ForeignKey('system.user', on_delete=models.CASCADE, verbose_name='责任人', related_name='hazard_user_discover', null=True, blank=True)
|
||||
user_res = models.ForeignKey('system.user', on_delete=models.CASCADE, verbose_name='责任人', related_name='riskpoint_user_res', null=True, blank=True)
|
||||
|
||||
class Risk(CommonBModel):
|
||||
"""
|
||||
|
@ -40,7 +40,7 @@ class Risk(CommonBModel):
|
|||
level = models.PositiveSmallIntegerField('风险等级', default=10, choices=RiskPoint.R_LEVEL)
|
||||
standard = models.TextField('检查标准', null=True, blank=True)
|
||||
hazard_factors = models.TextField('危害因素', null=True, blank=True)
|
||||
results = models.ManyToManyField('system.dictionary', verbose_name='可能后果', related_name='risk_results', null=True)
|
||||
results = models.ManyToManyField('system.dictionary', verbose_name='可能后果', related_name='risk_results', blank=True)
|
||||
sort = models.PositiveSmallIntegerField('排序', default=1)
|
||||
measure_tech = models.TextField('工程技术措施', null=True, blank=True)
|
||||
measure_manage = models.TextField('管理措施', null=True, blank=True)
|
||||
|
@ -80,12 +80,11 @@ class CheckWork(CommonBModel):
|
|||
category = models.ForeignKey('system.dictionary', on_delete=models.CASCADE, verbose_name='工作分类', null=True, blank=True)
|
||||
time_start = models.DateTimeField('开启时间')
|
||||
time_end = models.DateTimeField('关闭时间')
|
||||
enabled = models.BooleanField('是否可用', default=True)
|
||||
user_duty = models.ForeignKey('system.user', verbose_name='指派人', on_delete=models.SET_NULL, null=True, blank=True)
|
||||
riskpoint = models.ForeignKey(RiskPoint, verbose_name='关联风险点', related_name='cwork_riskpoint', on_delete=models.SET_NULL, null=True, blank=True)
|
||||
note = models.TextField('检查备注', null=True, blank=True)
|
||||
time_check = models.BooleanField('最后检查时间', default=True)
|
||||
checktaskset = models.ForeignKey(CheckTaskSet, verbose_name='关联派发任务', on_delete=models.CASCADE, null=True, blank=True)
|
||||
time_check = models.DateTimeField('开始检查时间', null=True, blank=True)
|
||||
checktaskset = models.ForeignKey(CheckTaskSet, verbose_name='关联派发策略', on_delete=models.CASCADE, null=True, blank=True)
|
||||
|
||||
|
||||
class Hazard(CommonBModel):
|
||||
|
@ -110,7 +109,7 @@ class Hazard(CommonBModel):
|
|||
(30, '已结束')
|
||||
)
|
||||
number = models.CharField('编号', max_length=20, null=True, blank=True)
|
||||
checkwork = models.ForeignKey(CheckWork, verbose_name='关联检查工作', null=True, blank=True)
|
||||
checkwork = models.ForeignKey(CheckWork, on_delete=models.SET_NULL, verbose_name='关联检查工作', null=True, blank=True)
|
||||
state = models.PositiveSmallIntegerField('隐患流程状态', default=10, choices=H_STATE)
|
||||
time_discover = models.DateTimeField('发现时间')
|
||||
dept_res = models.ForeignKey('system.dept', on_delete=models.SET_NULL, verbose_name='责任部门', related_name='hazard_dept_res', null=True, blank=True)
|
||||
|
@ -123,11 +122,11 @@ class Hazard(CommonBModel):
|
|||
description = models.TextField('隐患描述', null=True, blank=True)
|
||||
reason = models.TextField('原因分析', null=True, blank=True)
|
||||
correct_measure = models.TextField('整改措施', null=True, blank=True)
|
||||
correct_solution = models.ForeignKey('system.file', verbose_name='整改方案', null=True, blank=True)
|
||||
correct_solution = models.ForeignKey('system.file', verbose_name='整改方案', on_delete=models.SET_NULL, null=True, blank=True)
|
||||
correct_deadline = models.DateTimeField('整改期限', null=True, blank=True)
|
||||
photos = models.ManyToManyField('system.file', verbose_name='现场照片', related_name='hazard_photos', null=True)
|
||||
photos = models.ManyToManyField('system.file', verbose_name='现场照片', related_name='hazard_photos', blank=True)
|
||||
correct_description = models.TextField('整改描述', null=True, blank=True)
|
||||
photos_done = models.ManyToManyField('system.file', verbose_name='整改后照片', related_name='hazard_photos_done', null=True)
|
||||
photos_done = models.ManyToManyField('system.file', verbose_name='整改后照片', related_name='hazard_photos_done', blank=True)
|
||||
dept_correct = models.ForeignKey('system.dept', on_delete=models.CASCADE, verbose_name='整改部门', related_name='hazard_dept_correct', null=True, blank=True)
|
||||
user_correct = models.ForeignKey('system.user', on_delete=models.SET_NULL, verbose_name='整改责任人', related_name='hazard_user_correct', null=True, blank=True)
|
||||
correct_time = models.DateTimeField('整改完成时间', null=True, blank=True)
|
||||
|
@ -153,3 +152,4 @@ class CheckItem(CommonAModel):
|
|||
risk = models.ForeignKey(Risk, verbose_name='关联风险', related_name='citem_risk', on_delete=models.SET_NULL, null=True, blank=True)
|
||||
hazard = models.ForeignKey(Hazard, verbose_name='关联隐患', related_name='citem_hazard', on_delete=models.SET_NULL, null=True, blank=True)
|
||||
result = models.PositiveSmallIntegerField('检查结果', default=10)
|
||||
note = models.TextField('备注', null=True, blank=True)
|
||||
|
|
|
@ -18,6 +18,7 @@ class RiskPointViewSet(CustomModelViewSet):
|
|||
|
||||
|
||||
class RiskViewSet(CustomModelViewSet):
|
||||
perms_map = {"get": "*", "post": "riskpoint.update", "put": "riskpoint.update", "delete": "riskpoint.update"}
|
||||
queryset = Risk.objects.all()
|
||||
create_serializer_class = RiskCreateUpdateSerializer
|
||||
update_serializer_class = RiskCreateUpdateSerializer
|
||||
|
|
Loading…
Reference in New Issue