重新同步数据库fake

This commit is contained in:
曹前明 2022-07-01 13:14:20 +08:00
parent 9889ba3475
commit 46bde26f48
48 changed files with 843 additions and 1146 deletions

View File

@ -1,8 +1,6 @@
# Generated by Django 3.2.12 on 2022-06-17 07:19 # Generated by Django 3.2.12 on 2022-07-01 05:11
from django.conf import settings
from django.db import migrations, models from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone import django.utils.timezone
@ -11,8 +9,6 @@ class Migration(migrations.Migration):
initial = True initial = True
dependencies = [ dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('system', '0001_initial'),
] ]
operations = [ operations = [
@ -24,6 +20,10 @@ class Migration(migrations.Migration):
('update_time', models.DateTimeField(auto_now=True, 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='删除标记')), ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
('type', models.PositiveSmallIntegerField(choices=[(10, '准入'), (20, '禁入')], verbose_name='准入类型')), ('type', models.PositiveSmallIntegerField(choices=[(10, '准入'), (20, '禁入')], verbose_name='准入类型')),
('obj_cate', models.CharField(help_text='post/org/people', max_length=20, verbose_name='对象类型')),
('stay_minute_min', models.PositiveSmallIntegerField(default=0, verbose_name='最短停留时间')),
('stay_minute_max', models.PositiveSmallIntegerField(default=0, verbose_name='最长停留时间')),
('sort', models.PositiveSmallIntegerField(default=1, verbose_name='排序')),
], ],
options={ options={
'abstract': False, 'abstract': False,
@ -37,40 +37,23 @@ class Migration(migrations.Migration):
('update_time', models.DateTimeField(auto_now=True, 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='删除标记')), ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
('name', models.CharField(max_length=20, verbose_name='名称')), ('name', models.CharField(max_length=20, verbose_name='名称')),
('type', models.PositiveSmallIntegerField(choices=[(10, '固定'), (20, '临时')], default=10, verbose_name='区域类型')), ('type', models.PositiveSmallIntegerField(choices=[(10, '固定'), (20, '临时作业')], default=10, verbose_name='区域类型')),
('level', models.PositiveSmallIntegerField(verbose_name='区域等级')), ('level', models.PositiveSmallIntegerField(verbose_name='区域风险等级')),
('cate', models.PositiveSmallIntegerField(verbose_name='区域分类')),
('number', models.CharField(blank=True, max_length=20, null=True, verbose_name='编号')), ('number', models.CharField(blank=True, max_length=20, null=True, verbose_name='编号')),
('visitor_yes', models.BooleanField(default=False, verbose_name='准许访客人员')), ('visitor_yes', models.BooleanField(default=False, verbose_name='准许访客人员')),
('remployee_yes', models.BooleanField(default=False, verbose_name='准许相关方人员')), ('remployee_yes', models.BooleanField(default=False, verbose_name='准许相关方人员')),
('employee_yes', models.BooleanField(default=True, verbose_name='准许全部员工')), ('employee_yes', models.BooleanField(default=True, verbose_name='准许内部员工')),
('count_people_min', models.PositiveIntegerField(default=0, verbose_name='最小人员数')),
('count_people_max', models.PositiveIntegerField(default=1000, verbose_name='最大人员数')),
('count_people', models.PositiveIntegerField(default=0, verbose_name='当前人数')),
('stay_minute_min', models.PositiveSmallIntegerField(default=0, help_text='0代表未配置', verbose_name='最短停留时间')),
('stay_minute_max', models.PositiveSmallIntegerField(default=0, help_text='0代表未配置', verbose_name='最长停留时间')),
('is_hidden', models.BooleanField(default=False, verbose_name='隐藏围栏用')),
('third_info', models.JSONField(blank=True, default=dict, verbose_name='三方信息')), ('third_info', models.JSONField(blank=True, default=dict, verbose_name='三方信息')),
('belong_dept', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='area_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='area_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
('posts_access', models.ManyToManyField(through='am.Access', to='system.Post')),
('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='area_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')),
], ],
options={ options={
'abstract': False, 'abstract': False,
}, },
), ),
migrations.AddField(
model_name='access',
name='area',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='am.area', verbose_name='关联区域'),
),
migrations.AddField(
model_name='access',
name='create_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='access_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'),
),
migrations.AddField(
model_name='access',
name='post',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='system.post', verbose_name='关联岗位'),
),
migrations.AddField(
model_name='access',
name='update_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='access_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'),
),
] ]

View File

@ -1,23 +0,0 @@
# Generated by Django 3.2.12 on 2022-06-25 00:19
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('am', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='area',
name='count_people_max',
field=models.PositiveIntegerField(default=1000, verbose_name='最大人员数'),
),
migrations.AddField(
model_name='area',
name='count_people_min',
field=models.PositiveIntegerField(default=0, verbose_name='最小人员数'),
),
]

View File

@ -0,0 +1,70 @@
# Generated by Django 3.2.12 on 2022-07-01 05:11
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
('am', '0001_initial'),
('hrm', '0001_initial'),
('system', '0001_initial'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.AddField(
model_name='area',
name='belong_dept',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='area_belong_dept', to='system.dept', verbose_name='所属部门'),
),
migrations.AddField(
model_name='area',
name='create_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='area_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'),
),
migrations.AddField(
model_name='area',
name='manager',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='区域负责人'),
),
migrations.AddField(
model_name='area',
name='update_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='area_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'),
),
migrations.AddField(
model_name='access',
name='area',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='am.area', verbose_name='关联区域'),
),
migrations.AddField(
model_name='access',
name='create_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='access_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'),
),
migrations.AddField(
model_name='access',
name='dept',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='system.dept', verbose_name='关联部门'),
),
migrations.AddField(
model_name='access',
name='employee',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='hrm.employee', verbose_name='关联人员'),
),
migrations.AddField(
model_name='access',
name='post',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='system.post', verbose_name='关联岗位'),
),
migrations.AddField(
model_name='access',
name='update_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='access_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'),
),
]

View File

@ -1,18 +0,0 @@
# Generated by Django 3.2.12 on 2022-06-25 01:47
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('am', '0002_auto_20220625_0819'),
]
operations = [
migrations.AddField(
model_name='area',
name='count_people',
field=models.PositiveIntegerField(default=0, verbose_name='当前人数'),
),
]

View File

@ -1,24 +0,0 @@
# Generated by Django 3.2.12 on 2022-06-25 02:58
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('am', '0003_area_count_people'),
]
operations = [
migrations.AddField(
model_name='area',
name='cate',
field=models.PositiveSmallIntegerField(default=10, verbose_name='区域分类'),
preserve_default=False,
),
migrations.AlterField(
model_name='area',
name='level',
field=models.PositiveSmallIntegerField(verbose_name='区域风险等级'),
),
]

View File

@ -1,42 +0,0 @@
# Generated by Django 3.2.12 on 2022-06-25 08:31
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('am', '0004_auto_20220625_1058'),
]
operations = [
migrations.RemoveField(
model_name='access',
name='post',
),
migrations.RemoveField(
model_name='area',
name='posts_access',
),
migrations.AddField(
model_name='access',
name='obj',
field=models.CharField(blank=True, max_length=50, null=True, unique=True, verbose_name='关联对象'),
),
migrations.AddField(
model_name='access',
name='obj_cate',
field=models.CharField(default='employee', help_text='employee/post', max_length=20, verbose_name='对象类型'),
preserve_default=False,
),
migrations.AddField(
model_name='area',
name='is_hidden',
field=models.BooleanField(default=False, verbose_name='隐藏围栏用'),
),
migrations.AlterField(
model_name='area',
name='type',
field=models.PositiveSmallIntegerField(choices=[(10, '固定'), (20, '临时作业')], default=10, verbose_name='区域类型'),
),
]

View File

@ -1,70 +0,0 @@
# Generated by Django 3.2.12 on 2022-06-27 00:36
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('hrm', '0002_auto_20220617_1124'),
('system', '0005_auto_20220627_0836'),
('am', '0005_auto_20220625_1631'),
]
operations = [
migrations.RemoveField(
model_name='access',
name='obj',
),
migrations.AddField(
model_name='access',
name='dept',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='system.dept', verbose_name='关联部门'),
),
migrations.AddField(
model_name='access',
name='employee',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='hrm.employee', verbose_name='关联人员'),
),
migrations.AddField(
model_name='access',
name='post',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='system.post', verbose_name='关联岗位'),
),
migrations.AddField(
model_name='access',
name='sort',
field=models.PositiveSmallIntegerField(default=1, verbose_name='排序'),
),
migrations.AddField(
model_name='access',
name='stay_minute_max',
field=models.PositiveSmallIntegerField(default=0, verbose_name='最长停留时间'),
),
migrations.AddField(
model_name='access',
name='stay_minute_min',
field=models.PositiveSmallIntegerField(default=0, verbose_name='最短停留时间'),
),
migrations.AddField(
model_name='area',
name='stay_minute_max',
field=models.PositiveSmallIntegerField(default=0, help_text='0代表未配置', verbose_name='最长停留时间'),
),
migrations.AddField(
model_name='area',
name='stay_minute_min',
field=models.PositiveSmallIntegerField(default=0, help_text='0代表未配置', verbose_name='最短停留时间'),
),
migrations.AlterField(
model_name='access',
name='obj_cate',
field=models.CharField(help_text='post/dept/people', max_length=20, verbose_name='对象类型'),
),
migrations.AlterField(
model_name='area',
name='employee_yes',
field=models.BooleanField(default=True, verbose_name='准许内部员工'),
),
]

View File

