fix: 车辆追踪补全所有492辆车的考核目标和月度奖励
通过(归属公司+车型)→考核目标映射,补全109辆无考核记录车辆的考核目标。 含全角/半角括号兼容(现代氢能科技)。 现在492辆车全部有考核目标和月度奖励金额。 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -169,6 +169,16 @@ def collect_vehicle_payments(G, feb_data, mar_data):
|
||||
for i, r in enumerate(records): r['期数'] = i + 1
|
||||
return payments, info
|
||||
|
||||
# (归属公司+车型) → 考核目标 映射,用于补全无考核记录的车辆
|
||||
VEHICLE_TARGET_MAP = {
|
||||
('广州开发区交投氢能运营管理有限公司', '4.5吨冷链车'): ('交投190辆4.5T冷链车', 3000, 150),
|
||||
('广州开发区交投氢能运营管理有限公司', '4.5吨货车'): ('交投40辆4.5T普货', 3000, 150),
|
||||
('羚牛氢能科技(广东)有限公司', '4.5吨冷链车'): ('羚牛136辆4.5T冷链车', 5000, 260),
|
||||
('羚牛氢能科技(广东)有限公司', '18吨双飞翼货车'): ('羚牛100辆18T', 6000, 1000),
|
||||
('现代氢能科技(广州)有限公司', '4.5吨货车'): ('恒运50辆4.5T普货', 5000, 260),
|
||||
('现代氢能科技(广州)有限公司', '4.5吨货车'): ('恒运50辆4.5T普货', 5000, 260),
|
||||
}
|
||||
|
||||
def read_master_vehicles(fp='里程任务考核_Q1汇总.xlsx'):
|
||||
"""从现有Q1汇总文件读取全量车辆台账"""
|
||||
wb = openpyxl.load_workbook(fp, data_only=True)
|
||||
|
||||
@@ -351,13 +351,26 @@ def write_vehicle_tracking_sheet(wb, settle_month, G, master_vehicles, vehicle_p
|
||||
headers += ['本月发放明细','累计已发期数','累计已发金额','剩余可发期数']
|
||||
WH(ws, headers)
|
||||
|
||||
from calc_engine import VEHICLE_TARGET_MAP, RULES
|
||||
|
||||
rn=2
|
||||
for mv in master_vehicles:
|
||||
plate=mv['车牌号']
|
||||
info=vehicle_info.get(plate, {})
|
||||
pays=vehicle_payments.get(plate, [])
|
||||
|
||||
# 补全缺失的考核目标
|
||||
target_name = info.get('考核目标','')
|
||||
monthly_bonus = info.get('月度奖励',0)
|
||||
if not target_name:
|
||||
company = mv.get('归属公司','')
|
||||
vtype = mv.get('车型确定','')
|
||||
mapped = VEHICLE_TARGET_MAP.get((company, vtype))
|
||||
if mapped:
|
||||
target_name, _, monthly_bonus = mapped
|
||||
|
||||
row=[plate,mv.get('车架号',''),mv.get('归属公司',''),mv.get('车型确定',''),
|
||||
info.get('考核目标',''),info.get('月度奖励',0) or '']
|
||||
target_name or '',monthly_bonus or '']
|
||||
|
||||
cum_t=0; cum_a=0
|
||||
for m in range(1, settle_month+1):
|
||||
|
||||
Reference in New Issue
Block a user