Compare commits
No commits in common. "b0827c282990b225bdfabe64939a77863da69c18" and "21db947816cfb431bbd40fa12ef9bbc326d56e64" have entirely different histories.
b0827c2829
...
21db947816
@ -37,10 +37,6 @@
|
||||
|
||||
晋升的级别档次变化记录:正数增加,负数减小。
|
||||
|
||||
### 工资历史的排序问题
|
||||
|
||||
目前的工资历史排序是按照优先工资执行时间,后就职时间。需要注意的是,工资执行时间的排序是包含年月日的,而就职时间的排序是仅包含月日的。所以在工资执行与就职时间存在互相干涉的情况下,需要注意排序的问题。
|
||||
|
||||
## 3. 打包成 .exe 文件
|
||||
|
||||
本程序使用Win7兼容的**Python 3.8.10**,需要在电脑上使用此版本,并确保打包的环境是此版本。
|
||||
|
58
main.py
58
main.py
@ -9,16 +9,17 @@ from datetime import datetime
|
||||
# 配置日志记录
|
||||
logging.basicConfig(filename='log.txt', level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
|
||||
|
||||
# 全局变量
|
||||
|
||||
## 常量
|
||||
# 常量
|
||||
|
||||
P_LIMIT = 6 # 最大晋升次数
|
||||
|
||||
P_START = 10 # 晋升记录开始行
|
||||
H_START = 15 + P_LIMIT # 历史记录开始行
|
||||
|
||||
NOWTIME = datetime.now()
|
||||
|
||||
# 全局变量
|
||||
|
||||
## 通过函数读取
|
||||
BaseData = pd.DataFrame()
|
||||
Promote = pd.DataFrame()
|
||||
@ -265,32 +266,6 @@ def fill_history_info(ws, History_pd):# 填充历史记录
|
||||
ws.cell(row=H_START+index, column=7, value=hrow["变动原因"])
|
||||
# ws.cell(row=H_START+index, column=8, value=index) # Debug
|
||||
|
||||
def fill_roster(): # 填充花名册
|
||||
wb = load_workbook("模板/汇总名册.xlsx")
|
||||
ws = wb.active
|
||||
for index, row in BaseData.iterrows(): # 汇总
|
||||
try:
|
||||
logging.info(f"汇总:第[{index+1}]共[{BaseData.shape[0]}]现在是[{row['身份证号码']}]")
|
||||
for col in range(1,16):
|
||||
ws.cell(row=6+index, column=col)._style = ws.cell(row=6, column=col)._style
|
||||
ws.cell(row=6+index, column=1, value=index+1)
|
||||
ws.cell(row=6+index, column=2, value=row["姓名"])
|
||||
ws.cell(row=6+index, column=3, value=row["性别"])
|
||||
ws.cell(row=6+index, column=4, value=format_time(row["出生年月"], "出生年月"))
|
||||
ws.cell(row=6+index, column=5, value=format_time(row["参加工作时间"], "参加工作时间"))
|
||||
ws.cell(row=6+index, column=6, value=fallback([row["现学历"],row["学历"]]))
|
||||
ws.cell(row=6+index, column=7, value=row['工龄']+row["学龄"])
|
||||
ws.cell(row=6+index, column=8, value=row['工龄'])
|
||||
ws.cell(row=6+index, column=9, value=row["学龄"])
|
||||
ws.cell(row=6+index, column=10, value=row["工龄调减"])
|
||||
ws.cell(row=6+index, column=11, value=row["Latest_Role"])
|
||||
ws.cell(row=6+index, column=12, value=format_time(row["Latest_Prom"], "Latest_Prom"))
|
||||
ws.cell(row=6+index, column=13, value=row["职务2"])
|
||||
ws.cell(row=6+index, column=14, value=format_time(row["日期2"], "日期2"))
|
||||
except Exception as e:
|
||||
logging.error(f"{row['身份证号码']}:{e}")
|
||||
wb.save("汇总名册.xlsx") # 保存汇总
|
||||
|
||||
def main():
|
||||
|
||||
load_people()
|
||||
@ -416,7 +391,30 @@ def main():
|
||||
all_history.to_excel("所有人员历史记录.xlsx", index=False)
|
||||
logging.info("所有人员历史记录已保存到'所有人员历史记录.xlsx'")
|
||||
|
||||
fill_roster()
|
||||
wb = load_workbook("模板/汇总名册.xlsx")
|
||||
ws = wb.active
|
||||
for index, row in BaseData.iterrows(): # 汇总
|
||||
try:
|
||||
logging.info(f"汇总:第[{index+1}]共[{BaseData.shape[0]}]现在是[{row['身份证号码']}]")
|
||||
for col in range(1,16):
|
||||
ws.cell(row=6+index, column=col)._style = ws.cell(row=6, column=col)._style
|
||||
ws.cell(row=6+index, column=1, value=index+1)
|
||||
ws.cell(row=6+index, column=2, value=row["姓名"])
|
||||
ws.cell(row=6+index, column=3, value=row["性别"])
|
||||
ws.cell(row=6+index, column=4, value=format_time(row["出生年月"], "出生年月"))
|
||||
ws.cell(row=6+index, column=5, value=format_time(row["参加工作时间"], "参加工作时间"))
|
||||
ws.cell(row=6+index, column=6, value=fallback([row["现学历"],row["学历"]]))
|
||||
ws.cell(row=6+index, column=7, value=row['工龄']+row["学龄"])
|
||||
ws.cell(row=6+index, column=8, value=row['工龄'])
|
||||
ws.cell(row=6+index, column=9, value=row["学龄"])
|
||||
ws.cell(row=6+index, column=10, value=row["工龄调减"])
|
||||
ws.cell(row=6+index, column=11, value=row["Latest_Role"])
|
||||
ws.cell(row=6+index, column=12, value=format_time(row["Latest_Prom"], "Latest_Prom"))
|
||||
ws.cell(row=6+index, column=13, value=row["职务2"])
|
||||
ws.cell(row=6+index, column=14, value=format_time(row["日期2"], "日期2"))
|
||||
except Exception as e:
|
||||
logging.error(f"{row['身份证号码']}:{e}")
|
||||
wb.save("汇总名册.xlsx") # 保存汇总
|
||||
|
||||
if max_promote > 0:
|
||||
logging.warning(f"最多有[{max_promote}]条晋升信息,需要调整模板。记得同时调整薪资历史的起始行和个人评价结果。")
|
||||
|
Loading…
x
Reference in New Issue
Block a user