成本模块
This commit is contained in:
156
klp-wms/src/main/java/com/klp/service/ICostCoilDailyService.java
Normal file
156
klp-wms/src/main/java/com/klp/service/ICostCoilDailyService.java
Normal file
@@ -0,0 +1,156 @@
|
||||
package com.klp.service;
|
||||
|
||||
import com.klp.domain.vo.CostCoilDailyVo;
|
||||
import com.klp.domain.bo.CostCoilDailyBo;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 钢卷日成本记录表Service接口
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-11-25
|
||||
*/
|
||||
public interface ICostCoilDailyService {
|
||||
|
||||
/**
|
||||
* 查询钢卷日成本记录表
|
||||
*/
|
||||
CostCoilDailyVo queryById(Long costId);
|
||||
|
||||
/**
|
||||
* 查询钢卷日成本记录表列表
|
||||
*/
|
||||
TableDataInfo<CostCoilDailyVo> queryPageList(CostCoilDailyBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询钢卷日成本记录表列表
|
||||
*/
|
||||
List<CostCoilDailyVo> queryList(CostCoilDailyBo bo);
|
||||
|
||||
/**
|
||||
* 新增钢卷日成本记录表
|
||||
*/
|
||||
Boolean insertByBo(CostCoilDailyBo bo);
|
||||
|
||||
/**
|
||||
* 修改钢卷日成本记录表
|
||||
*/
|
||||
Boolean updateByBo(CostCoilDailyBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除钢卷日成本记录表信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
/**
|
||||
* 实时计算指定钢卷的成本
|
||||
*
|
||||
* @param coilId 钢卷ID(可选,不传则计算所有现存钢卷)
|
||||
* @param calcTime 计算时间点(可选,默认当前时间)
|
||||
* @return 成本计算结果
|
||||
*/
|
||||
Map<String, Object> calculateCost(Long coilId, java.time.LocalDateTime calcTime);
|
||||
|
||||
/**
|
||||
* 批量计算多个钢卷的成本
|
||||
*
|
||||
* @param coilIds 钢卷ID列表
|
||||
* @param calcTime 计算时间点(可选,默认当前时间)
|
||||
* @return 成本计算结果列表,每个元素包含一个钢卷的成本信息
|
||||
*/
|
||||
List<Map<String, Object>> batchCalculateCost(List<Long> coilIds, java.time.LocalDateTime calcTime);
|
||||
|
||||
/**
|
||||
* 批量计算钢卷成本(定时任务使用)
|
||||
*
|
||||
* @param calcDate 计算日期(前一日)
|
||||
* @return 计算成功的数量
|
||||
*/
|
||||
int calculateDailyCost(LocalDate calcDate);
|
||||
|
||||
/**
|
||||
* 查询成本统计报表
|
||||
*
|
||||
* @param startDate 开始日期
|
||||
* @param endDate 结束日期
|
||||
* @param groupBy 分组维度(warehouse/itemType/materialType)
|
||||
* @param warehouseId 库区ID(可选)
|
||||
* @return 统计结果
|
||||
*/
|
||||
Map<String, Object> queryCostSummary(LocalDate startDate, LocalDate endDate, String groupBy, Long warehouseId);
|
||||
|
||||
/**
|
||||
* 查询成本趋势分析
|
||||
*
|
||||
* @param startDate 开始日期
|
||||
* @param endDate 结束日期
|
||||
* @return 趋势数据
|
||||
*/
|
||||
List<Map<String, Object>> queryCostTrend(LocalDate startDate, LocalDate endDate);
|
||||
|
||||
/**
|
||||
* 按入场钢卷号维度计算成本
|
||||
* 同一个入场钢卷号可能被分卷成多个钢卷,需要汇总计算
|
||||
* 未发货的:计算到当日;已发货的:计算到发货前一天
|
||||
*
|
||||
* @param enterCoilNo 入场钢卷号
|
||||
* @param calcDate 计算日期(可选,默认当前日期)
|
||||
* @return 成本计算结果(包含各子卷明细和汇总)
|
||||
*/
|
||||
Map<String, Object> calculateCostByEnterCoilNo(String enterCoilNo, LocalDate calcDate);
|
||||
|
||||
/**
|
||||
* 批量按入场钢卷号维度计算成本(定时任务使用)
|
||||
* 按入场钢卷号分组,计算每个入场钢卷号的总成本
|
||||
*
|
||||
* @param calcDate 计算日期(可选,默认前一日)
|
||||
* @return 计算成功的入场钢卷号数量
|
||||
*/
|
||||
int calculateDailyCostByEnterCoilNo(LocalDate calcDate);
|
||||
|
||||
/**
|
||||
* 现算成本检索(基于 wms_material_coil)
|
||||
*
|
||||
* @param enterCoilNo 入场钢卷号(支持前缀匹配)
|
||||
* @param calcDate 计算日期(可选,默认当前日期)
|
||||
* @param pageNum 页码
|
||||
* @param pageSize 每页条数
|
||||
* @return 汇总与分页明细
|
||||
*/
|
||||
Map<String, Object> searchMaterialCost(String enterCoilNo, LocalDate calcDate, int pageNum, int pageSize);
|
||||
|
||||
/**
|
||||
* 查询按入场钢卷号统计的成本报表
|
||||
*
|
||||
* @param startDate 开始日期
|
||||
* @param endDate 结束日期
|
||||
* @param enterCoilNo 入场钢卷号(可选,用于精确查询)
|
||||
* @return 统计结果列表
|
||||
*/
|
||||
List<Map<String, Object>> queryCostByEnterCoilNo(LocalDate startDate, LocalDate endDate, String enterCoilNo);
|
||||
|
||||
/**
|
||||
* 成本模块首页概览数据
|
||||
* 统计当前「现存且未发货」钢卷的总成本、总净重、总毛重以及平均在库天数
|
||||
*
|
||||
* @return 概览数据:totalCost、totalNetWeight、totalGrossWeight、avgStorageDays、totalCoils
|
||||
*/
|
||||
Map<String, Object> queryOverview();
|
||||
|
||||
/**
|
||||
* 囤积成本页数据(后台统一计算)
|
||||
*
|
||||
* @param enterCoilNo 入场钢卷号(可选)
|
||||
* @param currentCoilNo 当前钢卷号(可选)
|
||||
* @param pageQuery 分页参数
|
||||
* @return rows+total+summary 结果
|
||||
*/
|
||||
Map<String, Object> queryStockpileCostList(String enterCoilNo, String currentCoilNo, PageQuery pageQuery);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user