@ -1,26 +0,0 @@
# Generated by Django 3.2.12 on 2022-06-30 03:13
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),
('am', '0006_auto_20220627_0836'),
]
operations = [
migrations.AddField(
model_name='area',
name='manager',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='区域负责人'),
),
migrations.AlterField(
model_name='access',
name='obj_cate',
field=models.CharField(help_text='post/org/people', max_length=20, verbose_name='对象类型'),
),
]

View File

@ -1,8 +1,6 @@
# Generated by Django 3.2.12 on 2022-06-17 07:19 # Generated by Django 3.2.12 on 2022-07-01 05:11
from django.conf import settings
from django.db import migrations, models from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone import django.utils.timezone
@ -11,14 +9,22 @@ class Migration(migrations.Migration):
initial = True initial = True
dependencies = [ dependencies = [
('am', '0001_initial'),
('third', '0001_initial'),
('hrm', '0002_auto_20220617_1124'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('system', '0001_initial'),
] ]
operations = [ operations = [
migrations.CreateModel(
name='AlgoChannel',
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='删除标记')),
('always_on', models.BooleanField(default=True, verbose_name='始终开启')),
],
options={
'abstract': False,
},
),
migrations.CreateModel( migrations.CreateModel(
name='Event', name='Event',
fields=[ fields=[
@ -26,14 +32,14 @@ class Migration(migrations.Migration):
('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')), ('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
('update_time', models.DateTimeField(auto_now=True, 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='删除标记')), ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
('imgs', models.JSONField(blank=True, default=list, verbose_name='事件图片')),
('location', models.JSONField(blank=True, default=dict, verbose_name='事件点位坐标')), ('location', models.JSONField(blank=True, default=dict, verbose_name='事件点位坐标')),
('peope_type', models.CharField(blank=True, choices=[('employee', '内部员工'), ('remployee', '相关方人员'), ('visitor', '访客')], max_length=20, null=True, verbose_name='当事人员类型')), ('obj_cate', models.CharField(help_text='people(人员)/...', max_length=20, verbose_name='发生对象')),
('msg', models.TextField(blank=True, null=True, verbose_name='事件文本')),
('voice', models.TextField(blank=True, null=True, verbose_name='语音地址')),
('mark', models.PositiveSmallIntegerField(default=10, help_text='10(正常)/20(误报)', verbose_name='事件标记')),
('handle_time', models.DateTimeField(blank=True, null=True, verbose_name='处理时间')), ('handle_time', models.DateTimeField(blank=True, null=True, verbose_name='处理时间')),
('handle_desc', models.TextField(blank=True, null=True, verbose_name='处理描述')), ('handle_desc', models.TextField(blank=True, null=True, verbose_name='处理描述')),
('is_pushed', models.BooleanField(default=False, verbose_name='是否已推送')), ('is_pushed', models.BooleanField(default=False, verbose_name='是否已推送')),
('area', models.ForeignKey(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='event_belong_dept', to='system.dept', verbose_name='所属部门')),
], ],
options={ options={
'abstract': False, 'abstract': False,
@ -49,16 +55,24 @@ class Migration(migrations.Migration):
('code', models.CharField(max_length=10, unique=True, verbose_name='标识')), ('code', models.CharField(max_length=10, unique=True, verbose_name='标识')),
('name', models.CharField(max_length=20, unique=True, verbose_name='名称')), ('name', models.CharField(max_length=20, unique=True, verbose_name='名称')),
('trigger', models.PositiveSmallIntegerField(choices=[(10, '监控'), (20, '定位')], default=10, verbose_name='触发方式')), ('trigger', models.PositiveSmallIntegerField(choices=[(10, '监控'), (20, '定位')], default=10, verbose_name='触发方式')),
('self_algo', models.BooleanField(default=False, verbose_name='识别算法')),
('speaker_on', models.BooleanField(default=True, verbose_name='开启音响报警')), ('speaker_on', models.BooleanField(default=True, verbose_name='开启音响报警')),
('voice_person', models.PositiveSmallIntegerField(default=0, help_text='0女声3男声', verbose_name='声音选择')),
('filter_area_level', models.PositiveSmallIntegerField(choices=[(10, '办公'), (20, '生产一般'), (30, '生产重点'), (40, '四级')], default=10, verbose_name='固定音响区域级别过滤')), ('filter_area_level', models.PositiveSmallIntegerField(choices=[(10, '办公'), (20, '生产一般'), (30, '生产重点'), (40, '四级')], default=10, verbose_name='固定音响区域级别过滤')),
('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='eventcate_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')), ('hanle_minute', models.PositiveSmallIntegerField(default=0, help_text='超过处理时间事件状态变为超时未处理,0代表未配置', verbose_name='处理时间')),
('speakers', models.ManyToManyField(to='third.TDevice', verbose_name='固定音响')),
('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='eventcate_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')),
], ],
options={ options={
'abstract': False, 'abstract': False,
}, },
), ),
migrations.CreateModel(
name='Eventdo',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('handle_time', models.DateTimeField(blank=True, null=True, verbose_name='处理时间')),
('handle_desc', models.TextField(blank=True, null=True, verbose_name='处理描述')),
],
),
migrations.CreateModel( migrations.CreateModel(
name='NotifySetting', name='NotifySetting',
fields=[ fields=[
@ -66,16 +80,14 @@ class Migration(migrations.Migration):
('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')), ('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
('update_time', models.DateTimeField(auto_now=True, 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='删除标记')), ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
('filter_sender', models.PositiveSmallIntegerField(blank=True, null=True, verbose_name='提醒人员过滤')), ('obj_cate', models.CharField(help_text='post岗位/user用户/var变量', max_length=20, verbose_name='提醒对象')),
('var', models.CharField(blank=True, help_text='self(本人)/area_manager(区域负责人)/visit_receptionist(访客接待人)', max_length=20, null=True, verbose_name='提醒变量')),
('filter_recipient', models.PositiveSmallIntegerField(blank=True, null=True, verbose_name='提醒人员过滤')),
('filter_area_level', models.PositiveSmallIntegerField(blank=True, null=True, verbose_name='区域级别过滤')), ('filter_area_level', models.PositiveSmallIntegerField(blank=True, null=True, verbose_name='区域级别过滤')),
('sms_enable', models.BooleanField(default=False, verbose_name='短信通知')), ('sms_enable', models.BooleanField(default=False, verbose_name='短信通知')),
('wechat_enable', models.BooleanField(default=False, verbose_name='开启微信通知')), ('wechat_enable', models.BooleanField(default=False, verbose_name='开启微信通知')),
('can_handle', models.BooleanField(default=False, verbose_name='是否可处理')), ('can_handle', models.BooleanField(default=False, verbose_name='是否可处理')),
('sort', models.PositiveIntegerField(default=1, verbose_name='排序')), ('sort', models.PositiveIntegerField(default=1, verbose_name='排序')),
('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='notifysetting_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
('event_cate', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ecm.eventcate', to_field='code', verbose_name='关联事件种类')),
('post', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='system.post', verbose_name='提醒岗位')),
('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='notifysetting_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')),
], ],
options={ options={
'abstract': False, 'abstract': False,
@ -91,39 +103,9 @@ class Migration(migrations.Migration):
('msg', models.TextField(blank=True, null=True, verbose_name='推送文本')), ('msg', models.TextField(blank=True, null=True, verbose_name='推送文本')),
('is_read', models.BooleanField(default=False, verbose_name='站内信已读')), ('is_read', models.BooleanField(default=False, verbose_name='站内信已读')),
('can_handle', models.BooleanField(default=False, verbose_name='是否可处理')), ('can_handle', models.BooleanField(default=False, verbose_name='是否可处理')),
('dept', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='system.dept', verbose_name='部门')),
('event', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ecm.event', verbose_name='关联事件')),
('notify_setting', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='ecm.notifysetting', verbose_name='通过哪个配置')),
('post', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='system.post', verbose_name='岗位')),
('recipient', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='接收人')),
], ],
options={ options={
'abstract': False, 'abstract': False,
}, },
), ),
migrations.AddField(
model_name='event',
name='cate',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ecm.eventcate', verbose_name='事件种类'),
),
migrations.AddField(
model_name='event',
name='create_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='event_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'),
),
migrations.AddField(
model_name='event',
name='handle_user',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='处理人'),
),
migrations.AddField(
model_name='event',
name='people',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='hrm.employee', verbose_name='当事人'),
),
migrations.AddField(
model_name='event',
name='update_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='event_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'),
),
] ]

View File

@ -1,19 +0,0 @@
# Generated by Django 3.2.12 on 2022-06-17 09:40
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('third', '0001_initial'),
('ecm', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='eventcate',
name='speakers',
field=models.ManyToManyField(blank=True, to='third.TDevice', verbose_name='固定音响'),
),
]

View File

