diff --git a/main.py b/main.py index 5d4e263..21dbb58 100644 --- a/main.py +++ b/main.py @@ -211,7 +211,7 @@ BaseData["Latest_Role"] = None BaseData["Latest_Prom"] = None # 创建一个空的DataFrame来存储所有历史记录 -all_history = pd.DataFrame(columns=["身份证号码", "姓名", "时间", "职务", "职务工资", "级别档次", "级别工资", "工资合计", "变动原因"]) +all_history = pd.DataFrame(columns=["身份证号码", "姓名", "时间", "职务", "职务工资", "级别档次", "级别工资", "工资合计", "变动原因", "晋升备注"]) for index, row in BaseData.iterrows(): try: @@ -240,29 +240,29 @@ for index, row in BaseData.iterrows(): fill_prompt_info(ws, promote)# 填充晋升信息 # 根据规则匹配职级薪资 - History_pd = pd.DataFrame(columns=["时间", "职务", "职务工资", "级别档次", "级别工资", "工资合计", "变动原因"]) + History_pd = pd.DataFrame(columns=["时间", "职务", "职务工资", "级别档次", "级别工资", "工资合计", "变动原因", "晋升备注"]) # 添加入职记录 - History_pd.loc[len(History_pd)] = [row["入职时间"], row["初始职务"], "", row["入职时的初始级别"], "", "", "套改/定级"] + History_pd.loc[len(History_pd)] = [row["入职时间"], row["初始职务"], "", row["入职时的初始级别"], "", "", "套改/定级", ""] for index, prow in promote.iterrows(): # 添加晋升记录 - History_pd.loc[len(History_pd)] = [prow["工资执行时间"], prow["新职务"], "", "", "", "", "晋升"] + History_pd.loc[len(History_pd)] = [prow["工资执行时间"], prow["新职务"], "", "", "", "", "晋升", f"任{prow['新职务']} {prow['变动批注']}"] try: calctime=row["晋档起始"] + relativedelta(minute=1) while True: # 添加晋档记录 calctime += relativedelta(years=row["晋档间隔"]) if calctime > nowtime: break - History_pd.loc[len(History_pd)] = [calctime, "", "", "", "", "", "两年晋档"] + History_pd.loc[len(History_pd)] = [calctime, "", "", "", "", "", "两年晋档", ""] calctime=row["晋级起始"] while True: # 添加晋级记录 calctime += relativedelta(years=row["晋级间隔"]) if calctime > nowtime: break - History_pd.loc[len(History_pd)] = [calctime, "", "", "", "", "", "五年晋级"] + History_pd.loc[len(History_pd)] = [calctime, "", "", "", "", "", "五年晋级", ""] except: raise Exception(f"晋级、档起始或间隔时间格式错误:{row['晋级起始']}-{row['晋档起始']}-{row['晋级间隔']}-{row['晋档间隔']}") for rule in Rule_Level: # 工资调标 if row["入职时间"] < rule["start"]: - History_pd.loc[len(History_pd)] = [rule["start"], "", "", "", "", "", "工资调标"] + History_pd.loc[len(History_pd)] = [rule["start"], "", "", "", "", "", "工资调标", ""] History_pd = History_pd.sort_values(by="时间").reset_index(drop=True) if History_pd.at[0,"时间"] != row["入职时间"]: