diff --git a/safesite/models.py b/safesite/models.py index d90f696c..a71dd598 100644 --- a/safesite/models.py +++ b/safesite/models.py @@ -1,71 +1,87 @@ from django.db import models import uuid import django.utils.timezone as timezone -from django.contrib.postgres.fields import JSONField,ArrayField +from django.contrib.postgres.fields import JSONField, ArrayField import jwt import datetime # Create your models here. + class Partment(models.Model): partid = models.AutoField(primary_key=True) - partname = models.CharField(max_length=30,default='生产部') - parentid = models.ForeignKey('self',blank=True,null=True,on_delete=models.CASCADE) - partlink = models.CharField(max_length=200,blank=True)#关系 - deletemark=models.IntegerField(default='1') - creattime = models.DateTimeField(default = timezone.now) - iscompany = models.IntegerField(default=0)#是否是公司 - aqy = models.CharField(max_length=1000,default=',')#安全员 - bmzg = models.CharField(max_length=1000,default=',')#主管 - bsq = models.CharField(max_length=1000,default=',')#授权者 - position = JSONField('坐标',null=True,blank=True) + partname = models.CharField(max_length=30, default='生产部') + parentid = models.ForeignKey( + 'self', blank=True, null=True, on_delete=models.CASCADE) + partlink = models.CharField(max_length=200, blank=True) # 关系 + deletemark = models.IntegerField(default='1') + creattime = models.DateTimeField(default=timezone.now) + iscompany = models.IntegerField(default=0) # 是否是公司 + aqy = models.CharField(max_length=1000, default=',') # 安全员 + bmzg = models.CharField(max_length=1000, default=',') # 主管 + bsq = models.CharField(max_length=1000, default=',') # 授权者 + position = JSONField('坐标', null=True, blank=True) + def __str__(self): - return self.partname + return self.partname + class Map(models.Model): id = models.AutoField(primary_key=True) name = models.CharField(max_length=50) - pic = models.CharField(max_length=1000,blank=True) - parent = models.ForeignKey('self',blank=True,null=True,on_delete=models.CASCADE) - link = models.CharField(max_length=200,blank=True) + pic = models.CharField(max_length=1000, blank=True) + parent = models.ForeignKey( + 'self', blank=True, null=True, on_delete=models.CASCADE) + link = models.CharField(max_length=200, blank=True) usecomp = models.ForeignKey(Partment, on_delete=models.CASCADE) default = models.IntegerField(default=0) deletemark = models.IntegerField(default='1') + class Area(models.Model): id = models.AutoField(primary_key=True) name = models.CharField(max_length=50) - polygon = JSONField(null=True,blank=True)#坐标集 - order = models.IntegerField(default=0)#排序 - parent = models.ForeignKey('self',blank=True,null=True,on_delete=models.CASCADE) - link = models.CharField(max_length=200,blank=True) - belongmap = models.ForeignKey(Map, on_delete=models.CASCADE,related_name='belongmap',null=True,blank=True) - containmap = models.ForeignKey(Map, on_delete=models.CASCADE, related_name='containmap',null=True,blank=True) + polygon = JSONField(null=True, blank=True) # 坐标集 + order = models.IntegerField(default=0) # 排序 + parent = models.ForeignKey( + 'self', blank=True, null=True, on_delete=models.CASCADE) + link = models.CharField(max_length=200, blank=True) + belongmap = models.ForeignKey( + Map, on_delete=models.CASCADE, related_name='belongmap', null=True, blank=True) + containmap = models.ForeignKey( + Map, on_delete=models.CASCADE, related_name='containmap', null=True, blank=True) deletemark = models.IntegerField(default='1') usecomp = models.ForeignKey(Partment, on_delete=models.CASCADE) - risklevel = models.CharField(max_length=50,null=True,blank=True)#风险等级 - qrcode = models.CharField(max_length=200,blank=True,null=True)#区域二维码 - + risklevel = models.CharField(max_length=50, null=True, blank=True) # 风险等级 + qrcode = models.CharField(max_length=200, blank=True, null=True) # 区域二维码 + + class User(models.Model): userid = models.AutoField(primary_key=True) - empid = models.CharField(max_length=20,blank=True,null=True)#工号 - username = models.CharField(max_length=30,unique=True)#账号 + empid = models.CharField(max_length=20, blank=True, null=True) # 工号 + username = models.CharField(max_length=30, unique=True) # 账号 name = models.CharField(max_length=20) password = models.CharField(max_length=30) - epassword = models.CharField(max_length=200,blank=True,null=True) - ubelongpart = models.ForeignKey(Partment,related_name='upart', on_delete=models.CASCADE) - openid=models.CharField(max_length=200,null=True,blank=True)#公众号openid - nickname=models.CharField(max_length=200,null=True,blank=True)#昵称 - headimgurl=models.CharField(max_length=200,null=True,blank=True)#头像 - issuper=models.IntegerField(default='0')#超管 - deletemark=models.IntegerField(default='1') - mpopenid=models.CharField(max_length=200,null=True,blank=True) #小程序openid - usecomp = models.ForeignKey(Partment,on_delete=models.CASCADE,null=True,blank=True)#所属公司 + epassword = models.CharField(max_length=200, blank=True, null=True) + ubelongpart = models.ForeignKey( + Partment, related_name='upart', on_delete=models.CASCADE) + openid = models.CharField( + max_length=200, null=True, blank=True) # 公众号openid + nickname = models.CharField(max_length=200, null=True, blank=True) # 昵称 + headimgurl = models.CharField(max_length=200, null=True, blank=True) # 头像 + issuper = models.IntegerField(default='0') # 超管 + deletemark = models.IntegerField(default='1') + mpopenid = models.CharField( + max_length=200, null=True, blank=True) # 小程序openid + usecomp = models.ForeignKey( + Partment, on_delete=models.CASCADE, null=True, blank=True) # 所属公司 + def __str__(self): return self.username + @property def token(self): return self.generate_jwt_token() - + def generate_jwt_token(self): token = jwt.encode({ 'exp': datetime.datetime.utcnow() + datetime.timedelta(days=1), @@ -77,239 +93,299 @@ class User(models.Model): return token.decode('utf-8') + class Userprofile(models.Model): id = models.AutoField(primary_key=True) - user = models.OneToOneField(User,null=True,blank=True,on_delete=models.CASCADE) - realname = models.CharField(max_length=50)#真实姓名 - gender = models.CharField(max_length=50)#性别 - cardnum = models.CharField(max_length=50)#身份证号 + user = models.OneToOneField( + User, null=True, blank=True, on_delete=models.CASCADE) + realname = models.CharField(max_length=50) # 真实姓名 + gender = models.CharField(max_length=50) # 性别 + cardnum = models.CharField(max_length=50) # 身份证号 + class Dicclass(models.Model): - dicid= models.AutoField(primary_key=True) - dicname = models.CharField(max_length=30)#字典分类名 - parentid = models.ForeignKey('self',blank=True,null=True, on_delete=models.CASCADE) + dicid = models.AutoField(primary_key=True) + dicname = models.CharField(max_length=30) # 字典分类名 + parentid = models.ForeignKey( + 'self', blank=True, null=True, on_delete=models.CASCADE) + def __str__(self): return self.dicname - -class Dickey(models.Model):#字典 - dickeyid= models.AutoField(primary_key=True) + + +class Dickey(models.Model): # 字典 + dickeyid = models.AutoField(primary_key=True) dickeyname = models.CharField(max_length=200) dicparent = models.ForeignKey(Dicclass, on_delete=models.CASCADE) - parent = models.ForeignKey('self',blank=True,null=True, on_delete=models.CASCADE) - usecomps = models.CharField(max_length=200,default=',1,')#所用公司 - nousecomps = models.CharField(max_length=200,default='')#不用公司 - detail = models.CharField(max_length=1000,default='') - deletemark=models.IntegerField(default='1') - creattime = models.DateTimeField(default = timezone.now) - modifytime = models.DateTimeField(auto_now = True) + parent = models.ForeignKey( + 'self', blank=True, null=True, on_delete=models.CASCADE) + usecomps = models.CharField(max_length=200, default=',1,') # 所用公司 + nousecomps = models.CharField(max_length=200, default='') # 不用公司 + detail = models.CharField(max_length=1000, default='') + deletemark = models.IntegerField(default='1') + creattime = models.DateTimeField(default=timezone.now) + modifytime = models.DateTimeField(auto_now=True) + def __str__(self): - return self.dickeyname - -class Trouble(models.Model):#隐患排查 + return self.dickeyname + + +class Trouble(models.Model): # 隐患排查 ZT_CHOICES = ( - (7,'措施/方案待提交'), - (5, '待复查'), - (1, '待评估'), - (3, '待整改'), - (6, '已归档'), - (2,'措施/方案待确认'), - (4,'待审核'), - (0,'待新增'), - ) + (7, '措施/方案待提交'), + (5, '待复查'), + (1, '待评估'), + (3, '待整改'), + (6, '已归档'), + (2, '措施/方案待确认'), + (4, '待审核'), + (0, '待新增'), + ) SH_CHOICES = ( - (1,'通过'), - (2, '审核未通过'), - (3, '复查未通过'), - (4, '已修改'), - (5,'评估未通过'), - (6,'未采纳'), - ) - deletemark=models.IntegerField(default='1') + (1, '通过'), + (2, '审核未通过'), + (3, '复查未通过'), + (4, '已修改'), + (5, '评估未通过'), + (6, '未采纳'), + ) + deletemark = models.IntegerField(default='1') troubleid = models.AutoField(primary_key=True) - yhnum=models.CharField(max_length=100,null=True,blank=True)#编号 - fxsj = models.DateTimeField(default = timezone.now)#发现时间 - fxbm = models.ForeignKey(Partment,related_name='fxbm',on_delete=models.CASCADE,null=True,blank=True) - fxr = models.ForeignKey(User,related_name='fxr', on_delete=models.CASCADE,null=True,blank=True) - jclx = models.ForeignKey(Dickey,related_name='jclx', on_delete=models.CASCADE,null=True,blank=True) - yhdd = models.CharField(max_length=200,default='test') - yhdj = models.ForeignKey(Dickey,related_name='yhdj',on_delete=models.CASCADE,null=True,blank=True) - yhlx = models.ForeignKey(Dicclass,related_name='yhlx', on_delete=models.CASCADE,null=True,blank=True) - yhlb = models.ForeignKey(Dickey,related_name='yhlb',on_delete=models.CASCADE,null=True,blank=True) - yhpg = models.ForeignKey(Dickey,related_name='yhpg',on_delete=models.CASCADE,null=True,blank=True) + yhnum = models.CharField(max_length=100, null=True, blank=True) # 编号 + fxsj = models.DateTimeField(default=timezone.now) # 发现时间 + fxbm = models.ForeignKey( + Partment, related_name='fxbm', on_delete=models.CASCADE, null=True, blank=True) + fxr = models.ForeignKey(User, related_name='fxr', + on_delete=models.CASCADE, null=True, blank=True) + jclx = models.ForeignKey(Dickey, related_name='jclx', + on_delete=models.CASCADE, null=True, blank=True) + yhdd = models.CharField(max_length=200, default='test') + yhdj = models.ForeignKey(Dickey, related_name='yhdj', + on_delete=models.CASCADE, null=True, blank=True) + yhlx = models.ForeignKey( + Dicclass, related_name='yhlx', on_delete=models.CASCADE, null=True, blank=True) + yhlb = models.ForeignKey(Dickey, related_name='yhlb', + on_delete=models.CASCADE, null=True, blank=True) + yhpg = models.ForeignKey(Dickey, related_name='yhpg', + on_delete=models.CASCADE, null=True, blank=True) yhms = models.TextField(blank=True) zgms = models.TextField(blank=True) yyfx = models.TextField(blank=True) zgcs = models.TextField(blank=True) - yhtp = models.CharField(max_length=1000,blank=True) - zghtp = models.CharField(max_length=1000,blank=True) - yhzt = models.IntegerField(choices = ZT_CHOICES,null=True,blank=True) - tbsj = models.DateTimeField(default = timezone.now) - zgbm = models.ForeignKey(Partment,related_name='zgbm',null=True,blank=True, on_delete=models.CASCADE) - zgr = models.ForeignKey(User,related_name='zgr',null=True,blank=True, on_delete=models.CASCADE) - xzr = models.CharField(max_length=200,default='')#协助人 - zgqx = models.DateTimeField(null=True,blank=True) - zgsj = models.DateTimeField(null=True,blank=True) - pgsh=models.ManyToManyField(User,related_name='pgsh', through='TroubleAccess')#评估审核 - material = models.CharField(max_length=1000,null=True,blank=True) - todouser = models.ForeignKey(User,related_name='todor',null=True,blank=True,on_delete=models.CASCADE) - usecomp = models.ForeignKey(Partment,on_delete=models.CASCADE,null=True,blank=True) - xgsj = models.DateTimeField(auto_now = True) - sybzt =models.IntegerField(choices = ZT_CHOICES,null=True,blank=True) - shresult = models.IntegerField(choices = SH_CHOICES,null=True,blank=True) - pgr = models.ForeignKey(User,related_name='pgr', on_delete=models.CASCADE,null=True,blank=True)#评估人 - zpr = models.ForeignKey(User,related_name='zpr', on_delete=models.CASCADE,null=True,blank=True)#指派人 - csqrr = models.ForeignKey(User,related_name='csqrr', on_delete=models.CASCADE,null=True,blank=True)#措施确认人 - fcr = models.ForeignKey(User,related_name='fcr', on_delete=models.CASCADE,null=True,blank=True)#复查人 - shr = models.ForeignKey(User,related_name='shr', on_delete=models.CASCADE,null=True,blank=True)#审核人 - fcyj = models.TextField(null=True,blank=True)#复查意见 - shyj= models.TextField(null=True,blank=True)#审核意见 - pgyj= models.TextField(null=True,blank=True)#评估退回意见 - yhqy = models.ForeignKey(Area,on_delete=models.CASCADE,null=True,blank=True)#隐患区域 - + yhtp = models.CharField(max_length=1000, blank=True) + zghtp = models.CharField(max_length=1000, blank=True) + yhzt = models.IntegerField(choices=ZT_CHOICES, null=True, blank=True) + tbsj = models.DateTimeField(default=timezone.now) + zgbm = models.ForeignKey( + Partment, related_name='zgbm', null=True, blank=True, on_delete=models.CASCADE) + zgr = models.ForeignKey(User, related_name='zgr', + null=True, blank=True, on_delete=models.CASCADE) + xzr = models.CharField(max_length=200, default='') # 协助人 + zgqx = models.DateTimeField(null=True, blank=True) + zgsj = models.DateTimeField(null=True, blank=True) + pgsh = models.ManyToManyField( + User, related_name='pgsh', through='TroubleAccess') # 评估审核 + material = models.CharField(max_length=1000, null=True, blank=True) + todouser = models.ForeignKey( + User, related_name='todor', null=True, blank=True, on_delete=models.CASCADE) + usecomp = models.ForeignKey( + Partment, on_delete=models.CASCADE, null=True, blank=True) + xgsj = models.DateTimeField(auto_now=True) + sybzt = models.IntegerField(choices=ZT_CHOICES, null=True, blank=True) + shresult = models.IntegerField(choices=SH_CHOICES, null=True, blank=True) + pgr = models.ForeignKey(User, related_name='pgr', + on_delete=models.CASCADE, null=True, blank=True) # 评估人 + zpr = models.ForeignKey(User, related_name='zpr', + on_delete=models.CASCADE, null=True, blank=True) # 指派人 + csqrr = models.ForeignKey(User, related_name='csqrr', + on_delete=models.CASCADE, null=True, blank=True) # 措施确认人 + fcr = models.ForeignKey(User, related_name='fcr', + on_delete=models.CASCADE, null=True, blank=True) # 复查人 + shr = models.ForeignKey(User, related_name='shr', + on_delete=models.CASCADE, null=True, blank=True) # 审核人 + fcyj = models.TextField(null=True, blank=True) # 复查意见 + shyj = models.TextField(null=True, blank=True) # 审核意见 + pgyj = models.TextField(null=True, blank=True) # 评估退回意见 + yhqy = models.ForeignKey( + Area, on_delete=models.CASCADE, null=True, blank=True) # 隐患区域 -class TroubleAccess(models.Model):#隐患流程表 + +class TroubleAccess(models.Model): # 隐患流程表 troubleid = models.ForeignKey(Trouble, on_delete=models.CASCADE) clr = models.ForeignKey(User, on_delete=models.CASCADE) - action = models.CharField(max_length=100,null=True,blank=True) + action = models.CharField(max_length=100, null=True, blank=True) opinion = models.CharField(max_length=500) - result = models.IntegerField(null=True,blank=True) - yhzt =models.IntegerField(default='1') - accesssj = models.DateTimeField(default = timezone.now) - + result = models.IntegerField(null=True, blank=True) + yhzt = models.IntegerField(default='1') + accesssj = models.DateTimeField(default=timezone.now) -class Drill(models.Model):#应急演练 - drillid= models.AutoField(primary_key=True) - drillnum= models.CharField(max_length=100,default='1') + +class Drill(models.Model): # 应急演练 + drillid = models.AutoField(primary_key=True) + drillnum = models.CharField(max_length=100, default='1') drillname = models.CharField(max_length=100) - drillplace=models.CharField(max_length=200) - starttime=models.DateTimeField(default = timezone.now) - participant=models.ManyToManyField(User,related_name='ylcjr',through='Drilluser') - submituser=models.ForeignKey(User,related_name='yltbr',default='1', on_delete=models.CASCADE) - submittime = models.DateTimeField(default = timezone.now) - modifytime = models.DateTimeField(auto_now = True) - usecomp = models.ForeignKey(Partment,default='1', on_delete=models.CASCADE) - drilllevel=models.ForeignKey(Dicclass,related_name='yljb',default='1', on_delete=models.CASCADE) - drilltype=models.ForeignKey(Dickey,related_name='yllx',default='1', on_delete=models.CASCADE) - drillpart=models.ManyToManyField(Partment,related_name='ylbm',default='1') - drillcontent=models.ForeignKey(Dickey,related_name='ylnr',default='1', on_delete=models.CASCADE) - detailcontent=models.CharField(max_length=1000,null=True,blank=True) - commander=models.CharField(max_length=200,null=True,blank=True) - chief=models.ForeignKey(User, on_delete=models.CASCADE,null=True,blank=True) - otherparticipant=models.CharField(max_length=1000,null=True,blank=True) - deletemark=models.IntegerField(default='1') - state=models.IntegerField(default='0')#默认未评估 - participantnum=models.IntegerField(default='1',null=True,blank=True) - knownum=models.IntegerField(default='1',null=True,blank=True) - plan = models.CharField(max_length=1000,null=True,blank=True) - material = models.CharField(max_length=1000,null=True,blank=True) + drillplace = models.CharField(max_length=200) + starttime = models.DateTimeField(default=timezone.now) + participant = models.ManyToManyField( + User, related_name='ylcjr', through='Drilluser') + submituser = models.ForeignKey( + User, related_name='yltbr', default='1', on_delete=models.CASCADE) + submittime = models.DateTimeField(default=timezone.now) + modifytime = models.DateTimeField(auto_now=True) + usecomp = models.ForeignKey( + Partment, default='1', on_delete=models.CASCADE) + drilllevel = models.ForeignKey( + Dicclass, related_name='yljb', default='1', on_delete=models.CASCADE) + drilltype = models.ForeignKey( + Dickey, related_name='yllx', default='1', on_delete=models.CASCADE) + drillpart = models.ManyToManyField( + Partment, related_name='ylbm', default='1') + drillcontent = models.ForeignKey( + Dickey, related_name='ylnr', default='1', on_delete=models.CASCADE) + detailcontent = models.CharField(max_length=1000, null=True, blank=True) + commander = models.CharField(max_length=200, null=True, blank=True) + chief = models.ForeignKey( + User, on_delete=models.CASCADE, null=True, blank=True) + otherparticipant = models.CharField(max_length=1000, null=True, blank=True) + deletemark = models.IntegerField(default='1') + state = models.IntegerField(default='0') # 默认未评估 + participantnum = models.IntegerField(default='1', null=True, blank=True) + knownum = models.IntegerField(default='1', null=True, blank=True) + plan = models.CharField(max_length=1000, null=True, blank=True) + material = models.CharField(max_length=1000, null=True, blank=True) -class Drilluser(models.Model):#演练参加人表 + +class Drilluser(models.Model): # 演练参加人表 drillid = models.ForeignKey(Drill, on_delete=models.CASCADE) participant = models.ForeignKey(User, on_delete=models.CASCADE) - score = models.IntegerField(null=True,blank=True) + score = models.IntegerField(null=True, blank=True) -class Observe(models.Model):#行为观察 + +class Observe(models.Model): # 行为观察 lookid = models.AutoField(primary_key=True) - looknum = models.CharField(max_length=100,default='1') - actname = models.CharField(max_length=100) #作业名称 + looknum = models.CharField(max_length=100, default='1') + actname = models.CharField(max_length=100) # 作业名称 lookplace = models.CharField(max_length=200) - looktime = models.DateTimeField(default = timezone.now) - looktime2 = models.DateTimeField(null=True,blank=True) - lookers = models.ManyToManyField(User,related_name='gcrs')#陪同人员 - lookpart = models.ForeignKey(Partment,related_name='gcbm',on_delete=models.CASCADE) #观察部门 - looker = models.ForeignKey(User,related_name='gcr',default='1', on_delete=models.CASCADE)#观察人 - lookeder = models.CharField(max_length=100,null=True,blank=True)#被观察对象 - submittime = models.DateTimeField(default = timezone.now) - modifytime = models.DateTimeField(auto_now = True) - usecomp = models.ForeignKey(Partment,default='1', on_delete=models.CASCADE) - otherunsafe = models.CharField(max_length=1000,null=True,blank=True) - makeresult = models.CharField(max_length=1000,null=True,blank=True) #整改情况 - safecontent = models.CharField(max_length=1000,null=True,blank=True) + looktime = models.DateTimeField(default=timezone.now) + looktime2 = models.DateTimeField(null=True, blank=True) + lookers = models.ManyToManyField(User, related_name='gcrs') # 陪同人员 + lookpart = models.ForeignKey( + Partment, related_name='gcbm', on_delete=models.CASCADE) # 观察部门 + looker = models.ForeignKey( + User, related_name='gcr', default='1', on_delete=models.CASCADE) # 观察人 + lookeder = models.CharField(max_length=100, null=True, blank=True) # 被观察对象 + submittime = models.DateTimeField(default=timezone.now) + modifytime = models.DateTimeField(auto_now=True) + usecomp = models.ForeignKey( + Partment, default='1', on_delete=models.CASCADE) + otherunsafe = models.CharField(max_length=1000, null=True, blank=True) + makeresult = models.CharField( + max_length=1000, null=True, blank=True) # 整改情况 + safecontent = models.CharField(max_length=1000, null=True, blank=True) deletemark = models.IntegerField(default='1') - lookimg = models.CharField(max_length=1000,null=True,blank=True) - unsafe = models.ManyToManyField(Dickey,related_name='baqxw',through='Unsafes') - record1 = models.TextField(null=True,blank=True) #交流情况 - record2 = models.TextField(null=True,blank=True) #共识和改进 - reads = models.ManyToManyField(User,related_name='observetouser',through='Observeto') + lookimg = models.CharField(max_length=1000, null=True, blank=True) + unsafe = models.ManyToManyField( + Dickey, related_name='baqxw', through='Unsafes') + record1 = models.TextField(null=True, blank=True) # 交流情况 + record2 = models.TextField(null=True, blank=True) # 共识和改进 + reads = models.ManyToManyField( + User, related_name='observetouser', through='Observeto') -class Unsafes(models.Model):#行为观察不安全记录 +class Unsafes(models.Model): # 行为观察不安全记录 observe = models.ForeignKey(Observe, on_delete=models.CASCADE) - unsafedickey = models.ForeignKey(Dickey,related_name='unsafedickey', on_delete=models.CASCADE) - unsafedicclass = models.ForeignKey(Dicclass,related_name='unsafedicclass', on_delete=models.CASCADE) + unsafedickey = models.ForeignKey( + Dickey, related_name='unsafedickey', on_delete=models.CASCADE) + unsafedicclass = models.ForeignKey( + Dicclass, related_name='unsafedicclass', on_delete=models.CASCADE) -class Observeto(models.Model):#行为观察阅读记录 + +class Observeto(models.Model): # 行为观察阅读记录 id = models.AutoField(primary_key=True) observe = models.ForeignKey(Observe, on_delete=models.CASCADE) - user = models.ForeignKey(User,on_delete=models.CASCADE) + user = models.ForeignKey(User, on_delete=models.CASCADE) read = models.IntegerField(default=0) - submittime = models.DateTimeField(default = timezone.now) + submittime = models.DateTimeField(default=timezone.now) -class Miss(models.Model):#未遂事件 + +class Miss(models.Model): # 未遂事件 missid = models.AutoField(primary_key=True) - missnum = models.CharField(max_length=100,default='1') - missqy = models.ForeignKey(Area,on_delete=models.CASCADE,null=True,blank=True) + missnum = models.CharField(max_length=100, default='1') + missqy = models.ForeignKey( + Area, on_delete=models.CASCADE, null=True, blank=True) missplace = models.CharField(max_length=200) - misstime = models.DateTimeField(default = timezone.now) - misspart = models.ForeignKey(Partment,related_name='fsbm',on_delete=models.CASCADE) #发生部门 - misser = models.ForeignKey(User,related_name='fsr',default='1', on_delete=models.CASCADE)#当事人 - description = models.CharField(max_length=1000,null=True,blank=True) - submittime = models.DateTimeField(default = timezone.now) - modifytime = models.DateTimeField(auto_now = True) - usecomp = models.ForeignKey(Partment,default='1', on_delete=models.CASCADE) + misstime = models.DateTimeField(default=timezone.now) + misspart = models.ForeignKey( + Partment, related_name='fsbm', on_delete=models.CASCADE) # 发生部门 + misser = models.ForeignKey( + User, related_name='fsr', default='1', on_delete=models.CASCADE) # 当事人 + description = models.CharField(max_length=1000, null=True, blank=True) + submittime = models.DateTimeField(default=timezone.now) + modifytime = models.DateTimeField(auto_now=True) + usecomp = models.ForeignKey( + Partment, default='1', on_delete=models.CASCADE) deletemark = models.IntegerField(default='1') - missimg = models.CharField(max_length=1000,null=True,blank=True) - prevent = models.CharField(max_length=1000,null=True,blank=True) #防范措施 - lesson = models.CharField(max_length=1000,null=True,blank=True) #经验教训 - reads = models.ManyToManyField(User,related_name='misstouser',through='Missto') + missimg = models.CharField(max_length=1000, null=True, blank=True) + prevent = models.CharField(max_length=1000, null=True, blank=True) # 防范措施 + lesson = models.CharField(max_length=1000, null=True, blank=True) # 经验教训 + reads = models.ManyToManyField( + User, related_name='misstouser', through='Missto') -class Missto(models.Model):#未遂事件阅读表 + +class Missto(models.Model): # 未遂事件阅读表 id = models.AutoField(primary_key=True) miss = models.ForeignKey(Miss, on_delete=models.CASCADE) - user = models.ForeignKey(User,on_delete=models.CASCADE) + user = models.ForeignKey(User, on_delete=models.CASCADE) read = models.IntegerField(default=0) - submittime = models.DateTimeField(default = timezone.now) + submittime = models.DateTimeField(default=timezone.now) - -class Group(models.Model):#用户组,岗位 + +class Group(models.Model): # 用户组,岗位 type_choices = ( - (1,'安全员'), - (2, '部门主管'), - (3, '全体用户'), - (4, '客户自定义'), - (0, '超管') + (1, '安全员'), + (2, '部门主管'), + (3, '全体用户'), + (4, '客户自定义'), + (0, '超管') ) groupid = models.AutoField(primary_key=True) - groupname = models.CharField(max_length=30,blank=True,null=True) + groupname = models.CharField(max_length=30, blank=True, null=True) grouptype = models.IntegerField(default=4) - users = models.ManyToManyField(User,related_name='userg') - users2 = models.ManyToManyField(User,related_name='userg2',through='Groupuser2') - usecomp = models.ForeignKey(Partment, on_delete=models.CASCADE,related_name='usecompg',default=1) - menulink = models.CharField(max_length=200,default='11') + users = models.ManyToManyField(User, related_name='userg') + users2 = models.ManyToManyField( + User, related_name='userg2', through='Groupuser2') + usecomp = models.ForeignKey( + Partment, on_delete=models.CASCADE, related_name='usecompg', default=1) + menulink = models.CharField(max_length=200, default='11') -class Groupuser2(models.Model): #比较好的方式 + +class Groupuser2(models.Model): # 比较好的方式 group = models.ForeignKey(Group, on_delete=models.CASCADE) user = models.ForeignKey(User, on_delete=models.CASCADE) - part = models.ForeignKey(Partment, on_delete=models.CASCADE,null=True,blank=True) + part = models.ForeignKey( + Partment, on_delete=models.CASCADE, null=True, blank=True) -class Menu(models.Model):#菜单 + +class Menu(models.Model): # 菜单 menuid = models.AutoField(primary_key=True) - menuname = models.CharField(max_length=30,blank=True,null=True) - menucode = models.CharField(max_length=30,blank=True,null=True) - url = models.CharField(max_length=30,blank=True,null=True) - detail = models.CharField(max_length=100,blank=True,null=True) - parentid = models.ForeignKey('self',blank=True,null=True,on_delete=models.CASCADE) - icon = models.CharField(max_length=100,default='') - sortnum = models.IntegerField(default='1') - deletemark=models.IntegerField(default='1') + menuname = models.CharField(max_length=30, blank=True, null=True) + menucode = models.CharField(max_length=30, blank=True, null=True) + url = models.CharField(max_length=30, blank=True, null=True) + detail = models.CharField(max_length=100, blank=True, null=True) + parentid = models.ForeignKey( + 'self', blank=True, null=True, on_delete=models.CASCADE) + icon = models.CharField(max_length=100, default='') + sortnum = models.IntegerField(default='1') + deletemark = models.IntegerField(default='1') -class Yjyc(models.Model):#预警预测表 + +class Yjyc(models.Model): # 预警预测表 yjycid = models.AutoField(primary_key=True) - buildtime = models.DateTimeField(default = timezone.now) - modifytime = models.DateTimeField(auto_now = True) - year = models.IntegerField(default=1,null=True,blank=True) - month = models.IntegerField(default=1,null=True,blank=True) - week = models.IntegerField(default=0,null=True,blank=True) + buildtime = models.DateTimeField(default=timezone.now) + modifytime = models.DateTimeField(auto_now=True) + year = models.IntegerField(default=1, null=True, blank=True) + month = models.IntegerField(default=1, null=True, blank=True) + week = models.IntegerField(default=0, null=True, blank=True) yjz = models.FloatField(default=0) ycz = models.FloatField(default=0) b = models.FloatField(default=0) @@ -318,176 +394,211 @@ class Yjyc(models.Model):#预警预测表 drillvalue = models.FloatField(default=0) observevalue = models.FloatField(default=0) missvalue = models.FloatField(default=0) - usecomp = models.ForeignKey(Partment,on_delete=models.CASCADE,null=True,blank=True) + usecomp = models.ForeignKey( + Partment, on_delete=models.CASCADE, null=True, blank=True) -class Yjsetup(models.Model):#预警预测设置表 +class Yjsetup(models.Model): # 预警预测设置表 yjsetupid = models.AutoField(primary_key=True) - usecomp = models.ForeignKey(Partment,on_delete=models.CASCADE,null=True,blank=True) - modifytime = models.DateTimeField(auto_now = True) - monthyhavg = models.IntegerField(default='100',null=True,blank=True) - safev = models.IntegerField(default='10',null=True,blank=True) - warnv = models.IntegerField(default='15',null=True,blank=True) - alertv = models.IntegerField(default='20',null=True,blank=True) - maxv = models.IntegerField(default='50',null=True,blank=True) - yhpgqz = models.IntegerField(default='4',null=True,blank=True) - yhdjqz = models.IntegerField(default='4',null=True,blank=True) - yhsblqz = models.IntegerField(default='1',null=True,blank=True) - yhzglqz = models.IntegerField(default='4',null=True,blank=True) - pxdjqz = models.IntegerField(default='3',null=True,blank=True) - pxxgqz = models.IntegerField(default='4',null=True,blank=True) - yldjqz = models.IntegerField(default='3',null=True,blank=True) - ylxgqz = models.IntegerField(default='3',null=True,blank=True) + usecomp = models.ForeignKey( + Partment, on_delete=models.CASCADE, null=True, blank=True) + modifytime = models.DateTimeField(auto_now=True) + monthyhavg = models.IntegerField(default='100', null=True, blank=True) + safev = models.IntegerField(default='10', null=True, blank=True) + warnv = models.IntegerField(default='15', null=True, blank=True) + alertv = models.IntegerField(default='20', null=True, blank=True) + maxv = models.IntegerField(default='50', null=True, blank=True) + yhpgqz = models.IntegerField(default='4', null=True, blank=True) + yhdjqz = models.IntegerField(default='4', null=True, blank=True) + yhsblqz = models.IntegerField(default='1', null=True, blank=True) + yhzglqz = models.IntegerField(default='4', null=True, blank=True) + pxdjqz = models.IntegerField(default='3', null=True, blank=True) + pxxgqz = models.IntegerField(default='4', null=True, blank=True) + yldjqz = models.IntegerField(default='3', null=True, blank=True) + ylxgqz = models.IntegerField(default='3', null=True, blank=True) -class Socertificate(models.Model):#特种作业证书 +class Socertificate(models.Model): # 特种作业证书 type_choices = ( - (1,'正常'), - (2, '待复查'), - (3, '超期'), + (1, '正常'), + (2, '待复查'), + (3, '超期'), ) id = models.AutoField(primary_key=True) - user = models.ForeignKey(User,on_delete=models.CASCADE,null=True,blank=True) - usecomp = models.ForeignKey(Partment,on_delete=models.CASCADE,null=True,blank=True) + user = models.ForeignKey( + User, on_delete=models.CASCADE, null=True, blank=True) + usecomp = models.ForeignKey( + Partment, on_delete=models.CASCADE, null=True, blank=True) realname = models.CharField(max_length=50) gender = models.CharField(max_length=50) - cardnum = models.CharField(max_length=50) + cardnum = models.CharField(max_length=50) zylb = models.CharField(max_length=50) - czxm = models.CharField(max_length=50) + czxm = models.CharField(max_length=50) fzjg = models.CharField(max_length=100) - ccfzrq = models.DateField(null=True,blank=True) - yfsrq = models.DateField(null=True,blank=True) - yxqkssj = models.DateField(null=True,blank=True) - yxqjssj = models.DateField(null=True,blank=True) - sjfssj = models.DateField(null=True,blank=True) - zszt = models.IntegerField(choices = type_choices,null=True,blank=True) - url = models.CharField(max_length=1000,null=True,blank=True) + ccfzrq = models.DateField(null=True, blank=True) + yfsrq = models.DateField(null=True, blank=True) + yxqkssj = models.DateField(null=True, blank=True) + yxqjssj = models.DateField(null=True, blank=True) + sjfssj = models.DateField(null=True, blank=True) + zszt = models.IntegerField(choices=type_choices, null=True, blank=True) + url = models.CharField(max_length=1000, null=True, blank=True) -class Safecert(models.Model):#安全资格证书 + +class Safecert(models.Model): # 安全资格证书 type_choices = ( - (1,'正常'), - (2, '待复查'), - (3, '超期'), + (1, '正常'), + (2, '待复查'), + (3, '超期'), ) id = models.AutoField(primary_key=True) - user = models.ForeignKey(User,on_delete=models.CASCADE,null=True,blank=True) - usecomp = models.ForeignKey(Partment,on_delete=models.CASCADE,null=True,blank=True) + user = models.ForeignKey( + User, on_delete=models.CASCADE, null=True, blank=True) + usecomp = models.ForeignKey( + Partment, on_delete=models.CASCADE, null=True, blank=True) realname = models.CharField(max_length=50) gender = models.CharField(max_length=50) - cardnum = models.CharField(max_length=50) - zglx = models.CharField(max_length=50) #资格类型 - dwlx = models.CharField(max_length=50) + cardnum = models.CharField(max_length=50) + zglx = models.CharField(max_length=50) # 资格类型 + dwlx = models.CharField(max_length=50) fzjg = models.CharField(max_length=100) - yfsrq = models.DateField(null=True,blank=True) - yxqkssj = models.DateField(null=True,blank=True) - yxqjssj = models.DateField(null=True,blank=True) - zszt = models.IntegerField(choices = type_choices,null=True,blank=True) - url = models.CharField(max_length=1000,null=True,blank=True) + yfsrq = models.DateField(null=True, blank=True) + yxqkssj = models.DateField(null=True, blank=True) + yxqjssj = models.DateField(null=True, blank=True) + zszt = models.IntegerField(choices=type_choices, null=True, blank=True) + url = models.CharField(max_length=1000, null=True, blank=True) -class Suggest(models.Model):#合理化建议 + +class Suggest(models.Model): # 合理化建议 ZT_CHOICES = ( - (1, '待评估'), - (2, '待处理'), - (3, '待确认'), - (4, '已归档'), - ) + (1, '待评估'), + (2, '待处理'), + (3, '待确认'), + (4, '已归档'), + ) jyid = models.AutoField(primary_key=True) - jynum = models.CharField(max_length=100,default='1') - jylb = models.ForeignKey(Dickey,related_name='jylb',on_delete=models.CASCADE) - jyrq = models.DateField(default = timezone.now) - jybm = models.ForeignKey(Partment,related_name='jybm',on_delete=models.CASCADE) #建议部门 - jyr = models.ForeignKey(User,related_name='jyr',on_delete=models.CASCADE)#建议人 - jyimg = models.CharField(max_length=1000,null=True,blank=True) - submittime = models.DateTimeField(default = timezone.now) - modifytime = models.DateTimeField(auto_now = True) - usecomp = models.ForeignKey(Partment,default='1', on_delete=models.CASCADE) - dqxz = models.CharField(max_length=1000,null=True,blank=True) #当前现状 - jynr = models.CharField(max_length=1000,null=True,blank=True) #建议内容 - qwxg = models.CharField(max_length=1000,null=True,blank=True) #期望效果 - jyfk = models.CharField(max_length=1000,null=True,blank=True) #建议反馈 - clcs = models.CharField(max_length=1000,null=True,blank=True) #处理措施 - clms = models.CharField(max_length=1000,null=True,blank=True) #处理描述 + jynum = models.CharField(max_length=100, default='1') + jylb = models.ForeignKey( + Dickey, related_name='jylb', on_delete=models.CASCADE) + jyrq = models.DateField(default=timezone.now) + jybm = models.ForeignKey( + Partment, related_name='jybm', on_delete=models.CASCADE) # 建议部门 + jyr = models.ForeignKey(User, related_name='jyr', + on_delete=models.CASCADE) # 建议人 + jyimg = models.CharField(max_length=1000, null=True, blank=True) + submittime = models.DateTimeField(default=timezone.now) + modifytime = models.DateTimeField(auto_now=True) + usecomp = models.ForeignKey( + Partment, default='1', on_delete=models.CASCADE) + dqxz = models.CharField(max_length=1000, null=True, blank=True) # 当前现状 + jynr = models.CharField(max_length=1000, null=True, blank=True) # 建议内容 + qwxg = models.CharField(max_length=1000, null=True, blank=True) # 期望效果 + jyfk = models.CharField(max_length=1000, null=True, blank=True) # 建议反馈 + clcs = models.CharField(max_length=1000, null=True, blank=True) # 处理措施 + clms = models.CharField(max_length=1000, null=True, blank=True) # 处理描述 jyimg2 = JSONField() - jyzt = models.IntegerField(choices = ZT_CHOICES,null=True,blank=True) - todouser = models.ForeignKey(User,related_name='stodouser',on_delete=models.CASCADE,null=True,blank=True)#下一步处理人 - pgr = models.ForeignKey(User,related_name='spgr',on_delete=models.CASCADE,null=True,blank=True) - clr = models.ForeignKey(User,related_name='sclr',on_delete=models.CASCADE,null=True,blank=True) - flow = models.ManyToManyField(User,related_name='jyflow',through='Suggestflow') - jyqy = models.ForeignKey(Area,on_delete=models.CASCADE,null=True,blank=True) - jydd = models.CharField(max_length=200,null=True,blank=True) - yjwcsj = models.DateTimeField(null=True,blank=True) #预计完成时间 - sjwcsj = models.DateTimeField(null=True,blank=True) #实际完成时间 - shyj = models.CharField(max_length=1000,null=True,blank=True) #审核意见 + jyzt = models.IntegerField(choices=ZT_CHOICES, null=True, blank=True) + todouser = models.ForeignKey(User, related_name='stodouser', + on_delete=models.CASCADE, null=True, blank=True) # 下一步处理人 + pgr = models.ForeignKey(User, related_name='spgr', + on_delete=models.CASCADE, null=True, blank=True) + clr = models.ForeignKey(User, related_name='sclr', + on_delete=models.CASCADE, null=True, blank=True) + flow = models.ManyToManyField( + User, related_name='jyflow', through='Suggestflow') + jyqy = models.ForeignKey( + Area, on_delete=models.CASCADE, null=True, blank=True) + jydd = models.CharField(max_length=200, null=True, blank=True) + yjwcsj = models.DateTimeField(null=True, blank=True) # 预计完成时间 + sjwcsj = models.DateTimeField(null=True, blank=True) # 实际完成时间 + shyj = models.CharField(max_length=1000, null=True, blank=True) # 审核意见 accept = models.IntegerField(default=1) -class Suggestflow(models.Model):#建议流程 + +class Suggestflow(models.Model): # 建议流程 id = models.AutoField(primary_key=True) suggest = models.ForeignKey(Suggest, on_delete=models.CASCADE) user = models.ForeignKey(User, on_delete=models.CASCADE) - action = models.CharField(max_length=100,null=True,blank=True) + action = models.CharField(max_length=100, null=True, blank=True) opinion = models.CharField(max_length=500) result = models.IntegerField(default=1) - submittime = models.DateTimeField(default = timezone.now) + submittime = models.DateTimeField(default=timezone.now) -class Notice(models.Model):#通知通告 + +class Notice(models.Model): # 通知通告 id = models.AutoField(primary_key=True) - title = models.CharField(u'标题',max_length=100) - pubpart = models.ForeignKey(Partment,related_name='fbbm',on_delete=models.CASCADE)#发布部门 - pubuser = models.ForeignKey(User,related_name='fbz',on_delete=models.CASCADE)#发布人 + title = models.CharField(u'标题', max_length=100) + pubpart = models.ForeignKey( + Partment, related_name='fbbm', on_delete=models.CASCADE) # 发布部门 + pubuser = models.ForeignKey( + User, related_name='fbz', on_delete=models.CASCADE) # 发布人 content = models.TextField(u'详情') - submittime = models.DateTimeField(u'创建时间',default = timezone.now) - modifytime = models.DateTimeField(u'更新时间',default = timezone.now) - tousers = models.ManyToManyField(User,related_name='tzry', through='Noticeto') - material = models.CharField(max_length=1000,null=True,blank=True) + submittime = models.DateTimeField(u'创建时间', default=timezone.now) + modifytime = models.DateTimeField(u'更新时间', default=timezone.now) + tousers = models.ManyToManyField( + User, related_name='tzry', through='Noticeto') + material = models.CharField(max_length=1000, null=True, blank=True) deletemark = models.IntegerField(default='1') reads = models.IntegerField(default='0') isgg = models.IntegerField(default='1') - usecomps = models.CharField(max_length=1000,null=True,blank=True)#使用公司 + usecomps = models.CharField(max_length=1000, null=True, blank=True) # 使用公司 # def __str__(self): # return self.title # class Meta: # verbose_name = '资讯动态' # verbose_name_plural = '资讯动态' -class Noticeto(models.Model):#通知阅读表 - noticeid = models.ForeignKey(Notice, on_delete=models.CASCADE) - receiver = models.ForeignKey(User, on_delete=models.CASCADE)#接收人 - comment = models.CharField(max_length=500) - read =models.IntegerField(default='0') -class Operation(models.Model):#作业表 + +class Noticeto(models.Model): # 通知阅读表 + noticeid = models.ForeignKey(Notice, on_delete=models.CASCADE) + receiver = models.ForeignKey(User, on_delete=models.CASCADE) # 接收人 + comment = models.CharField(max_length=500) + read = models.IntegerField(default='0') + + +class Operation(models.Model): # 作业表 zyid = models.AutoField(primary_key=True) - zylx = models.ForeignKey(Dickey, on_delete=models.CASCADE,null=True,blank=True) + zylx = models.ForeignKey( + Dickey, on_delete=models.CASCADE, null=True, blank=True) zynum = models.CharField(max_length=100) - zyqy = models.ForeignKey(Area,on_delete=models.CASCADE,null=True,blank=True) - zydd = models.CharField(max_length=100,null=True,blank=True) - zybm = models.ForeignKey(Partment,related_name='zybm',on_delete=models.CASCADE,null=True,blank=True)#作业部门 - sdbm = models.ForeignKey(Partment,related_name='sdbm',on_delete=models.CASCADE,null=True,blank=True)#属地部门 - zyfzr = models.ForeignKey(User,related_name='zyfzr',on_delete=models.CASCADE,null=True,blank=True)#作业负责人 - zynr = models.TextField(null=True,blank=True) - zyry = models.ManyToManyField(User,related_name='zyry', through='Operzyry') - kssj = models.DateTimeField(default = timezone.now) - jssj = models.DateTimeField(default = timezone.now) - submittime = models.DateTimeField(u'创建时间',default = timezone.now) - zyimg = models.CharField(max_length=1000,default='') - zyimg2 = models.CharField(max_length=1000,default='') + zyqy = models.ForeignKey( + Area, on_delete=models.CASCADE, null=True, blank=True) + zydd = models.CharField(max_length=100, null=True, blank=True) + zybm = models.ForeignKey(Partment, related_name='zybm', + on_delete=models.CASCADE, null=True, blank=True) # 作业部门 + sdbm = models.ForeignKey(Partment, related_name='sdbm', + on_delete=models.CASCADE, null=True, blank=True) # 属地部门 + zyfzr = models.ForeignKey(User, related_name='zyfzr', + on_delete=models.CASCADE, null=True, blank=True) # 作业负责人 + zynr = models.TextField(null=True, blank=True) + zyry = models.ManyToManyField( + User, related_name='zyry', through='Operzyry') + kssj = models.DateTimeField(default=timezone.now) + jssj = models.DateTimeField(default=timezone.now) + submittime = models.DateTimeField(u'创建时间', default=timezone.now) + zyimg = models.CharField(max_length=1000, default='') + zyimg2 = models.CharField(max_length=1000, default='') deletemark = models.IntegerField(default='1') zyzt = JSONField() fxcs = models.CharField(max_length=200) - todouser = models.ForeignKey(User,related_name='zyclr',on_delete=models.CASCADE,null=True,blank=True) - todousers = ArrayField(models.IntegerField(), blank=True,null=True) - usecomp = models.ForeignKey(Partment,on_delete=models.CASCADE,null=True,blank=True,default=1) + todouser = models.ForeignKey( + User, related_name='zyclr', on_delete=models.CASCADE, null=True, blank=True) + todousers = ArrayField(models.IntegerField(), blank=True, null=True) + usecomp = models.ForeignKey( + Partment, on_delete=models.CASCADE, null=True, blank=True, default=1) -class Fxcs(models.Model):#作业分析措施 + +class Fxcs(models.Model): # 作业分析措施 id = models.AutoField(primary_key=True) - zylx = models.ForeignKey(Dickey, on_delete=models.CASCADE,null=True,blank=True) + zylx = models.ForeignKey( + Dickey, on_delete=models.CASCADE, null=True, blank=True) fxfx = models.TextField() aqcs = models.TextField() - cslx = models.CharField(max_length=100,null=True,blank=True) - submittime = models.DateTimeField(default = timezone.now) - modifytime = models.DateTimeField(auto_now = True) + cslx = models.CharField(max_length=100, null=True, blank=True) + submittime = models.DateTimeField(default=timezone.now) + modifytime = models.DateTimeField(auto_now=True) deletemark = models.IntegerField(default='1') - usecomps = models.CharField(max_length=200,default=',1,') - nousecomps = models.CharField(max_length=200,default='') + usecomps = models.CharField(max_length=200, default=',1,') + nousecomps = models.CharField(max_length=200, default='') # class Opersplc(models.Model): # id = models.AutoField(primary_key=True) @@ -499,395 +610,506 @@ class Fxcs(models.Model):#作业分析措施 # modifytime = models.DateTimeField(auto_now = True) # submittime = models.DateTimeField(default = timezone.now) -class Operspxq(models.Model):#作业审批流 + +class Operspxq(models.Model): # 作业审批流 id = models.AutoField(primary_key=True) - oper= models.ForeignKey(Operation, on_delete=models.CASCADE) - jdmc = models.CharField(max_length=200) #节点名称 - spbm = models.ForeignKey(Partment, on_delete=models.CASCADE,null=True,blank=True) + oper = models.ForeignKey(Operation, on_delete=models.CASCADE) + jdmc = models.CharField(max_length=200) # 节点名称 + spbm = models.ForeignKey( + Partment, on_delete=models.CASCADE, null=True, blank=True) spr = models.ForeignKey(User, on_delete=models.CASCADE) action = models.CharField(max_length=200) - checked = models.IntegerField(default=1)#0未通过,1通过,2提交 - submittime = models.DateTimeField(default = timezone.now) + checked = models.IntegerField(default=1) # 0未通过,1通过,2提交 + submittime = models.DateTimeField(default=timezone.now) -class Operzyry(models.Model):#作业确认人 + +class Operzyry(models.Model): # 作业确认人 id = models.AutoField(primary_key=True) - oper= models.ForeignKey(Operation, on_delete=models.CASCADE) + oper = models.ForeignKey(Operation, on_delete=models.CASCADE) operzyry = models.ForeignKey(User, on_delete=models.CASCADE) checked = models.IntegerField(default=0) - modifytime = models.DateTimeField(auto_now = True) - submittime = models.DateTimeField(default = timezone.now) + modifytime = models.DateTimeField(auto_now=True) + submittime = models.DateTimeField(default=timezone.now) -class Operationspjd(models.Model):#作业审批节点配置 + +class Operationspjd(models.Model): # 作业审批节点配置 id = models.AutoField(primary_key=True) - zylx = models.ForeignKey(Dickey, on_delete=models.CASCADE,null=True,blank=True) + zylx = models.ForeignKey( + Dickey, on_delete=models.CASCADE, null=True, blank=True) jdmc = models.CharField(max_length=100) - spbm = models.ForeignKey(Partment,related_name='spbm',on_delete=models.CASCADE,null=True,blank=True)#审批部门 - spr = models.ForeignKey(User,related_name='spr',on_delete=models.CASCADE,null=True,blank=True)#审批部门 - sprs = ArrayField(models.IntegerField(), blank=True,null=True) - submittime = models.DateTimeField(u'创建时间',default = timezone.now) - modifytime = models.DateTimeField(auto_now = True) - usecomp = models.ForeignKey(Partment,on_delete=models.CASCADE,null=True,blank=True) + spbm = models.ForeignKey(Partment, related_name='spbm', + on_delete=models.CASCADE, null=True, blank=True) # 审批部门 + spr = models.ForeignKey(User, related_name='spr', + on_delete=models.CASCADE, null=True, blank=True) # 审批部门 + sprs = ArrayField(models.IntegerField(), blank=True, null=True) + submittime = models.DateTimeField(u'创建时间', default=timezone.now) + modifytime = models.DateTimeField(auto_now=True) + usecomp = models.ForeignKey( + Partment, on_delete=models.CASCADE, null=True, blank=True) -class Questioncat(models.Model):#题目分类 + +class Questioncat(models.Model): # 题目分类 id = models.AutoField(primary_key=True) name = models.CharField(max_length=30) - parent = models.ForeignKey('self',blank=True,null=True,on_delete=models.CASCADE) - deletemark=models.IntegerField(default='1') - link = models.CharField(max_length=200,blank=True,default=',') - creattime = models.DateTimeField(default = timezone.now) - modifytime = models.DateTimeField(auto_now = True) - usecomp = models.ForeignKey(Partment,on_delete=models.CASCADE,null=True,blank=True) -#题库数据表 + parent = models.ForeignKey( + 'self', blank=True, null=True, on_delete=models.CASCADE) + deletemark = models.IntegerField(default='1') + link = models.CharField(max_length=200, blank=True, default=',') + creattime = models.DateTimeField(default=timezone.now) + modifytime = models.DateTimeField(auto_now=True) + usecomp = models.ForeignKey( + Partment, on_delete=models.CASCADE, null=True, blank=True) +# 题库数据表 -class Question(models.Model):#题库 + +class Question(models.Model): # 题库 id = models.AutoField(primary_key=True) title = models.TextField() - type = models.IntegerField(default=1) #单选/多选/判断 - level = models.IntegerField(default=1) #低/中/高 - questioncat = models.ForeignKey(Questioncat,blank=True,null=True,on_delete=models.CASCADE) - station = models.ForeignKey(Group,blank=True,null=True,on_delete=models.CASCADE) #岗位 - mark = models.CharField(max_length=1000,blank=True) + type = models.IntegerField(default=1) # 单选/多选/判断 + level = models.IntegerField(default=1) # 低/中/高 + questioncat = models.ForeignKey( + Questioncat, blank=True, null=True, on_delete=models.CASCADE) + station = models.ForeignKey( + Group, blank=True, null=True, on_delete=models.CASCADE) # 岗位 + mark = models.CharField(max_length=1000, blank=True) answer = JSONField() right = JSONField() resolution = models.TextField() - deletemark=models.IntegerField(default=1) - createuser = models.ForeignKey(User,blank=True,null=True,on_delete=models.CASCADE) - creattime = models.DateTimeField(default = timezone.now) - modifytime = models.DateTimeField(auto_now = True) - usecomps = models.CharField(max_length=200,default=',1,') - nousecomps = models.CharField(max_length=200,default='') + deletemark = models.IntegerField(default=1) + createuser = models.ForeignKey( + User, blank=True, null=True, on_delete=models.CASCADE) + creattime = models.DateTimeField(default=timezone.now) + modifytime = models.DateTimeField(auto_now=True) + usecomps = models.CharField(max_length=200, default=',1,') + nousecomps = models.CharField(max_length=200, default='') -class ExamPaper(models.Model):#试卷表 + +class ExamPaper(models.Model): # 试卷表 id = models.AutoField(primary_key=True) - num = models.CharField(max_length=200,default='')#编号 + num = models.CharField(max_length=200, default='') # 编号 name = models.CharField(max_length=200) - state = models.IntegerField(default=1) #使用中/停用 - deletemark=models.IntegerField(default=1) - createtime = models.DateTimeField(default = timezone.now) - modifytime = models.DateTimeField(auto_now = True) - question = models.ManyToManyField(Question,through='ExamPaperDetail') - usecomps = models.CharField(max_length=200,default=',1,') - nousecomps = models.CharField(max_length=200,default='') - total = JSONField(null=True,blank=True) #题量 + state = models.IntegerField(default=1) # 使用中/停用 + deletemark = models.IntegerField(default=1) + createtime = models.DateTimeField(default=timezone.now) + modifytime = models.DateTimeField(auto_now=True) + question = models.ManyToManyField(Question, through='ExamPaperDetail') + usecomps = models.CharField(max_length=200, default=',1,') + nousecomps = models.CharField(max_length=200, default='') + total = JSONField(null=True, blank=True) # 题量 -class ExamPaperDetail(models.Model):#试卷详情 + +class ExamPaperDetail(models.Model): # 试卷详情 id = models.AutoField(primary_key=True) - question = models.ForeignKey(Question,on_delete=models.CASCADE) - exampaper = models.ForeignKey(ExamPaper,on_delete=models.CASCADE) - score = models.IntegerField(default=0) #分数 - + question = models.ForeignKey(Question, on_delete=models.CASCADE) + exampaper = models.ForeignKey(ExamPaper, on_delete=models.CASCADE) + score = models.IntegerField(default=0) # 分数 -class ExamTest(models.Model):#考试表 + +class ExamTest(models.Model): # 考试表 id = models.AutoField(primary_key=True) - num = models.CharField(max_length=200,default='')#编号 - name = models.CharField(max_length=200,default='') - type = models.IntegerField(default=1) #正式考试/模拟考试/练习 - state = models.IntegerField(default=1) #1进行中 - exampaper = models.ForeignKey(ExamPaper,on_delete=models.CASCADE) - user = models.ManyToManyField(User,through='ExamTestDetail') #考试人员 - starttime = models.DateTimeField(null=True,blank=True)#最早参加 - endtime = models.DateTimeField(null=True,blank=True)#最迟参加 - createtime = models.DateTimeField(default = timezone.now) - modifytime = models.DateTimeField(auto_now = True) - totalscore=models.IntegerField(default=100) - passscore=models.IntegerField(default=60) - duration = models.IntegerField(default=60) #考试时长 - usecomps = models.CharField(max_length=200,default=',1,') - nousecomps = models.CharField(max_length=200,default='') - createuser = models.ForeignKey(User,blank=True,null=True,on_delete=models.CASCADE,related_name='kscjr') - qrcode = models.CharField(max_length=200,blank=True,null=True) + num = models.CharField(max_length=200, default='') # 编号 + name = models.CharField(max_length=200, default='') + type = models.IntegerField(default=1) # 正式考试/模拟考试/练习 + state = models.IntegerField(default=1) # 1进行中 + exampaper = models.ForeignKey(ExamPaper, on_delete=models.CASCADE) + user = models.ManyToManyField(User, through='ExamTestDetail') # 考试人员 + starttime = models.DateTimeField(null=True, blank=True) # 最早参加 + endtime = models.DateTimeField(null=True, blank=True) # 最迟参加 + createtime = models.DateTimeField(default=timezone.now) + modifytime = models.DateTimeField(auto_now=True) + totalscore = models.IntegerField(default=100) + passscore = models.IntegerField(default=60) + duration = models.IntegerField(default=60) # 考试时长 + usecomps = models.CharField(max_length=200, default=',1,') + nousecomps = models.CharField(max_length=200, default='') + createuser = models.ForeignKey( + User, blank=True, null=True, on_delete=models.CASCADE, related_name='kscjr') + qrcode = models.CharField(max_length=200, blank=True, null=True) -class ExamTestDetail(models.Model):#考试详情表 + +class ExamTestDetail(models.Model): # 考试详情表 id = models.AutoField(primary_key=True) - testnum = models.IntegerField(default=0) #做卷次数 - examtest = models.ForeignKey(ExamTest,on_delete=models.CASCADE,null=True,blank=True) - user = models.ForeignKey(User,on_delete=models.CASCADE) - starttime = models.DateTimeField(null=True,blank=True) - endtime = models.DateTimeField(null=True,blank=True) - took = models.IntegerField(default=0) #耗时 - rights = models.IntegerField(default=1) #正确数 - ison = models.IntegerField(default=0) #未参加0/已参加1/ - passcode = models.IntegerField(default=0) #是否通过 - testdetail = JSONField(null=True,blank=True) - score = models.FloatField(default=0)#得分 - tms = models.CharField(max_length=600,default=',') - wrongs = models.CharField(max_length=600,default=',') + testnum = models.IntegerField(default=0) # 做卷次数 + examtest = models.ForeignKey( + ExamTest, on_delete=models.CASCADE, null=True, blank=True) + user = models.ForeignKey(User, on_delete=models.CASCADE) + starttime = models.DateTimeField(null=True, blank=True) + endtime = models.DateTimeField(null=True, blank=True) + took = models.IntegerField(default=0) # 耗时 + rights = models.IntegerField(default=1) # 正确数 + ison = models.IntegerField(default=0) # 未参加0/已参加1/ + passcode = models.IntegerField(default=0) # 是否通过 + testdetail = JSONField(null=True, blank=True) + score = models.FloatField(default=0) # 得分 + tms = models.CharField(max_length=600, default=',') + wrongs = models.CharField(max_length=600, default=',') -class Train(models.Model):#培训表 - trainid= models.AutoField(primary_key=True) - trainnum= models.CharField(max_length=100,default='1') + +class Train(models.Model): # 培训表 + trainid = models.AutoField(primary_key=True) + trainnum = models.CharField(max_length=100, default='1') trainname = models.CharField(max_length=100) - trainplace=models.CharField(max_length=200) - starttime=models.DateTimeField(default = timezone.now) - duration=models.FloatField(default='1') - participant=models.ManyToManyField(User,related_name='cjr', through='Trainuser') - submituser=models.ForeignKey(User,related_name='tbr',default='1', on_delete=models.CASCADE) - submittime = models.DateTimeField(default = timezone.now) - modifytime = models.DateTimeField(auto_now = True) - usecomp = models.ForeignKey(Partment,default='1', on_delete=models.CASCADE) - trainlevel=models.ForeignKey(Dicclass,related_name='pxjb',default='1', on_delete=models.CASCADE) - manlevel=models.ForeignKey(Dickey,related_name='rylx',default='1', on_delete=models.CASCADE) - traintype=models.ForeignKey(Dickey,related_name='pxlx',default='1', on_delete=models.CASCADE) - trainpart=models.ManyToManyField(Partment,related_name='pxbm',default='1') - traincontent=models.ForeignKey(Dickey,related_name='pxnr',default='1', on_delete=models.CASCADE) - detailcontent=models.CharField(max_length=1000,null=True,blank=True) - teacher=models.CharField(max_length=200,null=True,blank=True) - lecturer=models.ForeignKey(User, on_delete=models.CASCADE,null=True,blank=True) - otherparticipant=models.CharField(max_length=1000,null=True,blank=True) - deletemark=models.IntegerField(default='1') - state=models.IntegerField(default='0') - participantnum=models.IntegerField(default='1',null=True,blank=True) - knownum=models.IntegerField(default='1',null=True,blank=True) - pxxg = models.CharField(max_length=1000,null=True,blank=True) - material = models.CharField(max_length=1000,null=True,blank=True) - checkqr = models.CharField(max_length=200,blank=True,null=True) - examtest = models.ForeignKey(ExamTest,on_delete=models.CASCADE,null=True,blank=True) + trainplace = models.CharField(max_length=200) + starttime = models.DateTimeField(default=timezone.now) + duration = models.FloatField(default='1') + participant = models.ManyToManyField( + User, related_name='cjr', through='Trainuser') + submituser = models.ForeignKey( + User, related_name='tbr', default='1', on_delete=models.CASCADE) + submittime = models.DateTimeField(default=timezone.now) + modifytime = models.DateTimeField(auto_now=True) + usecomp = models.ForeignKey( + Partment, default='1', on_delete=models.CASCADE) + trainlevel = models.ForeignKey( + Dicclass, related_name='pxjb', default='1', on_delete=models.CASCADE) + manlevel = models.ForeignKey( + Dickey, related_name='rylx', default='1', on_delete=models.CASCADE) + traintype = models.ForeignKey( + Dickey, related_name='pxlx', default='1', on_delete=models.CASCADE) + trainpart = models.ManyToManyField( + Partment, related_name='pxbm', default='1') + traincontent = models.ForeignKey( + Dickey, related_name='pxnr', default='1', on_delete=models.CASCADE) + detailcontent = models.CharField(max_length=1000, null=True, blank=True) + teacher = models.CharField(max_length=200, null=True, blank=True) + lecturer = models.ForeignKey( + User, on_delete=models.CASCADE, null=True, blank=True) + otherparticipant = models.CharField(max_length=1000, null=True, blank=True) + deletemark = models.IntegerField(default='1') + state = models.IntegerField(default='0') + participantnum = models.IntegerField(default='1', null=True, blank=True) + knownum = models.IntegerField(default='1', null=True, blank=True) + pxxg = models.CharField(max_length=1000, null=True, blank=True) + material = models.CharField(max_length=1000, null=True, blank=True) + checkqr = models.CharField(max_length=200, blank=True, null=True) + examtest = models.ForeignKey( + ExamTest, on_delete=models.CASCADE, null=True, blank=True) -class Trainuser(models.Model):#培训人员记录 + +class Trainuser(models.Model): # 培训人员记录 train = models.ForeignKey(Train, on_delete=models.CASCADE) participant = models.ForeignKey(User, on_delete=models.CASCADE) - examtestdetail = models.ForeignKey(ExamTestDetail, on_delete=models.CASCADE,null=True,blank=True) + examtestdetail = models.ForeignKey( + ExamTestDetail, on_delete=models.CASCADE, null=True, blank=True) checked = models.IntegerField(default=0) - qdsj = models.DateTimeField(null=True,blank=True) + qdsj = models.DateTimeField(null=True, blank=True) isnew = models.IntegerField(default=0) - opinion = models.CharField(max_length=1000,null=True,blank=True) - -class Relation(models.Model):#各模块关系表,没用到 - trouble = models.ForeignKey(Trouble, on_delete=models.CASCADE,null=True,blank=True) - train = models.ForeignKey(Train, on_delete=models.CASCADE,null=True,blank=True) - drill = models.ForeignKey(Drill, on_delete=models.CASCADE,null=True,blank=True) - observe = models.ForeignKey(Observe, on_delete=models.CASCADE,null=True,blank=True) - miss = models.ForeignKey(Miss, on_delete=models.CASCADE,null=True,blank=True) - remark = models.CharField(max_length=1000,null=True,blank=True) + opinion = models.CharField(max_length=1000, null=True, blank=True) -class RiskAct(models.Model):#风险点表 +class Relation(models.Model): # 各模块关系表,没用到 + trouble = models.ForeignKey( + Trouble, on_delete=models.CASCADE, null=True, blank=True) + train = models.ForeignKey( + Train, on_delete=models.CASCADE, null=True, blank=True) + drill = models.ForeignKey( + Drill, on_delete=models.CASCADE, null=True, blank=True) + observe = models.ForeignKey( + Observe, on_delete=models.CASCADE, null=True, blank=True) + miss = models.ForeignKey( + Miss, on_delete=models.CASCADE, null=True, blank=True) + remark = models.CharField(max_length=1000, null=True, blank=True) + + +class RiskAct(models.Model): # 风险点表 id = models.AutoField(primary_key=True) - area = models.ForeignKey(Area,on_delete=models.CASCADE,null=True,blank=True,related_name='riskactarea') - place = models.CharField(max_length=50,null=True,blank=True) - type = models.ForeignKey(Dickey,on_delete=models.CASCADE,null=True,blank=True) - name = models.CharField(max_length=200,null=True,blank=True) - createtime = models.DateTimeField(default = timezone.now) - level = models.CharField(max_length=50,null=True,blank=True) - usecomp = models.ForeignKey(Partment,on_delete=models.CASCADE,null=True,blank=True) - qrcode = models.CharField(max_length=200,blank=True,null=True) - gkcj = models.CharField(max_length=50,null=True,blank=True)#从此往下以风险点来管控 - zrbm = models.ForeignKey(Partment,related_name='riskzrbm2',on_delete=models.CASCADE,null=True,blank=True) - zrr = models.ForeignKey(User,related_name='riskzrr2',on_delete=models.CASCADE,null=True,blank=True) - group = models.ForeignKey(Group,on_delete=models.CASCADE,null=True,blank=True) - modifytime = models.DateTimeField(auto_now = True) + area = models.ForeignKey(Area, on_delete=models.CASCADE, + null=True, blank=True, related_name='riskactarea') + place = models.CharField(max_length=50, null=True, blank=True) + type = models.ForeignKey( + Dickey, on_delete=models.CASCADE, null=True, blank=True) + name = models.CharField(max_length=200, null=True, blank=True) + createtime = models.DateTimeField(default=timezone.now) + level = models.CharField(max_length=50, null=True, blank=True) + usecomp = models.ForeignKey( + Partment, on_delete=models.CASCADE, null=True, blank=True) + qrcode = models.CharField(max_length=200, blank=True, null=True) + gkcj = models.CharField(max_length=50, null=True, + blank=True) # 从此往下以风险点来管控 + zrbm = models.ForeignKey(Partment, related_name='riskzrbm2', + on_delete=models.CASCADE, null=True, blank=True) + zrr = models.ForeignKey(User, related_name='riskzrr2', + on_delete=models.CASCADE, null=True, blank=True) + group = models.ForeignKey( + Group, on_delete=models.CASCADE, null=True, blank=True) + modifytime = models.DateTimeField(auto_now=True) tasktype = models.IntegerField(default=0) - tasktime = models.DateTimeField(null=True,blank=True) #最后任务开始时间 + tasktime = models.DateTimeField(null=True, blank=True) # 最后任务开始时间 -class Equipment(models.Model):#设备表 + +class Equipment(models.Model): # 设备表 id = models.AutoField(primary_key=True) - num = models.CharField(max_length=30,null=True,blank=True) + num = models.CharField(max_length=30, null=True, blank=True) name = models.CharField(max_length=30) - type = models.CharField(max_length=30,null=True,blank=True) #规格 - catename = models.CharField(max_length=30,null=True,blank=True)#分类 - parameter = models.TextField(null=True,blank=True) - oem = models.CharField(max_length=50,null=True,blank=True) - fnum = models.CharField(max_length=30,null=True,blank=True) - fdate = models.DateField(null=True,blank=True) - udate = models.DateField(null=True,blank=True) - place = models.CharField(max_length=50,null=True,blank=True) - note = models.TextField(null=True,blank=True) #备注 - state = models.IntegerField(default=1) #正常/异常/停用 - deletemark=models.IntegerField(default=1) - creattime = models.DateTimeField(default = timezone.now) - modifytime = models.DateTimeField(auto_now = True) - usecomp = models.ForeignKey(Partment,related_name='sbssgs',on_delete=models.CASCADE,null=True,blank=True) - area = models.ForeignKey(Area,on_delete=models.CASCADE,null=True,blank=True) - cate = models.ForeignKey(Dickey,on_delete=models.CASCADE,null=True,blank=True) + type = models.CharField(max_length=30, null=True, blank=True) # 规格 + catename = models.CharField(max_length=30, null=True, blank=True) # 分类 + parameter = models.TextField(null=True, blank=True) + oem = models.CharField(max_length=50, null=True, blank=True) + fnum = models.CharField(max_length=30, null=True, blank=True) + fdate = models.DateField(null=True, blank=True) + udate = models.DateField(null=True, blank=True) + place = models.CharField(max_length=50, null=True, blank=True) + note = models.TextField(null=True, blank=True) # 备注 + state = models.IntegerField(default=1) # 正常/异常/停用 + deletemark = models.IntegerField(default=1) + creattime = models.DateTimeField(default=timezone.now) + modifytime = models.DateTimeField(auto_now=True) + usecomp = models.ForeignKey( + Partment, related_name='sbssgs', on_delete=models.CASCADE, null=True, blank=True) + area = models.ForeignKey( + Area, on_delete=models.CASCADE, null=True, blank=True) + cate = models.ForeignKey( + Dickey, on_delete=models.CASCADE, null=True, blank=True) iskey = models.IntegerField(default=0) istz = models.IntegerField(default=0) - zrbm = models.ForeignKey(Partment,related_name='sbzrbm',on_delete=models.CASCADE,null=True,blank=True) - zrr = models.ForeignKey(User,on_delete=models.CASCADE,null=True,blank=True) - img = models.CharField(max_length=1000,blank=True,null=True) - qrcode = models.CharField(max_length=200,blank=True,null=True) - riskact = models.ForeignKey(RiskAct,null=True,blank=True,on_delete=models.CASCADE) + zrbm = models.ForeignKey(Partment, related_name='sbzrbm', + on_delete=models.CASCADE, null=True, blank=True) + zrr = models.ForeignKey( + User, on_delete=models.CASCADE, null=True, blank=True) + img = models.CharField(max_length=1000, blank=True, null=True) + qrcode = models.CharField(max_length=200, blank=True, null=True) + riskact = models.ForeignKey( + RiskAct, null=True, blank=True, on_delete=models.CASCADE) -class Inspect(models.Model):#设备巡检记录 + +class Inspect(models.Model): # 设备巡检记录 id = models.AutoField(primary_key=True) - state = models.IntegerField(default=1) #设备状态 - content = models.TextField(null=True,blank=True) - equipment = models.ForeignKey(Equipment,blank=True,null=True,on_delete=models.CASCADE) - creattime = models.DateTimeField(default = timezone.now) - modifytime = models.DateTimeField(auto_now = True) - user = models.ForeignKey(User,blank=True,null=True,on_delete=models.CASCADE) - usecomp = models.ForeignKey(Partment,on_delete=models.CASCADE,null=True,blank=True) - trouble = models.ForeignKey(Trouble,on_delete=models.CASCADE,null=True,blank=True) - -class Risk(models.Model):#风险表 + state = models.IntegerField(default=1) # 设备状态 + content = models.TextField(null=True, blank=True) + equipment = models.ForeignKey( + Equipment, blank=True, null=True, on_delete=models.CASCADE) + creattime = models.DateTimeField(default=timezone.now) + modifytime = models.DateTimeField(auto_now=True) + user = models.ForeignKey( + User, blank=True, null=True, on_delete=models.CASCADE) + usecomp = models.ForeignKey( + Partment, on_delete=models.CASCADE, null=True, blank=True) + trouble = models.ForeignKey( + Trouble, on_delete=models.CASCADE, null=True, blank=True) + + +class Risk(models.Model): # 风险表 tasktype_choices = ( - (1,'8h'), - (2, '24h'), - (3, '7day'), - (4,'1month'), - (5,'1year') + (1, '8h'), + (2, '24h'), + (3, '7day'), + (4, '1month'), + (5, '1year') ) id = models.AutoField(primary_key=True) order = models.IntegerField(default=1) - step = models.TextField(null=True,blank=True) - hazard = models.TextField(null=True,blank=True) - result = models.TextField(null=True,blank=True) - measure1 = models.TextField(null=True,blank=True) - measure2 = models.TextField(null=True,blank=True) - measure3 = models.TextField(null=True,blank=True) - measure4 = models.TextField(null=True,blank=True) - measure5 = models.TextField(null=True,blank=True) - riskact = models.ForeignKey(RiskAct,on_delete=models.CASCADE,null=True,blank=True) - gkcj = models.CharField(max_length=50,null=True,blank=True) - zrbm = models.ForeignKey(Partment,related_name='riskzrbm',on_delete=models.CASCADE,null=True,blank=True) - zrr = models.ForeignKey(User,related_name='riskzrr',on_delete=models.CASCADE,null=True,blank=True) - createtime = models.DateTimeField(default = timezone.now) - createuser = models.ForeignKey(User,related_name='riskcjr',on_delete=models.CASCADE,null=True,blank=True) - riskl = models.DecimalField(max_digits=6,decimal_places=1) - riske = models.DecimalField(max_digits=6,decimal_places=1) - riskc = models.DecimalField(max_digits=6,decimal_places=1) - riskd = models.DecimalField(max_digits=6,decimal_places=1) - level = models.CharField(max_length=50,null=True,blank=True) - usecomp = models.ForeignKey(Partment,related_name='riskusecomp',on_delete=models.CASCADE,null=True,blank=True) - group = models.ForeignKey(Group,on_delete=models.CASCADE,null=True,blank=True) - modifytime = models.DateTimeField(auto_now = True) + step = models.TextField(null=True, blank=True) + hazard = models.TextField(null=True, blank=True) + result = models.TextField(null=True, blank=True) + measure1 = models.TextField(null=True, blank=True) + measure2 = models.TextField(null=True, blank=True) + measure3 = models.TextField(null=True, blank=True) + measure4 = models.TextField(null=True, blank=True) + measure5 = models.TextField(null=True, blank=True) + riskact = models.ForeignKey( + RiskAct, on_delete=models.CASCADE, null=True, blank=True) + gkcj = models.CharField(max_length=50, null=True, blank=True) + zrbm = models.ForeignKey(Partment, related_name='riskzrbm', + on_delete=models.CASCADE, null=True, blank=True) + zrr = models.ForeignKey(User, related_name='riskzrr', + on_delete=models.CASCADE, null=True, blank=True) + createtime = models.DateTimeField(default=timezone.now) + createuser = models.ForeignKey( + User, related_name='riskcjr', on_delete=models.CASCADE, null=True, blank=True) + riskl = models.DecimalField(max_digits=6, decimal_places=1) + riske = models.DecimalField(max_digits=6, decimal_places=1) + riskc = models.DecimalField(max_digits=6, decimal_places=1) + riskd = models.DecimalField(max_digits=6, decimal_places=1) + level = models.CharField(max_length=50, null=True, blank=True) + usecomp = models.ForeignKey( + Partment, related_name='riskusecomp', on_delete=models.CASCADE, null=True, blank=True) + group = models.ForeignKey( + Group, on_delete=models.CASCADE, null=True, blank=True) + modifytime = models.DateTimeField(auto_now=True) tasktype = models.IntegerField(default=0) - tasktime = models.DateTimeField(null=True,blank=True) #最后任务开始时间 + tasktime = models.DateTimeField(null=True, blank=True) # 最后任务开始时间 -class Edulesson(models.Model):#在线视频表 + +class Edulesson(models.Model): # 在线视频表 id = models.AutoField(primary_key=True) num = models.CharField(max_length=50) title = models.CharField(max_length=50) - user = models.ForeignKey(User,related_name='scr',on_delete=models.CASCADE,null=True,blank=True) - submittime = models.DateTimeField(default = timezone.now) - desciption = models.TextField(null=True,blank=True) - type = models.IntegerField(default=1) #1是视频,2是文档 - cate = models.ForeignKey(Questioncat,blank=True,null=True,on_delete=models.CASCADE)#分类按照题库进行分类 + user = models.ForeignKey(User, related_name='scr', + on_delete=models.CASCADE, null=True, blank=True) + submittime = models.DateTimeField(default=timezone.now) + desciption = models.TextField(null=True, blank=True) + type = models.IntegerField(default=1) # 1是视频,2是文档 + cate = models.ForeignKey(Questioncat, blank=True, + null=True, on_delete=models.CASCADE) # 分类按照题库进行分类 deletemark = models.IntegerField(default=1) - modifytime = models.DateTimeField(auto_now = True) - url = models.CharField(max_length=200,null=True,blank=True) + modifytime = models.DateTimeField(auto_now=True) + url = models.CharField(max_length=200, null=True, blank=True) watchnum = models.IntegerField(default=0) - usecomp = models.ForeignKey(Partment,on_delete=models.CASCADE,null=True,blank=True) - watchrecord = models.ManyToManyField(User,related_name='gkr',through='EdulessonWatch') + usecomp = models.ForeignKey( + Partment, on_delete=models.CASCADE, null=True, blank=True) + watchrecord = models.ManyToManyField( + User, related_name='gkr', through='EdulessonWatch') -class EdulessonWatch(models.Model):#在线视频观看情况表 + +class EdulessonWatch(models.Model): # 在线视频观看情况表 id = models.AutoField(primary_key=True) edulesson = models.ForeignKey(Edulesson, on_delete=models.CASCADE) - user = models.ForeignKey(User,on_delete=models.CASCADE) - submittime = models.DateTimeField(default = timezone.now) + user = models.ForeignKey(User, on_delete=models.CASCADE) + submittime = models.DateTimeField(default=timezone.now) -class RiskActTask(models.Model):#风险点排查清单(任务) + +class RiskActTask(models.Model): # 风险点排查清单(任务) id = models.AutoField(primary_key=True) - riskact = models.ForeignKey(RiskAct, on_delete=models.CASCADE,null=True,blank=True) - user = models.ForeignKey(User, on_delete=models.CASCADE,null=True,blank=True) - taskadd = models.DateTimeField(null=True,blank=True) - taskdo = models.DateTimeField(null=True,blank=True) - taskexpire = models.DateTimeField(null=True,blank=True) - usable = models.IntegerField(default=1) #1是可用,2是变更计划,0是不可用 - type = models.IntegerField(default=1) #1是计划内,2是计划外 - note = models.TextField(null=True,blank=True) #备注 - state = models.IntegerField(default=1)#1是正常 - istask = models.IntegerField(default=0)#是否是任务 + riskact = models.ForeignKey( + RiskAct, on_delete=models.CASCADE, null=True, blank=True) + user = models.ForeignKey( + User, on_delete=models.CASCADE, null=True, blank=True) + taskadd = models.DateTimeField(null=True, blank=True) + taskdo = models.DateTimeField(null=True, blank=True) + taskexpire = models.DateTimeField(null=True, blank=True) + usable = models.IntegerField(default=1) # 1是可用,2是变更计划,0是不可用 + type = models.IntegerField(default=1) # 1是计划内,2是计划外 + note = models.TextField(null=True, blank=True) # 备注 + state = models.IntegerField(default=1) # 1是正常 + istask = models.IntegerField(default=0) # 是否是任务 -class Risktask(models.Model):#风险排查任务清单 + +class Risktask(models.Model): # 风险排查任务清单 id = models.AutoField(primary_key=True) - risk = models.ForeignKey(Risk, on_delete=models.CASCADE,null=True,blank=True) - group = models.ForeignKey(Group, on_delete=models.CASCADE,null=True,blank=True) - user = models.ForeignKey(User, on_delete=models.CASCADE,null=True,blank=True) - taskadd = models.DateTimeField(null=True,blank=True) - taskdo = models.DateTimeField(null=True,blank=True) - taskexpire = models.DateTimeField(null=True,blank=True) - trouble = models.ForeignKey(Trouble, on_delete=models.CASCADE,null=True,blank=True) - usable = models.IntegerField(default=1) #1是可用,2是变更计划,0是不可用 - type = models.IntegerField(default=1) #1是计划内,2是计划外 - note = models.TextField(null=True,blank=True) #备注 + risk = models.ForeignKey( + Risk, on_delete=models.CASCADE, null=True, blank=True) + group = models.ForeignKey( + Group, on_delete=models.CASCADE, null=True, blank=True) + user = models.ForeignKey( + User, on_delete=models.CASCADE, null=True, blank=True) + taskadd = models.DateTimeField(null=True, blank=True) + taskdo = models.DateTimeField(null=True, blank=True) + taskexpire = models.DateTimeField(null=True, blank=True) + trouble = models.ForeignKey( + Trouble, on_delete=models.CASCADE, null=True, blank=True) + usable = models.IntegerField(default=1) # 1是可用,2是变更计划,0是不可用 + type = models.IntegerField(default=1) # 1是计划内,2是计划外 + note = models.TextField(null=True, blank=True) # 备注 -class Riskcheck2(models.Model):#风险排查记录2 +class Riskcheck2(models.Model): # 风险排查记录2 id = models.AutoField(primary_key=True) - riskacttask = models.ForeignKey(RiskActTask, on_delete=models.CASCADE,null=True,blank=True) - risk = models.ForeignKey(Risk, on_delete=models.CASCADE,null=True,blank=True) - dotime = models.DateTimeField(null=True,blank=True) - trouble = models.ForeignKey(Trouble, on_delete=models.CASCADE,null=True,blank=True) - note = models.TextField(null=True,blank=True) + riskacttask = models.ForeignKey( + RiskActTask, on_delete=models.CASCADE, null=True, blank=True) + risk = models.ForeignKey( + Risk, on_delete=models.CASCADE, null=True, blank=True) + dotime = models.DateTimeField(null=True, blank=True) + trouble = models.ForeignKey( + Trouble, on_delete=models.CASCADE, null=True, blank=True) + note = models.TextField(null=True, blank=True) -class Riskcheck(models.Model):#风险排查记录 - id = models.AutoField(primary_key=True) - risk = models.ForeignKey(Risk, on_delete=models.CASCADE,null=True,blank=True) - user = models.ForeignKey(User, on_delete=models.CASCADE,null=True,blank=True) - risktask = models.ForeignKey(Risktask, on_delete=models.CASCADE,null=True,blank=True) - dotime = models.DateTimeField(null=True,blank=True) - trouble = models.ForeignKey(Trouble, on_delete=models.CASCADE,null=True,blank=True) - note = models.TextField(null=True,blank=True) -class Report(models.Model):#分析报告表 +class Riskcheck(models.Model): # 风险排查记录 id = models.AutoField(primary_key=True) - part = models.ForeignKey(Partment, on_delete=models.CASCADE,null=True,blank=True) - year = models.IntegerField(null=True,blank=True) - month = models.IntegerField(null=True,blank=True) - cause = models.TextField(null=True,blank=True) #原因分析 - suggest = models.TextField(null=True,blank=True) #下一步建议 + risk = models.ForeignKey( + Risk, on_delete=models.CASCADE, null=True, blank=True) + user = models.ForeignKey( + User, on_delete=models.CASCADE, null=True, blank=True) + risktask = models.ForeignKey( + Risktask, on_delete=models.CASCADE, null=True, blank=True) + dotime = models.DateTimeField(null=True, blank=True) + trouble = models.ForeignKey( + Trouble, on_delete=models.CASCADE, null=True, blank=True) + note = models.TextField(null=True, blank=True) + + +class Report(models.Model): # 分析报告表 + id = models.AutoField(primary_key=True) + part = models.ForeignKey( + Partment, on_delete=models.CASCADE, null=True, blank=True) + year = models.IntegerField(null=True, blank=True) + month = models.IntegerField(null=True, blank=True) + cause = models.TextField(null=True, blank=True) # 原因分析 + suggest = models.TextField(null=True, blank=True) # 下一步建议 + class CompanyInfo(models.Model): company_nature = ( (0, '国企'), (1, '私企'), ) - partment = models.OneToOneField(Partment, on_delete=models.CASCADE, verbose_name='公司ID') + partment = models.OneToOneField( + Partment, on_delete=models.CASCADE, verbose_name='公司ID') name = models.CharField(max_length=64, verbose_name='公司名称') - nature = models.SmallIntegerField(choices=company_nature, default=0, verbose_name='企业性质') + nature = models.SmallIntegerField( + choices=company_nature, default=0, verbose_name='企业性质') address = models.CharField(max_length=128, verbose_name='公司地址') - fixed_assets = models.IntegerField(null=True, blank=True, verbose_name='固定资产') - website = models.CharField(max_length=64, null=True, blank=True, verbose_name='公司网址') + fixed_assets = models.IntegerField( + null=True, blank=True, verbose_name='固定资产') + website = models.CharField( + max_length=64, null=True, blank=True, verbose_name='公司网址') peoplenum = models.IntegerField(null=True, blank=True, verbose_name='公司人数') - legalperson = models.CharField(max_length=24, null=True, blank=True,verbose_name='法人代表') - legalperson_phone = models.CharField(max_length=24, null=True, blank=True, verbose_name='法人电话') + legalperson = models.CharField( + max_length=24, null=True, blank=True, verbose_name='法人代表') + legalperson_phone = models.CharField( + max_length=24, null=True, blank=True, verbose_name='法人电话') liaison = models.CharField(max_length=24, verbose_name='联系人') liaison_phone = models.CharField(max_length=24, verbose_name='联系人电话') - introduce = models.TextField( null=True, blank=True, verbose_name='公司概况') + introduce = models.TextField(null=True, blank=True, verbose_name='公司概况') createtime = models.DateTimeField(auto_now_add=True) modifytime = models.DateTimeField(auto_now=True) -#法律法规分类表 +# 法律法规分类表 + + class Regulations(models.Model): id = models.AutoField(primary_key=True) typename = models.CharField(max_length=50) - parent = models.ForeignKey('self',blank=True,null=True,on_delete=models.CASCADE) + parent = models.ForeignKey( + 'self', blank=True, null=True, on_delete=models.CASCADE) sortorder = models.IntegerField(default=0) deletemark = models.IntegerField(default=1) - creattime = models.DateTimeField(default = timezone.now) - createuser = models.ForeignKey(User,related_name='rgs',on_delete=models.CASCADE,null=True,blank=True) - usecomp = models.ForeignKey(Partment,on_delete=models.CASCADE,null=True,blank=True) -#法律法规阅读人员管理表 -class FileReader(models.Model): - id = models.AutoField(primary_key=True) - kindnum = models.CharField(max_length=50) - readeruser = models.ForeignKey(User,on_delete=models.CASCADE) - readertime = models.DateTimeField(default = timezone.now) - deletemark = models.IntegerField(default=1) -#法律法规表 -class FileManage(models.Model): - id = models.AutoField(primary_key=True) - maragename = models.CharField(max_length=50) - maragepath = models.CharField(max_length=200,null=True,blank=True) - readernum = models.IntegerField(default=0) - maragetype = models.ForeignKey(Regulations,on_delete=models.CASCADE,null=True,blank=True) - publisdate = models.DateTimeField(default = timezone.now) - versionnum = models.CharField(max_length=50) - maragestate = models.IntegerField(default=1) #0是现行,1是废止,2修改,3修订 - accessorytype = models.CharField(max_length=50) - actualizedata = models.DateTimeField(default = timezone.now) - createdate = models.DateTimeField(default = timezone.now) - createuser = models.ForeignKey(User,on_delete=models.CASCADE) - usecomp= models.ForeignKey(Partment,on_delete=models.CASCADE,null=True,blank=True) - downnum = models.IntegerField(default=0) - deletemark = models.IntegerField(default=1) + creattime = models.DateTimeField(default=timezone.now) + createuser = models.ForeignKey( + User, related_name='rgs', on_delete=models.CASCADE, null=True, blank=True) + usecomp = models.ForeignKey( + Partment, on_delete=models.CASCADE, null=True, blank=True) +# 法律法规阅读人员管理表 + + +class FileReader(models.Model): + id = models.AutoField(primary_key=True) + kindnum = models.CharField(max_length=50) + readeruser = models.ForeignKey(User, on_delete=models.CASCADE) + readertime = models.DateTimeField(default=timezone.now) + deletemark = models.IntegerField(default=1) +# 法律法规表 + + +class FileManage(models.Model): + id = models.AutoField(primary_key=True) + maragename = models.CharField(max_length=50) + maragepath = models.CharField(max_length=200, null=True, blank=True) + readernum = models.IntegerField(default=0) + maragetype = models.ForeignKey( + Regulations, on_delete=models.CASCADE, null=True, blank=True) + publisdate = models.DateTimeField(default=timezone.now) + versionnum = models.CharField(max_length=50) + maragestate = models.IntegerField(default=1) # 0是现行,1是废止,2修改,3修订 + accessorytype = models.CharField(max_length=50) + actualizedata = models.DateTimeField(default=timezone.now) + createdate = models.DateTimeField(default=timezone.now) + createuser = models.ForeignKey(User, on_delete=models.CASCADE) + usecomp = models.ForeignKey( + Partment, on_delete=models.CASCADE, null=True, blank=True) + downnum = models.IntegerField(default=0) + deletemark = models.IntegerField(default=1) + +# 管理制度表 + -#管理制度表 class Mgtsystem(models.Model): - id = models.AutoField(primary_key=True) - mgtname = models.CharField(max_length=50) - type = models.ForeignKey(Dickey,on_delete=models.CASCADE,null=True,blank=True) - usecomp = models.ForeignKey(Partment,on_delete=models.CASCADE,null=True,blank=True) - mgtpath = models.CharField(max_length=200,null=True,blank=True) - publisdate = models.DateTimeField(default = timezone.now) - createuser = models.ForeignKey(User,on_delete=models.CASCADE) - deletemark = models.IntegerField(default=1) + id = models.AutoField(primary_key=True) + mgtname = models.CharField(max_length=50) + type = models.ForeignKey( + Dickey, on_delete=models.CASCADE, null=True, blank=True) + usecomp = models.ForeignKey( + Partment, on_delete=models.CASCADE, null=True, blank=True) + mgtpath = models.CharField(max_length=200, null=True, blank=True) + publisdate = models.DateTimeField(default=timezone.now) + createuser = models.ForeignKey(User, on_delete=models.CASCADE) + deletemark = models.IntegerField(default=1) diff --git a/safesite/templates/bindwechat.html b/safesite/templates/bindwechat.html index 8d150de4..bfe7cbb1 100644 --- a/safesite/templates/bindwechat.html +++ b/safesite/templates/bindwechat.html @@ -1,24 +1,49 @@ -
- - -{{msg}}
-{% if code == 1 %} -您已可接受微信通知
-可识别下方二维码打开小程序
-{{msg}}
+ {% if code == 1 %} +您已可接受微信通知
+可识别下方二维码打开小程序
+