@ -0,0 +1,152 @@
# Generated by Django 3.2.12 on 2022-07-01 05:11
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('hrm', '0001_initial'),
('am', '0002_initial'),
('third', '0001_initial'),
('ecm', '0001_initial'),
('system', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='remind',
name='dept',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='system.dept', verbose_name='部门'),
),
migrations.AddField(
model_name='remind',
name='event',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ecm.event', verbose_name='关联事件'),
),
migrations.AddField(
model_name='remind',
name='notify_setting',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ecm.notifysetting', verbose_name='通过哪个配置'),
),
migrations.AddField(
model_name='remind',
name='post',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='system.post', verbose_name='岗位'),
),
migrations.AddField(
model_name='remind',
name='recipient',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='接收人'),
),
migrations.AddField(
model_name='notifysetting',
name='create_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='notifysetting_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'),
),
migrations.AddField(
model_name='notifysetting',
name='event_cate',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ecm.eventcate', verbose_name='关联事件种类'),
),
migrations.AddField(
model_name='notifysetting',
name='post',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='system.post', verbose_name='提醒岗位'),
),
migrations.AddField(
model_name='notifysetting',
name='update_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='notifysetting_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'),
),
migrations.AddField(
model_name='notifysetting',
name='user',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='提醒用户'),
),
migrations.AddField(
model_name='eventdo',
name='cate',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ecm.eventcate', verbose_name='关联事件种类'),
),
migrations.AddField(
model_name='eventdo',
name='event',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ecm.event', verbose_name='关联事件'),
),
migrations.AddField(
model_name='eventdo',
name='handle_user',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='处理人'),
),
migrations.AddField(
model_name='eventcate',
name='create_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='eventcate_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'),
),
migrations.AddField(
model_name='eventcate',
name='speakers',
field=models.ManyToManyField(blank=True, to='third.TDevice', verbose_name='固定音响'),
),
migrations.AddField(
model_name='eventcate',
name='update_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='eventcate_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'),
),
migrations.AddField(
model_name='event',
name='area',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='am.area', verbose_name='发生区域'),
),
migrations.AddField(
model_name='event',
name='belong_dept',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='event_belong_dept', to='system.dept', verbose_name='所属部门'),
),
migrations.AddField(
model_name='event',
name='cates',
field=models.ManyToManyField(through='ecm.Eventdo', to='ecm.EventCate', verbose_name='关联事件种类'),
),
migrations.AddField(
model_name='event',
name='create_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='event_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'),
),
migrations.AddField(
model_name='event',
name='employee',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='hrm.employee', verbose_name='当事人'),
),
migrations.AddField(
model_name='event',
name='handle_user',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='处理人'),
),
migrations.AddField(
model_name='event',
name='imgs',
field=models.ManyToManyField(blank=True, to='system.File', verbose_name='事件图片'),
),
migrations.AddField(
model_name='event',
name='update_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='event_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'),
),
migrations.AddField(
model_name='algochannel',
name='algo',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ecm.eventcate', verbose_name='关联算法'),
),
migrations.AddField(
model_name='algochannel',
name='vchannel',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='third.tdevice', verbose_name='视频通道'),
),
]

View File

@ -1,18 +0,0 @@
# Generated by Django 3.2.12 on 2022-06-18 09:04
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('ecm', '0002_alter_eventcate_speakers'),
]
operations = [
migrations.RenameField(
model_name='notifysetting',
old_name='filter_sender',
new_name='filter_recipient',
),
]

View File

@ -1,19 +0,0 @@
# Generated by Django 3.2.12 on 2022-06-19 03:29
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('ecm', '0003_rename_filter_sender_notifysetting_filter_recipient'),
]
operations = [
migrations.AlterField(
model_name='notifysetting',
name='event_cate',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ecm.eventcate', verbose_name='关联事件种类'),
),
]

View File

@ -1,23 +0,0 @@
# Generated by Django 3.2.12 on 2022-06-20 07:17
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('system', '0001_initial'),
('ecm', '0004_alter_notifysetting_event_cate'),
]
operations = [
migrations.RemoveField(
model_name='event',
name='imgs',
),
migrations.AddField(
model_name='event',
name='imgs',
field=models.ManyToManyField(blank=True, to='system.File', verbose_name='事件图片'),
),
]

View File

@ -1,93 +0,0 @@
# Generated by Django 3.2.12 on 2022-07-01 01:15
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),
('system', '0005_auto_20220627_0836'),
('ecm', '0005_auto_20220620_1517'),
]
operations = [
migrations.RemoveField(
model_name='event',
name='cate',
),
migrations.AddField(
model_name='event',
name='mark',
field=models.PositiveSmallIntegerField(default=10, verbose_name='事件标记'),
),
migrations.AddField(
model_name='event',
name='msg',
field=models.TextField(blank=True, null=True, verbose_name='事件文本'),
),
migrations.AddField(
model_name='event',
name='state',
field=models.PositiveSmallIntegerField(default=10, verbose_name='事件状态'),
),
migrations.AddField(
model_name='eventcate',
name='hanle_minute',
field=models.PositiveSmallIntegerField(default=0, help_text='超过处理时间事件状态变为超时未处理,0代表未配置', verbose_name='处理时间'),
),
migrations.AddField(
model_name='eventcate',
name='voice_person',
field=models.PositiveSmallIntegerField(default=0, help_text='0女声3男声', verbose_name='声音选择'),
),
migrations.AddField(
model_name='notifysetting',
name='obj_cate',
field=models.CharField(default='post', help_text='post岗位/user用户/var变量', max_length=20, verbose_name='提醒对象'),
preserve_default=False,
),
migrations.AddField(
model_name='notifysetting',
name='user',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='提醒用户'),
),
migrations.AddField(
model_name='notifysetting',
name='var',
field=models.CharField(blank=True, max_length=20, null=True, verbose_name='提醒变量'),
),
migrations.AlterField(
model_name='remind',
name='dept',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='system.dept', verbose_name='部门'),
),
migrations.AlterField(
model_name='remind',
name='notify_setting',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ecm.notifysetting', verbose_name='通过哪个配置'),
),
migrations.AlterField(
model_name='remind',
name='post',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='system.post', verbose_name='岗位'),
),
migrations.CreateModel(
name='Eventdo',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('handle_time', models.DateTimeField(blank=True, null=True, verbose_name='处理时间')),
('handle_desc', models.TextField(blank=True, null=True, verbose_name='处理描述')),
('cate', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ecm.eventcate', verbose_name='关联事件种类')),
('event', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ecm.event', verbose_name='关联事件')),
('handle_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='处理人')),
],
),
migrations.AddField(
model_name='event',
name='cates',
field=models.ManyToManyField(through='ecm.Eventdo', to='ecm.EventCate', verbose_name='关联事件种类'),
),
]

View File

@ -1,52 +0,0 @@
# Generated by Django 3.2.12 on 2022-07-01 03:37
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('ecm', '0006_auto_20220701_0915'),
]
operations = [
migrations.RenameField(
model_name='event',
old_name='people',
new_name='employee',
),
migrations.RemoveField(
model_name='event',
name='peope_type',
),
migrations.RemoveField(
model_name='event',
name='state',
),
migrations.AddField(
model_name='event',
name='obj_cate',
field=models.CharField(default='people', help_text='people(人员)/...', max_length=20, verbose_name='发生对象'),
preserve_default=False,
),
migrations.AddField(
model_name='event',
name='voice',
field=models.TextField(blank=True, null=True, verbose_name='语音地址'),
),
migrations.AddField(
model_name='eventcate',
name='self_algo',
field=models.BooleanField(default=False, verbose_name='识别算法'),
),
migrations.AlterField(
model_name='event',
name='mark',
field=models.PositiveSmallIntegerField(default=10, help_text='10(正常)/20(误报)', verbose_name='事件标记'),
),
migrations.AlterField(
model_name='notifysetting',
name='var',
field=models.CharField(blank=True, help_text='self(本人)/area_manager(区域负责人)/visit_receptionist(访客接待人)', max_length=20, null=True, verbose_name='提醒变量'),
),
]

View File

@ -32,6 +32,13 @@ class EventCate(CommonAModel):
return self.name return self.name
class AlgoChannel(BaseModel):
algo = models.ForeignKey(EventCate, verbose_name='关联算法', on_delete=models.CASCADE)
vchannel = models.ForeignKey(TDevice, verbose_name='视频通道', on_delete=models.CASCADE)
always_on = models.BooleanField("始终开启", default=True)
class NotifySetting(CommonAModel): class NotifySetting(CommonAModel):
""" """
提醒配置 提醒配置

View File

