成本模块

This commit is contained in:
2025-12-02 17:58:16 +08:00
parent be91905508
commit 4b9cce2777
22 changed files with 4808 additions and 3 deletions

View File

@@ -0,0 +1,150 @@
package com.klp.mapper;
import com.klp.common.core.mapper.BaseMapperPlus;
import com.klp.domain.CostCoilDaily;
import com.klp.domain.vo.CostCoilDailyVo;
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 CostCoilDailyMapper extends BaseMapperPlus<CostCoilDailyMapper, CostCoilDaily, CostCoilDailyVo> {
/**
* 查询成本统计汇总
*
* @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);
}

View File

@@ -0,0 +1,33 @@
package com.klp.mapper;
import com.klp.domain.CostStandardConfig;
import com.klp.domain.vo.CostStandardConfigVo;
import com.klp.common.core.mapper.BaseMapperPlus;
import org.apache.ibatis.annotations.Param;
import java.time.LocalDate;
/**
* 成本标准配置表Mapper接口
*
* @author klp
* @date 2025-11-25
*/
public interface CostStandardConfigMapper extends BaseMapperPlus<CostStandardConfigMapper, CostStandardConfig, CostStandardConfigVo> {
/**
* 查询指定日期的有效成本标准
*
* @param date 日期
* @return 成本标准配置
*/
CostStandardConfigVo selectEffectiveByDate(@Param("date") LocalDate date);
/**
* 查询当前有效的成本标准
*
* @return 成本标准配置
*/
CostStandardConfigVo selectCurrentEffective();
}