package com.klp.service; import com.klp.domain.WmsCoilWarehouseOperationLog; import com.klp.domain.vo.WmsCoilWarehouseOperationLogVo; import com.klp.domain.bo.WmsCoilWarehouseOperationLogBo; import com.klp.common.core.page.TableDataInfo; import com.klp.common.core.domain.PageQuery; import javax.validation.constraints.NotNull; import java.util.Collection; import java.util.Date; import java.util.List; /** * 钢卷库区操作记录Service接口 * * @author klp * @date 2026-03-05 */ public interface IWmsCoilWarehouseOperationLogService { /** * 查询钢卷库区操作记录 */ WmsCoilWarehouseOperationLogVo queryById(Long logId); /** * 查询钢卷库区操作记录列表 */ TableDataInfo queryPageList(WmsCoilWarehouseOperationLogBo bo, PageQuery pageQuery); /** * 查询钢卷库区操作记录列表 */ List queryList(WmsCoilWarehouseOperationLogBo bo); /** * 新增钢卷库区操作记录 */ Boolean insertByBo(WmsCoilWarehouseOperationLogBo bo); /** * 修改钢卷库区操作记录 */ Boolean updateByBo(WmsCoilWarehouseOperationLogBo bo); /** * 校验并批量删除钢卷库区操作记录信息 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); boolean deleteByCoilIdAndTypes(@NotNull(message = "钢卷 ID 不能为空") Long coilId, @NotNull(message = "操作类型不能为空") String operationType, @NotNull(message = "出入库类型不能为空") String inOutType); /** * 根据二级库区ID和时间范围查询操作记录及钢卷信息 * * @param secondWarehouseId 二级库区ID * @param startTime 开始时间 * @param endTime 结束时间 * @return 操作记录列表(含钢卷信息和库区信息) */ List queryBySecondWarehouseIdAndTimeRange(Long secondWarehouseId, Integer operationType, Integer inOutType, Date startTime, Date endTime); }