@ -1,8 +1,6 @@
# Generated by Django 3.2.12 on 2022-06-14 05:00 # Generated by Django 3.2.12 on 2022-07-01 05:11
from django.conf import settings
from django.db import migrations, models from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone import django.utils.timezone
@ -11,23 +9,36 @@ class Migration(migrations.Migration):
initial = True initial = True
dependencies = [ dependencies = [
('system', '0001_initial'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
] ]
operations = [ operations = [
migrations.CreateModel( migrations.CreateModel(
name='NotWorkRemark', name='Certificate',
fields=[ fields=[
('id', models.CharField(editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')), ('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='创建时间')), ('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
('update_time', models.DateTimeField(auto_now=True, 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='删除标记')), ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
('not_work_date', models.DateField(verbose_name='未打卡日期')), ('name', models.CharField(max_length=20, verbose_name='证书名称')),
('remark', models.CharField(blank=True, max_length=200, null=True, verbose_name='未打卡说明')), ('number', models.CharField(max_length=20, unique=True, verbose_name='证书编号')),
('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='notworkremark_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')), ('type', models.PositiveSmallIntegerField(default=10, verbose_name='证书类型')),
('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='notworkremark_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')), ('issue_date', models.DateField(verbose_name='发证日期')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='用户')), ('expiration_date', models.DateField(verbose_name='有效期')),
('review_date', models.DateField(verbose_name='下一次复审日期')),
('file', models.TextField(blank=True, null=True, verbose_name='文件地址')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='ClockRecord',
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='删除标记')),
('type', models.PositiveSmallIntegerField(choices=[(10, '上班打卡')], default=10, verbose_name='打卡类型')),
], ],
options={ options={
'abstract': False, 'abstract': False,
@ -51,17 +62,12 @@ class Migration(migrations.Migration):
('signature', models.CharField(blank=True, max_length=200, null=True, verbose_name='签名图片')), ('signature', models.CharField(blank=True, max_length=200, null=True, verbose_name='签名图片')),
('birthday', models.DateField(blank=True, null=True, verbose_name='出生年月日')), ('birthday', models.DateField(blank=True, null=True, verbose_name='出生年月日')),
('qualification', models.CharField(blank=True, max_length=50, null=True, verbose_name='学历')), ('qualification', models.CharField(blank=True, max_length=50, null=True, verbose_name='学历')),
('job_state', models.IntegerField(choices=[(10, '在职'), (20, '离职')], default=1, verbose_name='在职状态')), ('job_state', models.IntegerField(choices=[(10, '在职'), (20, '离职')], default=10, verbose_name='在职状态')),
('face_data', models.JSONField(blank=True, null=True, verbose_name='人脸识别数据')),
('is_atwork', models.BooleanField(default=False, verbose_name='当前在岗')), ('is_atwork', models.BooleanField(default=False, verbose_name='当前在岗')),
('show_atwork', models.BooleanField(default=True, verbose_name='是否展示在岗状态')), ('show_atwork', models.BooleanField(default=True, verbose_name='是否展示在岗状态')),
('last_check_time', models.DateTimeField(blank=True, null=True, verbose_name='打卡时间')), ('last_check_time', models.DateTimeField(blank=True, null=True, verbose_name='打卡时间')),
('not_work_remark', models.CharField(blank=True, max_length=200, null=True, verbose_name='当前未打卡说明')), ('not_work_remark', models.CharField(blank=True, max_length=200, null=True, verbose_name='当前未打卡说明')),
('third_info', models.JSONField(blank=True, default=dict, verbose_name='三方信息')), ('third_info', models.JSONField(blank=True, default=dict, verbose_name='三方信息')),
('belong_dept', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='employee_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='employee_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='employee_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')),
('user', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL, verbose_name='系统账号')),
], ],
options={ options={
'verbose_name': '员工补充信息', 'verbose_name': '员工补充信息',
@ -69,37 +75,14 @@ class Migration(migrations.Migration):
}, },
), ),
migrations.CreateModel( migrations.CreateModel(
name='ClockRecord', name='NotWorkRemark',
fields=[ fields=[
('id', models.CharField(editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')), ('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='创建时间')), ('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
('update_time', models.DateTimeField(auto_now=True, 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='删除标记')), ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
('type', models.PositiveSmallIntegerField(choices=[(10, '上班打卡')], default=10, verbose_name='打卡类型')), ('not_work_date', models.DateField(verbose_name='未打卡日期')),
('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='clockrecord_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')), ('remark', models.CharField(blank=True, max_length=200, null=True, verbose_name='未打卡说明')),
('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='clockrecord_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='Certificate',
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='删除标记')),
('name', models.CharField(max_length=20, verbose_name='证书名称')),
('number', models.CharField(max_length=20, unique=True, verbose_name='证书编号')),
('type', models.PositiveSmallIntegerField(default=10, verbose_name='证书类型')),
('issue_date', models.DateField(verbose_name='发证日期')),
('expiration_date', models.DateField(verbose_name='有效期')),
('review_date', models.DateField(verbose_name='下一次复审日期')),
('file', models.TextField(blank=True, null=True, verbose_name='文件地址')),
('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='certificate_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
('employee', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='hrm.employee', verbose_name='对应人员')),
('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='certificate_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')),
], ],
options={ options={
'abstract': False, 'abstract': False,

View File

@ -1,22 +0,0 @@
# Generated by Django 3.2.12 on 2022-06-17 03:24
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('hrm', '0001_initial'),
]
operations = [
migrations.RemoveField(
model_name='employee',
name='face_data',
),
migrations.AlterField(
model_name='employee',
name='job_state',
field=models.IntegerField(choices=[(10, '在职'), (20, '离职')], default=10, verbose_name='在职状态'),
),
]

View File

@ -0,0 +1,79 @@
# Generated by Django 3.2.12 on 2022-07-01 05:11
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
('hrm', '0001_initial'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('system', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='notworkremark',
name='create_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='notworkremark_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'),
),
migrations.AddField(
model_name='notworkremark',
name='update_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='notworkremark_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'),
),
migrations.AddField(
model_name='notworkremark',
name='user',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='用户'),
),
migrations.AddField(
model_name='employee',
name='belong_dept',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='employee_belong_dept', to='system.dept', verbose_name='所属部门'),
),
migrations.AddField(
model_name='employee',
name='create_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='employee_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'),
),
migrations.AddField(
model_name='employee',
name='update_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='employee_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'),
),
migrations.AddField(
model_name='employee',
name='user',
field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL, verbose_name='系统账号'),
),
migrations.AddField(
model_name='clockrecord',
name='create_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='clockrecord_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'),
),
migrations.AddField(
model_name='clockrecord',
name='update_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='clockrecord_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'),
),
migrations.AddField(
model_name='certificate',
name='create_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='certificate_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'),
),
migrations.AddField(
model_name='certificate',
name='employee',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='hrm.employee', verbose_name='对应人员'),
),
migrations.AddField(
model_name='certificate',
name='update_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='certificate_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'),
),
]

View File

@ -1,8 +1,6 @@
# Generated by Django 3.2.12 on 2022-06-06 07:59 # Generated by Django 3.2.12 on 2022-07-01 05:11
from django.conf import settings
from django.db import migrations, models from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone import django.utils.timezone
import uuid import uuid
@ -12,7 +10,6 @@ class Migration(migrations.Migration):
initial = True initial = True
dependencies = [ dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
] ]
operations = [ operations = [
@ -37,7 +34,6 @@ class Migration(migrations.Migration):
('errors', models.TextField(blank=True, null=True)), ('errors', models.TextField(blank=True, null=True)),
('agent', models.TextField(blank=True, null=True)), ('agent', models.TextField(blank=True, null=True)),
('status_code', models.PositiveIntegerField(blank=True, db_index=True, null=True)), ('status_code', models.PositiveIntegerField(blank=True, db_index=True, null=True)),
('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)),
], ],
options={ options={
'verbose_name': 'DRF请求日志', 'verbose_name': 'DRF请求日志',

View File

@ -1,4 +1,4 @@
# Generated by Django 3.2.12 on 2022-06-27 07:57 # Generated by Django 3.2.12 on 2022-07-01 05:11
from django.conf import settings from django.conf import settings
from django.db import migrations, models from django.db import migrations, models
@ -7,15 +7,17 @@ import django.db.models.deletion
class Migration(migrations.Migration): class Migration(migrations.Migration):
initial = True
dependencies = [ dependencies = [
('monitor', '0001_initial'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL), migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('rpm', '0002_rename_addresss_rparty_address'),
] ]
operations = [ operations = [
migrations.AddField( migrations.AddField(
model_name='rparty', model_name='drfrequestlog',
name='admin', name='user',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL),
), ),
] ]

View File

@ -1,6 +1,5 @@
# Generated by Django 3.2.12 on 2022-06-21 00:56 # Generated by Django 3.2.12 on 2022-07-01 05:11
from django.conf import settings
from django.db import migrations, models from django.db import migrations, models
import django.db.models.deletion import django.db.models.deletion
import django.utils.timezone import django.utils.timezone
@ -11,14 +10,30 @@ class Migration(migrations.Migration):
initial = True initial = True
dependencies = [ dependencies = [
('hrm', '0002_auto_20220617_1124'), ('hrm', '0001_initial'),
('am', '0001_initial'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('system', '0001_initial'),
('wf', '0001_initial'),
] ]
operations = [ operations = [
migrations.CreateModel(
name='GasCheck',
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(verbose_name='检测时间')),
('check_place', models.CharField(max_length=100, verbose_name='检测部位')),
('o2', models.DecimalField(blank=True, decimal_places=1, max_digits=3, null=True)),
('co', models.PositiveSmallIntegerField(blank=True, null=True)),
('h2s', models.PositiveSmallIntegerField(blank=True, null=True)),
('lel', models.DecimalField(blank=True, decimal_places=1, max_digits=3, null=True)),
('f5', models.CharField(blank=True, max_length=10, null=True)),
('is_ok', models.BooleanField(default=True, verbose_name='是否正常')),
],
options={
'abstract': False,
},
),
migrations.CreateModel( migrations.CreateModel(
name='Operation', name='Operation',
fields=[ fields=[
@ -28,17 +43,11 @@ class Migration(migrations.Migration):
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')), ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
('number', models.CharField(blank=True, max_length=20, null=True, verbose_name='作业编号')), ('number', models.CharField(blank=True, max_length=20, null=True, verbose_name='作业编号')),
('name', models.CharField(max_length=200, verbose_name='作业简述')), ('name', models.CharField(max_length=200, verbose_name='作业简述')),
('state', models.PositiveSmallIntegerField(default=10, verbose_name='作业状态')),
('place', models.TextField(blank=True, null=True, verbose_name='具体地点')), ('place', models.TextField(blank=True, null=True, verbose_name='具体地点')),
('start_time', models.DateTimeField(verbose_name='作业开始时间')), ('start_time', models.DateTimeField(verbose_name='作业开始时间')),
('end_time', models.DateTimeField(verbose_name='作业结束时间')), ('end_time', models.DateTimeField(verbose_name='作业结束时间')),
('state_work', models.CharField(help_text='运行/停机/检修', max_length=20, verbose_name='生产状态')), ('state_work', models.CharField(help_text='运行/停机/检修', max_length=20, verbose_name='生产状态')),
('area', models.ForeignKey(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='operation_belong_dept', to='system.dept', verbose_name='所属部门')),
('coordinator', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='业务部门协调员')),
('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='operation_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
('dept_bus', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='op_dept_bus', to='system.dept', verbose_name='业务部门')),
('dept_ter', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='op_dept_ter', to='system.dept', verbose_name='属地部门')),
('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='operation_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')),
], ],
options={ options={
'abstract': False, 'abstract': False,
@ -72,7 +81,22 @@ class Migration(migrations.Migration):
('close_note', models.PositiveSmallIntegerField(blank=True, choices=[(10, '作业正常结束'), (20, '因计划改变停止作业'), (30, '因发生异常终止作业'), (40, '其他')], help_text='正常结束/计划改变停止/发生异常停止/其他', null=True, verbose_name='作业关闭情况')), ('close_note', models.PositiveSmallIntegerField(blank=True, choices=[(10, '作业正常结束'), (20, '因计划改变停止作业'), (30, '因发生异常终止作业'), (40, '其他')], help_text='正常结束/计划改变停止/发生异常停止/其他', null=True, verbose_name='作业关闭情况')),
('close_dos', models.JSONField(blank=True, default=list, verbose_name='关闭工作')), ('close_dos', models.JSONField(blank=True, default=list, verbose_name='关闭工作')),
('close_desc', models.TextField(blank=True, null=True, verbose_name='作业关闭描述')), ('close_desc', models.TextField(blank=True, null=True, verbose_name='作业关闭描述')),
('belong_dept', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='opl_belong_dept', to='system.dept', verbose_name='所属部门')), ],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='OplCate',
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='删除标记')),
('code', models.CharField(max_length=10, unique=True, verbose_name='标识')),
('name', models.CharField(max_length=20, unique=True, verbose_name='名称')),
('description', models.TextField(blank=True, null=True, verbose_name='描述')),
('template_export', models.TextField(blank=True, null=True, verbose_name='导出word模板')),
], ],
options={ options={
'abstract': False, 'abstract': False,
@ -92,7 +116,6 @@ class Migration(migrations.Migration):
('expiration_date', models.DateField(verbose_name='有效期')), ('expiration_date', models.DateField(verbose_name='有效期')),
('review_date', models.DateField(verbose_name='下一次复审日期')), ('review_date', models.DateField(verbose_name='下一次复审日期')),
('file', models.TextField(blank=True, null=True, verbose_name='文件地址')), ('file', models.TextField(blank=True, null=True, verbose_name='文件地址')),
('certificate', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='hrm.certificate', verbose_name='关联证书')),
], ],
options={ options={
'abstract': False, 'abstract': False,
@ -108,111 +131,6 @@ class Migration(migrations.Migration):
('duty', models.CharField(blank=True, help_text='作业人员/起重司机/司索人员/起重指挥/电工', max_length=100, null=True, verbose_name='工作职责')), ('duty', models.CharField(blank=True, help_text='作业人员/起重司机/司索人员/起重指挥/电工', max_length=100, null=True, verbose_name='工作职责')),
('certificates', models.ManyToManyField(through='opm.OplCert', to='hrm.Certificate', verbose_name='关联证书')), ('certificates', models.ManyToManyField(through='opm.OplCert', to='hrm.Certificate', verbose_name='关联证书')),
('opl', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='opm.opl', verbose_name='作业许可')), ('opl', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='opm.opl', verbose_name='作业许可')),
('worker', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='作业人员')),
],
options={
'abstract': False,
},
),
migrations.AddField(
model_name='oplcert',
name='opl_worker',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='opm.oplworker', verbose_name='关联作业人员'),
),
migrations.CreateModel(
name='OplCate',
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='删除标记')),
('code', models.CharField(max_length=10, unique=True, verbose_name='标识')),
('name', models.CharField(max_length=20, unique=True, verbose_name='名称')),
('description', models.TextField(blank=True, null=True, verbose_name='描述')),
('template_export', models.TextField(blank=True, null=True, verbose_name='导出word模板')),
('close_options', models.ManyToManyField(related_name='oplcate_close_options', to='system.Dictionary', verbose_name='关闭工作')),
('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='oplcate_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
('measure_options', models.ManyToManyField(related_name='oplcate_measure_options', to='system.Dictionary', verbose_name='控制措施')),
('risk_options', models.ManyToManyField(related_name='oplcate_risk_options', to='system.Dictionary', verbose_name='风险分析')),
('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='oplcate_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')),
('workflow', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='wf.workflow', verbose_name='使用的工作流')),
],
options={
'abstract': False,
},
),
migrations.AddField(
model_name='opl',
name='cate',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='opm.oplcate', verbose_name='作业许可种类'),
),
migrations.AddField(
model_name='opl',
name='charger',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='opl_charger', to=settings.AUTH_USER_MODEL, verbose_name='作业负责人'),
),
migrations.AddField(
model_name='opl',
name='close_imgs',
field=models.ManyToManyField(blank=True, related_name='opl_close_imgs', to='system.File', verbose_name='作业关闭照片'),
),
migrations.AddField(
model_name='opl',
name='create_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='opl_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'),
),
migrations.AddField(
model_name='opl',
name='create_imgs',
field=models.ManyToManyField(blank=True, related_name='opl_create_imgs', to='system.File', verbose_name='作业审批照片'),
),
migrations.AddField(
model_name='opl',
name='dept_do',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='system.dept', verbose_name='作业部门'),
),
migrations.AddField(
model_name='opl',
name='monitor',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='opl_monitor', to=settings.AUTH_USER_MODEL, verbose_name='作业监护人'),
),
migrations.AddField(
model_name='opl',
name='operation',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='opl_operation', to='opm.operation', verbose_name='关联作业'),
),
migrations.AddField(
model_name='opl',
name='ticket',
field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='wf.ticket', verbose_name='关联工单'),
),
migrations.AddField(
model_name='opl',
name='update_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='opl_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'),
),
migrations.AddField(
model_name='opl',
name='workers',
field=models.ManyToManyField(through='opm.OplWorker', to=settings.AUTH_USER_MODEL, verbose_name='作业人员'),
),
migrations.CreateModel(
name='GasCheck',
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(verbose_name='检测时间')),
('check_place', models.CharField(max_length=100, verbose_name='检测部位')),
('o2', models.DecimalField(decimal_places=1, max_digits=3)),
('co', models.PositiveSmallIntegerField()),
('lel', models.DecimalField(decimal_places=1, max_digits=3)),
('is_ok', models.BooleanField(default=True, verbose_name='是否正常')),
('checker', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='检测人')),
('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='gascheck_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
('opl', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='opm.opl', verbose_name='关联作业许可')),
('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='gascheck_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')),
], ],
options={ options={
'abstract': False, 'abstract': False,

View File

@ -0,0 +1,182 @@
# Generated by Django 3.2.12 on 2022-07-01 05:11
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
('hrm', '0002_initial'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('wf', '0001_initial'),
('opm', '0001_initial'),
('am', '0002_initial'),
('system', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='oplworker',
name='worker',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='作业人员'),
),
migrations.AddField(
model_name='oplcert',
name='certificate',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='hrm.certificate', verbose_name='关联证书'),
),
migrations.AddField(
model_name='oplcert',
name='opl_worker',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='opm.oplworker', verbose_name='关联作业人员'),
),
migrations.AddField(
model_name='oplcate',
name='close_options',
field=models.ManyToManyField(related_name='oplcate_close_options', to='system.Dictionary', verbose_name='关闭工作'),
),
migrations.AddField(
model_name='oplcate',
name='create_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='oplcate_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'),
),
migrations.AddField(
model_name='oplcate',
name='measure_options',
field=models.ManyToManyField(related_name='oplcate_measure_options', to='system.Dictionary', verbose_name='控制措施'),
),
migrations.AddField(
model_name='oplcate',
name='risk_options',
field=models.ManyToManyField(related_name='oplcate_risk_options', to='system.Dictionary', verbose_name='风险分析'),
),
migrations.AddField(
model_name='oplcate',
name='update_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='oplcate_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'),
),
migrations.AddField(
model_name='oplcate',
name='workflow',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='wf.workflow', verbose_name='使用的工作流'),
),
migrations.AddField(
model_name='opl',
name='belong_dept',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='opl_belong_dept', to='system.dept', verbose_name='所属部门'),
),
migrations.AddField(
model_name='opl',
name='cate',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='opm.oplcate', verbose_name='作业许可种类'),
),
migrations.AddField(
model_name='opl',
name='charger',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='opl_charger', to=settings.AUTH_USER_MODEL, verbose_name='作业负责人'),
),
migrations.AddField(
model_name='opl',
name='close_imgs',
field=models.ManyToManyField(blank=True, related_name='opl_close_imgs', to='system.File', verbose_name='作业关闭照片'),
),
migrations.AddField(
model_name='opl',
name='create_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='opl_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'),
),
migrations.AddField(
model_name='opl',
name='create_imgs',
field=models.ManyToManyField(blank=True, related_name='opl_create_imgs', to='system.File', verbose_name='作业审批照片'),
),
migrations.AddField(
model_name='opl',
name='dept_do',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='system.dept', verbose_name='作业部门'),
),
migrations.AddField(
model_name='opl',
name='monitor',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='opl_monitor', to=settings.AUTH_USER_MODEL, verbose_name='作业监护人'),
),
migrations.AddField(
model_name='opl',
name='operation',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='opl_operation', to='opm.operation', verbose_name='关联作业'),
),
migrations.AddField(
model_name='opl',
name='ticket',
field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='wf.ticket', verbose_name='关联工单'),
),
migrations.AddField(
model_name='opl',
name='update_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='opl_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'),
),
migrations.AddField(
model_name='opl',
name='workers',
field=models.ManyToManyField(through='opm.OplWorker', to=settings.AUTH_USER_MODEL, verbose_name='作业人员'),
),
migrations.AddField(
model_name='operation',
name='area',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='am.area', verbose_name='作业区域'),
),
migrations.AddField(
model_name='operation',
name='belong_dept',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='operation_belong_dept', to='system.dept', verbose_name='所属部门'),
),
migrations.AddField(
model_name='operation',
name='coordinator',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='业务部门协调员'),
),
migrations.AddField(
model_name='operation',
name='create_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='operation_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'),
),
migrations.AddField(
model_name='operation',
name='dept_bus',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='op_dept_bus', to='system.dept', verbose_name='业务部门'),
),
migrations.AddField(
model_name='operation',
name='dept_ter',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='op_dept_ter', to='system.dept', verbose_name='属地部门'),
),
migrations.AddField(
model_name='operation',
name='update_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='operation_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'),
),
migrations.AddField(
model_name='gascheck',
name='checker',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='检测人'),
),
migrations.AddField(
model_name='gascheck',
name='create_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='gascheck_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'),
),
migrations.AddField(
model_name='gascheck',
name='opl',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='opm.opl', verbose_name='关联作业许可'),
),
migrations.AddField(
model_name='gascheck',
name='update_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='gascheck_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'),
),
]

