l3能源成本分摊(部分完成留存)
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
package com.klp.ems.domain;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* 成本日表仅更新能源成本字段所需的参数。
|
||||
*/
|
||||
@Data
|
||||
public class CostCoilDailyEnergy {
|
||||
|
||||
private Long coilId;
|
||||
|
||||
private LocalDate calcDate;
|
||||
|
||||
private BigDecimal energyCostAmount;
|
||||
|
||||
/** JSON 字符串(数组) */
|
||||
private String energyCostBreakdown;
|
||||
}
|
||||
@@ -47,11 +47,23 @@ public class EmsEnergyRate extends BaseEntity {
|
||||
* 失效日期,NULL表示长期有效
|
||||
*/
|
||||
private Date expiryDate;
|
||||
|
||||
/**
|
||||
* 是否使用峰谷时段:0=否,1=是
|
||||
*/
|
||||
private Integer usePeakValley;
|
||||
|
||||
/**
|
||||
* 是否使用梯度收费:0=否,1=是
|
||||
*/
|
||||
private Integer useTieredPricing;
|
||||
|
||||
/**
|
||||
* 删除标志(0=存在 2=删除)
|
||||
*/
|
||||
@TableLogic
|
||||
private String delFlag;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
|
||||
65
klp-ems/src/main/java/com/klp/ems/domain/EmsRateTier.java
Normal file
65
klp-ems/src/main/java/com/klp/ems/domain/EmsRateTier.java
Normal file
@@ -0,0 +1,65 @@
|
||||
package com.klp.ems.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 梯度费率对象 ems_rate_tier
|
||||
* 用于支持用量梯度收费,如:0-100度1元/度,100-200度1.5元/度
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-12-05
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("ems_rate_tier")
|
||||
public class EmsRateTier extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 梯度费率ID
|
||||
*/
|
||||
@TableId(value = "tier_id")
|
||||
private Long tierId;
|
||||
|
||||
/**
|
||||
* 关联费率ID
|
||||
*/
|
||||
private Long energyRateId;
|
||||
|
||||
/**
|
||||
* 梯度等级(1、2、3...)
|
||||
*/
|
||||
private Integer tierLevel;
|
||||
|
||||
/**
|
||||
* 最小用量(包含)
|
||||
*/
|
||||
private BigDecimal minUsage;
|
||||
|
||||
/**
|
||||
* 最大用量(不包含),NULL表示无上限
|
||||
*/
|
||||
private BigDecimal maxUsage;
|
||||
|
||||
/**
|
||||
* 该梯度的费率
|
||||
*/
|
||||
private BigDecimal rate;
|
||||
|
||||
/**
|
||||
* 删除标志(0=存在 2=删除)
|
||||
*/
|
||||
@TableLogic
|
||||
private String delFlag;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package com.klp.ems.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 梯度与时段关联对象 ems_tier_period_link
|
||||
* 用于支持梯度+峰谷组合计费,如:
|
||||
* 第1梯度(0-100度) 的峰时段 1.5元/度
|
||||
* 第1梯度(0-100度) 的谷时段 0.5元/度
|
||||
* 第2梯度(100-200度) 的峰时段 1.8元/度
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-12-05
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("ems_tier_period_link")
|
||||
public class EmsRateTierPeriodLink extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 关联ID
|
||||
*/
|
||||
@TableId(value = "link_id")
|
||||
private Long linkId;
|
||||
|
||||
/**
|
||||
* 梯度ID
|
||||
*/
|
||||
private Long tierId;
|
||||
|
||||
/**
|
||||
* 时间段ID
|
||||
*/
|
||||
private Long periodId;
|
||||
|
||||
/**
|
||||
* 该梯度+时段的费率
|
||||
*/
|
||||
private BigDecimal rate;
|
||||
|
||||
/**
|
||||
* 删除标志(0=存在 2=删除)
|
||||
*/
|
||||
@TableLogic
|
||||
private String delFlag;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
package com.klp.ems.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 费率与时间段关联对象 ems_rate_time_period_link
|
||||
* 用于支持峰谷时段的不同费率,如:峰时段费率1.5元/度,谷时段费率0.8元/度
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-12-05
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("ems_rate_time_period_link")
|
||||
public class EmsRateTimePeriodLink extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 关联ID
|
||||
*/
|
||||
@TableId(value = "link_id")
|
||||
private Long linkId;
|
||||
|
||||
/**
|
||||
* 费率ID
|
||||
*/
|
||||
private Long energyRateId;
|
||||
|
||||
/**
|
||||
* 时间段ID
|
||||
*/
|
||||
private Long periodId;
|
||||
|
||||
/**
|
||||
* 该时间段的费率
|
||||
*/
|
||||
private BigDecimal rate;
|
||||
|
||||
/**
|
||||
* 删除标志(0=存在 2=删除)
|
||||
*/
|
||||
@TableLogic
|
||||
private String delFlag;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
}
|
||||
62
klp-ems/src/main/java/com/klp/ems/domain/EmsTimePeriod.java
Normal file
62
klp-ems/src/main/java/com/klp/ems/domain/EmsTimePeriod.java
Normal file
@@ -0,0 +1,62 @@
|
||||
package com.klp.ems.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 时间段(峰谷平)对象 ems_time_period
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-12-05
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("ems_time_period")
|
||||
public class EmsTimePeriod extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 时间段ID
|
||||
*/
|
||||
@TableId(value = "period_id")
|
||||
private Long periodId;
|
||||
|
||||
/**
|
||||
* 时间段名称(峰、谷、平)
|
||||
*/
|
||||
private String periodName;
|
||||
|
||||
/**
|
||||
* 时间段类型:0=峰,1=谷,2=平
|
||||
*/
|
||||
private Integer periodType;
|
||||
|
||||
/**
|
||||
* 开始时间(HH:mm格式)
|
||||
*/
|
||||
private String startTime;
|
||||
|
||||
/**
|
||||
* 结束时间(HH:mm格式)
|
||||
*/
|
||||
private String endTime;
|
||||
|
||||
/**
|
||||
* 是否跨天:0=否,1=是
|
||||
*/
|
||||
private Integer crossDay;
|
||||
|
||||
/**
|
||||
* 删除标志(0=存在 2=删除)
|
||||
*/
|
||||
@TableLogic
|
||||
private String delFlag;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package com.klp.ems.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* 钢卷日能源成本分摊结果
|
||||
*/
|
||||
@Data
|
||||
@TableName("wms_energy_coil_daily")
|
||||
public class WmsEnergyCoilDaily {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "energy_cost_id")
|
||||
private Long energyCostId;
|
||||
|
||||
private Long taskId;
|
||||
|
||||
private LocalDate calcDate;
|
||||
|
||||
private Long coilId;
|
||||
|
||||
private String enterCoilNo;
|
||||
|
||||
private String currentCoilNo;
|
||||
|
||||
private Long warehouseId;
|
||||
|
||||
private Long actualWarehouseId;
|
||||
|
||||
private Long energyTypeId;
|
||||
|
||||
private Long meterId;
|
||||
|
||||
private BigDecimal consumptionQty;
|
||||
|
||||
private BigDecimal costAmount;
|
||||
|
||||
private BigDecimal allocationBasisWeight;
|
||||
|
||||
private BigDecimal allocationBasisDays;
|
||||
|
||||
private BigDecimal allocationFactor;
|
||||
|
||||
private String remark;
|
||||
}
|
||||
@@ -30,6 +30,11 @@ public class EmsEnergyConsumptionBo extends BaseEntity {
|
||||
*/
|
||||
private Long meterId;
|
||||
|
||||
/**
|
||||
* 能源类型ID(用于查询统计)
|
||||
*/
|
||||
private Long energyTypeId;
|
||||
|
||||
/**
|
||||
* 起始读数
|
||||
*/
|
||||
|
||||
@@ -50,6 +50,16 @@ public class EmsEnergyRateBo extends BaseEntity {
|
||||
*/
|
||||
private Date expiryDate;
|
||||
|
||||
/**
|
||||
* 是否使用峰谷时段:0=否,1=是
|
||||
*/
|
||||
private Integer usePeakValley;
|
||||
|
||||
/**
|
||||
* 是否使用梯度收费:0=否,1=是
|
||||
*/
|
||||
private Integer useTieredPricing;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
package com.klp.ems.domain.bo;
|
||||
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 梯度费率业务对象 ems_rate_tier
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-12-05
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class EmsRateTierBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 梯度费率ID
|
||||
*/
|
||||
private Long tierId;
|
||||
|
||||
/**
|
||||
* 关联费率ID
|
||||
*/
|
||||
private Long energyRateId;
|
||||
|
||||
/**
|
||||
* 梯度等级(1、2、3...)
|
||||
*/
|
||||
private Integer tierLevel;
|
||||
|
||||
/**
|
||||
* 最小用量(包含)
|
||||
*/
|
||||
private BigDecimal minUsage;
|
||||
|
||||
/**
|
||||
* 最大用量(不包含),NULL表示无上限
|
||||
*/
|
||||
private BigDecimal maxUsage;
|
||||
|
||||
/**
|
||||
* 该梯度的费率
|
||||
*/
|
||||
private BigDecimal rate;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.klp.ems.domain.bo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 梯度与时段关联业务对象
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-12-05
|
||||
*/
|
||||
@Data
|
||||
public class EmsRateTierPeriodLinkBo {
|
||||
|
||||
/**
|
||||
* 关联ID
|
||||
*/
|
||||
private Long linkId;
|
||||
|
||||
/**
|
||||
* 梯度ID
|
||||
*/
|
||||
private Long tierId;
|
||||
|
||||
/**
|
||||
* 时间段ID
|
||||
*/
|
||||
private Long periodId;
|
||||
|
||||
/**
|
||||
* 该梯度+时段的费率
|
||||
*/
|
||||
private BigDecimal rate;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
package com.klp.ems.domain.bo;
|
||||
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 费率与时间段关联业务对象 ems_rate_time_period_link
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-12-05
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class EmsRateTimePeriodLinkBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 关联ID
|
||||
*/
|
||||
private Long linkId;
|
||||
|
||||
/**
|
||||
* 费率ID
|
||||
*/
|
||||
private Long energyRateId;
|
||||
|
||||
/**
|
||||
* 时间段ID
|
||||
*/
|
||||
private Long periodId;
|
||||
|
||||
/**
|
||||
* 时间段类型:0=峰,1=谷,2=平
|
||||
*/
|
||||
private Integer periodType;
|
||||
|
||||
/**
|
||||
* 时间段名称(峰、谷、平)
|
||||
*/
|
||||
private String periodName;
|
||||
|
||||
/**
|
||||
* 开始时间(HH:mm格式)
|
||||
*/
|
||||
private String startTime;
|
||||
|
||||
/**
|
||||
* 结束时间(HH:mm格式)
|
||||
*/
|
||||
private String endTime;
|
||||
|
||||
/**
|
||||
* 是否跨天:0=否,1=是
|
||||
*/
|
||||
private Integer crossDay;
|
||||
|
||||
/**
|
||||
* 该时间段的费率
|
||||
*/
|
||||
private BigDecimal rate;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package com.klp.ems.domain.bo;
|
||||
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 时间段业务对象 ems_time_period
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-12-05
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class EmsTimePeriodBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 时间段ID
|
||||
*/
|
||||
private Long periodId;
|
||||
|
||||
/**
|
||||
* 时间段名称(峰、谷、平)
|
||||
*/
|
||||
private String periodName;
|
||||
|
||||
/**
|
||||
* 时间段类型:0=峰,1=谷,2=平
|
||||
*/
|
||||
private Integer periodType;
|
||||
|
||||
/**
|
||||
* 开始时间(HH:mm格式)
|
||||
*/
|
||||
private String startTime;
|
||||
|
||||
/**
|
||||
* 结束时间(HH:mm格式)
|
||||
*/
|
||||
private String endTime;
|
||||
|
||||
/**
|
||||
* 是否跨天:0=否,1=是
|
||||
*/
|
||||
private Integer crossDay;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
package com.klp.ems.domain.bo;
|
||||
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* 能源成本报表查询参数
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class EnergyCostReportBo extends BaseEntity {
|
||||
|
||||
/** 开始日期 */
|
||||
private LocalDate startDate;
|
||||
|
||||
/** 结束日期 */
|
||||
private LocalDate endDate;
|
||||
|
||||
/** 分摊任务 */
|
||||
private Long taskId;
|
||||
|
||||
/** 能源类型 */
|
||||
private Long energyTypeId;
|
||||
|
||||
/** 计量仪表 */
|
||||
private Long meterId;
|
||||
|
||||
/** 逻辑库区 */
|
||||
private Long warehouseId;
|
||||
|
||||
/** 实际库区 */
|
||||
private Long actualWarehouseId;
|
||||
|
||||
/** 入场钢卷号 */
|
||||
private String enterCoilNo;
|
||||
|
||||
/** 当前钢卷号 */
|
||||
private String currentCoilNo;
|
||||
|
||||
/** 汇总维度:energyType/warehouse/meter/task */
|
||||
private String groupBy;
|
||||
|
||||
/** 是否返回明细 */
|
||||
private Boolean includeDetail;
|
||||
|
||||
/** 页码 */
|
||||
private Integer pageNum;
|
||||
|
||||
/** 每页大小 */
|
||||
private Integer pageSize;
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package com.klp.ems.domain.bo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* 钢卷日能源成本分摊结果 BO
|
||||
*/
|
||||
@Data
|
||||
public class WmsEnergyCoilDailyBo {
|
||||
|
||||
private Long energyCostId;
|
||||
|
||||
private Long taskId;
|
||||
|
||||
private LocalDate calcDate;
|
||||
|
||||
private Long coilId;
|
||||
|
||||
private String enterCoilNo;
|
||||
|
||||
private String currentCoilNo;
|
||||
|
||||
private Long warehouseId;
|
||||
|
||||
private Long actualWarehouseId;
|
||||
|
||||
private Long energyTypeId;
|
||||
|
||||
private Long meterId;
|
||||
|
||||
private BigDecimal consumptionQty;
|
||||
|
||||
private BigDecimal costAmount;
|
||||
|
||||
private BigDecimal allocationBasisWeight;
|
||||
|
||||
private BigDecimal allocationBasisDays;
|
||||
|
||||
private BigDecimal allocationFactor;
|
||||
|
||||
private String remark;
|
||||
|
||||
/** 起始日期(查询用) */
|
||||
private LocalDate startDate;
|
||||
|
||||
/** 结束日期(查询用) */
|
||||
private LocalDate endDate;
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.klp.ems.domain.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 轻量化钢卷信息(仅供能源分摊引擎使用)
|
||||
*/
|
||||
@Data
|
||||
public class AllocationCoilDto {
|
||||
|
||||
private Long coilId;
|
||||
|
||||
private String enterCoilNo;
|
||||
|
||||
private String currentCoilNo;
|
||||
|
||||
private Long warehouseId;
|
||||
|
||||
private Long actualWarehouseId;
|
||||
|
||||
/** 净重(kg) */
|
||||
private BigDecimal netWeight;
|
||||
|
||||
/** 毛重(kg) */
|
||||
private BigDecimal grossWeight;
|
||||
|
||||
/** 待操作累计分钟数(基于 pending action 计算) */
|
||||
private BigDecimal pendingMinutes;
|
||||
|
||||
/** 物品类型 */
|
||||
private String itemType;
|
||||
|
||||
/** 材料类型 */
|
||||
private String materialType;
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.klp.ems.domain.dto;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 设备导入模板 DTO
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-12-05
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class MeterTemplateDto {
|
||||
|
||||
/**
|
||||
* 设备编号
|
||||
*/
|
||||
@ExcelProperty(value = "设备编号")
|
||||
private String meterCode;
|
||||
|
||||
/**
|
||||
* 能源类型(水、电、天然气)
|
||||
*/
|
||||
@ExcelProperty(value = "能源类型")
|
||||
private String energyType;
|
||||
|
||||
/**
|
||||
* 设备型号
|
||||
*/
|
||||
@ExcelProperty(value = "设备型号")
|
||||
private String model;
|
||||
|
||||
/**
|
||||
* 制造商
|
||||
*/
|
||||
@ExcelProperty(value = "制造商")
|
||||
private String manufacturer;
|
||||
|
||||
/**
|
||||
* 安装日期
|
||||
*/
|
||||
@ExcelProperty(value = "安装日期")
|
||||
private Date installDate;
|
||||
}
|
||||
@@ -71,6 +71,21 @@ public class EmsEnergyConsumptionVo {
|
||||
@ExcelDictFormat(readConverterExp = "不=设外键")
|
||||
private Long recordedBy;
|
||||
|
||||
/**
|
||||
* 记录人名称
|
||||
*/
|
||||
private String recordedByName;
|
||||
|
||||
/**
|
||||
* 设备编号
|
||||
*/
|
||||
private String meterCode;
|
||||
|
||||
/**
|
||||
* 能源类型名称
|
||||
*/
|
||||
private String energyTypeName;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.klp.ems.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
@@ -58,11 +59,27 @@ public class EmsEnergyRateVo {
|
||||
@ExcelProperty(value = "失效日期,NULL表示长期有效")
|
||||
private Date expiryDate;
|
||||
|
||||
/**
|
||||
* 是否使用峰谷时段:0=否,1=是
|
||||
*/
|
||||
@ExcelProperty(value = "是否使用峰谷时段")
|
||||
private Integer usePeakValley;
|
||||
|
||||
/**
|
||||
* 是否使用梯度收费:0=否,1=是
|
||||
*/
|
||||
@ExcelProperty(value = "是否使用梯度收费")
|
||||
private Integer useTieredPricing;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 梯度费率列表(非数据库字段,用于前端展示)
|
||||
*/
|
||||
private List<EmsRateTierVo> tiers;
|
||||
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||
import com.klp.common.annotation.ExcelDictFormat;
|
||||
import com.klp.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
@@ -43,7 +44,7 @@ public class EmsMeterVo {
|
||||
/**
|
||||
* 安装位置
|
||||
*/
|
||||
@ExcelProperty(value = "安装位置")
|
||||
@ExcelIgnore
|
||||
private Long locationId;
|
||||
|
||||
/**
|
||||
@@ -73,14 +74,13 @@ public class EmsMeterVo {
|
||||
/**
|
||||
* 上次校准日期
|
||||
*/
|
||||
@ExcelProperty(value = "上次校准日期")
|
||||
@ExcelIgnore
|
||||
private Date lastCalibrationDate;
|
||||
|
||||
/**
|
||||
* 阈值(按设备设置)
|
||||
*/
|
||||
@ExcelProperty(value = "阈值", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "按=设备设置")
|
||||
@ExcelIgnore
|
||||
private BigDecimal thresholdValue;
|
||||
|
||||
/**
|
||||
@@ -89,5 +89,16 @@ public class EmsMeterVo {
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 库区ID
|
||||
*/
|
||||
@ExcelIgnore
|
||||
private Long warehouseId;
|
||||
|
||||
/**
|
||||
* 库区名称
|
||||
*/
|
||||
@ExcelIgnore
|
||||
private String warehouseName;
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,96 @@
|
||||
package com.klp.ems.domain.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 梯度与时段关联视图对象
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-12-05
|
||||
*/
|
||||
@Data
|
||||
public class EmsRateTierPeriodLinkVo {
|
||||
|
||||
/**
|
||||
* 关联ID
|
||||
*/
|
||||
@ExcelProperty(value = "关联ID", index = 0)
|
||||
private Long linkId;
|
||||
|
||||
/**
|
||||
* 梯度ID
|
||||
*/
|
||||
@ExcelIgnore
|
||||
private Long tierId;
|
||||
|
||||
/**
|
||||
* 梯度等级
|
||||
*/
|
||||
@ExcelProperty(value = "梯度等级", index = 1)
|
||||
private Integer tierLevel;
|
||||
|
||||
/**
|
||||
* 最小用量
|
||||
*/
|
||||
@ExcelProperty(value = "最小用量", index = 2)
|
||||
private BigDecimal minUsage;
|
||||
|
||||
/**
|
||||
* 最大用量
|
||||
*/
|
||||
@ExcelProperty(value = "最大用量", index = 3)
|
||||
private BigDecimal maxUsage;
|
||||
|
||||
/**
|
||||
* 时间段ID
|
||||
*/
|
||||
@ExcelIgnore
|
||||
private Long periodId;
|
||||
|
||||
/**
|
||||
* 时间段名称
|
||||
*/
|
||||
@ExcelProperty(value = "时段名称", index = 4)
|
||||
private String periodName;
|
||||
|
||||
/**
|
||||
* 时间段类型:0=峰,1=谷,2=平
|
||||
*/
|
||||
@ExcelIgnore
|
||||
private Integer periodType;
|
||||
|
||||
/**
|
||||
* 开始时间(HH:mm格式)
|
||||
*/
|
||||
@ExcelProperty(value = "开始时间", index = 5)
|
||||
private String startTime;
|
||||
|
||||
/**
|
||||
* 结束时间(HH:mm格式)
|
||||
*/
|
||||
@ExcelProperty(value = "结束时间", index = 6)
|
||||
private String endTime;
|
||||
|
||||
/**
|
||||
* 该梯度+时段的费率
|
||||
*/
|
||||
@ExcelProperty(value = "费率", index = 7)
|
||||
private BigDecimal rate;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@ExcelProperty(value = "创建时间", index = 8)
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注", index = 9)
|
||||
private String remark;
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package com.klp.ems.domain.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 梯度费率视图对象 ems_rate_tier
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-12-05
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class EmsRateTierVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 梯度费率ID
|
||||
*/
|
||||
@ExcelProperty(value = "梯度费率ID")
|
||||
private Long tierId;
|
||||
|
||||
/**
|
||||
* 关联费率ID
|
||||
*/
|
||||
@ExcelProperty(value = "费率ID")
|
||||
private Long energyRateId;
|
||||
|
||||
/**
|
||||
* 梯度等级(1、2、3...)
|
||||
*/
|
||||
@ExcelProperty(value = "梯度等级")
|
||||
private Integer tierLevel;
|
||||
|
||||
/**
|
||||
* 最小用量(包含)
|
||||
*/
|
||||
@ExcelProperty(value = "最小用量")
|
||||
private BigDecimal minUsage;
|
||||
|
||||
/**
|
||||
* 最大用量(不包含),NULL表示无上限
|
||||
*/
|
||||
@ExcelProperty(value = "最大用量")
|
||||
private BigDecimal maxUsage;
|
||||
|
||||
/**
|
||||
* 该梯度的费率
|
||||
*/
|
||||
@ExcelProperty(value = "梯度费率")
|
||||
private BigDecimal rate;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 梯度-时段费率关联(非数据库字段,用于梯度+峰谷组合模式)
|
||||
* key: periodId, value: rate
|
||||
*/
|
||||
private Map<Long, BigDecimal> tierPeriodRates;
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
package com.klp.ems.domain.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 费率与时间段关联视图对象 ems_rate_time_period_link
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-12-05
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class EmsRateTimePeriodLinkVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 关联ID
|
||||
*/
|
||||
@ExcelProperty(value = "关联ID")
|
||||
private Long linkId;
|
||||
|
||||
/**
|
||||
* 费率ID
|
||||
*/
|
||||
@ExcelProperty(value = "费率ID")
|
||||
private Long energyRateId;
|
||||
|
||||
/**
|
||||
* 时间段ID
|
||||
*/
|
||||
@ExcelProperty(value = "时间段ID")
|
||||
private Long periodId;
|
||||
|
||||
/**
|
||||
* 时间段名称(峰、谷、平)
|
||||
*/
|
||||
@ExcelIgnore
|
||||
private String periodName;
|
||||
|
||||
/**
|
||||
* 时间段类型:0=峰,1=谷,2=平
|
||||
*/
|
||||
@ExcelIgnore
|
||||
private Integer periodType;
|
||||
|
||||
/**
|
||||
* 开始时间(HH:mm格式)
|
||||
*/
|
||||
@ExcelIgnore
|
||||
private String startTime;
|
||||
|
||||
/**
|
||||
* 结束时间(HH:mm格式)
|
||||
*/
|
||||
@ExcelIgnore
|
||||
private String endTime;
|
||||
|
||||
/**
|
||||
* 该时间段的费率
|
||||
*/
|
||||
@ExcelProperty(value = "时段费率")
|
||||
private BigDecimal rate;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
package com.klp.ems.domain.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 时间段视图对象 ems_time_period
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-12-05
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class EmsTimePeriodVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 时间段ID
|
||||
*/
|
||||
@ExcelProperty(value = "时间段ID")
|
||||
private Long periodId;
|
||||
|
||||
/**
|
||||
* 时间段名称(峰、谷、平)
|
||||
*/
|
||||
@ExcelProperty(value = "时间段名称")
|
||||
private String periodName;
|
||||
|
||||
/**
|
||||
* 时间段类型:0=峰,1=谷,2=平
|
||||
*/
|
||||
@ExcelProperty(value = "时间段类型")
|
||||
private Integer periodType;
|
||||
|
||||
/**
|
||||
* 开始时间(HH:mm格式)
|
||||
*/
|
||||
@ExcelProperty(value = "开始时间")
|
||||
private String startTime;
|
||||
|
||||
/**
|
||||
* 结束时间(HH:mm格式)
|
||||
*/
|
||||
@ExcelProperty(value = "结束时间")
|
||||
private String endTime;
|
||||
|
||||
/**
|
||||
* 是否跨天:0=否,1=是
|
||||
*/
|
||||
@ExcelProperty(value = "是否跨天")
|
||||
private Integer crossDay;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package com.klp.ems.domain.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 能源成本汇总视图
|
||||
*/
|
||||
@Data
|
||||
public class EnergyCostSummaryVo {
|
||||
|
||||
/** 分组键(ID 或名称) */
|
||||
private String groupKey;
|
||||
|
||||
/** 展示名称 */
|
||||
private String groupName;
|
||||
|
||||
/** 能源类型 ID(可选) */
|
||||
private Long energyTypeId;
|
||||
|
||||
/** 仓库 ID(可选) */
|
||||
private Long warehouseId;
|
||||
|
||||
/** 实际仓库 ID(可选) */
|
||||
private Long actualWarehouseId;
|
||||
|
||||
/** 计量表 ID(可选) */
|
||||
private Long meterId;
|
||||
|
||||
/** 任务 ID(可选) */
|
||||
private Long taskId;
|
||||
|
||||
/** 分摊能耗合计 */
|
||||
private BigDecimal totalConsumption;
|
||||
|
||||
/** 分摊费用合计 */
|
||||
private BigDecimal totalCost;
|
||||
|
||||
/** 钢卷数量 */
|
||||
private Long coilCount;
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.klp.ems.domain.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 钢卷能源成本统计 VO
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class WmsEnergyCoilDailyStatisticsVo {
|
||||
|
||||
/**
|
||||
* 钢卷总数
|
||||
*/
|
||||
private Long totalCoils;
|
||||
|
||||
/**
|
||||
* 总消耗量
|
||||
*/
|
||||
private BigDecimal totalConsumption;
|
||||
|
||||
/**
|
||||
* 总成本
|
||||
*/
|
||||
private BigDecimal totalCost;
|
||||
|
||||
/**
|
||||
* 平均单位成本(¥/小时)
|
||||
*/
|
||||
private BigDecimal avgUnitCost;
|
||||
|
||||
/**
|
||||
* 总生产时长(分钟)
|
||||
*/
|
||||
private Long totalProductionDuration;
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
package com.klp.ems.domain.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 钢卷日能源成本分摊结果 VO
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class WmsEnergyCoilDailyVo {
|
||||
|
||||
@ExcelProperty("记录ID")
|
||||
private Long energyCostId;
|
||||
|
||||
@ExcelProperty("任务ID")
|
||||
private Long taskId;
|
||||
|
||||
@ExcelProperty("日期")
|
||||
private LocalDate calcDate;
|
||||
|
||||
@ExcelProperty("钢卷ID")
|
||||
private Long coilId;
|
||||
|
||||
@ExcelProperty("入场卷号")
|
||||
private String enterCoilNo;
|
||||
|
||||
@ExcelProperty("当前卷号")
|
||||
private String currentCoilNo;
|
||||
|
||||
@ExcelProperty("逻辑库区")
|
||||
private Long warehouseId;
|
||||
|
||||
@ExcelProperty("实际库区")
|
||||
private Long actualWarehouseId;
|
||||
|
||||
@ExcelProperty("能源类型")
|
||||
private Long energyTypeId;
|
||||
|
||||
@ExcelProperty("仪表")
|
||||
private Long meterId;
|
||||
|
||||
@ExcelProperty("分摊能耗")
|
||||
private BigDecimal consumptionQty;
|
||||
|
||||
@ExcelProperty("分摊费用")
|
||||
private BigDecimal costAmount;
|
||||
|
||||
@ExcelProperty("基数-重量")
|
||||
private BigDecimal allocationBasisWeight;
|
||||
|
||||
@ExcelProperty("基数-生产时长")
|
||||
private BigDecimal allocationBasisDays;
|
||||
|
||||
@ExcelProperty("分摊系数")
|
||||
private BigDecimal allocationFactor;
|
||||
|
||||
@ExcelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
// 待操作相关字段
|
||||
@ExcelProperty("开始时间")
|
||||
private LocalDateTime scanTime;
|
||||
|
||||
@ExcelProperty("结束时间")
|
||||
private LocalDateTime completeTime;
|
||||
|
||||
@ExcelProperty("生产时长(分钟)")
|
||||
private Long productionDuration;
|
||||
|
||||
@ExcelProperty("能源费率")
|
||||
private BigDecimal energyRate;
|
||||
|
||||
@ExcelProperty("区域名称")
|
||||
private String warehouseName;
|
||||
|
||||
@ExcelProperty("能源类型名称")
|
||||
private String energyTypeName;
|
||||
}
|
||||
Reference in New Issue
Block a user