diff --git a/generate_q1_summary.py b/generate_q1_summary.py index 380da4a..92814fa 100644 --- a/generate_q1_summary.py +++ b/generate_q1_summary.py @@ -486,7 +486,7 @@ for k in sorted(G[1].keys(), key=lambda x: (x[1],x[0])): len(g['recs']), g['天数'], R(g['应考核']), R(g['实际']), '是' if g['有达标'] else '否', R(g['奖金']), R(excess), g['目标km'], g['可结转'], - R(g['奖金']) if g['有达标'] else '', '当月达标' if g['有达标'] else '未达标' + R(g['奖金']) if g['有达标'] else 0, '当月达标' if g['有达标'] else '未达标' ]); rn+=1 AW(ws_p1) @@ -503,9 +503,9 @@ WH(ws_p2, [ # 判断链 '判断①结转: 1月达标且可结转≥1?','→结转金额(完整月)', '判断②补发1月: 1月未达标且累计达标?','→补发1月金额', - '判断③当月: 2月达标且无结转?','→当月金额', + '判断③当月: 2月达标且无结转?','→2月当月金额', '判断④累计补发2月: 2月未达标+无结转+累计达标?','→累计补发2月金额', - '最终发放类型','最终发放金额' + '2月发放合计' ]) rn=2 for k in sorted(G[2].keys(), key=lambda x: (x[1],x[0])): @@ -530,11 +530,7 @@ for k in sorted(G[2].keys(), key=lambda x: (x[1],x[0])): c4_check = f"2月未达标={not g2['有达标']}, 无结转={carry==0}, 累计达标={cq}" c4_result = '是→累计补发' if cbp2>0 else '否' - final_type = '结转' if carry>0 else ('当月' if bonus2>0 else ('累计补发2月' if cbp2>0 else '无')) - final_amt = carry or bonus2 or cbp2 or 0 - # 补发1月是额外的,不影响2月的发放类型 - if bp1>0: final_type += '+补发1月' - if bp1>0: final_amt += bp1 + total_feb = carry + bp1 + bonus2 + cbp2 WR(ws_p2, rn, [ k[0], k[1], g2['部门'], @@ -542,11 +538,11 @@ for k in sorted(G[2].keys(), key=lambda x: (x[1],x[0])): len(g2['recs']), g2['天数'], R(g2['应考核']), R(g2['实际']), '是' if g2['有达标'] else '否', R(g2['奖金']), R(ct), R(ca), '达标' if cq else '未达标', - f"{c1_check} → {c1_result}", R(carry) if carry>0 else '', - f"{c2_check} → {c2_result}", R(bp1) if bp1>0 else '', - f"{c3_check} → {c3_result}", R(bonus2) if bonus2>0 else '', - f"{c4_check} → {c4_result}", R(cbp2) if cbp2>0 else '', - final_type, R(final_amt) if final_amt>0 else '' + f"{c1_check} → {c1_result}", R(carry) if carry>0 else 0, + f"{c2_check} → {c2_result}", R(bp1) if bp1>0 else 0, + f"{c3_check} → {c3_result}", R(bonus2) if bonus2>0 else 0, + f"{c4_check} → {c4_result}", R(cbp2) if cbp2>0 else 0, + R(total_feb) if total_feb>0 else 0 ]); rn+=1 AW(ws_p2) @@ -561,9 +557,9 @@ WH(ws_p3, [ '判断①结转','→结转金额', '判断②补发1月','→补发1月金额', '判断③补发2月','→补发2月金额', - '判断④当月','→当月金额', + '判断④当月','→3月当月金额', '判断⑤累计补发3月','→累计补发3月金额', - '最终发放类型','最终发放金额' + '3月发放合计' ]) rn=2 for k in sorted(G[3].keys(), key=lambda x: (x[1],x[0])): @@ -590,13 +586,7 @@ for k in sorted(G[3].keys(), key=lambda x: (x[1],x[0])): c4 = f"3月达标={g3['有达标']}, 无结转={carry==0} → {'是' if bonus3>0 else '否'}" c5 = f"3月未达标={not g3['有达标']}, 无结转={carry==0}, 累计达标={cq} → {'是' if cbp3>0 else '否'}" - parts = [] - total = 0 - if carry>0: parts.append('结转'); total+=carry - if bj>0: parts.append('补发1月'); total+=bj - if bf2>0: parts.append('补发2月'); total+=bf2 - if bonus3>0: parts.append('当月'); total+=bonus3 - if cbp3>0: parts.append('累计补发3月'); total+=cbp3 + total_mar = carry + bj + bf2 + bonus3 + cbp3 WR(ws_p3, rn, [ k[0], k[1], g3['部门'], @@ -605,12 +595,12 @@ for k in sorted(G[3].keys(), key=lambda x: (x[1],x[0])): len(g3['recs']), g3['天数'], R(g3['应考核']), R(g3['实际']), '是' if g3['有达标'] else '否', R(g3['奖金']), R(ct), R(ca), '达标' if cq else '未达标', - c1, R(carry) if carry>0 else '', - c2, R(bj) if bj>0 else '', - c3, R(bf2) if bf2>0 else '', - c4, R(bonus3) if bonus3>0 else '', - c5, R(cbp3) if cbp3>0 else '', - '+'.join(parts) if parts else '无', R(total) if total>0 else '' + c1, R(carry) if carry>0 else 0, + c2, R(bj) if bj>0 else 0, + c3, R(bf2) if bf2>0 else 0, + c4, R(bonus3) if bonus3>0 else 0, + c5, R(cbp3) if cbp3>0 else 0, + R(total_mar) if total_mar>0 else 0 ]); rn+=1 AW(ws_p3)