View File

@ -1,18 +0,0 @@
# Generated by Django 3.2.12 on 2022-06-23 03:11
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('opm', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='operation',
name='state',
field=models.PositiveSmallIntegerField(default=10, verbose_name='作业状态'),
),
]

View File

@ -1,19 +0,0 @@
# Generated by Django 3.2.12 on 2022-06-25 09:45
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('opm', '0002_operation_state'),
]
operations = [
migrations.AddField(
model_name='gascheck',
name='h2s',
field=models.PositiveSmallIntegerField(default=1),
preserve_default=False,
),
]

View File

@ -1,38 +0,0 @@
# Generated by Django 3.2.12 on 2022-06-25 09:54
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('opm', '0003_gascheck_h2s'),
]
operations = [
migrations.AddField(
model_name='gascheck',
name='f5',
field=models.CharField(blank=True, max_length=10, null=True),
),
migrations.AlterField(
model_name='gascheck',
name='co',
field=models.PositiveSmallIntegerField(blank=True, null=True),
),
migrations.AlterField(
model_name='gascheck',
name='h2s',
field=models.PositiveSmallIntegerField(blank=True, null=True),
),
migrations.AlterField(
model_name='gascheck',
name='lel',
field=models.DecimalField(blank=True, decimal_places=1, max_digits=3, null=True),
),
migrations.AlterField(
model_name='gascheck',
name='o2',
field=models.DecimalField(blank=True, decimal_places=1, max_digits=3, null=True),
),
]

