nannvfuli / app.py
88888888q's picture
Update app.py
45ca9a2
import os
import requests
import gradio as gr
import openpyxl
import string
import re
import math
import shutil
import time
YED1="4-6"
YED2="6-8"
mywarning = []
class ppBean:
id: ""
name: "" # 陪陪
maixu:0 #麦序数
maixuf:0 #麦序福利
award:0 #奖励福利
income:0#流水
class presideOverBean:
id:""
name:"" #主持名称
timem:0 #档福利
nighttimem: 0 # 夜档福利
frequency:0 #档次
nightfrequency: 0 # 夜档次
aggregateAmount:0 #流水
aggregateAmountDPSM:0#流水分成
WheatSorting:0 #全麦次数
nightWheatSorting:0 #夜档全麦次数
income:0#个人流水
def poCalculate(wb, ws, lb, text,accountws,attestationws):
# 创建基本主持信息
pobc = {}
for columns in range(ws.max_row-1):
zcm = ws["c" + str(columns + 2)].value # 主持名称
dc = ws["f" + str(columns + 2)].value # 档次
ls = ws["i" + str(columns + 2)].value
qm = ws["m" + str(columns + 2)].value
if(zcm==None):
zcm = "空主持"
zcm = zcm.replace(" ", "")
if(dc==None):
dc=0
if(ls==None):
ls = 0
if(qm==None):
qm = 0
# 分别日夜档
if(ws["b"+str(columns+2)].value==YED1 and ws["b"+str(columns+2)].value==YED2):
# print("日志=========夜档"+ws["b"+str(columns+2)].value+zcm)
if (pobc.get(zcm) == None):
pob = presideOverBean();
pob.name = zcm
pob.nightfrequency = dc
pob.nightWheatSorting = ls
pob.aggregateAmount = qm
pob.id = 0
pob.income = 0
pob.frequency = 0
pob.WheatSorting = 0
pobc[zcm] = pob
else:
pob = pobc.get(zcm)
pob.nightWheatSorting = pob.WheatSorting + ls
pob.aggregateAmount = pob.aggregateAmount + qm
pob.nightfrequency = pob.nightfrequency + dc
pob.id = 0
pob.income = 0
# pob.frequency = 0
# pob.WheatSorting = 0
pobc[zcm] = pob
else:
# print("日志========日档" + ws["b" + str(columns + 2)].value + zcm)
if(pobc.get(zcm)==None):
pob = presideOverBean();
pob.name=zcm
pob.frequency=dc
pob.WheatSorting=ls
pob.aggregateAmount=qm
pob.id = 0
pob.income = 0
pob.nightWheatSorting = 0
pob.nightfrequency = 0
pobc[zcm] = pob
else:
pob = pobc.get(zcm)
pob.WheatSorting = pob.WheatSorting+ls
pob.aggregateAmount = pob.aggregateAmount + qm
pob.frequency = pob.frequency + dc
pob.id = 0
pob.income = 0
# pob.nightWheatSorting = 0
# pob.nightfrequency = 0
pobc[zcm] = pob
#添加id
for lie in range(accountws.max_row - 1):
name = accountws["c" + str(lie + 1)].value
if (pobc.get(name, 0) != 0):
pobc.get(name).id = accountws["a" + str(lie + 1)].value
print("日志==============> 主持对象:" + str(pobc.get(name).id), pobc.get(name).name)
for lie in range(attestationws.max_row - 1):
id = attestationws["q" + str(lie + 1)].value
mv = attestationws["k" + str(lie + 1)].value
# if (ipps.get(id, 0) != 0):
# ipps.get(id).income = round(mv + ipps.get(id).income, 1)
for k,v in pobc.items():
if(v.id==id):
v.income+=mv
#档费计算
for k,v in pobc.items():
print("日志==========>主持:"+k+"日次:"+str(v.frequency)+"夜次:"+str(v.nightfrequency)+"全麦任务:"+str(v.WheatSorting)+"夜全麦任务:"+str(v.nightWheatSorting),"个人流水"+str(v.income))
sfpdzc = text.find(k)==-1 #判断是否提档
v.timem = v.frequency*20
v.nighttimem = v.nightfrequency*30
print("日志=========>主持:"+k+"日费:"+str(v.timem)+"夜费:"+str(v.nighttimem))
#档时判断
if(sfpdzc):
print("日志==========》替档主持:"+k)
if(v.frequency+v.nightfrequency<=4):
v.timem=v.frequency*15
v.nighttimem=v.nightfrequency*20
else:
if (v.frequency < 6):
print("日志==========》档时不够主持:" + k)
sfpdzc = False
v.timem = v.timem / 2
v.nighttimem = v.nighttimem / 2
else:
sfpdzc = False
else:
print("日志==========》排挡主持:" + k)
if(v.frequency<4):
print("日志==========》甩档主持:" + k)
v.timem = 0
v.nighttimem = 0
if(v.frequency<6):
print("日志==========》档时不够主持:" + k)
v.timem = v.timem /2
v.nighttimem = v.nighttimem /2
#全麦任务判断
if(sfpdzc!=True):
print("全部日志-------------------------------->" + v.name, v.WheatSorting)
if(v.WheatSorting<5):
v.timem = v.timem /2
if(v.nightWheatSorting<3):
v.nighttimem = v.nighttimem /2
if(v.WheatSorting>=15):
print("判断成功日志-------------------------------->"+v.name,v.WheatSorting)
v.timem=v.timem+v.frequency * 5
if (v.nightWheatSorting >= 15):
v.nighttimem = v.nighttimem + v.nightfrequency * 5
print("功日志-------------------------------->" + v.name, v.WheatSorting,v.timem)
#流水提成
if(v.aggregateAmount>50000):
if(50000<v.aggregateAmount<100000):
v.aggregateAmountDPSM=(v.aggregateAmount*0.012)/10
elif(100000<v.aggregateAmount<200000):
v.aggregateAmountDPSM = (v.aggregateAmount * 0.016) / 10
elif(200000<v.aggregateAmount<300000):
v.aggregateAmountDPSM = (v.aggregateAmount * 0.022) / 10
elif(300000<v.aggregateAmount<800000):
v.aggregateAmountDPSM = (v.aggregateAmount * 0.025) / 10
elif(v.aggregateAmount>=800000):
v.aggregateAmountDPSM = (v.aggregateAmount * 0.03) / 10
else:
v.aggregateAmountDPSM=0
v.aggregateAmountDPSM = round(v.aggregateAmountDPSM,1)
print("测试日志=============》主持:"+k,"档费"+str(v.nighttimem+v.timem+v.aggregateAmountDPSM))
return pobc
# 陪陪名称过滤
def fb(name):
# print(name)
name = name.replace("加坑", "", 1)
name = name.replace("手速", "", 1)
name = name.replace("麦序", "", 1)
name = name.replace("空一", "", 1)
name = name.replace("空二", "", 1)
name = name.replace("空三", "", 1)
name = name.replace("空1", "", 1)
name = name.replace("空2", "", 1)
name = name.replace("空3", "", 1)
name = name.replace("关厅", "", 1)
name = name.replace("全麦", "", 1)
name = name.replace("0", "", 1)
name = name.replace("1", "", 1)
name = name.replace("2", "", 1)
name = name.replace("3", "", 1)
name = name.replace("4", "", 1)
name = name.replace("5", "", 1)
name = name.replace("6", "", 1)
name = name.replace("7", "", 1)
name = name.replace("8", "", 1)
name = name.replace("st", "", 1)
name = name.replace("ST", "", 1)
name = name.replace("St", "", 1)
name = name.replace("sT", "", 1)
name = re.sub(r"满$", " ", name)
name = re.sub(r"齐$", " ", name)
name = re.sub(r"手速$", " ", name)
name = re.sub(r"加坑$", " ", name)
name = re.sub(r"\(.*?\)", "", name)
z = re.sub(r"(.*?\)", "", name)
z = re.sub(r"\(.*?\)", "", z)
z = re.sub(r"(.*?\)", "", z)
res = re.compile("[^\u4e00-\u9fa5^a-z^A-Z^0-9]")
return res.sub("",z)
#组合陪陪对象
def lj(ws,accountws,wb):
npps = {}
ipps = {}
for mxl in ws["d"]:
# print(mxl.value.split())
if (mxl.value != None):
for name in mxl.value.split("\n"):
name = name.lstrip()
if (len(name) < 12):
if (name != "截止麦序表:"):
if (name != "当前麦序表:"):
if (name.isspace() != True):
pname = fb(name)
print("日志==========================》陪陪名称" + pname)
if (pname != ""):
npps[pname] = npps.get(pname, 0) + 1
else:
for xname in name.split("@"):
if (xname != "截止麦序表:"):
if (xname != "当前麦序表:"):
if (xname.isspace() != True):
pname = fb(xname)
print("日志==========================》陪陪名称" + pname)
if (pname != ""):
npps[pname] = npps.get(pname, 0) + 1
for mxl in ws["e"]:
# print(mxl.value.split())
if (mxl.value != None):
for name in mxl.value.split("\n"):
name = name.lstrip()
if (len(name) < 12):
if (name != "截止麦序表:"):
if (name != "当前麦序表:"):
if (name.isspace() != True):
pname = fb(name)
print("日志==========================》陪陪名称" + pname)
if (pname != ""):
npps[pname] = npps.get(pname, 0) + 1
else:
for xname in name.split("@"):
if (xname != "截止麦序表:"):
if (xname != "当前麦序表:"):
if (xname.isspace() != True):
pname = fb(xname)
print("日志==========================》陪陪名称" + pname)
if (pname != ""):
npps[pname] = npps.get(pname, 0) + 1
for lie in range(accountws.max_row-1):
name = accountws["c" + str(lie+1)].value
if(npps.get(name,0)!=0):
ppdx = ppBean()
ppdx.id = accountws["a" + str(lie+1)].value
ppdx.name = name
ppdx.maixu = npps.get(name)
ppdx.income = 0
ipps[ppdx.id] = ppdx
print("日志==============> 陪陪对象:" + str(ppdx.id),ppdx.name,ppdx.maixu)
if(len(npps)!=len(ipps)):
jh=[]
jh1 = npps.keys()
for v in ipps.values():
jh.append(v.name)
print("日志==============> 新人:",list(set(jh)^set(jh1)))
if '新增福利人员' in wb.sheetnames:
print("工作表 '新增福利人员' 已经存在,将不再创建。")
xzws = wb['新增福利人员']
# 清空工作表中的所有内容
xzws.delete_rows(1, xzws.max_row)
else:
# 如果不存在名为'新增福利人员'的工作表,则创建它
xzws = wb.create_sheet(title='新增福利人员')
print("创建了名为 '新增福利人员' 的新工作表。")
xzxhs=0
for v in list(set(jh)^set(jh1)):
xzxhs+=1
xzws["a" + str(xzxhs)] = v
xzws["b" + str(xzxhs)] = npps.get(v)
return ipps
#陪陪流水添加
def AddWater(ipps, attestationws):
for lie in range(attestationws.max_row - 1):
id = attestationws["q" + str(lie+1)].value
mv = attestationws["k" + str(lie + 1)].value
if(ipps.get(id,0)!=0):
ipps.get(id).income=round(mv+ipps.get(id).income,1)
# for k,v in ipps.items():
# print("日志=================>流水:"+v.name,v.income)
return ipps
#陪陪福利计算
def ppCalculate(ws,accountws,attestationws,wb):
ipps = {}
ippls = {}
ipps = lj(ws,accountws,wb) #组合陪陪对象
ippls = AddWater(ipps,attestationws) #添加流水
#判断是否明星
if(False):
print("")
else:
for k,v in ippls.items():
if(v.maixu>=20):
if(v.income>=8000):
v.maixuf = v.maixu*5
elif(v.income>=6000):
v.maixuf = v.maixu * 4
elif(v.income>=3000):
v.maixuf = v.maixu * 3
elif(v.income<600):
v.maixuf = v.maixu
else:
v.maixuf = v.maixu * 2
else:
v.maixuf=0
print("日志==============>麦序福利"+v.name,v.maixuf,v.maixu,v.income)
return ippls
#全麦计算
def quanmaiCalculate(ws):
qmfl={}
for lin in range(ws.max_row):
qm = ws["h" + str(lin + 1)].value
# print(qm)
if(qm!=None):
# print(qm)
for qq in qm.split("\n"):
# print("日志==========>test:"+qq)
result = re.sub(r'^(\d{2}-\d{2}).*', r'\1', qq)
result2 = re.sub(r'^(\d{1}-\d{1}).*', r'\1', qq)
# qq = qq.replace(result,"")
if(result!=qq):
qq=qq.replace(result,"")
if(result2!=qq):
qq = qq.replace(result2, "")
qq = qq.replace(" ", "")
try:
gz1 = re.search(r'\d', qq)
if gz1:
fgd = gz1.start()
name = qq[:fgd]
mn = qq[fgd:]
gz2 = re.search(r'\D', mn)
if gz2:
fhd = gz2.start()
cs=1
if(mn[fhd + 1:]!=""):
cs=int(mn[fhd + 1:])
qmjszg = int(mn[:fhd])*cs
qmfl[name] = qmfl.get(name, 0) + math.floor(int(qmjszg) / 99)
print("日志===============》名称:" + name + "全麦:" + mn + "计算值:" + str(qmjszg))
else:
qmfl[name] = qmfl.get(name, 0) + math.floor(int(mn) / 99)
print("日志===============》名称:" + name + "全麦:" + mn + "计算值:" + str(mn))
else:
print("日志=============》异常"+qq)
except ValueError:
mywarning.append("全麦错误"+qq+"\t报错行:"+str(lin+1))
print("异常====================================================================================》全麦错误"+qq,lin+1)
return qmfl
#收光福利计算
def shouguangCalculate(ws):
sgfl = {}
for lin in range(ws.max_row):
sg = ws["g" + str(lin + 1)].value
if (sg != None):
for sg in sg.split("\n"):
result = re.sub(r'^(\d{2}-\d{2}).*', r'\1', sg)
result2 = re.sub(r'^(\d{1}-\d{1}).*', r'\1', sg)
# qq = qq.replace(result,"")
if (result != sg):
sg = sg.replace(result, "")
if (result2 != sg):
sg = sg.replace(result2, "")
sg = sg.replace(" ", "")
try:
# print(sg)
gz1 = re.search(r'\d', sg)
if gz1:
fgd = gz1.start()
name = sg[:fgd]
mn = sg[fgd:]
# print("mane:"+sg[:fgd],"mn:"+sg[fgd:])
if(int(mn)<5000):
sgfl[name] = sgfl.get(name,0)+int(mn)*0.002
elif(int(mn)<10000):
sgfl[name] = sgfl.get(name,0)+int(mn) * 0.0025
elif (int(mn) < 30000):
sgfl[name] = sgfl.get(name,0)+int(mn) * 0.003
elif (int(mn) < 80000):
sgfl[name] = sgfl.get(name,0)+int(mn) * 0.0035
elif (int(mn) > 80000):
sgfl[name] = sgfl.get(name,0)+int(mn) * 0.0045
except ValueError:
mywarning.append("收光错误" + sg+"\t报错行:"+str(lin + 1))
print("异常==================================================================================》收光错误"+sg,lin+1)
for k,v in sgfl.items():
print("日志============>"+k,v)
return sgfl
def awardCalculate(ppfls):
award={}
mxaward=[]
mlaward=[]
for k,v in ppfls.items():
if(v.maixu>=50):
mxaward.append(v)
if(v.income>=6000):
mlaward.append(v)
sorted_mxaward = sorted(mxaward, key=lambda v : v.maixu,reverse=True)
sorted_mlaward = sorted(mlaward, key=lambda v : v.income,reverse=True)
award["maixu"]=sorted_mxaward[:3]
award["ml"] = sorted_mlaward[:3]
return award
def calculate(file,text,accountFile,attestationFile):
# 打卡表
wb = openpyxl.load_workbook(file.name)
ws = wb.active
lb = tuple(ws.columns)
mywarning[:] = []
# 认证表
accountwb = openpyxl.load_workbook(accountFile.name)
accountws = accountwb.active
# 流水表
attestationwb = openpyxl.load_workbook(attestationFile.name)
attestationws = attestationwb.active
pobs = {} #主持 name为key
ppfls = {} #陪陪 ID为key
quanmaifs = {} # 全麦福利 name为key
shouguangfs = {} # 收光福利 name为key
award = {} #奖励 key为maixu,ml
# print(ws["a1"].value)
# print(ws.max_row)
# print(tuple(ws.columns))
# 主持福利计算
pobs = poCalculate(wb,ws,lb,text,accountws,attestationws)
if '主持福利' in wb.sheetnames:
print("工作表 '主持福利' 已经存在,将不再创建。")
zcws = wb['主持福利']
# 清空工作表中的所有内容
zcws.delete_rows(1, zcws.max_row)
else:
# 如果不存在名为'主持福利'的工作表,则创建它
zcws = wb.create_sheet(title='主持福利')
print("创建了名为 '主持福利' 的新工作表。")
zcws["a1"] = "主持名称"
zcws["b1"] = "日档数"
zcws["c1"] = "日档数全麦次数"
zcws["d1"] = "夜档数"
zcws["e1"] = "夜档数全麦次数"
zcws["f1"] = "流水"
zcws["g1"] = "流水分成"
zcws["h1"] = "档福利"
zcws["i1"] = "总主持福利"
zcxhs=1
for k,v in pobs.items():
zcxhs+=1
zcws["a"+str(zcxhs)] = k
zcws["b"+str(zcxhs)] = v.frequency
zcws["c" + str(zcxhs)] = v.WheatSorting
zcws["d" + str(zcxhs)] = v.nightfrequency
zcws["e" + str(zcxhs)] = v.nightWheatSorting
zcws["f" + str(zcxhs)] = v.aggregateAmount
zcws["g" + str(zcxhs)] = v.aggregateAmountDPSM
zcws["h" + str(zcxhs)] = v.nighttimem+v.timem
zcws["i" + str(zcxhs)] = v.nighttimem + v.timem+ v.aggregateAmountDPSM
#麦序福利计算
ppfls = ppCalculate(ws,accountws,attestationws,wb)
if '麦序福利' in wb.sheetnames:
print("工作表 '麦序福利' 已经存在,将不再创建。")
mxws = wb['麦序福利']
# 清空工作表中的所有内容
mxws.delete_rows(1, mxws.max_row)
else:
# 如果不存在名为'麦序福利'的工作表,则创建它
mxws = wb.create_sheet(title='麦序福利')
print("创建了名为 '麦序福利' 的新工作表。")
mxws["a1"] = "陪陪名称"
mxws["b1"] = "麦序次数"
mxws["c1"] = "流水"
mxws["d1"] = "麦序福利"
mxxhs = 1
for k, v in ppfls.items():
mxxhs+=1
# print(v.name,v.maixu,v.maixuf)
mxws["a"+str(mxxhs)] = v.name
mxws["b" + str(mxxhs)] = v.maixu
mxws["c" + str(mxxhs)] = v.income
mxws["d" + str(mxxhs)] = v.maixuf
#全麦福利计算
quanmaifs = quanmaiCalculate(ws)
if '全麦福利' in wb.sheetnames:
print("工作表 '全麦福利' 已经存在,将不再创建。")
qmws = wb['全麦福利']
# 清空工作表中的所有内容
qmws.delete_rows(1, qmws.max_row)
else:
# 如果不存在名为'主持福利'的工作表,则创建它
qmws = wb.create_sheet(title='全麦福利')
print("创建了名为 '全麦福利' 的新工作表。")
qmws["a1"] = "名称"
qmws["b1"] = "全麦福利"
qmxhs = 1
for k, v in quanmaifs.items():
qmxhs += 1
qmws["a"+str(qmxhs)] = k
qmws["b" + str(qmxhs)] = v
#收光福利计算
shouguangfs = shouguangCalculate(ws)
if '收光福利' in wb.sheetnames:
print("工作表 '收光福利' 已经存在,将不再创建。")
sgws = wb['收光福利']
# 清空工作表中的所有内容
sgws.delete_rows(1, sgws.max_row)
else:
# 如果不存在名为'主持福利'的工作表,则创建它
sgws = wb.create_sheet(title='收光福利')
print("创建了名为 '收光福利' 的新工作表。")
sgws["a1"] = "名称"
sgws["b1"] = "收光福利"
sgxhs = 1
for k, v in shouguangfs.items():
sgxhs += 1
sgws["a" + str(sgxhs)] = k
sgws["b" + str(sgxhs)] = v
#奖励计算
award = awardCalculate(ppfls)
if '钻石奖励' in wb.sheetnames:
print("工作表 '奖励' 已经存在,将不再创建。")
jlws = wb['钻石奖励']
# 清空工作表中的所有内容
jlws.delete_rows(1, jlws.max_row)
else:
# 如果不存在名为'钻石奖励'的工作表,则创建它
jlws = wb.create_sheet(title='钻石奖励')
print("创建了名为 '钻石奖励' 的新工作表。")
jlws["a1"] = "名称"
jlws["b1"] = "麦序"
jlws["c1"] = "麦序奖励(单位钻石)"
jlws["e1"] = "名称"
jlws["f1"] = "流水"
jlws["g1"] = "魅力值奖励(单位钻石)"
mc={}
mxjlxhs=1
for v in award.get("maixu"):
mc[mxjlxhs] = v
mxjlxhs += 1
no1 = 666
no2 = 366
no3 = 266
if(mc.get(1,0)!=0):
if(mc.get(1).maixu>=70):
jlws["a2"] = mc.get(1).name
jlws["b2"] = mc.get(1).maixu
if(mc.get(1).income>=30000):
jlws["c2"] = no1
else:
jlws["c2"] = no1/2
elif(mc.get(1).maixu>=60):
jlws["a3"] = mc.get(1).name
jlws["b3"] = mc.get(1).maixu
if(mc.get(1).income>=30000):
jlws["c3"] = no2
else:
jlws["c3"] = no2/2
elif (mc.get(1).maixu >= 50):
jlws["a4"] = mc.get(1).name
jlws["b4"] = mc.get(1).maixu
if(mc.get(1).income>=30000):
jlws["c4"] = no3
else:
jlws["c4"] = no3/2
if(mc.get(2,0)!=0):
if(mc.get(2).maixu>=60):
jlws["a3"] = mc.get(2).name
jlws["b3"] = mc.get(2).maixu
jlws["c3"] = no2
if(mc.get(2).income>=30000):
jlws["c3"] = no2
else:
jlws["c3"] = no2/2
elif (mc.get(2).maixu >= 50):
jlws["a4"] = mc.get(2).name
jlws["b4"] = mc.get(2).maixu
if (mc.get(2).income >= 30000):
jlws["c4"] = no3
else:
jlws["c4"] = no3 / 2
if (mc.get(3, 0) != 0):
if (mc.get(3).maixu >= 50):
jlws["a4"] = mc.get(3).name
jlws["b4"] = mc.get(3).maixu
if (mc.get(3).income >= 30000):
jlws["c4"] = no3
else:
jlws["c4"] = no3 / 2
mljl=1
for v in award.get("ml"):
mljl+=1
jlws["e" + str(mljl)] = v.name
jlws["f" + str(mljl)] = v.income
# 汇总写入
if '汇总' in wb.sheetnames:
print("工作表 '汇总' 已经存在,将不再创建。")
hzws = wb['汇总']
# 清空工作表中的所有内容
hzws.delete_rows(1, hzws.max_row)
else:
# 如果不存在名为'汇总'的工作表,则创建它
hzws = wb.create_sheet(title='汇总')
print("创建了名为 '汇总' 的新工作表。")
hzws["a1"] = "名称"
hzws["b1"] = "主持福利"
hzws["c1"] = "收光福利"
hzws["d1"] = "麦序福利"
hzws["e1"] = "全麦福利"
hzws["f1"] = "全部福利"
hzws["g1"] = "汇总福利"
hzws["h1"] = "个人流水"
zcbshs = 1
zcGuide ={} #"key为name"指针
earnings = {} #"key为name"流水
#主持福利
for k,v in pobs.items():
if(v.timem+v.nighttimem>0):
earnings[k] = v.income
zcbshs+=1
hzws["a"+str(zcbshs)] = k
hzws["b" + str(zcbshs)] = v.nighttimem + v.timem + v.aggregateAmountDPSM
hzws["h"+ str(zcbshs)] = v.income
# hzws["f"+str(zcbshs)] = v.nighttimem + v.timem + v.aggregateAmountDPSM
zcGuide[k]=zcbshs
#麦序福利
for ppv in ppfls.values():
earnings[ppv.name]=ppv.income
if(ppv.maixuf>0):
if(zcGuide.get(ppv.name,0)!=0):
# hzws["d"+str(zcGuide.get(ppv.name,0))]=ppv.maixuf
# hzws["e" + str(zcGuide.get(ppv.name, 0))] = quanmaifs.get(ppv.name,0)
# hzws["c" + str(zcGuide.get(ppv.name, 0))] = shouguangfs.get(ppv.name,0)
#
# if (quanmaifs.get(ppv.name, 0) + shouguangfs.get(ppv.name, 0) + ppv.maixuf >= ppv.income / 10):
# hzws["f" + str(zcGuide.get(ppv.name, 0))] = hzws["f" + str(zcGuide.get(ppv.name, 0))].value + quanmaifs.get(ppv.name, 0) + shouguangfs.get(ppv.name, 0) + ppv.maixuf
# else:
# hzws["f" + str(zcGuide.get(ppv.name, 0))] = hzws["f" + str(zcGuide.get(ppv.name, 0))].value + ppv.income / 10
hzws["d"+str(zcGuide.get(ppv.name,0))]=ppv.maixuf
print("日志=============="+ppv.name+str(zcGuide.get(ppv.name)))
else:
zcbshs+=1
# hzws["d"+str(ppxhs)] = ppv.maixuf
# hzws["e" + str(ppxhs)] = quanmaifs.get(ppv.name,0)
# hzws["c" + str(ppxhs)] = shouguangfs.get(ppv.name,0)
# if(quanmaifs.get(ppv.name,0)+shouguangfs.get(ppv.name,0)+ppv.maixuf>=ppv.income/10):
# hzws["f" + str(ppxhs)] = quanmaifs.get(ppv.name,0)+shouguangfs.get(ppv.name,0)+ppv.maixuf
# else:
# hzws["f" + str(ppxhs)] = ppv.income/10
hzws["a" + str(zcbshs)] = ppv.name
hzws["d"+str(zcbshs)] = ppv.maixuf
hzws["h" + str(zcbshs)] = ppv.income
zcGuide[ppv.name] = zcbshs
print("日志=============" + ppv.name + str(zcGuide.get(ppv.name,"纯陪陪")))
#收光福利
for sgv,sgk in shouguangfs.items():
if (zcGuide.get(sgv, 0) != 0):
hzws["c" + str(zcGuide.get(sgv, 0))] = sgk
else:
zcbshs += 1
hzws["a" + str(zcbshs)] = sgv
hzws["c" + str(zcbshs)] = sgk
zcGuide[sgv] = zcbshs
#全麦福利
for qmv,qmk in quanmaifs.items():
if (zcGuide.get(qmv, 0) != 0):
hzws["e" + str(zcGuide.get(qmv, 0))] = qmk
else:
zcbshs += 1
hzws["a" + str(zcbshs)] = qmv
hzws["e" + str(zcbshs)] = qmk
zcGuide[qmv] = zcbshs
#福利汇总
for hzk,hzv in zcGuide.items():
if(hzws["c" + str(hzv)].value!=None):
sgh = hzws["c" + str(hzv)].value
else:
sgh = 0
if(hzws["d" + str(hzv)].value!=None):
mxh = hzws["d" + str(hzv)].value
else:
mxh = 0
if(hzws["e" + str(hzv)].value!=None):
qmh = hzws["e" + str(hzv)].value
else:
qmh=0
print("日志============>"+hzk+":::"+str(earnings.get(hzk,0)),sgh,mxh,qmh)
if(earnings.get(hzk,0)!=0):
hzws["g" + str(hzv)] = sgh+mxh+qmh + (hzws["b" + str(hzv)].value if hzws["b" + str(hzv)].value!=None else 0)
if(earnings.get(hzk)/10>sgh+mxh+qmh):
print("日志======================>够:"+str(sgh+mxh+qmh))
hzws["f" + str(hzv)] = sgh+mxh+qmh + (hzws["b" + str(hzv)].value if hzws["b" + str(hzv)].value!=None else 0)
else:
print("日志======================>不够:" + str(earnings.get(hzk)/10))
hzws["f" + str(hzv)] = earnings.get(hzk)/10 + (hzws["b" + str(hzv)].value if hzws["b" + str(hzv)].value!=None else 0)
else:
mywarning.append("请检查陪陪ID是否正确:"+hzk)
print("异常==================================================================>请检查陪陪ID是否正确"+hzk)
for xhs in range(hzws.max_row):
xhs+=1
if(hzws["b" + str(xhs)].value==None):
hzws["b" + str(xhs)] = 0
if (hzws["c" + str(xhs)].value == None):
hzws["c" + str(xhs)] = 0
if (hzws["d" + str(xhs)].value == None):
hzws["d" + str(xhs)] = 0
if (hzws["e" + str(xhs)].value == None):
hzws["e" + str(xhs)] = 0
if (hzws["f" + str(xhs)].value == None):
hzws["f" + str(xhs)] = 0
if (hzws["g" + str(xhs)].value == None):
hzws["g" + str(xhs)] = 0
if (hzws["h" + str(xhs)].value == None):
hzws["h" + str(xhs)] = 0
wb.save(file.name)
warning="警报日志::"
for v in mywarning:
warning = warning+'\n'+v
return file.name,warning
def reverse(file,text,accountFile,attestationFile):
wz="/tmp/gradio/"
print(file.name)
files = os.listdir(wz)
print("文件信息")
# 打印所有文件名
for xfile in files:
print("--------------")
print(xfile)
if(os.path.isdir(wz+xfile)):
ftime = time.strftime("%Y-%m-%d", time.localtime(os.stat(wz + xfile).st_ctime))
mtime = time.strftime("%Y-%m-%d", time.localtime(time.time()))
print(time.strftime("%Y-%m-%d",time.localtime(os.stat(wz+xfile).st_ctime)))
print(time.strftime("%Y-%m-%d",time.localtime(time.time())))
if(ftime!=mtime):
shutil.rmtree(wz + xfile)
print(ftime,xfile,"移除")
return calculate(file,text,accountFile,attestationFile)
demo = gr.Interface(reverse,inputs=[gr.File(label="打卡表"),gr.Text(label="主持排挡"),gr.File(label="id认证表"),gr.File(label="厅流水表")],outputs= ["file","text"])
# demo.launch(share=True)
demo.launch()