This commit is contained in:
@@ -0,0 +1,149 @@
|
||||
package jnpf.attendance.service;
|
||||
|
||||
import jnpf.model.attendance.model.*;
|
||||
import jnpf.model.attendance.vo.attendance.DayStatisticsQueryVo;
|
||||
import jnpf.model.common.DateRangeDto;
|
||||
import jnpf.permission.vo.v2.user.UserBoundVO;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 统计公共方法服务
|
||||
*
|
||||
* @author shitou
|
||||
* @date 2023/11/22
|
||||
*/
|
||||
public interface StatisticsUtilService {
|
||||
/**
|
||||
* 获取用户考勤情况
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @param selectDateRangeDto 日期范围
|
||||
* @param dateArrayList 月日期集合
|
||||
* @param dayStatisticsQueryVoList 用户日统计数据
|
||||
* @return List<ClockInfo>
|
||||
*/
|
||||
List<ClockInfo> getUserClockDateArrayList(String userId, DateRangeDto selectDateRangeDto,
|
||||
List<Date> dateArrayList, List<DayStatisticsQueryVo> dayStatisticsQueryVoList);
|
||||
|
||||
/**
|
||||
* 获取请假记录
|
||||
*
|
||||
* @param userMap 用户信息
|
||||
* @param ratioMap 出勤换算比
|
||||
* @param userIds 用户集合
|
||||
* @param dateRangeDto 日期范围
|
||||
* @return 请假记录 Key是用户ID+考勤组ID
|
||||
*/
|
||||
Map<String, List<LeaveRecord>> getLeaveMap(Map<String, UserBoundVO> userMap, Map<String, BigDecimal> ratioMap, List<String> userIds, DateRangeDto dateRangeDto);
|
||||
|
||||
/**
|
||||
* 获取迟到记录集合
|
||||
*
|
||||
* @param userMap 用户信息
|
||||
* @param sealMap 用户是否封账
|
||||
* @param groupIds 考勤组集合
|
||||
* @param userIds 用户集合
|
||||
* @param dateRangeDto 筛选时间范围
|
||||
* @return 迟到记录 Key是用户ID+考勤组ID
|
||||
*/
|
||||
Map<String, List<LateRecord>> getLateMap(Map<String, UserBoundVO> userMap, Map<String, Boolean> sealMap, List<String> groupIds, List<String> userIds, DateRangeDto dateRangeDto);
|
||||
|
||||
/**
|
||||
* 获取早退记录集合
|
||||
*
|
||||
* @param userMap 用户信息
|
||||
* @param sealMap 用户是否封账
|
||||
* @param groupIds 考勤组集合
|
||||
* @param userIds 用户集合
|
||||
* @param dateRangeDto 筛选时间范围
|
||||
* @return 早退记录 Key是用户ID+考勤组ID
|
||||
*/
|
||||
Map<String, List<EarlyLeaveRecord>> getEarlyMap(Map<String, UserBoundVO> userMap, Map<String, Boolean> sealMap, List<String> groupIds, List<String> userIds, DateRangeDto dateRangeDto);
|
||||
|
||||
/**
|
||||
* 获取缺卡记录集合
|
||||
*
|
||||
* @param userMap 用户信息
|
||||
* @param sealMap 用户是否封账
|
||||
* @param groupIds 考勤组集合
|
||||
* @param userIds 用户集合
|
||||
* @param dateRangeDto 筛选时间范围
|
||||
* @return 缺卡记录 Key是用户ID+考勤组ID
|
||||
*/
|
||||
Map<String, List<AbsenceCardRecord>> getAbsenceCardMap(Map<String, UserBoundVO> userMap, Map<String, Boolean> sealMap, List<String> groupIds, List<String> userIds, DateRangeDto dateRangeDto);
|
||||
|
||||
/**
|
||||
* 获取缺勤记录集合
|
||||
*
|
||||
* @param groupIds 考勤组集合
|
||||
* @param sealMap 用户是否封账
|
||||
* @param userIds 用户集合
|
||||
* @param dateRangeDto 筛选时间范围
|
||||
* @return 缺勤记录 Key是用户ID+考勤组ID
|
||||
*/
|
||||
Map<String, List<AbsenceRecord>> getAbsenceMap(List<String> groupIds, Map<String, Boolean> sealMap, List<String> userIds, DateRangeDto dateRangeDto);
|
||||
|
||||
/**
|
||||
* 获取补卡记录集合
|
||||
*
|
||||
* @param groupIds 考勤组集合
|
||||
* @param userIds 用户集合
|
||||
* @param dateRangeDto 筛选时间范围
|
||||
* @return 补卡记录 Key是用户ID+考勤组ID
|
||||
*/
|
||||
Map<String, List<MakeUpCardRecord>> getMakeUpCardMap(List<String> groupIds, List<String> userIds, DateRangeDto dateRangeDto);
|
||||
|
||||
/**
|
||||
* 获取外勤记录集合
|
||||
*
|
||||
* @param groupIds 考勤组集合
|
||||
* @param userIds 用户集合
|
||||
* @param dateRangeDto 筛选时间范围
|
||||
* @return 外勤记录 Key是用户ID+考勤组ID
|
||||
*/
|
||||
Map<String, List<OutworkRecord>> getOutworkRecordList(List<String> groupIds, List<String> userIds, DateRangeDto dateRangeDto);
|
||||
|
||||
/**
|
||||
* 获取加班记录集合
|
||||
*
|
||||
* @param groupIds 考勤组集合
|
||||
* @param userIds 用户集合
|
||||
* @param dateRangeDto 筛选时间范围
|
||||
* @return 加班记录 Key是用户ID+考勤组ID
|
||||
*/
|
||||
Map<String, List<OvertimeRecord>> getOvertimeRecordList(List<String> groupIds, List<String> userIds, DateRangeDto dateRangeDto);
|
||||
|
||||
/**
|
||||
* 获取借调记录集合
|
||||
*
|
||||
* @param groupIds 考勤组集合
|
||||
* @param userIds 用户集合
|
||||
* @param dateRangeDto 筛选时间范围
|
||||
* @return 借调记录 Key是用户ID+考勤组ID
|
||||
*/
|
||||
Map<String, List<SecondRecord>> getSecondRecordList(List<String> groupIds, List<String> userIds, DateRangeDto dateRangeDto);
|
||||
|
||||
/**
|
||||
* 获取出差记录集合
|
||||
*
|
||||
* @param groupIds 考勤组集合
|
||||
* @param userIds 用户集合
|
||||
* @param dateRangeDto 筛选时间范围
|
||||
* @return 出差记录 Key是用户ID+考勤组ID
|
||||
*/
|
||||
Map<String, List<BusOrOutRecord>> getBusRecordList(List<String> groupIds, List<String> userIds, DateRangeDto dateRangeDto);
|
||||
|
||||
/**
|
||||
* 获取外出记录集合
|
||||
*
|
||||
* @param ratioMap 考勤组集合
|
||||
* @param userIds 用户集合
|
||||
* @param dateRangeDto 筛选时间范围
|
||||
* @return 外出记录 Key是用户ID+考勤组ID
|
||||
*/
|
||||
Map<String, List<BusOrOutRecord>> getOutRecordList(Map<String, BigDecimal> ratioMap, List<String> userIds, DateRangeDto dateRangeDto);
|
||||
}
|
||||
Reference in New Issue
Block a user