View File

@ -1,6 +1,5 @@
# Generated by Django 3.2.12 on 2022-06-20 01:42 # Generated by Django 3.2.12 on 2022-07-01 05:11
from django.conf import settings
from django.db import migrations, models from django.db import migrations, models
import django.db.models.deletion import django.db.models.deletion
import django.utils.timezone import django.utils.timezone
@ -11,10 +10,6 @@ class Migration(migrations.Migration):
initial = True initial = True
dependencies = [ dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('hrm', '0002_auto_20220617_1124'),
('wf', '0001_initial'),
('system', '0001_initial'),
] ]
operations = [ operations = [
@ -32,8 +27,6 @@ class Migration(migrations.Migration):
('expiration_date', models.DateField(verbose_name='有效期')), ('expiration_date', models.DateField(verbose_name='有效期')),
('review_date', models.DateField(verbose_name='下一次复审日期')), ('review_date', models.DateField(verbose_name='下一次复审日期')),
('file', models.CharField(blank=True, max_length=1000, null=True, verbose_name='文件地址')), ('file', models.CharField(blank=True, max_length=1000, null=True, verbose_name='文件地址')),
('certificate', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='hrm.certificate', verbose_name='关联认可证书')),
('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='rcertificate_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
], ],
options={ options={
'abstract': False, 'abstract': False,
@ -50,8 +43,18 @@ class Migration(migrations.Migration):
('phone', models.CharField(max_length=11, verbose_name='手机号')), ('phone', models.CharField(max_length=11, verbose_name='手机号')),
('photo', models.CharField(max_length=1000, verbose_name='证件照')), ('photo', models.CharField(max_length=1000, verbose_name='证件照')),
('id_number', models.CharField(max_length=100, verbose_name='身份证号')), ('id_number', models.CharField(max_length=100, verbose_name='身份证号')),
('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='remployee_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')), ],
('employee', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='hrm.employee', verbose_name='成员信息')), options={
'abstract': False,
},
),
migrations.CreateModel(
name='Rfile',
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='删除标记')),
], ],
options={ options={
'abstract': False, 'abstract': False,
@ -70,12 +73,8 @@ class Migration(migrations.Migration):
('contacter', models.CharField(max_length=20, verbose_name='联系人')), ('contacter', models.CharField(max_length=20, verbose_name='联系人')),
('phone', models.CharField(max_length=20, verbose_name='联系电话')), ('phone', models.CharField(max_length=20, verbose_name='联系电话')),
('email', models.EmailField(blank=True, max_length=254, null=True, verbose_name='邮箱')), ('email', models.EmailField(blank=True, max_length=254, null=True, verbose_name='邮箱')),
('addresss', models.CharField(blank=True, max_length=200, null=True, verbose_name='企业地址')), ('address', models.CharField(blank=True, max_length=200, null=True, verbose_name='企业地址')),
('description', models.TextField(blank=True, null=True, verbose_name='概述')), ('description', models.TextField(blank=True, null=True, verbose_name='概述')),
('belong_dept', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='rparty_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='rparty_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
('dept', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='system.dept', verbose_name='关联部门')),
('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='rparty_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')),
], ],
options={ options={
'abstract': False, 'abstract': False,
@ -94,11 +93,6 @@ class Migration(migrations.Migration):
('come_time', models.DateTimeField(verbose_name='进厂时间')), ('come_time', models.DateTimeField(verbose_name='进厂时间')),
('leave_time', models.DateTimeField(verbose_name='离厂时间')), ('leave_time', models.DateTimeField(verbose_name='离厂时间')),
('state', models.PositiveSmallIntegerField(default=10, verbose_name='状态')), ('state', models.PositiveSmallIntegerField(default=10, verbose_name='状态')),
('belong_dept', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='rpj_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='rpj_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
('rparty', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rpm.rparty', verbose_name='关联相关方')),
('ticket', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='wf.ticket', verbose_name='关联工单')),
('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='rpj_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')),
], ],
options={ options={
'abstract': False, 'abstract': False,
@ -118,7 +112,18 @@ class Migration(migrations.Migration):
('expiration_date', models.DateField(verbose_name='有效期')), ('expiration_date', models.DateField(verbose_name='有效期')),
('review_date', models.DateField(verbose_name='下一次复审日期')), ('review_date', models.DateField(verbose_name='下一次复审日期')),
('file', models.CharField(blank=True, max_length=1000, null=True, verbose_name='文件地址')), ('file', models.CharField(blank=True, max_length=1000, null=True, verbose_name='文件地址')),
('rcertificate', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='rpm.rcertificate', verbose_name='关联相关方证书')), ],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='Rpjfile',
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='删除标记')),
], ],
options={ options={
'abstract': False, 'abstract': False,
@ -133,72 +138,12 @@ class Migration(migrations.Migration):
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')), ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
('duty', models.CharField(blank=True, max_length=20, null=True, verbose_name='职责')), ('duty', models.CharField(blank=True, max_length=20, null=True, verbose_name='职责')),
('is_manager', models.BooleanField(default=False, verbose_name='是否项目负责人')), ('is_manager', models.BooleanField(default=False, verbose_name='是否项目负责人')),
('rcertificates', models.ManyToManyField(through='rpm.Rpjcertificate', to='rpm.Rcertificate')), ('rcertificates', models.ManyToManyField(blank=True, through='rpm.Rpjcertificate', to='rpm.Rcertificate')),
('remployee', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='rpm.remployee', verbose_name='关联人员')), ('remployee', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rpm.remployee', verbose_name='关联人员')),
('rpj', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rpm.rpj', verbose_name='关联项目')), ('rpj', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rpm.rpj', verbose_name='关联项目')),
], ],
options={ options={
'abstract': False, 'abstract': False,
}, },
), ),
migrations.CreateModel(
name='Rpjfile',
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='删除标记')),
('file_cate', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='system.dictionary', verbose_name='文件种类')),
('files', models.ManyToManyField(blank=True, to='system.File', verbose_name='文件')),
('rpj', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rpm.rpj', verbose_name='关联相关方项目')),
],
options={
'abstract': False,
},
),
migrations.AddField(
model_name='rpjcertificate',
name='rpj_member',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rpm.rpjmember', verbose_name='关联项目成员'),
),
migrations.CreateModel(
name='Rfile',
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='删除标记')),
('file_cate', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='system.dictionary', verbose_name='文件种类')),
('files', models.ManyToManyField(to='system.File', verbose_name='文件')),
('rparty', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rpm.rparty', verbose_name='关联相关方')),
],
options={
'abstract': False,
},
),
migrations.AddField(
model_name='remployee',
name='rparty',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rpm.rparty', verbose_name='所属相关方'),
),
migrations.AddField(
model_name='remployee',
name='rpj',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='rpm.rpj', verbose_name='最近所属相关方项目'),
),
migrations.AddField(
model_name='remployee',
name='update_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='remployee_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'),
),
migrations.AddField(
model_name='rcertificate',
name='remployee',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rpm.remployee', verbose_name='关联相关方成员'),
),
migrations.AddField(
model_name='rcertificate',
name='update_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='rcertificate_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'),
),
] ]

View File

