diff --git a/safesite/migrations/0296_auto_20191206_1559.py b/safesite/migrations/0296_auto_20191206_1559.py
new file mode 100644
index 00000000..0de6373e
--- /dev/null
+++ b/safesite/migrations/0296_auto_20191206_1559.py
@@ -0,0 +1,21 @@
+# Generated by Django 2.2.8 on 2019-12-06 15:59
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('safesite', '0295_auto_20191205_1702'),
+ ]
+
+ operations = [
+ # migrations.RemoveField(
+ # model_name='companyinfo',
+ # name='liaison_fax',
+ # ),
+ migrations.RemoveField(
+ model_name='operation',
+ name='issimple',
+ ),
+ ]
diff --git a/safesite/models.py b/safesite/models.py
index 313d9f90..15a6c14b 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,177 +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')
- issimple = 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)
@@ -500,389 +610,498 @@ 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)
diff --git a/safesite/static/safesite/mystatic/js/util.js b/safesite/static/safesite/mystatic/js/util.js
index c921e5ca..685679b2 100644
--- a/safesite/static/safesite/mystatic/js/util.js
+++ b/safesite/static/safesite/mystatic/js/util.js
@@ -349,6 +349,22 @@ function choseusers(x) {
});
$('#userdd').window('center');
}
+function choseuser(x) {
+ var x = x || 'lecturer';
+ var myh = screen.availHeight * 0.7;
+ $('#userdd').dialog({
+ maximizable: true,
+ title: '选择人员',
+ width: 900,
+ height: myh,
+ closed: false,
+ cache: false,
+ href: 'getuserf?a=' + x,
+ modal: true,
+ border: false,
+ });
+ $('#userdd').window('center');
+}
//导出excel
function JSONToCSVConvertor(JSONData, ReportTitle, ShowLabel) {
//If JSONData is not an object then JSON.parse will parse the JSON string in an Object
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 %}
-您已可接受微信通知
-可识别下方二维码打开小程序
-
-{% endif %}
-{% if code != 1 %}
-
-{% endif %}
+
+
+
+
+ 绑定微信号
+
+
+
+
+ {{msg}}
+ {% if code == 1 %}
+ 您已可接受微信通知
+
+
可识别下方二维码打开小程序
+
+
+ {% endif %}
+ {% if code != 1 %}
+
+
+ {% endif %}
+
+
+
\ No newline at end of file
diff --git a/safesite/templates/datashow.html b/safesite/templates/datashow.html
index 64f6b494..21f111be 100644
--- a/safesite/templates/datashow.html
+++ b/safesite/templates/datashow.html
@@ -1,7 +1,8 @@
-
+
+
数据大屏
diff --git a/safesite/templates/examtestdetail.html b/safesite/templates/examtestdetail.html
index c6c5c3f0..c20759ff 100644
--- a/safesite/templates/examtestdetail.html
+++ b/safesite/templates/examtestdetail.html
@@ -89,6 +89,7 @@
{{each cjrydetail}}
{{$index+1}}
+ {{$value.id}}
{{$value.user__name}}
{{$value.user__ubelongpart__partname}}
{{if $value.ison==0}}
@@ -98,10 +99,10 @@
{{/if}}
{{$value.score}}
{{$value.took}}
- {{$value.id}}
+
点击查看
{{if $value.passcode==0&&$value.ison==1&&state==1}}
- 重新发布试卷
+ 重新发布试卷
{{else}}
{{/if}}
@@ -196,20 +197,24 @@
}
});
}
- function updateIson() {
- var examdlid = document.getElementById("examdlid").innerHTML;
+
+ function showzhi(obj) {
+ var x = $(obj).parent().parent().find("td");
+ var examdlid = x.eq(1).text()
$.ajax({
type: "get",
url: "api/examtestdetail?a=updateison",
contentType: 'application/json; charset=utf-8',
data: { id: ksid, examdlid: examdlid},
success: function (data) {
-
- alert(data.msg);
+
+ alert(data.msg);
$("#dd").dialog("close");
-
}
});
- }
+ };
+
+
+
\ No newline at end of file
diff --git a/safesite/templates/operation.html b/safesite/templates/operation.html
index 184e534f..688c9982 100644
--- a/safesite/templates/operation.html
+++ b/safesite/templates/operation.html
@@ -1,7 +1,8 @@
-
+
申请作业(无审批)
+
关闭作业
详细筛选
删除
查看详情
@@ -74,12 +75,23 @@
border:false,
columns: [[
{ field: 'zyid', title: 'ID', hidden: true },
- { field: 'zynum', title: '编号', width: 120 },
- { field: 'zyzt', title: '作业状态', width: 120 ,formatter: function (value, row, index) {
- return value.zyzt;
- } },
- { field: 'zylx__dickeyname', title: '作业类型', width: 120 },
- { field: 'zyfzr__name', title: '作业负责人', width: 120 },
+ { field: 'zynum', title: '编号', width: 100 },
+ { field: 'zyzt', title: '作业状态', width: 60 ,formatter: function (value, row, index) {
+ if(value.splc==0){
+ return value.zyzt + '(无流程)'
+ }else{
+ return value.zyzt;
+ }
+
+ }, styler: function (value, row, index) {
+ switch (value.zyzt) {
+ case '已关闭': return 'background-color:green;color:white'; break;
+ case '待关闭': return 'background-color:orange;'; break;
+ }
+ }},
+ { field: 'zyqy__name', title: '作业区域', width: 100 },
+ { field: 'zylx__dickeyname', title: '作业类型', width: 100 },
+ { field: 'zyfzr__name', title: '作业负责人', width: 100 },
{ field: 'zynr', title: '作业内容', width: 200 },
{ field: 'submittime', title: '提交时间', width: 100 },
]]
@@ -136,5 +148,37 @@
let url = 'api/operation?a=exportexcel'
$('
').appendTo('body').submit().remove();
}
+ function gbzy(){
+ var row = $('#zytable').datagrid('getSelected');
+ if (row) {
+ $.messager.confirm('提示', '确定关闭该作业吗?', function (r) {
+ if (r) {
+ $.ajax({
+ type: "POST",
+ url: 'api/operation?a=gbzy',
+ data: JSON.stringify({ 'zyid': row.zyid }),
+ datatype: "json",
+ contentType: "application/json;charset=utf-8",
+ beforeSend: function () { },
+ success: function (data) {
+ if (data.code == 1) {
+ $("#zytable").datagrid('reload');
+ }
+ else {
+ $.messager.alert('提示', '你无权关闭该作业!');
+ }
+ },
+ complete: function (XMLHttpRequest, textStatus) {
+ },
+ error: function () {
+ }
+ });
+ }
+ });
+ }
+ else {
+ $.messager.alert('提示', '请选择一行数据!');
+ }
+ }
\ No newline at end of file
diff --git a/safesite/templates/operationadd.html b/safesite/templates/operationadd.html
index c3212b4a..d4aca0b0 100644
--- a/safesite/templates/operationadd.html
+++ b/safesite/templates/operationadd.html
@@ -6,9 +6,56 @@
\ No newline at end of file
diff --git a/safesite/templates/operationdetail.html b/safesite/templates/operationdetail.html
index c031fb38..9b66a2af 100644
--- a/safesite/templates/operationdetail.html
+++ b/safesite/templates/operationdetail.html
@@ -13,6 +13,10 @@
作业编号:{{zynum}}
提交时间:{{submittime| dateFormat 'yyyy-MM-dd hh:mm'}}
+
+ 作业区域:{{zyqy__name}}
+ 作业地点:{{zydd}}
+
作业类型:{{zylx__dickeyname}}
@@ -27,7 +31,11 @@
开始时间:{{kssj| dateFormat 'yyyy-MM-dd hh:mm'}}
结束时间:{{jssj| dateFormat 'yyyy-MM-dd hh:mm'}}
+
+ 作业人员:{{zyry}}
+
+ 作业人员确认详情
@@ -65,7 +73,7 @@
{{/each}}
- 流程详情
+ 作业审批详情
diff --git a/safesite/templates/trouble.html b/safesite/templates/trouble.html
index 2f0e969f..c62adac8 100644
--- a/safesite/templates/trouble.html
+++ b/safesite/templates/trouble.html
@@ -119,10 +119,14 @@
field: 'shresult', title: '隐患状态', width: 100, styler: function (value, row, index) {
switch (value) {
case 1: return ''; break;
- case 2: return 'background-color:red;'; break;
- case 3: return 'background-color:red;'; break;
- case 4: return 'background-color:yellow;'; break;
- case 6: return 'background-color:yellow;'; break;
+ case 2: return 'color:red;font-weight:bold'; break;
+ case 3: return 'color:red;font-weight:bold'; break;
+ case 4: return 'color:orange;font-weight:bold'; break;
+ case 6: return 'color:orange;font-weight:bold'; break;
+ }
+ let zgqx = new Date(row.zgqx);
+ if(new Date()>zgqx&&row.yhzt==3){
+ return 'color:red;font-weight:bold'
}
}, formatter: function (value, row, index) {
switch (value) {
@@ -133,8 +137,13 @@
case 5: return '评估未通过'; break;
case 6: return '未采纳'; break;
}
+ let zgqx = new Date(row.zgqx);
+ if(new Date()>zgqx&&row.yhzt==3){
+ return '超期未整改'
+ }
}
},
+ { field: 'tbsj', title: '提交时间', width: 100 },
]]
});
$('#kjcxyh').combobox({
diff --git a/safesite/urls.py b/safesite/urls.py
index 0946863c..c9b9fbee 100644
--- a/safesite/urls.py
+++ b/safesite/urls.py
@@ -47,7 +47,7 @@ urlpatterns = [
path('html/notice/detail//', views.noticedetail),
path('html/zuoyepeizhi', views.zuoyepeizhi),
path('html/operation', views.operation),
- path('html/operation/add//', views.operationadd),
+ path('html/operation/add', views.operationadd),
path('html/operation/detail//', views.operationdetail),
path('html/fxcs/add', views.fxcsadd),
path('html/operationspjd/add', views.operationspjdadd),
diff --git a/safesite/views.py b/safesite/views.py
index 3e4f2783..5c918c9f 100644
--- a/safesite/views.py
+++ b/safesite/views.py
@@ -1,7 +1,9 @@
-from django.shortcuts import render,redirect,render_to_response
-from django.http import HttpResponse, HttpResponseRedirect,JsonResponse
-from .models import User,Trouble,Dickey,Partment,Dicclass,Train,Drill,TroubleAccess,Group,Yjyc,Trainuser,Drilluser,Yjsetup,Menu,Observe,Observeto,Unsafes,Miss,Socertificate,Userprofile,Suggest,Notice,Noticeto,Operation,Operzyry,Fxcs,Operationspjd,Operspxq,Question,ExamPaper,ExamTest,ExamPaperDetail,ExamTestDetail,Questioncat,Safecert,Map,Area,Missto,Suggestflow,Equipment,Inspect,Risk,RiskAct,Risktask,Riskcheck,Report,RiskActTask,Riskcheck2
+from captcha.helpers import captcha_image_url
+from captcha.models import CaptchaStore
+from django.shortcuts import render, redirect, render_to_response
+from django.http import HttpResponse, HttpResponseRedirect, JsonResponse
+from .models import User, Trouble, Dickey, Partment, Dicclass, Train, Drill, TroubleAccess, Group, Yjyc, Trainuser, Drilluser, Yjsetup, Menu, Observe, Observeto, Unsafes, Miss, Socertificate, Userprofile, Suggest, Notice, Noticeto, Operation, Operzyry, Fxcs, Operationspjd, Operspxq, Question, ExamPaper, ExamTest, ExamPaperDetail, ExamTestDetail, Questioncat, Safecert, Map, Area, Missto, Suggestflow, Equipment, Inspect, Risk, RiskAct, Risktask, Riskcheck, Report, RiskActTask, Riskcheck2
from django.template import RequestContext
from django.views.decorators.csrf import csrf_exempt
from django.core import serializers
@@ -10,14 +12,14 @@ import json
from uuid import UUID
import os
import time
-from datetime import datetime,date,timedelta
-from django.db.models import F,Count,Sum
+from datetime import datetime, date, timedelta
+from django.db.models import F, Count, Sum
import requests
-from .tasks import send_wechatmsgs,send_wechatmsg,yjjs,gettime,yjjs_px,yjjs_yl,updateTzzs,updateAqzs,yjjs_gc,yjjs_ws
-from .export import exportdoc,exportxlsx,exportyjdoc,exportsimplexlsx,exportdoc2
-from .daoru import drusers,drequipments,drrisks,drquestions,cal_riskact_level,cal_area_risk_level,makeqr,makeqr_train,makeqr_riskact,makeqr_examtest,makeqr_area
+from .tasks import send_wechatmsgs, send_wechatmsg, yjjs, gettime, yjjs_px, yjjs_yl, updateTzzs, updateAqzs, yjjs_gc, yjjs_ws
+from .export import exportdoc, exportxlsx, exportyjdoc, exportsimplexlsx, exportdoc2
+from .daoru import drusers, drequipments, drrisks, drquestions, cal_riskact_level, cal_area_risk_level, makeqr, makeqr_train, makeqr_riskact, makeqr_examtest, makeqr_area
from django.forms.models import model_to_dict
-from .safespider import getTzzs,getAqzs
+from .safespider import getTzzs, getAqzs
from duibiao import calsim
from django.db.models import Q
from django.core.serializers.json import DjangoJSONEncoder
@@ -33,364 +35,467 @@ import logging
from django.contrib.auth.hashers import make_password, check_password
logger = logging.getLogger('log')
-#分页功能
-def fenye(req):
- if req.GET.get('page',None) and req.GET.get('rows',None):
- page=int(req.GET.get('page'))
- rows=int(req.GET.get('rows'))
- endnum=page*rows
- startnum=endnum-rows
- else:
- startnum=0
- endnum=10
- return startnum,endnum
+# 分页功能
+
+
+def fenye(req):
+ if req.GET.get('page', None) and req.GET.get('rows', None):
+ page = int(req.GET.get('page'))
+ rows = int(req.GET.get('rows'))
+ endnum = page*rows
+ startnum = endnum-rows
+ else:
+ startnum = 0
+ endnum = 10
+ return startnum, endnum
+
+# 特殊字符转json
+
-#特殊字符转json
class MyEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, datetime):
return obj.strftime('%Y-%m-%d %H:%M')
elif isinstance(obj, date):
return obj.strftime("%Y-%m-%d")
- elif isinstance(obj,decimal.Decimal):
+ elif isinstance(obj, decimal.Decimal):
return float(obj)
elif isinstance(obj, UUID):
- # if the obj is uuid, we simply return the value of uuid
+ # if the obj is uuid, we simply return the value of uuid
return obj.hex
else:
return json.JSONEncoder.default(self, obj)
-#获取user所在公司
+# 获取user所在公司
+
+
def getcompany(x):
- a = User.objects.get(userid = x)
+ a = User.objects.get(userid=x)
if a.ubelongpart.iscompany == 1:
return str(a.ubelongpart.partid)
else:
return a.ubelongpart.partlink.split(',')[1]
-def getparts(partid):#获取该部门及下属部门
+
+def getparts(partid): # 获取该部门及下属部门
return Partment.objects.filter(Q(partid=partid) | Q(partlink__contains=',' + str(partid) + ','))
-#转换为datagrid所用json
+# 转换为datagrid所用json
+
+
def transjson(total, obj):
- a = {'total':total,'rows':list(obj),'code':1}
- jsondata = json.dumps(a,cls=MyEncoder)
+ a = {'total': total, 'rows': list(obj), 'code': 1}
+ jsondata = json.dumps(a, cls=MyEncoder)
return jsondata
+
+
def transjson2(v):
return json.dumps(list(v), cls=DjangoJSONEncoder)
-#转换为combobox所用string
-def transstr(obj,str1,str2):
+# 转换为combobox所用string
+
+
+def transstr(obj, str1, str2):
keylist = []
for i in list(obj):
- keydictstr = '{"value":"'+ str(i[str1])+'","text":"'+i[str2]+'"}'
- keylist.append(keydictstr)
+ keydictstr = '{"value":"' + str(i[str1])+'","text":"'+i[str2]+'"}'
+ keylist.append(keydictstr)
keystr = '['+','.join(keylist)+']'
return keystr
+
def check_login(func):
- def warpper(request,*args,**kwargs):
+ def warpper(request, *args, **kwargs):
is_login = request.session.get('userid', None)
if is_login:
- return func(request,*args,**kwargs)
+ return func(request, *args, **kwargs)
else:
return redirect('login')
return warpper
+
def apicheck_login(func):
- def warpper(request,*args,**kwargs):
+ def warpper(request, *args, **kwargs):
is_login = request.session.get('userid', None)
if is_login:
- return func(request,*args,**kwargs)
+ return func(request, *args, **kwargs)
else:
- return JsonResponse({'code':0,'msg':'login required'})
+ return JsonResponse({'code': 0, 'msg': 'login required'})
return warpper
-def check_session(req):
- if req.session.get('userid',None):
- return JsonResponse({"code":1})
- else:
- return JsonResponse({"code":0})
-#存储文件
+def check_session(req):
+ if req.session.get('userid', None):
+ return JsonResponse({"code": 1})
+ else:
+ return JsonResponse({"code": 0})
+
+# 存储文件
+
+
def upfile(req):
username = User.objects.get(userid=req.session['userid']).username
- file_name = (time.strftime('%Y%m%d%H%M%S')+ '_' + req.FILES['upfile'].name).replace('#','号')
+ file_name = (time.strftime('%Y%m%d%H%M%S') + '_' +
+ req.FILES['upfile'].name).replace('#', '号')
user_upload_folder = os.path.join('media', username)
if not os.path.exists(user_upload_folder):
os.mkdir(user_upload_folder)
filepath = os.path.join(user_upload_folder, file_name)
- filepath = filepath.replace('\\','/')
- with open( filepath, 'wb') as f:
+ filepath = filepath.replace('\\', '/')
+ with open(filepath, 'wb') as f:
f.write(req.FILES['upfile'].read())
- return JsonResponse({"code":1,"filename":file_name,"filepath":filepath})
+ return JsonResponse({"code": 1, "filename": file_name, "filepath": filepath})
+
+# html页面
-#html页面
def riskas(req):
- return render(req,'riskas.html')
+ return render(req, 'riskas.html')
+
def reportedit(req):
- return render(req,'reportedit.html',{'year':req.GET.get('year'),'month':req.GET.get('month'),'part':req.GET.get('part')})
+ return render(req, 'reportedit.html', {'year': req.GET.get('year'), 'month': req.GET.get('month'), 'part': req.GET.get('part')})
-def riskedit(req,id):
- return render(req,'riskedit.html',{'id':id})
-def riskcheck(req):#风险点排查记录
- return render(req,'riskactcheck.html')
+def riskedit(req, id):
+ return render(req, 'riskedit.html', {'id': id})
+
+
+def riskcheck(req): # 风险点排查记录
+ return render(req, 'riskactcheck.html')
+
def taskdo(req):
- return render(req,'taskdo.html')
+ return render(req, 'taskdo.html')
+
def task(req):
- return render(req,'task.html')
+ return render(req, 'task.html')
+
def riskactchose(req):
area = 0
- if req.GET.get('area',None):
+ if req.GET.get('area', None):
area = req.GET.get('area')
- return render(req,'riskactchose.html',locals())
+ return render(req, 'riskactchose.html', locals())
+
+
+def riskactedit(req, id):
+ return render(req, 'riskactedit.html', {'id': id})
-def riskactedit(req,id):
- return render(req,'riskactedit.html',{'id':id})
def riskactadd(req):
- return render(req,'riskactadd.html')
+ return render(req, 'riskactadd.html')
+
+
+def riskadd(req, id):
+ return render(req, 'riskadd.html', {'id': id})
-def riskadd(req,id):
- return render(req,'riskadd.html',{'id':id})
def risk(req):
- return render(req,'risk.html')
+ return render(req, 'risk.html')
+
def inspect(req):
- return render(req,'inspect.html')
+ return render(req, 'inspect.html')
+
def equipment(req):
- return render(req,'equipment.html')
+ return render(req, 'equipment.html')
+
+
+def areaedit(req, id):
+ return render(req, 'areaedit.html', {'id': id})
-def areaedit(req,id):
- return render(req,'areaedit.html',{'id':id})
def areaadd(req):
- return render(req,'areaadd.html')
+ return render(req, 'areaadd.html')
+
def areadetail(req):
id = req.GET.get('id')
- return render(req,'areadetail.html',{'id':id})
+ return render(req, 'areadetail.html', {'id': id})
+
def mapshow(req):
- return render(req,'mapshow.html')
+ return render(req, 'mapshow.html')
+
def area(req):
- return render(req,'area.html')
+ return render(req, 'area.html')
+
def personaltrain(req):
- return render(req,'personaltrain.html')
+ return render(req, 'personaltrain.html')
+
def examtest(req):
- return render(req,'examtest.html')
+ return render(req, 'examtest.html')
+
def safecert(req):
- return render(req,'safecert.html')
+ return render(req, 'safecert.html')
+
def safecertadd(req):
- return render(req,'safecertadd.html')
+ return render(req, 'safecertadd.html')
+
+
+def examtestdetail(req, id):
+ return render(req, 'examtestdetail.html', {'id': id})
-def examtestdetail(req,id):
- return render(req,'examtestdetail.html',{'id':id})
def examtestadd(req):
- return render(req,'examtestadd.html')
-
+ return render(req, 'examtestadd.html')
+
+
def examtestadd2(req):
- return render(req,'examtestadd2.html')
+ return render(req, 'examtestadd2.html')
+
def questionchoose(req):
- return render(req,'questionchoose.html')
+ return render(req, 'questionchoose.html')
+
+
+def exampaperedit(req, id):
+ return render(req, 'exampaperedit.html', {'id': id})
-def exampaperedit(req,id):
- return render(req,'exampaperedit.html',{'id':id})
def exampaperadd(req):
- return render(req,'exampaperadd.html')
+ return render(req, 'exampaperadd.html')
+
def exampaper(req):
- return render(req,'exampaper.html')
+ return render(req, 'exampaper.html')
+
+
+def examhistory(req, id):
+ return render(req, 'examhistory.html', {'id': id})
-def examhistory(req,id):
- return render(req,'examhistory.html',{'id':id})
def questionadd(req):
- return render(req,'questionadd.html')
+ return render(req, 'questionadd.html')
+
def questionadd2(req):
- return render(req,'questionadd2.html')
+ return render(req, 'questionadd2.html')
+
def questionadd3(req):
- return render(req,'questionadd3.html')
+ return render(req, 'questionadd3.html')
-def questionedit(req,id):
+
+def questionedit(req, id):
obj = Question.objects.get(id=id)
- if obj.type==1:
- return render(req,'questionedit.html',{'id':id})
- elif obj.type==2:
- return render(req,'questionedit2.html',{'id':id})
- elif obj.type==3:
- return render(req,'questionedit3.html',{'id':id})
+ if obj.type == 1:
+ return render(req, 'questionedit.html', {'id': id})
+ elif obj.type == 2:
+ return render(req, 'questionedit2.html', {'id': id})
+ elif obj.type == 3:
+ return render(req, 'questionedit3.html', {'id': id})
+
def question(req):
- return render(req,'question.html')
+ return render(req, 'question.html')
+
def questioncatadd(req):
- return render(req,'questioncatadd.html')
+ return render(req, 'questioncatadd.html')
+
+
+def questioncatedit(req, id):
+ return render(req, 'questioncatedit.html', {'id': id})
-def questioncatedit(req,id):
- return render(req,'questioncatedit.html',{'id':id})
def operationspjdadd(req):
- return render(req,'operationspjdadd.html')
+ return render(req, 'operationspjdadd.html')
+
def fxcsadd(req):
- return render(req,'fxcsadd.html')
+ return render(req, 'fxcsadd.html')
-def operationadd(req,zyid):
- return render(req,'operationadd.html',{'zyid':zyid})
-def operationdetail(req,zyid):
- return render(req,'operationdetail.html',{'zyid':zyid})
+def operationadd(req):
+ return render(req, 'operationadd.html')
+
+
+def operationdetail(req, zyid):
+ return render(req, 'operationdetail.html', {'zyid': zyid})
+
def operation(req):
- return render(req,'operation.html')
+ return render(req, 'operation.html')
+
def zuoyepeizhi(req):
- return render(req,'zuoyepeizhi.html')
+ return render(req, 'zuoyepeizhi.html')
+
def notice(req):
- return render(req,'notice.html')
+ return render(req, 'notice.html')
+
def noticeadd(req):
- return render(req,'noticeadd.html')
+ return render(req, 'noticeadd.html')
-def noticedetail(req,id):
- return render(req,'noticedetail.html',{'id':id})
-def noticeedit(req,id):
- return render(req,'noticeedit.html',{'id':id})
+def noticedetail(req, id):
+ return render(req, 'noticedetail.html', {'id': id})
-def suggestupdate(req,jyid):
- return render(req,'suggestupdate.html',{'jyid':jyid})
-def suggestdetail(req,jyid):
- return render(req,'suggestdetail.html',{'jyid':jyid})
+def noticeedit(req, id):
+ return render(req, 'noticeedit.html', {'id': id})
+
+
+def suggestupdate(req, jyid):
+ return render(req, 'suggestupdate.html', {'jyid': jyid})
+
+
+def suggestdetail(req, jyid):
+ return render(req, 'suggestdetail.html', {'jyid': jyid})
+
def suggestadd(req):
- return render(req,'suggestadd.html')
+ return render(req, 'suggestadd.html')
+
def suggest(req):
- return render(req,'suggest.html')
+ return render(req, 'suggest.html')
+
def medetail(req):
- return render(req,'medetail.html')
+ return render(req, 'medetail.html')
+
def socerthtml(req):
- return render(req,'socert.html')
+ return render(req, 'socert.html')
+
def socertadd(req):
- return render(req,'socertadd.html')
+ return render(req, 'socertadd.html')
+
def rightshtml(req):
groupid = req.GET.get('groupid')
- return render(req,'rights.html',{'groupid':groupid})
+ return render(req, 'rights.html', {'groupid': groupid})
+
def misshtml(req):
- return render(req,'miss.html')
+ return render(req, 'miss.html')
+
def missadd(req):
- return render(req,'missadd.html')
+ return render(req, 'missadd.html')
+
+
+def missdetail(req, missid):
+ return render(req, 'missdetail.html', {'missid': missid})
-def missdetail(req,missid):
- return render(req,'missdetail.html',{'missid':missid})
def troublehtml(req):
- return render(req,'trouble.html')
+ return render(req, 'trouble.html')
+
def observehtml(req):
- return render(req,'observe.html')
+ return render(req, 'observe.html')
+
def addobserve(req):
- return render(req,'addobserve.html')
+ return render(req, 'addobserve.html')
+
def accesstrouble(req):
- return render(req,'accesstrouble.html')
+ return render(req, 'accesstrouble.html')
+
def addtrouble(req):
- return render(req,'addtrouble.html')
+ return render(req, 'addtrouble.html')
+
def dichtml(req):
- return render(req,'dichtml.html')
+ return render(req, 'dichtml.html')
+
def putreehtml(req):
- return render(req,'putree.html')
+ return render(req, 'putree.html')
+
def usergroup(req):
- return render(req,'usergroup.html')
+ return render(req, 'usergroup.html')
+
def getuserf(req):
- return render(req,'getuser.html')
+ return render(req, 'getuser.html')
+
def getusersf(req):
- return render(req,'getusers.html')
+ return render(req, 'getusers.html')
+
def trainhtml(req):
- return render(req,'train.html')
+ return render(req, 'train.html')
+
def abtrain(req):
- return render(req,'abtrain.html')
+ return render(req, 'abtrain.html')
+
def drillhtml(req):
- return render(req,'drill.html')
+ return render(req, 'drill.html')
+
def abdrill(req):
- return render(req,'abdrill.html')
+ return render(req, 'abdrill.html')
+
def reporthtml(req):
- return render(req,'report.html')
+ return render(req, 'report.html')
+
def troubleashtml(req):
- return render(req,'troubleashtml.html')
+ return render(req, 'troubleashtml.html')
+
def userhtml(req):
- return render(req,'userhtml.html')
+ return render(req, 'userhtml.html')
+
def bhrhtml(req):
- return render(req,'behavior.html')
+ return render(req, 'behavior.html')
+
def trainfigure(req):
- return render(req,'trainfigure.html')
+ return render(req, 'trainfigure.html')
+
def equipmentfigure(req):
- return render(req,'equipmentfigure.html')
+ return render(req, 'equipmentfigure.html')
+
def mainhtml(req):
- #计算一些数据
+ # 计算一些数据
userid = req.session['userid']
companyid = getcompany(userid)
- first_day,first_day_of_next_month=gettime()
- #查询
- a = Trouble.objects.filter(usecomp__partid=companyid,deletemark=1)
+ first_day, first_day_of_next_month = gettime()
+ # 查询
+ a = Trouble.objects.filter(usecomp__partid=companyid, deletemark=1)
totalyh = a.count()
- monthyh = a.filter(fxsj__range=(first_day, first_day_of_next_month)).count()
+ monthyh = a.filter(fxsj__range=(
+ first_day, first_day_of_next_month)).count()
yhnum = a.filter(todouser__userid=userid).count()
- b = Train.objects.filter(usecomp__partid=companyid,deletemark=1)
- pxnum = b.filter(state=0,submituser__userid=userid).count()
+ b = Train.objects.filter(usecomp__partid=companyid, deletemark=1)
+ pxnum = b.filter(state=0, submituser__userid=userid).count()
totalpx = b.count()
- monthpx = b.filter(starttime__range=(first_day, first_day_of_next_month)).count()
- c = Drill.objects.filter(usecomp__partid=companyid,deletemark=1)
- totalyl=c.count()
- ylnum =c.filter(state=0,submituser__userid=userid).count()
- monthyl=c.filter(starttime__range=(first_day, first_day_of_next_month)).count()
- return render(req,'main.html',{'yhnum':yhnum,'totalyh':totalyh,'monthyh':monthyh,'pxnum':pxnum,'totalpx':totalpx,'monthpx':monthpx,'ylnum':ylnum,'totalyl':totalyl,'monthyl':monthyl})
+ monthpx = b.filter(starttime__range=(
+ first_day, first_day_of_next_month)).count()
+ c = Drill.objects.filter(usecomp__partid=companyid, deletemark=1)
+ totalyl = c.count()
+ ylnum = c.filter(state=0, submituser__userid=userid).count()
+ monthyl = c.filter(starttime__range=(
+ first_day, first_day_of_next_month)).count()
+ return render(req, 'main.html', {'yhnum': yhnum, 'totalyh': totalyh, 'monthyh': monthyh, 'pxnum': pxnum, 'totalpx': totalpx, 'monthpx': monthpx, 'ylnum': ylnum, 'totalyl': totalyl, 'monthyl': monthyl})
+
+
def login(req):
if req.session.get('userid', None):
return redirect('index')
@@ -399,9 +504,9 @@ def login(req):
if user_form.is_valid():
username = req.POST.get('username')
password = req.POST.get('password')
- user = User.objects.filter(username = username,deletemark=1)
+ user = User.objects.filter(username=username, deletemark=1)
if user.exists():
- if check_password(password,user[0].epassword):
+ if check_password(password, user[0].epassword):
req.session['userid'] = user[0].userid
req.session.set_expiry(60*40)
return redirect('index')
@@ -410,29 +515,33 @@ def login(req):
return render(req, 'login.html', locals())
else:
msg = '用户不存在或被禁用'
- return render(req,'login.html', locals())
+ return render(req, 'login.html', locals())
else:
msg = '验证码错误'
return render(req, 'login.html', locals())
else:
user_form = UserForm()
- return render(req,'login.html', locals())
+ return render(req, 'login.html', locals())
+
def index(req):
if not req.session.get('userid', None):
return redirect('login')
userid = req.session['userid']
- user=User.objects.get(userid=userid)
+ user = User.objects.get(userid=userid)
companyname = user.usecomp.partname
name = user.name
- openid=user.openid
- headimgurl=user.headimgurl
- nickname=user.nickname
+ openid = user.openid
+ headimgurl = user.headimgurl
+ nickname = user.nickname
issuper = user.issuper
- return render(req, 'index.html',{'username':name,'userid':userid,'openid':openid,'headimgurl':headimgurl,'nickname':nickname,'companyname':companyname,'issuper':issuper,'token':user.token})
+ return render(req, 'index.html', {'username': name, 'userid': userid, 'openid': openid, 'headimgurl': headimgurl, 'nickname': nickname, 'companyname': companyname, 'issuper': issuper, 'token': user.token})
+
+
def logout(req):
- if req.session.get('userid',None):
- logger.info('method: %s user: %s 登出' % (req.method,req.session['userid']))
+ if req.session.get('userid', None):
+ logger.info('method: %s user: %s 登出' %
+ (req.method, req.session['userid']))
req.session.flush()
return redirect('login')
@@ -442,50 +551,58 @@ def changepwd(req):
oldpassword = req.POST.get('oldpassword')
newpassword = req.POST.get('newpassword')
a = User.objects.get(userid=userid)
- if check_password(oldpassword,a.epassword):
+ if check_password(oldpassword, a.epassword):
a.password = newpassword
a.epassword = make_password(newpassword)
a.save()
del req.session['userid']
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
else:
- return JsonResponse({"code":2})
+ return JsonResponse({"code": 2})
+
def mainapi(req):
- #计算一些数据
+ # 计算一些数据
userid = req.session['userid']
companyid = getcompany(userid)
- first_day,first_day_of_next_month=gettime()
- #查询
- a = Trouble.objects.filter(usecomp__partid=companyid,deletemark=1)
+ first_day, first_day_of_next_month = gettime()
+ # 查询
+ a = Trouble.objects.filter(usecomp__partid=companyid, deletemark=1)
totalyh = a.count()
- monthyh = a.filter(fxsj__range=(first_day, first_day_of_next_month)).count()
+ monthyh = a.filter(fxsj__range=(
+ first_day, first_day_of_next_month)).count()
yhnum = a.filter(todouser__userid=userid).count()
- b = Train.objects.filter(usecomp__partid=companyid,deletemark=1)
- pxnum = b.filter(state=0,submituser__userid=userid).count()
+ b = Train.objects.filter(usecomp__partid=companyid, deletemark=1)
+ pxnum = b.filter(state=0, submituser__userid=userid).count()
totalpx = b.count()
- monthpx = b.filter(starttime__range=(first_day, first_day_of_next_month)).count()
+ monthpx = b.filter(starttime__range=(
+ first_day, first_day_of_next_month)).count()
- c = Drill.objects.filter(usecomp__partid=companyid,deletemark=1)
- totalyl=c.count()
- ylnum =c.filter(state=0,submituser__userid=userid).count()
- monthyl = c.filter(starttime__range=(first_day, first_day_of_next_month)).count()
+ c = Drill.objects.filter(usecomp__partid=companyid, deletemark=1)
+ totalyl = c.count()
+ ylnum = c.filter(state=0, submituser__userid=userid).count()
+ monthyl = c.filter(starttime__range=(
+ first_day, first_day_of_next_month)).count()
- gcobjs = Observe.objects.filter(deletemark=1,usecomp__partid=companyid)
- gcnum = gcobjs.filter(looktime__range=(first_day,first_day_of_next_month)).count()
- monthgc = gcobjs.filter(submittime__range=(first_day, first_day_of_next_month)).count()
+ gcobjs = Observe.objects.filter(deletemark=1, usecomp__partid=companyid)
+ gcnum = gcobjs.filter(looktime__range=(
+ first_day, first_day_of_next_month)).count()
+ monthgc = gcobjs.filter(submittime__range=(
+ first_day, first_day_of_next_month)).count()
- wsobjs = Miss.objects.filter(deletemark=1,usecomp__partid=companyid)
- monthws = wsobjs.filter(submittime__range=(first_day, first_day_of_next_month)).count()
+ wsobjs = Miss.objects.filter(deletemark=1, usecomp__partid=companyid)
+ monthws = wsobjs.filter(submittime__range=(
+ first_day, first_day_of_next_month)).count()
- return JsonResponse({"code":1,"yhnum":yhnum,"totalyh":totalyh,"monthyh":monthyh,"pxnum":pxnum,"totalpx":totalpx,"monthpx":monthpx,"ylnum":monthyl,"totalyl":totalyl,"xwnum":monthgc,"wsnum":monthws})
+ return JsonResponse({"code": 1, "yhnum": yhnum, "totalyh": totalyh, "monthyh": monthyh, "pxnum": pxnum, "totalpx": totalpx, "monthpx": monthpx, "ylnum": monthyl, "totalyl": totalyl, "xwnum": monthgc, "wsnum": monthws})
-def getpgr_ubp(userid,ubp):
- a=ubp
- if a.aqy!=',':
+
+def getpgr_ubp(userid, ubp):
+ a = ubp
+ if a.aqy != ',':
if ','+str(userid)+',' in a.aqy:
- if a.bmzg !=',':
+ if a.bmzg != ',':
if ','+str(userid)+',' in a.bmzg:
return False
else:
@@ -506,7 +623,7 @@ def getpgr_ubp(userid,ubp):
todouser = User.objects.get(userid=aqylist[0])
return todouser
else:
- if a.bmzg !=',':
+ if a.bmzg != ',':
if ','+str(userid)+',' in a.bmzg:
return False
else:
@@ -518,24 +635,27 @@ def getpgr_ubp(userid,ubp):
else:
return False
-def getpgr(userid,ubp):
- currentpart=ubp
+
+def getpgr(userid, ubp):
+ currentpart = ubp
if userid == 'zpbm':
- return getpgr_ubp(userid,currentpart)
+ return getpgr_ubp(userid, currentpart)
else:
- a=getpgr_ubp(userid,currentpart)
- while a==False:
- currentpart=currentpart.parentid #已找不到上级部门
+ a = getpgr_ubp(userid, currentpart)
+ while a == False:
+ currentpart = currentpart.parentid # 已找不到上级部门
if currentpart:
- a=getpgr_ubp(userid,currentpart)
+ a = getpgr_ubp(userid, currentpart)
else:
return User.objects.get(userid=userid)
return a
-#系统智能选取评估审核人 主管
-def getpgr_ubp2(userid,ubp):
- a=ubp
- if a.bmzg !=',':
+# 系统智能选取评估审核人 主管
+
+
+def getpgr_ubp2(userid, ubp):
+ a = ubp
+ if a.bmzg != ',':
zgstr = a.bmzg
zglist = zgstr.split(',')
zglist = list(filter(None, zglist))
@@ -544,21 +664,24 @@ def getpgr_ubp2(userid,ubp):
else:
return False
-def getpgr2(userid,ubp):
- currentpart=ubp
- a=getpgr_ubp2(userid,currentpart)
- while a==False:
- currentpart=currentpart.parentid #已找不到上级部门
+
+def getpgr2(userid, ubp):
+ currentpart = ubp
+ a = getpgr_ubp2(userid, currentpart)
+ while a == False:
+ currentpart = currentpart.parentid # 已找不到上级部门
if currentpart:
- a=getpgr_ubp2(userid,currentpart)
+ a = getpgr_ubp2(userid, currentpart)
else:
return User.objects.get(userid=userid)
return a
-#系统智能选取作业审批人
+# 系统智能选取作业审批人
+
+
def getspr_ubp(ubp):
- a=ubp
- if a.bmzg !=',':
+ a = ubp
+ if a.bmzg != ',':
zgstr = a.bmzg
zglist = zgstr.split(',')
zglist = list(filter(None, zglist))
@@ -566,31 +689,34 @@ def getspr_ubp(ubp):
else:
return False
+
def getspr(ubp):
- currentpart=ubp
- a=getspr_ubp(currentpart)
- while a==False:
- currentpart=currentpart.parentid #已找不到上级部门
+ currentpart = ubp
+ a = getspr_ubp(currentpart)
+ while a == False:
+ currentpart = currentpart.parentid # 已找不到上级部门
if currentpart:
- a=getspr_ubp(currentpart)
+ a = getspr_ubp(currentpart)
else:
- return User.objects.get(ubelongpart=currentpart,issuper=1)
+ return User.objects.get(ubelongpart=currentpart, issuper=1)
return a
-def getsprs(userid,ubp):
- currentpart=ubp
- a=getsprs_ubp(userid,currentpart)
- while a==False:
- currentpart=currentpart.parentid #已找不到上级部门
+
+def getsprs(userid, ubp):
+ currentpart = ubp
+ a = getsprs_ubp(userid, currentpart)
+ while a == False:
+ currentpart = currentpart.parentid # 已找不到上级部门
if currentpart:
- a=getsprs_ubp(userid,currentpart)
+ a = getsprs_ubp(userid, currentpart)
else:
- return User.objects.get(ubelongpart=currentpart,issuper=1)
+ return User.objects.get(ubelongpart=currentpart, issuper=1)
return a
-def getsprs_ubp(userid,ubp):#主管
- a=ubp
- if a.bmzg !=',':
+
+def getsprs_ubp(userid, ubp): # 主管
+ a = ubp
+ if a.bmzg != ',':
zgstr = a.bmzg
zglist = zgstr.split(',')
zglist = list(map(int, list(filter(None, zglist))))
@@ -601,20 +727,22 @@ def getsprs_ubp(userid,ubp):#主管
else:
return False
-def getsprs2(userid,ubp):
- currentpart=ubp
- a=getsprs_ubp2(userid,currentpart)
- while a==False:
- currentpart=currentpart.parentid #已找不到上级部门
+
+def getsprs2(userid, ubp):
+ currentpart = ubp
+ a = getsprs_ubp2(userid, currentpart)
+ while a == False:
+ currentpart = currentpart.parentid # 已找不到上级部门
if currentpart:
- a=getsprs_ubp2(userid,currentpart)
+ a = getsprs_ubp2(userid, currentpart)
else:
- return User.objects.get(ubelongpart=currentpart,issuper=1)
+ return User.objects.get(ubelongpart=currentpart, issuper=1)
return a
-def getsprs_ubp2(userid,ubp):#主管和被授权人员
- a=ubp
- if a.bmzg !=',':
+
+def getsprs_ubp2(userid, ubp): # 主管和被授权人员
+ a = ubp
+ if a.bmzg != ',':
zgstr = a.bmzg
zglist = zgstr.split(',')
zglist = list(map(int, list(filter(None, zglist))))
@@ -633,12 +761,11 @@ def getsprs_ubp2(userid,ubp):#主管和被授权人员
return False
-
def menutree(req):
userid = req.session['userid']
- if User.objects.get(userid=userid).issuper == 1:#如果是超管
+ if User.objects.get(userid=userid).issuper == 1: # 如果是超管
companyid = getcompany(userid)
- x = Group.objects.get(usecomp__partid=companyid,grouptype=0).menulink
+ x = Group.objects.get(usecomp__partid=companyid, grouptype=0).menulink
list1 = x.split(',')
else:
bgroups = User.objects.get(userid=userid).userg.all()
@@ -646,48 +773,54 @@ def menutree(req):
for i in bgroups:
x = x + ',' + i.menulink
list1 = x.split(',')
- #del list1[0]#删除首空字符
- menus = Menu.objects.exclude(menuid__in=[11,9]).filter(menuid__in=list(filter(None,list(set(list1)))),deletemark=1).order_by('sortnum').values('menuid','menucode','parentid','url','menuname','icon').distinct()
- return HttpResponse(json.dumps(list(menus)),content_type="application/json")
+ # del list1[0]#删除首空字符
+ menus = Menu.objects.exclude(menuid__in=[11, 9]).filter(menuid__in=list(filter(None, list(set(list1)))), deletemark=1).order_by(
+ 'sortnum').values('menuid', 'menucode', 'parentid', 'url', 'menuname', 'icon').distinct()
+ return HttpResponse(json.dumps(list(menus)), content_type="application/json")
def apirights(req):
a = req.GET.get('a')
- if a=='detail':
+ if a == 'detail':
groupid = req.GET.get('groupid')
haverights = Group.objects.get(groupid=groupid).menulink.split(',')
userid = req.session['userid']
companyid = getcompany(userid)
- allrights = Group.objects.get(usecomp__partid=companyid,grouptype=0).menulink.split(',')
- menus = Menu.objects.exclude(menuid__in=[11,9]).filter(menuid__in = allrights,deletemark=1).order_by('menuid').values('menuid','menucode','parentid','url','menuname','icon').distinct()
+ allrights = Group.objects.get(
+ usecomp__partid=companyid, grouptype=0).menulink.split(',')
+ menus = Menu.objects.exclude(menuid__in=[11, 9]).filter(menuid__in=allrights, deletemark=1).order_by(
+ 'menuid').values('menuid', 'menucode', 'parentid', 'url', 'menuname', 'icon').distinct()
for i in menus:
if str(i['menuid']) in haverights and i['url'] != None:
- i['checked']=True
+ i['checked'] = True
else:
- i['checked']=False
- return HttpResponse(json.dumps(list(menus)),content_type="application/json")
- elif a=='edit':
+ i['checked'] = False
+ return HttpResponse(json.dumps(list(menus)), content_type="application/json")
+ elif a == 'edit':
groupid = req.GET.get('groupid')
data = req.POST.get('data')
data = json.loads(data)
- rlist = ['11','9']
+ rlist = ['11', '9']
for i in data:
rlist.append(str(i['id']))
# x = i['id']
# while Menu.objects.get(menuid=x).parentid != None:
# x = Menu.objects.get(menuid=x).parentid.menuid
# rlist.append(str(x))
- Group.objects.filter(groupid=groupid).update(menulink=','.join(list(set(rlist))))
- return JsonResponse({"code":1})
- elif a=='have':
+ Group.objects.filter(groupid=groupid).update(
+ menulink=','.join(list(set(rlist))))
+ return JsonResponse({"code": 1})
+ elif a == 'have':
userid = req.session['userid']
companyid = getcompany(userid)
- allrights = Group.objects.get(usecomp__partid=companyid,grouptype=0).menulink.split(',')
- return JsonResponse({'code':1,'rights':allrights})
+ allrights = Group.objects.get(
+ usecomp__partid=companyid, grouptype=0).menulink.split(',')
+ return JsonResponse({'code': 1, 'rights': allrights})
+
def addyh(req):
- userid=req.session['userid']
- user=User.objects.get(userid=userid)
+ userid = req.session['userid']
+ user = User.objects.get(userid=userid)
yhdata = json.loads(req.body.decode('utf-8'))
troubleid = yhdata['troubleid'] if 'troubleid' in yhdata else ''
fxsj = yhdata['fxsj']
@@ -706,327 +839,336 @@ def addyh(req):
zgr = yhdata['zgr'] if 'zgr' in yhdata else ''
zgqx = yhdata['zgqx'] if 'zgqx' in yhdata else ''
zgms = yhdata['zgms'] if 'zgms' in yhdata else ''
- sybzt=0
- if troubleid!='':
+ sybzt = 0
+ if troubleid != '':
a = Trouble.objects.get(troubleid=troubleid)
else:
a = Trouble()
- companyid=getcompany(userid)
- a.usecomp=Partment.objects.get(partid=companyid)
+ companyid = getcompany(userid)
+ a.usecomp = Partment.objects.get(partid=companyid)
a.fxsj = fxsj
a.fxbm = user.ubelongpart
a.fxr = user
a.yhdd = yhdd
if 'yhqy' in yhdata:
if yhdata['yhqy']:
- a.yhqy = Area.objects.get(id= yhdata['yhqy'])
+ a.yhqy = Area.objects.get(id=yhdata['yhqy'])
a.yhms = yhms
a.yhtp = yhtp
- a.yhnum='YH'+time.strftime('%Y%m%d%H%M%S')
+ a.yhnum = 'YH'+time.strftime('%Y%m%d%H%M%S')
a.yyfx = yyfx
a.zgcs = zgcs
a.zgms = zgms
- if yhdj !='':
+ if yhdj != '':
a.yhdj = Dickey.objects.get(dickeyid=yhdj)
- if yhpg !='':
+ if yhpg != '':
a.yhpg = Dickey.objects.get(dickeyid=yhpg)
- if jclx !='':
+ if jclx != '':
a.jclx = Dickey.objects.get(dickeyid=jclx)
- if yhlx !='':
+ if yhlx != '':
a.yhlx = Dicclass.objects.get(dicid=yhlx)
- if yhlb !='':
+ if yhlb != '':
a.yhlb = Dickey.objects.get(dickeyid=yhlb)
- if a.yhdj.dickeyname =='无隐患' or zgms !='':
- #直接到待复查
+ if a.yhdj.dickeyname == '无隐患' or zgms != '':
+ # 直接到待复查
a.zghtp = zghtp
a.yhzt = 5
- x=getpgr(userid,user.ubelongpart)
- a.todouser=x
- a.fcr=x
- a.zpr=user
- a.pgr=user
+ x = getpgr(userid, user.ubelongpart)
+ a.todouser = x
+ a.fcr = x
+ a.zpr = user
+ a.pgr = user
a.csqrr = user
a.shr = user
- a.sybzt=0
+ a.sybzt = 0
if zgbm and zgr:
a.zgbm = Partment.objects.get(partid=zgbm)
a.zgr = User.objects.get(userid=zgr)
a.save()
- m=TroubleAccess(troubleid=a,clr=user,yhzt=0,action='新增隐患已整改',result=1)
+ m = TroubleAccess(troubleid=a, clr=user, yhzt=0,
+ action='新增隐患已整改', result=1)
m.save()
- postdict={
- 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc',
- 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
- "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid) },
- 'data':{
- 'first':{
- 'value':a.yhdj.dickeyname + '待复查:'
+ postdict = {
+ 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc',
+ 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
+ "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
+ 'data': {
+ 'first': {
+ 'value': a.yhdj.dickeyname + '待复查:'
},
- 'keyword1':{
- 'value':a.yhms
+ 'keyword1': {
+ 'value': a.yhms
},
- 'keyword2':{
- 'value':a.fxsj
+ 'keyword2': {
+ 'value': a.fxsj
},
- 'keyword3':{
- 'value':a.yhdd
+ 'keyword3': {
+ 'value': a.yhdd
},
- 'remark':{
- 'value':'该隐患已完成整改,请及时复查。'
+ 'remark': {
+ 'value': '该隐患已完成整改,请及时复查。'
}
}
}
- postdict['touser']=a.todouser.openid
+ postdict['touser'] = a.todouser.openid
send_wechatmsg.delay(postdict)
yjjs.delay(companyid)
- return JsonResponse({"code":1,"trouble":a.troubleid,"yhnum":a.yhnum})
- elif zgr !='' and (yyfx == '' or zgcs ==''):
- #直接到整改措施待上传
- a.zgbm=Partment.objects.get(partid=zgbm)
- a.zgr=User.objects.get(userid=zgr)
- a.zgqx=zgqx
+ return JsonResponse({"code": 1, "trouble": a.troubleid, "yhnum": a.yhnum})
+ elif zgr != '' and (yyfx == '' or zgcs == ''):
+ # 直接到整改措施待上传
+ a.zgbm = Partment.objects.get(partid=zgbm)
+ a.zgr = User.objects.get(userid=zgr)
+ a.zgqx = zgqx
a.yhzt = 7
a.todouser = User.objects.get(userid=zgr)
if a.zgr != user:
- a.fcr=user
+ a.fcr = user
else:
- a.fcr=getpgr(userid,user.ubelongpart.parentid)
- a.pgr=user
- a.zpr=user
- a.shr=user
- a.csqrr=user
- a.sybzt=0
+ a.fcr = getpgr(userid, user.ubelongpart.parentid)
+ a.pgr = user
+ a.zpr = user
+ a.shr = user
+ a.csqrr = user
+ a.sybzt = 0
a.save()
- m=TroubleAccess(troubleid=a,clr=user,yhzt=0,action='新增隐患并指派整改人',result=1)
+ m = TroubleAccess(troubleid=a, clr=user, yhzt=0,
+ action='新增隐患并指派整改人', result=1)
m.save()
- postdict={
- 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc',
- 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
- "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
- 'data':{
+ postdict = {
+ 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc',
+ 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
+ "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
+ 'data': {
- 'first':{
- 'value':a.yhdj.dickeyname + '原因分析/整改措施待上传:'
+ 'first': {
+ 'value': a.yhdj.dickeyname + '原因分析/整改措施待上传:'
},
- 'keyword1':{
- 'value':a.yhms
+ 'keyword1': {
+ 'value': a.yhms
},
- 'keyword2':{
- 'value':a.fxsj
+ 'keyword2': {
+ 'value': a.fxsj
},
- 'keyword3':{
- 'value':a.yhdd
+ 'keyword3': {
+ 'value': a.yhdd
},
- 'remark':{
- 'value':'整改期限为'+zgqx+',请您先及时填写原因分析,制定整改措施。'
+ 'remark': {
+ 'value': '整改期限为'+zgqx+',请您先及时填写原因分析,制定整改措施。'
}
}
}
- postdict['touser']=a.todouser.openid
+ postdict['touser'] = a.todouser.openid
send_wechatmsg.delay(postdict)
yjjs.delay(companyid)
- return JsonResponse({"code":1,"trouble":a.troubleid,"yhnum":a.yhnum})
- elif zgr !='' and yyfx != '' and zgcs !='':
- #到待整改
- a.zgbm=Partment.objects.get(partid=zgbm)
- a.zgr=User.objects.get(userid=zgr)
- a.zgqx=zgqx
+ return JsonResponse({"code": 1, "trouble": a.troubleid, "yhnum": a.yhnum})
+ elif zgr != '' and yyfx != '' and zgcs != '':
+ # 到待整改
+ a.zgbm = Partment.objects.get(partid=zgbm)
+ a.zgr = User.objects.get(userid=zgr)
+ a.zgqx = zgqx
a.yhzt = 3
a.todouser = User.objects.get(userid=zgr)
if a.zgr != user:
- a.fcr=user
+ a.fcr = user
else:
parentpart = user.ubelongpart.parentid
if parentpart:
- a.fcr=getpgr(userid,user.ubelongpart.parentid)
+ a.fcr = getpgr(userid, user.ubelongpart.parentid)
else:
- a.fcr=user
- a.shr=user
- a.pgr=user
- a.zpr=user
- a.csqrr=user
- a.sybzt=0
+ a.fcr = user
+ a.shr = user
+ a.pgr = user
+ a.zpr = user
+ a.csqrr = user
+ a.sybzt = 0
a.save()
- m=TroubleAccess(troubleid=a,clr=user,yhzt=0,action='新增隐患并指派整改人',result=1)
+ m = TroubleAccess(troubleid=a, clr=user, yhzt=0,
+ action='新增隐患并指派整改人', result=1)
m.save()
- postdict={
- 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc',
- 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
- "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
- 'data':{
+ postdict = {
+ 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc',
+ 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
+ "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
+ 'data': {
- 'first':{
- 'value':a.yhdj.dickeyname + '待整改:'
+ 'first': {
+ 'value': a.yhdj.dickeyname + '待整改:'
},
- 'keyword1':{
- 'value':a.yhms
+ 'keyword1': {
+ 'value': a.yhms
},
- 'keyword2':{
- 'value':a.fxsj
+ 'keyword2': {
+ 'value': a.fxsj
},
- 'keyword3':{
- 'value':a.yhdd
+ 'keyword3': {
+ 'value': a.yhdd
},
- 'remark':{
- 'value':'整改期限为'+zgqx+',请您及时完成整改。'
+ 'remark': {
+ 'value': '整改期限为'+zgqx+',请您及时完成整改。'
}
}
}
- postdict['touser']=a.todouser.openid
+ postdict['touser'] = a.todouser.openid
send_wechatmsg.delay(postdict)
yjjs.delay(companyid)
- return JsonResponse({"code":1,"trouble":a.troubleid,"yhnum":a.yhnum})
- elif zgbm!='' and zgr =='' :
- #到整改部门待评估 指派部门整改
+ return JsonResponse({"code": 1, "trouble": a.troubleid, "yhnum": a.yhnum})
+ elif zgbm != '' and zgr == '':
+ # 到整改部门待评估 指派部门整改
a.yhzt = 1
- x=getpgr('zpbm',Partment.objects.get(partid=zgbm))
- if x==False:
- return JsonResponse({"code":101})
- a.todouser=x
- a.shr=x
- a.csqrr=x
- a.fcr=user
- a.pgr=user
- a.zgbm=Partment.objects.get(partid=zgbm)
- a.sybzt=0
+ x = getpgr('zpbm', Partment.objects.get(partid=zgbm))
+ if x == False:
+ return JsonResponse({"code": 101})
+ a.todouser = x
+ a.shr = x
+ a.csqrr = x
+ a.fcr = user
+ a.pgr = user
+ a.zgbm = Partment.objects.get(partid=zgbm)
+ a.sybzt = 0
a.save()
- m=TroubleAccess(troubleid=a,clr=user,yhzt=0,action='新增隐患并指派整改部门',result=1)
+ m = TroubleAccess(troubleid=a, clr=user, yhzt=0,
+ action='新增隐患并指派整改部门', result=1)
m.save()
- postdict={
- 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc',
- 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
- "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
- 'data':{
+ postdict = {
+ 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc',
+ 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
+ "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
+ 'data': {
- 'first':{
- 'value':a.yhdj.dickeyname + '待评估:'
+ 'first': {
+ 'value': a.yhdj.dickeyname + '待评估:'
},
- 'keyword1':{
- 'value':a.yhms
+ 'keyword1': {
+ 'value': a.yhms
},
- 'keyword2':{
- 'value':a.fxsj
+ 'keyword2': {
+ 'value': a.fxsj
},
- 'keyword3':{
- 'value':a.yhdd
+ 'keyword3': {
+ 'value': a.yhdd
},
- 'remark':{
- 'value':'请您及时评估并制定整改通知单。'
+ 'remark': {
+ 'value': '请您及时评估并制定整改通知单。'
}
}
}
- postdict['touser']=a.todouser.openid
+ postdict['touser'] = a.todouser.openid
send_wechatmsg.delay(postdict)
- return JsonResponse({"code":1,"trouble":a.troubleid,"yhnum":a.yhnum})
+ return JsonResponse({"code": 1, "trouble": a.troubleid, "yhnum": a.yhnum})
else:
- #正常流程到待评估
+ # 正常流程到待评估
a.yhzt = 1
- x=getpgr(userid,user.ubelongpart)
+ x = getpgr(userid, user.ubelongpart)
a.pgr = x
- a.todouser=x
- a.sybzt=0
+ a.todouser = x
+ a.sybzt = 0
a.save()
- m=TroubleAccess(troubleid=a,clr=user,yhzt=0,action='新增隐患',result=1)
+ m = TroubleAccess(troubleid=a, clr=user, yhzt=0,
+ action='新增隐患', result=1)
m.save()
- postdict={
- 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc',
- 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
- "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
- 'data':{
+ postdict = {
+ 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc',
+ 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
+ "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
+ 'data': {
- 'first':{
- 'value':a.yhdj.dickeyname + '待评估:'
+ 'first': {
+ 'value': a.yhdj.dickeyname + '待评估:'
},
- 'keyword1':{
- 'value':a.yhms
+ 'keyword1': {
+ 'value': a.yhms
},
- 'keyword2':{
- 'value':a.fxsj
+ 'keyword2': {
+ 'value': a.fxsj
},
- 'keyword3':{
- 'value':a.yhdd
+ 'keyword3': {
+ 'value': a.yhdd
},
- 'remark':{
- 'value':'请您及时评估并制定整改通知单。'
+ 'remark': {
+ 'value': '请您及时评估并制定整改通知单。'
}
}
}
- postdict['touser']=a.todouser.openid
+ postdict['touser'] = a.todouser.openid
send_wechatmsg.delay(postdict)
- return JsonResponse({"code":1,"trouble":a.troubleid,"yhnum":a.yhnum})
+ return JsonResponse({"code": 1, "trouble": a.troubleid, "yhnum": a.yhnum})
def getyh(req):
if 'userid' in req.session:
userid = req.session['userid']
- troubleid =req.GET.get('troubleid')
- a = Trouble.objects.filter(troubleid=troubleid).values('sybzt','troubleid','fxr__userid','fxr__name','yhms','yhzt','fxsj','tbsj','yhlb__dickeyname','yhlb__dickeyid','todouser__name','yhpg__dickeyname','yhnum','yhdd','fxbm__partname','yhdj__dickeyname','yhdj__dickeyid','yhpg__dickeyname','yhpg__dickeyid','jclx__dickeyname','jclx__dickeyid','yhlx__dicname','yhlx__dicid','yyfx','zgcs','yhtp','zghtp','zgms','zgbm__partname','zgbm__partid','zgr__name','zgqx','fcr__ubelongpart__partname','fcr__name','shr__ubelongpart__partname','shr__name','pgr__ubelongpart__partname','pgr__name','zpr__ubelongpart__partname','zpr__name','csqrr__ubelongpart__partname','csqrr__name','shyj','fcyj','shresult','zgbm','zgr','pgyj')[0]
- #print(a['yhtp'])
- if a['yhtp']!='':
+ troubleid = req.GET.get('troubleid')
+ a = Trouble.objects.filter(troubleid=troubleid).values('sybzt', 'troubleid', 'fxr__userid', 'fxr__name', 'yhms', 'yhzt', 'fxsj', 'tbsj', 'yhlb__dickeyname', 'yhlb__dickeyid', 'todouser__name', 'yhpg__dickeyname', 'yhnum', 'yhdd', 'fxbm__partname', 'yhdj__dickeyname', 'yhdj__dickeyid', 'yhpg__dickeyname', 'yhpg__dickeyid', 'jclx__dickeyname', 'jclx__dickeyid', 'yhlx__dicname',
+ 'yhlx__dicid', 'yyfx', 'zgcs', 'yhtp', 'zghtp', 'zgms', 'zgbm__partname', 'zgbm__partid', 'zgr__name', 'zgqx', 'fcr__ubelongpart__partname', 'fcr__name', 'shr__ubelongpart__partname', 'shr__name', 'pgr__ubelongpart__partname', 'pgr__name', 'zpr__ubelongpart__partname', 'zpr__name', 'csqrr__ubelongpart__partname', 'csqrr__name', 'shyj', 'fcyj', 'shresult', 'zgbm', 'zgr', 'pgyj')[0]
+ # print(a['yhtp'])
+ if a['yhtp'] != '':
a['yhtp'] = a['yhtp'].split('?')
- if a['zghtp']!='':
- a['zghtp']= a['zghtp'].split('?')
+ if a['zghtp'] != '':
+ a['zghtp'] = a['zghtp'].split('?')
for key in a:
if a[key] == None:
a[key] = ''
- #print(a['yhtp'])
+ # print(a['yhtp'])
return JsonResponse(a)
- #return JsonResponse()
+ # return JsonResponse()
else:
- return JsonResponse({"code":0})
+ return JsonResponse({"code": 0})
+
def accessyh(req):
userid = req.session['userid']
yhdata = json.loads(req.body.decode('utf-8'))
- troubleid =yhdata['troubleid']
+ troubleid = yhdata['troubleid']
a = Trouble.objects.get(troubleid=troubleid)
companyid = a.usecomp.partid
b = User.objects.get(userid=userid)
- shresult=yhdata['shresult']
- if a.yhzt==5:#待复查
- fcyj=yhdata['fcyj']
- if shresult=='reject':
- a.shresult=3
- a.yhzt=3
- a.sybzt=5
+ shresult = yhdata['shresult']
+ if a.yhzt == 5: # 待复查
+ fcyj = yhdata['fcyj']
+ if shresult == 'reject':
+ a.shresult = 3
+ a.yhzt = 3
+ a.sybzt = 5
if a.zgr != None:
a.todouser = a.zgr
else:
a.todouser = a.fxr
- a.fcyj=fcyj
+ a.fcyj = fcyj
a.save()
- m=TroubleAccess(troubleid=a,clr=b,yhzt=5,action='复查未通过',opinion=fcyj,result=0)
+ m = TroubleAccess(troubleid=a, clr=b, yhzt=5,
+ action='复查未通过', opinion=fcyj, result=0)
m.save()
- postdict={
- 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc',
- 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
- "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
- 'data':{
- 'first':{'value':a.yhdj.dickeyname + '待整改:'},
- 'keyword1':{'value':a.yhms},
- 'keyword2':{'value':a.fxsj},
- 'keyword3':{'value':a.yhdd},
- 'remark':{'value':'您提交的整改结果未通过复查,请重新整改。'}
- }
+ postdict = {
+ 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc',
+ 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
+ "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
+ 'data': {
+ 'first': {'value': a.yhdj.dickeyname + '待整改:'},
+ 'keyword1': {'value': a.yhms},
+ 'keyword2': {'value': a.fxsj},
+ 'keyword3': {'value': a.yhdd},
+ 'remark': {'value': '您提交的整改结果未通过复查,请重新整改。'}
}
- postdict['touser']=a.todouser.openid
+ }
+ postdict['touser'] = a.todouser.openid
send_wechatmsg.delay(postdict)
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
else:
- a.yhzt=6
- a.sybzt=5
- a.todouser=None
- a.fcyj=fcyj
+ a.yhzt = 6
+ a.sybzt = 5
+ a.todouser = None
+ a.fcyj = fcyj
a.save()
- m=TroubleAccess(troubleid=a,clr=b,yhzt=5,action='整改结果复查通过',opinion=fcyj,result=1)
+ m = TroubleAccess(troubleid=a, clr=b, yhzt=5,
+ action='整改结果复查通过', opinion=fcyj, result=1)
m.save()
objs = Inspect.objects.filter(trouble=a)
if objs.exists():
obj = objs[0]
- obj.equipment.state=1
+ obj.equipment.state = 1
obj.equipment.save()
yjjs.delay(companyid)
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
# elif a.zgr==None and a.zgms=='':#无隐患
# a.yhzt=6
# a.sybzt=5
@@ -1048,62 +1190,65 @@ def accessyh(req):
# yjjs.delay(companyid)
# return JsonResponse({"code":1})
- elif a.yhzt==3:#提交整改后
- if a.sybzt==4 or a.sybzt== 5:
- a.shresult=4
+ elif a.yhzt == 3: # 提交整改后
+ if a.sybzt == 4 or a.sybzt == 5:
+ a.shresult = 4
else:
- a.shresult=1
- if a.shr==a.fcr or a.shr==None:
- a.yhzt=5
- a.sybzt=3
- a.todouser=a.fcr
+ a.shresult = 1
+ if a.shr == a.fcr or a.shr == None:
+ a.yhzt = 5
+ a.sybzt = 3
+ a.todouser = a.fcr
else:
- a.yhzt=4
- a.sybzt=3
- a.todouser=a.shr
- a.zgms=yhdata['zgms']
- a.zghtp='?'.join(yhdata['zghtp'])
- a.zgsj=datetime.now()
+ a.yhzt = 4
+ a.sybzt = 3
+ a.todouser = a.shr
+ a.zgms = yhdata['zgms']
+ a.zghtp = '?'.join(yhdata['zghtp'])
+ a.zgsj = datetime.now()
a.save()
- m=TroubleAccess(troubleid=a,clr=b,yhzt=3,action='提交整改结果',result=1)
+ m = TroubleAccess(troubleid=a, clr=b, yhzt=3,
+ action='提交整改结果', result=1)
m.save()
- return JsonResponse({"code":1})
- elif a.yhzt==4:#待审核
- shyj=yhdata['shyj']
- if shresult=='reject':
- a.shresult=2
- a.yhzt=3
- a.sybzt=4
- a.todouser=a.zgr
- a.shyj=shyj
+ return JsonResponse({"code": 1})
+ elif a.yhzt == 4: # 待审核
+ shyj = yhdata['shyj']
+ if shresult == 'reject':
+ a.shresult = 2
+ a.yhzt = 3
+ a.sybzt = 4
+ a.todouser = a.zgr
+ a.shyj = shyj
a.save()
- m=TroubleAccess(troubleid=a,clr=b,yhzt=4,action='审核未通过',opinion=shyj,result=0)
+ m = TroubleAccess(troubleid=a, clr=b, yhzt=4,
+ action='审核未通过', opinion=shyj, result=0)
m.save()
- postdict={
- 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc',
- 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
- "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
- 'data':{
- 'first':{'value':a.yhdj.dickeyname + '待整改:'},
- 'keyword1':{'value':a.yhms},
- 'keyword2':{'value':a.fxsj},
- 'keyword3':{'value':a.yhdd},
- 'remark':{'value':'您提交的整改结果未通过审核,请重新整改。'}
- }
- }
- postdict['touser']=a.todouser.openid
+ postdict = {
+ 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc',
+ 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
+ "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
+ 'data': {
+ 'first': {'value': a.yhdj.dickeyname + '待整改:'},
+ 'keyword1': {'value': a.yhms},
+ 'keyword2': {'value': a.fxsj},
+ 'keyword3': {'value': a.yhdd},
+ 'remark': {'value': '您提交的整改结果未通过审核,请重新整改。'}
+ }
+ }
+ postdict['touser'] = a.todouser.openid
send_wechatmsg.delay(postdict)
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
else:
- a.yhzt=5
- a.sybzt=4
- a.todouser=a.fcr
- a.shyj=shyj
+ a.yhzt = 5
+ a.sybzt = 4
+ a.todouser = a.fcr
+ a.shyj = shyj
a.save()
- m=TroubleAccess(troubleid=a,clr=b,yhzt=4,action='整改结果审核通过',opinion=shyj,result=1)
+ m = TroubleAccess(troubleid=a, clr=b, yhzt=4,
+ action='整改结果审核通过', opinion=shyj, result=1)
m.save()
- return JsonResponse({"code":1})
- elif a.yhzt==1:
+ return JsonResponse({"code": 1})
+ elif a.yhzt == 1:
if yhdata['shresult'] == 'reject':
if 'accept' in yhdata:
if yhdata['accept'] == 'no':
@@ -1113,23 +1258,24 @@ def accessyh(req):
a.todouser = None
a.pgyj = yhdata['pgyj']
a.save()
- m=TroubleAccess(troubleid=a,clr=a.pgr,yhzt=6,action='未采纳',opinion=yhdata['pgyj'])
+ m = TroubleAccess(
+ troubleid=a, clr=a.pgr, yhzt=6, action='未采纳', opinion=yhdata['pgyj'])
m.save()
- postdict={
- 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc',
- 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
- "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
- 'data':{
- 'first':{'value':a.yhdj.dickeyname + '未被采纳:'},
- 'keyword1':{'value':a.yhms},
- 'keyword2':{'value':a.fxsj},
- 'keyword3':{'value':a.yhdd},
- 'remark':{'value':'请查看未采纳原因'}
- }
- }
- postdict['touser']=a.fxr.openid
+ postdict = {
+ 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc',
+ 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
+ "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
+ 'data': {
+ 'first': {'value': a.yhdj.dickeyname + '未被采纳:'},
+ 'keyword1': {'value': a.yhms},
+ 'keyword2': {'value': a.fxsj},
+ 'keyword3': {'value': a.yhdd},
+ 'remark': {'value': '请查看未采纳原因'}
+ }
+ }
+ postdict['touser'] = a.fxr.openid
send_wechatmsg.delay(postdict)
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
else:
a.shresult = 5
a.yhzt = 0
@@ -1137,382 +1283,400 @@ def accessyh(req):
a.todouser = a.fxr
a.pgyj = yhdata['pgyj']
a.save()
- m=TroubleAccess(troubleid=a,clr=a.pgr,yhzt=0,action='请'+a.fxr.name+'重新填报',result=0)
+ m = TroubleAccess(
+ troubleid=a, clr=a.pgr, yhzt=0, action='请'+a.fxr.name+'重新填报', result=0)
m.save()
- postdict={
- 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc',
- 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
- "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
- 'data':{
- 'first':{'value':a.yhdj.dickeyname + '被退回需重新上报:'},
- 'keyword1':{'value':a.yhms},
- 'keyword2':{'value':a.fxsj},
- 'keyword3':{'value':a.yhdd},
- 'remark':{'value':'请查看评估意见并修改后上传。'}
- }
- }
- postdict['touser']=a.todouser.openid
+ postdict = {
+ 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc',
+ 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
+ "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
+ 'data': {
+ 'first': {'value': a.yhdj.dickeyname + '被退回需重新上报:'},
+ 'keyword1': {'value': a.yhms},
+ 'keyword2': {'value': a.fxsj},
+ 'keyword3': {'value': a.yhdd},
+ 'remark': {'value': '请查看评估意见并修改后上传。'}
+ }
+ }
+ postdict['touser'] = a.todouser.openid
send_wechatmsg.delay(postdict)
- return JsonResponse({"code":1})
- elif 'zppg' in yhdata and yhdata['zppg']=='yes':
- a.yhzt=1
- a.sybzt=1
- #a.yhms=req.POST.get('yhms')
+ return JsonResponse({"code": 1})
+ elif 'zppg' in yhdata and yhdata['zppg'] == 'yes':
+ a.yhzt = 1
+ a.sybzt = 1
+ # a.yhms=req.POST.get('yhms')
a.todouser = User.objects.get(userid=yhdata['newr'])
a.fcr = a.todouser
a.pgr = a.todouser
a.save()
- m=TroubleAccess(troubleid=a,clr=b,yhzt=1,action='请'+a.fcr.name+'继续评估和复查',result=1)
+ m = TroubleAccess(troubleid=a, clr=b, yhzt=1,
+ action='请'+a.fcr.name+'继续评估和复查', result=1)
m.save()
- postdict={
- 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc',
- 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
- "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
- 'data':{
- 'first':{'value':a.yhdj.dickeyname + '待评估:'},
- 'keyword1':{'value':a.yhms},
- 'keyword2':{'value':a.fxsj},
- 'keyword3':{'value':a.yhdd},
- 'remark':{'value':'请及时评估该隐患并制定整改通知单。'}
- }
- }
- postdict['touser']=a.todouser.openid
+ postdict = {
+ 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc',
+ 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
+ "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
+ 'data': {
+ 'first': {'value': a.yhdj.dickeyname + '待评估:'},
+ 'keyword1': {'value': a.yhms},
+ 'keyword2': {'value': a.fxsj},
+ 'keyword3': {'value': a.yhdd},
+ 'remark': {'value': '请及时评估该隐患并制定整改通知单。'}
+ }
+ }
+ postdict['touser'] = a.todouser.openid
send_wechatmsg.delay(postdict)
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
else:
- #print(yhdata['zgcs']=='')
- if yhdata['zgcs']!='':
- a.yhzt=3
- a.sybzt=1
- a.yyfx=yhdata['yyfx']
- a.zgcs=yhdata['zgcs']
- a.yhpg=Dickey.objects.get(dickeyid=yhdata['yhpg'])
- a.yhlx=Dicclass.objects.get(dicid=yhdata['yhlx'])
- a.yhlb=Dickey.objects.get(dickeyid=yhdata['yhlb'])
- a.zgbm=Partment.objects.get(partid=yhdata['zgbm'])
- a.zgr=User.objects.get(userid=yhdata['zgr'])
- a.zgqx=yhdata['zgqx']
- a.todouser=a.zgr
- if a.pgr==None:
- a.pgr=b
- a.zpr=b
+ # print(yhdata['zgcs']=='')
+ if yhdata['zgcs'] != '':
+ a.yhzt = 3
+ a.sybzt = 1
+ a.yyfx = yhdata['yyfx']
+ a.zgcs = yhdata['zgcs']
+ a.yhpg = Dickey.objects.get(dickeyid=yhdata['yhpg'])
+ a.yhlx = Dicclass.objects.get(dicid=yhdata['yhlx'])
+ a.yhlb = Dickey.objects.get(dickeyid=yhdata['yhlb'])
+ a.zgbm = Partment.objects.get(partid=yhdata['zgbm'])
+ a.zgr = User.objects.get(userid=yhdata['zgr'])
+ a.zgqx = yhdata['zgqx']
+ a.todouser = a.zgr
+ if a.pgr == None:
+ a.pgr = b
+ a.zpr = b
if a.fcr:
pass
else:
- a.fcr=b
- a.csqrr=b
- a.shr=b
+ a.fcr = b
+ a.csqrr = b
+ a.shr = b
a.save()
- m=TroubleAccess(troubleid=a,clr=b,yhzt=1,action='指派'+a.zgr.name+'整改',result=1)
+ m = TroubleAccess(troubleid=a, clr=b, yhzt=1,
+ action='指派'+a.zgr.name+'整改', result=1)
m.save()
- postdict={
- 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc',
- 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
- "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
- 'data':{
- 'first':{'value':a.yhdj.dickeyname + '待整改:'},
- 'keyword1':{'value':a.yhms},
- 'keyword2':{'value':a.fxsj},
- 'keyword3':{'value':a.yhdd},
- 'remark':{'value':'整改期限为'+yhdata['zgqx']+',请您及时完成整改。'}
- }
+ postdict = {
+ 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc',
+ 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
+ "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
+ 'data': {
+ 'first': {'value': a.yhdj.dickeyname + '待整改:'},
+ 'keyword1': {'value': a.yhms},
+ 'keyword2': {'value': a.fxsj},
+ 'keyword3': {'value': a.yhdd},
+ 'remark': {'value': '整改期限为'+yhdata['zgqx']+',请您及时完成整改。'}
}
- postdict['touser']=a.todouser.openid
+ }
+ postdict['touser'] = a.todouser.openid
send_wechatmsg.delay(postdict)
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
else:
- a.yhzt=7
- a.sybzt=1
- #a.yhms=req.POST.get('yhms')
- #print(req.POST.get('yhms'))
- a.yhpg=Dickey.objects.get(dickeyid=yhdata['yhpg'])
- a.yhlx=Dicclass.objects.get(dicid=yhdata['yhlx'])
- a.yhlb=Dickey.objects.get(dickeyid=yhdata['yhlb'])
- a.zgbm=Partment.objects.get(partid=yhdata['zgbm'])
- a.zgr=User.objects.get(userid=yhdata['zgr'])
- a.zgqx=yhdata['zgqx']
- a.todouser=a.zgr
- if a.pgr==None:
- a.pgr=b
- a.zpr=b
- a.csqrr=b
- a.shr=b
+ a.yhzt = 7
+ a.sybzt = 1
+ # a.yhms=req.POST.get('yhms')
+ # print(req.POST.get('yhms'))
+ a.yhpg = Dickey.objects.get(dickeyid=yhdata['yhpg'])
+ a.yhlx = Dicclass.objects.get(dicid=yhdata['yhlx'])
+ a.yhlb = Dickey.objects.get(dickeyid=yhdata['yhlb'])
+ a.zgbm = Partment.objects.get(partid=yhdata['zgbm'])
+ a.zgr = User.objects.get(userid=yhdata['zgr'])
+ a.zgqx = yhdata['zgqx']
+ a.todouser = a.zgr
+ if a.pgr == None:
+ a.pgr = b
+ a.zpr = b
+ a.csqrr = b
+ a.shr = b
if a.fcr:
pass
else:
- a.fcr=b
+ a.fcr = b
a.save()
- m=TroubleAccess(troubleid=a,clr=b,yhzt=1,action='指派'+a.zgr.name+'整改',result=1)
+ m = TroubleAccess(troubleid=a, clr=b, yhzt=1,
+ action='指派'+a.zgr.name+'整改', result=1)
m.save()
- postdict={
- 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc',
- 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
- "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
- 'data':{
- 'first':{'value':a.yhdj.dickeyname + '待整改:'},
- 'keyword1':{'value':a.yhms},
- 'keyword2':{'value':a.fxsj},
- 'keyword3':{'value':a.yhdd},
- 'remark':{'value':'整改期限为'+yhdata['zgqx']+',请您及时完成整改。'}
- }
+ postdict = {
+ 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc',
+ 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
+ "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
+ 'data': {
+ 'first': {'value': a.yhdj.dickeyname + '待整改:'},
+ 'keyword1': {'value': a.yhms},
+ 'keyword2': {'value': a.fxsj},
+ 'keyword3': {'value': a.yhdd},
+ 'remark': {'value': '整改期限为'+yhdata['zgqx']+',请您及时完成整改。'}
}
- postdict['touser']=a.todouser.openid
+ }
+ postdict['touser'] = a.todouser.openid
send_wechatmsg.delay(postdict)
- return JsonResponse({"code":1})
- elif a.yhzt==7:
- a.yhzt=2
- a.sybzt=7
- a.yyfx=yhdata['yyfx']
- a.zgcs=yhdata['zgcs']
+ return JsonResponse({"code": 1})
+ elif a.yhzt == 7:
+ a.yhzt = 2
+ a.sybzt = 7
+ a.yyfx = yhdata['yyfx']
+ a.zgcs = yhdata['zgcs']
a.todouser = a.zpr
a.save()
- m=TroubleAccess(troubleid=a,clr=b,yhzt=7,action='制定整改措施/方案',result=1)
+ m = TroubleAccess(troubleid=a, clr=b, yhzt=7,
+ action='制定整改措施/方案', result=1)
m.save()
- postdict={
- 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc',
- 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
- "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
- 'data':{
- 'first':{'value':a.yhdj.dickeyname + '待整改:'},
- 'keyword1':{'value':a.yhms},
- 'keyword2':{'value':a.fxsj},
- 'keyword3':{'value':a.yhdd},
- 'remark':{'value':'整改期限为'+a.zgqx.strftime("%Y-%m-%d %H:%M")+',请您先先制定整改措施/方案。'}
- }
- }
- postdict['touser']=a.todouser.openid
+ postdict = {
+ 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc',
+ 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
+ "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
+ 'data': {
+ 'first': {'value': a.yhdj.dickeyname + '待整改:'},
+ 'keyword1': {'value': a.yhms},
+ 'keyword2': {'value': a.fxsj},
+ 'keyword3': {'value': a.yhdd},
+ 'remark': {'value': '整改期限为'+a.zgqx.strftime("%Y-%m-%d %H:%M")+',请您先先制定整改措施/方案。'}
+ }
+ }
+ postdict['touser'] = a.todouser.openid
send_wechatmsg.delay(postdict)
- return JsonResponse({"code":1})
- elif a.yhzt==0:
+ return JsonResponse({"code": 1})
+ elif a.yhzt == 0:
a.yhzt = 1
a.todouser = a.pgr
- a.sybzt=0
+ a.sybzt = 0
a.save()
- m=TroubleAccess(troubleid=a,clr=a.fxr,yhzt=0,action='重新修改隐患',result=1)
+ m = TroubleAccess(troubleid=a, clr=a.fxr, yhzt=0,
+ action='重新修改隐患', result=1)
m.save()
- postdict={
- 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc',
- 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
- "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
- 'data':{
+ postdict = {
+ 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc',
+ 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
+ "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
+ 'data': {
- 'first':{
- 'value':a.yhdj.dickeyname + '待评估:'
+ 'first': {
+ 'value': a.yhdj.dickeyname + '待评估:'
},
- 'keyword1':{
- 'value':a.yhms
+ 'keyword1': {
+ 'value': a.yhms
},
- 'keyword2':{
- 'value':a.fxsj
+ 'keyword2': {
+ 'value': a.fxsj
},
- 'keyword3':{
- 'value':a.yhdd
+ 'keyword3': {
+ 'value': a.yhdd
},
- 'remark':{
- 'value':'发现人重新提交隐患,请您及时评估并制定整改通知单。'
+ 'remark': {
+ 'value': '发现人重新提交隐患,请您及时评估并制定整改通知单。'
}
}
}
- postdict['touser']=a.todouser.openid
+ postdict['touser'] = a.todouser.openid
send_wechatmsg.delay(postdict)
- return JsonResponse({"code":1})
- elif a.yhzt==2:
- a.yhzt=3
- a.sybzt=2
- a.yyfx=yhdata['yyfx']
- a.zgcs=yhdata['zgcs']
+ return JsonResponse({"code": 1})
+ elif a.yhzt == 2:
+ a.yhzt = 3
+ a.sybzt = 2
+ a.yyfx = yhdata['yyfx']
+ a.zgcs = yhdata['zgcs']
a.todouser = a.zgr
a.save()
- m=TroubleAccess(troubleid=a,clr=a.csqrr,yhzt=2,action='确认整改措施',result=1)
+ m = TroubleAccess(troubleid=a, clr=a.csqrr, yhzt=2,
+ action='确认整改措施', result=1)
m.save()
- postdict={
- 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc',
- 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
- "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
- 'data':{
- 'first':{'value':a.yhdj.dickeyname + '待整改:'},
- 'keyword1':{'value':a.yhms},
- 'keyword2':{'value':a.fxsj},
- 'keyword3':{'value':a.yhdd},
- 'remark':{'value':'整改措施已确认,请您及时完成整改。'}
- }
+ postdict = {
+ 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc',
+ 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
+ "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
+ 'data': {
+ 'first': {'value': a.yhdj.dickeyname + '待整改:'},
+ 'keyword1': {'value': a.yhms},
+ 'keyword2': {'value': a.fxsj},
+ 'keyword3': {'value': a.yhdd},
+ 'remark': {'value': '整改措施已确认,请您及时完成整改。'}
}
- postdict['touser']=a.todouser.openid
+ }
+ postdict['touser'] = a.todouser.openid
send_wechatmsg.delay(postdict)
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
def parttree2(req):
userid = req.session['userid']
companyid = getcompany(userid)
- list_items = (Partment.objects.filter(partlink__contains=','+companyid+',')).annotate(id=F('partid'),parentId=F('parentid'),name=F('partname')).values('id','parentId','name')
- return HttpResponse(json.dumps(list(list_items)),content_type="application/json")
+ list_items = (Partment.objects.filter(partlink__contains=','+companyid+',')).annotate(
+ id=F('partid'), parentId=F('parentid'), name=F('partname')).values('id', 'parentId', 'name')
+ return HttpResponse(json.dumps(list(list_items)), content_type="application/json")
+
def getdicclass(req):
- dicid=req.GET.get('dicid')
- a=Dicclass.objects.filter(parentid=dicid).values('dicid','dicname')
- str = transstr(a,'dicid','dicname')
- return HttpResponse(str,content_type="application/json")
+ dicid = req.GET.get('dicid')
+ a = Dicclass.objects.filter(parentid=dicid).values('dicid', 'dicname')
+ str = transstr(a, 'dicid', 'dicname')
+ return HttpResponse(str, content_type="application/json")
+
def getdickey(req):
userid = req.session['userid']
companyid = getcompany(userid)
- a = Dickey.objects.filter(dicparent=req.GET.get('dicclass'),deletemark=1)
- a = (a.filter(usecomps__contains=',1,')|a.filter(usecomps__contains=','+companyid+',')).exclude(nousecomps__contains=','+companyid+',')
- a = a.values('dickeyid','dicparent__dicname','dickeyname','dicparent__dicid','detail').order_by('dickeyid')
- total=a.count()
- if req.GET.get('a')=='combobox':
- return HttpResponse(transstr(a,'dickeyid','dickeyname'),content_type="application/json")
+ a = Dickey.objects.filter(dicparent=req.GET.get('dicclass'), deletemark=1)
+ a = (a.filter(usecomps__contains=',1,') | a.filter(usecomps__contains=',' +
+ companyid+',')).exclude(nousecomps__contains=','+companyid+',')
+ a = a.values('dickeyid', 'dicparent__dicname', 'dickeyname',
+ 'dicparent__dicid', 'detail').order_by('dickeyid')
+ total = a.count()
+ if req.GET.get('a') == 'combobox':
+ return HttpResponse(transstr(a, 'dickeyid', 'dickeyname'), content_type="application/json")
else:
- if req.GET.get('dicclass')=='33':
+ if req.GET.get('dicclass') == '33':
for i in a:
- objs = Operationspjd.objects.filter(zylx=Dickey.objects.get(dickeyid=i['dickeyid']),usecomp=Partment.objects.get(partid=companyid))
- str='作业负责人-作业部门-属地部门'
+ objs = Operationspjd.objects.filter(zylx=Dickey.objects.get(
+ dickeyid=i['dickeyid']), usecomp=Partment.objects.get(partid=companyid))
+ str = '作业负责人-作业部门-属地部门'
for x in objs:
str = str + '-' + x.jdmc
i['splcdetail'] = str
a = a
- return HttpResponse(transjson(total,a),content_type="application/json")
+ return HttpResponse(transjson(total, a), content_type="application/json")
def addtrain(req):
userid = req.session['userid']
companyid = getcompany(userid)
- a=Train()
- a.trainname=req.POST.get('trainname')
- a.trainplace=req.POST.get('trainplace')
- a.starttime=req.POST.get('starttime')
- a.usecomp=Partment.objects.get(partid=companyid)
- a.trainlevel=Dicclass.objects.get(dicid=req.POST.get('trainlevel'))
- a.traincontent=Dickey.objects.get(dickeyid=req.POST.get('traincontent'))
- a.manlevel=Dickey.objects.get(dickeyid=req.POST.get('manlevel'))
- a.traintype=Dickey.objects.get(dickeyid=req.POST.get('traintype'))
- a.detailcontent=req.POST.get('detailcontent')
- a.teacher = req.POST.get('teacher',None)
- if req.POST.get('lecturer',None):
+ a = Train()
+ a.trainname = req.POST.get('trainname')
+ a.trainplace = req.POST.get('trainplace')
+ a.starttime = req.POST.get('starttime')
+ a.usecomp = Partment.objects.get(partid=companyid)
+ a.trainlevel = Dicclass.objects.get(dicid=req.POST.get('trainlevel'))
+ a.traincontent = Dickey.objects.get(dickeyid=req.POST.get('traincontent'))
+ a.manlevel = Dickey.objects.get(dickeyid=req.POST.get('manlevel'))
+ a.traintype = Dickey.objects.get(dickeyid=req.POST.get('traintype'))
+ a.detailcontent = req.POST.get('detailcontent')
+ a.teacher = req.POST.get('teacher', None)
+ if req.POST.get('lecturer', None):
x = User.objects.get(userid=req.POST.get('lecturer'))
a.lecturer = x
a.teacher = x.name
- a.state=0
- a.participantnum=req.POST.get('participantnum')
- a.submituser=User.objects.get(userid=userid)
- a.duration=req.POST.get('duration')
- a.trainnum='PX'+time.strftime('%Y%m%d%H%M%S')
- a.material= req.POST.get('upfile')
+ a.state = 0
+ a.participantnum = req.POST.get('participantnum')
+ a.submituser = User.objects.get(userid=userid)
+ a.duration = req.POST.get('duration')
+ a.trainnum = 'PX'+time.strftime('%Y%m%d%H%M%S')
+ a.material = req.POST.get('upfile')
a.save()
- a.checkqr = makeqr_train('https://safeyun.ctcshe.com/miniprogram/checktrain?trainid='+str(a.trainid))
+ a.checkqr = makeqr_train(
+ 'https://safeyun.ctcshe.com/miniprogram/checktrain?trainid='+str(a.trainid))
a.save()
- plist=req.POST.getlist('trainpart')
+ plist = req.POST.getlist('trainpart')
ustr = req.POST.get('participant')
- ulist=ustr.split(',')
- b=[]
+ ulist = ustr.split(',')
+ b = []
for i in ulist:
- x=User.objects.get(userid=i)
- m = Trainuser(train=a,participant=x)
+ x = User.objects.get(userid=i)
+ m = Trainuser(train=a, participant=x)
m.save()
b.append(x.openid)
for i in plist:
a.trainpart.add(Partment.objects.get(partid=i))
- postdict={
- 'touser':'',
- 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
- 'data':{
- 'first':{
- 'value':a.trainlevel.dicname + '培训通知:'
+ postdict = {
+ 'touser': '',
+ 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
+ 'data': {
+ 'first': {
+ 'value': a.trainlevel.dicname + '培训通知:'
},
- 'keyword1':{
- 'value':a.trainname
+ 'keyword1': {
+ 'value': a.trainname
},
- 'keyword2':{
- 'value':a.starttime
+ 'keyword2': {
+ 'value': a.starttime
},
- 'keyword3':{
- 'value':a.trainplace
+ 'keyword3': {
+ 'value': a.trainplace
},
- 'remark':{
- 'value':a.teacher+'授课,时长为'+a.duration+'小时,请您务必参加'
+ 'remark': {
+ 'value': a.teacher+'授课,时长为'+a.duration+'小时,请您务必参加'
}
}
}
- send_wechatmsgs.delay(postdict,b)
- return JsonResponse({"code":1})
+ send_wechatmsgs.delay(postdict, b)
+ return JsonResponse({"code": 1})
def adddrill(req):
userid = req.session['userid']
companyid = getcompany(userid)
- a=Drill()
- a.drillname=req.POST.get('drillname')
- a.drillplace=req.POST.get('drillplace')
- a.starttime=req.POST.get('starttime')
- a.usecomp=Partment.objects.get(partid=companyid)
- a.drilllevel=Dicclass.objects.get(dicid=req.POST.get('drilllevel'))
- a.drillcontent=Dickey.objects.get(dickeyid=req.POST.get('drillcontent'))
- a.drilltype=Dickey.objects.get(dickeyid=req.POST.get('drilltype'))
- a.detailcontent=req.POST.get('detailcontent')
+ a = Drill()
+ a.drillname = req.POST.get('drillname')
+ a.drillplace = req.POST.get('drillplace')
+ a.starttime = req.POST.get('starttime')
+ a.usecomp = Partment.objects.get(partid=companyid)
+ a.drilllevel = Dicclass.objects.get(dicid=req.POST.get('drilllevel'))
+ a.drillcontent = Dickey.objects.get(dickeyid=req.POST.get('drillcontent'))
+ a.drilltype = Dickey.objects.get(dickeyid=req.POST.get('drilltype'))
+ a.detailcontent = req.POST.get('detailcontent')
if req.POST.get('chief'):
- a.chief=User.objects.get(userid=req.POST.get('chief'))
- a.state=0
- a.participantnum=req.POST.get('participantnum')
- a.submituser=User.objects.get(userid=userid)
- a.drillnum='YL'+time.strftime('%Y%m%d%H%M%S')
+ a.chief = User.objects.get(userid=req.POST.get('chief'))
+ a.state = 0
+ a.participantnum = req.POST.get('participantnum')
+ a.submituser = User.objects.get(userid=userid)
+ a.drillnum = 'YL'+time.strftime('%Y%m%d%H%M%S')
a.save()
- plist=req.POST.getlist('drillpart')
+ plist = req.POST.getlist('drillpart')
ustr = req.POST.get('participant')
- ulist=ustr.split(',')
- b=[]
+ ulist = ustr.split(',')
+ b = []
for i in ulist:
- x=User.objects.get(userid=i)
- m = Drilluser(drillid=a,participant=x)
+ x = User.objects.get(userid=i)
+ m = Drilluser(drillid=a, participant=x)
m.save()
b.append(x.openid)
for i in plist:
a.drillpart.add(Partment.objects.get(partid=i))
- postdict={
- 'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc',
- 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
- 'data':{
- 'first':{
- 'value':a.drilllevel.dicname + '演练通知:'
+ postdict = {
+ 'touser': 'oPGqkweX75QtLmgehUN-ipR4hcyc',
+ 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
+ 'data': {
+ 'first': {
+ 'value': a.drilllevel.dicname + '演练通知:'
},
- 'keyword1':{
- 'value':a.drillname
+ 'keyword1': {
+ 'value': a.drillname
},
- 'keyword2':{
- 'value':a.starttime
+ 'keyword2': {
+ 'value': a.starttime
},
- 'keyword3':{
- 'value':a.drillplace
+ 'keyword3': {
+ 'value': a.drillplace
},
- 'remark':{
- 'value':a.chief.name+'为总指挥,请务必参加!'
+ 'remark': {
+ 'value': a.chief.name+'为总指挥,请务必参加!'
}
}
}
- send_wechatmsgs.delay(postdict,b)
- return JsonResponse({"code":1})
+ send_wechatmsgs.delay(postdict, b)
+ return JsonResponse({"code": 1})
+
def accesstrain(req):
- userid=req.session.get('userid')
+ userid = req.session.get('userid')
trainid = req.GET.get('trainid')
detailcontent = req.POST.get('detailcontent')
pxxg = req.POST.get('pxxg')
knownum = req.POST.get('knownum')
- duration=req.POST.get('duration')
+ duration = req.POST.get('duration')
upfile = req.POST.get('upfile')
- a=Train.objects.filter(trainid=trainid)
- a.update(detailcontent=detailcontent,knownum=knownum,material=upfile,state=1,duration=duration,pxxg=pxxg)
+ a = Train.objects.filter(trainid=trainid)
+ a.update(detailcontent=detailcontent, knownum=knownum,
+ material=upfile, state=1, duration=duration, pxxg=pxxg)
companyid = getcompany(userid)
- #绑定考试
+ # 绑定考试
if req.POST.get('examtest'):
a.update(examtest=ExamTest.objects.get(id=req.POST.get('examtest')))
for i in Trainuser.objects.filter(train__trainid=trainid):
- objs = ExamTestDetail.objects.filter(examtest__id=req.POST.get('examtest'),user=i.participant)
+ objs = ExamTestDetail.objects.filter(
+ examtest__id=req.POST.get('examtest'), user=i.participant)
if objs.exists():
i.examtestdetail = objs[0]
i.save()
yjjs_px.delay(companyid)
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
+
def accessdrill(req):
drillid = req.GET.get('drillid')
@@ -1520,117 +1684,126 @@ def accessdrill(req):
participantnum = req.POST.get('participantnum')
knownum = req.POST.get('knownum')
upfile = req.POST.get('upfile')
- a=Drill.objects.filter(drillid=drillid)
- a.update(detailcontent=detailcontent,participantnum=participantnum,knownum=knownum,material=upfile,state=1)
+ a = Drill.objects.filter(drillid=drillid)
+ a.update(detailcontent=detailcontent, participantnum=participantnum,
+ knownum=knownum, material=upfile, state=1)
if req.POST.get('participant'):
a[0].participant.clear()
ustr = req.POST.get('participant')
- ulist=ustr.split(',')
+ ulist = ustr.split(',')
for i in ulist:
- x=User.objects.get(userid=i)
- m = Drilluser(drillid=a[0],participant=x)
+ x = User.objects.get(userid=i)
+ m = Drilluser(drillid=a[0], participant=x)
m.save()
- userid=req.session.get('userid')
+ userid = req.session.get('userid')
companyid = getcompany(userid)
yjjs_yl.delay(companyid)
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
+
def grouphandle(req):
- if req.GET.get('a')=='addgrouph':
- return render(req,'abgroup.html')
- elif req.GET.get('a')=='delgroup':
+ if req.GET.get('a') == 'addgrouph':
+ return render(req, 'abgroup.html')
+ elif req.GET.get('a') == 'delgroup':
userid = req.session['userid']
a = Group.objects.get(groupid=req.GET.get('groupid'))
- if User.objects.get(userid = userid).issuper == 1 and a.grouptype not in [1,2,3]:
- groupid=req.GET.get('groupid')
+ if User.objects.get(userid=userid).issuper == 1 and a.grouptype not in [1, 2, 3]:
+ groupid = req.GET.get('groupid')
Group.objects.filter(groupid=groupid).delete()
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
else:
- return JsonResponse({"code":0})
- elif req.GET.get('a')=='removeuser':
- groupid=req.GET.get('groupid')
- userid=req.GET.get('userid')
+ return JsonResponse({"code": 0})
+ elif req.GET.get('a') == 'removeuser':
+ groupid = req.GET.get('groupid')
+ userid = req.GET.get('userid')
useridx = req.session['userid']
if User.objects.get(userid=useridx).issuper == 1:
a = Group.objects.get(groupid=groupid)
a.users.remove(User.objects.get(userid=userid))
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
else:
- return JsonResponse({"code":0})
- elif req.GET.get('a') =='addguser':
- groupid=req.GET.get('groupid')
+ return JsonResponse({"code": 0})
+ elif req.GET.get('a') == 'addguser':
+ groupid = req.GET.get('groupid')
users = req.POST.get('users').split(',')
a = Group.objects.get(groupid=groupid)
for i in users:
if User.objects.get(userid=int(i)) not in a.users.all():
a.users.add(User.objects.get(userid=int(i)))
- return JsonResponse({"code":1})
- elif req.GET.get('a') =='list':
+ return JsonResponse({"code": 1})
+ elif req.GET.get('a') == 'list':
userid = req.session['userid']
companyid = getcompany(userid)
- a=Group.objects.filter(usecomp__partid = companyid).exclude(grouptype=0).values('groupid','groupname','grouptype')
- total=a.count()
- return HttpResponse(transjson(total,a),content_type="application/json")
- elif req.GET.get('a') =='list2':#排除全体用户组
+ a = Group.objects.filter(usecomp__partid=companyid).exclude(
+ grouptype=0).values('groupid', 'groupname', 'grouptype')
+ total = a.count()
+ return HttpResponse(transjson(total, a), content_type="application/json")
+ elif req.GET.get('a') == 'list2': # 排除全体用户组
userid = req.session['userid']
companyid = getcompany(userid)
- a=Group.objects.filter(usecomp__partid = companyid).exclude(grouptype=0).exclude(grouptype=3).values('groupid','groupname','grouptype')
- total=a.count()
- return HttpResponse(transjson(total,a),content_type="application/json")
- elif req.GET.get('a') =='combobox':
+ a = Group.objects.filter(usecomp__partid=companyid).exclude(
+ grouptype=0).exclude(grouptype=3).values('groupid', 'groupname', 'grouptype')
+ total = a.count()
+ return HttpResponse(transjson(total, a), content_type="application/json")
+ elif req.GET.get('a') == 'combobox':
userid = req.session['userid']
companyid = getcompany(userid)
- a = Group.objects.filter(usecomp__partid = companyid).exclude(grouptype=0).values('groupid','groupname')
- keystr=transstr(a,'groupid','groupname')
- return HttpResponse(keystr,content_type="application/json")
+ a = Group.objects.filter(usecomp__partid=companyid).exclude(
+ grouptype=0).values('groupid', 'groupname')
+ keystr = transstr(a, 'groupid', 'groupname')
+ return HttpResponse(keystr, content_type="application/json")
elif req.method == 'POST':
data = json.loads(req.body.decode('utf-8'))
userid = req.session['userid']
companyid = getcompany(userid)
- if data['groupid'] =='':
+ if data['groupid'] == '':
a = Group()
a.groupname = data['groupname']
a.usecomp = Partment.objects.get(partid=companyid)
a.save()
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
else:
- return JsonResponse({"code":0})
+ return JsonResponse({"code": 0})
+
def troublehandle(req):
a = req.GET.get('a')
if a == 'detail':
troubleid = req.GET.get('troubleid')
a = Trouble.objects.filter(troubleid=troubleid)
- x = a.values('yhnum','fxr__name','yhms','yhzt','fxsj','tbsj','yhlb__dickeyname','yhpg__dickeyname','yhdd','fxbm__partname','yhdj__dickeyname','yhpg__dickeyname',
- 'jclx__dickeyname','yhlx__dicname','yyfx','zgcs','yhtp','zghtp','zgms','zgbm__partname','zgr__name','zgqx','yhqy__name')[0]
- b = TroubleAccess.objects.filter(troubleid=a[0]).order_by('accesssj').values('clr__name','opinion','action','accesssj')
+ x = a.values('yhnum', 'fxr__name', 'yhms', 'yhzt', 'fxsj', 'tbsj', 'yhlb__dickeyname', 'yhpg__dickeyname', 'yhdd', 'fxbm__partname', 'yhdj__dickeyname', 'yhpg__dickeyname',
+ 'jclx__dickeyname', 'yhlx__dicname', 'yyfx', 'zgcs', 'yhtp', 'zghtp', 'zgms', 'zgbm__partname', 'zgr__name', 'zgqx', 'yhqy__name')[0]
+ b = TroubleAccess.objects.filter(troubleid=a[0]).order_by(
+ 'accesssj').values('clr__name', 'opinion', 'action', 'accesssj')
x['lcxq'] = list(b)
- if x['yhtp']!='':
+ if x['yhtp'] != '':
x['yhtp'] = x['yhtp'].split('?')
else:
- x['yhtp']==[]
- if x['zghtp']!='':
- x['zghtp']= x['zghtp'].split('?')
+ x['yhtp'] == []
+ if x['zghtp'] != '':
+ x['zghtp'] = x['zghtp'].split('?')
else:
- x['zghtp']==[]
+ x['zghtp'] == []
for key in x:
if x[key] == None:
x[key] = ''
- return HttpResponse(json.dumps(x,cls=MyEncoder),content_type="application/json")
+ return HttpResponse(json.dumps(x, cls=MyEncoder), content_type="application/json")
elif a == 'detailhtml':
troubleid = req.GET.get('troubleid')
- return render(req,'troubledetail.html',{'troubleid':troubleid})
+ return render(req, 'troubledetail.html', {'troubleid': troubleid})
elif a == 'todonum':
- todonum = Trouble.objects.filter(todouser=User.objects.get(userid=req.session['userid'])).exclude(deletemark=0).count()
- return JsonResponse({'code':1,'todonum':todonum})
+ todonum = Trouble.objects.filter(todouser=User.objects.get(
+ userid=req.session['userid'])).exclude(deletemark=0).count()
+ return JsonResponse({'code': 1, 'todonum': todonum})
elif a == 'exportword':
troubleid = req.GET.get('troubleid')
- v = exportdoc('yh',troubleid)
- return JsonResponse({"code":1,'downloadurl':v})
- elif a=='exportexcel':
+ v = exportdoc('yh', troubleid)
+ return JsonResponse({"code": 1, 'downloadurl': v})
+ elif a == 'exportexcel':
userid = req.session['userid']
companyid = getcompany(userid)
- a = Trouble.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1)
+ a = Trouble.objects.filter(
+ usecomp=Partment.objects.get(partid=companyid), deletemark=1)
yhzt = req.GET.get('yhzt')
yhlx = req.GET.get('yhlx')
yhlb = req.GET.get('yhlb')
@@ -1640,7 +1813,7 @@ def troublehandle(req):
fxr = req.GET.get('fxr')
qssj = req.GET.get('qssj')
jssj = req.GET.get('jssj')
- if yhzt !='' and yhzt != None:
+ if yhzt != '' and yhzt != None:
a = a.filter(yhzt=yhzt)
if yhlx:
a = a.filter(yhlx__dicid=yhlx)
@@ -1654,56 +1827,64 @@ def troublehandle(req):
if fxr:
a = a.filter(fxr__userid=fxr)
elif fxbm:
- parts = Partment.objects.filter(partlink__contains=','+str(fxbm)+',')|Partment.objects.filter(partid=fxbm)
+ parts = Partment.objects.filter(
+ partlink__contains=','+str(fxbm)+',') | Partment.objects.filter(partid=fxbm)
a = a.filter(fxbm__in=parts)
if qssj:
a = a.filter(fxsj__gte=qssj)
if jssj:
a = a.filter(fxsj__lte=jssj)
- res = exportxlsx('yh',a)
+ res = exportxlsx('yh', a)
return res
- elif a=='del':
+ elif a == 'del':
userid = req.session['userid']
- if User.objects.get(userid = userid).issuper == 1:
- a = Trouble.objects.get(troubleid = req.POST.get('troubleid'))
- a.deletemark=0
+ if User.objects.get(userid=userid).issuper == 1:
+ a = Trouble.objects.get(troubleid=req.POST.get('troubleid'))
+ a.deletemark = 0
a.save()
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
else:
- a = Trouble.objects.get(troubleid = req.POST.get('troubleid'))
- b = TroubleAccess.objects.filter(troubleid__troubleid=req.POST.get('troubleid')).count()
- if b == 1 and a.fxr.userid==userid:
- a.deletemark=0
+ a = Trouble.objects.get(troubleid=req.POST.get('troubleid'))
+ b = TroubleAccess.objects.filter(
+ troubleid__troubleid=req.POST.get('troubleid')).count()
+ if b == 1 and a.fxr.userid == userid:
+ a.deletemark = 0
a.save()
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
else:
- return JsonResponse({"code":0})
- elif a=='listtodo':
+ return JsonResponse({"code": 0})
+ elif a == 'listtodo':
userid = req.session['userid']
- a = Trouble.objects.filter(todouser=User.objects.get(userid=userid)).exclude(deletemark=0)
+ a = Trouble.objects.filter(todouser=User.objects.get(
+ userid=userid)).exclude(deletemark=0)
total = a.count()
- startnum,endnum=fenye(req)
- obj = a.order_by('-xgsj')[startnum:endnum].values('troubleid','fxr__userid','fxr__name','yhms','yhzt','fxsj','tbsj','yhlb__dickeyname','todouser__name','todouser__userid','yhpg__dickeyname','yhnum','yhdj__dickeyname','shresult','zgqx')
- return HttpResponse(transjson(total,obj),content_type="application/json")
- elif a=='listself':
+ startnum, endnum = fenye(req)
+ obj = a.order_by('-xgsj')[startnum:endnum].values('troubleid', 'fxr__userid', 'fxr__name', 'yhms', 'yhzt', 'fxsj', 'tbsj',
+ 'yhlb__dickeyname', 'todouser__name', 'todouser__userid', 'yhpg__dickeyname', 'yhnum', 'yhdj__dickeyname', 'shresult', 'zgqx')
+ return HttpResponse(transjson(total, obj), content_type="application/json")
+ elif a == 'listself':
userid = req.session['userid']
- a=Trouble.objects.filter(fxr__userid=userid).exclude(deletemark=0)
+ a = Trouble.objects.filter(fxr__userid=userid).exclude(deletemark=0)
total = a.count()
- startnum,endnum=fenye(req)
- obj = a.order_by('-xgsj')[startnum:endnum].values('troubleid','fxr__userid','fxr__name','yhms','yhzt','fxsj','tbsj','yhlb__dickeyname','todouser__name','todouser__userid','yhpg__dickeyname','yhnum','yhdj__dickeyname','shresult','zgqx')
- return HttpResponse(transjson(total,obj),content_type="application/json")
- elif a=='listall':
+ startnum, endnum = fenye(req)
+ obj = a.order_by('-xgsj')[startnum:endnum].values('troubleid', 'fxr__userid', 'fxr__name', 'yhms', 'yhzt', 'fxsj', 'tbsj',
+ 'yhlb__dickeyname', 'todouser__name', 'todouser__userid', 'yhpg__dickeyname', 'yhnum', 'yhdj__dickeyname', 'shresult', 'zgqx')
+ return HttpResponse(transjson(total, obj), content_type="application/json")
+ elif a == 'listall':
userid = req.session['userid']
companyid = getcompany(userid)
- a=Trouble.objects.filter(usecomp=Partment.objects.get(partid=companyid)).exclude(deletemark=0)
+ a = Trouble.objects.filter(usecomp=Partment.objects.get(
+ partid=companyid)).exclude(deletemark=0)
total = a.count()
- startnum,endnum=fenye(req)
- obj = a.order_by('-xgsj')[startnum:endnum].values('troubleid','fxr__userid','fxr__name','yhms','yhzt','fxsj','tbsj','yhlb__dickeyname','todouser__name','todouser__userid','yhpg__dickeyname','yhnum','yhdj__dickeyname','shresult','zgqx')
- return HttpResponse(transjson(total,obj),content_type="application/json")
+ startnum, endnum = fenye(req)
+ obj = a.order_by('-xgsj')[startnum:endnum].values('troubleid', 'fxr__userid', 'fxr__name', 'yhms', 'yhzt', 'fxsj', 'tbsj',
+ 'yhlb__dickeyname', 'todouser__name', 'todouser__userid', 'yhpg__dickeyname', 'yhnum', 'yhdj__dickeyname', 'shresult', 'zgqx')
+ return HttpResponse(transjson(total, obj), content_type="application/json")
elif a == 'listsearch':
userid = req.session['userid']
companyid = getcompany(userid)
- a = Trouble.objects.filter(usecomp=Partment.objects.get(partid=companyid)).exclude(deletemark=0)
+ a = Trouble.objects.filter(usecomp=Partment.objects.get(
+ partid=companyid)).exclude(deletemark=0)
yhzt = req.GET.get('yhzt')
yhlx = req.GET.get('yhlx')
yhlb = req.GET.get('yhlb')
@@ -1715,7 +1896,7 @@ def troublehandle(req):
jssj = req.GET.get('jssj')
yhqy = req.GET.get('yhqy')
zgbm = req.GET.get('zgbm')
- if yhzt !='' and yhzt != None:
+ if yhzt != '' and yhzt != None:
a = a.filter(yhzt=yhzt)
if yhlx:
a = a.filter(yhlx__dicid=yhlx)
@@ -1729,60 +1910,69 @@ def troublehandle(req):
if fxr:
a = a.filter(fxr__userid=fxr)
elif fxbm:
- parts = Partment.objects.filter(partlink__contains=','+str(fxbm)+',')|Partment.objects.filter(partid=fxbm)
+ parts = Partment.objects.filter(
+ partlink__contains=','+str(fxbm)+',') | Partment.objects.filter(partid=fxbm)
a = a.filter(fxbm__in=parts)
if qssj:
a = a.filter(fxsj__gte=qssj)
if jssj:
a = a.filter(fxsj__lte=jssj)
if yhqy:
- a = a.filter(yhqy__id = yhqy)
+ a = a.filter(yhqy__id=yhqy)
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))
+ 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))
total = a.count()
- startnum,endnum=fenye(req)
- obj = a.order_by('-fxsj')[startnum:endnum].values('troubleid','fxr__userid','fxr__name','yhms','yhzt','fxsj','tbsj','yhlb__dickeyname','todouser__name','yhpg__dickeyname','yhnum','yhdj__dickeyname','shresult','zgqx','yhtp','zghtp','todouser__userid')
- return HttpResponse(transjson(total,obj),content_type="application/json")
+ startnum, endnum = fenye(req)
+ obj = a.order_by('-fxsj')[startnum:endnum].values('troubleid', 'fxr__userid', 'fxr__name', 'yhms', 'yhzt', 'fxsj', 'tbsj', 'yhlb__dickeyname',
+ 'todouser__name', 'yhpg__dickeyname', 'yhnum', 'yhdj__dickeyname', 'shresult', 'zgqx', 'yhtp', 'zghtp', 'todouser__userid')
+ return HttpResponse(transjson(total, obj), content_type="application/json")
elif a == 'listarea':
userid = req.session['userid']
companyid = getcompany(userid)
- a = Trouble.objects.filter(usecomp__partid=companyid,deletemark=1).exclude(yhzt=6)
+ a = Trouble.objects.filter(
+ usecomp__partid=companyid, deletemark=1).exclude(yhzt=6)
yhqy = req.GET.get('yhqy')
if yhqy:
- a = a.filter(yhqy__id = yhqy)
+ a = a.filter(yhqy__id=yhqy)
total = a.count()
- startnum,endnum=fenye(req)
- obj = a.order_by('-xgsj')[startnum:endnum].values('troubleid','fxr__userid','fxr__name','yhms','yhzt','fxsj','tbsj','yhlb__dickeyname','todouser__name','yhpg__dickeyname','yhnum','yhdj__dickeyname','shresult','zgqx','yhtp','zghtp')
- return HttpResponse(transjson(total,obj),content_type="application/json")
+ startnum, endnum = fenye(req)
+ obj = a.order_by('-xgsj')[startnum:endnum].values('troubleid', 'fxr__userid', 'fxr__name', 'yhms', 'yhzt', 'fxsj', 'tbsj',
+ 'yhlb__dickeyname', 'todouser__name', 'yhpg__dickeyname', 'yhnum', 'yhdj__dickeyname', 'shresult', 'zgqx', 'yhtp', 'zghtp')
+ return HttpResponse(transjson(total, obj), content_type="application/json")
+
+# 图表查询
-#图表查询
def charthandle(req):
userid = req.session['userid']
companyid = getcompany(userid)
- if req.GET.get('a')=='yjycqst':
- yjyc_vl = Yjyc.objects.filter(usecomp__partid=companyid).order_by('-buildtime')[:12].values('year','month','yjz','ycz')
- return HttpResponse(transjson(yjyc_vl.count(),yjyc_vl),content_type="application/json")
- elif req.GET.get('a')=='yjycz':
+ if req.GET.get('a') == 'yjycqst':
+ yjyc_vl = Yjyc.objects.filter(usecomp__partid=companyid).order_by(
+ '-buildtime')[:12].values('year', 'month', 'yjz', 'ycz')
+ return HttpResponse(transjson(yjyc_vl.count(), yjyc_vl), content_type="application/json")
+ elif req.GET.get('a') == 'yjycz':
year = int(req.GET.get('year'))
month = int(req.GET.get('month'))
- objs = Yjyc.objects.filter(usecomp__partid=companyid,year=year,month=month)
+ objs = Yjyc.objects.filter(
+ usecomp__partid=companyid, year=year, month=month)
if objs.exists():
nowyjz = objs[0].yjz
nowycz = objs[0].ycz
- return JsonResponse({'code':1,'yjz':nowyjz,'ycz':nowycz})
+ return JsonResponse({'code': 1, 'yjz': nowyjz, 'ycz': nowycz})
else:
- return JsonResponse({'code':0})
- elif req.GET.get('a')=='yjycznow':
- first_day,first_day_of_next_month=gettime()
+ return JsonResponse({'code': 0})
+ elif req.GET.get('a') == 'yjycznow':
+ first_day, first_day_of_next_month = gettime()
year = first_day.year
month = first_day.month
- a = Yjyc.objects.get_or_create(usecomp__partid=companyid,year=year,month=month,defaults={'usecomp':Partment.objects.get(partid=companyid) ,'year':year,'month':month})[0]
+ a = Yjyc.objects.get_or_create(usecomp__partid=companyid, year=year, month=month, defaults={
+ 'usecomp': Partment.objects.get(partid=companyid), 'year': year, 'month': month})[0]
nowyjz = a.yjz
nowycz = a.ycz
- return JsonResponse({'code':1,'yjz':nowyjz,'ycz':nowycz})
- elif req.GET.get('a')=='yhlbt':#隐患类别图
+ return JsonResponse({'code': 1, 'yjz': nowyjz, 'ycz': nowycz})
+ elif req.GET.get('a') == 'yhlbt': # 隐患类别图
if req.GET.get('year'):
year = int(req.GET.get('year'))
month = int(req.GET.get('month'))
@@ -1790,38 +1980,45 @@ def charthandle(req):
partid = req.GET.get('part')
else:
partid = companyid
- first_day,first_day_of_next_month = gettime(datetime(year,month,1))
+ first_day, first_day_of_next_month = gettime(
+ datetime(year, month, 1))
children = []
- a = Trouble.objects.filter(deletemark=1).filter(Q(fxbm=partid) | Q(fxbm__partlink__contains=',' + str(partid) + ','))
+ a = Trouble.objects.filter(deletemark=1).filter(
+ Q(fxbm=partid) | Q(fxbm__partlink__contains=',' + str(partid) + ','))
for i in Dickey.objects.filter(dicparent__dicid=16):
- y = a.filter(yhlb=i,fxsj__range=(first_day, first_day_of_next_month)).count()
- children.append({'name':i.dickeyname,'value':y})
- children2= []
+ y = a.filter(yhlb=i, fxsj__range=(
+ first_day, first_day_of_next_month)).count()
+ children.append({'name': i.dickeyname, 'value': y})
+ children2 = []
for i in Dickey.objects.filter(dicparent__dicid=17):
- y = a.filter(yhlb=i,fxsj__range=(first_day, first_day_of_next_month)).count()
- children2.append({'name':i.dickeyname,'value':y})
- value=[{'name':'现场管理','children':children},{'name':'基础管理','children':children2}]
- return JsonResponse({'code':1,'value':value})
+ y = a.filter(yhlb=i, fxsj__range=(
+ first_day, first_day_of_next_month)).count()
+ children2.append({'name': i.dickeyname, 'value': y})
+ value = [{'name': '现场管理', 'children': children},
+ {'name': '基础管理', 'children': children2}]
+ return JsonResponse({'code': 1, 'value': value})
else:
children = []
- a = Trouble.objects.filter(usecomp__partid=companyid,deletemark=1)
+ a = Trouble.objects.filter(usecomp__partid=companyid, deletemark=1)
if req.GET.get('qssj'):
a = a.filter(fxsj__gte=req.GET.get('qssj'))
if req.GET.get('jssj'):
a = a.filter(fxsj__lte=req.GET.get('jssj'))
if req.GET.get('fxbm'):
- parts = Partment.objects.filter(partlink__contains=',' + req.GET.get('fxbm') + ',')|Partment.objects.filter(partid=req.GET.get('fxbm'))
+ parts = Partment.objects.filter(partlink__contains=',' + req.GET.get(
+ 'fxbm') + ',') | Partment.objects.filter(partid=req.GET.get('fxbm'))
a = a.filter(fxbm__in=parts)
for i in Dickey.objects.filter(dicparent__dicid=16):
y = a.filter(yhlb=i).count()
- children.append({'name':i.dickeyname,'value':y})
- children2= []
+ children.append({'name': i.dickeyname, 'value': y})
+ children2 = []
for i in Dickey.objects.filter(dicparent__dicid=17):
y = a.filter(yhlb=i).count()
- children2.append({'name':i.dickeyname,'value':y})
- value=[{'name':'现场管理','children':children},{'name':'基础管理','children':children2}]
- return JsonResponse({'code':1,'value':value})
- elif req.GET.get('a')=='yhpgt':
+ children2.append({'name': i.dickeyname, 'value': y})
+ value = [{'name': '现场管理', 'children': children},
+ {'name': '基础管理', 'children': children2}]
+ return JsonResponse({'code': 1, 'value': value})
+ elif req.GET.get('a') == 'yhpgt':
if req.GET.get('year'):
year = int(req.GET.get('year'))
month = int(req.GET.get('month'))
@@ -1829,158 +2026,177 @@ def charthandle(req):
partid = req.GET.get('part')
else:
partid = companyid
- parts = Partment.objects.filter(Q(partid=partid) | Q(partlink__contains=',' + str(partid) + ','))
- a = Trouble.objects.filter(deletemark=1,fxbm__in=parts)
- value=[]
- key=[]
- first_day,first_day_of_next_month = gettime(datetime(year,month,1))
+ parts = Partment.objects.filter(Q(partid=partid) | Q(
+ partlink__contains=',' + str(partid) + ','))
+ a = Trouble.objects.filter(deletemark=1, fxbm__in=parts)
+ value = []
+ key = []
+ first_day, first_day_of_next_month = gettime(
+ datetime(year, month, 1))
for i in Dickey.objects.filter(dicparent__dicid=19):
x = i.dickeyname
- y = a.filter(yhpg=i,fxsj__range=(first_day, first_day_of_next_month)).count()
+ y = a.filter(yhpg=i, fxsj__range=(
+ first_day, first_day_of_next_month)).count()
key.append(x)
- value.append({'value':y,'name':x})
- return JsonResponse({'code':1,'key':key,'value':value})
+ value.append({'value': y, 'name': x})
+ return JsonResponse({'code': 1, 'key': key, 'value': value})
else:
- a = Trouble.objects.filter(usecomp__partid=companyid,deletemark=1)
+ a = Trouble.objects.filter(usecomp__partid=companyid, deletemark=1)
if req.GET.get('qssj'):
a = a.filter(fxsj__gte=req.GET.get('qssj'))
if req.GET.get('jssj'):
a = a.filter(fxsj__lte=req.GET.get('jssj'))
if req.GET.get('fxbm'):
- parts = Partment.objects.filter(partlink__contains=',' + req.GET.get('fxbm') + ',')|Partment.objects.filter(partid=req.GET.get('fxbm'))
+ parts = Partment.objects.filter(partlink__contains=',' + req.GET.get(
+ 'fxbm') + ',') | Partment.objects.filter(partid=req.GET.get('fxbm'))
a = a.filter(fxbm__in=parts)
- value=[]
- key=[]
+ value = []
+ key = []
for i in Dickey.objects.filter(dicparent__dicid=19):
x = i.dickeyname
y = a.filter(yhpg=i).count()
key.append(x)
- value.append({'value':y,'name':x})
- return JsonResponse({'code':1,'key':key,'value':value})
- elif req.GET.get('a')=='pxjbt':
+ value.append({'value': y, 'name': x})
+ return JsonResponse({'code': 1, 'key': key, 'value': value})
+ elif req.GET.get('a') == 'pxjbt':
year = int(req.GET.get('year'))
month = int(req.GET.get('month'))
if req.GET.get('part'):
partid = req.GET.get('part')
else:
partid = companyid
- parts = Partment.objects.filter(Q(partid=partid) | Q(partlink__contains=',' + str(partid) + ','))
- first_day,first_day_of_next_month = gettime(datetime(year,month,1))
- a = Train.objects.filter(deletemark=1,trainpart__in=parts,state=1)
- value=[]
- key=[]
+ parts = Partment.objects.filter(Q(partid=partid) | Q(
+ partlink__contains=',' + str(partid) + ','))
+ first_day, first_day_of_next_month = gettime(datetime(year, month, 1))
+ a = Train.objects.filter(deletemark=1, trainpart__in=parts, state=1)
+ value = []
+ key = []
for i in Dicclass.objects.filter(parentid__dicid=4):
x = i.dicname
- y = a.filter(trainlevel=i,starttime__range=(first_day, first_day_of_next_month)).count()
+ y = a.filter(trainlevel=i, starttime__range=(
+ first_day, first_day_of_next_month)).count()
key.append(x)
- value.append({'value':y,'name':x})
- return JsonResponse({'code':1,'key':key,'value':value})
- elif req.GET.get('a')=='yllxt':#演练类型饼图
+ value.append({'value': y, 'name': x})
+ return JsonResponse({'code': 1, 'key': key, 'value': value})
+ elif req.GET.get('a') == 'yllxt': # 演练类型饼图
year = int(req.GET.get('year'))
month = int(req.GET.get('month'))
if req.GET.get('part'):
partid = req.GET.get('part')
else:
partid = companyid
- parts = Partment.objects.filter(Q(partid=partid) | Q(partlink__contains=',' + str(partid) + ','))
- first_day,first_day_of_next_month = gettime(datetime(year,month,1))
- a = Drill.objects.filter(drillpart__in=parts,deletemark=1,state=1)
- value=[]
- key=[]
+ parts = Partment.objects.filter(Q(partid=partid) | Q(
+ partlink__contains=',' + str(partid) + ','))
+ first_day, first_day_of_next_month = gettime(datetime(year, month, 1))
+ a = Drill.objects.filter(drillpart__in=parts, deletemark=1, state=1)
+ value = []
+ key = []
for i in Dickey.objects.filter(dicparent__dicid=12):
x = i.dickeyname
- y = a.filter(drilltype=i,starttime__range=(first_day, first_day_of_next_month)).count()
+ y = a.filter(drilltype=i, starttime__range=(
+ first_day, first_day_of_next_month)).count()
key.append(x)
- value.append({'value':y,'name':x})
- return JsonResponse({'code':1,'key':key,'value':value})
- elif req.GET.get('a')=='yjb':#某月各预警指数表
+ value.append({'value': y, 'name': x})
+ return JsonResponse({'code': 1, 'key': key, 'value': value})
+ elif req.GET.get('a') == 'yjb': # 某月各预警指数表
year = int(req.GET.get('year'))
month = int(req.GET.get('month'))
- a = Yjyc.objects.filter(usecomp__partid=companyid,year=year,month=month)
- data = a.values('drillvalue','trainvalue','troublevalue','observevalue','missvalue','yjz')[0]
- return JsonResponse({'code':1,'data':[{'name':'预警值','score':data.pop('yjz')},{'name':'事故隐患','score':data.pop('troublevalue')},{'name':'教育培训','score':data.pop('trainvalue')},{'name':'应急演练','score':data.pop('drillvalue')},{'name':'行为观察','score':data.pop('observevalue')},{'name':'未遂事件','score':data.pop('missvalue')}]})
- elif req.GET.get('a')=='yjhbfx':#预警环比分析
+ a = Yjyc.objects.filter(
+ usecomp__partid=companyid, year=year, month=month)
+ data = a.values('drillvalue', 'trainvalue', 'troublevalue',
+ 'observevalue', 'missvalue', 'yjz')[0]
+ return JsonResponse({'code': 1, 'data': [{'name': '预警值', 'score': data.pop('yjz')}, {'name': '事故隐患', 'score': data.pop('troublevalue')}, {'name': '教育培训', 'score': data.pop('trainvalue')}, {'name': '应急演练', 'score': data.pop('drillvalue')}, {'name': '行为观察', 'score': data.pop('observevalue')}, {'name': '未遂事件', 'score': data.pop('missvalue')}]})
+ elif req.GET.get('a') == 'yjhbfx': # 预警环比分析
year = int(req.GET.get('year'))
month = int(req.GET.get('month'))
- if month-1<1:
- bmonth=12
- byear=year-1
+ if month-1 < 1:
+ bmonth = 12
+ byear = year-1
else:
- bmonth =month-1
- byear=year
+ bmonth = month-1
+ byear = year
a = Yjyc.objects.filter(usecomp__partid=companyid)
- data={}
- nmonthyjz = a.filter(year=year,month=month)[0].yjz
- bmonthyjz = a.filter(year=byear,month=bmonth)[0].yjz
- return JsonResponse({'code':1,'data':[{'month':month,'yjz':nmonthyjz},{'month':bmonth,'yjz':bmonthyjz}]})
- elif req.GET.get('a')=='yhfxbmb':#隐患发现部门分布表
+ data = {}
+ nmonthyjz = a.filter(year=year, month=month)[0].yjz
+ bmonthyjz = a.filter(year=byear, month=bmonth)[0].yjz
+ return JsonResponse({'code': 1, 'data': [{'month': month, 'yjz': nmonthyjz}, {'month': bmonth, 'yjz': bmonthyjz}]})
+ elif req.GET.get('a') == 'yhfxbmb': # 隐患发现部门分布表
year = int(req.GET.get('year'))
month = int(req.GET.get('month'))
if req.GET.get('part'):
partid = req.GET.get('part')
else:
partid = companyid
- first_day,first_day_of_next_month = gettime(datetime(year,month,1))
- alist=[]
+ first_day, first_day_of_next_month = gettime(datetime(year, month, 1))
+ alist = []
for i in (Partment.objects.filter(Q(partid=partid) | Q(parentid__partid=partid))).order_by('partid'):
objs = Trouble.objects.filter(deletemark=1)
- x=(objs.filter(fxbm=i)|objs.filter(fxbm__partlink__contains=','+str(i.partid)+',')).filter(fxsj__range=(first_day, first_day_of_next_month))
- a=x.count()
- b=i.partname
- c=x.exclude (yhzt=6).count()
- alist.append({'partname':b,'yhnum':a,'nonum':c})
- return JsonResponse({'code':1,'data':alist})
- elif req.GET.get('a')=='pxbmb':#培训部门分布表
+ x = (objs.filter(fxbm=i) | objs.filter(fxbm__partlink__contains=',' +
+ str(i.partid)+',')).filter(fxsj__range=(first_day, first_day_of_next_month))
+ a = x.count()
+ b = i.partname
+ c = x.exclude(yhzt=6).count()
+ alist.append({'partname': b, 'yhnum': a, 'nonum': c})
+ return JsonResponse({'code': 1, 'data': alist})
+ elif req.GET.get('a') == 'pxbmb': # 培训部门分布表
year = int(req.GET.get('year'))
month = int(req.GET.get('month'))
- first_day,first_day_of_next_month = gettime(datetime(year,month,1))
- alist=[]
+ first_day, first_day_of_next_month = gettime(datetime(year, month, 1))
+ alist = []
if req.GET.get('part'):
partid = req.GET.get('part')
else:
partid = companyid
for i in Partment.objects.filter(Q(partid=partid) | Q(parentid__partid=partid)).order_by('partid'):
- x=Train.objects.filter(trainpart=i,state=1,deletemark=1,starttime__range=(first_day, first_day_of_next_month))
- b=i.partname
- c=x.count()
- d=x.filter(trainlevel__dicid=5).count()
- e=x.filter(trainlevel__dicid=6).count()
- f=x.filter(trainlevel__dicid=7).count()
- g=x.filter(trainlevel__dicid=42).count()
- alist.append({'partname':b,'pxnum':c,'gsjnum':d,'cjjnum':e,'bzjnum':f,'fcjnum':g})
- return JsonResponse({'code':1,'data':alist})
- elif req.GET.get('a')=='ylbmb':#演练部门分布表
+ x = Train.objects.filter(trainpart=i, state=1, deletemark=1, starttime__range=(
+ first_day, first_day_of_next_month))
+ b = i.partname
+ c = x.count()
+ d = x.filter(trainlevel__dicid=5).count()
+ e = x.filter(trainlevel__dicid=6).count()
+ f = x.filter(trainlevel__dicid=7).count()
+ g = x.filter(trainlevel__dicid=42).count()
+ alist.append({'partname': b, 'pxnum': c, 'gsjnum': d,
+ 'cjjnum': e, 'bzjnum': f, 'fcjnum': g})
+ return JsonResponse({'code': 1, 'data': alist})
+ elif req.GET.get('a') == 'ylbmb': # 演练部门分布表
year = int(req.GET.get('year'))
month = int(req.GET.get('month'))
if req.GET.get('part'):
partid = req.GET.get('part')
else:
partid = companyid
- first_day,first_day_of_next_month = gettime(datetime(year,month,1))
- alist=[]
+ first_day, first_day_of_next_month = gettime(datetime(year, month, 1))
+ alist = []
for i in Partment.objects.filter(Q(partid=partid) | Q(parentid__partid=partid)).order_by('partid'):
- x=Drill.objects.filter(drillpart=i,state=1,deletemark=1,starttime__range=(first_day, first_day_of_next_month))
- b=i.partname
- c=x.count()
- d=x.filter(drilllevel__dicid=20).count()
- e=x.filter(drilllevel__dicid=21).count()
- f=x.filter(drilllevel__dicid=22).count()
- alist.append({'partname':b,'ylnum':c,'gsjnum':d,'cjjnum':e,'bzjnum':f})
- return JsonResponse({'code':1,'data':alist})
- elif req.GET.get('a')=='yhqst':#隐患趋势图
- x_s = Yjyc.objects.filter(usecomp__partid=companyid).order_by('buildtime')
- objs = Trouble.objects.filter(deletemark=1,usecomp__partid=companyid)
+ x = Drill.objects.filter(drillpart=i, state=1, deletemark=1, starttime__range=(
+ first_day, first_day_of_next_month))
+ b = i.partname
+ c = x.count()
+ d = x.filter(drilllevel__dicid=20).count()
+ e = x.filter(drilllevel__dicid=21).count()
+ f = x.filter(drilllevel__dicid=22).count()
+ alist.append({'partname': b, 'ylnum': c,
+ 'gsjnum': d, 'cjjnum': e, 'bzjnum': f})
+ return JsonResponse({'code': 1, 'data': alist})
+ elif req.GET.get('a') == 'yhqst': # 隐患趋势图
+ x_s = Yjyc.objects.filter(
+ usecomp__partid=companyid).order_by('buildtime')
+ objs = Trouble.objects.filter(deletemark=1, usecomp__partid=companyid)
if req.GET.get('fxbm'):
- parts = Partment.objects.filter(partlink__contains=',' + req.GET.get('fxbm') + ',')|Partment.objects.filter(partid=req.GET.get('fxbm'))
+ parts = Partment.objects.filter(partlink__contains=',' + req.GET.get(
+ 'fxbm') + ',') | Partment.objects.filter(partid=req.GET.get('fxbm'))
objs = objs.filter(fxbm__in=parts)
data = {}
- data['现场管理类']=[]
- data['基础管理类']=[]
+ data['现场管理类'] = []
+ data['基础管理类'] = []
data['全部'] = []
- data['时间轴']= []
+ data['时间轴'] = []
for i in x_s:
- first_day,first_day_of_next_month = gettime(datetime(i.year,i.month,1))
- totalobj = objs.filter(fxsj__range=(first_day,first_day_of_next_month))
+ first_day, first_day_of_next_month = gettime(
+ datetime(i.year, i.month, 1))
+ totalobj = objs.filter(fxsj__range=(
+ first_day, first_day_of_next_month))
num = totalobj.count()
xcglnum = totalobj.filter(yhlx__dicid=16).count()
jcglnum = totalobj.filter(yhlx__dicid=17).count()
@@ -1988,144 +2204,163 @@ def charthandle(req):
data['现场管理类'].append(xcglnum)
data['基础管理类'].append(jcglnum)
data['时间轴'].append(str(i.year)+'-'+str(i.month))
- return JsonResponse(data,safe=False)
- elif req.GET.get('a')=='gzbqst':#各指标趋势图
- x_s = Yjyc.objects.filter(usecomp__partid=companyid).order_by('buildtime')
- yhobjs = Trouble.objects.filter(deletemark=1,usecomp__partid=companyid)
- pxobjs = Train.objects.filter(deletemark=1,usecomp__partid=companyid)
- ylobjs = Drill.objects.filter(deletemark=1,usecomp__partid=companyid)
- gcobjs = Observe.objects.filter(deletemark=1,usecomp__partid=companyid)
- wsobjs = Miss.objects.filter(deletemark=1,usecomp__partid=companyid)
+ return JsonResponse(data, safe=False)
+ elif req.GET.get('a') == 'gzbqst': # 各指标趋势图
+ x_s = Yjyc.objects.filter(
+ usecomp__partid=companyid).order_by('buildtime')
+ yhobjs = Trouble.objects.filter(
+ deletemark=1, usecomp__partid=companyid)
+ pxobjs = Train.objects.filter(deletemark=1, usecomp__partid=companyid)
+ ylobjs = Drill.objects.filter(deletemark=1, usecomp__partid=companyid)
+ gcobjs = Observe.objects.filter(
+ deletemark=1, usecomp__partid=companyid)
+ wsobjs = Miss.objects.filter(deletemark=1, usecomp__partid=companyid)
data = {}
- data['隐患']=[]
- data['培训']=[]
+ data['隐患'] = []
+ data['培训'] = []
data['演练'] = []
data['观察'] = []
data['事件'] = []
- data['时间轴']= []
+ data['时间轴'] = []
for i in x_s:
- first_day,first_day_of_next_month = gettime(datetime(i.year,i.month,1))
- yhnum = yhobjs.filter(fxsj__range=(first_day,first_day_of_next_month)).count()
- pxnum = pxobjs.filter(starttime__range=(first_day,first_day_of_next_month)).count()
- ylnum = ylobjs.filter(starttime__range=(first_day,first_day_of_next_month)).count()
- gcnum = gcobjs.filter(looktime__range=(first_day,first_day_of_next_month)).count()
- wsnum = wsobjs.filter(misstime__range=(first_day,first_day_of_next_month)).count()
+ first_day, first_day_of_next_month = gettime(
+ datetime(i.year, i.month, 1))
+ yhnum = yhobjs.filter(fxsj__range=(
+ first_day, first_day_of_next_month)).count()
+ pxnum = pxobjs.filter(starttime__range=(
+ first_day, first_day_of_next_month)).count()
+ ylnum = ylobjs.filter(starttime__range=(
+ first_day, first_day_of_next_month)).count()
+ gcnum = gcobjs.filter(looktime__range=(
+ first_day, first_day_of_next_month)).count()
+ wsnum = wsobjs.filter(misstime__range=(
+ first_day, first_day_of_next_month)).count()
data['隐患'].append(yhnum)
data['培训'].append(pxnum)
data['演练'].append(ylnum)
data['观察'].append(gcnum)
data['事件'].append(wsnum)
data['时间轴'].append(str(i.year)+'-'+str(i.month))
- return JsonResponse(data,safe=False)
- elif req.GET.get('a')=='yhztt':#隐患状态图
- objs = Trouble.objects.filter(deletemark=1,usecomp__partid=companyid)
+ return JsonResponse(data, safe=False)
+ elif req.GET.get('a') == 'yhztt': # 隐患状态图
+ objs = Trouble.objects.filter(deletemark=1, usecomp__partid=companyid)
if req.GET.get('qssj'):
objs = objs.filter(fxsj__gte=req.GET.get('qssj'))
if req.GET.get('jssj'):
objs = objs.filter(fxsj__lte=req.GET.get('jssj'))
if req.GET.get('fxbm'):
- parts = Partment.objects.filter(partlink__contains=',' + req.GET.get('fxbm') + ',')|Partment.objects.filter(partid=req.GET.get('fxbm'))
+ parts = Partment.objects.filter(partlink__contains=',' + req.GET.get(
+ 'fxbm') + ',') | Partment.objects.filter(partid=req.GET.get('fxbm'))
objs = objs.filter(fxbm__in=parts)
- ztdict = {'待新增':0,'待评估':1,'措施待提交':7,'措施待确认':2,'待整改':3,'待审核':4,'待复查':5}
+ ztdict = {'待新增': 0, '待评估': 1, '措施待提交': 7,
+ '措施待确认': 2, '待整改': 3, '待审核': 4, '待复查': 5}
ztnumli = []
for key in ztdict:
objnum = objs.filter(yhzt=ztdict[key]).count()
- objdict = {'value':objnum,'name':key}
+ objdict = {'value': objnum, 'name': key}
ztnumli.append(objdict)
- return JsonResponse(ztnumli,safe=False)
- elif req.GET.get('a')=='gcbmb':#观察部门分布表
+ return JsonResponse(ztnumli, safe=False)
+ elif req.GET.get('a') == 'gcbmb': # 观察部门分布表
year = int(req.GET.get('year'))
month = int(req.GET.get('month'))
- first_day,first_day_of_next_month = gettime(datetime(year,month,1))
- a = Observe.objects.filter(deletemark=1,looktime__range=(first_day, first_day_of_next_month))
- alist=[]
+ first_day, first_day_of_next_month = gettime(datetime(year, month, 1))
+ a = Observe.objects.filter(deletemark=1, looktime__range=(
+ first_day, first_day_of_next_month))
+ alist = []
if req.GET.get('part'):
partid = req.GET.get('part')
else:
partid = companyid
for i in Partment.objects.filter(Q(partid=partid) | Q(parentid__partid=partid)).order_by('partid'):
- y=0
- for m in Partment.objects.filter(partlink__contains=','+str(i.partid)+',')|Partment.objects.filter(partid=i.partid):
+ y = 0
+ for m in Partment.objects.filter(partlink__contains=','+str(i.partid)+',') | Partment.objects.filter(partid=i.partid):
y = y + a.filter(lookpart=m).count()
- b=i.partname
- c=y
- alist.append({'partname':b,'gcnum':c})
- return JsonResponse({'code':1,'data':alist})
- elif req.GET.get('a')=='wsbmb':#未遂部门分布表
+ b = i.partname
+ c = y
+ alist.append({'partname': b, 'gcnum': c})
+ return JsonResponse({'code': 1, 'data': alist})
+ elif req.GET.get('a') == 'wsbmb': # 未遂部门分布表
year = int(req.GET.get('year'))
month = int(req.GET.get('month'))
- first_day,first_day_of_next_month = gettime(datetime(year,month,1))
- a = Miss.objects.filter(deletemark=1,misstime__range=(first_day, first_day_of_next_month))
- alist=[]
+ first_day, first_day_of_next_month = gettime(datetime(year, month, 1))
+ a = Miss.objects.filter(deletemark=1, misstime__range=(
+ first_day, first_day_of_next_month))
+ alist = []
if req.GET.get('part'):
partid = req.GET.get('part')
else:
partid = companyid
for i in Partment.objects.filter(Q(partid=partid) | Q(parentid__partid=partid)).order_by('partid'):
- y=0
- for m in Partment.objects.filter(partlink__contains=','+str(i.partid)+',')|Partment.objects.filter(partid=i.partid):
+ y = 0
+ for m in Partment.objects.filter(partlink__contains=','+str(i.partid)+',') | Partment.objects.filter(partid=i.partid):
y = y + a.filter(misspart=m).count()
- b=i.partname
- c=y
- alist.append({'partname':b,'wsnum':c})
- return JsonResponse({'code':1,'data':alist})
- elif req.GET.get('a')=='gclxt':#观察类型饼图
+ b = i.partname
+ c = y
+ alist.append({'partname': b, 'wsnum': c})
+ return JsonResponse({'code': 1, 'data': alist})
+ elif req.GET.get('a') == 'gclxt': # 观察类型饼图
year = int(req.GET.get('year'))
month = int(req.GET.get('month'))
- first_day,first_day_of_next_month = gettime(datetime(year,month,1))
+ first_day, first_day_of_next_month = gettime(datetime(year, month, 1))
if req.GET.get('part'):
partid = req.GET.get('part')
else:
partid = companyid
- parts = Partment.objects.filter(Q(partid=partid) | Q(partlink__contains=',' + str(partid) + ','))
- a = Observe.objects.filter(lookpart__in=parts,deletemark=1,looktime__range=(first_day, first_day_of_next_month))
- value=[]
- key=[]
+ parts = Partment.objects.filter(Q(partid=partid) | Q(
+ partlink__contains=',' + str(partid) + ','))
+ a = Observe.objects.filter(lookpart__in=parts, deletemark=1, looktime__range=(
+ first_day, first_day_of_next_month))
+ value = []
+ key = []
for i in Dicclass.objects.filter(parentid__dicid=23):
x = i.dicname
- y = Unsafes.objects.filter(observe__in=a,unsafedicclass=i).count()
+ y = Unsafes.objects.filter(observe__in=a, unsafedicclass=i).count()
key.append(x)
- value.append({'value':y,'name':x})
- return JsonResponse({'code':1,'key':key,'value':value})
+ value.append({'value': y, 'name': x})
+ return JsonResponse({'code': 1, 'key': key, 'value': value})
+
def apiriskas(req):
userid = req.session['userid']
companyid = getcompany(userid)
- if req.GET.get('a') == 'fxdlxt':#风险点类型图
+ if req.GET.get('a') == 'fxdlxt': # 风险点类型图
objs = RiskAct.objects.filter(usecomp__partid=companyid)
- if req.GET.get('zrbm',None):
+ if req.GET.get('zrbm', None):
partid = req.GET.get('zrbm')
objs = objs.filter(zrbm__partid=partid)
legendData = []
seriesData = []
for i in Dickey.objects.filter(dicparent__dicid=53):
legendData.append(i.dickeyname)
- seriesData.append({'value':objs.filter(type=i).count(),'name':i.dickeyname})
- return JsonResponse({'code':1,'legendData':legendData,'seriesData':seriesData})
- elif req.GET.get('a') == 'fxdjbt':#风险点级别图
+ seriesData.append({'value': objs.filter(
+ type=i).count(), 'name': i.dickeyname})
+ return JsonResponse({'code': 1, 'legendData': legendData, 'seriesData': seriesData})
+ elif req.GET.get('a') == 'fxdjbt': # 风险点级别图
objs = RiskAct.objects.filter(usecomp__partid=companyid)
- if req.GET.get('zrbm',None):
+ if req.GET.get('zrbm', None):
partid = req.GET.get('zrbm')
objs = objs.filter(zrbm__partid=partid)
- legendData = ['低风险','一般风险','较大风险','重大风险']
+ legendData = ['低风险', '一般风险', '较大风险', '重大风险']
seriesData = []
for i in legendData:
- seriesData.append({'value':objs.filter(level=i).count(),'name':i})
- return JsonResponse({'code':1,'legendData':legendData,'seriesData':seriesData})
- elif req.GET.get('a') == 'fxjbt':#风险级别图
+ seriesData.append(
+ {'value': objs.filter(level=i).count(), 'name': i})
+ return JsonResponse({'code': 1, 'legendData': legendData, 'seriesData': seriesData})
+ elif req.GET.get('a') == 'fxjbt': # 风险级别图
objs = Risk.objects.filter(usecomp__partid=companyid)
- if req.GET.get('zrbm',None):
+ if req.GET.get('zrbm', None):
partid = req.GET.get('zrbm')
objs = objs.filter(riskact__zrbm__partid=partid)
- legendData = ['低风险','一般风险','较大风险','重大风险']
+ legendData = ['低风险', '一般风险', '较大风险', '重大风险']
seriesData = []
for i in legendData:
- seriesData.append({'value':objs.filter(level=i).count(),'name':i})
- return JsonResponse({'code':1,'legendData':legendData,'seriesData':seriesData})
- elif req.GET.get('a') == 'fxdqyt':#风险点区域图
+ seriesData.append(
+ {'value': objs.filter(level=i).count(), 'name': i})
+ return JsonResponse({'code': 1, 'legendData': legendData, 'seriesData': seriesData})
+ elif req.GET.get('a') == 'fxdqyt': # 风险点区域图
objs = RiskAct.objects.filter(usecomp__partid=companyid)
objs2 = Risk.objects.filter(usecomp__partid=companyid)
- if req.GET.get('zrbm',None):
+ if req.GET.get('zrbm', None):
partid = req.GET.get('zrbm')
objs = objs.filter(zrbm__partid=partid)
objs2 = objs2.filter(riskact__zrbm__partid=partid)
@@ -2133,20 +2368,21 @@ def apiriskas(req):
series = []
#areas = Area.objects.filter(usecomp__partid=companyid,deletemark=1)
#riskactareas = Area.objects.filter(usecomp__partid=companyid,deletemark=1).annotate(num=Count('riskactarea')).filter(num__gt=0).order_by('-num')
- riskactareas = objs.values('area').annotate(num=Count('area')).order_by('-num')
+ riskactareas = objs.values('area').annotate(
+ num=Count('area')).order_by('-num')
for i in riskactareas:
xAxisData.append(Area.objects.get(id=i['area']).name)
data = {}
- data['datariskact']=[] # 风险点总数
- data['datariskact1']=[] # 低风险点数
- data['datariskact2']=[] # 一般风险点数
- data['datariskact3']=[] # 较大风险点数
- data['datariskact4']=[] # 重大风险点数
- data['datarisk']=[] # 风险总数
- data['datarisk1']=[] # 低风险数
- data['datarisk2']=[] # 一般风险数
- data['datarisk3']=[] # 较大风险数
- data['datarisk4']=[] # 重大风险数
+ data['datariskact'] = [] # 风险点总数
+ data['datariskact1'] = [] # 低风险点数
+ data['datariskact2'] = [] # 一般风险点数
+ data['datariskact3'] = [] # 较大风险点数
+ data['datariskact4'] = [] # 重大风险点数
+ data['datarisk'] = [] # 风险总数
+ data['datarisk1'] = [] # 低风险数
+ data['datarisk2'] = [] # 一般风险数
+ data['datarisk3'] = [] # 较大风险数
+ data['datarisk4'] = [] # 重大风险数
for i in riskactareas:
objsxx = objs.filter(area__id=i['area'])
data['datariskact'].append(objsxx.count())
@@ -2160,21 +2396,25 @@ def apiriskas(req):
data['datarisk2'].append(objsxx2.filter(level="一般风险").count())
data['datarisk3'].append(objsxx2.filter(level="较大风险").count())
data['datarisk4'].append(objsxx2.filter(level="重大风险").count())
- return JsonResponse({'code':1,'xAxisData':xAxisData,'seriesData':data})
+ return JsonResponse({'code': 1, 'xAxisData': xAxisData, 'seriesData': data})
+
+
def fxhandle(req):
a = req.GET.get('a')
if a == 'exportyjdoc':
userid = req.session['userid']
companyid = getcompany(userid)
vl = json.loads(req.body.decode())
- vl['companyname']=Partment.objects.get(partid=companyid).partname
+ vl['companyname'] = Partment.objects.get(partid=companyid).partname
v = exportyjdoc(vl)
- return JsonResponse({"code":1,'downloadurl':v})
+ return JsonResponse({"code": 1, 'downloadurl': v})
elif a == 'yhfxpm':
userid = req.session['userid']
companyid = getcompany(userid)
- partsall = Partment.objects.filter(partlink__contains=',' + companyid + ',')|Partment.objects.filter(partid=companyid)
- objs = Trouble.objects.filter(fxr__ubelongpart__partid__in=partsall,deletemark=1)
+ partsall = Partment.objects.filter(
+ partlink__contains=',' + companyid + ',') | Partment.objects.filter(partid=companyid)
+ objs = Trouble.objects.filter(
+ fxr__ubelongpart__partid__in=partsall, deletemark=1)
# userall = User.objects.filter(ubelongpart__in=partsall,deletemark=1)
# objs=[]
# for i in userall:
@@ -2184,13 +2424,15 @@ def fxhandle(req):
if req.GET.get('jssj'):
objs = objs.filter(fxsj__lte=req.GET.get('jssj'))
if req.GET.get('jclx'):
- objs = objs.filter(jclx = Dickey.objects.filter(dickeyid=req.GET.get('jclx')))
+ objs = objs.filter(jclx=Dickey.objects.filter(
+ dickeyid=req.GET.get('jclx')))
# yhnum = yhnum.count()
# objs.append({'fxr__userid':i.userid,'fxr__name':i.name,'fxbm__partname':i.ubelongpart.partname,'number':yhnum})
# objs.sort(key=takeSecond,reverse=True)
if req.GET.get('fxbm'):
fxbm = req.GET.get('fxbm')
- parts = Partment.objects.filter(partlink__contains=',' + fxbm + ',')|Partment.objects.filter(partid=fxbm)
+ parts = Partment.objects.filter(
+ partlink__contains=',' + fxbm + ',') | Partment.objects.filter(partid=fxbm)
objs = objs.filter(fxbm__in=parts)
# objs=[]
# for i in userlist:
@@ -2204,69 +2446,76 @@ def fxhandle(req):
# objs.sort(key=takeSecond,reverse=True)
# objs = objs.values('fxr__userid','fxr__name','fxbm__partname').annotate(number = Count('fxr')).order_by('-number')
total = objs.count()
- objs = objs.values('fxr__userid','fxr__name','fxbm__partname').annotate(number = Count('fxr')).order_by('-number')
- return HttpResponse(transjson(total,objs),content_type="application/json")
+ objs = objs.values('fxr__userid', 'fxr__name', 'fxbm__partname').annotate(
+ number=Count('fxr')).order_by('-number')
+ return HttpResponse(transjson(total, objs), content_type="application/json")
elif a == 'yhzgpm':
userid = req.session['userid']
companyid = getcompany(userid)
- objs = Trouble.objects.filter(usecomp__partid=companyid,deletemark=1)
+ objs = Trouble.objects.filter(usecomp__partid=companyid, deletemark=1)
if req.GET.get('zgr'):
objs = objs.filter(zgr__name__contains=req.GET.get('zgr'))
if req.GET.get('qssj'):
objs = objs.filter(fxsj__gte=req.GET.get('qssj'))
if req.GET.get('jssj'):
objs = objs.filter(fxsj__lte=req.GET.get('jssj'))
- objs = objs.values('zgr__userid','zgr__name','zgbm__partname').annotate(number = Count('zgr')).order_by('-number')
+ objs = objs.values('zgr__userid', 'zgr__name', 'zgbm__partname').annotate(
+ number=Count('zgr')).order_by('-number')
total = objs.count()
- return HttpResponse(transjson(total,objs),content_type="application/json")
+ return HttpResponse(transjson(total, objs), content_type="application/json")
# elif a == 'exportexcel':
# datalist = req.POST.get('data')
# downloadurl = exportsimplexlsx(datalist)
# return JsonResponse({'code':1,'downloadurl':downloadurl})
+
def takeSecond(elem):
- return elem['number']
+ return elem['number']
+
def userhandle(req):
- if req.GET.get('a')=='adduserh':
- return render(req,'abuser.html')
- elif req.GET.get('a')=='edituserh':
- return render(req,'abuser.html')
- elif req.GET.get('a')=='del':
+ if req.GET.get('a') == 'adduserh':
+ return render(req, 'abuser.html')
+ elif req.GET.get('a') == 'edituserh':
+ return render(req, 'abuser.html')
+ elif req.GET.get('a') == 'del':
a = req.GET.get('userid')
userid = req.session['userid']
if User.objects.get(userid=userid).issuper == 1:
if User.objects.get(userid=a).issuper == 1:
- return JsonResponse({"code":0})
+ return JsonResponse({"code": 0})
else:
User.objects.filter(userid=a).update(deletemark=0)
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
else:
- return JsonResponse({"code":0})
- elif req.GET.get('a')=='add':
- if req.POST.get('userid')!='':
- a=User.objects.filter(userid = req.POST.get('userid'))
+ return JsonResponse({"code": 0})
+ elif req.GET.get('a') == 'add':
+ if req.POST.get('userid') != '':
+ a = User.objects.filter(userid=req.POST.get('userid'))
newname = req.POST.get('username')
- if User.objects.filter(username = newname).exclude(username=a[0].username).count() == 0:
+ if User.objects.filter(username=newname).exclude(username=a[0].username).count() == 0:
name = req.POST.get('name')
empid = req.POST.get('empid')
- ubelongpart=Partment.objects.get(partid=req.POST.get('ubelongpart'))
+ ubelongpart = Partment.objects.get(
+ partid=req.POST.get('ubelongpart'))
# if req.POST.getlist('group',None):
# a[0].userg.add(*req.POST.getlist('group'))
- a.update(name=name,empid=empid,ubelongpart=ubelongpart,username=newname)
- return JsonResponse({"code":1})
+ a.update(name=name, empid=empid,
+ ubelongpart=ubelongpart, username=newname)
+ return JsonResponse({"code": 1})
else:
- return JsonResponse({"code":0})
+ return JsonResponse({"code": 0})
else:
- newname=req.POST.get('username')
- if User.objects.filter(username = newname).count() == 0:
+ newname = req.POST.get('username')
+ if User.objects.filter(username=newname).count() == 0:
a = User()
a.name = req.POST.get('name')
a.empid = req.POST.get('empid')
- a.username=req.POST.get('username')
- a.password=req.POST.get('password')
+ a.username = req.POST.get('username')
+ a.password = req.POST.get('password')
a.epassword = make_password(req.POST.get('password'))
- a.ubelongpart=Partment.objects.get(partid=req.POST.get('ubelongpart'))
+ a.ubelongpart = Partment.objects.get(
+ partid=req.POST.get('ubelongpart'))
a.save()
companyid = getcompany(a.userid)
a.usecomp = Partment.objects.get(partid=companyid)
@@ -2278,149 +2527,178 @@ def userhandle(req):
# if i.grouptype == 1:
# i.users.add(a)
- Group.objects.get(usecomp__partid=companyid,grouptype=3).users.add(a)
- return JsonResponse({"code":1})
+ Group.objects.get(usecomp__partid=companyid,
+ grouptype=3).users.add(a)
+ return JsonResponse({"code": 1})
else:
- return JsonResponse({"code":0})
+ return JsonResponse({"code": 0})
+
def getuser(req):
userid = req.session['userid']
if req.GET.get('partid'):
partid = req.GET.get('partid')
- parts=Partment.objects.filter(partlink__contains=','+partid+',')|Partment.objects.filter(partid=partid)
- if req.GET.get('a')=='datagrid':
- a = User.objects.filter(ubelongpart__in=parts,deletemark=1).exclude(issuper=1)
+ parts = Partment.objects.filter(
+ partlink__contains=','+partid+',') | Partment.objects.filter(partid=partid)
+ if req.GET.get('a') == 'datagrid':
+ a = User.objects.filter(
+ ubelongpart__in=parts, deletemark=1).exclude(issuper=1)
total = a.count()
- if req.GET.get('page',None):
- startnum,endnum = fenye(req)
+ if req.GET.get('page', None):
+ startnum, endnum = fenye(req)
a = a[startnum:endnum]
- a = a.values('userid','empid','name','ubelongpart__partname','ubelongpart__partid','username','openid')
- return HttpResponse(transjson(total,a),content_type="application/json")
+ a = a.values('userid', 'empid', 'name', 'ubelongpart__partname',
+ 'ubelongpart__partid', 'username', 'openid')
+ return HttpResponse(transjson(total, a), content_type="application/json")
else:
- a = User.objects.filter(ubelongpart__in=parts,deletemark=1).exclude(issuper=1).values('userid','name')
- keystr=transstr(a,'userid','name')
- return HttpResponse(keystr,content_type="application/json")
+ a = User.objects.filter(ubelongpart__in=parts, deletemark=1).exclude(
+ issuper=1).values('userid', 'name')
+ keystr = transstr(a, 'userid', 'name')
+ return HttpResponse(keystr, content_type="application/json")
elif req.GET.get('groupid'):
- groupid=req.GET.get('groupid')
- a = Group.objects.get(groupid=groupid).users.filter(deletemark=1).all().values('userid','empid','name','ubelongpart__partname','ubelongpart__partid','username')
- total=a.count()
- return HttpResponse(transjson(total,a),content_type="application/json")
+ groupid = req.GET.get('groupid')
+ a = Group.objects.get(groupid=groupid).users.filter(deletemark=1).all().values(
+ 'userid', 'empid', 'name', 'ubelongpart__partname', 'ubelongpart__partid', 'username')
+ total = a.count()
+ return HttpResponse(transjson(total, a), content_type="application/json")
elif req.GET.get('userid'):
- a = User.objects.filter(userid=req.GET.get('userid')).values('userid','empid','name','ubelongpart__partid','username','openid','headimgurl','nickname')
- b=list(a)[0]
- return HttpResponse(json.dumps(b,cls=MyEncoder),content_type="application/json")
+ a = User.objects.filter(userid=req.GET.get('userid')).values(
+ 'userid', 'empid', 'name', 'ubelongpart__partid', 'username', 'openid', 'headimgurl', 'nickname')
+ b = list(a)[0]
+ return HttpResponse(json.dumps(b, cls=MyEncoder), content_type="application/json")
elif req.GET.get('name'):
- if req.GET.get('a')=='datagrid':
- companyid=getcompany(userid)
- parts=Partment.objects.filter(partlink__contains=','+companyid+',')|Partment.objects.filter(partid=companyid)
- a=User.objects.filter(ubelongpart__in = parts,deletemark=1,name__contains= req.GET.get('name')).order_by('userid').values('userid','empid','name','ubelongpart__partname','ubelongpart__partid','username','openid')
+ if req.GET.get('a') == 'datagrid':
+ companyid = getcompany(userid)
+ parts = Partment.objects.filter(
+ partlink__contains=','+companyid+',') | Partment.objects.filter(partid=companyid)
+ a = User.objects.filter(ubelongpart__in=parts, deletemark=1, name__contains=req.GET.get('name')).order_by(
+ 'userid').values('userid', 'empid', 'name', 'ubelongpart__partname', 'ubelongpart__partid', 'username', 'openid')
total = a.count()
- return HttpResponse(transjson(total,a),content_type="application/json")
+ return HttpResponse(transjson(total, a), content_type="application/json")
else:
- companyid=getcompany(userid)
- parts=Partment.objects.filter(partlink__contains=','+companyid+',')|Partment.objects.filter(partid=companyid)
- if req.GET.get('a')=='combobox':
- a = User.objects.filter(ubelongpart__in=parts,deletemark=1).exclude(issuper=1).values('userid','name')
- keystr=transstr(a,'userid','name')
- return HttpResponse(keystr,content_type="application/json")
+ companyid = getcompany(userid)
+ parts = Partment.objects.filter(
+ partlink__contains=','+companyid+',') | Partment.objects.filter(partid=companyid)
+ if req.GET.get('a') == 'combobox':
+ a = User.objects.filter(ubelongpart__in=parts, deletemark=1).exclude(
+ issuper=1).values('userid', 'name')
+ keystr = transstr(a, 'userid', 'name')
+ return HttpResponse(keystr, content_type="application/json")
else:
- a=User.objects.filter(ubelongpart__in = parts,deletemark=1).exclude(issuper=1)
+ a = User.objects.filter(
+ ubelongpart__in=parts, deletemark=1).exclude(issuper=1)
total = a.count()
- startnum,endnum = fenye(req)
- a = a.order_by('userid')[startnum:endnum].values('userid','empid','name','ubelongpart__partname','ubelongpart__partid','username','openid')
- return HttpResponse(transjson(total,a),content_type="application/json")
+ startnum, endnum = fenye(req)
+ a = a.order_by('userid')[startnum:endnum].values(
+ 'userid', 'empid', 'name', 'ubelongpart__partname', 'ubelongpart__partid', 'username', 'openid')
+ return HttpResponse(transjson(total, a), content_type="application/json")
def parthandle(req):
- if req.GET.get('a')=="addparth":
- return render(req,'abpart.html')
- elif req.GET.get('a')=='editparth':
- return render(req,'abpart.html')
- elif req.GET.get('a')=='detail':
- a = Partment.objects.filter(partid=req.GET.get('partid')).values('partid','partname','parentid','iscompany')
+ if req.GET.get('a') == "addparth":
+ return render(req, 'abpart.html')
+ elif req.GET.get('a') == 'editparth':
+ return render(req, 'abpart.html')
+ elif req.GET.get('a') == 'detail':
+ a = Partment.objects.filter(partid=req.GET.get('partid')).values(
+ 'partid', 'partname', 'parentid', 'iscompany')
b = list(a)[0]
- return HttpResponse(json.dumps(b,cls=MyEncoder),content_type="application/json")
- elif req.GET.get('a')=='del':
+ return HttpResponse(json.dumps(b, cls=MyEncoder), content_type="application/json")
+ elif req.GET.get('a') == 'del':
a = req.POST.get('partid')
if Partment.objects.filter(partlink__contains=','+a+',').exists() or User.objects.filter(ubelongpart=a).exists():
- return JsonResponse({"code":0})
+ return JsonResponse({"code": 0})
else:
Partment.objects.get(partid=a).delete()
- return JsonResponse({"code":1})
- elif req.GET.get('a')=='addpart':
+ return JsonResponse({"code": 1})
+ elif req.GET.get('a') == 'addpart':
if req.POST.get('partid') != '':
partid = req.POST.get('partid')
partname = req.POST.get('partname')
parentid = req.POST.get('parentid')
partobj = Partment.objects.get(partid=partid)
- oldpartlink = partobj.partlink + partid +','
- partlink = Partment.objects.get(partid=parentid).partlink + parentid +','
- Partment.objects.filter(partid=partid).update(partname= partname,parentid=parentid,partlink=partlink)
- Partment.objects.filter(partlink__contains=oldpartlink).update(partlink= partlink + partid +',')
- return JsonResponse({"code":1})
+ oldpartlink = partobj.partlink + partid + ','
+ partlink = Partment.objects.get(
+ partid=parentid).partlink + parentid + ','
+ Partment.objects.filter(partid=partid).update(
+ partname=partname, parentid=parentid, partlink=partlink)
+ Partment.objects.filter(partlink__contains=oldpartlink).update(
+ partlink=partlink + partid + ',')
+ return JsonResponse({"code": 1})
else:
try:
- a=Partment()
- a.parentid = Partment.objects.get(partid=req.POST.get('parentid'))
+ a = Partment()
+ a.parentid = Partment.objects.get(
+ partid=req.POST.get('parentid'))
a.partname = req.POST.get('partname')
- a.partlink = Partment.objects.get(partid=req.POST.get('parentid')).partlink + str(req.POST.get('parentid')) + ','
+ a.partlink = Partment.objects.get(partid=req.POST.get(
+ 'parentid')).partlink + str(req.POST.get('parentid')) + ','
a.save()
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
except:
- return JsonResponse({"code":0})
- elif req.GET.get('a')=='tree':
+ return JsonResponse({"code": 0})
+ elif req.GET.get('a') == 'tree':
userid = req.session['userid']
companyid = getcompany(userid)
- list_items = (Partment.objects.filter(partlink__contains=','+companyid+',')|Partment.objects.filter(partid=companyid)).annotate(id=F('partid'),parentId=F('parentid'),name=F('partname')).values('id','parentId','name')
- return HttpResponse(json.dumps(list(list_items)),content_type="application/json")
- elif req.GET.get('a')=='tree2':
+ list_items = (Partment.objects.filter(partlink__contains=','+companyid+',') | Partment.objects.filter(partid=companyid)
+ ).annotate(id=F('partid'), parentId=F('parentid'), name=F('partname')).values('id', 'parentId', 'name')
+ return HttpResponse(json.dumps(list(list_items)), content_type="application/json")
+ elif req.GET.get('a') == 'tree2':
userid = req.session['userid']
companyid = getcompany(userid)
- list_items = (Partment.objects.filter(partlink__contains=','+companyid+',')).annotate(id=F('partid'),parentId=F('parentid'),name=F('partname')).values('id','parentId','name','iscompany')
- return HttpResponse(json.dumps(list(list_items)),content_type="application/json")
- elif req.GET.get('a')=='tree3':#能够指派的部门,包括自己所在的部门
+ list_items = (Partment.objects.filter(partlink__contains=','+companyid+',')).annotate(id=F('partid'),
+ parentId=F('parentid'), name=F('partname')).values('id', 'parentId', 'name', 'iscompany')
+ return HttpResponse(json.dumps(list(list_items)), content_type="application/json")
+ elif req.GET.get('a') == 'tree3': # 能够指派的部门,包括自己所在的部门
userid = req.session['userid']
- parts = Partment.objects.filter(Q(aqy__contains = ','+str(userid)+',')|Q(bmzg__contains = ','+str(userid)+',')|Q(bsq__contains = ','+str(userid)+','))
+ parts = Partment.objects.filter(Q(aqy__contains=','+str(userid)+',') | Q(
+ bmzg__contains=','+str(userid)+',') | Q(bsq__contains=','+str(userid)+','))
for i in parts:
- parts = parts|Partment.objects.filter(partlink__contains=','+str(i.partid)+',')
- parts = parts|Partment.objects.filter(partid=User.objects.get(userid=userid).ubelongpart.partid)
- list_items = parts.annotate(id=F('partid'),parentId=F('parentid'),name=F('partname')).values('id','parentId','name','iscompany')
- return HttpResponse(json.dumps(list(list_items)),content_type="application/json")
- elif req.GET.get('a')=='getzgdatagrid':
+ parts = parts | Partment.objects.filter(
+ partlink__contains=','+str(i.partid)+',')
+ parts = parts | Partment.objects.filter(
+ partid=User.objects.get(userid=userid).ubelongpart.partid)
+ list_items = parts.annotate(id=F('partid'), parentId=F('parentid'), name=F(
+ 'partname')).values('id', 'parentId', 'name', 'iscompany')
+ return HttpResponse(json.dumps(list(list_items)), content_type="application/json")
+ elif req.GET.get('a') == 'getzgdatagrid':
partid = req.GET.get('partid')
zgstr = Partment.objects.get(partid=partid).bmzg
- if zgstr ==',':
- return HttpResponse(json.dumps([]),content_type="application/json")
+ if zgstr == ',':
+ return HttpResponse(json.dumps([]), content_type="application/json")
else:
zglist = zgstr.split(',')
zglist = list(filter(None, zglist))
orderlist = []
for i in zglist:
- orderlist.extend(list(User.objects.filter(userid=i).values('userid','name')))
- return HttpResponse(json.dumps(orderlist),content_type="application/json")
- elif req.GET.get('a')=='getaqydatagrid':
+ orderlist.extend(list(User.objects.filter(
+ userid=i).values('userid', 'name')))
+ return HttpResponse(json.dumps(orderlist), content_type="application/json")
+ elif req.GET.get('a') == 'getaqydatagrid':
partid = req.GET.get('partid')
aqystr = Partment.objects.get(partid=partid).aqy
- if aqystr ==',':
- return HttpResponse(json.dumps([]),content_type="application/json")
+ if aqystr == ',':
+ return HttpResponse(json.dumps([]), content_type="application/json")
else:
aqylist = aqystr.split(',')
aqylist = list(filter(None, aqylist))
orderlist = []
for i in aqylist:
- orderlist.extend(list(User.objects.filter(userid=i).values('userid','name')))
- return HttpResponse(json.dumps(orderlist),content_type="application/json")
- elif req.GET.get('a')=='getbsqdatagrid':
+ orderlist.extend(list(User.objects.filter(
+ userid=i).values('userid', 'name')))
+ return HttpResponse(json.dumps(orderlist), content_type="application/json")
+ elif req.GET.get('a') == 'getbsqdatagrid':
partid = req.GET.get('partid')
bsqstr = Partment.objects.get(partid=partid).bsq
- if bsqstr ==',':
- return HttpResponse(json.dumps([]),content_type="application/json")
+ if bsqstr == ',':
+ return HttpResponse(json.dumps([]), content_type="application/json")
else:
bsqlist = bsqstr.split(',')
bsqlist = list(filter(None, bsqlist))
- items = User.objects.filter(userid__in=bsqlist).values('userid','name')
- return HttpResponse(json.dumps(list(items)),content_type="application/json")
- elif req.GET.get('a')=='addzg':
+ items = User.objects.filter(
+ userid__in=bsqlist).values('userid', 'name')
+ return HttpResponse(json.dumps(list(items)), content_type="application/json")
+ elif req.GET.get('a') == 'addzg':
partid = req.GET.get('partid')
users = req.POST.get('users')
try:
@@ -2431,18 +2709,19 @@ def parthandle(req):
zglist = list(filter(None, zglist))
zglist.extend(userlist)
addo = list(set(zglist))
- addo.sort(key = zglist.index)
+ addo.sort(key=zglist.index)
zgstr = ','+','.join(addo)+','
- obj.bmzg=zgstr
+ obj.bmzg = zgstr
obj.save()
- a = Group.objects.get(grouptype=2,usecomp=Partment.objects.get(partid=getcompany(req.session['userid'])))
+ a = Group.objects.get(grouptype=2, usecomp=Partment.objects.get(
+ partid=getcompany(req.session['userid'])))
for i in userlist:
if User.objects.get(userid=int(i)) not in a.users.all():
a.users.add(User.objects.get(userid=int(i)))
except:
pass
- return JsonResponse({"code":1})
- elif req.GET.get('a')=='addaqy':
+ return JsonResponse({"code": 1})
+ elif req.GET.get('a') == 'addaqy':
partid = req.GET.get('partid')
users = req.POST.get('users')
try:
@@ -2453,18 +2732,19 @@ def parthandle(req):
aqylist = list(filter(None, aqylist))
aqylist.extend(userlist)
addo = list(set(aqylist))
- addo.sort(key = aqylist.index)
+ addo.sort(key=aqylist.index)
aqystr = ','+','.join(addo)+','
- obj.aqy=aqystr
+ obj.aqy = aqystr
obj.save()
- a = Group.objects.get(grouptype=1,usecomp=Partment.objects.get(partid=getcompany(req.session['userid'])))
+ a = Group.objects.get(grouptype=1, usecomp=Partment.objects.get(
+ partid=getcompany(req.session['userid'])))
for i in userlist:
if User.objects.get(userid=int(i)) not in a.users.all():
a.users.add(User.objects.get(userid=int(i)))
except:
pass
- return JsonResponse({"code":1})
- elif req.GET.get('a')=='addbsq':
+ return JsonResponse({"code": 1})
+ elif req.GET.get('a') == 'addbsq':
partid = req.GET.get('partid')
users = req.POST.get('users')
try:
@@ -2475,56 +2755,59 @@ def parthandle(req):
bsqlist = list(filter(None, bsqlist))
bsqlist.extend(userlist)
addo = list(set(bsqlist))
- addo.sort(key = bsqlist.index)
+ addo.sort(key=bsqlist.index)
bsqstr = ','+','.join(bsqlist)+','
- obj.bsq=bsqstr
+ obj.bsq = bsqstr
obj.save()
except:
pass
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
elif req.GET.get('a') == 'removezg':
partid = req.GET.get('partid')
userid = req.GET.get('userid')
- obj= Partment.objects.get(partid=partid)
+ obj = Partment.objects.get(partid=partid)
zgstr = obj.bmzg
- zgstr = zgstr.replace(','+userid+',',',')
+ zgstr = zgstr.replace(','+userid+',', ',')
obj.bmzg = zgstr
obj.save()
- a = Group.objects.get(grouptype=2,usecomp=Partment.objects.get(partid=getcompany(req.session['userid'])))
+ a = Group.objects.get(grouptype=2, usecomp=Partment.objects.get(
+ partid=getcompany(req.session['userid'])))
a.users.remove(User.objects.get(userid=userid))
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
elif req.GET.get('a') == 'removeaqy':
partid = req.GET.get('partid')
userid = req.GET.get('userid')
- obj= Partment.objects.get(partid=partid)
+ obj = Partment.objects.get(partid=partid)
aqystr = obj.aqy
- aqystr = aqystr.replace(','+userid+',',',')
+ aqystr = aqystr.replace(','+userid+',', ',')
obj.aqy = aqystr
obj.save()
- a = Group.objects.get(grouptype=1,usecomp=Partment.objects.get(partid=getcompany(req.session['userid'])))
+ a = Group.objects.get(grouptype=1, usecomp=Partment.objects.get(
+ partid=getcompany(req.session['userid'])))
a.users.remove(User.objects.get(userid=userid))
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
elif req.GET.get('a') == 'removebsq':
partid = req.GET.get('partid')
userid = req.GET.get('userid')
- obj= Partment.objects.get(partid=partid)
+ obj = Partment.objects.get(partid=partid)
bsqstr = obj.bsq
- bsqstr = bsqstr.replace(','+userid+',',',')
+ bsqstr = bsqstr.replace(','+userid+',', ',')
obj.bsq = bsqstr
obj.save()
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
+
def dicthandle(req):
- if req.GET.get('a')=='adddicth':
- return render(req,'abdict.html')
- elif req.GET.get('a')=='deldict':
+ if req.GET.get('a') == 'adddicth':
+ return render(req, 'abdict.html')
+ elif req.GET.get('a') == 'deldict':
userid = req.session['userid']
dickeyid = req.GET.get('dickeyid')
a = Dickey.objects.get(dickeyid=dickeyid)
if userid == 8:
- a.deletemark=0
+ a.deletemark = 0
a.save()
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
elif User.objects.get(userid=userid).issuper == 1:
companyid = getcompany(userid)
nl = a.nousecomps.split(',')
@@ -2532,53 +2815,55 @@ def dicthandle(req):
nl = ','+','.join(list(filter(None, nl)))+','
a.nousecomps = nl
a.save()
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
else:
- return JsonResponse({"code":0})
- elif req.GET.get('a')=='editdicth':
- return render(req,'abdict.html')
- elif req.GET.get('a')=='canedit':
+ return JsonResponse({"code": 0})
+ elif req.GET.get('a') == 'editdicth':
+ return render(req, 'abdict.html')
+ elif req.GET.get('a') == 'canedit':
userid = req.session['userid']
companyid = getcompany(userid)
dickeyid = req.GET.get('dickeyid')
a = Dickey.objects.get(dickeyid=dickeyid)
if userid == 8:
- return JsonResponse({"code":1})
- elif a.usecomps == ','+str(companyid)+',' and a.nousecomps == '' and User.objects.get(userid=userid).issuper==1:
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
+ elif a.usecomps == ','+str(companyid)+',' and a.nousecomps == '' and User.objects.get(userid=userid).issuper == 1:
+ return JsonResponse({"code": 1})
else:
- return JsonResponse({"code":0})
+ return JsonResponse({"code": 0})
elif req.method == 'POST':
userid = req.session['userid']
companyid = getcompany(userid)
data = json.loads(req.body.decode('utf-8'))
dickeyid = data['dickeyid']
- dickeyname=data['dickeyname']
- dicparent=data['dicparent']
+ dickeyname = data['dickeyname']
+ dicparent = data['dicparent']
detail = data['detail']
if dickeyid != '':
a = Dickey.objects.get(dickeyid=dickeyid)
if ',1,' in a.usecomps and companyid != '1':
- return JsonResponse({"code":0})
+ return JsonResponse({"code": 0})
else:
a.dickeyname = dickeyname
a.dicparent = Dicclass.objects.get(dicid=dicparent)
a.detail = detail
a.save()
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
else:
- Dickey.objects.create(dickeyname=dickeyname,dicparent=Dicclass.objects.get(dicid=dicparent),usecomps=','+companyid+',',detail=detail)
- return JsonResponse({"code":1})
+ Dickey.objects.create(dickeyname=dickeyname, dicparent=Dicclass.objects.get(
+ dicid=dicparent), usecomps=','+companyid+',', detail=detail)
+ return JsonResponse({"code": 1})
def pxhandle(req):
- if req.GET.get('a')=='listsearch':
+ if req.GET.get('a') == 'listsearch':
userid = req.session['userid']
companyid = getcompany(userid)
- a = Train.objects.filter(usecomp=Partment.objects.get(partid=companyid)).exclude(deletemark=0)
+ a = Train.objects.filter(usecomp=Partment.objects.get(
+ partid=companyid)).exclude(deletemark=0)
qssj = req.GET.get('qssj')
jssj = req.GET.get('jssj')
- pxbm= req.GET.get('trainpart')
+ pxbm = req.GET.get('trainpart')
pxjb = req.GET.get('trainlevel')
pxnr = req.GET.get('traincontent')
if pxjb:
@@ -2591,85 +2876,98 @@ def pxhandle(req):
a = a.filter(starttime__gte=qssj)
if jssj:
a = a.filter(starttime__lte=jssj)
- total=a.count()
- startnum,endnum=fenye(req)
- obj=a.order_by('-starttime')[startnum:endnum].values('trainnum','trainid','state','trainplace','starttime','trainname','traintype__dickeyname','teacher','lecturer__name','submituser__name','submituser__userid')
- return HttpResponse(transjson(total,obj),content_type="application/json")
- elif req.GET.get('a')=='detailhtml':
- trainid = req.GET.get('trainid')
- return render(req,'traindetail.html',{'trainid':trainid})
- elif req.GET.get('a')=='listall':
- userid = req.session['userid']
- companyid = getcompany(userid)
- a=Train.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1).order_by('-modifytime')
- total=a.count()
- startnum,endnum=fenye(req)
- a=a[startnum:endnum].values('trainnum','trainid','state','trainplace','starttime','trainname','traintype__dickeyname','teacher','lecturer__name','submituser__name','submituser__userid')
- return HttpResponse(transjson(total,a),content_type="application/json")
- elif req.GET.get('a')=='listtodo':
- userid = req.session['userid']
- companyid = getcompany(userid)
- a=Train.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1,state=0,submituser__userid=userid).order_by('-modifytime')
- total=a.count()
- startnum,endnum=fenye(req)
- a=a[startnum:endnum].values('trainnum','trainid','state','trainplace','starttime','trainname','traintype__dickeyname','teacher','lecturer__name','submituser__name','submituser__userid')
- return HttpResponse(transjson(total,a),content_type="application/json")
- elif req.GET.get('a')=='listcj':
- userid = req.session['userid']
- companyid = getcompany(userid)
- a = Trainuser.objects.filter(participant=User.objects.get(userid=userid),train__deletemark=1).order_by('-train__modifytime')
total = a.count()
- startnum,endnum = fenye(req)
- a = a[startnum:endnum].values('train__trainnum','train__trainid','train__state','train__trainplace','train__starttime','train__trainname','checked','train__teacher','train__lecturer__name')
- return HttpResponse(transjson(total,a),content_type="application/json")
- elif req.GET.get('a')=='dqdnum':
+ startnum, endnum = fenye(req)
+ obj = a.order_by('-starttime')[startnum:endnum].values('trainnum', 'trainid', 'state', 'trainplace', 'starttime',
+ 'trainname', 'traintype__dickeyname', 'teacher', 'lecturer__name', 'submituser__name', 'submituser__userid')
+ return HttpResponse(transjson(total, obj), content_type="application/json")
+ elif req.GET.get('a') == 'detailhtml':
+ trainid = req.GET.get('trainid')
+ return render(req, 'traindetail.html', {'trainid': trainid})
+ elif req.GET.get('a') == 'listall':
userid = req.session['userid']
companyid = getcompany(userid)
- dqdnum = Trainuser.objects.filter(participant=User.objects.get(userid=userid),checked=0,train__deletemark=1).count()
- return JsonResponse({'code':1,'dqdnum':dqdnum})
- elif req.GET.get('a')=='detail':
+ a = Train.objects.filter(usecomp=Partment.objects.get(
+ partid=companyid), deletemark=1).order_by('-modifytime')
+ total = a.count()
+ startnum, endnum = fenye(req)
+ a = a[startnum:endnum].values('trainnum', 'trainid', 'state', 'trainplace', 'starttime', 'trainname',
+ 'traintype__dickeyname', 'teacher', 'lecturer__name', 'submituser__name', 'submituser__userid')
+ return HttpResponse(transjson(total, a), content_type="application/json")
+ elif req.GET.get('a') == 'listtodo':
+ userid = req.session['userid']
+ companyid = getcompany(userid)
+ a = Train.objects.filter(usecomp=Partment.objects.get(
+ partid=companyid), deletemark=1, state=0, submituser__userid=userid).order_by('-modifytime')
+ total = a.count()
+ startnum, endnum = fenye(req)
+ a = a[startnum:endnum].values('trainnum', 'trainid', 'state', 'trainplace', 'starttime', 'trainname',
+ 'traintype__dickeyname', 'teacher', 'lecturer__name', 'submituser__name', 'submituser__userid')
+ return HttpResponse(transjson(total, a), content_type="application/json")
+ elif req.GET.get('a') == 'listcj':
+ userid = req.session['userid']
+ companyid = getcompany(userid)
+ a = Trainuser.objects.filter(participant=User.objects.get(
+ userid=userid), train__deletemark=1).order_by('-train__modifytime')
+ total = a.count()
+ startnum, endnum = fenye(req)
+ a = a[startnum:endnum].values('train__trainnum', 'train__trainid', 'train__state', 'train__trainplace',
+ 'train__starttime', 'train__trainname', 'checked', 'train__teacher', 'train__lecturer__name')
+ return HttpResponse(transjson(total, a), content_type="application/json")
+ elif req.GET.get('a') == 'dqdnum':
+ userid = req.session['userid']
+ companyid = getcompany(userid)
+ dqdnum = Trainuser.objects.filter(participant=User.objects.get(
+ userid=userid), checked=0, train__deletemark=1).count()
+ return JsonResponse({'code': 1, 'dqdnum': dqdnum})
+ elif req.GET.get('a') == 'detail':
trainid = req.GET.get('trainid')
a = Train.objects.filter(trainid=trainid)
- x = a.values('trainid','trainnum','state','trainplace','starttime','trainname','traintype__dickeyname','teacher','lecturer__name','submituser__name','submittime','trainlevel__dicname','traincontent__dickeyname','manlevel__dickeyname','detailcontent','participantnum','knownum','duration','material','checkqr','examtest__num','examtest__name')[0]
+ x = a.values('trainid', 'trainnum', 'state', 'trainplace', 'starttime', 'trainname', 'traintype__dickeyname', 'teacher', 'lecturer__name', 'submituser__name', 'submittime', 'trainlevel__dicname',
+ 'traincontent__dickeyname', 'manlevel__dickeyname', 'detailcontent', 'participantnum', 'knownum', 'duration', 'material', 'checkqr', 'examtest__num', 'examtest__name')[0]
for key in x:
if x[key] == None:
x[key] = ''
x['material'] = x['material'].split('?')
- #对many字段单独处理
- str1=[]
+ # 对many字段单独处理
+ str1 = []
for i in a.values('trainpart__partname'):
str1.append(i['trainpart__partname'])
- x['trainpart']=','.join(str1)
- str2=[]
+ x['trainpart'] = ','.join(str1)
+ str2 = []
objs = Trainuser.objects.filter(train=a[0])
- detailobjs = objs.order_by('checked').values('participant__name','participant__ubelongpart__partname','checked','qdsj','isnew')
+ detailobjs = objs.order_by('checked').values(
+ 'participant__name', 'participant__ubelongpart__partname', 'checked', 'qdsj', 'isnew')
for i in objs.filter(checked=1):
str2.append(i.participant.name)
x['participantname'] = ','.join(str2)
x['participantnum'] = objs.filter(checked=1).count()
x['cjrydetail'] = list(detailobjs)
- return HttpResponse(json.dumps(x,cls=MyEncoder),content_type="application/json")
+ return HttpResponse(json.dumps(x, cls=MyEncoder), content_type="application/json")
elif req.GET.get('a') == 'check':
userid = req.session['userid']
trainid = req.GET.get('trainid')
- obj = Trainuser.objects.filter(train=Train.objects.get(trainid=trainid),participant=User.objects.get(userid=userid))
+ obj = Trainuser.objects.filter(train=Train.objects.get(
+ trainid=trainid), participant=User.objects.get(userid=userid))
if obj.exists():
- obj.update(checked=1,qdsj=datetime.now())
+ obj.update(checked=1, qdsj=datetime.now())
else:
- Trainuser.objects.create(train=Train.objects.get(trainid=trainid),participant=User.objects.get(userid=userid),checked=1,qdsj=datetime.now(),isnew=1)
- return JsonResponse({"code":1})
- elif req.GET.get('a')=='exportword':
+ Trainuser.objects.create(train=Train.objects.get(trainid=trainid), participant=User.objects.get(
+ userid=userid), checked=1, qdsj=datetime.now(), isnew=1)
+ return JsonResponse({"code": 1})
+ elif req.GET.get('a') == 'exportword':
trainid = req.GET.get('trainid')
- v = exportdoc('px',trainid)
- return JsonResponse({"code":1,'downloadurl':v})
- elif req.GET.get('a')=='exportexcel':
- #pxids=json.loads(req.body.decode())['pxids']
+ v = exportdoc('px', trainid)
+ return JsonResponse({"code": 1, 'downloadurl': v})
+ elif req.GET.get('a') == 'exportexcel':
+ # pxids=json.loads(req.body.decode())['pxids']
userid = req.session['userid']
companyid = getcompany(userid)
- a = Train.objects.filter(usecomp=Partment.objects.get(partid=companyid)).exclude(deletemark=0)
+ a = Train.objects.filter(usecomp=Partment.objects.get(
+ partid=companyid)).exclude(deletemark=0)
qssj = req.GET.get('qssj')
jssj = req.GET.get('jssj')
- pxbm= req.GET.get('trainpart')
+ pxbm = req.GET.get('trainpart')
pxjb = req.GET.get('trainlevel')
pxnr = req.GET.get('traincontent')
if pxjb:
@@ -2682,74 +2980,81 @@ def pxhandle(req):
a = a.filter(starttime__gte=qssj)
if jssj:
a = a.filter(starttime__lte=jssj)
- v = exportxlsx('px',a)
- return JsonResponse({"code":1,'downloadurl':v})
- elif req.GET.get('a')=='del':
- trainid=req.GET.get('trainid')
+ v = exportxlsx('px', a)
+ return JsonResponse({"code": 1, 'downloadurl': v})
+ elif req.GET.get('a') == 'del':
+ trainid = req.GET.get('trainid')
userid = req.session['userid']
a = Train.objects.get(trainid=trainid)
- if User.objects.get(userid = userid).issuper == 1:
- a.deletemark=0
+ if User.objects.get(userid=userid).issuper == 1:
+ a.deletemark = 0
a.save()
- return JsonResponse({"code":1})
- elif a.submituser.userid == userid and a.state==0:
- a.deletemark=0
+ return JsonResponse({"code": 1})
+ elif a.submituser.userid == userid and a.state == 0:
+ a.deletemark = 0
a.save()
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
else:
- return JsonResponse({"code":0})
+ return JsonResponse({"code": 0})
+
def ylhandle(req):
- if req.GET.get('a')=='listall':
+ if req.GET.get('a') == 'listall':
userid = req.session['userid']
companyid = getcompany(userid)
- startnum,endnum=fenye(req)
- a=Drill.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1).order_by('-starttime')
+ startnum, endnum = fenye(req)
+ a = Drill.objects.filter(usecomp=Partment.objects.get(
+ partid=companyid), deletemark=1).order_by('-starttime')
total = a.count()
- startnum,endnum=fenye(req)
- a=a[startnum:endnum].values('drillnum','drillid','state','drillplace','starttime','drillname','drilltype__dickeyname','chief__name','submituser__name','submituser__userid')
- return HttpResponse(transjson(total,a),content_type="application/json")
- elif req.GET.get('a')=='listtodo':
+ startnum, endnum = fenye(req)
+ a = a[startnum:endnum].values('drillnum', 'drillid', 'state', 'drillplace', 'starttime',
+ 'drillname', 'drilltype__dickeyname', 'chief__name', 'submituser__name', 'submituser__userid')
+ return HttpResponse(transjson(total, a), content_type="application/json")
+ elif req.GET.get('a') == 'listtodo':
userid = req.session['userid']
companyid = getcompany(userid)
- a=Drill.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1,submituser__userid=userid,state=0).order_by('-starttime')
+ a = Drill.objects.filter(usecomp=Partment.objects.get(
+ partid=companyid), deletemark=1, submituser__userid=userid, state=0).order_by('-starttime')
total = a.count()
- startnum,endnum=fenye(req)
- a=a[startnum:endnum].values('drillnum','drillid','state','drillplace','starttime','drillname','drilltype__dickeyname','chief__name','submituser__name','submituser__userid')
- total=a.count()
- return HttpResponse(transjson(total,a),content_type="application/json")
- elif req.GET.get('a')=='detailhtml':
- drillid=req.GET.get('drillid')
- return render(req,'drilldetail.html',{'drillid':drillid})
- elif req.GET.get('a')=='detail':
- drillid=req.GET.get('drillid')
+ startnum, endnum = fenye(req)
+ a = a[startnum:endnum].values('drillnum', 'drillid', 'state', 'drillplace', 'starttime',
+ 'drillname', 'drilltype__dickeyname', 'chief__name', 'submituser__name', 'submituser__userid')
+ total = a.count()
+ return HttpResponse(transjson(total, a), content_type="application/json")
+ elif req.GET.get('a') == 'detailhtml':
+ drillid = req.GET.get('drillid')
+ return render(req, 'drilldetail.html', {'drillid': drillid})
+ elif req.GET.get('a') == 'detail':
+ drillid = req.GET.get('drillid')
a = Drill.objects.filter(drillid=drillid)
- x = a.values('drillid','drillnum','state','drillplace','starttime','drilllevel__dicname','drillname','drilltype__dickeyname','chief__name','submituser__name','submittime','drillcontent__dickeyname','detailcontent','participantnum','knownum','material')[0]
+ x = a.values('drillid', 'drillnum', 'state', 'drillplace', 'starttime', 'drilllevel__dicname', 'drillname', 'drilltype__dickeyname',
+ 'chief__name', 'submituser__name', 'submittime', 'drillcontent__dickeyname', 'detailcontent', 'participantnum', 'knownum', 'material')[0]
for key in x:
if x[key] == None:
x[key] = ''
x['material'] = x['material'].split('?')
- #对many字段单独处理
- str1=[]
+ # 对many字段单独处理
+ str1 = []
for i in a.values('drillpart__partname'):
str1.append(i['drillpart__partname'])
- x['drillpart']=','.join(str1)
- str2=[]
+ x['drillpart'] = ','.join(str1)
+ str2 = []
for i in a.values('participant__name'):
str2.append(i['participant__name'])
- x['participantname']=','.join(str2)
+ x['participantname'] = ','.join(str2)
return JsonResponse(x)
- elif req.GET.get('a')=='exportword':
+ elif req.GET.get('a') == 'exportword':
drillid = req.GET.get('drillid')
- v = exportdoc('yl',drillid)
- return JsonResponse({"code":1,'downloadurl':v})
- elif req.GET.get('a')=='exportexcel':
+ v = exportdoc('yl', drillid)
+ return JsonResponse({"code": 1, 'downloadurl': v})
+ elif req.GET.get('a') == 'exportexcel':
userid = req.session['userid']
companyid = getcompany(userid)
- a = Drill.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1)
+ a = Drill.objects.filter(usecomp=Partment.objects.get(
+ partid=companyid), deletemark=1)
qssj = req.GET.get('qssj')
jssj = req.GET.get('jssj')
- ylbm= req.GET.get('drillpart')
+ ylbm = req.GET.get('drillpart')
yljb = req.GET.get('drilllevel')
ylnr = req.GET.get('drillcontent')
if yljb:
@@ -2762,29 +3067,30 @@ def ylhandle(req):
a = a.filter(starttime__gte=qssj)
if jssj:
a = a.filter(starttime__lte=jssj)
- v = exportxlsx('yl',a)
- return JsonResponse({"code":1,'downloadurl':v})
- elif req.GET.get('a')=='del':
- drillid=req.GET.get('drillid')
+ v = exportxlsx('yl', a)
+ return JsonResponse({"code": 1, 'downloadurl': v})
+ elif req.GET.get('a') == 'del':
+ drillid = req.GET.get('drillid')
userid = req.session['userid']
a = Drill.objects.get(drillid=drillid)
- if User.objects.get(userid = userid).issuper == 1:
- a.deletemark=0
+ if User.objects.get(userid=userid).issuper == 1:
+ a.deletemark = 0
a.save()
- return JsonResponse({"code":1})
- elif a.submituser.userid == userid and a.state==0:
- a.deletemark=0
+ return JsonResponse({"code": 1})
+ elif a.submituser.userid == userid and a.state == 0:
+ a.deletemark = 0
a.save()
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
else:
- return JsonResponse({"code":0})
- elif req.GET.get('a')=='listsearch':
+ return JsonResponse({"code": 0})
+ elif req.GET.get('a') == 'listsearch':
userid = req.session['userid']
companyid = getcompany(userid)
- a = Drill.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1)
+ a = Drill.objects.filter(usecomp=Partment.objects.get(
+ partid=companyid), deletemark=1)
qssj = req.GET.get('qssj')
jssj = req.GET.get('jssj')
- ylbm= req.GET.get('drillpart')
+ ylbm = req.GET.get('drillpart')
yljb = req.GET.get('drilllevel')
ylnr = req.GET.get('drillcontent')
if yljb:
@@ -2797,10 +3103,12 @@ def ylhandle(req):
a = a.filter(starttime__gte=qssj)
if jssj:
a = a.filter(starttime__lte=jssj)
- total=a.count()
- startnum,endnum=fenye(req)
- obj=a.order_by('-starttime')[startnum:endnum].values('drillnum','drillid','state','drillplace','starttime','drillname','drilltype__dickeyname','chief__name','submituser__name','submituser__userid')
- return HttpResponse(transjson(total,a),content_type="application/json")
+ total = a.count()
+ startnum, endnum = fenye(req)
+ obj = a.order_by('-starttime')[startnum:endnum].values('drillnum', 'drillid', 'state', 'drillplace',
+ 'starttime', 'drillname', 'drilltype__dickeyname', 'chief__name', 'submituser__name', 'submituser__userid')
+ return HttpResponse(transjson(total, a), content_type="application/json")
+
def gchandle(req):
a = req.GET.get('a')
@@ -2823,303 +3131,355 @@ def gchandle(req):
obj.otherunsafe = gcdata['otherunsafe']
if 'safecontent' in gcdata:
obj.safecontent = gcdata['safecontent']
- obj.looknum='GC'+time.strftime('%Y%m%d%H%M%S')
+ obj.looknum = 'GC'+time.strftime('%Y%m%d%H%M%S')
obj.usecomp = Partment.objects.get(partid=companyid)
if 'lookimg' in gcdata:
obj.lookimg = '?'.join(gcdata['lookimg'])
obj.save()
if 'lookers' in gcdata:
- ulist=gcdata['lookers'].split(',')
+ ulist = gcdata['lookers'].split(',')
for i in ulist:
- x=User.objects.get(userid=i)
+ x = User.objects.get(userid=i)
obj.lookers.add(x)
if 'unsafe' in gcdata:
olist = gcdata['unsafe']
for i in olist:
if i != 0:
dickey = Dickey.objects.get(dickeyid=i)
- m = Unsafes(observe = obj,unsafedickey=dickey,unsafedicclass=dickey.dicparent)
+ m = Unsafes(observe=obj, unsafedickey=dickey,
+ unsafedicclass=dickey.dicparent)
m.save()
yjjs_gc.delay(companyid)
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
elif a == 'listall':
- startnum,endnum=fenye(req)
- a = Observe.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1).order_by('-looktime')
+ startnum, endnum = fenye(req)
+ a = Observe.objects.filter(usecomp=Partment.objects.get(
+ partid=companyid), deletemark=1).order_by('-looktime')
total = a.count()
- a = a[startnum:endnum].values('lookid','looknum','lookplace','actname','looktime','looker__name','lookeder','otherunsafe')
+ a = a[startnum:endnum].values('lookid', 'looknum', 'lookplace',
+ 'actname', 'looktime', 'looker__name', 'lookeder', 'otherunsafe')
for i in a:
- objs = Observeto.objects.filter(observe__lookid=i['lookid'],user__userid = userid)
+ objs = Observeto.objects.filter(
+ observe__lookid=i['lookid'], user__userid=userid)
if objs.exists():
- i['read']=1
+ i['read'] = 1
i['readtime'] = objs[0].submittime
else:
- i['read']=0
- return HttpResponse(transjson(total,a),content_type="application/json")
+ i['read'] = 0
+ return HttpResponse(transjson(total, a), content_type="application/json")
elif a == 'listself':
- startnum,endnum=fenye(req)
- a = Observe.objects.filter(looker__userid=userid,deletemark=1).order_by('-looktime')
+ startnum, endnum = fenye(req)
+ a = Observe.objects.filter(
+ looker__userid=userid, deletemark=1).order_by('-looktime')
total = a.count()
- a = a[startnum:endnum].values('lookid','looknum','lookplace','actname','looktime','looker__name','lookeder','otherunsafe')
- return HttpResponse(transjson(total,a),content_type="application/json")
+ a = a[startnum:endnum].values('lookid', 'looknum', 'lookplace',
+ 'actname', 'looktime', 'looker__name', 'lookeder', 'otherunsafe')
+ return HttpResponse(transjson(total, a), content_type="application/json")
elif a == 'del':
- lookid =req.GET.get('lookid')
+ lookid = req.GET.get('lookid')
a = Observe.objects.get(lookid=lookid)
- if User.objects.get(userid = userid).issuper == 1:
- a.deletemark=0
+ if User.objects.get(userid=userid).issuper == 1:
+ a.deletemark = 0
a.save()
yjjs_gc.delay(companyid)
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
else:
- return JsonResponse({"code":0})
+ return JsonResponse({"code": 0})
elif a == 'listsearch':
- startnum,endnum=fenye(req)
- a = Observe.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1)
- #print(req.GET.get('qssj'))
+ startnum, endnum = fenye(req)
+ a = Observe.objects.filter(
+ usecomp=Partment.objects.get(partid=companyid), deletemark=1)
+ # print(req.GET.get('qssj'))
if req.GET.get('gcr'):
a = a.filter(looker__userid=req.GET.get('gcr'))
if req.GET.get('gcbm'):
- parts = Partment.objects.filter(partlink__contains=','+req.GET.get('gcbm')+',')|Partment.objects.filter(partid=req.GET.get('gcbm'))
- a = a.filter(lookpart__in = parts)
+ parts = Partment.objects.filter(partlink__contains=','+req.GET.get(
+ 'gcbm')+',') | Partment.objects.filter(partid=req.GET.get('gcbm'))
+ a = a.filter(lookpart__in=parts)
if req.GET.get('qssj'):
a = a.filter(looktime__gte=req.GET.get('qssj'))
if req.GET.get('jssj'):
a = a.filter(looktime__lte=req.GET.get('jssj'))
total = a.count()
- startnum,endnum=fenye(req)
- a = a.order_by('-looktime')[startnum:endnum].values('lookid','looknum','lookplace','actname','looktime','looker__name','lookeder')
- return HttpResponse(transjson(total,a),content_type="application/json")
+ startnum, endnum = fenye(req)
+ a = a.order_by('-looktime')[startnum:endnum].values('lookid', 'looknum',
+ 'lookplace', 'actname', 'looktime', 'looker__name', 'lookeder')
+ return HttpResponse(transjson(total, a), content_type="application/json")
elif a == 'exportexcel':
- a = Observe.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1)
+ a = Observe.objects.filter(
+ usecomp=Partment.objects.get(partid=companyid), deletemark=1)
if req.GET.get('gcr'):
a = a.filter(looker__userid=req.GET.get('gcr'))
if req.GET.get('gcbm'):
- parts = Partment.objects.filter(partlink__contains=','+req.GET.get('gcbm')+',')|Partment.objects.filter(partid=req.GET.get('gcbm'))
- a = a.filter(lookpart__in = parts)
+ parts = Partment.objects.filter(partlink__contains=','+req.GET.get(
+ 'gcbm')+',') | Partment.objects.filter(partid=req.GET.get('gcbm'))
+ a = a.filter(lookpart__in=parts)
if req.GET.get('qssj'):
a = a.filter(looktime__gte=req.GET.get('qssj'))
if req.GET.get('jssj'):
a = a.filter(looktime__lte=req.GET.get('jssj'))
- res = exportxlsx('gc',a)
+ res = exportxlsx('gc', a)
return res
elif a == 'detailhtml':
- return render(req,'observedetail.html',{'lookid':req.GET.get('lookid')})
+ return render(req, 'observedetail.html', {'lookid': req.GET.get('lookid')})
elif a == 'detail':
- lookid=req.GET.get('lookid')
+ lookid = req.GET.get('lookid')
a = Observe.objects.filter(lookid=lookid)
- x = a.values('lookid','looknum','lookplace','actname','looktime','looker__name','lookeder','otherunsafe','safecontent','lookpart__partname','submittime','lookimg','looktime2')[0]
- b = Unsafes.objects.filter(observe=a[0]).values('unsafedicclass__dicname','unsafedickey__dickeyname')
+ x = a.values('lookid', 'looknum', 'lookplace', 'actname', 'looktime', 'looker__name', 'lookeder',
+ 'otherunsafe', 'safecontent', 'lookpart__partname', 'submittime', 'lookimg', 'looktime2')[0]
+ b = Unsafes.objects.filter(observe=a[0]).values(
+ 'unsafedicclass__dicname', 'unsafedickey__dickeyname')
x['gcnr'] = list(b)
if x['lookimg']:
x['lookimg'] = x['lookimg'].split('?')
else:
- x['lookimg']=[]
- x['lookers']=[]
+ x['lookimg'] = []
+ x['lookers'] = []
for i in a[0].lookers.all():
x['lookers'].append(i.name)
- x['lookers']=','.join(x['lookers'])
- Observeto.objects.get_or_create(observe=a[0], user=User.objects.get(userid=req.session['userid']),defaults={'read': 1})
- return HttpResponse(json.dumps(x,cls=MyEncoder),content_type="application/json")
+ x['lookers'] = ','.join(x['lookers'])
+ Observeto.objects.get_or_create(observe=a[0], user=User.objects.get(
+ userid=req.session['userid']), defaults={'read': 1})
+ return HttpResponse(json.dumps(x, cls=MyEncoder), content_type="application/json")
elif a == 'getdics':
- gcdict={}
- gclist=[]
- objs = Dicclass.objects.filter(parentid=23).order_by('dicid') #行为观察字典集合
+ gcdict = {}
+ gclist = []
+ objs = Dicclass.objects.filter(
+ parentid=23).order_by('dicid') # 行为观察字典集合
for i in objs:
- x={'value':i.dicid,'text':i.dicname}
- obj = Dickey.objects.filter(dicparent=i.dicid,deletemark=1)
- obj = (obj.filter(usecomps__contains=',1,')|obj.filter(usecomps__contains=','+companyid+',')).exclude(nousecomps__contains=','+companyid+',').order_by('dickeyid')
- x0= []
+ x = {'value': i.dicid, 'text': i.dicname}
+ obj = Dickey.objects.filter(dicparent=i.dicid, deletemark=1)
+ obj = (obj.filter(usecomps__contains=',1,') | obj.filter(usecomps__contains=',' +
+ companyid+',')).exclude(nousecomps__contains=','+companyid+',').order_by('dickeyid')
+ x0 = []
for i in obj:
- x0.append({'value':i.dickeyid,'text':i.dickeyname})
- x['child']=x0
+ x0.append({'value': i.dickeyid, 'text': i.dickeyname})
+ x['child'] = x0
gclist.append(x)
- gcdict['data']=gclist
+ gcdict['data'] = gclist
return JsonResponse(gcdict)
elif a == 'noreadnum':
- a = Observe.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1).count()
- b = Observeto.objects.filter(user__userid=userid,observe__deletemark=1).count()
+ a = Observe.objects.filter(usecomp=Partment.objects.get(
+ partid=companyid), deletemark=1).count()
+ b = Observeto.objects.filter(
+ user__userid=userid, observe__deletemark=1).count()
noread = a-b
- return JsonResponse({'noread':noread})
+ return JsonResponse({'noread': noread})
elif a == 'exportword':
data = json.loads(req.body.decode('utf-8'))
- url = exportdoc2('gc',data)
- return JsonResponse({"code":1,"downloadurl":url})
+ url = exportdoc2('gc', data)
+ return JsonResponse({"code": 1, "downloadurl": url})
+
def observepic(req):
- userid = req.session['userid']
- companyid = getcompany(userid)
+ userid = req.session['userid']
+ companyid = getcompany(userid)
- if req.GET.get('a')=='gclxt':#观察类型饼图
+ if req.GET.get('a') == 'gclxt': # 观察类型饼图
year = int(req.GET.get('year'))
month = int(req.GET.get('month'))
- first_day,first_day_of_next_month = gettime(datetime(year,month,1))
+ first_day, first_day_of_next_month = gettime(datetime(year, month, 1))
if req.GET.get('part'):
partid = req.GET.get('part')
else:
partid = companyid
- parts = Partment.objects.filter(Q(partid=partid) | Q(partlink__contains=',' + str(partid) + ','))
- a = Observe.objects.filter(lookpart__in=parts,deletemark=1,looktime__range=(first_day, first_day_of_next_month))
- value=[]
- key=[]
+ parts = Partment.objects.filter(Q(partid=partid) | Q(
+ partlink__contains=',' + str(partid) + ','))
+ a = Observe.objects.filter(lookpart__in=parts, deletemark=1, looktime__range=(
+ first_day, first_day_of_next_month))
+ value = []
+ key = []
for i in Dicclass.objects.filter(parentid__dicid=23):
x = i.dicname
- y = Unsafes.objects.filter(observe__in=a,unsafedicclass=i).count()
+ y = Unsafes.objects.filter(observe__in=a, unsafedicclass=i).count()
key.append(x)
- value.append({'value':y,'name':x})
- return JsonResponse({'code':1,'key':key,'value':value})
- elif req.GET.get('a')=='gclzx':#观察类型折线图
- year = int(req.GET.get('year'))
- months = [1,2,3,4,5,6,7,8,9,10,11,12]
- userfy=[]#人员反映
- userwz=[]#员工的位置
- grfh=[]#个人防护装备
- gjhsb=[]#工具和设备
- cxhbz=[]#程序和标准
- rtgcx=[]#人体工程学
- hjzj=[]#环境整洁
+ value.append({'value': y, 'name': x})
+ return JsonResponse({'code': 1, 'key': key, 'value': value})
+ elif req.GET.get('a') == 'gclzx': # 观察类型折线图
+ year = int(req.GET.get('year'))
+ months = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
+ userfy = [] # 人员反映
+ userwz = [] # 员工的位置
+ grfh = [] # 个人防护装备
+ gjhsb = [] # 工具和设备
+ cxhbz = [] # 程序和标准
+ rtgcx = [] # 人体工程学
+ hjzj = [] # 环境整洁
- for month in months:
- first_day,first_day_of_next_month = gettime(datetime(year,month,1))
- if req.GET.get('part'):
+ for month in months:
+ first_day, first_day_of_next_month = gettime(
+ datetime(year, month, 1))
+ if req.GET.get('part'):
partid = req.GET.get('part')
- else:
- partid = companyid
- parts = Partment.objects.filter(Q(partid=partid) | Q(partlink__contains=',' + str(partid) + ','))
- a = Observe.objects.filter(lookpart__in=parts,deletemark=1,looktime__range=(first_day, first_day_of_next_month))
- for i in Dicclass.objects.filter(parentid__dicid=23):
- if i.dicid==24:
- userfy.append(Unsafes.objects.filter(observe__in=a,unsafedicclass=i).count())
- elif i.dicid==25:
- userwz.append(Unsafes.objects.filter(observe__in=a,unsafedicclass=i).count())
- elif i.dicid==26:
- grfh.append(Unsafes.objects.filter(observe__in=a,unsafedicclass=i).count())
- elif i.dicid==27:
- gjhsb.append(Unsafes.objects.filter(observe__in=a,unsafedicclass=i).count())
- elif i.dicid==28:
- cxhbz.append(Unsafes.objects.filter(observe__in=a,unsafedicclass=i).count())
- elif i.dicid==29:
- rtgcx.append(Unsafes.objects.filter(observe__in=a,unsafedicclass=i).count())
- elif i.dicid==30:
- hjzj.append(Unsafes.objects.filter(observe__in=a,unsafedicclass=i).count())
+ else:
+ partid = companyid
+ parts = Partment.objects.filter(Q(partid=partid) | Q(
+ partlink__contains=',' + str(partid) + ','))
+ a = Observe.objects.filter(lookpart__in=parts, deletemark=1, looktime__range=(
+ first_day, first_day_of_next_month))
+ for i in Dicclass.objects.filter(parentid__dicid=23):
+ if i.dicid == 24:
+ userfy.append(Unsafes.objects.filter(
+ observe__in=a, unsafedicclass=i).count())
+ elif i.dicid == 25:
+ userwz.append(Unsafes.objects.filter(
+ observe__in=a, unsafedicclass=i).count())
+ elif i.dicid == 26:
+ grfh.append(Unsafes.objects.filter(
+ observe__in=a, unsafedicclass=i).count())
+ elif i.dicid == 27:
+ gjhsb.append(Unsafes.objects.filter(
+ observe__in=a, unsafedicclass=i).count())
+ elif i.dicid == 28:
+ cxhbz.append(Unsafes.objects.filter(
+ observe__in=a, unsafedicclass=i).count())
+ elif i.dicid == 29:
+ rtgcx.append(Unsafes.objects.filter(
+ observe__in=a, unsafedicclass=i).count())
+ elif i.dicid == 30:
+ hjzj.append(Unsafes.objects.filter(
+ observe__in=a, unsafedicclass=i).count())
+ return JsonResponse({'code': 1, 'months': months, 'userfy': userfy, 'userwz': userwz, 'grfh': grfh, 'gjhsb': gjhsb, 'cxhbz': cxhbz, 'rtgcx': rtgcx, 'hjzj': hjzj, })
+ elif req.GET.get('a') == 'gclxbg':
+ userid = req.session['userid']
+ companyid = getcompany(userid)
+ a = Observe.objects.filter(
+ usecomp=Partment.objects.get(partid=companyid), deletemark=1)
- return JsonResponse({'code':1,'months':months,'userfy':userfy,'userwz':userwz,'grfh':grfh,'gjhsb':gjhsb,'cxhbz':cxhbz,'rtgcx':rtgcx,'hjzj':hjzj,})
- elif req.GET.get('a')=='gclxbg':
- userid = req.session['userid']
- companyid = getcompany(userid)
- a = Observe.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1)
-
- if req.GET.get('qssj'):#开始时间
+ if req.GET.get('qssj'): # 开始时间
a = a.filter(looktime__gte=req.GET.get('qssj'))
- if req.GET.get('jssj'):#结束时间
+ if req.GET.get('jssj'): # 结束时间
a = a.filter(looktime__lte=req.GET.get('jssj'))
- if req.GET.get('fxbm'):
+ if req.GET.get('fxbm'):
gcbm = req.GET.get('fxbm')
- parts = Partment.objects.filter(partlink__contains=',' + gcbm + ',')|Partment.objects.filter(partid=gcbm)
+ parts = Partment.objects.filter(
+ partlink__contains=',' + gcbm + ',') | Partment.objects.filter(partid=gcbm)
a = a.filter(lookpart__in=parts)
- total = a.count()
- objs = a.values('looker__userid','looker__name','lookpart__partname').annotate(number = Count('looker')).order_by('-number')
- return HttpResponse(transjson(total,objs),content_type="application/json")
-
+ total = a.count()
+ objs = a.values('looker__userid', 'looker__name', 'lookpart__partname').annotate(
+ number=Count('looker')).order_by('-number')
+ return HttpResponse(transjson(total, objs), content_type="application/json")
def dicchandle(req):
a = req.GET.get('a')
if a == 'tree':
- a=Dicclass.objects.exclude(dicid=1).order_by('dicid').annotate(id=F('dicid'),parentId=F('parentid'),name=F('dicname')).values('id','parentId','name')
- return HttpResponse(json.dumps(list(a)),content_type="application/json")
+ a = Dicclass.objects.exclude(dicid=1).order_by('dicid').annotate(id=F(
+ 'dicid'), parentId=F('parentid'), name=F('dicname')).values('id', 'parentId', 'name')
+ return HttpResponse(json.dumps(list(a)), content_type="application/json")
+
def bwlogin2(req):
if req.method == 'GET':
try:
code = req.GET.get('code')
except:
- return render(req,'bindwechat2.html',{'msg':'还未绑定公众号!'})#还未关注公众号
- content = requests.get('https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx4d75244c1b980b5b&secret=edf7d23a457fb4df5ad47eeb9d4b7a39&code='+code+'&grant_type=authorization_code').content.decode('utf-8')
+ # 还未关注公众号
+ return render(req, 'bindwechat2.html', {'msg': '还未绑定公众号!'})
+ content = requests.get('https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx4d75244c1b980b5b&secret=edf7d23a457fb4df5ad47eeb9d4b7a39&code=' +
+ code+'&grant_type=authorization_code').content.decode('utf-8')
tokendict = json.loads(content)
openid = tokendict['openid']
access_token = tokendict['access_token']
- userinfo = requests.get('https://api.weixin.qq.com/sns/userinfo?access_token='+access_token+'&openid='+openid+'&lang=zh_CN').content.decode('utf-8')#拉取用户信息
+ userinfo = requests.get('https://api.weixin.qq.com/sns/userinfo?access_token=' +
+ access_token+'&openid='+openid+'&lang=zh_CN').content.decode('utf-8') # 拉取用户信息
userinfo = json.loads(userinfo)
nickname = userinfo['nickname']
headimgurl = userinfo['headimgurl']
- return render(req,'bwlogin2.html',{'openid':openid,'nickname':nickname,'headimgurl':headimgurl})
+ return render(req, 'bwlogin2.html', {'openid': openid, 'nickname': nickname, 'headimgurl': headimgurl})
else:
username = req.POST.get('username')
password = req.POST.get('password')
openid = req.POST.get('openid')
nickname = req.POST.get('nickname')
headimgurl = req.POST.get('headimgurl')
- user = User.objects.filter(username= username,deletemark=1)
+ user = User.objects.filter(username=username, deletemark=1)
if user.exists():
- if check_password(password,user[0].epassword):
- mpuser = User.objects.filter(openid=openid).exclude(username = username)
+ if check_password(password, user[0].epassword):
+ mpuser = User.objects.filter(
+ openid=openid).exclude(username=username)
if mpuser.exists():
- return render(req,'bindwechat.html',{'msg':'您的微信已绑定平台下'+mpuser[0].username+'账号,不可重复绑定,请先至pc端解绑!','code':0}) #已绑定其他账号
+ # 已绑定其他账号
+ return render(req, 'bindwechat.html', {'msg': '您的微信已绑定平台下'+mpuser[0].username+'账号,不可重复绑定,请先至pc端解绑!', 'code': 0})
else:
if user[0].openid == '0' or user[0].openid == None or user[0].openid == '':
- user.update(openid=openid,headimgurl=headimgurl,nickname=nickname)
- return render(req,'bindwechat.html',{'msg':'绑定成功,请刷新电脑端浏览器!','code':1})
+ user.update(openid=openid,
+ headimgurl=headimgurl, nickname=nickname)
+ return render(req, 'bindwechat.html', {'msg': '绑定成功,请刷新电脑端浏览器!', 'code': 1})
else:
if user[0].openid == openid:
- return render(req,'bindwechat.html',{'msg':'绑定成功,请刷新电脑端浏览器!','code':1})
+ return render(req, 'bindwechat.html', {'msg': '绑定成功,请刷新电脑端浏览器!', 'code': 1})
else:
- return render(req,'bindwechat.html',{'msg':'该平台账号已绑定昵称为'+user[0].nickname+'的微信,不可重复绑定,请先至pc端解绑!','code':0}) #已绑定其他账号
+ # 已绑定其他账号
+ return render(req, 'bindwechat.html', {'msg': '该平台账号已绑定昵称为'+user[0].nickname+'的微信,不可重复绑定,请先至pc端解绑!', 'code': 0})
else:
- return render(req,'bwlogin.html',{'msg':'密码错误'})
+ return render(req, 'bwlogin.html', {'msg': '密码错误'})
else:
- return render(req,'bwlogin.html',{'msg':'用户不存在或已禁用'})
+ return render(req, 'bwlogin.html', {'msg': '用户不存在或已禁用'})
+
def bwlogin(req):
if req.method == 'GET':
try:
code = req.GET.get('code')
except:
- return render(req,'bindwechat.html',{'msg':'还未绑定公众号!'})#还未关注公众号
- content = requests.get('https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx4d75244c1b980b5b&secret=edf7d23a457fb4df5ad47eeb9d4b7a39&code='+code+'&grant_type=authorization_code').content.decode('utf-8')
+ # 还未关注公众号
+ return render(req, 'bindwechat.html', {'msg': '还未绑定公众号!'})
+ content = requests.get('https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx4d75244c1b980b5b&secret=edf7d23a457fb4df5ad47eeb9d4b7a39&code=' +
+ code+'&grant_type=authorization_code').content.decode('utf-8')
tokendict = json.loads(content)
openid = tokendict['openid']
access_token = tokendict['access_token']
mpuser = User.objects.filter(openid=openid)
if mpuser.exists():
- return render(req,'bindwechat.html',{'msg':'您的微信已绑定平台下'+mpuser[0].username+'账号,不可重复绑定,可先至pc端解绑!','code':0}) #已绑定账号
- userinfo = requests.get('https://api.weixin.qq.com/sns/userinfo?access_token='+access_token+'&openid='+openid+'&lang=zh_CN').content.decode('utf-8')#拉取用户信息
+ # 已绑定账号
+ return render(req, 'bindwechat.html', {'msg': '您的微信已绑定平台下'+mpuser[0].username+'账号,不可重复绑定,可先至pc端解绑!', 'code': 0})
+ userinfo = requests.get('https://api.weixin.qq.com/sns/userinfo?access_token=' +
+ access_token+'&openid='+openid+'&lang=zh_CN').content.decode('utf-8') # 拉取用户信息
userinfo = json.loads(userinfo)
nickname = userinfo['nickname']
headimgurl = userinfo['headimgurl']
- return render(req,'bwlogin.html',{'openid':openid,'nickname':nickname,'headimgurl':headimgurl})
+ return render(req, 'bwlogin.html', {'openid': openid, 'nickname': nickname, 'headimgurl': headimgurl})
else:
username = req.POST.get('username')
password = req.POST.get('password')
openid = req.POST.get('openid')
nickname = req.POST.get('nickname')
headimgurl = req.POST.get('headimgurl')
- user = User.objects.filter(username = username,deletemark=1)
+ user = User.objects.filter(username=username, deletemark=1)
if user.exists():
- if check_password(password,user[0].epassword):
- User.objects.filter(openid=openid).update(openid=None,headimgurl=None,nickname=None)
- user.update(openid=openid,headimgurl=headimgurl,nickname=nickname)
- return render(req,'bindwechat.html',{'msg':'绑定成功,请刷新电脑端浏览器!','code':1})
+ if check_password(password, user[0].epassword):
+ User.objects.filter(openid=openid).update(
+ openid=None, headimgurl=None, nickname=None)
+ user.update(openid=openid, headimgurl=headimgurl,
+ nickname=nickname)
+ return render(req, 'bindwechat.html', {'msg': '绑定成功,请刷新电脑端浏览器!', 'code': 1})
else:
- return render(req,'bwlogin.html',{'msg':'密码错误'})
+ return render(req, 'bwlogin.html', {'msg': '密码错误'})
else:
- return render(req,'bwlogin.html',{'msg':'用户不存在或已禁用'})
-
+ return render(req, 'bwlogin.html', {'msg': '用户不存在或已禁用'})
def unbindwechat(req):
- userid=req.session['userid']
- User.objects.filter(userid=userid).update(openid=None,headimgurl=None,nickname=None,mpopenid=None)
- return JsonResponse({"code":1})
+ userid = req.session['userid']
+ User.objects.filter(userid=userid).update(
+ openid=None, headimgurl=None, nickname=None, mpopenid=None)
+ return JsonResponse({"code": 1})
+
def unbindmp(req):
- userid=req.session['userid']
- User.objects.filter(userid=userid).update(openid=None,headimgurl=None,nickname=None,mpopenid=None)
- return JsonResponse({"code":1})
+ userid = req.session['userid']
+ User.objects.filter(userid=userid).update(
+ openid=None, headimgurl=None, nickname=None, mpopenid=None)
+ return JsonResponse({"code": 1})
+
def vewechat(req):
return HttpResponse('201810170853050zbwtyaxirqeb757umcehktirlemh2ib10kcdovka13hchyf4s', content_type="text/plain")
+
def minip_px(req):
f = StringIO()
f.write('86beeba7de3c84c26244f19287f49a03')
@@ -3128,13 +3488,15 @@ def minip_px(req):
res.write(f.getvalue())
return res
+
def mplogin(req):
res = req.body.decode('utf-8')
try:
code = req.POST.get('code')
except:
code = json.loads(res)['code']
- info = requests.get('https://api.weixin.qq.com/sns/jscode2session?appid=wx5c39b569f01c27db&secret=68762892f8df2b4a0b1940c5250a8dc0&js_code='+code+'&grant_type=authorization_code').content.decode('utf-8')
+ info = requests.get('https://api.weixin.qq.com/sns/jscode2session?appid=wx5c39b569f01c27db&secret=68762892f8df2b4a0b1940c5250a8dc0&js_code=' +
+ code+'&grant_type=authorization_code').content.decode('utf-8')
info = json.loads(info)
mpopenid = info['openid']
session_key = info['session_key']
@@ -3144,35 +3506,37 @@ def mplogin(req):
username = a.username
req.session['userid'] = userid
# print(req.session,req.COOKIES)
- return JsonResponse({"code":1,'userid':userid,'username':username,'mpopenid':mpopenid})
+ return JsonResponse({"code": 1, 'userid': userid, 'username': username, 'mpopenid': mpopenid,'openid':a.openid})
else:
- return JsonResponse({"code":0,'mpopenid':mpopenid})
+ return JsonResponse({"code": 0, 'mpopenid': mpopenid})
+
def bindmp(req):
username = req.POST.get('username')
password = req.POST.get('password')
mpopenid = req.POST.get('mpopenid')
- #print(username,password,mpopenid)
- user = User.objects.filter(username = username,deletemark=1)
+ # print(username,password,mpopenid)
+ user = User.objects.filter(username=username, deletemark=1)
if user.exists():
- if check_password(password,user[0].epassword):
+ if check_password(password, user[0].epassword):
user.update(mpopenid=mpopenid)
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
else:
- return JsonResponse({"code":0})
+ return JsonResponse({"code": 0})
else:
- return JsonResponse({"code":0})
+ return JsonResponse({"code": 0})
+
def setup(req):
if req.GET.get('a') == 'setuph':
userid = req.session['userid']
companyid = getcompany(userid)
- obj = Yjsetup.objects.filter(usecomp__partid = companyid).values()
- return render(req,'setup.html',obj[0])
+ obj = Yjsetup.objects.filter(usecomp__partid=companyid).values()
+ return render(req, 'setup.html', obj[0])
elif req.GET.get('a') == 'setup':
userid = req.session['userid']
companyid = getcompany(userid)
- obj = Yjsetup.objects.filter(usecomp__partid = companyid).values()
+ obj = Yjsetup.objects.filter(usecomp__partid=companyid).values()
#a = {'total':total,'rows':list(obj),'code':1}
#jsondata = json.dumps(a,cls=MyEncoder)
return JsonResponse(obj[0])
@@ -3193,30 +3557,34 @@ def setup(req):
pxxgqz = req.POST.get('pxxgqz')
yldjqz = req.POST.get('yldjqz')
ylxgqz = req.POST.get('ylxgqz')
- Yjsetup.objects.filter(yjsetupid=yjsetupid).update(monthyhavg=monthyhavg,safev=safev,warnv=warnv,alertv=alertv,maxv=maxv,
- yhpgqz=yhpgqz,yhdjqz=yhdjqz,yhsblqz=yhsblqz,yhzglqz=yhzglqz,pxdjqz=pxdjqz,pxxgqz=pxxgqz,yldjqz=yldjqz,ylxgqz=ylxgqz
- )
- return JsonResponse({"code":1})
+ Yjsetup.objects.filter(yjsetupid=yjsetupid).update(monthyhavg=monthyhavg, safev=safev, warnv=warnv, alertv=alertv, maxv=maxv,
+ yhpgqz=yhpgqz, yhdjqz=yhdjqz, yhsblqz=yhsblqz, yhzglqz=yhzglqz, pxdjqz=pxdjqz, pxxgqz=pxxgqz, yldjqz=yldjqz, ylxgqz=ylxgqz
+ )
+ return JsonResponse({"code": 1})
+
+
def test(req):
print(req.body)
print(json.loads(req.body.decode('utf-8'))['yhtp'])
+
def importusers(req):
companyid = req.GET.get('companyid')
drusers(companyid)
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
+
@apicheck_login
def apicompany(req):
- if int(req.session.get('userid'))==8:
+ if int(req.session.get('userid')) == 8:
a = req.GET.get('a')
- menurights = '11,1,2,3,4,5,6,7,8,9,10,12,13,15,16,17,18,19,20,21,22,23,24,28,29,32,36,46,47,48,50'#菜单编码
- if a=='add':
+ menurights = '11,1,2,3,4,5,6,7,8,9,10,12,13,15,16,17,18,19,20,21,22,23,24,28,29,32,36,46,47,48,50' # 菜单编码
+ if a == 'add':
admin = req.GET.get('admin')
company = req.GET.get('company')
y = Partment()
if Partment.objects.filter(partname=company).exists():
- return JsonResponse({'code':0})
+ return JsonResponse({'code': 0})
else:
y.partname = company
y.partlink = ','
@@ -3234,17 +3602,24 @@ def apicompany(req):
y.bmzg = ','+str(x.userid)+','
y.save()
part = Partment.objects.get(partid=y.partid)
- Group.objects.create(groupname='超管',grouptype=0,usecomp=part,menulink=menurights)
- Group.objects.create(groupname='安全员',grouptype=1,usecomp=part,menulink=menurights)
- Group.objects.create(groupname='全体用户',grouptype=3,usecomp=part,menulink=menurights)
- z = Group(groupname='主管',grouptype=2,usecomp=part,menulink=menurights)
+ Group.objects.create(
+ groupname='超管', grouptype=0, usecomp=part, menulink=menurights)
+ Group.objects.create(
+ groupname='安全员', grouptype=1, usecomp=part, menulink=menurights)
+ Group.objects.create(
+ groupname='全体用户', grouptype=3, usecomp=part, menulink=menurights)
+ z = Group(groupname='主管', grouptype=2,
+ usecomp=part, menulink=menurights)
z.save()
z.users.add(x)
- Yjsetup.objects.create(monthyhavg=100,safev=50,warnv=75,alertv=100,maxv=200,yhpgqz=4,yhdjqz=4,yhsblqz=1,yhzglqz=4,pxdjqz=3,pxxgqz=4,yldjqz=3,ylxgqz=3,usecomp=y)
- Map.objects.create(name='默认地图',pic='/static/safesite/mystatic/images/snc.jpg',usecomp=y,default=1)
- return JsonResponse({'code':1,'companyid':y.partid})
+ Yjsetup.objects.create(monthyhavg=100, safev=50, warnv=75, alertv=100, maxv=200, yhpgqz=4,
+ yhdjqz=4, yhsblqz=1, yhzglqz=4, pxdjqz=3, pxxgqz=4, yldjqz=3, ylxgqz=3, usecomp=y)
+ Map.objects.create(
+ name='默认地图', pic='/static/safesite/mystatic/images/snc.jpg', usecomp=y, default=1)
+ return JsonResponse({'code': 1, 'companyid': y.partid})
else:
- return JsonResponse({'code':0,'msg':'no right!'})
+ return JsonResponse({'code': 0, 'msg': 'no right!'})
+
def drapi(req):
a = req.GET.get('a')
@@ -3256,10 +3631,10 @@ def drapi(req):
if not os.path.exists(upload_folder):
os.mkdir(upload_folder)
filepath = os.path.join(upload_folder, file_name)
- filepath = filepath.replace('\\','/')
- with open( filepath, 'wb') as f:
+ filepath = filepath.replace('\\', '/')
+ with open(filepath, 'wb') as f:
f.write(req.FILES['upfile'].read())
- return JsonResponse(drusers(companyid,filepath))
+ return JsonResponse(drusers(companyid, filepath))
elif a == 'equipment':
userid = req.session['userid']
companyid = getcompany(userid)
@@ -3268,15 +3643,15 @@ def drapi(req):
if not os.path.exists(upload_folder):
os.mkdir(upload_folder)
filepath = os.path.join(upload_folder, file_name)
- filepath = filepath.replace('\\','/')
- with open( filepath, 'wb') as f:
+ filepath = filepath.replace('\\', '/')
+ with open(filepath, 'wb') as f:
f.write(req.FILES['upfile'].read())
# try:
- equipmentdict = drequipments(companyid,filepath)
+ equipmentdict = drequipments(companyid, filepath)
if equipmentdict:
- return JsonResponse({"code":2,"equipmentdict":equipmentdict})
+ return JsonResponse({"code": 2, "equipmentdict": equipmentdict})
else:
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
elif a == 'risk':
userid = req.session['userid']
companyid = getcompany(userid)
@@ -3285,17 +3660,17 @@ def drapi(req):
if not os.path.exists(upload_folder):
os.mkdir(upload_folder)
filepath = os.path.join(upload_folder, file_name)
- filepath = filepath.replace('\\','/')
- with open( filepath, 'wb') as f:
+ filepath = filepath.replace('\\', '/')
+ with open(filepath, 'wb') as f:
f.write(req.FILES['upfile'].read())
try:
- risks = drrisks(companyid,filepath)
+ risks = drrisks(companyid, filepath)
if risks:
- return JsonResponse({"code":2,"risks":risks})
+ return JsonResponse({"code": 2, "risks": risks})
else:
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
except:
- return JsonResponse({"code":0})
+ return JsonResponse({"code": 0})
elif a == 'question':
userid = req.session['userid']
companyid = getcompany(userid)
@@ -3304,16 +3679,14 @@ def drapi(req):
if not os.path.exists(upload_folder):
os.mkdir(upload_folder)
filepath = os.path.join(upload_folder, file_name)
- filepath = filepath.replace('\\','/')
- with open( filepath, 'wb') as f:
+ filepath = filepath.replace('\\', '/')
+ with open(filepath, 'wb') as f:
f.write(req.FILES['upfile'].read())
- msg = drquestions(companyid,filepath,userid)
+ msg = drquestions(companyid, filepath, userid)
if msg:
- return JsonResponse({"code":2,"msg":msg})
+ return JsonResponse({"code": 2, "msg": msg})
else:
- return JsonResponse({"code":1})
-
-
+ return JsonResponse({"code": 1})
def apimiss(req):
@@ -3335,153 +3708,173 @@ def apimiss(req):
obj.prevent = data['prevent']
if 'lesson' in data:
obj.lesson = data['lesson']
- obj.missnum='WS'+time.strftime('%Y%m%d%H%M%S')
+ obj.missnum = 'WS'+time.strftime('%Y%m%d%H%M%S')
obj.usecomp = Partment.objects.get(partid=companyid)
if 'missimg' in data:
obj.missimg = '?'.join(data['missimg'])
obj.save()
yjjs_ws.delay(companyid)
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
elif a == 'listall':
- startnum,endnum=fenye(req)
- a = Miss.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1)
+ startnum, endnum = fenye(req)
+ a = Miss.objects.filter(usecomp=Partment.objects.get(
+ partid=companyid), deletemark=1)
if req.GET.get('missqy'):
- a = a.filter(missqy__id=req.GET.get('missqy'))
+ a = a.filter(missqy__id=req.GET.get('missqy'))
a = a.order_by('-misstime')
total = a.count()
- startnum,endnum=fenye(req)
- a = a[startnum:endnum].values('missid','missnum','missplace','description','misstime','misser__name','missimg')
+ startnum, endnum = fenye(req)
+ a = a[startnum:endnum].values(
+ 'missid', 'missnum', 'missplace', 'description', 'misstime', 'misser__name', 'missimg')
for i in a:
- if Missto.objects.filter(miss__missid=i['missid'],user__userid = userid).exists():
- i['read']=1
- i['readtime'] = Missto.objects.filter(miss__missid=i['missid'],user__userid = userid)[0].submittime
+ if Missto.objects.filter(miss__missid=i['missid'], user__userid=userid).exists():
+ i['read'] = 1
+ i['readtime'] = Missto.objects.filter(
+ miss__missid=i['missid'], user__userid=userid)[0].submittime
else:
- i['read']=0
- return HttpResponse(transjson(total,a),content_type="application/json")
+ i['read'] = 0
+ return HttpResponse(transjson(total, a), content_type="application/json")
elif a == 'listself':
- startnum,endnum=fenye(req)
- a = Miss.objects.filter(misser__userid=userid,deletemark=1).order_by('-misstime')
+ startnum, endnum = fenye(req)
+ a = Miss.objects.filter(misser__userid=userid,
+ deletemark=1).order_by('-misstime')
total = a.count()
- startnum,endnum=fenye(req)
- a = a[startnum:endnum].values('missid','missnum','missplace','description','misstime','misser__name')
- return HttpResponse(transjson(total,a),content_type="application/json")
+ startnum, endnum = fenye(req)
+ a = a[startnum:endnum].values(
+ 'missid', 'missnum', 'missplace', 'description', 'misstime', 'misser__name')
+ return HttpResponse(transjson(total, a), content_type="application/json")
elif a == 'detail':
- missid=req.GET.get('missid')
+ missid = req.GET.get('missid')
a = Miss.objects.filter(missid=missid)
- x = a.values('missid','missnum','missplace','misstime','misser__name','description','prevent','misspart__partname','submittime','missimg','lesson')[0]
+ x = a.values('missid', 'missnum', 'missplace', 'misstime', 'misser__name', 'description',
+ 'prevent', 'misspart__partname', 'submittime', 'missimg', 'lesson')[0]
if x['missimg']:
x['missimg'] = x['missimg'].split('?')
else:
- x['missimg']=[]
+ x['missimg'] = []
for key in x:
if x[key] == None:
x[key] = ''
- Missto.objects.get_or_create(miss=a[0], user=User.objects.get(userid=req.session['userid']),defaults={'read': 1})
- return HttpResponse(json.dumps(x,cls=MyEncoder),content_type="application/json")
+ Missto.objects.get_or_create(miss=a[0], user=User.objects.get(
+ userid=req.session['userid']), defaults={'read': 1})
+ return HttpResponse(json.dumps(x, cls=MyEncoder), content_type="application/json")
elif a == 'del':
- missid =req.GET.get('missid')
+ missid = req.GET.get('missid')
a = Miss.objects.get(missid=missid)
- if User.objects.get(userid = userid).issuper == 1:
- a.deletemark=0
+ if User.objects.get(userid=userid).issuper == 1:
+ a.deletemark = 0
a.save()
yjjs_ws.delay(companyid)
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
else:
- return JsonResponse({"code":0})
+ return JsonResponse({"code": 0})
elif a == 'listsearch':
- startnum,endnum=fenye(req)
- a = Miss.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1)
+ startnum, endnum = fenye(req)
+ a = Miss.objects.filter(usecomp=Partment.objects.get(
+ partid=companyid), deletemark=1)
if req.GET.get('fsbm'):
- parts = Partment.objects.filter(partlink__contains=','+req.GET.get('fsbm')+',')|Partment.objects.filter(partid=req.GET.get('fsbm'))
- a = a.filter(misspart__in = parts)
+ parts = Partment.objects.filter(partlink__contains=','+req.GET.get(
+ 'fsbm')+',') | Partment.objects.filter(partid=req.GET.get('fsbm'))
+ a = a.filter(misspart__in=parts)
if req.GET.get('qssj'):
a = a.filter(misstime__gte=req.GET.get('qssj'))
if req.GET.get('jssj'):
a = a.filter(misstime__lte=req.GET.get('jssj'))
total = a.count()
- a = a.order_by('-misstime')[startnum:endnum].values('missid','missnum','missplace','description','misstime')
- return HttpResponse(transjson(total,a),content_type="application/json")
+ a = a.order_by('-misstime')[startnum:endnum].values('missid',
+ 'missnum', 'missplace', 'description', 'misstime')
+ return HttpResponse(transjson(total, a), content_type="application/json")
elif a == 'exportexcel':
- a = Miss.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1)
+ a = Miss.objects.filter(usecomp=Partment.objects.get(
+ partid=companyid), deletemark=1)
if req.GET.get('fsbm'):
- parts = Partment.objects.filter(partlink__contains=','+req.GET.get('fsbm')+',')|Partment.objects.filter(partid=req.GET.get('fsbm'))
- a = a.filter(misspart__in = parts)
+ parts = Partment.objects.filter(partlink__contains=','+req.GET.get(
+ 'fsbm')+',') | Partment.objects.filter(partid=req.GET.get('fsbm'))
+ a = a.filter(misspart__in=parts)
if req.GET.get('qssj'):
a = a.filter(misstime__gte=req.GET.get('qssj'))
if req.GET.get('jssj'):
a = a.filter(misstime__lte=req.GET.get('jssj'))
- res = exportxlsx('ws',a)
+ res = exportxlsx('ws', a)
return res
elif a == 'exportword':
id = req.GET.get('id')
- res = exportdoc('ws',id)
+ res = exportdoc('ws', id)
return res
elif a == 'noreadnum':
- a = Miss.objects.filter(usecomp=Partment.objects.get(partid=companyid),deletemark=1).count()
- b = Missto.objects.filter(user__userid=userid,miss__deletemark=1).count()
+ a = Miss.objects.filter(usecomp=Partment.objects.get(
+ partid=companyid), deletemark=1).count()
+ b = Missto.objects.filter(
+ user__userid=userid, miss__deletemark=1).count()
noread = a-b
- return JsonResponse({'noread':noread})
+ return JsonResponse({'noread': noread})
+
def apisocert(req):
a = req.GET.get('a')
- if a=='listall':
+ if a == 'listall':
userid = req.session['userid']
companyid = getcompany(userid)
- startnum,endnum=fenye(req)
- a = Socertificate.objects.filter(usecomp=Partment.objects.get(partid=companyid)).order_by('id')#无deletemark
+ startnum, endnum = fenye(req)
+ a = Socertificate.objects.filter(usecomp=Partment.objects.get(
+ partid=companyid)).order_by('id') # 无deletemark
total = a.count()
- startnum,endnum=fenye(req)
+ startnum, endnum = fenye(req)
if req.GET.get('sort'):
a = a.order_by(req.GET.get('sort'))
- a = a[startnum:endnum].values('id','realname','gender','zylb','czxm','fzjg','ccfzrq','yfsrq','yxqkssj','yxqjssj','sjfssj','zszt','url')
- return HttpResponse(transjson(total,a),content_type="application/json")
- elif a=='listself':
+ a = a[startnum:endnum].values('id', 'realname', 'gender', 'zylb', 'czxm',
+ 'fzjg', 'ccfzrq', 'yfsrq', 'yxqkssj', 'yxqjssj', 'sjfssj', 'zszt', 'url')
+ return HttpResponse(transjson(total, a), content_type="application/json")
+ elif a == 'listself':
userid = req.session['userid']
cardnum = Userprofile.objects.get(user__userid=userid).cardnum
- a = Socertificate.objects.filter(cardnum=cardnum).order_by('id')#无deletemark
+ a = Socertificate.objects.filter(
+ cardnum=cardnum).order_by('id') # 无deletemark
total = a.count()
if req.GET.get('sort'):
a = a.order_by(req.GET.get('sort'))
- a = a.values('id','realname','gender','zylb','czxm','fzjg','ccfzrq','yfsrq','yxqkssj','yxqjssj','sjfssj','zszt','url')
- return HttpResponse(transjson(total,a),content_type="application/json")
+ a = a.values('id', 'realname', 'gender', 'zylb', 'czxm', 'fzjg',
+ 'ccfzrq', 'yfsrq', 'yxqkssj', 'yxqjssj', 'sjfssj', 'zszt', 'url')
+ return HttpResponse(transjson(total, a), content_type="application/json")
elif a == 'addspider':
postdata = json.loads(req.body.decode('utf-8'))
userid = postdata['userid']
realname = postdata['realname']
cardnum = postdata['cardnum']
companyid = getcompany(userid)
- data = getTzzs(cardnum,realname)
+ data = getTzzs(cardnum, realname)
data1 = []
- gender=''
+ gender = ''
if data:
for i in data:
if i['操作项目'] not in data1:
- updated_values={
- 'user':User.objects.get(userid=userid),
- 'usecomp':Partment.objects.get(partid=companyid),
- 'realname':i['姓名'],
- 'gender':i['性别'],
- 'zylb':i['作业类别'],
- 'czxm':i['操作项目'],
- 'fzjg':i['发证机关'],
- 'ccfzrq':i['初次发证日期'] if i['初次发证日期'] else None,
- 'yfsrq':i['应复审日期'] if i['应复审日期'] else None,
- 'yxqkssj':i['有效期开始时间'] if i['有效期开始时间'] else None,
- 'yxqjssj':i['有效期结束时间'] if i['有效期结束时间'] else None,
- 'sjfssj':i['实际复审时间'] if i['实际复审时间'] else None,
- 'url':i['url'],
+ updated_values = {
+ 'user': User.objects.get(userid=userid),
+ 'usecomp': Partment.objects.get(partid=companyid),
+ 'realname': i['姓名'],
+ 'gender': i['性别'],
+ 'zylb': i['作业类别'],
+ 'czxm': i['操作项目'],
+ 'fzjg': i['发证机关'],
+ 'ccfzrq': i['初次发证日期'] if i['初次发证日期'] else None,
+ 'yfsrq': i['应复审日期'] if i['应复审日期'] else None,
+ 'yxqkssj': i['有效期开始时间'] if i['有效期开始时间'] else None,
+ 'yxqjssj': i['有效期结束时间'] if i['有效期结束时间'] else None,
+ 'sjfssj': i['实际复审时间'] if i['实际复审时间'] else None,
+ 'url': i['url'],
}
try:
updated_values['zszt'] = guoqi(i['应复审日期'])
except:
pass
obj, created = Socertificate.objects.update_or_create(
- cardnum=cardnum, czxm=i['操作项目'], defaults=updated_values)
+ cardnum=cardnum, czxm=i['操作项目'], defaults=updated_values)
data1.append(i['操作项目'])
gender = i['性别']
else:
- obj = Socertificate.objects.get(cardnum=cardnum, czxm=i['操作项目'])
- if obj.yxqjssj.strftime('%Y-%m-%d') now1:
+ if datetime.strptime(x, '%Y-%m-%d') > now1:
return 1
- elif now1 > datetime.strptime(x,'%Y-%m-%d') > now:
+ elif now1 > datetime.strptime(x, '%Y-%m-%d') > now:
return 2
else:
return 3
+
+
def apisafecert(req):
a = req.GET.get('a')
- if a=='listall':
+ if a == 'listall':
userid = req.session['userid']
companyid = getcompany(userid)
- startnum,endnum=fenye(req)
- a = Safecert.objects.filter(usecomp=Partment.objects.get(partid=companyid)).order_by('id')#无deletemark
+ startnum, endnum = fenye(req)
+ a = Safecert.objects.filter(usecomp=Partment.objects.get(
+ partid=companyid)).order_by('id') # 无deletemark
total = a.count()
- startnum,endnum=fenye(req)
+ startnum, endnum = fenye(req)
if req.GET.get('sort'):
a = a.order_by(req.GET.get('sort'))
- a = a[startnum:endnum].values('id','realname','gender','zglx','dwlx','fzjg','yfsrq','yxqkssj','yxqjssj','zszt','url')
- return HttpResponse(transjson(total,a),content_type="application/json")
- elif a=='listself':
+ a = a[startnum:endnum].values('id', 'realname', 'gender', 'zglx',
+ 'dwlx', 'fzjg', 'yfsrq', 'yxqkssj', 'yxqjssj', 'zszt', 'url')
+ return HttpResponse(transjson(total, a), content_type="application/json")
+ elif a == 'listself':
userid = req.session['userid']
cardnum = Userprofile.objects.get(user__userid=userid).cardnum
- a = Safecert.objects.filter(cardnum=cardnum).order_by('id')#无deletemark
+ a = Safecert.objects.filter(
+ cardnum=cardnum).order_by('id') # 无deletemark
total = a.count()
if req.GET.get('sort'):
a = a.order_by(req.GET.get('sort'))
- a = a.values('id','realname','gender','zglx','dwlx','fzjg','yfsrq','yxqkssj','yxqjssj','zszt','url')
- return HttpResponse(transjson(total,a),content_type="application/json")
+ a = a.values('id', 'realname', 'gender', 'zglx', 'dwlx',
+ 'fzjg', 'yfsrq', 'yxqkssj', 'yxqjssj', 'zszt', 'url')
+ return HttpResponse(transjson(total, a), content_type="application/json")
elif a == 'addspider':
postdata = json.loads(req.body.decode('utf-8'))
userid = postdata['userid']
realname = postdata['realname']
cardnum = postdata['cardnum']
companyid = getcompany(userid)
- data = getAqzs(cardnum,realname)
+ data = getAqzs(cardnum, realname)
data1 = []
- gender=''
+ gender = ''
if data:
for i in data:
if i['资格类型'] not in data1:
- updated_values={
- 'user':User.objects.get(userid=userid),
- 'usecomp':Partment.objects.get(partid=companyid),
- 'realname':i['姓名'],
- 'gender':i['性别'],
- 'zglx':i['资格类型'],
- 'dwlx':i['单位类型'],
- 'fzjg':i['发证机关'],
- 'yfsrq':i['应复审日期'] if i['应复审日期'] else None,
- 'yxqkssj':i['有效期开始时间'] if i['有效期开始时间'] else None,
- 'yxqjssj':i['有效期结束时间'] if i['有效期结束时间'] else None,
- 'url':i['url'],
+ updated_values = {
+ 'user': User.objects.get(userid=userid),
+ 'usecomp': Partment.objects.get(partid=companyid),
+ 'realname': i['姓名'],
+ 'gender': i['性别'],
+ 'zglx': i['资格类型'],
+ 'dwlx': i['单位类型'],
+ 'fzjg': i['发证机关'],
+ 'yfsrq': i['应复审日期'] if i['应复审日期'] else None,
+ 'yxqkssj': i['有效期开始时间'] if i['有效期开始时间'] else None,
+ 'yxqjssj': i['有效期结束时间'] if i['有效期结束时间'] else None,
+ 'url': i['url'],
}
try:
updated_values['zszt'] = guoqi(i['应复审日期'])
except:
pass
obj, created = Safecert.objects.update_or_create(
- cardnum=cardnum, zglx=i['资格类型'],defaults=updated_values)
+ cardnum=cardnum, zglx=i['资格类型'], defaults=updated_values)
data1.append(i['资格类型'])
gender = i['性别']
else:
- obj = Safecert.objects.get(cardnum=cardnum,zglx=i['资格类型'])
- if obj.yxqjssj.strftime('%Y-%m-%d')0:
+ questionobjs = Question.objects.filter(
+ questioncat__id__in=data['tmfls'])
+ if dxnum > 0:
qobjs = questionobjs.filter(type=1).order_by('?')[:dxnum]
for i in qobjs:
- ExamPaperDetail.objects.create(exampaper=objpaper,question=i,score=dxs)
- if duoxnum>0:
+ ExamPaperDetail.objects.create(
+ exampaper=objpaper, question=i, score=dxs)
+ if duoxnum > 0:
qobjs = questionobjs.filter(type=2).order_by('?')[:duoxnum]
for i in qobjs:
- ExamPaperDetail.objects.create(exampaper=objpaper,question=i,score=duoxs)
- if pdnum>0:
+ ExamPaperDetail.objects.create(
+ exampaper=objpaper, question=i, score=duoxs)
+ if pdnum > 0:
qobjs = questionobjs.filter(type=3).order_by('?')[:pdnum]
for i in qobjs:
- ExamPaperDetail.objects.create(exampaper=objpaper,question=i,score=pds)
- #结束
+ ExamPaperDetail.objects.create(
+ exampaper=objpaper, question=i, score=pds)
+ # 结束
obj.exampaper = objpaper
if 'starttime' in data:
if data['starttime']:
@@ -5202,117 +5742,126 @@ def apiexamtest(req):
obj.passscore = data['passscore']
obj.duration = data['duration']
obj.createuser = User.objects.get(userid=userid)
- obj.qrcode = makeqr_examtest('https://safeyun.ctcshe.com/miniprogram/examtest?id='+str(obj.id))
+ obj.qrcode = makeqr_examtest(
+ 'https://safeyun.ctcshe.com/miniprogram/examtest?id='+str(obj.id))
obj.save()
ksry = data['participant'].split(',')
b = []
for i in ksry:
uobj = User.objects.get(userid=i)
- ExamTestDetail.objects.create(examtest=obj,user=uobj)
+ ExamTestDetail.objects.create(examtest=obj, user=uobj)
b.append(uobj.openid)
- postdict={
- 'touser':'',
- 'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
- "miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/examtest/index"},
- 'data':{
- 'first':{
- 'value': '小程序考试通知:'
+ postdict = {
+ 'touser': '',
+ 'template_id': 'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
+ "miniprogram": {"appid": "wx5c39b569f01c27db", "path": "pages/examtest/index"},
+ 'data': {
+ 'first': {
+ 'value': '小程序考试通知:'
},
- 'keyword1':{
- 'value':data['name']
+ 'keyword1': {
+ 'value': data['name']
},
- 'keyword2':{
- 'value':'满分'+ str(obj.totalscore)
+ 'keyword2': {
+ 'value': '满分' + str(obj.totalscore)
},
- 'remark':{
- 'value':'用时限制为'+data['duration']+'分钟,注意把握时间'
+ 'remark': {
+ 'value': '用时限制为'+data['duration']+'分钟,注意把握时间'
}
}
}
- send_wechatmsgs.delay(postdict,b)
- return JsonResponse({"code":1})
+ send_wechatmsgs.delay(postdict, b)
+ return JsonResponse({"code": 1})
elif a == 'del':
id = req.GET.get('id')
user = User.objects.get(userid=userid)
a = ExamTest.objects.get(id=id)
- if user.issuper==1 or a.createuser==user:
+ if user.issuper == 1 or a.createuser == user:
ExamTestDetail.objects.filter(examtest=a).delete()
a.delete()
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
else:
- return JsonResponse({"code":0})
+ return JsonResponse({"code": 0})
elif a == 'close':
id = req.GET.get('id')
user = User.objects.get(userid=userid)
a = ExamTest.objects.get(id=id)
- if user.issuper==1 or a.createuser==user:
+ if user.issuper == 1 or a.createuser == user:
a.state = 0
a.save()
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
else:
- return JsonResponse({"code":0})
+ return JsonResponse({"code": 0})
elif a == 'detail':
id = req.GET.get('id')
- a = ExamTest.objects.filter(id=id).values('id','num','name','starttime','endtime','duration','totalscore','passscore','exampaper__total','createtime','state','exampaper__name','createuser__name','type','qrcode')[0]
- objs = ExamTestDetail.objects.filter(examtest__id=id).order_by('-score').values('id','user__name','user__ubelongpart__partname','took','score','ison','passcode')
+ a = ExamTest.objects.filter(id=id).values('id', 'num', 'name', 'starttime', 'endtime', 'duration', 'totalscore',
+ 'passscore', 'exampaper__total', 'createtime', 'state', 'exampaper__name', 'createuser__name', 'type', 'qrcode')[0]
+ objs = ExamTestDetail.objects.filter(examtest__id=id).order_by('-score').values(
+ 'id', 'user__name', 'user__ubelongpart__partname', 'took', 'score', 'ison', 'passcode')
a['cjrydetail'] = list(objs)
- return HttpResponse(json.dumps(a,cls=MyEncoder),content_type="application/json")
+ return HttpResponse(json.dumps(a, cls=MyEncoder), content_type="application/json")
elif a == 'detailtm':
id = req.GET.get('id')
test = ExamTest.objects.get(id=id)
- objs = ExamPaperDetail.objects.filter(exampaper=test.exampaper).values('id','question__id','score','question__title','question__type','question__answer','question__right','question__resolution')
+ objs = ExamPaperDetail.objects.filter(exampaper=test.exampaper).values(
+ 'id', 'question__id', 'score', 'question__title', 'question__type', 'question__answer', 'question__right', 'question__resolution')
duration = test.duration
- data = {'duration':duration,'tms':list(objs)}
+ data = {'duration': duration, 'tms': list(objs)}
return JsonResponse(data)
elif a == 'exportword':
data = json.loads(req.body.decode('utf-8'))
- url = exportdoc2('ks',data)
- return JsonResponse({"code":1,"downloadurl":url})
+ url = exportdoc2('ks', data)
+ return JsonResponse({"code": 1, "downloadurl": url})
def apiexamtestdetail(req):
a = req.GET.get('a')
userid = req.session['userid']
companyid = getcompany(userid)
- if a=='dknum':
+ if a == 'dknum':
a = ExamTestDetail.objects
- a = a.filter(user__userid=userid,examtest__state=1,ison=0,examtest__endtime__gte=datetime.now())
+ a = a.filter(user__userid=userid, examtest__state=1,
+ ison=0, examtest__endtime__gte=datetime.now())
dknum = a.count()
- return JsonResponse({"code":1,"dknum":dknum})
- elif a=='listdk':
+ return JsonResponse({"code": 1, "dknum": dknum})
+ elif a == 'listdk':
a = ExamTestDetail.objects
- a = a.filter(user__userid=userid,examtest__state=1,ison=0).order_by('-id')
+ a = a.filter(user__userid=userid, examtest__state=1,
+ ison=0).order_by('-id')
total = a.count()
- startnum,endnum=fenye(req)
- a = a[startnum:endnum].values('id','examtest__id','examtest__name','examtest__starttime','examtest__endtime','examtest__passscore','examtest__state','examtest__duration')
+ startnum, endnum = fenye(req)
+ a = a[startnum:endnum].values('id', 'examtest__id', 'examtest__name', 'examtest__starttime',
+ 'examtest__endtime', 'examtest__passscore', 'examtest__state', 'examtest__duration')
for i in a:
if i['examtest__endtime']:
- if i['examtest__endtime']>datetime.now():
+ if i['examtest__endtime'] > datetime.now():
i['isActive'] = True
else:
i['isActive'] = False
else:
i['isActive'] = True
- return HttpResponse(transjson(total,a),content_type="application/json")
- elif a=='listyk':
+ return HttpResponse(transjson(total, a), content_type="application/json")
+ elif a == 'listyk':
a = ExamTestDetail.objects
a = a.filter(user__userid=userid).exclude(ison=0).order_by('-id')
total = a.count()
- startnum,endnum=fenye(req)
- a = a[startnum:endnum].values('id','examtest__id','examtest__name','starttime','examtest__passscore','examtest__state','ison','examtest__duration','took','score','passcode')
- return HttpResponse(transjson(total,a),content_type="application/json")
+ startnum, endnum = fenye(req)
+ a = a[startnum:endnum].values('id', 'examtest__id', 'examtest__name', 'starttime', 'examtest__passscore',
+ 'examtest__state', 'ison', 'examtest__duration', 'took', 'score', 'passcode')
+ return HttpResponse(transjson(total, a), content_type="application/json")
elif a == 'handtest':
data = json.loads(req.body.decode('utf-8'))
testid = data['testid']
starttime = data['starttime']
endtime = data['endtime']
- took = round((datetime.strptime(endtime, '%Y-%m-%d %H:%M:%S')-datetime.strptime(starttime, '%Y-%m-%d %H:%M:%S')).total_seconds()/60)
+ took = round((datetime.strptime(endtime, '%Y-%m-%d %H:%M:%S') -
+ datetime.strptime(starttime, '%Y-%m-%d %H:%M:%S')).total_seconds()/60)
testdetail = data['sheet']
score = 0
rights = 0
tms = []
wrongs = []
- for i in testdetail:#判卷
+ for i in testdetail: # 判卷
iscore = 0
if i['question__type'] == 2:
if 'userchecked' in i:
@@ -5339,7 +5888,8 @@ def apiexamtestdetail(req):
i['iscore'] = iscore
score = score + iscore
tms.append(str(i['question__id']))
- obj = ExamTestDetail.objects.get(examtest__id=testid,user__userid=userid)
+ obj = ExamTestDetail.objects.get(
+ examtest__id=testid, user__userid=userid)
obj.testnum = obj.testnum + 1
obj.starttime = starttime
obj.endtime = endtime
@@ -5362,16 +5912,17 @@ def apiexamtestdetail(req):
obj.wrongs = ','+','.join(wrongs)+','
obj.save()
tmnum = len(testdetail)
- objs = ExamTestDetail.objects.filter(examtest__id=testid,ison=0)
+ objs = ExamTestDetail.objects.filter(examtest__id=testid, passcode=0) # 如果全部考完并通过,关闭考试
if objs.exists():
pass
else:
ExamTest.objects.filter(id=testid).update(state=0)
- return JsonResponse({'code':1,'data':{'passcode':passcode,'score':score,'totalscore':totalscore,'rights':rights,'tmnum':tmnum,'examtestdetailid':obj.id}})
+ return JsonResponse({'code': 1, 'data': {'passcode': passcode, 'score': score, 'totalscore': totalscore, 'rights': rights, 'tmnum': tmnum, 'examtestdetailid': obj.id}})
elif a == 'detail':
id = req.GET.get('id')
obj = ExamTestDetail.objects.filter(id=id)
- data = obj.values('id','starttime','took','score','passcode','testdetail','examtest__name','user__headimgurl','user__name')[0]
+ data = obj.values('id', 'starttime', 'took', 'score', 'passcode',
+ 'testdetail', 'examtest__name', 'user__headimgurl', 'user__name')[0]
return JsonResponse(data)
elif a=='updateison':
id = req.GET.get('id')
@@ -5386,31 +5937,36 @@ def apiexamtestdetail(req):
else:
return JsonResponse({"code":2,"msg":"您没有发布权限!"})
def apitrain(req):
- if req.GET.get('a')=='listjoin':
+ if req.GET.get('a') == 'listjoin':
userid = req.session['userid']
objs = Trainuser.objects.filter(train__deletemark=1)
if req.GET.get('sry'):
objs = objs.filter(participant__userid=req.GET.get('sry'))
else:
objs = objs.filter(participant__userid=userid)
- total= objs.count()
- startnum,endnum=fenye(req)
- objs=objs[startnum:endnum].values('train__trainnum','train__trainid','train__state','train__trainplace','train__starttime','train__trainname','train__teacher','train__lecturer__name','participant__name','participant__name','checked','train__duration','examtestdetail')
- return HttpResponse(transjson(total,objs),content_type="application/json")
+ total = objs.count()
+ startnum, endnum = fenye(req)
+ objs = objs[startnum:endnum].values('train__trainnum', 'train__trainid', 'train__state', 'train__trainplace', 'train__starttime', 'train__trainname',
+ 'train__teacher', 'train__lecturer__name', 'participant__name', 'participant__name', 'checked', 'train__duration', 'examtestdetail')
+ return HttpResponse(transjson(total, objs), content_type="application/json")
+
def apiquestioncat(req):
a = req.GET.get('a')
userid = req.session['userid']
companyid = getcompany(userid)
if a == 'tree1':
- list_items = (Questioncat.objects.filter(usecomp__partid=1,deletemark=1)).annotate(parentId=F('parent__id')).values('id','parentId','name')
- return HttpResponse(json.dumps(list(list_items)),content_type="application/json")
+ list_items = (Questioncat.objects.filter(usecomp__partid=1, deletemark=1)).annotate(
+ parentId=F('parent__id')).values('id', 'parentId', 'name')
+ return HttpResponse(json.dumps(list(list_items)), content_type="application/json")
elif a == 'tree2':
- list_items = (Questioncat.objects.filter(usecomp__partid=companyid,deletemark=1)).annotate(parentId=F('parent__id')).values('id','parentId','name')
- return HttpResponse(json.dumps(list(list_items)),content_type="application/json")
+ list_items = (Questioncat.objects.filter(usecomp__partid=companyid, deletemark=1)).annotate(
+ parentId=F('parent__id')).values('id', 'parentId', 'name')
+ return HttpResponse(json.dumps(list(list_items)), content_type="application/json")
elif a == 'tree':
- list_items = (Questioncat.objects.filter(usecomp__partid=1,deletemark=1)|Questioncat.objects.filter(usecomp__partid=companyid,deletemark=1)).annotate(parentId=F('parent__id')).values('id','parentId','name')
- return HttpResponse(json.dumps(list(list_items)),content_type="application/json")
+ list_items = (Questioncat.objects.filter(usecomp__partid=1, deletemark=1) | Questioncat.objects.filter(
+ usecomp__partid=companyid, deletemark=1)).annotate(parentId=F('parent__id')).values('id', 'parentId', 'name')
+ return HttpResponse(json.dumps(list(list_items)), content_type="application/json")
elif a == 'add':
data = json.loads(req.body.decode('utf-8'))
obj = Questioncat()
@@ -5424,20 +5980,21 @@ def apiquestioncat(req):
obj.link = parentobj.link + str(data['parent']) + ','
obj.usecomp = Partment.objects.get(partid=companyid)
obj.save()
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
elif a == 'del':
id = req.GET.get('id')
user = User.objects.get(userid=userid)
a = Questioncat.objects.get(id=id)
- if user.issuper==1 or a.usecomp.partid == companyid:
- Questioncat.objects.filter(id = id).update(deletemark=0)
- return JsonResponse({"code":1})
+ if user.issuper == 1 or a.usecomp.partid == companyid:
+ Questioncat.objects.filter(id=id).update(deletemark=0)
+ return JsonResponse({"code": 1})
else:
- return JsonResponse({"code":0})
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 0})
+ return JsonResponse({"code": 1})
elif a == 'detail':
id = req.GET.get('id')
- a = Questioncat.objects.filter(id=id).values('id','name','parent__id')[0]
+ a = Questioncat.objects.filter(id=id).values(
+ 'id', 'name', 'parent__id')[0]
return JsonResponse(a)
elif a == 'edit':
data = json.loads(req.body.decode('utf-8'))
@@ -5450,106 +6007,124 @@ def apiquestioncat(req):
a.parent = parent
oldlink = a.link
a.link = parent.link + str(parent.id) + ','
- Questioncat.objects.filter(link__contains = oldlink + str(id) + ',').update(link= a.link + str(id) +',' )
+ Questioncat.objects.filter(
+ link__contains=oldlink + str(id) + ',').update(link=a.link + str(id) + ',')
a.save()
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
+
def apimap(req):
a = req.GET.get('a')
userid = req.session['userid']
companyid = getcompany(userid)
if a == 'tree':
- list_items = (Map.objects.filter(usecomp__partid=companyid,deletemark=1)).annotate(parentId=F('parent__id')).values('id','parentId','name','pic')
- return HttpResponse(json.dumps(list(list_items)),content_type="application/json")
+ list_items = (Map.objects.filter(usecomp__partid=companyid, deletemark=1)).annotate(
+ parentId=F('parent__id')).values('id', 'parentId', 'name', 'pic')
+ return HttpResponse(json.dumps(list(list_items)), content_type="application/json")
elif a == 'default':
- obj = Map.objects.filter(usecomp__partid=companyid,deletemark=1,default=1).values('id','name','pic')
+ obj = Map.objects.filter(
+ usecomp__partid=companyid, deletemark=1, default=1).values('id', 'name', 'pic')
return JsonResponse(obj[0])
elif a == 'update':
id = req.POST.get('id')
Map.objects.filter(id=id).update(pic=req.POST.get('pic'))
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
+
def apiarea(req):
a = req.GET.get('a')
userid = req.session['userid']
companyid = getcompany(userid)
- if a=='listall':
- a = Area.objects.filter(deletemark=1,belongmap__id=req.GET.get('map'))
+ if a == 'listall':
+ a = Area.objects.filter(deletemark=1, belongmap__id=req.GET.get('map'))
total = a.count()
- a = a.order_by('order').values('id','name','polygon','order','belongmap__id')
- return HttpResponse(transjson(total,a),content_type="application/json")
- elif a=='bind':
+ a = a.order_by('order').values(
+ 'id', 'name', 'polygon', 'order', 'belongmap__id')
+ return HttpResponse(transjson(total, a), content_type="application/json")
+ elif a == 'bind':
data = json.loads(req.body.decode('utf-8'))
Area.objects.filter(id=data['id']).update(polygon=data['polygon'])
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
elif a == 'tree':
- mapobj = Map.objects.filter(usecomp__partid=companyid,deletemark=1)
- if mapobj.count()==1:
- objs = Area.objects.filter(belongmap=mapobj[0],deletemark=1).order_by('order').values('id','name')
- return HttpResponse(json.dumps(list(objs)),content_type="application/json")
+ mapobj = Map.objects.filter(usecomp__partid=companyid, deletemark=1)
+ if mapobj.count() == 1:
+ objs = Area.objects.filter(belongmap=mapobj[0], deletemark=1).order_by(
+ 'order').values('id', 'name')
+ return HttpResponse(json.dumps(list(objs)), content_type="application/json")
elif a == 'add':
data = json.loads(req.body.decode('utf-8'))
name = data['name']
- if Area.objects.filter(usecomp__partid=companyid,name=name,deletemark=1).exists():
- return JsonResponse({"code":0})
+ if Area.objects.filter(usecomp__partid=companyid, name=name, deletemark=1).exists():
+ return JsonResponse({"code": 0})
map = data['map']
order = data['order']
- obj = Area.objects.create(name = name,order=order,belongmap=Map.objects.get(id=map),usecomp=Partment.objects.get(partid=companyid))
- makeqr_area('https://safeyun.ctcshe.com/miniprogram/area?id='+str(obj.id))
- return JsonResponse({"code":1})
+ obj = Area.objects.create(name=name, order=order, belongmap=Map.objects.get(
+ id=map), usecomp=Partment.objects.get(partid=companyid))
+ makeqr_area(
+ 'https://safeyun.ctcshe.com/miniprogram/area?id='+str(obj.id))
+ return JsonResponse({"code": 1})
elif a == 'del':
- if User.objects.get(userid=userid).issuper==1:
+ if User.objects.get(userid=userid).issuper == 1:
Area.objects.filter(id=req.GET.get('id')).update(deletemark=0)
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
else:
- return JsonResponse({"code":0})
+ return JsonResponse({"code": 0})
elif a == 'detail':
- obj = Area.objects.filter(deletemark=1,id=req.GET.get('id')).values('id','name','polygon','order','qrcode')[0]
+ obj = Area.objects.filter(deletemark=1, id=req.GET.get('id')).values(
+ 'id', 'name', 'polygon', 'order', 'qrcode')[0]
return JsonResponse(obj)
elif a == 'edit':
data = json.loads(req.body.decode('utf-8'))
name = data['name']
order = data['order']
- Area.objects.filter(id=data['id']).update(name = name,order=order)
- return JsonResponse({"code":1})
+ Area.objects.filter(id=data['id']).update(name=name, order=order)
+ return JsonResponse({"code": 1})
+
def apimapshow(req):
a = req.GET.get('a')
userid = req.session['userid']
companyid = getcompany(userid)
- if a=='trouble':
- objs = Trouble.objects.filter(usecomp__partid = companyid,deletemark=1).exclude(yhzt=6).exclude(yhqy=None).exclude(yhqy__deletemark=0).values('yhqy__id','yhqy__name','yhqy__polygon').annotate(num=Count('yhqy'))
- return HttpResponse(json.dumps(list(objs)),content_type="application/json")
- elif a=='miss':
+ if a == 'trouble':
+ objs = Trouble.objects.filter(usecomp__partid=companyid, deletemark=1).exclude(yhzt=6).exclude(yhqy=None).exclude(
+ yhqy__deletemark=0).values('yhqy__id', 'yhqy__name', 'yhqy__polygon').annotate(num=Count('yhqy'))
+ return HttpResponse(json.dumps(list(objs)), content_type="application/json")
+ elif a == 'miss':
date1 = datetime.now() - timedelta(days=30)
- objs = Miss.objects.filter(usecomp__partid = companyid,deletemark=1,submittime__gte = date1).exclude(missqy=None).values('missqy__id','missqy__name','missqy__polygon').annotate(num=Count('missqy'))
- return HttpResponse(json.dumps(list(objs)),content_type="application/json")
- elif a=='risk':
- objs = Area.objects.filter(usecomp__partid = companyid,deletemark=1).exclude(risklevel=None).values('id','name','polygon','risklevel')#缺少deletemark
- return HttpResponse(json.dumps(list(objs)),content_type="application/json")
- elif a=='operation':
- objs = Operation.objects.filter(usecomp__partid = companyid,deletemark=1).exclude(zyqy=None).exclude(zyzt__zyzt='已关闭')
- objs=objs.values('zyqy__id','zyqy__name','zyqy__polygon').annotate(num=Count('zyqy'))
- return HttpResponse(json.dumps(list(objs)),content_type="application/json")
- elif a=='all':
+ objs = Miss.objects.filter(usecomp__partid=companyid, deletemark=1, submittime__gte=date1).exclude(
+ missqy=None).values('missqy__id', 'missqy__name', 'missqy__polygon').annotate(num=Count('missqy'))
+ return HttpResponse(json.dumps(list(objs)), content_type="application/json")
+ elif a == 'risk':
+ objs = Area.objects.filter(usecomp__partid=companyid, deletemark=1).exclude(
+ risklevel=None).values('id', 'name', 'polygon', 'risklevel') # 缺少deletemark
+ return HttpResponse(json.dumps(list(objs)), content_type="application/json")
+ elif a == 'operation':
+ objs = Operation.objects.filter(usecomp__partid=companyid, deletemark=1).exclude(
+ zyqy=None).exclude(zyzt__zyzt='已关闭')
+ objs = objs.values('zyqy__id', 'zyqy__name',
+ 'zyqy__polygon').annotate(num=Count('zyqy'))
+ return HttpResponse(json.dumps(list(objs)), content_type="application/json")
+ elif a == 'all':
date1 = datetime.now() - timedelta(days=30)
- yh = Trouble.objects.filter(usecomp__partid = companyid,deletemark=1).exclude(yhzt=6).exclude(yhqy=None).exclude(yhqy__deletemark=0).values('yhqy__id','yhqy__name','yhqy__polygon').annotate(num=Count('yhqy'))
- ws = Miss.objects.filter(usecomp__partid = companyid,deletemark=1,submittime__gte = date1).exclude(missqy=None).values('missqy__id','missqy__name','missqy__polygon').annotate(num=Count('missqy'))
- zy = Operation.objects.filter(usecomp__partid = companyid,deletemark=1).exclude(zyqy=None).exclude(zyzt__zyzt='已关闭').values('zyqy__id','zyqy__name','zyqy__polygon').annotate(num=Count('zyqy'))
- fx = Area.objects.filter(usecomp__partid = companyid).exclude(risklevel=None).values('id','name','polygon','risklevel')
- return JsonResponse({'code':1,'data':{'yh':list(yh),'ws':list(ws),'zy':list(zy),'fx':list(fx)}})
-
-
-
+ yh = Trouble.objects.filter(usecomp__partid=companyid, deletemark=1).exclude(yhzt=6).exclude(yhqy=None).exclude(
+ yhqy__deletemark=0).values('yhqy__id', 'yhqy__name', 'yhqy__polygon').annotate(num=Count('yhqy'))
+ ws = Miss.objects.filter(usecomp__partid=companyid, deletemark=1, submittime__gte=date1).exclude(
+ missqy=None).values('missqy__id', 'missqy__name', 'missqy__polygon').annotate(num=Count('missqy'))
+ zy = Operation.objects.filter(usecomp__partid=companyid, deletemark=1).exclude(zyqy=None).exclude(
+ zyzt__zyzt='已关闭').values('zyqy__id', 'zyqy__name', 'zyqy__polygon').annotate(num=Count('zyqy'))
+ fx = Area.objects.filter(usecomp__partid=companyid).exclude(
+ risklevel=None).values('id', 'name', 'polygon', 'risklevel')
+ return JsonResponse({'code': 1, 'data': {'yh': list(yh), 'ws': list(ws), 'zy': list(zy), 'fx': list(fx)}})
def apiequipment(req):
a = req.GET.get('a')
userid = req.session['userid']
companyid = getcompany(userid)
- if a=='listall':
- objs = Equipment.objects.filter(deletemark=1,usecomp__partid=companyid)
- if req.GET.get('area',False):
+ if a == 'listall':
+ objs = Equipment.objects.filter(
+ deletemark=1, usecomp__partid=companyid)
+ if req.GET.get('area', False):
objs = objs.filter(area__id=req.GET.get('area'))
if req.GET.get('cate'):
objs = objs.filter(cate__dickeyid=req.GET.get('cate'))
@@ -5557,13 +6132,14 @@ def apiequipment(req):
objs = objs.filter(state=req.GET.get('state'))
if req.GET.get('name'):
objs = objs.filter(name__contains=req.GET.get('name'))
- if req.GET.get('b',None) == 'exportexcel':
- res = exportxlsx('equipment',objs)#导出设备列表
+ if req.GET.get('b', None) == 'exportexcel':
+ res = exportxlsx('equipment', objs) # 导出设备列表
return res
total = objs.count()
- startnum,endnum=fenye(req)
- objs = objs.order_by('num')[startnum:endnum].values('id','num','name','type','oem','udate','place','istz','iskey','state','cate__dickeyname','area__name')
- return HttpResponse(transjson(total,objs),content_type="application/json")
+ startnum, endnum = fenye(req)
+ objs = objs.order_by('num')[startnum:endnum].values(
+ 'id', 'num', 'name', 'type', 'oem', 'udate', 'place', 'istz', 'iskey', 'state', 'cate__dickeyname', 'area__name')
+ return HttpResponse(transjson(total, objs), content_type="application/json")
elif a == 'update':
data = json.loads(req.body.decode('utf-8'))
id = data['id']
@@ -5588,27 +6164,29 @@ def apiequipment(req):
if data['zrbm']:
obj.zrbm = Partment.objects.get(partid=data['zrbm'])
if data['zrr']:
- obj.zrr = User.objects.get(userid=data['zrr'] )
+ obj.zrr = User.objects.get(userid=data['zrr'])
if data['riskact']:
obj.riskact = RiskAct.objects.get(id=data['riskact'])
obj.parameter = data['parameter']
- obj.usecomp=Partment.objects.get(partid=companyid)
+ obj.usecomp = Partment.objects.get(partid=companyid)
obj.save()
- obj.qrcode = makeqr('https://safeyun.ctcshe.com/miniprogram/equipment?id='+str(obj.id))
+ obj.qrcode = makeqr(
+ 'https://safeyun.ctcshe.com/miniprogram/equipment?id='+str(obj.id))
obj.save()
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
elif a == 'del':
id = req.GET.get('id')
user = User.objects.get(userid=userid)
a = Equipment.objects.get(id=id)
- if user.issuper==1:
+ if user.issuper == 1:
a.delete()
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
else:
- return JsonResponse({"code":0})
+ return JsonResponse({"code": 0})
elif a == 'detail':
id = req.GET.get('id')
- a = Equipment.objects.filter(id=id).values('id','num','name','type','oem','udate','fdate','fnum','place','istz','iskey','state','cate__dickeyname','cate__dickeyid','parameter','img','area__name','area__id','zrbm__partid','zrr__userid','zrbm__partname','zrr__name','qrcode','riskact__name','riskact__id')
+ a = Equipment.objects.filter(id=id).values('id', 'num', 'name', 'type', 'oem', 'udate', 'fdate', 'fnum', 'place', 'istz', 'iskey', 'state', 'cate__dickeyname',
+ 'cate__dickeyid', 'parameter', 'img', 'area__name', 'area__id', 'zrbm__partid', 'zrr__userid', 'zrbm__partname', 'zrr__name', 'qrcode', 'riskact__name', 'riskact__id')
return JsonResponse(a[0])
@@ -5616,63 +6194,69 @@ def apiinspect(req):
a = req.GET.get('a')
userid = req.session['userid']
companyid = getcompany(userid)
- if a=='listall':
+ if a == 'listall':
a = Inspect.objects.filter(usecomp__partid=companyid)
total = a.count()
- startnum,endnum=fenye(req)
- a = a.order_by('-id')[startnum:endnum].values('id','state','content','creattime','equipment__num','equipment__name','equipment__area__name','user__name','user__ubelongpart__partname','trouble__yhzt','trouble__yhnum','trouble__yhms')
- return HttpResponse(transjson(total,a),content_type="application/json")
+ startnum, endnum = fenye(req)
+ a = a.order_by('-id')[startnum:endnum].values('id', 'state', 'content', 'creattime', 'equipment__num', 'equipment__name',
+ 'equipment__area__name', 'user__name', 'user__ubelongpart__partname', 'trouble__yhzt', 'trouble__yhnum', 'trouble__yhms')
+ return HttpResponse(transjson(total, a), content_type="application/json")
elif a == 'listself':
- a = Inspect.objects.filter(usecomp__partid=companyid,user__userid=userid)
+ a = Inspect.objects.filter(
+ usecomp__partid=companyid, user__userid=userid)
total = a.count()
- startnum,endnum=fenye(req)
- a = a.order_by('-id')[startnum:endnum].values('id','state','content','creattime','equipment__num','equipment__name','equipment__area__name','user__name','user__ubelongpart__partname','trouble__yhzt','trouble__yhnum','trouble__yhms')
- return HttpResponse(transjson(total,a),content_type="application/json")
+ startnum, endnum = fenye(req)
+ a = a.order_by('-id')[startnum:endnum].values('id', 'state', 'content', 'creattime', 'equipment__num', 'equipment__name',
+ 'equipment__area__name', 'user__name', 'user__ubelongpart__partname', 'trouble__yhzt', 'trouble__yhnum', 'trouble__yhms')
+ return HttpResponse(transjson(total, a), content_type="application/json")
elif a == 'listsearch':
a = Inspect.objects.filter(usecomp__partid=companyid)
qssj = req.GET.get('qssj')
jssj = req.GET.get('jssj')
- xjbm= req.GET.get('xjbm')
+ xjbm = req.GET.get('xjbm')
xjr = req.GET.get('xjr')
state = req.GET.get('state')
if xjbm or xjr:
if xjr:
a = a.filter(user__userid=xjr)
else:
- parts = Partment.objects.filter(partid=xjbm)|Partment.objects.filter(partlink__contains=','+xjbm+',')
- a = a.filter(user__ubelongpart__in = parts)
+ parts = Partment.objects.filter(partid=xjbm) | Partment.objects.filter(
+ partlink__contains=','+xjbm+',')
+ a = a.filter(user__ubelongpart__in=parts)
if qssj:
a = a.filter(creattime__gte=qssj)
if jssj:
a = a.filter(creattime__lte=jssj)
if state:
a = a.filter(state=state)
- total=a.count()
- startnum,endnum=fenye(req)
- a = a.order_by('-creattime')[startnum:endnum].values('id','state','content','creattime','equipment__num','equipment__name','equipment__area__name','user__name','user__ubelongpart__partname','trouble__yhzt','trouble__yhnum','trouble__yhms')
- return HttpResponse(transjson(total,a),content_type="application/json")
+ total = a.count()
+ startnum, endnum = fenye(req)
+ a = a.order_by('-creattime')[startnum:endnum].values('id', 'state', 'content', 'creattime', 'equipment__num', 'equipment__name',
+ 'equipment__area__name', 'user__name', 'user__ubelongpart__partname', 'trouble__yhzt', 'trouble__yhnum', 'trouble__yhms')
+ return HttpResponse(transjson(total, a), content_type="application/json")
elif a == 'exportexcel':
objs = Inspect.objects.filter(usecomp__partid=companyid)
qssj = req.GET.get('qssj')
jssj = req.GET.get('jssj')
- xjbm= req.GET.get('xjbm')
+ xjbm = req.GET.get('xjbm')
xjr = req.GET.get('xjr')
state = req.GET.get('state')
if xjbm or xjr:
if xjr:
objs = objs.filter(user__userid=xjr)
else:
- parts = Partment.objects.filter(partid=xjbm)|Partment.objects.filter(partlink__contains=','+xjbm+',')
- objs = objs.filter(user__ubelongpart__in = parts)
+ parts = Partment.objects.filter(partid=xjbm) | Partment.objects.filter(
+ partlink__contains=','+xjbm+',')
+ objs = objs.filter(user__ubelongpart__in=parts)
if qssj:
objs = objs.filter(creattime__gte=qssj)
if jssj:
objs = objs.filter(creattime__lte=jssj)
if state:
objs = objs.filter(state=state)
- res = exportxlsx('xj',objs)
+ res = exportxlsx('xj', objs)
return res
- elif a=='add':
+ elif a == 'add':
data = json.loads(req.body.decode('utf-8'))
a = Inspect()
equipment = data['equipment']
@@ -5680,65 +6264,70 @@ def apiinspect(req):
if 'content' in data:
if data['content']:
content = data['content']
- a.content=content
+ a.content = content
if 'trouble' in data:
if data['trouble']:
a.trouble = Trouble.objects.get(troubleid=data['trouble'])
x = Equipment.objects.get(id=equipment)
a.equipment = x
a.state = state
- x.state=state
+ x.state = state
x.save()
a.usecomp = Partment.objects.get(partid=companyid)
a.user = User.objects.get(userid=userid)
a.save()
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
elif a == 'del':
id = req.GET.get('id')
user = User.objects.get(userid=userid)
obj = Inspect.objects.get(id=id)
- if user.issuper==1 or obj.user==user:
+ if user.issuper == 1 or obj.user == user:
obj.delete()
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
else:
- return JsonResponse({"code":0})
+ return JsonResponse({"code": 0})
elif a == 'detail':
id = req.GET.get('id')
- a = Inspect.objects.filter(id=id).values('id','state','content','creattime','equipment__num','equipment__id','equipment__name','equipment__area__name','user__name','user__ubelongpart__partname','trouble__yhzt','trouble__yhnum','trouble__yhms','trouble__troubleid')
+ a = Inspect.objects.filter(id=id).values('id', 'state', 'content', 'creattime', 'equipment__num', 'equipment__id', 'equipment__name',
+ 'equipment__area__name', 'user__name', 'user__ubelongpart__partname', 'trouble__yhzt', 'trouble__yhnum', 'trouble__yhms', 'trouble__troubleid')
return JsonResponse(a[0])
+
def apiriskact(req):
a = req.GET.get('a')
userid = req.session['userid']
companyid = getcompany(userid)
- if a=='listall':
+ if a == 'listall':
a = RiskAct.objects.filter(usecomp__partid=companyid)
- if int(req.GET.get('area',0)):
- a = a.filter(area__id = req.GET.get('area'))
- if int(req.GET.get('type',0)):
+ if int(req.GET.get('area', 0)):
+ a = a.filter(area__id=req.GET.get('area'))
+ if int(req.GET.get('type', 0)):
a = a.filter(type__dickeyid=req.GET.get('type'))
total = a.count()
- startnum,endnum=fenye(req)
- a = a.order_by('area')[startnum:endnum].values('id','area__name','type__dickeyname','name','level','qrcode','group__groupname','zrbm__partname','zrr__name','gkcj')
- return HttpResponse(transjson(total,a),content_type="application/json")
- elif a=='listall2':
+ startnum, endnum = fenye(req)
+ a = a.order_by('area')[startnum:endnum].values('id', 'area__name', 'type__dickeyname',
+ 'name', 'level', 'qrcode', 'group__groupname', 'zrbm__partname', 'zrr__name', 'gkcj')
+ return HttpResponse(transjson(total, a), content_type="application/json")
+ elif a == 'listall2':
a = RiskAct.objects
if req.GET.get('area'):
- a = a.filter(area__id = req.GET.get('area'))
+ a = a.filter(area__id=req.GET.get('area'))
total = a.count()
- a = a.values('id','area__name','type__dickeyname','name','level','qrcode','group__groupname','zrbm__partname','zrr__name','gkcj')
- return HttpResponse(transjson(total,a),content_type="application/json")
- elif a=='listself':
+ a = a.values('id', 'area__name', 'type__dickeyname', 'name', 'level',
+ 'qrcode', 'group__groupname', 'zrbm__partname', 'zrr__name', 'gkcj')
+ return HttpResponse(transjson(total, a), content_type="application/json")
+ elif a == 'listself':
groups = Group.objects.filter(users=User.objects.get(userid=userid))
objs = RiskAct.objects.filter(group__in=groups)
if req.GET.get('area'):
- objs = objs.filter(area__id = req.GET.get('area'))
+ objs = objs.filter(area__id=req.GET.get('area'))
if req.GET.get('type'):
objs = objs.filter(type__dickeyid=req.GET.get('type'))
total = objs.count()
- startnum,endnum=fenye(req)
- objs = objs.order_by('area')[startnum:endnum].values('id','area__name','type__dickeyname','name','level','qrcode','group__groupname','zrbm__partname','zrr__name','gkcj')
- return HttpResponse(transjson(total,objs),content_type="application/json")
+ startnum, endnum = fenye(req)
+ objs = objs.order_by('area')[startnum:endnum].values('id', 'area__name', 'type__dickeyname',
+ 'name', 'level', 'qrcode', 'group__groupname', 'zrbm__partname', 'zrr__name', 'gkcj')
+ return HttpResponse(transjson(total, objs), content_type="application/json")
elif a == 'add':
data = json.loads(req.body.decode('utf-8'))
obj = RiskAct()
@@ -5752,9 +6341,10 @@ def apiriskact(req):
obj.zrr = User.objects.get(userid=data['zrr'])
obj.group = Group.objects.get(groupid=data['group'])
obj.save()
- obj.qrcode = makeqr_riskact('https://safeyun.ctcshe.com/miniprogram/riskact?id='+str(obj.id))
+ obj.qrcode = makeqr_riskact(
+ 'https://safeyun.ctcshe.com/miniprogram/riskact?id='+str(obj.id))
obj.save()
- return JsonResponse({'code':1})
+ return JsonResponse({'code': 1})
elif a == 'edit':
data = json.loads(req.body.decode('utf-8'))
obj = RiskAct.objects.get(id=data['id'])
@@ -5768,39 +6358,42 @@ def apiriskact(req):
obj.zrr = User.objects.get(userid=data['zrr'])
obj.group = Group.objects.get(groupid=data['group'])
obj.save()
- return JsonResponse({'code':1})
+ return JsonResponse({'code': 1})
elif a == 'detail':
obj = RiskAct.objects.filter(id=req.GET.get('id'))
num = Risk.objects.filter(riskact=obj[0]).count()
- obj = obj.values('id','area__id','place','type__dickeyid','name','type__dickeyname','area__name','level','qrcode','gkcj','group__groupid','zrbm__partid','zrr__userid','group__groupname','zrbm__partname','zrr__name')[0]
- obj['num']=num
- return JsonResponse({'code':1,'data':obj})
+ obj = obj.values('id', 'area__id', 'place', 'type__dickeyid', 'name', 'type__dickeyname', 'area__name', 'level', 'qrcode',
+ 'gkcj', 'group__groupid', 'zrbm__partid', 'zrr__userid', 'group__groupname', 'zrbm__partname', 'zrr__name')[0]
+ obj['num'] = num
+ return JsonResponse({'code': 1, 'data': obj})
elif a == 'del':
id = req.GET.get('id')
user = User.objects.get(userid=userid)
- if user.issuper==1:
+ if user.issuper == 1:
obj = RiskAct.objects.get(id=id)
obj.delete()
try:
cal_area_risk_level(obj.area)
except:
pass
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
else:
- return JsonResponse({"code":0})
- elif a=='listalltask':
- a = RiskAct.objects.filter(usecomp__partid=companyid,type__dickeyid=396)
+ return JsonResponse({"code": 0})
+ elif a == 'listalltask':
+ a = RiskAct.objects.filter(
+ usecomp__partid=companyid, type__dickeyid=396)
total = a.count()
- startnum,endnum=fenye(req)
- a = a.order_by('-tasktype','group')[startnum:endnum].values('group__groupname','area__name','type__dickeyname','id','group__groupid','name','tasktype','tasktime')
- return HttpResponse(transjson(total,a),content_type="application/json")
+ startnum, endnum = fenye(req)
+ a = a.order_by('-tasktype', 'group')[startnum:endnum].values('group__groupname',
+ 'area__name', 'type__dickeyname', 'id', 'group__groupid', 'name', 'tasktype', 'tasktime')
+ return HttpResponse(transjson(total, a), content_type="application/json")
elif a == 'updatetask':
tasktype = int(req.POST.get('tasktype'))
riskacts = json.loads(req.POST.get('riskacts'))
firsttime = req.POST.get('firsttime')
if firsttime:
firsttime = datetime.strptime(str(firsttime), '%Y-%m-%d %H:%M')
- tasktime=datetime.now()#任务开始时间
+ tasktime = datetime.now() # 任务开始时间
if firsttime:
tasktime = firsttime
for x in riskacts:
@@ -5808,44 +6401,54 @@ def apiriskact(req):
obj.tasktype = tasktype
obj.tasktime = tasktime
obj.save()
- RiskActTask.objects.filter(riskact=obj,usable=1,istask=1).update(usable=2)
+ RiskActTask.objects.filter(
+ riskact=obj, usable=1, istask=1).update(usable=2)
if tasktype == 1:
- RiskActTask.objects.create(riskact=obj,taskadd=tasktime,taskexpire = tasktime + timedelta(hours=8),istask=1)
+ RiskActTask.objects.create(
+ riskact=obj, taskadd=tasktime, taskexpire=tasktime + timedelta(hours=8), istask=1)
elif tasktype == 2:
- RiskActTask.objects.create(riskact=obj,taskadd=tasktime,taskexpire = tasktime + timedelta(days=1),istask=1)
+ RiskActTask.objects.create(
+ riskact=obj, taskadd=tasktime, taskexpire=tasktime + timedelta(days=1), istask=1)
elif tasktype == 3:
- RiskActTask.objects.create(riskact=obj,taskadd=tasktime,taskexpire = tasktime + timedelta(days=7),istask=1)
- return JsonResponse({"code":1})
+ RiskActTask.objects.create(
+ riskact=obj, taskadd=tasktime, taskexpire=tasktime + timedelta(days=7), istask=1)
+ return JsonResponse({"code": 1})
+
def apirisk(req):
a = req.GET.get('a')
userid = req.session['userid']
companyid = getcompany(userid)
- if a=='listall':
+ if a == 'listall':
a = Risk.objects.filter(usecomp__partid=companyid)
if req.GET.get('riskact'):
a = a.filter(riskact__id=req.GET.get('riskact'))
total = a.count()
else:
- startnum,endnum=fenye(req)
+ startnum, endnum = fenye(req)
total = a.count()
a = a[startnum:endnum]
- a = a.values('id','step','hazard','result','level','riskl','riske','riskc','riskd','measure1','measure2','measure3','measure4','measure5','riskact__name','riskact__area__name','riskact__area__id','riskact__place')
- return HttpResponse(transjson(total,a),content_type="application/json")
- elif a=='listall2':#按风险点聚合
- a = Risk.objects.filter(usecomp__partid=companyid,riskact__type__dickeyid=396)#设备设施类
+ a = a.values('id', 'step', 'hazard', 'result', 'level', 'riskl', 'riske', 'riskc', 'riskd', 'measure1', 'measure2',
+ 'measure3', 'measure4', 'measure5', 'riskact__name', 'riskact__area__name', 'riskact__area__id', 'riskact__place')
+ return HttpResponse(transjson(total, a), content_type="application/json")
+ elif a == 'listall2': # 按风险点聚合
+ a = Risk.objects.filter(usecomp__partid=companyid,
+ riskact__type__dickeyid=396) # 设备设施类
total = a.count()
- startnum,endnum=fenye(req)
- a = a.order_by('-tasktype','group__groupid')[startnum:endnum].values('group__groupname','riskact__area__name','riskact__type__dickeyname','riskact__id','group__groupid','riskact__name','tasktype','tasktime').annotate(num = Count('group'))
- return HttpResponse(transjson(total,a),content_type="application/json")
+ startnum, endnum = fenye(req)
+ a = a.order_by('-tasktype', 'group__groupid')[startnum:endnum].values('group__groupname', 'riskact__area__name',
+ 'riskact__type__dickeyname', 'riskact__id', 'group__groupid', 'riskact__name', 'tasktype', 'tasktime').annotate(num=Count('group'))
+ return HttpResponse(transjson(total, a), content_type="application/json")
elif a == 'listself':
groups = Group.objects.filter(users=User.objects.get(userid=userid))
- a = Risk.objects.filter(group__in=groups).values('id','step','level','riskact__id','riskact__name','riskact__area__name','riskact__area__id').order_by('riskact__id','id')
+ a = Risk.objects.filter(group__in=groups).values('id', 'step', 'level', 'riskact__id',
+ 'riskact__name', 'riskact__area__name', 'riskact__area__id').order_by('riskact__id', 'id')
total = a.count()
- return HttpResponse(transjson(total,a),content_type="application/json")
+ return HttpResponse(transjson(total, a), content_type="application/json")
elif a == 'detail':
obj = Risk.objects.filter(id=req.GET.get('id'))
- data = obj.values('id','riskact__name','riskact__area__name','riskact__type__dickeyname','step','hazard','level','result','measure1','measure2','measure3','measure4','measure5','riskl','riske','riskc','riskd','riskact__group__groupname','riskact__zrbm__partname','riskact__zrr__name','riskact__gkcj')
+ data = obj.values('id', 'riskact__name', 'riskact__area__name', 'riskact__type__dickeyname', 'step', 'hazard', 'level', 'result', 'measure1', 'measure2', 'measure3',
+ 'measure4', 'measure5', 'riskl', 'riske', 'riskc', 'riskd', 'riskact__group__groupname', 'riskact__zrbm__partname', 'riskact__zrr__name', 'riskact__gkcj')
return JsonResponse(data[0])
elif a == 'steps':
data = json.loads(req.body.decode('utf-8'))
@@ -5855,14 +6458,15 @@ def apirisk(req):
equipmentname = data['name']
objs = Risk.objects.filter(usecomp__partid=companyid)
equipment = Equipment.objects.get(id=equipmentid)
- if equipment.riskact:#如果该设备存在绑定的风险
+ if equipment.riskact: # 如果该设备存在绑定的风险
objs = objs.filter(riskact=equipment.riskact)
else:
- objs = objs.filter(riskact__area__id=areaid,riskact__name__contains=equipmentname)
+ objs = objs.filter(riskact__area__id=areaid,
+ riskact__name__contains=equipmentname)
if objs.exists():
- return JsonResponse({'code':1,'steps':list(objs.values('id','step','hazard','result','level','riskact__group__groupname','riskact__zrbm__partname','riskact__zrr__name'))})
+ return JsonResponse({'code': 1, 'steps': list(objs.values('id', 'step', 'hazard', 'result', 'level', 'riskact__group__groupname', 'riskact__zrbm__partname', 'riskact__zrr__name'))})
else:
- return JsonResponse({'code':0})
+ return JsonResponse({'code': 0})
elif a == 'del':
id = req.GET.get('id')
user = User.objects.get(userid=userid)
@@ -5872,7 +6476,7 @@ def apirisk(req):
cal_riskact_level(obj.riskact)
except:
pass
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
elif a == 'add':
data = json.loads(req.body.decode('utf-8'))
obj = Risk()
@@ -5891,21 +6495,21 @@ def apirisk(req):
obj.riskc = data['riskc']
riskd = float(data['riskl'])*float(data['riske'])*float(data['riskc'])
obj.riskd = riskd
- if riskd>=320:
- obj.level='重大风险'
- elif 320>riskd>=160:
- obj.level='较大风险'
- elif 160>riskd>=70:
- obj.level='一般风险'
+ if riskd >= 320:
+ obj.level = '重大风险'
+ elif 320 > riskd >= 160:
+ obj.level = '较大风险'
+ elif 160 > riskd >= 70:
+ obj.level = '一般风险'
else:
- obj.level='低风险'
+ obj.level = '低风险'
obj.usecomp = Partment.objects.get(partid=companyid)
obj.save()
try:
cal_riskact_level(obj.riskact)
except:
pass
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
elif a == 'update':
data = json.loads(req.body.decode('utf-8'))
obj = Risk.objects.get(id=data['id'])
@@ -5923,21 +6527,21 @@ def apirisk(req):
obj.riskc = data['riskc']
riskd = float(data['riskl'])*float(data['riske'])*float(data['riskc'])
obj.riskd = riskd
- if riskd>=320:
- obj.level='重大风险'
- elif 320>riskd>=160:
- obj.level='较大风险'
- elif 160>riskd>=70:
- obj.level='一般风险'
+ if riskd >= 320:
+ obj.level = '重大风险'
+ elif 320 > riskd >= 160:
+ obj.level = '较大风险'
+ elif 160 > riskd >= 70:
+ obj.level = '一般风险'
else:
- obj.level='低风险'
+ obj.level = '低风险'
obj.usecomp = Partment.objects.get(partid=companyid)
obj.save()
try:
cal_riskact_level(obj.riskact)
except:
pass
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
elif a == 'update':
data = json.loads(req.body.decode('utf-8'))
obj = Risk.objects.get(id=data['id'])
@@ -5955,21 +6559,22 @@ def apirisk(req):
obj.riskc = data['riskc']
riskd = float(data['riskl'])*float(data['riske'])*float(data['riskc'])
obj.riskd = riskd
- if riskd>=320:
- obj.level='重大风险'
- elif 320>riskd>=160:
- obj.level='较大风险'
- elif 160>riskd>=70:
- obj.level='一般风险'
+ if riskd >= 320:
+ obj.level = '重大风险'
+ elif 320 > riskd >= 160:
+ obj.level = '较大风险'
+ elif 160 > riskd >= 70:
+ obj.level = '一般风险'
else:
- obj.level='低风险'
+ obj.level = '低风险'
obj.usecomp = Partment.objects.get(partid=companyid)
obj.save()
try:
cal_riskact_level(obj.riskact)
except:
pass
- return JsonResponse({"code":1})
+ return JsonResponse({"code": 1})
+
def apirisktask(req):
a = req.GET.get('a')
@@ -5982,8 +6587,9 @@ def apirisktask(req):
if firsttime:
firsttime = datetime.strptime(str(firsttime), '%Y-%m-%d %H:%M')
for i in risks:
- objs = Risk.objects.filter(riskact__id=i['riskact__id'],group__groupid=i['group__groupid'])
- tasktime=datetime.now()#任务开始时间
+ objs = Risk.objects.filter(
+ riskact__id=i['riskact__id'], group__groupid=i['group__groupid'])
+ tasktime = datetime.now() # 任务开始时间
if firsttime:
tasktime = firsttime
# if tasktype == 1:#每班
@@ -5994,92 +6600,109 @@ def apirisktask(req):
# tasktime = firsttime + timedelta(weeks=1)
# elif tasktype == 4:#每月
# tasktime = firsttime - timedelta(weeks=4)
- objs.update(tasktype=tasktype,tasktime=tasktime)
+ objs.update(tasktype=tasktype, tasktime=tasktime)
for x in objs:
- Risktask.objects.filter(risk=x,usable=1).update(usable=2)
+ Risktask.objects.filter(risk=x, usable=1).update(usable=2)
if tasktype == 1:
- Risktask.objects.create(risk=x,group=x.group,taskadd=tasktime,taskexpire = tasktime + timedelta(hours=8))
+ Risktask.objects.create(
+ risk=x, group=x.group, taskadd=tasktime, taskexpire=tasktime + timedelta(hours=8))
elif tasktype == 2:
- Risktask.objects.create(risk=x,group=x.group,taskadd=tasktime,taskexpire = tasktime + timedelta(days=1))
+ Risktask.objects.create(
+ risk=x, group=x.group, taskadd=tasktime, taskexpire=tasktime + timedelta(days=1))
elif tasktype == 3:
- Risktask.objects.create(risk=x,group=x.group,taskadd=tasktime,taskexpire = tasktime + timedelta(days=7))
- return JsonResponse({"code":1})
+ Risktask.objects.create(
+ risk=x, group=x.group, taskadd=tasktime, taskexpire=tasktime + timedelta(days=7))
+ return JsonResponse({"code": 1})
elif a == 'list2todo':
groups = Group.objects.filter(users__userid=userid)
- objs = Risktask.objects.filter(group__in=groups,usable=1).values('risk__group__groupname','risk__riskact__area__name','risk__riskact__type__dickeyname','risk__riskact__id','risk__group__groupid','risk__riskact__name','risk__riskact__level','risk__tasktype','taskadd','taskexpire','user__userid').annotate(num = Count('risk__group'))
+ objs = Risktask.objects.filter(group__in=groups, usable=1).values('risk__group__groupname', 'risk__riskact__area__name', 'risk__riskact__type__dickeyname', 'risk__riskact__id',
+ 'risk__group__groupid', 'risk__riskact__name', 'risk__riskact__level', 'risk__tasktype', 'taskadd', 'taskexpire', 'user__userid').annotate(num=Count('risk__group'))
total = objs.count()
- startnum,endnum=fenye(req)
+ startnum, endnum = fenye(req)
objs = objs[startnum:endnum]
- return HttpResponse(transjson(total,objs),content_type="application/json")
+ return HttpResponse(transjson(total, objs), content_type="application/json")
elif a == 'todonum':
groups = Group.objects.filter(users__userid=userid)
- objs = Risktask.objects.filter(group__in=groups,usable=1,user=None).annotate(num = Count('risk__group'))
+ objs = Risktask.objects.filter(
+ group__in=groups, usable=1, user=None).annotate(num=Count('risk__group'))
total = objs.count()
- return JsonResponse({"code":1,"todonum":total})
+ return JsonResponse({"code": 1, "todonum": total})
elif a == 'list2done':
groups = Group.objects.filter(users__userid=userid)
- objs = Risktask.objects.filter(Q(group__in=groups)|Q(user__userid=userid),usable__in=[0,2]).values('risk__group__groupname','risk__riskact__area__name','risk__riskact__type__dickeyname','risk__riskact__id','risk__tasktype','taskadd','taskexpire','user__userid','usable').annotate(num = Count('risk__group'))
+ objs = Risktask.objects.filter(Q(group__in=groups) | Q(user__userid=userid), usable__in=[0, 2]).values(
+ 'risk__group__groupname', 'risk__riskact__area__name', 'risk__riskact__type__dickeyname', 'risk__riskact__id', 'risk__tasktype', 'taskadd', 'taskexpire', 'user__userid', 'usable').annotate(num=Count('risk__group'))
total = objs.count()
- startnum,endnum=fenye(req)
+ startnum, endnum = fenye(req)
objs = objs[startnum:endnum]
- return HttpResponse(transjson(total,objs),content_type="application/json")
- elif a == 'listalltodo': #全厂待办
+ return HttpResponse(transjson(total, objs), content_type="application/json")
+ elif a == 'listalltodo': # 全厂待办
groups = Group.objects.filter(usecomp__partid=companyid)
- objs = Risktask.objects.filter(group__in=groups,usable=1).values('risk__group__groupname','risk__riskact__area__name','risk__riskact__type__dickeyname','risk__riskact__id','risk__group__groupid','risk__riskact__name','risk__riskact__level','risk__tasktype','taskadd','taskexpire','user__userid').annotate(num = Count('risk__group'))
+ objs = Risktask.objects.filter(group__in=groups, usable=1).values('risk__group__groupname', 'risk__riskact__area__name', 'risk__riskact__type__dickeyname', 'risk__riskact__id',
+ 'risk__group__groupid', 'risk__riskact__name', 'risk__riskact__level', 'risk__tasktype', 'taskadd', 'taskexpire', 'user__userid').annotate(num=Count('risk__group'))
total = objs.count()
- startnum,endnum=fenye(req)
+ startnum, endnum = fenye(req)
objs = objs[startnum:endnum]
- return HttpResponse(transjson(total,objs),content_type="application/json")
- elif a == 'listall': #全厂任务聚合
+ return HttpResponse(transjson(total, objs), content_type="application/json")
+ elif a == 'listall': # 全厂任务聚合
groups = Group.objects.filter(usecomp__partid=companyid)
- objs = Risktask.objects.filter(group__in=groups).order_by('-usable','risk__group__groupid').values('risk__group__groupname','risk__riskact__area__name','risk__riskact__type__dickeyname','risk__riskact__id','risk__group__groupid','risk__riskact__name','risk__riskact__level','risk__tasktype','taskadd','taskexpire','user__userid','usable').annotate(num = Count('risk__group'))
+ objs = Risktask.objects.filter(group__in=groups).order_by('-usable', 'risk__group__groupid').values('risk__group__groupname', 'risk__riskact__area__name', 'risk__riskact__type__dickeyname',
+ 'risk__riskact__id', 'risk__group__groupid', 'risk__riskact__name', 'risk__riskact__level', 'risk__tasktype', 'taskadd', 'taskexpire', 'user__userid', 'usable').annotate(num=Count('risk__group'))
total = objs.count()
- startnum,endnum=fenye(req)
+ startnum, endnum = fenye(req)
objs = objs[startnum:endnum]
- return HttpResponse(transjson(total,objs),content_type="application/json")
+ return HttpResponse(transjson(total, objs), content_type="application/json")
elif a == 'listtask':
- objs = Risktask.objects.filter(usable=1,risk__riskact__usecomp__partid=companyid)
+ objs = Risktask.objects.filter(
+ usable=1, risk__riskact__usecomp__partid=companyid)
if req.GET.get('riskact'):
objs = objs.filter(risk__riskact__id=req.GET.get('riskact'))
if req.GET.get('group'):
objs = objs.filter(group__groupid=req.GET.get('group'))
total = objs.count()
- startnum,endnum=fenye(req)
- objs = objs[startnum:endnum].values('id','risk__id','risk__step','risk__hazard','risk__level','risk__result','risk__measure1','risk__measure2','risk__measure3','risk__measure4','risk__measure5','risk__riskact__area__name','risk__riskact__area__id','risk__riskact__place','trouble__yhnum','user__userid','user__name','user__ubelongpart__partname','taskdo')
- return HttpResponse(transjson(total,objs),content_type="application/json")
- elif a == 'checktrouble':#发现隐患
+ startnum, endnum = fenye(req)
+ objs = objs[startnum:endnum].values('id', 'risk__id', 'risk__step', 'risk__hazard', 'risk__level', 'risk__result', 'risk__measure1', 'risk__measure2', 'risk__measure3', 'risk__measure4',
+ 'risk__measure5', 'risk__riskact__area__name', 'risk__riskact__area__id', 'risk__riskact__place', 'trouble__yhnum', 'user__userid', 'user__name', 'user__ubelongpart__partname', 'taskdo')
+ return HttpResponse(transjson(total, objs), content_type="application/json")
+ elif a == 'checktrouble': # 发现隐患
data = json.loads(req.body.decode('utf-8'))
trouble = data['trouble']
risktask = data['risktask']
- Risktask.objects.filter(id=risktask).update(trouble=Trouble.objects.get(troubleid=trouble))
+ Risktask.objects.filter(id=risktask).update(
+ trouble=Trouble.objects.get(troubleid=trouble))
obj = Risktask.objects.get(id=risktask)
- Riskcheck.objects.create(risk=obj.risk,user=User.objects.get(userid=userid),risktask=obj,trouble=Trouble.objects.get(troubleid=trouble))
- return JsonResponse({'code':1})
- elif a == 'update': #风险点检查更新
+ Riskcheck.objects.create(risk=obj.risk, user=User.objects.get(
+ userid=userid), risktask=obj, trouble=Trouble.objects.get(troubleid=trouble))
+ return JsonResponse({'code': 1})
+ elif a == 'update': # 风险点检查更新
data = json.loads(req.body.decode('utf-8'))
nowtime = datetime.now()
- Risktask.objects.filter(id__in=data['tasks']).update(user=User.objects.get(userid=userid),taskdo=nowtime)
+ Risktask.objects.filter(id__in=data['tasks']).update(
+ user=User.objects.get(userid=userid), taskdo=nowtime)
for i in data['tasks']:
objs = Riskcheck.objects.filter(risktask__id=i)
if objs.exists():
objs.update(dotime=nowtime)
else:
obj = Risktask.objects.get(id=i)
- Riskcheck.objects.create(risk=obj.risk,user=User.objects.get(userid=userid),risktask=obj,dotime=nowtime)
- return JsonResponse({'code':1})
+ Riskcheck.objects.create(risk=obj.risk, user=User.objects.get(
+ userid=userid), risktask=obj, dotime=nowtime)
+ return JsonResponse({'code': 1})
+
def apiriskacttask(req):
a = req.GET.get('a')
userid = req.session['userid']
companyid = getcompany(userid)
- if a == 'listalltask': #全厂任务
- objs = RiskActTask.objects.filter(riskact__usecomp__partid=companyid,istask=1).order_by('-usable','riskact__group__groupid').values('riskact__group__groupname','riskact__area__name','riskact__type__dickeyname','riskact__id','riskact__group__groupid','riskact__name','riskact__level','riskact__tasktype','taskadd','taskexpire','user__userid','usable','taskdo','user__name')
+ if a == 'listalltask': # 全厂任务
+ objs = RiskActTask.objects.filter(riskact__usecomp__partid=companyid, istask=1).order_by('-usable', 'riskact__group__groupid').values('riskact__group__groupname', 'riskact__area__name',
+ 'riskact__type__dickeyname', 'riskact__id', 'riskact__group__groupid', 'riskact__name', 'riskact__level', 'riskact__tasktype', 'taskadd', 'taskexpire', 'user__userid', 'usable', 'taskdo', 'user__name')
total = objs.count()
- startnum,endnum=fenye(req)
+ startnum, endnum = fenye(req)
objs = objs[startnum:endnum]
- return HttpResponse(transjson(total,objs),content_type="application/json")
- elif a == 'listall': #全厂排查记录
- objs = RiskActTask.objects.filter(riskact__usecomp__partid=companyid).exclude(user=None)
+ return HttpResponse(transjson(total, objs), content_type="application/json")
+ elif a == 'listall': # 全厂排查记录
+ objs = RiskActTask.objects.filter(
+ riskact__usecomp__partid=companyid).exclude(user=None)
if req.GET.get('pcbm'):
parts = getparts(req.GET.get('pcbm'))
objs = objs.filter(user__ubelongpart__in=parts)
@@ -6088,33 +6711,40 @@ def apiriskacttask(req):
if req.GET.get('jssj'):
objs = objs.filter(taskdo__lte=req.GET.get('jssj'))
total = objs.count()
- startnum,endnum=fenye(req)
- objs = objs[startnum:endnum].values('id','riskact__name','riskact__area__name','riskact__place','taskdo','state','user__ubelongpart__partname','user__name','taskdo')
- return HttpResponse(transjson(total,objs),content_type="application/json")
- elif a == 'listalltodo': #全厂待办任务
- objs = RiskActTask.objects.filter(riskact__usecomp__partid=companyid,istask=1,user=None)
+ startnum, endnum = fenye(req)
+ objs = objs[startnum:endnum].values('id', 'riskact__name', 'riskact__area__name', 'riskact__place',
+ 'taskdo', 'state', 'user__ubelongpart__partname', 'user__name', 'taskdo')
+ return HttpResponse(transjson(total, objs), content_type="application/json")
+ elif a == 'listalltodo': # 全厂待办任务
+ objs = RiskActTask.objects.filter(
+ riskact__usecomp__partid=companyid, istask=1, user=None)
total = objs.count()
- startnum,endnum=fenye(req)
- objs = objs[startnum:endnum].values('id','riskact__group__groupname','riskact__area__name','riskact__type__dickeyname','riskact__id','riskact__group__groupid','riskact__name','riskact__level','riskact__tasktype','taskadd','taskexpire','user__userid','usable')
- return HttpResponse(transjson(total,objs),content_type="application/json")
- elif a == 'listself':#排查记录
+ startnum, endnum = fenye(req)
+ objs = objs[startnum:endnum].values('id', 'riskact__group__groupname', 'riskact__area__name', 'riskact__type__dickeyname', 'riskact__id',
+ 'riskact__group__groupid', 'riskact__name', 'riskact__level', 'riskact__tasktype', 'taskadd', 'taskexpire', 'user__userid', 'usable')
+ return HttpResponse(transjson(total, objs), content_type="application/json")
+ elif a == 'listself': # 排查记录
a = RiskActTask.objects.filter(user__userid=userid)
total = a.count()
- startnum,endnum=fenye(req)
- a = a.order_by('-id')[startnum:endnum].values('id','riskact__level','riskact__name','riskact__area__name','riskact__place','taskdo','state','usable','riskact__group__groupname','taskadd','taskexpire','user__userid','riskact__id')
- return HttpResponse(transjson(total,a),content_type="application/json")
- elif a == 'listmytodo':#待办
+ startnum, endnum = fenye(req)
+ a = a.order_by('-id')[startnum:endnum].values('id', 'riskact__level', 'riskact__name', 'riskact__area__name', 'riskact__place',
+ 'taskdo', 'state', 'usable', 'riskact__group__groupname', 'taskadd', 'taskexpire', 'user__userid', 'riskact__id')
+ return HttpResponse(transjson(total, a), content_type="application/json")
+ elif a == 'listmytodo': # 待办
groups = Group.objects.filter(users__userid=userid)
- objs = RiskActTask.objects.filter(riskact__group__in=groups,usable=1,istask=1,user=None)
+ objs = RiskActTask.objects.filter(
+ riskact__group__in=groups, usable=1, istask=1, user=None)
total = objs.count()
- startnum,endnum=fenye(req)
- objs = objs[startnum:endnum].values('id','riskact__group__groupname','riskact__area__name','riskact__type__dickeyname','riskact__id','riskact__group__groupid','riskact__name','riskact__level','riskact__tasktype','taskadd','taskexpire','user__userid')
- return HttpResponse(transjson(total,objs),content_type="application/json")
+ startnum, endnum = fenye(req)
+ objs = objs[startnum:endnum].values('id', 'riskact__group__groupname', 'riskact__area__name', 'riskact__type__dickeyname', 'riskact__id',
+ 'riskact__group__groupid', 'riskact__name', 'riskact__level', 'riskact__tasktype', 'taskadd', 'taskexpire', 'user__userid')
+ return HttpResponse(transjson(total, objs), content_type="application/json")
elif a == 'todonum':
groups = Group.objects.filter(users__userid=userid)
- objs = RiskActTask.objects.filter(riskact__group__in=groups,usable=1,user=None)
+ objs = RiskActTask.objects.filter(
+ riskact__group__in=groups, usable=1, user=None)
total = objs.count()
- return JsonResponse({"code":1,"todonum":total})
+ return JsonResponse({"code": 1, "todonum": total})
# elif a == 'listmydone':
# groups = Group.objects.filter(users__userid=userid)
# objs = Risktask.objects.filter(Q(group__in=groups)|Q(user__userid=userid),usable__in=[0,2]).values('risk__group__groupname','risk__riskact__area__name','risk__riskact__type__dickeyname','risk__riskact__id','risk__tasktype','taskadd','taskexpire','user__userid','usable').annotate(num = Count('risk__group'))
@@ -6123,6 +6753,7 @@ def apiriskacttask(req):
# objs = objs[startnum:endnum]
# return HttpResponse(transjson(total,objs),content_type="application/json")
+
def apiriskcheck2(req):
a = req.GET.get('a')
userid = req.session['userid']
@@ -6132,36 +6763,41 @@ def apiriskcheck2(req):
data = json.loads(req.body.decode('utf-8'))
checkrisks = data['checks']
user = User.objects.get(userid=userid)
- objs = RiskActTask.objects.filter(riskact__id=data['riskact'],usable=1,user=None,istask=1)#匹配未处理的任务
+ objs = RiskActTask.objects.filter(
+ riskact__id=data['riskact'], usable=1, user=None, istask=1) # 匹配未处理的任务
if objs.exists():
- obj=objs[0]
- obj.user=user
- obj.taskdo=nowtime
+ obj = objs[0]
+ obj.user = user
+ obj.taskdo = nowtime
obj.save()
else:
obj = RiskActTask()
obj.riskact = RiskAct.objects.get(id=data['riskact'])
- obj.user=user
- obj.istask=0
- obj.taskdo=nowtime
+ obj.user = user
+ obj.istask = 0
+ obj.taskdo = nowtime
obj.save()
for i in checkrisks:
risk = Risk.objects.get(id=i['id'])
if 'trouble' in i:
- Riskcheck2.objects.create(risk=risk,riskacttask=obj,trouble=Trouble.objects.get(troubleid=i['trouble']),dotime=nowtime)
- obj.state=0
+ Riskcheck2.objects.create(risk=risk, riskacttask=obj, trouble=Trouble.objects.get(
+ troubleid=i['trouble']), dotime=nowtime)
+ obj.state = 0
obj.save()
else:
- Riskcheck2.objects.create(risk=risk,riskacttask=obj,dotime=nowtime)
- return JsonResponse({'code':1})
+ Riskcheck2.objects.create(
+ risk=risk, riskacttask=obj, dotime=nowtime)
+ return JsonResponse({'code': 1})
elif a == 'listall':
objs = Riskcheck2.objects.filter(risk__usecomp__partid=companyid)
if req.GET.get('riskacttask'):
objs = objs.filter(riskacttask__id=req.GET.get('riskacttask'))
total = objs.count()
- startnum,endnum=fenye(req)
- objs = objs.order_by('-id')[startnum:endnum].values('id','risk__step','risk__level','trouble__yhnum','risk__hazard','risk__result','risk__measure1','risk__measure2','risk__measure3','risk__measure4','risk__measure5')
- return HttpResponse(transjson(total,objs),content_type="application/json")
+ startnum, endnum = fenye(req)
+ objs = objs.order_by('-id')[startnum:endnum].values('id', 'risk__step', 'risk__level', 'trouble__yhnum', 'risk__hazard',
+ 'risk__result', 'risk__measure1', 'risk__measure2', 'risk__measure3', 'risk__measure4', 'risk__measure5')
+ return HttpResponse(transjson(total, objs), content_type="application/json")
+
def apiriskcheck(req):
a = req.GET.get('a')
@@ -6173,22 +6809,27 @@ def apiriskcheck(req):
for i in data:
risk = Risk.objects.get(id=i['id'])
if 'trouble' in i:
- Riskcheck.objects.create(risk=risk,user=User.objects.get(userid=userid),trouble=Trouble.objects.get(troubleid=i['trouble']),dotime=nowtime)
- objs = Risktask.objects.filter(risk=risk,usable=1,user=None)
+ Riskcheck.objects.create(risk=risk, user=User.objects.get(
+ userid=userid), trouble=Trouble.objects.get(troubleid=i['trouble']), dotime=nowtime)
+ objs = Risktask.objects.filter(risk=risk, usable=1, user=None)
if objs.exists():
- objs.update(user=User.objects.get(userid=userid),taskdo=nowtime,trouble=Trouble.objects.get(troubleid=i['trouble']))
+ objs.update(user=User.objects.get(userid=userid), taskdo=nowtime,
+ trouble=Trouble.objects.get(troubleid=i['trouble']))
else:
- Riskcheck.objects.create(risk=risk,dotime=nowtime,user=User.objects.get(userid=userid))
- objs = Risktask.objects.filter(risk=risk,usable=1,user=None)
+ Riskcheck.objects.create(
+ risk=risk, dotime=nowtime, user=User.objects.get(userid=userid))
+ objs = Risktask.objects.filter(risk=risk, usable=1, user=None)
if objs.exists():
- objs.update(user=User.objects.get(userid=userid),taskdo=nowtime)
- return JsonResponse({'code':1})
+ objs.update(user=User.objects.get(
+ userid=userid), taskdo=nowtime)
+ return JsonResponse({'code': 1})
elif a == 'listself':
a = Riskcheck.objects.filter(user__userid=userid)
total = a.count()
- startnum,endnum=fenye(req)
- a = a.order_by('-id')[startnum:endnum].values('id','risk__step','risk__level','risk__riskact__name','risk__riskact__area__name','risk__riskact__place','dotime','trouble__yhnum')
- return HttpResponse(transjson(total,a),content_type="application/json")
+ startnum, endnum = fenye(req)
+ a = a.order_by('-id')[startnum:endnum].values('id', 'risk__step', 'risk__level', 'risk__riskact__name',
+ 'risk__riskact__area__name', 'risk__riskact__place', 'dotime', 'trouble__yhnum')
+ return HttpResponse(transjson(total, a), content_type="application/json")
elif a == 'listall':
objs = Riskcheck.objects.filter(user__usecomp__partid=companyid)
if req.GET.get('pcbm'):
@@ -6199,9 +6840,11 @@ def apiriskcheck(req):
if req.GET.get('jssj'):
objs = objs.filter(dotime__lte=req.GET.get('jssj'))
total = objs.count()
- startnum,endnum=fenye(req)
- objs = objs.order_by('-id')[startnum:endnum].values('id','risk__step','risk__level','risk__riskact__name','risk__riskact__area__name','risk__riskact__place','dotime','trouble__yhnum','user__ubelongpart__partname','user__name')
- return HttpResponse(transjson(total,objs),content_type="application/json")
+ startnum, endnum = fenye(req)
+ objs = objs.order_by('-id')[startnum:endnum].values('id', 'risk__step', 'risk__level', 'risk__riskact__name',
+ 'risk__riskact__area__name', 'risk__riskact__place', 'dotime', 'trouble__yhnum', 'user__ubelongpart__partname', 'user__name')
+ return HttpResponse(transjson(total, objs), content_type="application/json")
+
def apireport(req):
a = req.GET.get('a')
@@ -6210,49 +6853,52 @@ def apireport(req):
year = req.GET.get('year')
month = req.GET.get('month')
part = req.GET.get('part')
- objs = Report.objects.filter(year=year,month=month)
- if part and part !='undefined':
+ objs = Report.objects.filter(year=year, month=month)
+ if part and part != 'undefined':
objs = objs.filter(part__partid=part)
else:
objs = objs.filter(part=User.objects.get(userid=userid).usecomp)
if objs.exists():
- return JsonResponse({'code':1,'data':objs.values('id','cause','suggest')[0]})
+ return JsonResponse({'code': 1, 'data': objs.values('id', 'cause', 'suggest')[0]})
else:
- return JsonResponse({'code':0,'data':''})
+ return JsonResponse({'code': 0, 'data': ''})
elif a == 'add':
data = json.loads(req.body.decode('utf-8'))
year = req.GET.get('year')
month = req.GET.get('month')
part = req.GET.get('part')
if part:
- objs = Report.objects.filter(year=year,month=month,part__partid=part)
+ objs = Report.objects.filter(
+ year=year, month=month, part__partid=part)
else:
- objs = Report.objects.filter(year=year,month=month,part=User.objects.get(userid=userid).usecomp)
+ objs = Report.objects.filter(
+ year=year, month=month, part=User.objects.get(userid=userid).usecomp)
if objs.exists():
obj = objs[0]
else:
obj = Report()
- obj.year =year
+ obj.year = year
obj.month = month
if part:
- obj.part=Partment.objects.get(partid=part)
+ obj.part = Partment.objects.get(partid=part)
else:
obj.part = User.objects.get(userid=userid).usecomp
obj.cause = data['cause']
obj.suggest = data['suggest']
obj.save()
- return JsonResponse({'code':1})
+ return JsonResponse({'code': 1})
-#公司信息展示
+# 公司信息展示
def companyinfo(req):
- message=''
+ message = ''
try:
user = User.objects.filter(pk=req.session['userid'])
companyid = getcompany(req.session['userid'])
companyname = Partment.objects.get(partid=companyid).partname
# 生成CompanyInof的model对象
- companyinfo = CompanyInfo.objects.get_or_create(partment_id=companyid)[0]
+ companyinfo = CompanyInfo.objects.get_or_create(
+ partment_id=companyid)[0]
except Exception as e:
raise
# message='操作错误'
@@ -6264,37 +6910,45 @@ def companyinfo(req):
companyinfo.name = companyinfo_form.cleaned_data.get('name')
companyinfo.address = companyinfo_form.cleaned_data.get('address')
companyinfo.nature = companyinfo_form.cleaned_data.get('nature')
- companyinfo.fixed_assets = companyinfo_form.cleaned_data.get('fixed_assets')
- companyinfo.introduce = companyinfo_form.cleaned_data.get('introduce')
- companyinfo.legalperson = companyinfo_form.cleaned_data.get('legalperson')
- companyinfo.legalperson_phone = companyinfo_form.cleaned_data.get('legalperson_phone')
+ companyinfo.fixed_assets = companyinfo_form.cleaned_data.get(
+ 'fixed_assets')
+ companyinfo.introduce = companyinfo_form.cleaned_data.get(
+ 'introduce')
+ companyinfo.legalperson = companyinfo_form.cleaned_data.get(
+ 'legalperson')
+ companyinfo.legalperson_phone = companyinfo_form.cleaned_data.get(
+ 'legalperson_phone')
companyinfo.liaison = companyinfo_form.cleaned_data.get('liaison')
- companyinfo.liaison_fax = companyinfo_form.cleaned_data.get('liaison_fax')
- companyinfo.liaison_phone = companyinfo_form.cleaned_data.get('liaison_phone')
- companyinfo.peoplenum = companyinfo_form.cleaned_data.get('peoplenum')
+ companyinfo.liaison_fax = companyinfo_form.cleaned_data.get(
+ 'liaison_fax')
+ companyinfo.liaison_phone = companyinfo_form.cleaned_data.get(
+ 'liaison_phone')
+ companyinfo.peoplenum = companyinfo_form.cleaned_data.get(
+ 'peoplenum')
companyinfo.website = companyinfo_form.cleaned_data.get('website')
companyinfo.save()
#html = 'companyinfo.html'
- #return redirect('/withmenu/', html="companyinfo.html")
- #return HttpResponseRedirect("/withmenu/?html=companyinfo.html")
- return JsonResponse({'code':1})
+ # return redirect('/withmenu/', html="companyinfo.html")
+ # return HttpResponseRedirect("/withmenu/?html=companyinfo.html")
+ return JsonResponse({'code': 1})
from django.forms import model_to_dict
companyinfo_form = forms.CompanyInfoForm(model_to_dict(companyinfo))
return render(req, 'companyinfo.html',
{'companyinfo': companyinfo_form})
-import json
-from captcha.models import CaptchaStore
-from captcha.helpers import captcha_image_url
+
def refresh_captcha(request):
hashkey = CaptchaStore.generate_key()
image_url = captcha_image_url(hashkey)
return HttpResponse(json.dumps({'key': hashkey, 'image_url': image_url}), content_type='application/json')
+
def dump(obj):
print('\n'.join(['%s:%s' % item for item in obj.__dict__.items()]))
-#教育培训统计图
+# 教育培训统计图
+
+
def trainfg(req):
a = req.GET.get('a')
userid = req.session['userid']
@@ -6302,21 +6956,23 @@ def trainfg(req):
if a == 'trainfig':
year = int(req.GET.get('year'))
- months = [1,2,3,4,5,6,7,8,9,10,11,12]
- companylevel=[]#公司级
- workshoplevel=[]#车间/工段级
- teamlevel=[]#班组级
- departmentlevel =[]#部门分厂级
+ months = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
+ companylevel = [] # 公司级
+ workshoplevel = [] # 车间/工段级
+ teamlevel = [] # 班组级
+ departmentlevel = [] # 部门分厂级
for month in months:
- first_day,first_day_of_next_month = gettime(datetime(year,month,1))
+ first_day, first_day_of_next_month = gettime(
+ datetime(year, month, 1))
- a = Train.objects.filter(usecomp__partid=companyid,deletemark=1,starttime__range=(first_day, first_day_of_next_month))
+ a = Train.objects.filter(usecomp__partid=companyid, deletemark=1, starttime__range=(
+ first_day, first_day_of_next_month))
companylevel.append(a.filter(trainlevel__dicid=5).count())
workshoplevel.append(a.filter(trainlevel__dicid=6).count())
teamlevel.append(a.filter(trainlevel__dicid=7).count())
departmentlevel.append(a.filter(trainlevel__dicid=42).count())
- return JsonResponse({'code':1,'companylevel':companylevel,'workshoplevel':workshoplevel,'teamlevel':teamlevel,'departmentlevel':departmentlevel})
- elif a=='trainuser':
+ return JsonResponse({'code': 1, 'companylevel': companylevel, 'workshoplevel': workshoplevel, 'teamlevel': teamlevel, 'departmentlevel': departmentlevel})
+ elif a == 'trainuser':
a = Trainuser.objects.filter(participant__usecomp__partid=companyid)
if req.GET.get('qssj'):
a = a.filter(train__submittime__gte=req.GET.get('qssj'))
@@ -6324,39 +6980,44 @@ def trainfg(req):
a = a.filter(train__submittime__lte=req.GET.get('jssj'))
if req.GET.get('fxbm'):
fxbm = req.GET.get('fxbm')
- parts = Partment.objects.filter(partlink__contains=',' + fxbm + ',')|Partment.objects.filter(partid=fxbm)
+ parts = Partment.objects.filter(
+ partlink__contains=',' + fxbm + ',') | Partment.objects.filter(partid=fxbm)
a = a.filter(participant__ubelongpart__in=parts)
total = a.count()
- objs = a.values('participant__name','participant__username').annotate(count=Count('participant__userid'))
- return HttpResponse(transjson(total,objs),content_type="application/json")
- elif a=='traintype':
+ objs = a.values('participant__name', 'participant__username').annotate(
+ count=Count('participant__userid'))
+ return HttpResponse(transjson(total, objs), content_type="application/json")
+ elif a == 'traintype':
year = int(req.GET.get('year'))
month = int(req.GET.get('month'))
- traintypelist=[]
-
- first_day,first_day_of_next_month = gettime(datetime(year,month,1))
- a = Train.objects.filter(usecomp__partid=companyid,deletemark=1,starttime__range=(first_day, first_day_of_next_month))
- for i in Dickey.objects.filter(Q(usecomps__contains=',1,' )|Q(usecomps__contains=','+str(companyid)+','),dicparent_id=8):
- count=a.filter(traintype__dickeyid=i.dickeyid).count()
- dickeyname=i.dickeyname
- traintypelist.append({'value':count,'name':dickeyname})
- return HttpResponse(json.dumps({'code':1,'data':{'traintypelist':list(traintypelist)}}), content_type='application/json')
-#设备统计图
+ traintypelist = []
+
+ first_day, first_day_of_next_month = gettime(datetime(year, month, 1))
+ a = Train.objects.filter(usecomp__partid=companyid, deletemark=1, starttime__range=(
+ first_day, first_day_of_next_month))
+ for i in Dickey.objects.filter(Q(usecomps__contains=',1,') | Q(usecomps__contains=','+str(companyid)+','), dicparent_id=8):
+ count = a.filter(traintype__dickeyid=i.dickeyid).count()
+ dickeyname = i.dickeyname
+ traintypelist.append({'value': count, 'name': dickeyname})
+ return HttpResponse(json.dumps({'code': 1, 'data': {'traintypelist': list(traintypelist)}}), content_type='application/json')
+# 设备统计图
+
def equipmentfig(req):
a = req.GET.get('a')
userid = req.session['userid']
companyid = getcompany(userid)
-
- if a=='state':
- # year = int(req.GET.get('year'))
- # month = int(req.GET.get('month'))
- # first_day,first_day_of_next_month = gettime(datetime(year,month,1))
- a = Equipment.objects.filter(usecomp__partid=companyid,deletemark=1)
- normal = a.filter(state=1).count()#正常
- abnormal = a.filter(state=0).count()#异常
- return JsonResponse({"code":1,"normal":normal,"abnormal":abnormal})
- elif a=='eqmcount':
- eqmlist=Equipment.objects.filter(usecomp__partid=companyid,deletemark=1).values('area__name').annotate(num = Count('area'))
- return HttpResponse(json.dumps({'code':1,'data':{'eqmlist':list(eqmlist)}}), content_type='application/json')
+ if a == 'state':
+ # year = int(req.GET.get('year'))
+ # month = int(req.GET.get('month'))
+ # first_day,first_day_of_next_month = gettime(datetime(year,month,1))
+ a = Equipment.objects.filter(usecomp__partid=companyid, deletemark=1)
+ normal = a.filter(state=1).count() # 正常
+ abnormal = a.filter(state=0).count() # 异常
+ return JsonResponse({"code": 1, "normal": normal, "abnormal": abnormal})
+ elif a == 'eqmcount':
+ eqmlist = Equipment.objects.filter(usecomp__partid=companyid, deletemark=1).values(
+ 'area__name').annotate(num=Count('area'))
+
+ return HttpResponse(json.dumps({'code': 1, 'data': {'eqmlist': list(eqmlist)}}), content_type='application/json')