隐患整改部门筛选导出

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)
name = models.CharField(max_length=50)
pic = models.CharField(max_length=1000, blank=True)
pic = models.TextField(blank=True)
parent = models.ForeignKey(
'self', blank=True, null=True, on_delete=models.CASCADE)
link = models.TextField(null=True, blank=True)
@ -158,7 +158,7 @@ class Dickey(models.Model): # 字典
'self', blank=True, null=True, on_delete=models.CASCADE)
usecomps = models.TextField(default=',1,') # 所用公司
nousecomps = models.TextField(default='') # 不用公司
detail = models.CharField(max_length=1000, default='')
detail = models.TextField(default='')
deletemark = models.IntegerField(default='1')
creattime = models.DateTimeField(default=timezone.now)
modifytime = models.DateTimeField(auto_now=True)
@ -210,8 +210,8 @@ class Trouble(models.Model): # 隐患排查
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)
yhtp = models.TextField(blank=True)
zghtp = models.TextField(blank=True)
yhzt = models.IntegerField(choices=ZT_CHOICES, null=True, blank=True)
tbsj = models.DateTimeField(default=timezone.now)
zgbm = models.ForeignKey(
@ -223,7 +223,7 @@ class Trouble(models.Model): # 隐患排查
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)
material = models.TextField(null=True, blank=True)
todouser = models.ForeignKey(
User, related_name='todor', null=True, blank=True, on_delete=models.CASCADE)
usecomp = models.ForeignKey(
@ -286,13 +286,13 @@ class Drill(models.Model): # 应急演练
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)
otherparticipant = models.TextField(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.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): # 演练参加人表
@ -322,7 +322,7 @@ class Observe(models.Model): # 行为观察
makeresult = models.TextField(null=True, blank=True) # 整改情况
safecontent = models.TextField(null=True, blank=True)
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(
Dickey, related_name='baqxw', through='Unsafes')
record1 = models.TextField(null=True, blank=True) # 交流情况
@ -364,7 +364,7 @@ class Miss(models.Model): # 未遂事件
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)
missimg = models.TextField(null=True, blank=True)
prevent = models.TextField(null=True, blank=True) # 防范措施
lesson = models.TextField(null=True, blank=True) # 经验教训
reads = models.ManyToManyField(
@ -471,7 +471,7 @@ class Socertificate(models.Model): # 特种作业证书
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)
url = models.TextField(null=True, blank=True)
class Safecert(models.Model): # 安全资格证书
@ -495,7 +495,7 @@ class Safecert(models.Model): # 安全资格证书
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)
url = models.TextField(null=True, blank=True)
class Suggest(models.Model): # 合理化建议
@ -514,7 +514,7 @@ class Suggest(models.Model): # 合理化建议
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)
jyimg = models.TextField(null=True, blank=True)
submittime = models.DateTimeField(default=timezone.now)
modifytime = models.DateTimeField(auto_now=True)
usecomp = models.ForeignKey(
@ -540,7 +540,7 @@ class Suggest(models.Model): # 合理化建议
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) # 审核意见
shyj = models.TextField(null=True, blank=True) # 审核意见
accept = models.IntegerField(default=1)
@ -566,7 +566,7 @@ class Notice(models.Model): # 资料/公告/通知
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)
material = models.TextField(null=True, blank=True)
deletemark = models.IntegerField(default='1')
reads = models.IntegerField(default=0)
isgg = models.IntegerField(default='1') #1是公告,0是通知,2是资料文件
@ -610,8 +610,8 @@ class Operation(models.Model): # 作业表
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='')
zyimg = models.TextField(default='')
zyimg2 = models.TextField(default='')
deletemark = models.IntegerField(default='1')
zyzt = JSONField()
fxcs = models.TextField()
@ -706,7 +706,7 @@ class Question(models.Model): # 题库
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)
mark = models.TextField(blank=True)
answer = JSONField()
right = JSONField()
resolution = models.TextField()
@ -817,7 +817,7 @@ class Train(models.Model): # 培训表
participantnum = models.IntegerField(default='1', null=True, blank=True)
knownum = models.IntegerField(default='1', 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)
examtest = models.ForeignKey(
ExamTest, on_delete=models.CASCADE, null=True, blank=True)
@ -832,7 +832,7 @@ class Trainuser(models.Model): # 培训人员记录
qdsj = models.DateTimeField(null=True, blank=True)
jsqd = models.DateTimeField(verbose_name='结束签到时间',null=True,blank=True)
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): # 各模块关系表,没用到
@ -846,7 +846,7 @@ class Relation(models.Model): # 各模块关系表,没用到
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)
remark = models.CharField(max_length=200, null=True, blank=True)
class RiskAct(models.Model): # 风险点表
@ -1042,7 +1042,7 @@ class EdulessonWatch(models.Model): # 在线视频观看情况表
from django_celery_beat.models import PeriodicTask, IntervalSchedule, CrontabSchedule
class MySchedule(models.Model):
name = models.CharField('名称', max_length=1000)
name = models.CharField('名称', max_length=200)
typeset = models.CharField('类型', default=1,max_length=10)
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)
@ -1263,7 +1263,7 @@ class ReaderOperproce(models.Model):
#检查项目
class Checkproject(models.Model):
id =models.AutoField(primary_key=True)#主键
checktitle=models.CharField(max_length=1000)#检查项目标题
checktitle=models.TextField()#检查项目标题
checkcontent=models.TextField()#检查内容
requirements=models.TextField()#检查要求
createuser = models.ForeignKey(User,on_delete=models.CASCADE)#创建人
@ -1273,7 +1273,7 @@ class Checkproject(models.Model):
#检查表
class Checktable(models.Model):
id =models.AutoField(primary_key=True)#主键
checktitle=models.CharField(max_length=1000)#检查表名
checktitle=models.TextField()#检查表名
checkprjtype=models.ManyToManyField(Checkproject)#检查项目多选
checkcontent=models.TextField()#检查内容
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)#验收人员
pmpeople=models.ManyToManyField(User,related_name='bcfr')#被处罚人员
content=models.TextField(null=True)#处罚内容
yhtp = models.CharField(max_length=1000,null=True, blank=True)
zghtp = models.CharField(max_length=1000,null=True, blank=True)
yhtp = models.TextField(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')
qssj = req.GET.get('qssj')
jssj = req.GET.get('jssj')
zgbm = req.GET.get('zgbm')
fxrname = req.GET.get('fxrname',None)
if yhzt != '' and yhzt != None:
a = a.filter(yhzt=yhzt)
if yhlx:
@ -1940,6 +1942,12 @@ def troublehandle(req):
a = a.filter(fxsj__gte=qssj)
if 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)
return res
elif a == 'del':