diff --git a/safesite/daoru.py b/safesite/daoru.py index 45975c82..d8ef2c48 100644 --- a/safesite/daoru.py +++ b/safesite/daoru.py @@ -65,6 +65,15 @@ def makeqr_safelist(data): img.save(filepath) return filepath +def makeqr_(data): + upload_folder = 'media/qr_other' + if not os.path.exists(upload_folder): + os.mkdir(upload_folder) + img = qrcode.make(data=data) + filepath = os.path.join(upload_folder, data.split('=')[1]+'.png').replace('\\','/') + img.save(filepath) + return filepath + def drquestions(companyid,path,userid): wb = load_workbook(path) sheet = wb.worksheets[0] diff --git a/safesite/mgt/views.py b/safesite/mgt/views.py index 51392ae5..e80a9a7e 100644 --- a/safesite/mgt/views.py +++ b/safesite/mgt/views.py @@ -13,7 +13,7 @@ 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 from ..export import exportdoc,exportxlsx,exportyjdoc,exportsimplexlsx,exportdoc2 -from ..daoru import drusers,drequipments,drrisks +from ..daoru import drusers,drequipments,drrisks, makeqr_ from django.forms.models import model_to_dict from ..safespider import getTzzs,getAqzs #from duibiao import calsim @@ -71,7 +71,8 @@ def api(req): obj.publisdate=data['publisdate'] obj.usecomp=Partment.objects.get(partid=companyid) obj.createuser=User.objects.get(userid=userid) - + obj.qrcode = makeqr_( + 'https://safeyun.ctcshe.com/miniprogram/mgt?id='+str(obj.id)) obj.save() return JsonResponse({"code":1}) diff --git a/safesite/models.py b/safesite/models.py index 1588ce79..ccb24971 100644 --- a/safesite/models.py +++ b/safesite/models.py @@ -1306,6 +1306,7 @@ class Mgtsystem(models.Model): publisdate = models.DateTimeField(default = timezone.now) createuser = models.ForeignKey(User,on_delete=models.CASCADE) deletemark = models.IntegerField(default=1) + qrcode = models.CharField(max_length=200, blank=True, null=True) # 管理制度二维码 @@ -1322,7 +1323,8 @@ class Resbility(models.Model): usecomp = models.ForeignKey(Partment,related_name='resbgs',on_delete=models.CASCADE,null=True,blank=True)#所属公司 deletemark = models.IntegerField(default=1)#是否删除 filepath=models.CharField(max_length=200,null=True,blank=True) - reads = models.IntegerField(default='0') + reads = models.IntegerField(default=0) + qrcode = models.CharField(max_length=200, blank=True, null=True) # 责任制度二维码 #操作规程 class Operproce(models.Model): id = models.AutoField(primary_key=True)#主键 @@ -1337,6 +1339,7 @@ class Operproce(models.Model): deletemark = models.IntegerField(default=1)#是否删除 filepath=models.CharField(max_length=200,null=True,blank=True) reads = models.IntegerField(default='0') + qrcode = models.CharField(max_length=200, blank=True, null=True) # 操作规程二维码 #责任阅读表 class Readerblility(models.Model): readid = models.ForeignKey(Resbility, on_delete=models.CASCADE)#主键 diff --git a/safesite/views.py b/safesite/views.py index 382b64b1..8d7f5cef 100644 --- a/safesite/views.py +++ b/safesite/views.py @@ -7015,36 +7015,36 @@ def apiexamtestrate(req): i['totaluser'] = usersattend.count() i['avgscore'] = round(i['avgscore'],1) with open('ratedata.dat','wb') as f: - pickle.dump({'total':total,'rows':objslist,'rows2':orgsCallist,'updatetime':datetime.now().strftime('%Y-%m-%d %H:%M')},f) - from openpyxl import Workbook, load_workbook - wb = load_workbook('e:/个人总排名.xlsx') - sheet = wb.active - for i in objslist: - num = str(objslist.index(i)+3) - sheet['a'+num] = i['user__name'] - sheet['b'+num] = i['user__ubelongpart__partname'] - sheet['c'+num] = i['testnum'] - sheet['d'+num] = i['totalscore'] - sheet['e'+num] = convertseconds(i['totaltook']) - nowtime = datetime.now().strftime('%Y%m%d') - sheet['b1'] = nowtime - filename = '个人总排名' + nowtime - filepath = 'e:/' + filename +'.xlsx' - wb.save(filepath) + pickle.dump({'total':total,'rows':objslist,'rows2':orgsCallist,'updatetime':'2020-03-01 10:00'},f) + # from openpyxl import Workbook, load_workbook + # wb = load_workbook('e:/个人总排名.xlsx') + # sheet = wb.active + # for i in objslist: + # num = str(objslist.index(i)+3) + # sheet['a'+num] = i['user__name'] + # sheet['b'+num] = i['user__ubelongpart__partname'] + # sheet['c'+num] = i['testnum'] + # sheet['d'+num] = i['totalscore'] + # sheet['e'+num] = convertseconds(i['totaltook']) + # nowtime = datetime.now().strftime('%Y%m%d') + # sheet['b1'] = nowtime + # filename = '个人总排名' + nowtime + # filepath = 'e:/' + filename +'.xlsx' + # wb.save(filepath) - wb2 = load_workbook('e:/机构总排名.xlsx') - sheet = wb2.active - for i in orgsCallist: - num = str(orgsCallist.index(i)+3) - sheet['a'+num] = i['user__ubelongpart__partname'] - sheet['b'+num] = i['totaluser'] - sheet['c'+num] = i['totaltest'] - sheet['d'+num] = i['avgscore'] - nowtime = datetime.now().strftime('%Y%m%d') - sheet['b1'] = nowtime - filename = '机构总排名' + nowtime - filepath = 'e:/' + filename +'.xlsx' - wb2.save(filepath) + # wb2 = load_workbook('e:/机构总排名.xlsx') + # sheet = wb2.active + # for i in orgsCallist: + # num = str(orgsCallist.index(i)+3) + # sheet['a'+num] = i['user__ubelongpart__partname'] + # sheet['b'+num] = i['totaluser'] + # sheet['c'+num] = i['totaltest'] + # sheet['d'+num] = i['avgscore'] + # nowtime = datetime.now().strftime('%Y%m%d') + # sheet['b1'] = nowtime + # filename = '机构总排名' + nowtime + # filepath = 'e:/' + filename +'.xlsx' + # wb2.save(filepath) return JsonResponse({"code": 1})