-- ============================================================
|
-- 薪酬核算:actual_days(实出天数)允许为空
|
--
|
-- 背景:
|
-- 原字段是 INT NOT NULL DEFAULT 0,导致「该月还没有考勤汇总」和
|
-- 「实出 0 天」在数据库里都存成 0,无法区分。
|
-- 缺勤扣款逻辑于是把「未录考勤」当成「实出 0 天」,把整月工资扣光。
|
--
|
-- 语义约定(与 HrmSalaryCalculationServiceImpl#calculateAttendanceDeduction 对应):
|
-- actual_days IS NULL → 该月未生成考勤汇总,视为满勤,不做旷工扣款
|
-- actual_days = 0 → 实出 0 天(人工填写),按 100% 扣旷工
|
-- actual_days = N → 按 应出 - N 计算旷工天数(超出请假单覆盖的部分)
|
-- ============================================================
|
|
ALTER TABLE hrm_salary_calculation
|
MODIFY COLUMN actual_days INT NULL DEFAULT NULL
|
COMMENT '实出天数(null=该月未生成考勤汇总,不扣旷工)';
|