feat: 根目录文档、脚本、gitignore

This commit is contained in:
2026-10-08 16:15:33 +08:00
commit e98660ce4e
284 changed files with 26838 additions and 0 deletions
+44
View File
@@ -0,0 +1,44 @@
# -*- coding: utf-8 -*-
"""从考核方案工作簿提取「项目经理(王宇航)」sheet,注入导出占位符,生成导出模板"""
import sys, io, shutil
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
import openpyxl
SRC = r'F:/zentao/1/信息技术部绩效考核标准-新版 - AI下的考核方案.xlsx'
DST = r'F:/zentao/1/PM/codes/zentao/src/main/resources/templates/scope/项目经理考核-王宇航.xlsx'
TARGET_CLS = r'F:/zentao/1/PM/codes/zentao/target/classes/templates/scope/项目经理考核-王宇航.xlsx'
wb = openpyxl.load_workbook(SRC)
keep = '项目经理(王宇航)'
for name in list(wb.sheetnames):
if name != keep:
wb.remove(wb[name])
ws = wb[keep]
# 表头占位符(与通用模板同位置)
ws['F2'] = '{name}'
ws['H2'] = '{date}'
# 数据行占位符(G=绩效数据明细, H=本期结果得分;行版式按王宇航 sheet)
ws['G4'] = '{detail_workloadTeamScore}'; ws['H4'] = '{workloadTeamScore}' # 团队工作量 0.4
ws['G5'] = '{detail_versionPlanFinishedRate}'; ws['H5'] = '{versionPlanFinishedRate}' # 版本计划 0.1
ws['G6'] = '{detail_bugScore}'; ws['H6'] = '{bugScore}' # 线上Bug 0.1
ws['G7'] = '{detail_documentQualityScore}'; ws['H7'] = '{documentQualityScore}' # 文档齐备 0.1
ws['H8'] = '{developFeedbackStory}' # 问题管理 0.05
ws['H9'] = '{systemStabilityScore}' # 系统稳定性 0.2
ws['H10'] = '{professionalSkillEnhancementScore}' # 专业技能 0.05
ws['H11'] = '{total}' # 合计
wb.save(DST)
shutil.copy(DST, TARGET_CLS) # target/classes 同步一份,IDE 方式运行的服务免重启生效
# 校验:重新打开,确认占位符齐全、公式与合并单元格未丢
wb2 = openpyxl.load_workbook(DST)
ws2 = wb2.active
ph = [f'{c.coordinate}={c.value}' for row in ws2.iter_rows() for c in row
if isinstance(c.value, str) and '{' in c.value]
print('sheets:', wb2.sheetnames)
print('placeholders(%d):' % len(ph))
for p in ph: print(' ', p)
print('C11 formula:', ws2['C11'].value)
print('merged:', [str(r) for r in ws2.merged_cells.ranges])