feat(wms): 添加考勤排班、班次及倒班规则功能模块

- 新增 IWmsAttendanceScheduleService 接口及其实现类
- 新增 IWmsAttendanceShiftService 接口及其实现类
- 新增 IWmsAttendanceShiftRuleService 接口及其实现类
- 添加 WmsAttendanceSchedule、WmsAttendanceShift、WmsAttendanceShiftRule 实体类
- 创建对应的 BO 和 VO 类用于数据传输
- 添加 WmsAttendanceScheduleController、WmsAttendanceShiftController、WmsAttendanceShiftRuleController 控制器
- 新增相应的 Mapper 接口和 XML 映射文件
- 实现分页查询、新增、修改、删除等基础功能
- 集成 Excel 导出功能和数据校验机制
This commit is contained in:
2026-05-08 15:40:39 +08:00
parent a54ca9ef95
commit e11a125d0d
24 changed files with 1524 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
package com.klp.domain.bo;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 排班(谁在哪天上班)业务对象 wms_attendance_schedule
*
* @author klp
* @date 2026-05-08
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class WmsAttendanceScheduleBo extends BaseEntity {
/**
* 主键ID
*/
private Long scheduleId;
/**
* 员工ID
*/
private Long userId;
/**
* 日期
*/
private Date workDate;
/**
* 班次ID
*/
private Long shiftId;
/**
* 班次名称
*/
private String shiftName;
/**
* 班组(倒班用)
*/
private String shiftGroup;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,79 @@
package com.klp.domain.bo;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 班次业务对象 wms_attendance_shift
*
* @author klp
* @date 2026-05-08
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class WmsAttendanceShiftBo extends BaseEntity {
/**
* 主键ID
*/
private Long shiftId;
/**
* 班次名称(长白/夜班/办公)
*/
private String shiftName;
/**
* 班次类型(白班/夜班)
*/
private String shiftType;
/**
* 季节(夏季/冬季)
*/
private String season;
/**
* 上班1
*/
private Date startTime;
/**
* 下班1
*/
private Date endTime;
/**
* 上班2
*/
private Date startTime2;
/**
* 下班2
*/
private Date endTime2;
/**
* 是否跨天
*/
private Long isCrossDay;
/**
* 工时如18小时
*/
private BigDecimal workHours;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,56 @@
package com.klp.domain.bo;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
/**
* 倒班规则(支持按日期或按周期自动切换班次)业务对象 wms_attendance_shift_rule
*
* @author klp
* @date 2026-05-08
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class WmsAttendanceShiftRuleBo extends BaseEntity {
/**
* 主键ID
*/
private Long ruleId;
/**
* 规则类型date=按日期倒班 / cycle=按周期倒班)
*/
private String ruleType;
/**
* 倒班日期1,11,21,31
*/
private String changeDays;
/**
* 周期天数如每10天倒班
*/
private Long cycleDays;
/**
* 班次A通常白班ID
*/
private Long shiftA;
/**
* 班次B通常夜班ID
*/
private Long shiftB;
/**
* 备注
*/
private String remark;
}