yubo
2026-04-03 ae60ad1dd19a86dd9723b199111bc3e2fb45f126
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java
@@ -1752,34 +1752,6 @@
        return DateUtil.ageOfNow(date);
    }
    private QueryWrapper<EmpBaseInfo> createInsuranceAlertQueryWrapper(EmpBaseInfo empBaseInfo) {
        String[] alertInsuranceTypes = {"6", "7", "10", "13", "14"};
        QueryWrapper<EmpBaseInfo> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("a.DelFlag", "0");
        queryWrapper.eq("a.empStatus", "0");
        queryWrapper.in("a.insuranceType", (Object[]) alertInsuranceTypes);
        int alertWomanAge = getRedisConfigWithDefault("insurance_alert_woman", 39);
        int alertManAge = getRedisConfigWithDefault("insurance_alert_man", 48);
        queryWrapper.and(wrapper ->
                wrapper.and(inner -> inner.eq("a.sex", "1").ge("a.age", alertManAge))
                        .or(inner -> inner.eq("a.sex", "2").ge("a.age", alertWomanAge))
        );
        return queryWrapper;
    }
    private void buildAgeCondition(QueryWrapper<EmpBaseInfo> wrapper, int manAge, int womanAge) {
        wrapper.nested(inner -> inner
                .gt("a.age", manAge).eq("a.sex", "1")
        ).or().nested(inner -> inner
                .gt("a.age", womanAge).eq("a.sex", "2")
        );
    }
    private int getRedisConfigWithDefault(String key, int defaultValue) {
        try {
            Object value = redisService.get(key);
@@ -1835,13 +1807,6 @@
    }
    /**
     * 统计退休提醒数量(正向计算)
     */
    public Long countRetirementAlert(EmpBaseInfo empBaseInfo) {
        return (long) findRetirementAlertList(empBaseInfo).size();
    }
    /**
     * 计算员工的实际退休时间(正向计算)
     * 方案A:法定退休时间早于2025-01时,按法定年龄退休,不延迟
     */
@@ -1870,7 +1835,7 @@
        // 法定退休时间晚于等于2025-01,计算延迟
        long monthsBetween = ChronoUnit.MONTHS.between(delayStart, legalRetirement);
        long delayMonths = monthsBetween / delayDivisor;
        long delayMonths = (monthsBetween / delayDivisor) + 1;
        return legalRetirement.plusMonths(delayMonths);
    }