隐患整改部门筛选导出

This commit is contained in:
caoqianming 2020-10-12 08:50:29 +08:00
parent b885045f55
commit e4abd4f05f
4 changed files with 207 additions and 25 deletions

View File

@ -0,0 +1,32 @@
# Generated by Django 2.2.8 on 2020-09-29 14:23
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('safesite', '0360_auto_20200927_2235'),
]
operations = [
# migrations.RemoveField(
# model_name='companyinfo',
# name='liaison_fax',
# ),
migrations.AlterField(
model_name='filemanage',
name='accessorytype',
field=models.CharField(max_length=100),
),
migrations.AlterField(
model_name='filemanage',
name='maragename',
field=models.CharField(max_length=100),
),
migrations.AlterField(
model_name='filemanage',
name='versionnum',
field=models.CharField(max_length=100),
),
]

View File

@ -0,0 +1,142 @@
# Generated by Django 2.2.8 on 2020-10-12 08:43
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('safesite', '0361_auto_20200929_1423'),
]
operations = [
# migrations.RemoveField(
# model_name='companyinfo',
# name='liaison_fax',
# ),
migrations.AlterField(
model_name='checkjob',
name='yhtp',
field=models.TextField(blank=True, null=True),
),
migrations.AlterField(
model_name='checkjob',
name='zghtp',
field=models.TextField(blank=True, null=True),
),
migrations.AlterField(
model_name='checkproject',
name='checktitle',
field=models.TextField(),
),
migrations.AlterField(
model_name='checktable',
name='checktitle',
field=models.TextField(),
),
migrations.AlterField(
model_name='dickey',
name='detail',
field=models.TextField(default=''),
),
migrations.AlterField(
model_name='drill',
name='material',
field=models.TextField(blank=True, null=True),
),
migrations.AlterField(
model_name='drill',
name='otherparticipant',
field=models.TextField(blank=True, null=True),
),
migrations.AlterField(
model_name='map',
name='pic',
field=models.TextField(blank=True),
),
migrations.AlterField(
model_name='miss',
name='missimg',
field=models.TextField(blank=True, null=True),
),
migrations.AlterField(
model_name='myschedule',
name='name',
field=models.CharField(max_length=200, verbose_name='名称'),
),
migrations.AlterField(
model_name='notice',
name='material',
field=models.TextField(blank=True, null=True),
),
migrations.AlterField(
model_name='observe',
name='lookimg',
field=models.TextField(blank=True, null=True),
),
migrations.AlterField(
model_name='operation',
name='zyimg',
field=models.TextField(default=''),
),
migrations.AlterField(
model_name='operation',
name='zyimg2',
field=models.TextField(default=''),
),
migrations.AlterField(
model_name='question',
name='mark',
field=models.TextField(blank=True),
),
migrations.AlterField(
model_name='relation',
name='remark',
field=models.CharField(blank=True, max_length=200, null=True),
),
migrations.AlterField(
model_name='safecert',
name='url',
field=models.TextField(blank=True, null=True),
),
migrations.AlterField(
model_name='socertificate',
name='url',
field=models.TextField(blank=True, null=True),
),
migrations.AlterField(
model_name='suggest',
name='jyimg',
field=models.TextField(blank=True, null=True),
),
migrations.AlterField(
model_name='suggest',
name='shyj',
field=models.TextField(blank=True, null=True),
),
migrations.AlterField(
model_name='train',
name='material',
field=models.TextField(blank=True, null=True),
),
migrations.AlterField(
model_name='trainuser',
name='opinion',
field=models.TextField(blank=True, null=True),
),
migrations.AlterField(
model_name='trouble',
name='material',
field=models.TextField(blank=True, null=True),
),
migrations.AlterField(
model_name='trouble',
name='yhtp',
field=models.TextField(blank=True),
),
migrations.AlterField(
model_name='trouble',
name='zghtp',
field=models.TextField(blank=True),
),
]

View File

