- 在 IWmsMaterialCoilService 中新增 getStatistics 方法用于汇总统计 - 在 WmsMaterialCoilController 中添加 /statisticsList 接口 - 在 WmsMaterialCoilMapper 中新增 selectStatistics 查询方法 - 在 WmsMaterialCoilMapper.xml 中实现统计 SQL 查询 - 在 WmsMaterialCoilServiceImpl 中实现统计业务逻辑 - 支持按筛选条件统计总毛重、总净重和总数 - 采用高性能查询方式只查询 sum/count 聚合数据 - 独立统计接口不影响原有分页查询功能
109 lines
4.1 KiB
Java
109 lines
4.1 KiB
Java
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<WmsMaterialCoilMapper, WmsMaterialCoil, WmsMaterialCoilVo> {
|
||
|
||
/**
|
||
* 查询各个库区中不同类型的钢卷分布情况
|
||
* 按库区分组,统计每种物品类型和物品ID的钢卷数量和重量
|
||
*
|
||
* @param itemType 物品类型(可选)
|
||
* @param itemId 物品ID(可选)
|
||
* @return 分布情况列表
|
||
*/
|
||
List<Map<String, Object>> getDistributionByWarehouse(@Param("itemType") String itemType, @Param("itemId") Long itemId);
|
||
|
||
/**
|
||
* 查询不同类型的钢卷在不同库区的分布情况
|
||
* 按物品类型和物品ID分组,统计每个库区的钢卷数量和重量
|
||
*
|
||
* @param itemType 物品类型(可选)
|
||
* @param itemId 物品ID(可选)
|
||
* @return 分布情况列表
|
||
*/
|
||
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);
|
||
}
|
||
|