commit
Some checks failed
API接口参数变更检测 / api-param-check (push) Has been cancelled

This commit is contained in:
2026-06-05 16:18:40 +08:00
parent 1ca34c6bb2
commit 3cba3bb74e
4393 changed files with 450030 additions and 103 deletions

View File

@@ -0,0 +1,112 @@
package jnpf.attendance.service;
import jnpf.base.service.SuperService;
import jnpf.entity.AttendanceGroup;
import jnpf.entity.attendance.AttendanceShiftSettingEntity;
import jnpf.exception.HandleException;
import jnpf.model.attendance.dto.AttendanceShiftDto;
import jnpf.model.attendance.vo.AttendanceShiftSettingVo;
import jnpf.model.attendance.vo.ShiftPeriodVo;
import java.util.List;
import java.util.Map;
/**
* <p>
* 考勤组配置-考勤配置 服务类
* </p>
*
* @author ahua
* @since 2023-11-22
*/
public interface AttendanceShiftSettingService extends SuperService<AttendanceShiftSettingEntity> {
/**
* 根据考勤组ID和考勤组视图列表获取启用的班次设置信息。
*
* @param groupIds 考勤组ID列表
* @param attendanceGroupVos 考勤组视图对象列表
* @return 启用的班次设置信息映射
*/
Map<String, AttendanceShiftSettingVo> getEnableShiftSetting(List<String> groupIds, List<AttendanceGroup> attendanceGroupVos);
/**
* 初始化班次设置。
*
* @param groupId 考勤组ID
*/
void initShiftSetting(String groupId);
/**
* 根据考勤组ID获取所有班次设置。
*
* @param groupId 考勤组ID
* @return 班次设置视图对象
*/
AttendanceShiftSettingVo findAllByGroupId(String groupId);
/**
* 根据考勤组ID获取单个班次设置。
*
* @param groupId 考勤组ID
* @return 班次设置视图对象
*/
AttendanceShiftSettingVo findByGroupId(String groupId);
/**
* 保存班次设置信息。
*
* @param dto 班次设置数据传输对象
* @throws HandleException 处理异常
*/
void save(AttendanceShiftDto dto) throws HandleException;
/**
* 更改系统类型。
*
* @param groupId 考勤组ID
* @param systemType 系统类型
*/
void changeSystemType(String groupId, Integer systemType);
/**
* 删除指定的班次周期。
*
* @param periodId 班次周期ID
*/
void delPeriod(String periodId);
/**
* 更改班次设置的启用状态。
*
* @param groupId 考勤组ID
* @param enable 启用状态0禁用1启用
* @param byGroupId 班次设置视图对象
*/
void changeStatus(String groupId, Integer enable, AttendanceShiftSettingVo byGroupId);
/**
* 根据考勤组ID获取班次周期列表。
*
* @param groupId 考勤组ID
* @return 班次周期视图对象列表
*/
List<ShiftPeriodVo> periodList(String groupId);
/**
* 智能排班专用:便于区分 §6.1(未取得班次定义)与 §6.2(已取得定义但班次列表为空)。
*
* @return {@code null} — 未取得该考勤组启用班次设置(与「占位空列表」不同);{@link Collections#emptyList()} —
* 已取得设置但未配置班次周期;否则为周期列表。
*/
List<ShiftPeriodVo> periodListForIntelligentSchedule(String groupId);
/**
* 自我排班的班次列表
*
* @return 班次周期视图对象列表
*/
List<ShiftPeriodVo> periodListForSelfScheduling();
void hisShiftSetting(Map<String, String> group2orgMap, Map<String, String> org2GroupMap);
}