| | |
| | | } |
| | | |
| | | |
| | | |
| | | empBaseInfo.setDelFlag(2); |
| | | // 入职类型 |
| | | dicItem = dicItems.parallelStream().filter(j -> StrUtil.equalsIgnoreCase(j.getDicCode(), "lztype") && StrUtil.equals(j.getDicItemName(), list.get(31).toString())).findFirst().orElse(null); |
| | |
| | | @Override |
| | | public void updateAnnualLeave(String userId) { |
| | | EmpBaseInfo empBaseInfo = this.getById(userId); |
| | | int holiday = calculateHoliday(empBaseInfo.getEntryDate()); |
| | | int holiday = calculateHoliday(empBaseInfo.getEntryDate(), empBaseInfo.getEmpStatus()); |
| | | empBaseInfo.setAnnualLeave(holiday); |
| | | baseMapper.update(null, new LambdaUpdateWrapper<EmpBaseInfo>() |
| | | .set(EmpBaseInfo::getAnnualLeave, holiday) |
| | |
| | | public void updateAnnualLeave() { |
| | | List<EmpBaseInfo> list = this.list(); |
| | | list.parallelStream().forEach(p -> { |
| | | int holiday = calculateHoliday(p.getEntryDate()); |
| | | int holiday = calculateHoliday(p.getEntryDate(), p.getEmpStatus()); |
| | | p.setAnnualLeave(holiday); |
| | | baseMapper.update(null, new LambdaUpdateWrapper<EmpBaseInfo>() |
| | | .set(EmpBaseInfo::getAnnualLeave, holiday) |
| | |
| | | public void updateEmpBaseKeyInfo() { |
| | | List<EmpBaseInfo> list = this.list(); |
| | | list.parallelStream().forEach(p -> { |
| | | int holiday = calculateHoliday(p.getEntryDate()); |
| | | int holiday = calculateHoliday(p.getEntryDate(), p.getEmpStatus()); |
| | | int age = calculateAge(p.getBirthdate()); |
| | | |
| | | baseMapper.update(null, new LambdaUpdateWrapper<EmpBaseInfo>() |
| | |
| | | public Long countInsuranceAlert(EmpBaseInfo empBaseInfo, QueryRequest request) { |
| | | return (long) findInsuranceAlertList(empBaseInfo,request).size(); |
| | | } |
| | | |
| | | /** |
| | | * 查询社保档位提醒员工列表 |
| | | * 保险类型:6-(非深户) 四险二档 7-(非深户) 四险一档 10-外参 13-临时工意外险 14-甲方购买 |
| | |
| | | * 根据设置的参数计算员工的年假 |
| | | * |
| | | * @param date 入职日期 |
| | | * @param empStatus 人员状态(0-正常 1-离职 2-退休)只计算在职的 |
| | | * @return 年假天数 |
| | | */ |
| | | private int calculateHoliday(Date date) { |
| | | private int calculateHoliday(Date date, String empStatus) { |
| | | if (!empStatus.equals("0")) { |
| | | int holiday = 0; |
| | | int joinYear = DateUtil.ageOfNow(date); |
| | | String configValue = redisService.get("annual_leave").toString(); |
| | |
| | | } |
| | | } |
| | | return holiday; |
| | | } else { |
| | | return 0; |
| | | } |
| | | } |
| | | |
| | | private int calculateAge(Date date) { |
| | |
| | | |
| | | /** |
| | | * 根据时间范围类型计算开始和结束日期 |
| | | * |
| | | * @param timeRange 0-当天 1-本周 2-本月 3-今年 |
| | | * @return 包含开始日期和结束日期的数组 [startDate, endDate) |
| | | */ |