Files
klp-oa/klp-wms/src/main/java/com/klp/mapper/WmsMaterialCoilMapper.java

109 lines
4.1 KiB
Java
Raw Normal View History

2025-10-28 12:20:20 +08:00
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;
2025-10-28 12:20:20 +08:00
import com.klp.domain.WmsMaterialCoil;
import com.klp.domain.vo.WmsMaterialCoilDeliveryExportVo;
2025-10-28 12:20:20 +08:00
import com.klp.domain.vo.WmsMaterialCoilVo;
import com.klp.common.core.mapper.BaseMapperPlus;
2025-10-29 14:40:09 +08:00
import org.apache.ibatis.annotations.Param;
import com.klp.domain.vo.dashboard.CoilTrimRawVo;
import com.klp.domain.vo.dashboard.CategoryWidthRawVo;
2025-10-29 14:13:06 +08:00
import java.util.List;
import java.util.Map;
2025-10-28 12:20:20 +08:00
public interface WmsMaterialCoilMapper extends BaseMapperPlus<WmsMaterialCoilMapper, WmsMaterialCoil, WmsMaterialCoilVo> {
2025-10-29 14:13:06 +08:00
/**
* 查询各个库区中不同类型的钢卷分布情况
2025-10-29 14:40:09 +08:00
* 按库区分组统计每种物品类型和物品ID的钢卷数量和重量
2025-10-29 14:13:06 +08:00
*
2025-10-29 14:40:09 +08:00
* @param itemType 物品类型可选
* @param itemId 物品ID可选
2025-10-29 14:13:06 +08:00
* @return 分布情况列表
*/
2025-10-29 14:40:09 +08:00
List<Map<String, Object>> getDistributionByWarehouse(@Param("itemType") String itemType, @Param("itemId") Long itemId);
2025-10-29 14:13:06 +08:00
/**
* 查询不同类型的钢卷在不同库区的分布情况
2025-10-29 14:40:09 +08:00
* 按物品类型和物品ID分组统计每个库区的钢卷数量和重量
2025-10-29 14:13:06 +08:00
*
2025-10-29 14:40:09 +08:00
* @param itemType 物品类型可选
* @param itemId 物品ID可选
2025-10-29 14:13:06 +08:00
* @return 分布情况列表
*/
2025-10-29 14:40:09 +08:00
List<Map<String, Object>> getDistributionByItemType(@Param("itemType") String itemType, @Param("itemId") Long itemId);
Page<WmsMaterialCoilVo> selectVoPagePlus(Page<Object> build,@Param("ew") QueryWrapper<WmsMaterialCoil> lqw);
/**
* orderBy=true 时使用包含库位排序辅助字段aw_sort_key/aw_layer_key/aw_id_key以及父库位 join
*/
Page<WmsMaterialCoilVo> selectVoPagePlusOrderBy(Page<Object> build, @Param("ew") QueryWrapper<WmsMaterialCoil> lqw);
List<WmsMaterialCoilVo> selectVoListWithDynamicJoin(@Param("ew")QueryWrapper<WmsMaterialCoil> lqw);
List<Map<String, Object>> getDistributionByActualWarehouse(@Param("itemType") String itemType, @Param("itemId") Long itemId);
List<Map<String, Object>> getDistributionByActualItemType(@Param("itemType")String itemType,@Param("itemId") Long itemId);
/**
* 查询钢卷导出数据包含所有关联字段
*
* @param lqw 查询条件
* @return 导出数据列表
*/
List<com.klp.domain.vo.WmsMaterialCoilExportVo> selectExportList(@Param("ew")QueryWrapper<WmsMaterialCoil> lqw);
/**
* 查询重复入场卷号的钢卷信息
*
* @return 重复入场卷号的钢卷列表
*/
List<WmsMaterialCoilVo> selectDuplicateEnterCoilNoList();
/**
* 查询重复当前卷号的钢卷信息
*
* @return 重复当前卷号的钢卷列表
*/
List<WmsMaterialCoilVo> selectDuplicateCurrentCoilNoList();
/**
* 更新钢卷发货撤回将发货时间置空状态改为指定值
*
* @param coilId 钢卷ID
* @param status 目标状态
* @return 影响行数
*/
int updateForWithdrawExport(@Param("coilId") Long coilId, @Param("status") Integer status);
/**
* 发货报表导出按钢卷ID列表联查钢卷 + 发货单明细 + 发货单主表 + 发货计划
*
* @param coilIds 钢卷ID集合
* @return 发货报表导出数据
*/
List<WmsMaterialCoilDeliveryExportVo> selectDeliveryExportListByCoilIds(@Param("coilIds") java.util.Collection<Long> coilIds);
List<CoilTrimRawVo> selectCoilTrimStatistics();
List<CategoryWidthRawVo> selectCategoryWidthStatistics();
/**
* 查询itemId和itemType不匹配的钢卷
* @return 不匹配的钢卷列表
*/
List<WmsMaterialCoil> selectMismatchedItemCoils();
/**
* 统计筛选条件下的全量汇总数据高性能只查sum/count
* @param qw 查询条件只使用WHERE和JOIN部分
* @return 统计结果Map包含totalGrossWeight, totalNetWeight
*/
Map<String, Object> selectStatistics(@Param("ew") QueryWrapper<WmsMaterialCoil> qw);
2025-10-28 12:20:20 +08:00
}