@ -64,7 +64,7 @@ class Map(models.Model):
# ) # )
id = models.AutoField(primary_key=True) id = models.AutoField(primary_key=True)
name = models.CharField(max_length=50) name = models.CharField(max_length=50)
pic = models.CharField(max_length=1000, blank=True) pic = models.TextField(blank=True)
parent = models.ForeignKey( parent = models.ForeignKey(
'self', blank=True, null=True, on_delete=models.CASCADE) 'self', blank=True, null=True, on_delete=models.CASCADE)
link = models.TextField(null=True, blank=True) link = models.TextField(null=True, blank=True)
@ -158,7 +158,7 @@ class Dickey(models.Model): # 字典
'self', blank=True, null=True, on_delete=models.CASCADE) 'self', blank=True, null=True, on_delete=models.CASCADE)
usecomps = models.TextField(default=',1,') # 所用公司 usecomps = models.TextField(default=',1,') # 所用公司
nousecomps = models.TextField(default='') # 不用公司 nousecomps = models.TextField(default='') # 不用公司
detail = models.CharField(max_length=1000, default='') detail = models.TextField(default='')
deletemark = models.IntegerField(default='1') deletemark = models.IntegerField(default='1')
creattime = models.DateTimeField(default=timezone.now) creattime = models.DateTimeField(default=timezone.now)
modifytime = models.DateTimeField(auto_now=True) modifytime = models.DateTimeField(auto_now=True)
@ -210,8 +210,8 @@ class Trouble(models.Model): # 隐患排查
zgms = models.TextField(blank=True) zgms = models.TextField(blank=True)
yyfx = models.TextField(blank=True) yyfx = models.TextField(blank=True)
zgcs = models.TextField(blank=True) zgcs = models.TextField(blank=True)
yhtp = models.CharField(max_length=1000, blank=True) yhtp = models.TextField(blank=True)
zghtp = models.CharField(max_length=1000, blank=True) zghtp = models.TextField(blank=True)
yhzt = models.IntegerField(choices=ZT_CHOICES, null=True, blank=True) yhzt = models.IntegerField(choices=ZT_CHOICES, null=True, blank=True)
tbsj = models.DateTimeField(default=timezone.now) tbsj = models.DateTimeField(default=timezone.now)
zgbm = models.ForeignKey( zgbm = models.ForeignKey(
@ -223,7 +223,7 @@ class Trouble(models.Model): # 隐患排查
zgsj = models.DateTimeField(null=True, blank=True) zgsj = models.DateTimeField(null=True, blank=True)
pgsh = models.ManyToManyField( pgsh = models.ManyToManyField(
User, related_name='pgsh', through='TroubleAccess') # 评估审核 User, related_name='pgsh', through='TroubleAccess') # 评估审核
material = models.CharField(max_length=1000, null=True, blank=True) material = models.TextField(null=True, blank=True)
todouser = models.ForeignKey( todouser = models.ForeignKey(
User, related_name='todor', null=True, blank=True, on_delete=models.CASCADE) User, related_name='todor', null=True, blank=True, on_delete=models.CASCADE)
usecomp = models.ForeignKey( usecomp = models.ForeignKey(
@ -286,13 +286,13 @@ class Drill(models.Model): # 应急演练
commander = models.CharField(max_length=200, null=True, blank=True) commander = models.CharField(max_length=200, null=True, blank=True)
chief = models.ForeignKey( chief = models.ForeignKey(
User, on_delete=models.CASCADE, null=True, blank=True) User, on_delete=models.CASCADE, null=True, blank=True)
otherparticipant = models.CharField(max_length=1000, null=True, blank=True) otherparticipant = models.TextField(null=True, blank=True)
deletemark = models.IntegerField(default='1') deletemark = models.IntegerField(default='1')
state = models.IntegerField(default='0') # 默认未评估 state = models.IntegerField(default='0') # 默认未评估
participantnum = models.IntegerField(default='1', null=True, blank=True) participantnum = models.IntegerField(default='1', null=True, blank=True)
knownum = models.IntegerField(default='1', null=True, blank=True) knownum = models.IntegerField(default='1', null=True, blank=True)
plan = models.TextField(null=True, blank=True) plan = models.TextField(null=True, blank=True)
material = models.CharField(max_length=1000, null=True, blank=True) material = models.TextField(null=True, blank=True)
class Drilluser(models.Model): # 演练参加人表 class Drilluser(models.Model): # 演练参加人表
@ -322,7 +322,7 @@ class Observe(models.Model): # 行为观察
makeresult = models.TextField(null=True, blank=True) # 整改情况 makeresult = models.TextField(null=True, blank=True) # 整改情况
safecontent = models.TextField(null=True, blank=True) safecontent = models.TextField(null=True, blank=True)
deletemark = models.IntegerField(default='1') deletemark = models.IntegerField(default='1')
lookimg = models.CharField(max_length=1000, null=True, blank=True) lookimg = models.TextField(null=True, blank=True)
unsafe = models.ManyToManyField( unsafe = models.ManyToManyField(
Dickey, related_name='baqxw', through='Unsafes') Dickey, related_name='baqxw', through='Unsafes')
record1 = models.TextField(null=True, blank=True) # 交流情况 record1 = models.TextField(null=True, blank=True) # 交流情况
@ -364,7 +364,7 @@ class Miss(models.Model): # 未遂事件
usecomp = models.ForeignKey( usecomp = models.ForeignKey(
Partment, default='1', on_delete=models.CASCADE) Partment, default='1', on_delete=models.CASCADE)
deletemark = models.IntegerField(default='1') deletemark = models.IntegerField(default='1')
missimg = models.CharField(max_length=1000, null=True, blank=True) missimg = models.TextField(null=True, blank=True)
prevent = models.TextField(null=True, blank=True) # 防范措施 prevent = models.TextField(null=True, blank=True) # 防范措施
lesson = models.TextField(null=True, blank=True) # 经验教训 lesson = models.TextField(null=True, blank=True) # 经验教训
reads = models.ManyToManyField( reads = models.ManyToManyField(
@ -471,7 +471,7 @@ class Socertificate(models.Model): # 特种作业证书
yxqjssj = models.DateField(null=True, blank=True) yxqjssj = models.DateField(null=True, blank=True)
sjfssj = models.DateField(null=True, blank=True) sjfssj = models.DateField(null=True, blank=True)
zszt = models.IntegerField(choices=type_choices, null=True, blank=True) zszt = models.IntegerField(choices=type_choices, null=True, blank=True)
url = models.CharField(max_length=1000, null=True, blank=True) url = models.TextField(null=True, blank=True)
class Safecert(models.Model): # 安全资格证书 class Safecert(models.Model): # 安全资格证书
@ -495,7 +495,7 @@ class Safecert(models.Model): # 安全资格证书
yxqkssj = models.DateField(null=True, blank=True) yxqkssj = models.DateField(null=True, blank=True)
yxqjssj = models.DateField(null=True, blank=True) yxqjssj = models.DateField(null=True, blank=True)
zszt = models.IntegerField(choices=type_choices, null=True, blank=True) zszt = models.IntegerField(choices=type_choices, null=True, blank=True)
url = models.CharField(max_length=1000, null=True, blank=True) url = models.TextField(null=True, blank=True)
class Suggest(models.Model): # 合理化建议 class Suggest(models.Model): # 合理化建议
@ -514,7 +514,7 @@ class Suggest(models.Model): # 合理化建议
Partment, related_name='jybm', on_delete=models.CASCADE) # 建议部门 Partment, related_name='jybm', on_delete=models.CASCADE) # 建议部门
jyr = models.ForeignKey(User, related_name='jyr', jyr = models.ForeignKey(User, related_name='jyr',
on_delete=models.CASCADE) # 建议人 on_delete=models.CASCADE) # 建议人
jyimg = models.CharField(max_length=1000, null=True, blank=True) jyimg = models.TextField(null=True, blank=True)
submittime = models.DateTimeField(default=timezone.now) submittime = models.DateTimeField(default=timezone.now)
modifytime = models.DateTimeField(auto_now=True) modifytime = models.DateTimeField(auto_now=True)
usecomp = models.ForeignKey( usecomp = models.ForeignKey(
@ -540,7 +540,7 @@ class Suggest(models.Model): # 合理化建议
jydd = models.CharField(max_length=200, null=True, blank=True) jydd = models.CharField(max_length=200, null=True, blank=True)
yjwcsj = models.DateTimeField(null=True, blank=True) # 预计完成时间 yjwcsj = models.DateTimeField(null=True, blank=True) # 预计完成时间
sjwcsj = models.DateTimeField(null=True, blank=True) # 实际完成时间 sjwcsj = models.DateTimeField(null=True, blank=True) # 实际完成时间
shyj = models.CharField(max_length=1000, null=True, blank=True) # 审核意见 shyj = models.TextField(null=True, blank=True) # 审核意见
accept = models.IntegerField(default=1) accept = models.IntegerField(default=1)
@ -566,7 +566,7 @@ class Notice(models.Model): # 资料/公告/通知
modifytime = models.DateTimeField(u'更新时间', default=timezone.now) modifytime = models.DateTimeField(u'更新时间', default=timezone.now)
tousers = models.ManyToManyField( tousers = models.ManyToManyField(
User, related_name='tzry', through='Noticeto') User, related_name='tzry', through='Noticeto')
material = models.CharField(max_length=1000, null=True, blank=True) material = models.TextField(null=True, blank=True)
deletemark = models.IntegerField(default='1') deletemark = models.IntegerField(default='1')
reads = models.IntegerField(default=0) reads = models.IntegerField(default=0)
isgg = models.IntegerField(default='1') #1是公告,0是通知,2是资料文件 isgg = models.IntegerField(default='1') #1是公告,0是通知,2是资料文件
@ -610,8 +610,8 @@ class Operation(models.Model): # 作业表
kssj = models.DateTimeField(default=timezone.now) kssj = models.DateTimeField(default=timezone.now)
jssj = models.DateTimeField(default=timezone.now) jssj = models.DateTimeField(default=timezone.now)
submittime = models.DateTimeField(u'创建时间', default=timezone.now) submittime = models.DateTimeField(u'创建时间', default=timezone.now)
zyimg = models.CharField(max_length=1000, default='') zyimg = models.TextField(default='')
zyimg2 = models.CharField(max_length=1000, default='') zyimg2 = models.TextField(default='')
deletemark = models.IntegerField(default='1') deletemark = models.IntegerField(default='1')
zyzt = JSONField() zyzt = JSONField()
fxcs = models.TextField() fxcs = models.TextField()
@ -706,7 +706,7 @@ class Question(models.Model): # 题库
Questioncat, blank=True, null=True, on_delete=models.CASCADE) Questioncat, blank=True, null=True, on_delete=models.CASCADE)
station = models.ForeignKey( station = models.ForeignKey(
Group, blank=True, null=True, on_delete=models.CASCADE) # 岗位 Group, blank=True, null=True, on_delete=models.CASCADE) # 岗位
mark = models.CharField(max_length=1000, blank=True) mark = models.TextField(blank=True)
answer = JSONField() answer = JSONField()
right = JSONField() right = JSONField()
resolution = models.TextField() resolution = models.TextField()
@ -817,7 +817,7 @@ class Train(models.Model): # 培训表
participantnum = models.IntegerField(default='1', null=True, blank=True) participantnum = models.IntegerField(default='1', null=True, blank=True)
knownum = models.IntegerField(default='1', null=True, blank=True) knownum = models.IntegerField(default='1', null=True, blank=True)
pxxg = models.TextField(null=True, blank=True) pxxg = models.TextField(null=True, blank=True)
material = models.CharField(max_length=1000, null=True, blank=True) material = models.TextField(null=True, blank=True)
checkqr = models.CharField(max_length=200, blank=True, null=True) checkqr = models.CharField(max_length=200, blank=True, null=True)
examtest = models.ForeignKey( examtest = models.ForeignKey(
ExamTest, on_delete=models.CASCADE, null=True, blank=True) ExamTest, on_delete=models.CASCADE, null=True, blank=True)
@ -832,7 +832,7 @@ class Trainuser(models.Model): # 培训人员记录
qdsj = models.DateTimeField(null=True, blank=True) qdsj = models.DateTimeField(null=True, blank=True)
jsqd = models.DateTimeField(verbose_name='结束签到时间',null=True,blank=True) jsqd = models.DateTimeField(verbose_name='结束签到时间',null=True,blank=True)
isnew = models.IntegerField(default=0) isnew = models.IntegerField(default=0)
opinion = models.CharField(max_length=1000, null=True, blank=True) opinion = models.TextField(null=True, blank=True)
class Relation(models.Model): # 各模块关系表,没用到 class Relation(models.Model): # 各模块关系表,没用到
@ -846,7 +846,7 @@ class Relation(models.Model): # 各模块关系表,没用到
Observe, on_delete=models.CASCADE, null=True, blank=True) Observe, on_delete=models.CASCADE, null=True, blank=True)
miss = models.ForeignKey( miss = models.ForeignKey(
Miss, on_delete=models.CASCADE, null=True, blank=True) Miss, on_delete=models.CASCADE, null=True, blank=True)
remark = models.CharField(max_length=1000, null=True, blank=True) remark = models.CharField(max_length=200, null=True, blank=True)
class RiskAct(models.Model): # 风险点表 class RiskAct(models.Model): # 风险点表
@ -1042,7 +1042,7 @@ class EdulessonWatch(models.Model): # 在线视频观看情况表
from django_celery_beat.models import PeriodicTask, IntervalSchedule, CrontabSchedule from django_celery_beat.models import PeriodicTask, IntervalSchedule, CrontabSchedule
class MySchedule(models.Model): class MySchedule(models.Model):
name = models.CharField('名称', max_length=1000) name = models.CharField('名称', max_length=200)
typeset = models.CharField('类型', default=1,max_length=10) typeset = models.CharField('类型', default=1,max_length=10)
interval = models.ForeignKey(IntervalSchedule, null=True, blank=True, on_delete=models.SET_NULL) interval = models.ForeignKey(IntervalSchedule, null=True, blank=True, on_delete=models.SET_NULL)
crontab = models.ForeignKey(CrontabSchedule, null=True, blank=True, on_delete=models.SET_NULL) crontab = models.ForeignKey(CrontabSchedule, null=True, blank=True, on_delete=models.SET_NULL)
@ -1263,7 +1263,7 @@ class ReaderOperproce(models.Model):
#检查项目 #检查项目
class Checkproject(models.Model): class Checkproject(models.Model):
id =models.AutoField(primary_key=True)#主键 id =models.AutoField(primary_key=True)#主键
checktitle=models.CharField(max_length=1000)#检查项目标题 checktitle=models.TextField()#检查项目标题
checkcontent=models.TextField()#检查内容 checkcontent=models.TextField()#检查内容
requirements=models.TextField()#检查要求 requirements=models.TextField()#检查要求
createuser = models.ForeignKey(User,on_delete=models.CASCADE)#创建人 createuser = models.ForeignKey(User,on_delete=models.CASCADE)#创建人
@ -1273,7 +1273,7 @@ class Checkproject(models.Model):
#检查表 #检查表
class Checktable(models.Model): class Checktable(models.Model):
id =models.AutoField(primary_key=True)#主键 id =models.AutoField(primary_key=True)#主键
checktitle=models.CharField(max_length=1000)#检查表名 checktitle=models.TextField()#检查表名
checkprjtype=models.ManyToManyField(Checkproject)#检查项目多选 checkprjtype=models.ManyToManyField(Checkproject)#检查项目多选
checkcontent=models.TextField()#检查内容 checkcontent=models.TextField()#检查内容
createuser = models.ForeignKey(User,on_delete=models.CASCADE)#创建人 createuser = models.ForeignKey(User,on_delete=models.CASCADE)#创建人
@ -1320,5 +1320,5 @@ class Checkjob(models.Model):
yanshouren=models.ForeignKey(User,related_name='yanshouren',on_delete=models.CASCADE,null=True)#验收人员 yanshouren=models.ForeignKey(User,related_name='yanshouren',on_delete=models.CASCADE,null=True)#验收人员
pmpeople=models.ManyToManyField(User,related_name='bcfr')#被处罚人员 pmpeople=models.ManyToManyField(User,related_name='bcfr')#被处罚人员
content=models.TextField(null=True)#处罚内容 content=models.TextField(null=True)#处罚内容
yhtp = models.CharField(max_length=1000,null=True, blank=True) yhtp = models.TextField(null=True, blank=True)
zghtp = models.CharField(max_length=1000,null=True, blank=True) zghtp = models.TextField(null=True, blank=True)

View File

@ -1919,6 +1919,8 @@ def troublehandle(req):
fxr = req.GET.get('fxr') fxr = req.GET.get('fxr')
qssj = req.GET.get('qssj') qssj = req.GET.get('qssj')
jssj = req.GET.get('jssj') jssj = req.GET.get('jssj')
zgbm = req.GET.get('zgbm')
fxrname = req.GET.get('fxrname',None)
if yhzt != '' and yhzt != None: if yhzt != '' and yhzt != None:
a = a.filter(yhzt=yhzt) a = a.filter(yhzt=yhzt)
if yhlx: if yhlx:
@ -1940,6 +1942,12 @@ def troublehandle(req):
a = a.filter(fxsj__gte=qssj) a = a.filter(fxsj__gte=qssj)
if jssj: if jssj:
a = a.filter(fxsj__lte=jssj) a = a.filter(fxsj__lte=jssj)
if zgbm:
parts = Partment.objects.filter(
partlink__contains=','+str(zgbm)+',') | Partment.objects.filter(partid=zgbm)
a = a.filter(Q(zgbm__in=parts) | Q(fxbm__in=parts, zgbm=None))
if fxrname:
a = a.filter(fxr__name=fxrname)
res = exportxlsx('yh', a) res = exportxlsx('yh', a)
return res return res
elif a == 'del': elif a == 'del':