From e4abd4f05f5ef0b9f6554f6a172b5a4e05d4f5cc Mon Sep 17 00:00:00 2001 From: caoqianming Date: Mon, 12 Oct 2020 08:50:29 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9A=90=E6=82=A3=E6=95=B4=E6=94=B9=E9=83=A8?= =?UTF-8?q?=E9=97=A8=E7=AD=9B=E9=80=89=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../migrations/0361_auto_20200929_1423.py | 32 ++++ .../migrations/0362_auto_20201012_0843.py | 142 ++++++++++++++++++ safesite/models.py | 50 +++--- safesite/views.py | 8 + 4 files changed, 207 insertions(+), 25 deletions(-) create mode 100644 safesite/migrations/0361_auto_20200929_1423.py create mode 100644 safesite/migrations/0362_auto_20201012_0843.py diff --git a/safesite/migrations/0361_auto_20200929_1423.py b/safesite/migrations/0361_auto_20200929_1423.py new file mode 100644 index 00000000..cebc1f87 --- /dev/null +++ b/safesite/migrations/0361_auto_20200929_1423.py @@ -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), + ), + ] diff --git a/safesite/migrations/0362_auto_20201012_0843.py b/safesite/migrations/0362_auto_20201012_0843.py new file mode 100644 index 00000000..8856ab39 --- /dev/null +++ b/safesite/migrations/0362_auto_20201012_0843.py @@ -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), + ), + ] diff --git a/safesite/models.py b/safesite/models.py index b6b7e35a..55b21109 100644 --- a/safesite/models.py +++ b/safesite/models.py @@ -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) \ No newline at end of file + yhtp = models.TextField(null=True, blank=True) + zghtp = models.TextField(null=True, blank=True) \ No newline at end of file diff --git a/safesite/views.py b/safesite/views.py index 77380499..b8561845 100644 --- a/safesite/views.py +++ b/safesite/views.py @@ -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':