feat(职位名称变更): 实现职位名称自动替换功能
添加从Excel读取名称变化规则的功能,并在处理历史数据时自动应用匹配的规则
This commit is contained in:
parent
0193264256
commit
c34d04c3d8
20
main.py
20
main.py
@ -59,9 +59,25 @@ while True: # 职级规则
|
||||
col += 2
|
||||
except:
|
||||
break
|
||||
Rule_RoleName = []
|
||||
col = 1
|
||||
while True: # 名称变化
|
||||
try:
|
||||
rule = pd.read_excel("原数据.xlsx", sheet_name="名称变化",usecols=f"{get_column_letter(col)}:{get_column_letter(col+1)}", header=None)
|
||||
Rule_RoleName.append({
|
||||
"start":rule.iloc[0,1],
|
||||
"end":rule.iloc[1,1],
|
||||
"rule":pd.read_excel("原数据.xlsx", sheet_name="名称变化",usecols=f"{get_column_letter(col)}:{get_column_letter(col+1)}",skiprows=2)
|
||||
})
|
||||
col += 2
|
||||
except:
|
||||
break
|
||||
|
||||
print("读取完成")
|
||||
|
||||
Rule_Role = sorted(Rule_Role, key=lambda x: x['start'])
|
||||
Rule_Level = sorted(Rule_Level, key=lambda x: x['start'])
|
||||
Rule_RoleName = sorted(Rule_RoleName, key=lambda x: x['start'])
|
||||
|
||||
nowtime = datetime.now()
|
||||
|
||||
@ -204,6 +220,10 @@ for index, row in BaseData.iterrows():
|
||||
# 调整职务职级
|
||||
if index > 0 and hrow["职务"] == "":
|
||||
History_pd.at[index, "职务"] = History_pd.iloc[index-1]["职务"]
|
||||
for rule in Rule_RoleName: # 名称变化
|
||||
if rule["start"] <= hrow["时间"] <= rule["end"]:
|
||||
if History_pd.iloc[index]["职务"] in rule["rule"]["原名称"].values:
|
||||
History_pd.at[index, "职务"] = rule["rule"][rule["rule"]["原名称"] == History_pd.iloc[index]["职务"]]["现名称"].values[0]
|
||||
if index > 0 and hrow["级别档次"] == "":
|
||||
jb, dc = split_level(History_pd.iloc[index-1]["级别档次"])
|
||||
if hrow["变动原因"] == "两年晋档":
|
||||
|
4
规则需求.md
4
规则需求.md
@ -9,7 +9,7 @@
|
||||
|
||||
## 1.1 新增职位变更&数据模板优化 100
|
||||
|
||||
- [ ] feat: 职位名称变化
|
||||
- [x] feat: 职位名称变化 [completion:: 2025-05-27]
|
||||
新增名称变化规则,起始、终止时间内自动替换
|
||||
- [ ] fix: 原数据模版(带校验数据值填写规范提示)
|
||||
- [x] 兼容 yyyy-mm-dd格式 [completion:: 2025-05-27]
|
||||
@ -18,7 +18,7 @@
|
||||
- [ ] 带输入格式检测(修正、提示)
|
||||
- [x] doc: 打包成exe教程 [completion:: 2025-05-27]
|
||||
- [x] feat: 【赠送】输出log到文件 [completion:: 2025-05-27]
|
||||
- [ ] fix: 工龄列改为学龄,不参与任何计算。
|
||||
- [x] fix: 工龄列改为学龄,不参与任何计算。 [completion:: 2025-05-27]
|
||||
汇总工龄 = 当年年份-参加工作时间年份+工龄调增-工龄调减+1
|
||||
- [ ] feat:【赠送】新增fall-back逻辑
|
||||
- [x] 职务2 优先计算结果 [completion:: 2025-05-27]
|
||||
|
Loading…
x
Reference in New Issue
Block a user