package com.klp.mapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.klp.domain.WmsMaterialCoil; import com.klp.domain.vo.WmsMaterialCoilDeliveryExportVo; import com.klp.domain.vo.WmsMaterialCoilVo; import com.klp.common.core.mapper.BaseMapperPlus; import org.apache.ibatis.annotations.Param; import com.klp.domain.vo.dashboard.CoilTrimRawVo; import com.klp.domain.vo.dashboard.CategoryWidthRawVo; import java.util.List; import java.util.Map; public interface WmsMaterialCoilMapper extends BaseMapperPlus { /** * 查询各个库区中不同类型的钢卷分布情况 * 按库区分组,统计每种物品类型和物品ID的钢卷数量和重量 * * @param itemType 物品类型(可选) * @param itemId 物品ID(可选) * @return 分布情况列表 */ List> getDistributionByWarehouse(@Param("itemType") String itemType, @Param("itemId") Long itemId); /** * 查询不同类型的钢卷在不同库区的分布情况 * 按物品类型和物品ID分组,统计每个库区的钢卷数量和重量 * * @param itemType 物品类型(可选) * @param itemId 物品ID(可选) * @return 分布情况列表 */ List> getDistributionByItemType(@Param("itemType") String itemType, @Param("itemId") Long itemId); Page selectVoPagePlus(Page build,@Param("ew") QueryWrapper lqw); List selectVoListWithDynamicJoin(@Param("ew")QueryWrapper lqw); List> getDistributionByActualWarehouse(@Param("itemType") String itemType, @Param("itemId") Long itemId); List> getDistributionByActualItemType(@Param("itemType")String itemType,@Param("itemId") Long itemId); /** * 查询钢卷导出数据(包含所有关联字段) * * @param lqw 查询条件 * @return 导出数据列表 */ List selectExportList(@Param("ew")QueryWrapper lqw); /** * 查询重复入场卷号的钢卷信息 * * @return 重复入场卷号的钢卷列表 */ List selectDuplicateEnterCoilNoList(); /** * 查询重复当前卷号的钢卷信息 * * @return 重复当前卷号的钢卷列表 */ List selectDuplicateCurrentCoilNoList(); /** * 更新钢卷发货撤回:将发货时间置空,状态改为指定值 * * @param coilId 钢卷ID * @param status 目标状态 * @return 影响行数 */ int updateForWithdrawExport(@Param("coilId") Long coilId, @Param("status") Integer status); /** * 发货报表导出:按钢卷ID列表联查(钢卷 + 发货单明细 + 发货单主表 + 发货计划) * * @param coilIds 钢卷ID集合 * @return 发货报表导出数据 */ List selectDeliveryExportListByCoilIds(@Param("coilIds") java.util.Collection coilIds); List selectCoilTrimStatistics(); List selectCategoryWidthStatistics(); }