Files
AI-Check-Test/jnpf-ftb/jnpf-ftb-biz/src/main/java/jnpf/attendance/service/AttendanceShiftSettingService.java
dongzi 3cba3bb74e
Some checks failed
API接口参数变更检测 / api-param-check (push) Has been cancelled
commit
2026-06-05 16:18:40 +08:00

113 lines
3.3 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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);
}