feat: 增加recal_yjjs
This commit is contained in:
parent
81684ffcef
commit
9a36033ac3
|
@ -13,44 +13,77 @@ from django.db.models import Sum
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from .safespider import getTzzs, getAqzs
|
from .safespider import getTzzs, getAqzs
|
||||||
import time
|
import time
|
||||||
dirname = settings.BASE_DIR +'/safesite/'
|
|
||||||
|
dirname = settings.BASE_DIR + "/safesite/"
|
||||||
|
|
||||||
|
|
||||||
def getcs(companyid): # 获取公司相关参数设置
|
def getcs(companyid): # 获取公司相关参数设置
|
||||||
return Yjsetup.objects.filter(usecomp__partid=companyid).values()[0]
|
return Yjsetup.objects.filter(usecomp__partid=companyid).values()[0]
|
||||||
|
|
||||||
|
|
||||||
def gettime(x=datetime.datetime.now()):
|
def gettime(x=datetime.datetime.now()):
|
||||||
|
if x:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
x = datetime.datetime.now()
|
||||||
days_num = calendar.monthrange(x.year, x.month)[1]
|
days_num = calendar.monthrange(x.year, x.month)[1]
|
||||||
first_day = datetime.date(x.year, x.month, 1)
|
first_day = datetime.date(x.year, x.month, 1)
|
||||||
first_day_of_next_month = first_day + datetime.timedelta(days=days_num)
|
first_day_of_next_month = first_day + datetime.timedelta(days=days_num)
|
||||||
return first_day, first_day_of_next_month
|
return first_day, first_day_of_next_month
|
||||||
|
|
||||||
|
|
||||||
@shared_task
|
@shared_task
|
||||||
def send_wechatmsgs(postdict, tolist):
|
def send_wechatmsgs(postdict, tolist):
|
||||||
with open(dirname + 'token.txt','r',encoding= 'utf-8') as f:
|
with open(dirname + "token.txt", "r", encoding="utf-8") as f:
|
||||||
token = f.read()
|
token = f.read()
|
||||||
try:
|
try:
|
||||||
for i in tolist:
|
for i in tolist:
|
||||||
postdict['touser']=i
|
postdict["touser"] = i
|
||||||
requests.post('https://api.weixin.qq.com/cgi-bin/message/template/send?access_token='+token,data=json.dumps(postdict))
|
requests.post(
|
||||||
|
"https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="
|
||||||
|
+ token,
|
||||||
|
data=json.dumps(postdict),
|
||||||
|
)
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def recal_yjjs(year, month):
|
||||||
|
cal_time = datetime.datetime(year, month, 1)
|
||||||
|
companys = Partment.objects.filter(iscompany=1).order_by("-creattime")
|
||||||
|
for i in companys:
|
||||||
|
yjjs(i.partid, cal_time)
|
||||||
|
yjjs_gc(i.partid, cal_time)
|
||||||
|
yjjs_px(i.partid, cal_time)
|
||||||
|
yjjs_ws(i.partid, cal_time)
|
||||||
|
yjjs_yl(i.partid, cal_time)
|
||||||
|
ycjs(year, month)
|
||||||
|
|
||||||
|
|
||||||
@shared_task
|
@shared_task
|
||||||
def send_wechatmsg(postdict):
|
def send_wechatmsg(postdict):
|
||||||
with open(dirname + 'token.txt','r',encoding= 'utf-8') as f:
|
with open(dirname + "token.txt", "r", encoding="utf-8") as f:
|
||||||
token = f.read()
|
token = f.read()
|
||||||
try:
|
try:
|
||||||
v = requests.post('https://api.weixin.qq.com/cgi-bin/message/template/send?access_token='+token,data=json.dumps(postdict))
|
v = requests.post(
|
||||||
|
"https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="
|
||||||
|
+ token,
|
||||||
|
data=json.dumps(postdict),
|
||||||
|
)
|
||||||
print(v.text())
|
print(v.text())
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
@shared_task
|
@shared_task
|
||||||
def yjjs(companyid):
|
def yjjs(companyid, cal_time=None):
|
||||||
first_day,first_day_of_next_month = gettime()
|
first_day, first_day_of_next_month = gettime(cal_time)
|
||||||
# 隐患算分
|
# 隐患算分
|
||||||
a = Trouble.objects.filter(fxsj__range=(first_day, first_day_of_next_month),usecomp__partid=companyid,deletemark=1)
|
a = Trouble.objects.filter(
|
||||||
|
fxsj__range=(first_day, first_day_of_next_month),
|
||||||
|
usecomp__partid=companyid,
|
||||||
|
deletemark=1,
|
||||||
|
)
|
||||||
# 隐患按时上报率
|
# 隐患按时上报率
|
||||||
if a.count() == 0:
|
if a.count() == 0:
|
||||||
sbjs = 1
|
sbjs = 1
|
||||||
|
@ -77,26 +110,58 @@ def yjjs(companyid):
|
||||||
yhqs = a.filter(yhpg__dickeyid=51).count()
|
yhqs = a.filter(yhpg__dickeyid=51).count()
|
||||||
yhqws = a.filter(yhpg__dickeyid=50).count()
|
yhqws = a.filter(yhpg__dickeyid=50).count()
|
||||||
yhwsh = a.filter(yhpg__dickeyid=49).count()
|
yhwsh = a.filter(yhpg__dickeyid=49).count()
|
||||||
score = (((yhsw*1 + yhzs*0.6 + yhqs*0.3+ yhqws*0.2 + yhwsh*0.1)/cs['monthyhavg'] )* cs['yhpgqz']+ #隐患评估
|
score = (
|
||||||
(a.filter(yhdj__dickeyid=55).count()*0.3+a.filter(yhdj__dickeyid=56).count()*1)* cs['yhdjqz']+ #隐患等级
|
(
|
||||||
sbjs*cs['yhsblqz']+ #隐患上报率
|
(yhsw * 1 + yhzs * 0.6 + yhqs * 0.3 + yhqws * 0.2 + yhwsh * 0.1)
|
||||||
zgjs*cs['yhzglqz']) #隐患整改率
|
/ cs["monthyhavg"]
|
||||||
|
)
|
||||||
|
* cs["yhpgqz"] # 隐患评估
|
||||||
|
+ (
|
||||||
|
a.filter(yhdj__dickeyid=55).count() * 0.3
|
||||||
|
+ a.filter(yhdj__dickeyid=56).count() * 1
|
||||||
|
)
|
||||||
|
* cs["yhdjqz"] # 隐患等级
|
||||||
|
+ sbjs * cs["yhsblqz"] # 隐患上报率
|
||||||
|
+ zgjs * cs["yhzglqz"]
|
||||||
|
) # 隐患整改率
|
||||||
# print(score)
|
# print(score)
|
||||||
year = first_day.year
|
year = first_day.year
|
||||||
month = first_day.month
|
month = first_day.month
|
||||||
obj,created = Yjyc.objects.get_or_create(usecomp__partid=companyid,year=year,month=month,defaults={'usecomp':Partment.objects.get(partid=companyid) ,'year':year,'month':month})
|
obj, created = Yjyc.objects.get_or_create(
|
||||||
|
usecomp__partid=companyid,
|
||||||
|
year=year,
|
||||||
|
month=month,
|
||||||
|
defaults={
|
||||||
|
"usecomp": Partment.objects.get(partid=companyid),
|
||||||
|
"year": year,
|
||||||
|
"month": month,
|
||||||
|
},
|
||||||
|
)
|
||||||
obj.troublevalue = score
|
obj.troublevalue = score
|
||||||
obj.yjz = round(obj.troublevalue + obj.trainvalue + obj.drillvalue + obj.missvalue + obj.observevalue,2)
|
obj.yjz = round(
|
||||||
|
obj.troublevalue
|
||||||
|
+ obj.trainvalue
|
||||||
|
+ obj.drillvalue
|
||||||
|
+ obj.missvalue
|
||||||
|
+ obj.observevalue,
|
||||||
|
2,
|
||||||
|
)
|
||||||
obj.save()
|
obj.save()
|
||||||
|
|
||||||
|
|
||||||
@shared_task
|
@shared_task
|
||||||
def yjjs_px(companyid):
|
def yjjs_px(companyid, cal_time=None):
|
||||||
first_day,first_day_of_next_month = gettime()
|
first_day, first_day_of_next_month = gettime(cal_time)
|
||||||
# 培训算分
|
# 培训算分
|
||||||
a = Train.objects.filter(starttime__range=(first_day, first_day_of_next_month),usecomp__partid=companyid,state=1,deletemark=1) #有效培训
|
a = Train.objects.filter(
|
||||||
|
starttime__range=(first_day, first_day_of_next_month),
|
||||||
|
usecomp__partid=companyid,
|
||||||
|
state=1,
|
||||||
|
deletemark=1,
|
||||||
|
) # 有效培训
|
||||||
# 计算培训效果
|
# 计算培训效果
|
||||||
participantnum = Trainuser.objects.filter(train__in=a).count()
|
participantnum = Trainuser.objects.filter(train__in=a).count()
|
||||||
knownum = a.aggregate(knownum = Sum('knownum'))['knownum']
|
knownum = a.aggregate(knownum=Sum("knownum"))["knownum"]
|
||||||
if participantnum != 0:
|
if participantnum != 0:
|
||||||
x = knownum / participantnum
|
x = knownum / participantnum
|
||||||
else:
|
else:
|
||||||
|
@ -111,20 +176,45 @@ def yjjs_px(companyid):
|
||||||
pxxg = 0.1
|
pxxg = 0.1
|
||||||
# 培训等级
|
# 培训等级
|
||||||
cs = getcs(companyid)
|
cs = getcs(companyid)
|
||||||
score = ((a.filter(trainlevel__dicid=5).count()*0.5 + a.filter(trainlevel__dicid=6).count()*0.8 + a.filter(trainlevel__dicid=7).count()*0.5+ a.filter(trainlevel__dicid=42).count()*0.5)*cs['pxdjqz'] +
|
score = (
|
||||||
pxxg*cs['pxxgqz'] ) #培训效果
|
a.filter(trainlevel__dicid=5).count() * 0.5
|
||||||
|
+ a.filter(trainlevel__dicid=6).count() * 0.8
|
||||||
|
+ a.filter(trainlevel__dicid=7).count() * 0.5
|
||||||
|
+ a.filter(trainlevel__dicid=42).count() * 0.5
|
||||||
|
) * cs["pxdjqz"] + pxxg * cs["pxxgqz"] # 培训效果
|
||||||
year = first_day.year
|
year = first_day.year
|
||||||
month = first_day.month
|
month = first_day.month
|
||||||
obj,created = Yjyc.objects.get_or_create(usecomp__partid=companyid,year=year,month=month,defaults={'usecomp':Partment.objects.get(partid=companyid) ,'year':year,'month':month})
|
obj, created = Yjyc.objects.get_or_create(
|
||||||
|
usecomp__partid=companyid,
|
||||||
|
year=year,
|
||||||
|
month=month,
|
||||||
|
defaults={
|
||||||
|
"usecomp": Partment.objects.get(partid=companyid),
|
||||||
|
"year": year,
|
||||||
|
"month": month,
|
||||||
|
},
|
||||||
|
)
|
||||||
obj.trainvalue = -score
|
obj.trainvalue = -score
|
||||||
obj.yjz = round(obj.troublevalue + obj.trainvalue + obj.drillvalue + obj.missvalue + obj.observevalue,2)
|
obj.yjz = round(
|
||||||
|
obj.troublevalue
|
||||||
|
+ obj.trainvalue
|
||||||
|
+ obj.drillvalue
|
||||||
|
+ obj.missvalue
|
||||||
|
+ obj.observevalue,
|
||||||
|
2,
|
||||||
|
)
|
||||||
obj.save()
|
obj.save()
|
||||||
|
|
||||||
|
|
||||||
@shared_task
|
@shared_task
|
||||||
def yjjs_gc(companyid):
|
def yjjs_gc(companyid, cal_time=None):
|
||||||
first_day,first_day_of_next_month = gettime()
|
first_day, first_day_of_next_month = gettime(cal_time)
|
||||||
# 观察算分
|
# 观察算分
|
||||||
a = Observe.objects.filter(looktime__range=(first_day, first_day_of_next_month),usecomp__partid=companyid,deletemark=1)
|
a = Observe.objects.filter(
|
||||||
|
looktime__range=(first_day, first_day_of_next_month),
|
||||||
|
usecomp__partid=companyid,
|
||||||
|
deletemark=1,
|
||||||
|
)
|
||||||
num = a.count()
|
num = a.count()
|
||||||
if num > 40:
|
if num > 40:
|
||||||
score = (num - 40) * 0.04 + 40 * 0.4
|
score = (num - 40) * 0.04 + 40 * 0.4
|
||||||
|
@ -132,31 +222,74 @@ def yjjs_gc(companyid):
|
||||||
score = num * 0.4
|
score = num * 0.4
|
||||||
year = first_day.year
|
year = first_day.year
|
||||||
month = first_day.month
|
month = first_day.month
|
||||||
obj,created = Yjyc.objects.get_or_create(usecomp__partid=companyid,year=year,month=month,defaults={'usecomp':Partment.objects.get(partid=companyid) ,'year':year,'month':month})
|
obj, created = Yjyc.objects.get_or_create(
|
||||||
|
usecomp__partid=companyid,
|
||||||
|
year=year,
|
||||||
|
month=month,
|
||||||
|
defaults={
|
||||||
|
"usecomp": Partment.objects.get(partid=companyid),
|
||||||
|
"year": year,
|
||||||
|
"month": month,
|
||||||
|
},
|
||||||
|
)
|
||||||
obj.observevalue = -score
|
obj.observevalue = -score
|
||||||
obj.yjz = round(obj.troublevalue + obj.trainvalue + obj.drillvalue + obj.missvalue + obj.observevalue,2)
|
obj.yjz = round(
|
||||||
|
obj.troublevalue
|
||||||
|
+ obj.trainvalue
|
||||||
|
+ obj.drillvalue
|
||||||
|
+ obj.missvalue
|
||||||
|
+ obj.observevalue,
|
||||||
|
2,
|
||||||
|
)
|
||||||
obj.save()
|
obj.save()
|
||||||
|
|
||||||
|
|
||||||
@shared_task
|
@shared_task
|
||||||
def yjjs_ws(companyid):
|
def yjjs_ws(companyid, cal_time=None):
|
||||||
# 未遂算分
|
# 未遂算分
|
||||||
first_day,first_day_of_next_month = gettime()
|
first_day, first_day_of_next_month = gettime(cal_time)
|
||||||
a = Miss.objects.filter(misstime__range=(first_day, first_day_of_next_month),usecomp__partid=companyid,deletemark=1) #
|
a = Miss.objects.filter(
|
||||||
|
misstime__range=(first_day, first_day_of_next_month),
|
||||||
|
usecomp__partid=companyid,
|
||||||
|
deletemark=1,
|
||||||
|
) #
|
||||||
score = (a.count()) * 0.6
|
score = (a.count()) * 0.6
|
||||||
year = first_day.year
|
year = first_day.year
|
||||||
month = first_day.month
|
month = first_day.month
|
||||||
obj,created = Yjyc.objects.get_or_create(usecomp__partid=companyid,year=year,month=month,defaults={'usecomp':Partment.objects.get(partid=companyid) ,'year':year,'month':month})
|
obj, created = Yjyc.objects.get_or_create(
|
||||||
|
usecomp__partid=companyid,
|
||||||
|
year=year,
|
||||||
|
month=month,
|
||||||
|
defaults={
|
||||||
|
"usecomp": Partment.objects.get(partid=companyid),
|
||||||
|
"year": year,
|
||||||
|
"month": month,
|
||||||
|
},
|
||||||
|
)
|
||||||
obj.missvalue = score
|
obj.missvalue = score
|
||||||
obj.yjz = round(obj.troublevalue + obj.trainvalue + obj.drillvalue + obj.missvalue + obj.observevalue,2)
|
obj.yjz = round(
|
||||||
|
obj.troublevalue
|
||||||
|
+ obj.trainvalue
|
||||||
|
+ obj.drillvalue
|
||||||
|
+ obj.missvalue
|
||||||
|
+ obj.observevalue,
|
||||||
|
2,
|
||||||
|
)
|
||||||
obj.save()
|
obj.save()
|
||||||
|
|
||||||
|
|
||||||
@shared_task
|
@shared_task
|
||||||
def yjjs_yl(companyid):
|
def yjjs_yl(companyid, cal_time=None):
|
||||||
first_day,first_day_of_next_month = gettime()
|
first_day, first_day_of_next_month = gettime(cal_time)
|
||||||
a = Drill.objects.filter(starttime__range=(first_day, first_day_of_next_month),usecomp__partid=companyid,state=1,deletemark=1) #有效演练
|
a = Drill.objects.filter(
|
||||||
|
starttime__range=(first_day, first_day_of_next_month),
|
||||||
|
usecomp__partid=companyid,
|
||||||
|
state=1,
|
||||||
|
deletemark=1,
|
||||||
|
) # 有效演练
|
||||||
# 计算演练效果
|
# 计算演练效果
|
||||||
participantnum = Drill.objects.filter(drillid__in=a).count()
|
participantnum = Drill.objects.filter(drillid__in=a).count()
|
||||||
knownum = a.aggregate(knownum = Sum('knownum'))['knownum']
|
knownum = a.aggregate(knownum=Sum("knownum"))["knownum"]
|
||||||
if participantnum != 0:
|
if participantnum != 0:
|
||||||
x = knownum / participantnum
|
x = knownum / participantnum
|
||||||
else:
|
else:
|
||||||
|
@ -171,48 +304,71 @@ def yjjs_yl(companyid):
|
||||||
ylxg = 0.1
|
ylxg = 0.1
|
||||||
# 演练等级
|
# 演练等级
|
||||||
cs = getcs(companyid)
|
cs = getcs(companyid)
|
||||||
score = ((a.filter(drilllevel__dicid=20).count()*1 + a.filter(drilllevel__dicid=21).count()*0.5 + a.filter(drilllevel__dicid=22).count()*1 + a.filter(drilllevel__dicid=43).count()*0.5)*cs['yldjqz'] +
|
score = (
|
||||||
ylxg*cs['ylxgqz'] ) #演练效果
|
a.filter(drilllevel__dicid=20).count() * 1
|
||||||
|
+ a.filter(drilllevel__dicid=21).count() * 0.5
|
||||||
|
+ a.filter(drilllevel__dicid=22).count() * 1
|
||||||
|
+ a.filter(drilllevel__dicid=43).count() * 0.5
|
||||||
|
) * cs["yldjqz"] + ylxg * cs["ylxgqz"] # 演练效果
|
||||||
year = first_day.year
|
year = first_day.year
|
||||||
month = first_day.month
|
month = first_day.month
|
||||||
obj,created = Yjyc.objects.get_or_create(usecomp__partid=companyid,year=year,month=month,defaults={'usecomp':Partment.objects.get(partid=companyid) ,'year':year,'month':month})
|
obj, created = Yjyc.objects.get_or_create(
|
||||||
|
usecomp__partid=companyid,
|
||||||
|
year=year,
|
||||||
|
month=month,
|
||||||
|
defaults={
|
||||||
|
"usecomp": Partment.objects.get(partid=companyid),
|
||||||
|
"year": year,
|
||||||
|
"month": month,
|
||||||
|
},
|
||||||
|
)
|
||||||
obj.drillvalue = -score
|
obj.drillvalue = -score
|
||||||
obj.yjz = round(obj.troublevalue + obj.trainvalue + obj.drillvalue, 2)
|
obj.yjz = round(obj.troublevalue + obj.trainvalue + obj.drillvalue, 2)
|
||||||
obj.save()
|
obj.save()
|
||||||
|
|
||||||
|
|
||||||
@shared_task
|
@shared_task
|
||||||
def ycjs(nowyear=datetime.datetime.now().year, nowmonth=datetime.datetime.now().month):
|
def ycjs(nowyear=datetime.datetime.now().year, nowmonth=datetime.datetime.now().month):
|
||||||
# print('正在执行预测计算。。。')
|
# print('正在执行预测计算。。。')
|
||||||
companys = Partment.objects.filter(iscompany=1)
|
companys = Partment.objects.filter(iscompany=1)
|
||||||
objs = Yjyc.objects.exclude(yjz=0, year=nowyear, month=nowmonth)
|
objs = Yjyc.objects.exclude(yjz=0, year=nowyear, month=nowmonth)
|
||||||
for x in companys:
|
for x in companys:
|
||||||
obj = objs.filter(usecomp=x).order_by('-yjycid')
|
obj = objs.filter(usecomp=x).order_by("-yjycid")
|
||||||
objv = obj.values('yjycid','yjz')
|
objv = obj.values("yjycid", "yjz")
|
||||||
# print(objv)
|
# print(objv)
|
||||||
if len(obj) > 1:
|
if len(obj) > 1:
|
||||||
vl = list(objv)
|
vl = list(objv)
|
||||||
for i in range(len(vl)):
|
for i in range(len(vl)):
|
||||||
vl[i]['num'] = i+1
|
vl[i]["num"] = i + 1
|
||||||
if i == 0:
|
if i == 0:
|
||||||
vl[i]['yjzs'] = vl[i]['yjz']
|
vl[i]["yjzs"] = vl[i]["yjz"]
|
||||||
if i > 0:
|
if i > 0:
|
||||||
vl[i]['yjzs'] = vl[i-1]['yjzs'] + vl[i]['yjz']
|
vl[i]["yjzs"] = vl[i - 1]["yjzs"] + vl[i]["yjz"]
|
||||||
df = pd.DataFrame(vl)
|
df = pd.DataFrame(vl)
|
||||||
# 建立线性回归模型
|
# 建立线性回归模型
|
||||||
regr = linear_model.LinearRegression()
|
regr = linear_model.LinearRegression()
|
||||||
# 拟合
|
# 拟合
|
||||||
regr.fit(df['num'].values.reshape(-1, 1), df['yjzs']) # 注意此处.reshape(-1, 1),因为X是一维的
|
regr.fit(
|
||||||
|
df["num"].values.reshape(-1, 1), df["yjzs"]
|
||||||
|
) # 注意此处.reshape(-1, 1),因为X是一维的
|
||||||
# 得到直线的斜率、截距
|
# 得到直线的斜率、截距
|
||||||
a, b = regr.coef_, regr.intercept_
|
a, b = regr.coef_, regr.intercept_
|
||||||
# 更新本月的预测值
|
# 更新本月的预测值
|
||||||
# first_day,first_day_of_next_month = gettime()
|
# first_day,first_day_of_next_month = gettime()
|
||||||
# year = first_day_of_next_month.year
|
# year = first_day_of_next_month.year
|
||||||
# month = first_day_of_next_month.month
|
# month = first_day_of_next_month.month
|
||||||
objnew,created = Yjyc.objects.get_or_create(usecomp=x,year=nowyear,month=nowmonth,defaults={'usecomp':x,'year':nowyear,'month':nowmonth})
|
objnew, created = Yjyc.objects.get_or_create(
|
||||||
objnew.ycz = ("%.2f" % a)
|
usecomp=x,
|
||||||
objnew.b = ("%.2f" % b)
|
year=nowyear,
|
||||||
|
month=nowmonth,
|
||||||
|
defaults={"usecomp": x, "year": nowyear, "month": nowmonth},
|
||||||
|
)
|
||||||
|
objnew.ycz = "%.2f" % a
|
||||||
|
objnew.b = "%.2f" % b
|
||||||
objnew.save()
|
objnew.save()
|
||||||
# print('执行完毕!')
|
# print('执行完毕!')
|
||||||
|
|
||||||
|
|
||||||
@shared_task
|
@shared_task
|
||||||
def risktask():
|
def risktask():
|
||||||
nowtime = datetime.datetime.now()
|
nowtime = datetime.datetime.now()
|
||||||
|
@ -222,7 +378,9 @@ def risktask():
|
||||||
if (nowtime - i.tasktime).seconds >= 28800:
|
if (nowtime - i.tasktime).seconds >= 28800:
|
||||||
taskexpire = nowtime + datetime.timedelta(seconds=28800)
|
taskexpire = nowtime + datetime.timedelta(seconds=28800)
|
||||||
Risktask.objects.filter(risk=i).update(usable=0)
|
Risktask.objects.filter(risk=i).update(usable=0)
|
||||||
Risktask.objects.create(risk=i,group=i.group,taskexpire = taskexpire,taskadd=nowtime)
|
Risktask.objects.create(
|
||||||
|
risk=i, group=i.group, taskexpire=taskexpire, taskadd=nowtime
|
||||||
|
)
|
||||||
i.tasktime = nowtime
|
i.tasktime = nowtime
|
||||||
i.save()
|
i.save()
|
||||||
elif i.tasktype == 2:
|
elif i.tasktype == 2:
|
||||||
|
@ -230,7 +388,9 @@ def risktask():
|
||||||
if (nowtime - i.tasktime).days >= 1:
|
if (nowtime - i.tasktime).days >= 1:
|
||||||
taskexpire = nowtime + datetime.timedelta(days=1)
|
taskexpire = nowtime + datetime.timedelta(days=1)
|
||||||
Risktask.objects.filter(risk=i).update(usable=0)
|
Risktask.objects.filter(risk=i).update(usable=0)
|
||||||
Risktask.objects.create(risk=i,group=i.group,taskexpire = taskexpire,taskadd=nowtime)
|
Risktask.objects.create(
|
||||||
|
risk=i, group=i.group, taskexpire=taskexpire, taskadd=nowtime
|
||||||
|
)
|
||||||
i.tasktime = nowtime
|
i.tasktime = nowtime
|
||||||
i.save()
|
i.save()
|
||||||
elif i.tasktype == 3:
|
elif i.tasktype == 3:
|
||||||
|
@ -238,7 +398,9 @@ def risktask():
|
||||||
if (nowtime - i.tasktime).days >= 7:
|
if (nowtime - i.tasktime).days >= 7:
|
||||||
taskexpire = nowtime + datetime.timedelta(days=7)
|
taskexpire = nowtime + datetime.timedelta(days=7)
|
||||||
Risktask.objects.filter(risk=i).update(usable=0)
|
Risktask.objects.filter(risk=i).update(usable=0)
|
||||||
Risktask.objects.create(risk=i,group=i.group,taskexpire = taskexpire,taskadd=nowtime)
|
Risktask.objects.create(
|
||||||
|
risk=i, group=i.group, taskexpire=taskexpire, taskadd=nowtime
|
||||||
|
)
|
||||||
i.tasktime = nowtime
|
i.tasktime = nowtime
|
||||||
i.save()
|
i.save()
|
||||||
# elif i.tasktype == 4:
|
# elif i.tasktype == 4:
|
||||||
|
@ -249,6 +411,8 @@ def risktask():
|
||||||
# Risktask.objects.create(risk=i,group=i.group,taskexpire = taskexpire)
|
# Risktask.objects.create(risk=i,group=i.group,taskexpire = taskexpire)
|
||||||
# i.tasktime = taskexpire
|
# i.tasktime = taskexpire
|
||||||
# i.save()
|
# i.save()
|
||||||
|
|
||||||
|
|
||||||
@shared_task
|
@shared_task
|
||||||
def riskacttask():
|
def riskacttask():
|
||||||
nowtime = datetime.datetime.now()
|
nowtime = datetime.datetime.now()
|
||||||
|
@ -258,7 +422,9 @@ def riskacttask():
|
||||||
if (nowtime - i.tasktime).seconds >= 28800:
|
if (nowtime - i.tasktime).seconds >= 28800:
|
||||||
taskexpire = nowtime + datetime.timedelta(seconds=28800)
|
taskexpire = nowtime + datetime.timedelta(seconds=28800)
|
||||||
RiskActTask.objects.filter(riskact=i, istask=1).update(usable=0)
|
RiskActTask.objects.filter(riskact=i, istask=1).update(usable=0)
|
||||||
RiskActTask.objects.create(riskact=i,taskexpire = taskexpire,taskadd=nowtime,istask=1)
|
RiskActTask.objects.create(
|
||||||
|
riskact=i, taskexpire=taskexpire, taskadd=nowtime, istask=1
|
||||||
|
)
|
||||||
i.tasktime = nowtime
|
i.tasktime = nowtime
|
||||||
i.save()
|
i.save()
|
||||||
elif i.tasktype == 2:
|
elif i.tasktype == 2:
|
||||||
|
@ -266,7 +432,9 @@ def riskacttask():
|
||||||
if (nowtime - i.tasktime).days >= 1:
|
if (nowtime - i.tasktime).days >= 1:
|
||||||
taskexpire = nowtime + datetime.timedelta(days=1)
|
taskexpire = nowtime + datetime.timedelta(days=1)
|
||||||
RiskActTask.objects.filter(riskact=i, istask=1).update(usable=0)
|
RiskActTask.objects.filter(riskact=i, istask=1).update(usable=0)
|
||||||
RiskActTask.objects.create(riskact=i,taskexpire = taskexpire,taskadd=nowtime,istask=1)
|
RiskActTask.objects.create(
|
||||||
|
riskact=i, taskexpire=taskexpire, taskadd=nowtime, istask=1
|
||||||
|
)
|
||||||
i.tasktime = nowtime
|
i.tasktime = nowtime
|
||||||
i.save()
|
i.save()
|
||||||
elif i.tasktype == 3:
|
elif i.tasktype == 3:
|
||||||
|
@ -274,10 +442,13 @@ def riskacttask():
|
||||||
if (nowtime - i.tasktime).days >= 7:
|
if (nowtime - i.tasktime).days >= 7:
|
||||||
taskexpire = nowtime + datetime.timedelta(days=7)
|
taskexpire = nowtime + datetime.timedelta(days=7)
|
||||||
RiskActTask.objects.filter(riskact=i, istask=1).update(usable=0)
|
RiskActTask.objects.filter(riskact=i, istask=1).update(usable=0)
|
||||||
RiskActTask.objects.create(riskact=i,taskexpire = taskexpire,taskadd=nowtime,istask=1)
|
RiskActTask.objects.create(
|
||||||
|
riskact=i, taskexpire=taskexpire, taskadd=nowtime, istask=1
|
||||||
|
)
|
||||||
i.tasktime = nowtime
|
i.tasktime = nowtime
|
||||||
i.save()
|
i.save()
|
||||||
|
|
||||||
|
|
||||||
@shared_task
|
@shared_task
|
||||||
def gridtasksend():
|
def gridtasksend():
|
||||||
nowtime = datetime.datetime.now()
|
nowtime = datetime.datetime.now()
|
||||||
|
@ -287,28 +458,39 @@ def gridtasksend():
|
||||||
for i in GridTaskSet.objects.filter(is_paused=False, start_task____lte=time2):
|
for i in GridTaskSet.objects.filter(is_paused=False, start_task____lte=time2):
|
||||||
sendGridtask(i)
|
sendGridtask(i)
|
||||||
|
|
||||||
|
|
||||||
from dateutil.relativedelta import *
|
from dateutil.relativedelta import *
|
||||||
|
|
||||||
|
|
||||||
def sendGridtask(obj):
|
def sendGridtask(obj):
|
||||||
nowtime = datetime.datetime.now()
|
nowtime = datetime.datetime.now()
|
||||||
schedule = obj.schedule
|
schedule = obj.schedule
|
||||||
if 'interval' in schedule and schedule['interval']:
|
if "interval" in schedule and schedule["interval"]:
|
||||||
number, type_ = schedule['interval'].split(',')
|
number, type_ = schedule["interval"].split(",")
|
||||||
start_task = obj.start_task
|
start_task = obj.start_task
|
||||||
m = start_task + relativedelta({type_: int(number)})
|
m = start_task + relativedelta({type_: int(number)})
|
||||||
if nowtime >= m:
|
if nowtime >= m:
|
||||||
newm = nowtime + relativedelta({type_: int(number)})
|
newm = nowtime + relativedelta({type_: int(number)})
|
||||||
RiskActTask.objects.filter(taskset=obj, usable=1).update(usable=0)
|
RiskActTask.objects.filter(taskset=obj, usable=1).update(usable=0)
|
||||||
RiskActTask.objects.create(riskact=obj.riskact,taskexpire = newm,taskadd=nowtime,istask=1,taskset=obj,tasknote=obj.note,user=obj.user)
|
RiskActTask.objects.create(
|
||||||
|
riskact=obj.riskact,
|
||||||
|
taskexpire=newm,
|
||||||
|
taskadd=nowtime,
|
||||||
|
istask=1,
|
||||||
|
taskset=obj,
|
||||||
|
tasknote=obj.note,
|
||||||
|
user=obj.user,
|
||||||
|
)
|
||||||
obj.start_task = nowtime
|
obj.start_task = nowtime
|
||||||
obj.count = obj.count + 1
|
obj.count = obj.count + 1
|
||||||
obj.save()
|
obj.save()
|
||||||
else:
|
else:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
@shared_task
|
@shared_task
|
||||||
def sendGridtask2(**kwargs):
|
def sendGridtask2(**kwargs):
|
||||||
obj = GridTaskSet.objects.get(id=kwargs['gridtaskset'])
|
obj = GridTaskSet.objects.get(id=kwargs["gridtaskset"])
|
||||||
if obj.trouble:
|
if obj.trouble:
|
||||||
if obj.trouble.yhzt == 6:
|
if obj.trouble.yhzt == 6:
|
||||||
# 如果隐患关闭了就直接停止计划任务
|
# 如果隐患关闭了就直接停止计划任务
|
||||||
|
@ -319,9 +501,24 @@ def sendGridtask2(**kwargs):
|
||||||
nowtime = datetime.datetime.now()
|
nowtime = datetime.datetime.now()
|
||||||
if obj.expire:
|
if obj.expire:
|
||||||
newm = nowtime + datetime.timedelta(hours=int(obj.expire))
|
newm = nowtime + datetime.timedelta(hours=int(obj.expire))
|
||||||
TroubleFollowTask.objects.create(trouble=obj.trouble,taskexpire = newm,taskadd=nowtime,taskset=obj,tasknote=obj.note,user=obj.user,gridlevel=obj.gridlevel)
|
TroubleFollowTask.objects.create(
|
||||||
|
trouble=obj.trouble,
|
||||||
|
taskexpire=newm,
|
||||||
|
taskadd=nowtime,
|
||||||
|
taskset=obj,
|
||||||
|
tasknote=obj.note,
|
||||||
|
user=obj.user,
|
||||||
|
gridlevel=obj.gridlevel,
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
TroubleFollowTask.objects.create(trouble=obj.trouble,taskadd=nowtime,taskset=obj,tasknote=obj.note,user=obj.user,gridlevel=obj.gridlevel)
|
TroubleFollowTask.objects.create(
|
||||||
|
trouble=obj.trouble,
|
||||||
|
taskadd=nowtime,
|
||||||
|
taskset=obj,
|
||||||
|
tasknote=obj.note,
|
||||||
|
user=obj.user,
|
||||||
|
gridlevel=obj.gridlevel,
|
||||||
|
)
|
||||||
obj.last_run_at = nowtime
|
obj.last_run_at = nowtime
|
||||||
obj.count = obj.count + 1
|
obj.count = obj.count + 1
|
||||||
obj.save()
|
obj.save()
|
||||||
|
@ -331,26 +528,50 @@ def sendGridtask2(**kwargs):
|
||||||
nowtime = datetime.datetime.now()
|
nowtime = datetime.datetime.now()
|
||||||
if obj.expire:
|
if obj.expire:
|
||||||
newm = nowtime + datetime.timedelta(hours=int(obj.expire))
|
newm = nowtime + datetime.timedelta(hours=int(obj.expire))
|
||||||
RiskActTask.objects.create(riskact=obj.riskact,taskexpire = newm,taskadd=nowtime,istask=1,taskset=obj,tasknote=obj.note,user=obj.user)
|
RiskActTask.objects.create(
|
||||||
|
riskact=obj.riskact,
|
||||||
|
taskexpire=newm,
|
||||||
|
taskadd=nowtime,
|
||||||
|
istask=1,
|
||||||
|
taskset=obj,
|
||||||
|
tasknote=obj.note,
|
||||||
|
user=obj.user,
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
RiskActTask.objects.create(riskact=obj.riskact,taskadd=nowtime,istask=1,taskset=obj,tasknote=obj.note,user=obj.user)
|
RiskActTask.objects.create(
|
||||||
|
riskact=obj.riskact,
|
||||||
|
taskadd=nowtime,
|
||||||
|
istask=1,
|
||||||
|
taskset=obj,
|
||||||
|
tasknote=obj.note,
|
||||||
|
user=obj.user,
|
||||||
|
)
|
||||||
obj.last_run_at = nowtime
|
obj.last_run_at = nowtime
|
||||||
obj.count = obj.count + 1
|
obj.count = obj.count + 1
|
||||||
obj.save()
|
obj.save()
|
||||||
|
|
||||||
|
|
||||||
@shared_task
|
@shared_task
|
||||||
def expireRiskacttask():
|
def expireRiskacttask():
|
||||||
RiskActTask.objects.filter(taskexpire__lte = datetime.datetime.now(), usable=1).update(usable=0)
|
RiskActTask.objects.filter(
|
||||||
|
taskexpire__lte=datetime.datetime.now(), usable=1
|
||||||
|
).update(usable=0)
|
||||||
|
|
||||||
|
|
||||||
@shared_task
|
@shared_task
|
||||||
def expireTroublefollowtask():
|
def expireTroublefollowtask():
|
||||||
TroubleFollowTask.objects.filter(taskexpire__lte = datetime.datetime.now(), usable=1).update(usable=0)
|
TroubleFollowTask.objects.filter(
|
||||||
|
taskexpire__lte=datetime.datetime.now(), usable=1
|
||||||
|
).update(usable=0)
|
||||||
|
|
||||||
|
|
||||||
@shared_task
|
@shared_task
|
||||||
def closeExamtest():
|
def closeExamtest():
|
||||||
# 自动关闭到期的考试
|
# 自动关闭到期的考试
|
||||||
ExamTest.objects.filter(state=1, endtime__lt = datetime.datetime.now()).update(state=0)
|
ExamTest.objects.filter(state=1, endtime__lt=datetime.datetime.now()).update(
|
||||||
|
state=0
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@shared_task
|
@shared_task
|
||||||
def checktask():
|
def checktask():
|
||||||
|
@ -358,79 +579,127 @@ def checktask():
|
||||||
for i in Checktask.objects.filter(deletemark=1, taskstate=1):
|
for i in Checktask.objects.filter(deletemark=1, taskstate=1):
|
||||||
if i.tasktype == 1:
|
if i.tasktype == 1:
|
||||||
if i.checktime:
|
if i.checktime:
|
||||||
|
|
||||||
if (nowtime - i.checktime).days >= 1:
|
if (nowtime - i.checktime).days >= 1:
|
||||||
endtimes = nowtime + datetime.timedelta(days=1)
|
endtimes = nowtime + datetime.timedelta(days=1)
|
||||||
for j in i.checkname.all():
|
for j in i.checkname.all():
|
||||||
x = User.objects.get(userid=j.userid)
|
x = User.objects.get(userid=j.userid)
|
||||||
|
|
||||||
Checkjob.objects.filter(checktask=i,checkname=x).update(jobstate=2)
|
Checkjob.objects.filter(checktask=i, checkname=x).update(
|
||||||
Checkjob.objects.create(checktask=i,checkname=x,taskstate=4,starttime=nowtime,endtime = endtimes,usecomp=i.usecomp)
|
jobstate=2
|
||||||
|
)
|
||||||
|
Checkjob.objects.create(
|
||||||
|
checktask=i,
|
||||||
|
checkname=x,
|
||||||
|
taskstate=4,
|
||||||
|
starttime=nowtime,
|
||||||
|
endtime=endtimes,
|
||||||
|
usecomp=i.usecomp,
|
||||||
|
)
|
||||||
|
|
||||||
i.checktime = nowtime
|
i.checktime = nowtime
|
||||||
i.save()
|
i.save()
|
||||||
elif i.tasktype == 2:
|
elif i.tasktype == 2:
|
||||||
if i.checktime:
|
if i.checktime:
|
||||||
|
|
||||||
if (nowtime - i.checktime).days >= 7:
|
if (nowtime - i.checktime).days >= 7:
|
||||||
endtimes = nowtime + datetime.timedelta(days=7)
|
endtimes = nowtime + datetime.timedelta(days=7)
|
||||||
for j in i.checkname.all():
|
for j in i.checkname.all():
|
||||||
x = User.objects.get(userid=j.userid)
|
x = User.objects.get(userid=j.userid)
|
||||||
|
|
||||||
Checkjob.objects.filter(checktask=i,checkname=x).update(jobstate=2)
|
Checkjob.objects.filter(checktask=i, checkname=x).update(
|
||||||
Checkjob.objects.create(checktask=i,checkname=x,taskstate=4,starttime=nowtime,endtime = endtimes,usecomp=i.usecomp)
|
jobstate=2
|
||||||
|
)
|
||||||
|
Checkjob.objects.create(
|
||||||
|
checktask=i,
|
||||||
|
checkname=x,
|
||||||
|
taskstate=4,
|
||||||
|
starttime=nowtime,
|
||||||
|
endtime=endtimes,
|
||||||
|
usecomp=i.usecomp,
|
||||||
|
)
|
||||||
|
|
||||||
i.checktime = nowtime
|
i.checktime = nowtime
|
||||||
i.save()
|
i.save()
|
||||||
elif i.tasktype == 3:
|
elif i.tasktype == 3:
|
||||||
if i.checktime:
|
if i.checktime:
|
||||||
|
|
||||||
if (nowtime - i.checktime).days >= 30:
|
if (nowtime - i.checktime).days >= 30:
|
||||||
endtimes = nowtime + datetime.timedelta(days=30)
|
endtimes = nowtime + datetime.timedelta(days=30)
|
||||||
for j in i.checkname.all():
|
for j in i.checkname.all():
|
||||||
x = User.objects.get(userid=j.userid)
|
x = User.objects.get(userid=j.userid)
|
||||||
|
|
||||||
Checkjob.objects.filter(checktask=i,checkname=x).update(jobstate=2)
|
Checkjob.objects.filter(checktask=i, checkname=x).update(
|
||||||
Checkjob.objects.create(checktask=i,checkname=x,taskstate=4,starttime=nowtime,endtime = endtimes,usecomp=i.usecomp)
|
jobstate=2
|
||||||
|
)
|
||||||
|
Checkjob.objects.create(
|
||||||
|
checktask=i,
|
||||||
|
checkname=x,
|
||||||
|
taskstate=4,
|
||||||
|
starttime=nowtime,
|
||||||
|
endtime=endtimes,
|
||||||
|
usecomp=i.usecomp,
|
||||||
|
)
|
||||||
|
|
||||||
i.checktime = nowtime
|
i.checktime = nowtime
|
||||||
i.save()
|
i.save()
|
||||||
elif i.tasktype == 4:
|
elif i.tasktype == 4:
|
||||||
if i.checktime:
|
if i.checktime:
|
||||||
|
|
||||||
if (nowtime - i.checktime).days >= 120:
|
if (nowtime - i.checktime).days >= 120:
|
||||||
endtimes = nowtime + datetime.timedelta(days=120)
|
endtimes = nowtime + datetime.timedelta(days=120)
|
||||||
for j in i.checkname.all():
|
for j in i.checkname.all():
|
||||||
x = User.objects.get(userid=j.userid)
|
x = User.objects.get(userid=j.userid)
|
||||||
|
|
||||||
Checkjob.objects.filter(checktask=i,checkname=x).update(jobstate=2)
|
Checkjob.objects.filter(checktask=i, checkname=x).update(
|
||||||
Checkjob.objects.create(checktask=i,checkname=x,taskstate=4,starttime=nowtime,endtime = endtimes,usecomp=i.usecomp)
|
jobstate=2
|
||||||
|
)
|
||||||
|
Checkjob.objects.create(
|
||||||
|
checktask=i,
|
||||||
|
checkname=x,
|
||||||
|
taskstate=4,
|
||||||
|
starttime=nowtime,
|
||||||
|
endtime=endtimes,
|
||||||
|
usecomp=i.usecomp,
|
||||||
|
)
|
||||||
|
|
||||||
i.checktime = nowtime
|
i.checktime = nowtime
|
||||||
i.save()
|
i.save()
|
||||||
elif i.tasktype == 5:
|
elif i.tasktype == 5:
|
||||||
if i.checktime:
|
if i.checktime:
|
||||||
|
|
||||||
if (nowtime - i.checktime).days >= 182:
|
if (nowtime - i.checktime).days >= 182:
|
||||||
endtimes = nowtime + datetime.timedelta(days=182)
|
endtimes = nowtime + datetime.timedelta(days=182)
|
||||||
for j in i.checkname.all():
|
for j in i.checkname.all():
|
||||||
x = User.objects.get(userid=j.userid)
|
x = User.objects.get(userid=j.userid)
|
||||||
|
|
||||||
Checkjob.objects.filter(checktask=i,checkname=x).update(jobstate=2)
|
Checkjob.objects.filter(checktask=i, checkname=x).update(
|
||||||
Checkjob.objects.create(checktask=i,checkname=x,taskstate=4,starttime=nowtime,endtime = endtimes,usecomp=i.usecomp)
|
jobstate=2
|
||||||
|
)
|
||||||
|
Checkjob.objects.create(
|
||||||
|
checktask=i,
|
||||||
|
checkname=x,
|
||||||
|
taskstate=4,
|
||||||
|
starttime=nowtime,
|
||||||
|
endtime=endtimes,
|
||||||
|
usecomp=i.usecomp,
|
||||||
|
)
|
||||||
|
|
||||||
i.checktime = nowtime
|
i.checktime = nowtime
|
||||||
i.save()
|
i.save()
|
||||||
elif i.tasktype == 6:
|
elif i.tasktype == 6:
|
||||||
if i.checktime:
|
if i.checktime:
|
||||||
|
|
||||||
if (nowtime - i.checktime).days >= 365:
|
if (nowtime - i.checktime).days >= 365:
|
||||||
endtimes = nowtime + datetime.timedelta(days=365)
|
endtimes = nowtime + datetime.timedelta(days=365)
|
||||||
for j in i.checkname.all():
|
for j in i.checkname.all():
|
||||||
x = User.objects.get(userid=j.userid)
|
x = User.objects.get(userid=j.userid)
|
||||||
|
|
||||||
Checkjob.objects.filter(checktask=i,checkname=x).update(jobstate=2)
|
Checkjob.objects.filter(checktask=i, checkname=x).update(
|
||||||
Checkjob.objects.create(checktask=i,checkname=x,taskstate=4,starttime=nowtime,endtime = endtimes,usecomp=i.usecomp)
|
jobstate=2
|
||||||
|
)
|
||||||
|
Checkjob.objects.create(
|
||||||
|
checktask=i,
|
||||||
|
checkname=x,
|
||||||
|
taskstate=4,
|
||||||
|
starttime=nowtime,
|
||||||
|
endtime=endtimes,
|
||||||
|
usecomp=i.usecomp,
|
||||||
|
)
|
||||||
|
|
||||||
i.checktime = nowtime
|
i.checktime = nowtime
|
||||||
i.save()
|
i.save()
|
||||||
|
@ -438,7 +707,9 @@ def checktask():
|
||||||
|
|
||||||
@shared_task
|
@shared_task
|
||||||
def expireTzzs():
|
def expireTzzs():
|
||||||
queryset = Socertificate.objects.filter(yfsrq__lte = datetime.datetime.now()+datetime.timedelta(days=185))
|
queryset = Socertificate.objects.filter(
|
||||||
|
yfsrq__lte=datetime.datetime.now() + datetime.timedelta(days=185)
|
||||||
|
)
|
||||||
for x in queryset:
|
for x in queryset:
|
||||||
try:
|
try:
|
||||||
x.zszt = guoqi(x.yfsrq)
|
x.zszt = guoqi(x.yfsrq)
|
||||||
|
@ -446,9 +717,12 @@ def expireTzzs():
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
@shared_task
|
@shared_task
|
||||||
def expireAqzs():
|
def expireAqzs():
|
||||||
queryset = Safecert.objects.filter(yfsrq__lte = datetime.datetime.now()+datetime.timedelta(days=185))
|
queryset = Safecert.objects.filter(
|
||||||
|
yfsrq__lte=datetime.datetime.now() + datetime.timedelta(days=185)
|
||||||
|
)
|
||||||
for x in queryset:
|
for x in queryset:
|
||||||
try:
|
try:
|
||||||
x.zszt = guoqi(x.yfsrq)
|
x.zszt = guoqi(x.yfsrq)
|
||||||
|
@ -456,43 +730,52 @@ def expireAqzs():
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
@shared_task
|
@shared_task
|
||||||
def updateTzzs():
|
def updateTzzs():
|
||||||
queryset = Socertificate.objects.filter(yfsrq__lte = datetime.datetime.now()+datetime.timedelta(days=200))
|
queryset = Socertificate.objects.filter(
|
||||||
|
yfsrq__lte=datetime.datetime.now() + datetime.timedelta(days=200)
|
||||||
|
)
|
||||||
for x in queryset:
|
for x in queryset:
|
||||||
data = getTzzs(x.cardnum, x.realname)
|
data = getTzzs(x.cardnum, x.realname)
|
||||||
time.sleep(10)
|
time.sleep(10)
|
||||||
if data:
|
if data:
|
||||||
for i in data:
|
for i in data:
|
||||||
updated_values = {
|
updated_values = {
|
||||||
'realname':i['姓名'],
|
"realname": i["姓名"],
|
||||||
'gender':i['性别'],
|
"gender": i["性别"],
|
||||||
'zylb':i['作业类别'],
|
"zylb": i["作业类别"],
|
||||||
'czxm':i['操作项目'],
|
"czxm": i["操作项目"],
|
||||||
'fzjg':i['发证机关'],
|
"fzjg": i["发证机关"],
|
||||||
'ccfzrq':i['初次发证日期'] if i['初次发证日期'] else None,
|
"ccfzrq": i["初次发证日期"] if i["初次发证日期"] else None,
|
||||||
'yfsrq':i['应复审日期'] if i['应复审日期'] else None,
|
"yfsrq": i["应复审日期"] if i["应复审日期"] else None,
|
||||||
'yxqkssj':i['有效期开始时间'] if i['有效期开始时间'] else None,
|
"yxqkssj": i["有效期开始时间"] if i["有效期开始时间"] else None,
|
||||||
'yxqjssj':i['有效期结束时间'] if i['有效期结束时间'] else None,
|
"yxqjssj": i["有效期结束时间"] if i["有效期结束时间"] else None,
|
||||||
'sjfssj':i['实际复审时间'] if i['实际复审时间'] else None,
|
"sjfssj": i["实际复审时间"] if i["实际复审时间"] else None,
|
||||||
'user':x.user,
|
"user": x.user,
|
||||||
'usecomp':x.usecomp
|
"usecomp": x.usecomp,
|
||||||
}
|
}
|
||||||
try:
|
try:
|
||||||
updated_values['zszt'] = guoqi(i['应复审日期'])
|
updated_values["zszt"] = guoqi(i["应复审日期"])
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
# obj, created = Socertificate.objects.update_or_create(
|
# obj, created = Socertificate.objects.update_or_create(
|
||||||
# cardnum=x.cardnum, czxm=i['操作项目'], defaults=updated_values)
|
# cardnum=x.cardnum, czxm=i['操作项目'], defaults=updated_values)
|
||||||
try:
|
try:
|
||||||
obj = Socertificate.objects.get(cardnum=x.cardnum, czxm=i['操作项目'])
|
obj = Socertificate.objects.get(
|
||||||
if obj.yxqjssj.strftime('%Y-%m-%d')<i['有效期结束时间']:
|
cardnum=x.cardnum, czxm=i["操作项目"]
|
||||||
obj.yfsrq = i['应复审日期'] if i['应复审日期'] else None
|
)
|
||||||
obj.yxqkssj = i['有效期结束时间'] if i['有效期结束时间'] else None
|
if obj.yxqjssj.strftime("%Y-%m-%d") < i["有效期结束时间"]:
|
||||||
obj.yxqjssj = i['有效期结束时间'] if i['有效期结束时间'] else None
|
obj.yfsrq = i["应复审日期"] if i["应复审日期"] else None
|
||||||
obj.sjfssj = i['实际复审时间'] if i['实际复审时间'] else None
|
obj.yxqkssj = (
|
||||||
|
i["有效期结束时间"] if i["有效期结束时间"] else None
|
||||||
|
)
|
||||||
|
obj.yxqjssj = (
|
||||||
|
i["有效期结束时间"] if i["有效期结束时间"] else None
|
||||||
|
)
|
||||||
|
obj.sjfssj = i["实际复审时间"] if i["实际复审时间"] else None
|
||||||
try:
|
try:
|
||||||
zsst = guoqi(i['应复审日期'])
|
zsst = guoqi(i["应复审日期"])
|
||||||
obj.zszt = zsst
|
obj.zszt = zsst
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
@ -501,50 +784,60 @@ def updateTzzs():
|
||||||
obj = Socertificate(**updated_values)
|
obj = Socertificate(**updated_values)
|
||||||
obj.save()
|
obj.save()
|
||||||
|
|
||||||
|
|
||||||
def guoqi(x):
|
def guoqi(x):
|
||||||
now = datetime.datetime.now()
|
now = datetime.datetime.now()
|
||||||
now1 = datetime.datetime.now() + datetime.timedelta(days=180)
|
now1 = datetime.datetime.now() + datetime.timedelta(days=180)
|
||||||
if datetime.datetime.strptime(x,'%Y-%m-%d')>now1:
|
if datetime.datetime.strptime(x, "%Y-%m-%d") > now1:
|
||||||
return 1
|
return 1
|
||||||
elif now1 > datetime.datetime.strptime(x,'%Y-%m-%d')>now:
|
elif now1 > datetime.datetime.strptime(x, "%Y-%m-%d") > now:
|
||||||
return 2
|
return 2
|
||||||
else:
|
else:
|
||||||
return 3
|
return 3
|
||||||
|
|
||||||
|
|
||||||
@shared_task
|
@shared_task
|
||||||
def updateAqzs():
|
def updateAqzs():
|
||||||
queryset = Safecert.objects.filter(yfsrq__lte = datetime.datetime.now()+datetime.timedelta(days=200))
|
queryset = Safecert.objects.filter(
|
||||||
|
yfsrq__lte=datetime.datetime.now() + datetime.timedelta(days=200)
|
||||||
|
)
|
||||||
for x in queryset:
|
for x in queryset:
|
||||||
data = getAqzs(x.cardnum, x.realname)
|
data = getAqzs(x.cardnum, x.realname)
|
||||||
time.sleep(10)
|
time.sleep(10)
|
||||||
if data:
|
if data:
|
||||||
for i in data:
|
for i in data:
|
||||||
updated_values = {
|
updated_values = {
|
||||||
'realname':i['姓名'],
|
"realname": i["姓名"],
|
||||||
'gender':i['性别'],
|
"gender": i["性别"],
|
||||||
'zglx':i['资格类型'],
|
"zglx": i["资格类型"],
|
||||||
'dwlx':i['单位类型'],
|
"dwlx": i["单位类型"],
|
||||||
'fzjg':i['发证机关'],
|
"fzjg": i["发证机关"],
|
||||||
'yfsrq':i['应复审日期'] if i['应复审日期'] else None,
|
"yfsrq": i["应复审日期"] if i["应复审日期"] else None,
|
||||||
'yxqkssj':i['有效期开始时间'] if i['有效期开始时间'] else None,
|
"yxqkssj": i["有效期开始时间"] if i["有效期开始时间"] else None,
|
||||||
'yxqjssj':i['有效期结束时间'] if i['有效期结束时间'] else None,
|
"yxqjssj": i["有效期结束时间"] if i["有效期结束时间"] else None,
|
||||||
'user':x.user,
|
"user": x.user,
|
||||||
'usecomp':x.usecomp
|
"usecomp": x.usecomp,
|
||||||
}
|
}
|
||||||
try:
|
try:
|
||||||
updated_values['zszt'] = guoqi(i['有效期结束时间'])
|
updated_values["zszt"] = guoqi(i["有效期结束时间"])
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
# obj, created = Safecert.objects.update_or_create(
|
# obj, created = Safecert.objects.update_or_create(
|
||||||
# cardnum=x.cardnum, zglx=i['资格类型'], dwlx=i['单位类型'], defaults=updated_values)
|
# cardnum=x.cardnum, zglx=i['资格类型'], dwlx=i['单位类型'], defaults=updated_values)
|
||||||
try:
|
try:
|
||||||
obj = Safecert.objects.get(cardnum=x.cardnum, zglx=i['资格类型'], dwlx=i['单位类型'])
|
obj = Safecert.objects.get(
|
||||||
if obj.yxqjssj.strftime('%Y-%m-%d')<i['有效期结束时间']:
|
cardnum=x.cardnum, zglx=i["资格类型"], dwlx=i["单位类型"]
|
||||||
obj.yfsrq = i['应复审日期'] if i['应复审日期'] else None
|
)
|
||||||
obj.yxqkssj = i['有效期结束时间'] if i['有效期结束时间'] else None
|
if obj.yxqjssj.strftime("%Y-%m-%d") < i["有效期结束时间"]:
|
||||||
obj.yxqjssj = i['有效期结束时间'] if i['有效期结束时间'] else None
|
obj.yfsrq = i["应复审日期"] if i["应复审日期"] else None
|
||||||
|
obj.yxqkssj = (
|
||||||
|
i["有效期结束时间"] if i["有效期结束时间"] else None
|
||||||
|
)
|
||||||
|
obj.yxqjssj = (
|
||||||
|
i["有效期结束时间"] if i["有效期结束时间"] else None
|
||||||
|
)
|
||||||
try:
|
try:
|
||||||
zsst = guoqi(i['有效期结束时间'])
|
zsst = guoqi(i["有效期结束时间"])
|
||||||
obj.zszt = zsst
|
obj.zszt = zsst
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
@ -553,6 +846,7 @@ def updateAqzs():
|
||||||
obj = Safecert(**updated_values)
|
obj = Safecert(**updated_values)
|
||||||
obj.save()
|
obj.save()
|
||||||
|
|
||||||
|
|
||||||
@shared_task
|
@shared_task
|
||||||
def call_trainplan_manager():
|
def call_trainplan_manager():
|
||||||
first_day, first_day_of_next_month = gettime()
|
first_day, first_day_of_next_month = gettime()
|
||||||
|
|
Loading…
Reference in New Issue