Files
klp-oa/klp-wms/src/main/java/com/klp/mapper/WmsCostCoilDailyMapper.java
2025-12-03 10:32:06 +08:00

151 lines
5.6 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.klp.mapper;
import com.klp.common.core.mapper.BaseMapperPlus;
import com.klp.domain.WmsCostCoilDaily;
import com.klp.domain.vo.WmsCostCoilDailyVo;
import org.apache.ibatis.annotations.Param;
import java.time.LocalDate;
import java.util.List;
import java.util.Map;
/**
* 钢卷日成本记录表Mapper接口
*
* @author klp
* @date 2025-11-25
*/
public interface WmsCostCoilDailyMapper extends BaseMapperPlus<WmsCostCoilDailyMapper, WmsCostCoilDaily, WmsCostCoilDailyVo> {
/**
* 查询成本统计汇总
*
* @param startDate 开始日期
* @param endDate 结束日期
* @param warehouseId 库区ID可选
* @param itemType 物品类型(可选)
* @param materialType 材料类型(可选)
* @return 统计结果
*/
Map<String, Object> selectCostSummary(@Param("startDate") LocalDate startDate,
@Param("endDate") LocalDate endDate,
@Param("warehouseId") Long warehouseId,
@Param("itemType") String itemType,
@Param("materialType") String materialType);
/**
* 按库区统计成本
*
* @param startDate 开始日期
* @param endDate 结束日期
* @return 统计结果列表
*/
List<Map<String, Object>> selectCostByWarehouse(@Param("startDate") LocalDate startDate,
@Param("endDate") LocalDate endDate);
/**
* 按物品类型统计成本
*
* @param startDate 开始日期
* @param endDate 结束日期
* @return 统计结果列表
*/
List<Map<String, Object>> selectCostByItemType(@Param("startDate") LocalDate startDate,
@Param("endDate") LocalDate endDate);
/**
* 检查指定日期和钢卷的成本记录是否存在
*
* @param coilId 钢卷ID
* @param calcDate 计算日期
* @return 记录数量
*/
int countByCoilIdAndDate(@Param("coilId") Long coilId, @Param("calcDate") LocalDate calcDate);
/**
* 按入场钢卷号统计成本
*
* @param startDate 开始日期
* @param endDate 结束日期
* @param enterCoilNo 入场钢卷号(可选)
* @return 统计结果列表
*/
List<Map<String, Object>> selectCostByEnterCoilNo(@Param("startDate") LocalDate startDate,
@Param("endDate") LocalDate endDate,
@Param("enterCoilNo") String enterCoilNo);
/**
* 删除指定日期的成本记录
*
* @param calcDate 计算日期
* @return 删除数量
*/
int deleteByCalcDate(@Param("calcDate") LocalDate calcDate);
/**
* 囤积成本(按入场钢卷号聚合)列表查询
*
* @param calcDate 计算日期
* @param enterCoilNo 入场钢卷号(可选,支持精确匹配或前缀匹配,可在 SQL 中自行处理)
* @param offset 分页偏移量
* @param pageSize 分页大小
* @return 聚合后的列表
*/
List<Map<String, Object>> selectStockpileByEnterCoilNo(@Param("calcDate") LocalDate calcDate,
@Param("enterCoilNo") String enterCoilNo,
@Param("offset") int offset,
@Param("pageSize") int pageSize);
/**
* 囤积成本(按入场钢卷号聚合)列表总数
*
* @param calcDate 计算日期
* @param enterCoilNo 入场钢卷号(可选)
* @return 入场钢卷号分组条数
*/
long countStockpileByEnterCoilNo(@Param("calcDate") LocalDate calcDate,
@Param("enterCoilNo") String enterCoilNo);
/**
* 囤积成本(按入场钢卷号聚合)汇总
*
* @param calcDate 计算日期
* @param enterCoilNo 入场钢卷号(可选)
* @return 汇总数据
*/
Map<String, Object> selectStockpileSummaryByEnterCoilNo(@Param("calcDate") LocalDate calcDate,
@Param("enterCoilNo") String enterCoilNo);
/**
* 首页概览:直接基于 wms_material_coil 现算当日成本
*/
Map<String, Object> selectOverviewFromMaterialCoil();
/**
* 成本趋势(按日汇总)
*/
List<Map<String, Object>> selectCostTrend(@Param("startDate") LocalDate startDate,
@Param("endDate") LocalDate endDate);
/**
* 成本检索(基于 wms_material_coil 实时计算)- 列表
*/
List<Map<String, Object>> selectMaterialCostCards(@Param("enterCoilNo") String enterCoilNo,
@Param("calcDate") LocalDate calcDate,
@Param("offset") int offset,
@Param("pageSize") int pageSize);
/**
* 成本检索(基于 wms_material_coil 实时计算)- 总数
*/
long countMaterialCostCards(@Param("enterCoilNo") String enterCoilNo,
@Param("calcDate") LocalDate calcDate);
/**
* 成本检索(基于 wms_material_coil 实时计算)- 汇总
*/
Map<String, Object> selectMaterialCostSummary(@Param("enterCoilNo") String enterCoilNo,
@Param("calcDate") LocalDate calcDate);
}