l3能源成本分摊

This commit is contained in:
2025-12-09 16:43:45 +08:00
parent d919c5ce7a
commit a2d0cce233
36 changed files with 3297 additions and 1298 deletions

View File

@@ -0,0 +1,18 @@
package com.klp.ems.domain.bo;
import lombok.Data;
/**
* 入场钢卷总费用查询参数
*/
@Data
public class CoilTotalCostBo {
/** 入场卷号(模糊) */
private String enterCoilNo;
/** 当前卷号(模糊) */
private String currentCoilNo;
/** 最早创建时间过滤(日期) */
private String startDate;
/** 最早创建时间过滤(日期) */
private String endDate;
}

View File

@@ -0,0 +1,22 @@
package com.klp.ems.domain.bo;
import lombok.Data;
import java.io.Serializable;
/**
* 仓库生产统计查询参数
*/
@Data
public class WarehouseProductionBo implements Serializable {
private static final long serialVersionUID = 1L;
/** 逻辑库区ID */
private Long logicWarehouseId;
/** 开始日期yyyy-MM-dd */
private String startDate;
/** 结束日期yyyy-MM-dd */
private String endDate;
}

View File

@@ -0,0 +1,30 @@
package com.klp.ems.domain.vo;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 入场钢卷能源费用明细(按流转记录)
*/
@Data
public class CoilTotalCostDetailVo implements Serializable {
private static final long serialVersionUID = 1L;
private String enterCoilNo;
private Long coilId;
private String currentCoilNo;
/** 逻辑库区名称 */
private String warehouseName;
private Long warehouseId;
private Integer actionStatus;
private Date startTime;
private Date endTime;
/** 生产时长(小时) */
private Double duration;
/** 分摊能耗 */
private Double consumption;
/** 分摊能源成本 */
private Double totalCost;
}

View File

@@ -0,0 +1,34 @@
package com.klp.ems.domain.vo;
import lombok.Data;
import java.io.Serializable;
/**
* 入场钢卷总费用能源分摊部分VO
*/
@Data
public class CoilTotalCostVo implements Serializable {
private static final long serialVersionUID = 1L;
/** 入场卷号 */
private String enterCoilNo;
/** 当前卷号(展示用,取同一入场卷号下任一当前卷号) */
private String currentCoilNo;
/** 关联的钢卷数量 */
private Long coilCount;
/** 总生产时长(小时) */
private Double totalDuration;
/** 总分摊能耗 */
private Double totalConsumption;
/** 总分摊能源成本 */
private Double totalEnergyCost;
/** 囤积成本(当日/按 stock 计算) */
private Double stockCost;
/** 净重 */
private Double totalNetWeight;
/** 毛重 */
private Double totalGrossWeight;
/** 总成本(能源+囤积) */
private Double totalCost;
}

View File

@@ -0,0 +1,28 @@
package com.klp.ems.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@ExcelIgnoreUnannotated
public class CoilTotalMergedExportVo implements Serializable {
private static final long serialVersionUID = 1L;
@ExcelProperty("入场卷号")
private String enterCoilNo;
@ExcelProperty("当前卷号")
private String currentCoilNo;
@ExcelProperty("能源成本")
private Double energyCost;
@ExcelProperty("囤积成本")
private Double stockCost;
@ExcelProperty("总成本")
private Double totalCost;
}

View File

@@ -0,0 +1,18 @@
package com.klp.ems.domain.vo;
import lombok.Data;
import java.io.Serializable;
@Data
public class EnergyBreakdownItemVo implements Serializable {
private static final long serialVersionUID = 1L;
private Long energyTypeId;
private String energyTypeName;
private String consumptionUnit;
private Double consumption;
private Double cost;
private Double percentage;
private Double averageUnitCost;
}

View File

@@ -0,0 +1,27 @@
package com.klp.ems.domain.vo;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
public class WarehouseProductionCoilVo implements Serializable {
private static final long serialVersionUID = 1L;
private Long coilId;
private String coilCode;
private String enterCoilNo;
private String currentCoilNo;
private Long warehouseId;
/** 待操作状态 0待上料 1在产 2完成 */
private Integer actionStatus;
private Date startTime;
private Date endTime;
/** 生产时长(小时) */
private Double duration;
/** 分摊能耗 */
private Double consumption;
/** 分摊成本 */
private Double totalCost;
}

View File

@@ -0,0 +1,24 @@
package com.klp.ems.domain.vo;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class WarehouseProductionStatVo implements Serializable {
private static final long serialVersionUID = 1L;
/** 卷数 */
private Integer coilCount;
/** 总生产时长(小时) */
private Double totalDuration;
/** 总能耗 */
private Double totalConsumption;
/** 总成本 */
private Double totalCost;
/** 单位成本(元/卷) */
private Double unitCost;
/** 能源分解列表 */
private List<EnergyBreakdownItemVo> energyBreakdownList;
}

View File

@@ -4,6 +4,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 钢卷能源成本统计 VO
@@ -13,22 +14,27 @@ import java.math.BigDecimal;
public class WmsEnergyCoilDailyStatisticsVo {
/**
* 钢卷总数
* 生产中总数status=0,1的钢卷
*/
private Long totalCoils;
/**
* 总消耗量
* 操作总数status=0,1,2的钢卷
*/
private BigDecimal totalConsumption;
private Long totalOperationCoils;
/**
* 总成本
* 平均分摊比率0-1之间表示该钢卷占库区总消耗的比例
*/
private BigDecimal avgAllocationFactor;
/**
* 总分摊成本
*/
private BigDecimal totalCost;
/**
* 平均单位成本(¥/小时
* 平均单位成本(¥/单位消耗
*/
private BigDecimal avgUnitCost;
@@ -36,4 +42,14 @@ public class WmsEnergyCoilDailyStatisticsVo {
* 总生产时长(分钟)
*/
private Long totalProductionDuration;
/**
* 最近一次抄表的开始时间(上一次抄表的结束时间)
*/
private LocalDateTime latestMeterReadStartTime;
/**
* 最近一次抄表的结束时间
*/
private LocalDateTime latestMeterReadEndTime;
}

View File

@@ -81,4 +81,14 @@ public class WmsEnergyCoilDailyVo {
@ExcelProperty("能源类型名称")
private String energyTypeName;
/**
* 该库区最近一次抄表的开始时间
*/
private LocalDateTime latestMeterReadStartTime;
/**
* 该库区最近一次抄表的结束时间
*/
private LocalDateTime latestMeterReadEndTime;
}