feat: 最低工资保护 + 社保/最低工资递延补扣机制
新增功能: 1. SocialYearStandard / SocialInsuranceConfig 增加 minWage 字段 2. BatchEntry 增加递延扣款字段(deferredSocialEmp/HousingEmp/MinWage) 3. calcBatchEntry 增加最低工资保护逻辑: - 实发 < 最低工资时,优先递延社保 → 递延公积金 → 递延最低工资补齐 - 递延金额记录到 BatchEntry,次月创建批次时自动补扣 4. prePayrollCheck 增加最低工资检查(第 11/12 项) 5. 前端社保配置增加最低工资输入框 6. 前端 BatchTab 质量门禁增加最低工资/递延扣款提示 处理场景: - 入职当月工资不足扣社保个人部分 → 递延到次月补扣 - 实发低于最低工资 → 补齐到最低工资,差额递延次月扣 - 次月创建批次时自动读取上月递延金额并补扣 Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
@@ -23,6 +23,7 @@ const socialConfigFields = {
|
||||
medicalBaseMin: z.number().optional(),
|
||||
medicalBaseMax: z.number().optional(),
|
||||
extraInsurances: z.any().optional(),
|
||||
minWage: z.number().min(0).optional(),
|
||||
}
|
||||
|
||||
const housingConfigFields = {
|
||||
@@ -204,6 +205,7 @@ const yearStandardSchema = z.object({
|
||||
extraInsurances: z.any().optional(),
|
||||
housingOrg: z.number().optional(),
|
||||
housingEmp: z.number().optional(),
|
||||
minWage: z.number().min(0).optional(),
|
||||
})
|
||||
|
||||
router.post('/accounts/:accountId/standards', async (req: AuthRequest, res: Response, next: NextFunction) => {
|
||||
|
||||
Reference in New Issue
Block a user