@ -0,0 +1,156 @@
# Generated by Django 3.2.12 on 2022-07-01 05:11
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
('rpm', '0001_initial'),
('hrm', '0002_initial'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('wf', '0001_initial'),
('system', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='rpjfile',
name='file_cate',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='system.dictionary', verbose_name='文件种类'),
),
migrations.AddField(
model_name='rpjfile',
name='files',
field=models.ManyToManyField(blank=True, to='system.File', verbose_name='文件'),
),
migrations.AddField(
model_name='rpjfile',
name='rpj',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rpm.rpj', verbose_name='关联相关方项目'),
),
migrations.AddField(
model_name='rpjcertificate',
name='rcertificate',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='rpm.rcertificate', verbose_name='关联相关方证书'),
),
migrations.AddField(
model_name='rpjcertificate',
name='rpj_member',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rpm.rpjmember', verbose_name='关联项目成员'),
),
migrations.AddField(
model_name='rpj',
name='belong_dept',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='rpj_belong_dept', to='system.dept', verbose_name='所属部门'),
),
migrations.AddField(
model_name='rpj',
name='create_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='rpj_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'),
),
migrations.AddField(
model_name='rpj',
name='rparty',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rpm.rparty', verbose_name='关联相关方'),
),
migrations.AddField(
model_name='rpj',
name='ticket',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='wf.ticket', verbose_name='关联工单'),
),
migrations.AddField(
model_name='rpj',
name='update_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='rpj_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'),
),
migrations.AddField(
model_name='rparty',
name='admin',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='rparty',
name='belong_dept',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='rparty_belong_dept', to='system.dept', verbose_name='所属部门'),
),
migrations.AddField(
model_name='rparty',
name='create_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='rparty_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'),
),
migrations.AddField(
model_name='rparty',
name='dept',
field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='system.dept', verbose_name='关联部门'),
),
migrations.AddField(
model_name='rparty',
name='update_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='rparty_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'),
),
migrations.AddField(
model_name='rfile',
name='file_cate',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='system.dictionary', verbose_name='文件种类'),
),
migrations.AddField(
model_name='rfile',
name='files',
field=models.ManyToManyField(to='system.File', verbose_name='文件'),
),
migrations.AddField(
model_name='rfile',
name='rparty',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rpm.rparty', verbose_name='关联相关方'),
),
migrations.AddField(
model_name='remployee',
name='create_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='remployee_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'),
),
migrations.AddField(
model_name='remployee',
name='employee',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='hrm.employee', verbose_name='成员信息'),
),
migrations.AddField(
model_name='remployee',
name='rparty',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rpm.rparty', verbose_name='所属相关方'),
),
migrations.AddField(
model_name='remployee',
name='rpj',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='rpm.rpj', verbose_name='最近所属相关方项目'),
),
migrations.AddField(
model_name='remployee',
name='update_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='remployee_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'),
),
migrations.AddField(
model_name='rcertificate',
name='certificate',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='hrm.certificate', verbose_name='关联认可证书'),
),
migrations.AddField(
model_name='rcertificate',
name='create_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='rcertificate_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人'),
),
migrations.AddField(
model_name='rcertificate',
name='remployee',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rpm.remployee', verbose_name='关联相关方成员'),
),
migrations.AddField(
model_name='rcertificate',
name='update_by',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='rcertificate_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'),
),
]

View File

@ -1,18 +0,0 @@
# Generated by Django 3.2.12 on 2022-06-27 07:32
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('rpm', '0001_initial'),
]
operations = [
migrations.RenameField(
model_name='rparty',
old_name='addresss',
new_name='address',
),
]

View File

@ -1,25 +0,0 @@
# Generated by Django 3.2.12 on 2022-06-28 09:09
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('rpm', '0003_rparty_admin'),
]
operations = [
migrations.AlterField(
model_name='rpjmember',
name='rcertificates',
field=models.ManyToManyField(blank=True, through='rpm.Rpjcertificate', to='rpm.Rcertificate'),
),
migrations.AlterField(
model_name='rpjmember',
name='remployee',
field=models.ForeignKey(default=1541354338578993152, on_delete=django.db.models.deletion.CASCADE, to='rpm.remployee', verbose_name='关联人员'),
preserve_default=False,
),
]

View File

@ -1,7 +1,7 @@
# Generated by Django 3.2.12 on 2022-06-06 07:58 # Generated by Django 3.2.12 on 2022-07-01 05:11
import apps.system.models
from django.conf import settings from django.conf import settings
import django.contrib.auth.models
import django.contrib.auth.validators import django.contrib.auth.validators
from django.db import migrations, models from django.db import migrations, models
import django.db.models.deletion import django.db.models.deletion
@ -36,7 +36,7 @@ class Migration(migrations.Migration):
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')), ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
('type', models.CharField(default='employee', max_length=10, verbose_name='账号类型')), ('type', models.CharField(default='employee', max_length=10, verbose_name='账号类型')),
('name', models.CharField(blank=True, max_length=20, null=True, verbose_name='姓名')), ('name', models.CharField(blank=True, max_length=20, null=True, verbose_name='姓名')),
('phone', models.CharField(blank=True, max_length=11, null=True, verbose_name='手机号')), ('phone', models.CharField(blank=True, max_length=11, null=True, unique=True, verbose_name='手机号')),
('avatar', models.CharField(blank=True, default='/media/default/avatar.png', max_length=100, null=True, verbose_name='头像')), ('avatar', models.CharField(blank=True, default='/media/default/avatar.png', max_length=100, null=True, verbose_name='头像')),
], ],
options={ options={
@ -45,7 +45,7 @@ class Migration(migrations.Migration):
'ordering': ['create_time'], 'ordering': ['create_time'],
}, },
managers=[ managers=[
('objects', django.contrib.auth.models.UserManager()), ('objects', apps.system.models.SoftDeletableUserManager()),
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
@ -119,14 +119,15 @@ class Migration(migrations.Migration):
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')), ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
('name', models.CharField(blank=True, max_length=20, null=True, verbose_name='名称')), ('name', models.CharField(blank=True, max_length=20, null=True, verbose_name='名称')),
('sort', models.PositiveSmallIntegerField(default=1, verbose_name='排序')), ('sort', models.PositiveSmallIntegerField(default=1, verbose_name='排序')),
('dept', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='system.dept')), ('dept', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='up_dept', to='system.dept')),
('post', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='system.post')), ('post', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='up_post', to='system.post')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='up_user', to=settings.AUTH_USER_MODEL)),
], ],
options={ options={
'verbose_name': '用户岗位关系表', 'verbose_name': '用户岗位关系表',
'verbose_name_plural': '用户岗位关系表', 'verbose_name_plural': '用户岗位关系表',
'ordering': ['sort', 'create_time'], 'ordering': ['sort', 'create_time'],
'unique_together': {('user', 'post', 'dept')},
}, },
), ),
migrations.CreateModel( migrations.CreateModel(
@ -257,7 +258,7 @@ class Migration(migrations.Migration):
('update_time', models.DateTimeField(auto_now=True, 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='删除标记')), ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
('name', models.CharField(max_length=60, verbose_name='名称')), ('name', models.CharField(max_length=60, verbose_name='名称')),
('value', models.CharField(max_length=10, verbose_name='')), ('value', models.CharField(blank=True, max_length=10, null=True, verbose_name='')),
('code', models.CharField(blank=True, max_length=30, null=True, verbose_name='标识')), ('code', models.CharField(blank=True, max_length=30, null=True, verbose_name='标识')),
('description', models.TextField(blank=True, null=True, verbose_name='描述')), ('description', models.TextField(blank=True, null=True, verbose_name='描述')),
('sort', models.PositiveSmallIntegerField(default=1, verbose_name='排序')), ('sort', models.PositiveSmallIntegerField(default=1, verbose_name='排序')),

View File

@ -1,18 +0,0 @@
# Generated by Django 3.2.12 on 2022-06-21 01:51
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('system', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='dictionary',
name='value',
field=models.CharField(blank=True, max_length=10, null=True, verbose_name=''),
),
]

View File

@ -1,25 +0,0 @@
# Generated by Django 3.2.12 on 2022-06-24 05:27
import apps.system.models
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('system', '0002_alter_dictionary_value'),
]
operations = [
migrations.AlterModelManagers(
name='user',
managers=[
('objects', apps.system.models.SoftDeletableUserManager()),
],
),
migrations.AlterField(
model_name='user',
name='phone',
field=models.CharField(blank=True, max_length=11, null=True, unique=True, verbose_name='手机号'),
),
]

View File

@ -1,17 +0,0 @@
# Generated by Django 3.2.12 on 2022-06-24 05:32
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('system', '0003_auto_20220624_1327'),
]
operations = [
migrations.AlterUniqueTogether(
name='userpost',
unique_together={('user', 'post', 'dept')},
),
]

View File

@ -1,30 +0,0 @@
# Generated by Django 3.2.12 on 2022-06-27 00:36
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('system', '0004_alter_userpost_unique_together'),
]
operations = [
migrations.AlterField(
model_name='userpost',
name='dept',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='up_dept', to='system.dept'),
),
migrations.AlterField(
model_name='userpost',
name='post',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='up_post', to='system.post'),
),
migrations.AlterField(
model_name='userpost',
name='user',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='up_user', to=settings.AUTH_USER_MODEL),
),
]

View File

