diff --git a/backend/src/routes/payroll2.routes.ts b/backend/src/routes/payroll2.routes.ts index b2b9c25..ead5c76 100644 --- a/backend/src/routes/payroll2.routes.ts +++ b/backend/src/routes/payroll2.routes.ts @@ -409,11 +409,11 @@ router.post('/batches', async (req: AuthRequest, res: Response, next: NextFuncti allowance = prevPayslip?.allowance || 0 deduction = prevPayslip?.deduction || 0 } - // blank_employees 和 blank_all: 所有金额默认 0(不自动带出基本工资) + // blank_employees 和 blank_all: 所有金额默认 0(不自动带出基本工资,不取试用期工资) - // 统一试用期判定(所有模式适用,SEVERANCE 除外) - // 试用期且 probationSalary > 0 → 覆盖 baseSalary 为试用期工资 - if (type !== 'SEVERANCE' && type !== 'TERMINATION') { + // 统一试用期判定(仅 copy_last / copy_batch / custom 模式适用,SEVERANCE 除外) + // blank_employees / blank_all 模式下所有金额应为 0,不覆盖试用期工资 + if (type !== 'SEVERANCE' && type !== 'TERMINATION' && mode !== 'blank_employees' && mode !== 'blank_all') { const batchMonthEnd = new Date(`${month}-28T23:59:59`) const latestContract = emp.contracts?.[0] if (isInProbation(latestContract, batchMonthEnd) && latestContract?.probationSalary > 0) {