在IWmsAttendanceScheduleService接口、WmsAttendanceScheduleController控制器和WmsAttendanceScheduleServiceImpl服务实现类中新增batchUpdateShiftByIds方法,支持通过主键ID列表批量更新排班记录的班次。新增BatchUpdateScheduleItemBo业务对象用于接收批量更新项,包含scheduleId和shiftId字段并进行非空校验。Controller层提供/batchUpdateShift端点,使用PUT请求并应用防重复提交和操作日志注解。Service层实现遍历列表并利用MyBatis-Plus的UpdateWrapper进行批量更新,确保事务一致性。
68 lines
1.7 KiB
Java
68 lines
1.7 KiB
Java
package com.klp.service;
|
|
|
|
import com.klp.domain.WmsAttendanceSchedule;
|
|
import com.klp.domain.vo.WmsAttendanceScheduleVo;
|
|
import com.klp.domain.bo.WmsAttendanceScheduleBo;
|
|
import com.klp.domain.bo.GenerateScheduleBo;
|
|
import com.klp.domain.bo.BatchUpdateScheduleBo;
|
|
import com.klp.domain.bo.BatchUpdateScheduleItemBo;
|
|
import com.klp.common.core.page.TableDataInfo;
|
|
import com.klp.common.core.domain.PageQuery;
|
|
|
|
import java.util.Collection;
|
|
import java.util.List;
|
|
|
|
/**
|
|
* 排班(谁在哪天上班)Service接口
|
|
*
|
|
* @author klp
|
|
* @date 2026-05-08
|
|
*/
|
|
public interface IWmsAttendanceScheduleService {
|
|
|
|
/**
|
|
* 查询排班(谁在哪天上班)
|
|
*/
|
|
WmsAttendanceScheduleVo queryById(Long scheduleId);
|
|
|
|
/**
|
|
* 查询排班(谁在哪天上班)列表
|
|
*/
|
|
TableDataInfo<WmsAttendanceScheduleVo> queryPageList(WmsAttendanceScheduleBo bo, PageQuery pageQuery);
|
|
|
|
/**
|
|
* 查询排班(谁在哪天上班)列表
|
|
*/
|
|
List<WmsAttendanceScheduleVo> queryList(WmsAttendanceScheduleBo bo);
|
|
|
|
/**
|
|
* 新增排班(谁在哪天上班)
|
|
*/
|
|
Boolean insertByBo(WmsAttendanceScheduleBo bo);
|
|
|
|
/**
|
|
* 修改排班(谁在哪天上班)
|
|
*/
|
|
Boolean updateByBo(WmsAttendanceScheduleBo bo);
|
|
|
|
/**
|
|
* 校验并批量删除排班(谁在哪天上班)信息
|
|
*/
|
|
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
|
|
|
/**
|
|
* 生成排班
|
|
*/
|
|
void generateSchedule(List<GenerateScheduleBo> boList);
|
|
|
|
/**
|
|
* 批量修改指定日期多个员工的班次
|
|
*/
|
|
void batchUpdateSchedule(BatchUpdateScheduleBo bo);
|
|
|
|
/**
|
|
* 批量修改排班班次(按主键)
|
|
*/
|
|
void batchUpdateShiftByIds(List<BatchUpdateScheduleItemBo> list);
|
|
}
|