@ -1,8 +1,9 @@
# Generated by Django 3.2.12 on 2022-06-17 07:19 # Generated by Django 3.2.12 on 2022-07-01 05:11
from django.db import migrations, models from django.db import migrations, models
import django.db.models.deletion import django.db.models.deletion
import django.utils.timezone import django.utils.timezone
import uuid
class Migration(migrations.Migration): class Migration(migrations.Migration):
@ -11,9 +12,32 @@ class Migration(migrations.Migration):
dependencies = [ dependencies = [
('am', '0001_initial'), ('am', '0001_initial'),
('hrm', '0001_initial'),
] ]
operations = [ operations = [
migrations.CreateModel(
name='Tlog',
fields=[
('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='删除标记')),
('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)),
('target', models.CharField(max_length=20, verbose_name='请求目标')),
('result', models.CharField(max_length=20, verbose_name='请求结果')),
('path', models.CharField(help_text='请求地址', max_length=400)),
('requested_at', models.DateTimeField()),
('response_ms', models.PositiveIntegerField(default=0)),
('response', models.JSONField(blank=True, null=True)),
('method', models.CharField(max_length=10)),
('url', models.TextField(blank=True, null=True)),
('params', models.JSONField(blank=True, null=True)),
('body', models.JSONField(blank=True, null=True)),
],
options={
'abstract': False,
},
),
migrations.CreateModel( migrations.CreateModel(
name='TDevice', name='TDevice',
fields=[ fields=[
@ -22,11 +46,15 @@ class Migration(migrations.Migration):
('update_time', models.DateTimeField(auto_now=True, 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='删除标记')), ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
('type', models.PositiveSmallIntegerField(choices=[(10, '定位基站'), (20, '定位信标'), (30, '定位标签'), (40, 'aoa引擎'), (50, '音响'), (60, '视频通道'), (70, '闸机通道'), (80, '面板机')], verbose_name='设备类型')), ('type', models.PositiveSmallIntegerField(choices=[(10, '定位基站'), (20, '定位信标'), (30, '定位标签'), (40, 'aoa引擎'), (50, '音响'), (60, '视频通道'), (70, '闸机通道'), (80, '面板机')], verbose_name='设备类型')),
('code', models.CharField(max_length=20, verbose_name='设备唯一标识')), ('code', models.CharField(db_index=True, max_length=50, verbose_name='设备唯一标识')),
('name', models.CharField(max_length=50, verbose_name='设备名称')),
('location', models.JSONField(blank=True, default=dict, verbose_name='位置信息')), ('location', models.JSONField(blank=True, default=dict, verbose_name='位置信息')),
('obj_cate', models.CharField(blank=True, help_text='people/...', max_length=20, null=True, verbose_name='绑定对象')),
('is_clock', models.BooleanField(default=False, verbose_name='是否打卡设备')),
('third_info', models.JSONField(blank=True, default=dict, verbose_name='三方信息')), ('third_info', models.JSONField(blank=True, default=dict, verbose_name='三方信息')),
('area', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='am.area', verbose_name='所在区')), ('area', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='am.area', verbose_name='所在区')),
('areas', models.ManyToManyField(related_name='tareas', to='am.Area', verbose_name='覆盖区')), ('areas', models.ManyToManyField(related_name='tareas', to='am.Area', verbose_name='覆盖区')),
('employee', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='hrm.employee', verbose_name='绑定人员')),
], ],
options={ options={
'abstract': False, 'abstract': False,

View File

@ -1,18 +0,0 @@
# Generated by Django 3.2.12 on 2022-06-24 01:12
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('third', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='tdevice',
name='is_clock',
field=models.BooleanField(default=False, verbose_name='是否打卡设备'),
),
]

View File

@ -1,30 +0,0 @@
# Generated by Django 3.2.12 on 2022-06-25 01:06
from django.db import migrations, models
import uuid
class Migration(migrations.Migration):
dependencies = [
('third', '0002_tdevice_is_clock'),
]
operations = [
migrations.CreateModel(
name='Tlog',
fields=[
('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)),
('target', models.CharField(max_length=20, verbose_name='请求目标')),
('result', models.CharField(max_length=20, verbose_name='请求结果')),
('path', models.CharField(help_text='请求地址', max_length=400)),
('requested_at', models.DateTimeField()),
('response_ms', models.PositiveIntegerField(default=0)),
('response', models.JSONField(blank=True, null=True)),
('method', models.CharField(max_length=10)),
('url', models.TextField(blank=True, null=True)),
('params', models.JSONField(blank=True, null=True)),
('body', models.JSONField(blank=True, null=True)),
],
),
]

View File

@ -1,30 +0,0 @@
# Generated by Django 3.2.12 on 2022-06-30 02:25
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('hrm', '0002_auto_20220617_1124'),
('third', '0003_tlog'),
]
operations = [
migrations.AddField(
model_name='tdevice',
name='employee',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='hrm.employee', verbose_name='绑定人员'),
),
migrations.AddField(
model_name='tdevice',
name='obj_cate',
field=models.CharField(blank=True, help_text='people/...', max_length=20, null=True, verbose_name='绑定对象'),
),
migrations.AlterField(
model_name='tdevice',
name='code',
field=models.CharField(db_index=True, max_length=20, verbose_name='设备唯一标识'),
),
]

View File

@ -1,18 +0,0 @@
# Generated by Django 3.2.12 on 2022-06-30 10:26
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('third', '0004_auto_20220630_1025'),
]
operations = [
migrations.AlterField(
model_name='tdevice',
name='code',
field=models.CharField(db_index=True, max_length=50, verbose_name='设备唯一标识'),
),
]

View File

@ -1,35 +0,0 @@
# Generated by Django 3.2.12 on 2022-07-01 03:37
from django.db import migrations, models
import django.utils.timezone
class Migration(migrations.Migration):
dependencies = [
('ecm', '0007_auto_20220701_1137'),
('third', '0005_alter_tdevice_code'),
]
operations = [
migrations.AddField(
model_name='tdevice',
name='algos',
field=models.ManyToManyField(blank=True, to='ecm.EventCate', verbose_name='启用算法'),
),
migrations.AddField(
model_name='tlog',
name='create_time',
field=models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间'),
),
migrations.AddField(
model_name='tlog',
name='is_deleted',
field=models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记'),
),
migrations.AddField(
model_name='tlog',
name='update_time',
field=models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间'),
),
]

View File

@ -2,7 +2,6 @@ from django.db import models
from apps.am.models import Area from apps.am.models import Area
import uuid import uuid
from apps.hrm.models import Employee from apps.hrm.models import Employee
from apps.utils.constants import Algo
from apps.utils.models import BaseModel from apps.utils.models import BaseModel
# Create your models here. # Create your models here.
@ -33,9 +32,9 @@ class TDevice(BaseModel):
) )
type = models.PositiveSmallIntegerField('设备类型', choices=DEVICE_CHOICE) type = models.PositiveSmallIntegerField('设备类型', choices=DEVICE_CHOICE)
code = models.CharField('设备唯一标识', max_length=50, db_index=True) code = models.CharField('设备唯一标识', max_length=50, db_index=True)
name = models.CharField('设备名称', max_length=50)
location = models.JSONField('位置信息', default=dict, location = models.JSONField('位置信息', default=dict,
null=False, blank=True) null=False, blank=True)
algos = models.ManyToManyField('ecm.eventcate', verbose_name='启用算法', blank=True)
area = models.ForeignKey(Area, on_delete=models.CASCADE, area = models.ForeignKey(Area, on_delete=models.CASCADE,
verbose_name='所在区', null=True, blank=True) verbose_name='所在区', null=True, blank=True)
areas = models.ManyToManyField(Area, verbose_name='覆盖区', areas = models.ManyToManyField(Area, verbose_name='覆盖区',

View File

@ -38,7 +38,7 @@ class BindAreaSerializer(serializers.Serializer):
class LabelLocationSerializer(CustomModelSerializer): class LabelLocationSerializer(CustomModelSerializer):
class Meta: class Meta:
model = TDevice model = TDevice
fields = ['type', 'location', 'area', 'areas', 'code'] fields = ['type', 'location', 'area', 'areas', 'code', 'name']
class BindAreasSerializer(serializers.Serializer): class BindAreasSerializer(serializers.Serializer):

View File

@ -23,7 +23,7 @@ class TDeviceViewSet(CustomGenericViewSet):
视频通道列表 视频通道列表
""" """
request.data.update({'channelTypeList': ["1"]}) request.data.update({'channelTypeList': ["1", "2", "3"]})
_, res = dhClient.request(**dhapis['channel_list'], json=request.data) _, res = dhClient.request(**dhapis['channel_list'], json=request.data)
codes = [] codes = []
if res.get('pageData', None): if res.get('pageData', None):
@ -75,6 +75,7 @@ class TDeviceViewSet(CustomGenericViewSet):
td.location = vdata['location'] td.location = vdata['location']
td.type = vdata['type'] td.type = vdata['type']
td.area = vdata['area'] td.area = vdata['area']
td.name = vdata['name']
td.update_by = request.user td.update_by = request.user
td.save() td.save()
td.areas.clear() td.areas.clear()
@ -86,6 +87,7 @@ class TDeviceViewSet(CustomGenericViewSet):
td.code = vdata['code'] td.code = vdata['code']
td.location = vdata['location'] td.location = vdata['location']
td.area = vdata['area'] td.area = vdata['area']
td.name = vdata['name']
td.create_by = request.user td.create_by = request.user
td.save() td.save()
td.areas.clear() td.areas.clear()

View File

@ -1,4 +1,4 @@
# Generated by Django 3.2.12 on 2022-06-29 01:46 # Generated by Django 3.2.12 on 2022-07-01 05:11
from django.conf import settings from django.conf import settings
from django.db import migrations, models from django.db import migrations, models
@ -11,9 +11,9 @@ class Migration(migrations.Migration):
initial = True initial = True
dependencies = [ dependencies = [
('hrm', '0001_initial'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL), migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('hrm', '0002_auto_20220617_1124'), ('system', '0001_initial'),
('system', '0005_auto_20220627_0836'),
] ]
operations = [ operations = [

View File

@ -1,4 +1,4 @@
# Generated by Django 3.2.12 on 2022-06-06 07:58 # Generated by Django 3.2.12 on 2022-07-01 05:11
from django.conf import settings from django.conf import settings
from django.db import migrations, models from django.db import migrations, models