feat: 增强历史记录数据结构以支持晋升备注
- 在历史记录DataFrame中新增“晋升备注”字段,以存储晋升相关的附加信息 - 调整历史记录的添加逻辑,确保在记录中包含晋升备注信息
This commit is contained in:
parent
f00cd31e46
commit
8d5931db63
14
main.py
14
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["入职时间"]:
|
||||
|
Loading…
x
Reference in New Issue
Block a user