Compare commits
36 Commits
prod
...
0c4b8b8ca9
| Author | SHA1 | Date | |
|---|---|---|---|
| 0c4b8b8ca9 | |||
| 7d641db749 | |||
| 605de0a6cd | |||
| 8d5f20d2e6 | |||
| 9d7c810fb5 | |||
| 9dea50103f | |||
| 93a15e497f | |||
| 8439ec5bdf | |||
| d8b1396b6f | |||
| 1295adb885 | |||
| a0841d75d7 | |||
| f417e661ce | |||
| 69a117105b | |||
| 0a56b84650 | |||
| d1b767593f | |||
| bbcea1bbee | |||
| c50a953d4a | |||
| c626e3256f | |||
| 41f0b72253 | |||
| 219caadd45 | |||
| 861155b2e5 | |||
| 6c23c4a9c4 | |||
| f870d4f41f | |||
| 6fb36de2c3 | |||
| 66e49673df | |||
| 83eff7d1ee | |||
| e6b6ccd804 | |||
| 4319f97a5c | |||
| c04c764ade | |||
| b0751a55cd | |||
| 046e4b2b43 | |||
| c12b165816 | |||
| 2a7c3d42c0 | |||
| 0a94f51e0d | |||
| af8f225384 | |||
| e1cfe7f911 |
@ -10,7 +10,7 @@ spring:
|
|||||||
username: nacos
|
username: nacos
|
||||||
password: nacos
|
password: nacos
|
||||||
discovery:
|
discovery:
|
||||||
server-addr: 192.168.0.142:8848
|
server-addr: 172.31.9.103:8848
|
||||||
#路由配置
|
#路由配置
|
||||||
gateway:
|
gateway:
|
||||||
routes:
|
routes:
|
||||||
|
|||||||
@ -71,6 +71,8 @@ public interface DeviceTypeConstant {
|
|||||||
//英博DC/DCMPPT
|
//英博DC/DCMPPT
|
||||||
String DCDC = "dcdc";
|
String DCDC = "dcdc";
|
||||||
|
|
||||||
|
String MPPT ="mppt";
|
||||||
|
|
||||||
//柴油发电机_济宁微山湖
|
//柴油发电机_济宁微山湖
|
||||||
String CF = "cf";
|
String CF = "cf";
|
||||||
|
|
||||||
@ -371,6 +373,8 @@ public interface DeviceTypeConstant {
|
|||||||
String BMS_MIN_VOL = "bmsMinVol";
|
String BMS_MIN_VOL = "bmsMinVol";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//mppt 日发起始
|
||||||
|
String PV_DAILY_CHARGE_START = "pvDailyReleaseStart";
|
||||||
//日充起始
|
//日充起始
|
||||||
String DAILY_CHARGE_START = "dailyChargeStart";
|
String DAILY_CHARGE_START = "dailyChargeStart";
|
||||||
//日放起始
|
//日放起始
|
||||||
|
|||||||
@ -21,6 +21,21 @@ public class CurveConfig implements Serializable {
|
|||||||
@ApiModelProperty(value = "曲线名称(英文)")
|
@ApiModelProperty(value = "曲线名称(英文)")
|
||||||
private String curveNameEn;
|
private String curveNameEn;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "曲线名称(法语)")
|
||||||
|
private String curveNameFra;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "曲线名称(西班牙语)")
|
||||||
|
private String curveNameSpa;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "曲线名称(德语)")
|
||||||
|
private String curveNameDe;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "曲线名称(波兰语)")
|
||||||
|
private String curveNamePl;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "曲线名称(阿拉伯语)")
|
||||||
|
private String curveNameAra;
|
||||||
|
|
||||||
@ApiModelProperty(value = "曲线类型")
|
@ApiModelProperty(value = "曲线类型")
|
||||||
private Integer curveType;
|
private Integer curveType;
|
||||||
|
|
||||||
|
|||||||
@ -55,6 +55,26 @@ public class Device implements Serializable {
|
|||||||
@ApiModelProperty(value = "设备名字")
|
@ApiModelProperty(value = "设备名字")
|
||||||
private String deviceName;
|
private String deviceName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备名字-英文
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "设备名字-英文")
|
||||||
|
private String deviceNameEn;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备名字-法语")
|
||||||
|
private String deviceNameFra;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备名字-西班牙语")
|
||||||
|
private String deviceNameSpa;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备名字-德语")
|
||||||
|
private String deviceNameDe;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备名字-波兰语")
|
||||||
|
private String deviceNamePl;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备名字-阿拉伯语")
|
||||||
|
private String deviceNameAra;
|
||||||
|
|
||||||
@ApiModelProperty(value = "设备类型")
|
@ApiModelProperty(value = "设备类型")
|
||||||
private String deviceType;
|
private String deviceType;
|
||||||
|
|||||||
@ -55,6 +55,18 @@ public class DeviceCall implements Serializable {
|
|||||||
@ApiModelProperty(value = "设备名字")
|
@ApiModelProperty(value = "设备名字")
|
||||||
private String deviceName;
|
private String deviceName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备名字-英文")
|
||||||
|
private String deviceNameEn;
|
||||||
|
@ApiModelProperty(value = "设备名字-法语")
|
||||||
|
private String deviceNameFra;
|
||||||
|
@ApiModelProperty(value = "设备名字-西班牙语")
|
||||||
|
private String deviceNameSpa;
|
||||||
|
@ApiModelProperty(value = "设备名字-德语")
|
||||||
|
private String deviceNameDe;
|
||||||
|
@ApiModelProperty(value = "设备名字-波兰语")
|
||||||
|
private String deviceNamePl;
|
||||||
|
@ApiModelProperty(value = "设备名字-阿拉伯语")
|
||||||
|
private String deviceNameAra;
|
||||||
|
|
||||||
@ApiModelProperty(value = "设备类型")
|
@ApiModelProperty(value = "设备类型")
|
||||||
private String deviceType;
|
private String deviceType;
|
||||||
|
|||||||
@ -50,8 +50,18 @@ public class DeviceTypeCol implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 字段英文名
|
* 字段英文名
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "字段英文名")
|
@ApiModelProperty(value = "字段(英语)")
|
||||||
private String colEn;
|
private String colEn;
|
||||||
|
@ApiModelProperty(value = "字段(法语)")
|
||||||
|
private String colFra;
|
||||||
|
@ApiModelProperty(value = "字段(西班牙语)")
|
||||||
|
private String colSpa;
|
||||||
|
@ApiModelProperty(value = "字段(德语)")
|
||||||
|
private String colDe;
|
||||||
|
@ApiModelProperty(value = "字段(波兰语)")
|
||||||
|
private String colPl;
|
||||||
|
@ApiModelProperty(value = "字段(阿拉伯语)")
|
||||||
|
private String colAra;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* INT BIGDECIMAL 等
|
* INT BIGDECIMAL 等
|
||||||
|
|||||||
@ -53,4 +53,19 @@ public class DynamicConfig implements Serializable {
|
|||||||
|
|
||||||
@ApiModelProperty(value = "指标名称(英文)")
|
@ApiModelProperty(value = "指标名称(英文)")
|
||||||
private String colNameEn;
|
private String colNameEn;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "指标名称(法语)")
|
||||||
|
private String colNameFra;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "指标名称(西班牙语)")
|
||||||
|
private String colNameSpa;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "指标名称(德语)")
|
||||||
|
private String colNameDe;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "指标名称(波兰语)")
|
||||||
|
private String colNamePl;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "指标名称(阿拉伯语)")
|
||||||
|
private String colNameAra;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,101 @@
|
|||||||
|
package com.ho.business.entity;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class EarningsCalculateMppt implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键id
|
||||||
|
*/
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分组id(与src_id)
|
||||||
|
*/
|
||||||
|
private Integer groupId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 所属id
|
||||||
|
*/
|
||||||
|
private Integer pid;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电站id
|
||||||
|
*/
|
||||||
|
private Integer stationId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* device表中的id字段相连
|
||||||
|
*/
|
||||||
|
private Integer srcId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 部门id
|
||||||
|
*/
|
||||||
|
private Integer deptId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
private Date createTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 日期
|
||||||
|
*/
|
||||||
|
private String day;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据类型: 0:充 1:放
|
||||||
|
*/
|
||||||
|
private Integer type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收益
|
||||||
|
*/
|
||||||
|
private BigDecimal digital;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电量
|
||||||
|
*/
|
||||||
|
private BigDecimal elec;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 费率类型:elec_template_sub表type
|
||||||
|
*/
|
||||||
|
private String rateType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 价格
|
||||||
|
*/
|
||||||
|
private BigDecimal price;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总充,总放 根据type判断
|
||||||
|
*/
|
||||||
|
private BigDecimal total;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收益
|
||||||
|
*/
|
||||||
|
private BigDecimal discharge;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电量
|
||||||
|
*/
|
||||||
|
private BigDecimal disElec;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 费率类型:elec_template_sub表type
|
||||||
|
*/
|
||||||
|
private String disRateType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 折扣
|
||||||
|
*/
|
||||||
|
private BigDecimal discount;
|
||||||
|
}
|
||||||
@ -42,6 +42,38 @@ public class HisCurveRelate implements Serializable {
|
|||||||
|
|
||||||
private String modelName;
|
private String modelName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 模板名称-英文
|
||||||
|
*/
|
||||||
|
|
||||||
|
private String modelNameEn;
|
||||||
|
/**
|
||||||
|
* 模板名称-法语
|
||||||
|
*/
|
||||||
|
|
||||||
|
private String modelNameFra;
|
||||||
|
/**
|
||||||
|
* 模板名称-西班牙语
|
||||||
|
*/
|
||||||
|
|
||||||
|
private String modelNameSpa;
|
||||||
|
/**
|
||||||
|
* 模板名称-德语
|
||||||
|
*/
|
||||||
|
|
||||||
|
private String modelNameDe;
|
||||||
|
/**
|
||||||
|
* 模板名称-波兰语
|
||||||
|
*/
|
||||||
|
|
||||||
|
private String modelNamePl;
|
||||||
|
/**
|
||||||
|
* 模板名称-阿拉伯语
|
||||||
|
*/
|
||||||
|
|
||||||
|
private String modelNameAra;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* srcId
|
* srcId
|
||||||
*/
|
*/
|
||||||
@ -59,6 +91,31 @@ public class HisCurveRelate implements Serializable {
|
|||||||
*/
|
*/
|
||||||
private String colName;
|
private String colName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 字段名称-英文
|
||||||
|
*/
|
||||||
|
private String colNameEn;
|
||||||
|
/**
|
||||||
|
* 字段名称-法语
|
||||||
|
*/
|
||||||
|
private String colNameFra;
|
||||||
|
/**
|
||||||
|
* 字段名称-西班牙语
|
||||||
|
*/
|
||||||
|
private String colNameSpa;
|
||||||
|
/**
|
||||||
|
* 字段名称-德语
|
||||||
|
*/
|
||||||
|
private String colNameDe;
|
||||||
|
/**
|
||||||
|
* 字段名称-波兰语
|
||||||
|
*/
|
||||||
|
private String colNamePl;
|
||||||
|
/**
|
||||||
|
* 字段名称-阿拉伯语
|
||||||
|
*/
|
||||||
|
private String colNameAra;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设备类型
|
* 设备类型
|
||||||
*/
|
*/
|
||||||
@ -67,4 +124,7 @@ public class HisCurveRelate implements Serializable {
|
|||||||
|
|
||||||
List<HisCurveRelate> list;
|
List<HisCurveRelate> list;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "多语言切换-查询字段")
|
||||||
|
private String lang;
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -21,9 +21,35 @@ public class PlanCurveOperationRecordReq {
|
|||||||
@ApiModelProperty(value = "操作内容")
|
@ApiModelProperty(value = "操作内容")
|
||||||
String operateContent;
|
String operateContent;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "操作内容-英文")
|
||||||
|
String operateContentEn;
|
||||||
|
@ApiModelProperty(value = "操作内容-法语")
|
||||||
|
String operateContentFra;
|
||||||
|
@ApiModelProperty(value = "操作内容-西班牙语")
|
||||||
|
String operateContentSpa;
|
||||||
|
@ApiModelProperty(value = "操作内容-德语")
|
||||||
|
String operateContentDe;
|
||||||
|
@ApiModelProperty(value = "操作内容-波兰语")
|
||||||
|
String operateContentPl;
|
||||||
|
@ApiModelProperty(value = "操作内容-阿拉伯语")
|
||||||
|
String operateContentAra;
|
||||||
|
|
||||||
@ApiModelProperty(value = "操作结果")
|
@ApiModelProperty(value = "操作结果")
|
||||||
String operateResult;
|
String operateResult;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "操作结果-英文")
|
||||||
|
String operateResultEn;
|
||||||
|
@ApiModelProperty(value = "操作结果-法语")
|
||||||
|
String operateResultFra;
|
||||||
|
@ApiModelProperty(value = "操作结果-西班牙语")
|
||||||
|
String operateResultSpa;
|
||||||
|
@ApiModelProperty(value = "操作结果-德语")
|
||||||
|
String operateResultDe;
|
||||||
|
@ApiModelProperty(value = "操作结果-波兰语")
|
||||||
|
String operateResultPl;
|
||||||
|
@ApiModelProperty(value = "操作结果-阿拉伯语")
|
||||||
|
String operateResultAra;
|
||||||
|
|
||||||
@ApiModelProperty(value = "生效时间")
|
@ApiModelProperty(value = "生效时间")
|
||||||
String effectiveTime;
|
String effectiveTime;
|
||||||
|
|
||||||
|
|||||||
@ -26,6 +26,19 @@ public class PlanningCurveTemplate {
|
|||||||
/* 模板名称 */
|
/* 模板名称 */
|
||||||
private String templateName;
|
private String templateName;
|
||||||
|
|
||||||
|
/* 模板名称-英文 */
|
||||||
|
private String templateNameEn;
|
||||||
|
/* 模板名称-法语 */
|
||||||
|
private String templateNameFra;
|
||||||
|
/* 模板名称-西班牙语 */
|
||||||
|
private String templateNameSpa;
|
||||||
|
/* 模板名称-德语 */
|
||||||
|
private String templateNameDe;
|
||||||
|
/* 模板名称-波兰语 */
|
||||||
|
private String templateNamePl;
|
||||||
|
/* 模板名称-阿拉伯语 */
|
||||||
|
private String templateNameAra;
|
||||||
|
|
||||||
/* 电价模板id */
|
/* 电价模板id */
|
||||||
//private Integer elecTemplateId;
|
//private Integer elecTemplateId;
|
||||||
|
|
||||||
@ -69,4 +82,7 @@ public class PlanningCurveTemplate {
|
|||||||
|
|
||||||
/* 计划曲线列表数据 */
|
/* 计划曲线列表数据 */
|
||||||
private List<PlanningCurve> planningCurves;
|
private List<PlanningCurve> planningCurves;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "多语言切换-查询字段")
|
||||||
|
private String lang;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package com.ho.business.entity;
|
package com.ho.business.entity;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
@ -22,4 +23,6 @@ public class PlanningIssueDevice {
|
|||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
|
||||||
private Date operationDate;
|
private Date operationDate;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "多语言切换-查询字段")
|
||||||
|
private String lang;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -21,10 +21,33 @@ public class PointConfig implements Serializable {
|
|||||||
|
|
||||||
@ApiModelProperty(value = "点位名称(英文)")
|
@ApiModelProperty(value = "点位名称(英文)")
|
||||||
private String nameEn;
|
private String nameEn;
|
||||||
|
@ApiModelProperty(value = "点位名称(法语)")
|
||||||
|
private String nameFra;
|
||||||
|
@ApiModelProperty(value = "点位名称(西班牙语)")
|
||||||
|
private String nameSpa;
|
||||||
|
@ApiModelProperty(value = "点位名称(德语)")
|
||||||
|
private String nameDe;
|
||||||
|
@ApiModelProperty(value = "点位名称(波兰语)")
|
||||||
|
private String namePl;
|
||||||
|
@ApiModelProperty(value = "点位名称(阿拉伯语)")
|
||||||
|
private String nameAra;
|
||||||
|
|
||||||
@ApiModelProperty(value = "默认值")
|
@ApiModelProperty(value = "默认值")
|
||||||
private String defaultValue;
|
private String defaultValue;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "默认值-英文")
|
||||||
|
private String defaultValueEn;
|
||||||
|
@ApiModelProperty(value = "默认值-法语")
|
||||||
|
private String defaultValueFra;
|
||||||
|
@ApiModelProperty(value = "默认值-西班牙语")
|
||||||
|
private String defaultValueSpa;
|
||||||
|
@ApiModelProperty(value = "默认值-德语")
|
||||||
|
private String defaultValueDe;
|
||||||
|
@ApiModelProperty(value = "默认值-波兰语")
|
||||||
|
private String defaultValuePl;
|
||||||
|
@ApiModelProperty(value = "默认值-阿拉伯语")
|
||||||
|
private String defaultValueAra;
|
||||||
|
|
||||||
@ApiModelProperty(value = "配置点类型")
|
@ApiModelProperty(value = "配置点类型")
|
||||||
private Integer pointType;
|
private Integer pointType;
|
||||||
|
|
||||||
|
|||||||
@ -32,4 +32,14 @@ public class PointPolysemyConfig implements Serializable {
|
|||||||
|
|
||||||
@ApiModelProperty(value = "值对应的名称(英文)")
|
@ApiModelProperty(value = "值对应的名称(英文)")
|
||||||
private String nameEn;
|
private String nameEn;
|
||||||
|
@ApiModelProperty(value = "值对应的名称(法语)")
|
||||||
|
private String nameFra;
|
||||||
|
@ApiModelProperty(value = "值对应的名称(西班牙语)")
|
||||||
|
private String nameSpa;
|
||||||
|
@ApiModelProperty(value = "值对应的名称(德语)")
|
||||||
|
private String nameDe;
|
||||||
|
@ApiModelProperty(value = "值对应的名称(波兰语)")
|
||||||
|
private String namePl;
|
||||||
|
@ApiModelProperty(value = "值对应的名称(阿拉伯语)")
|
||||||
|
private String nameAra;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -33,6 +33,16 @@ public class Station implements Serializable {
|
|||||||
|
|
||||||
@ApiModelProperty(value = "电站名称(英文)")
|
@ApiModelProperty(value = "电站名称(英文)")
|
||||||
private String nameEn;
|
private String nameEn;
|
||||||
|
@ApiModelProperty(value = "电站名称(法语)")
|
||||||
|
private String nameFra;
|
||||||
|
@ApiModelProperty(value = "电站名称(西班牙语)")
|
||||||
|
private String nameSpa;
|
||||||
|
@ApiModelProperty(value = "电站名称(德语)")
|
||||||
|
private String nameDe;
|
||||||
|
@ApiModelProperty(value = "电站名称(波兰语)")
|
||||||
|
private String namePl;
|
||||||
|
@ApiModelProperty(value = "电站名称(阿拉伯语)")
|
||||||
|
private String nameAra;
|
||||||
|
|
||||||
@ApiModelProperty(value = "地址")
|
@ApiModelProperty(value = "地址")
|
||||||
private String address;
|
private String address;
|
||||||
@ -52,6 +62,9 @@ public class Station implements Serializable {
|
|||||||
@ApiModelProperty(value = "额定功率")
|
@ApiModelProperty(value = "额定功率")
|
||||||
private BigDecimal ratePower;
|
private BigDecimal ratePower;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "额定功率(光伏mppt)")
|
||||||
|
private BigDecimal pvPower;
|
||||||
|
|
||||||
@ApiModelProperty(value = "sn编号列表")
|
@ApiModelProperty(value = "sn编号列表")
|
||||||
private List<String> snList;
|
private List<String> snList;
|
||||||
|
|
||||||
@ -118,9 +131,34 @@ public class Station implements Serializable {
|
|||||||
|
|
||||||
@ApiModelProperty(value = "国家")
|
@ApiModelProperty(value = "国家")
|
||||||
private String nation;
|
private String nation;
|
||||||
|
@ApiModelProperty(value = "国家-英语")
|
||||||
|
private String nationEn;
|
||||||
|
@ApiModelProperty(value = "国家-法语")
|
||||||
|
private String nationFra;
|
||||||
|
@ApiModelProperty(value = "国家-西班牙语")
|
||||||
|
private String nationSpa;
|
||||||
|
@ApiModelProperty(value = "国家-德语")
|
||||||
|
private String nationDe;
|
||||||
|
@ApiModelProperty(value = "国家-波兰语")
|
||||||
|
private String nationPl;
|
||||||
|
@ApiModelProperty(value = "国家-阿拉伯语")
|
||||||
|
private String nationAra;
|
||||||
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "省")
|
@ApiModelProperty(value = "省")
|
||||||
private String province;
|
private String province;
|
||||||
|
@ApiModelProperty(value = "省-英语")
|
||||||
|
private String provinceEn;
|
||||||
|
@ApiModelProperty(value = "省-法语")
|
||||||
|
private String provinceFra;
|
||||||
|
@ApiModelProperty(value = "省-西班牙语")
|
||||||
|
private String provinceSpa;
|
||||||
|
@ApiModelProperty(value = "省-德语")
|
||||||
|
private String provinceDe;
|
||||||
|
@ApiModelProperty(value = "省-波兰")
|
||||||
|
private String provincePl;
|
||||||
|
@ApiModelProperty(value = "省-阿拉伯语")
|
||||||
|
private String provinceAra;
|
||||||
|
|
||||||
@ApiModelProperty(value = "市")
|
@ApiModelProperty(value = "市")
|
||||||
private String city;
|
private String city;
|
||||||
|
|||||||
@ -0,0 +1,48 @@
|
|||||||
|
package com.ho.business.entity;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.ho.common.tools.constant.CommonConstant;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class StationRemoteControl implements Serializable {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "id")
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "电站id")
|
||||||
|
private Integer stationId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "电站名称")
|
||||||
|
private String stationName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "远程访问ip、也可以是域名")
|
||||||
|
private String ip;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "端口")
|
||||||
|
private String port;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "账号")
|
||||||
|
private String userName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "密码")
|
||||||
|
private String password;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "内网ip")
|
||||||
|
private String intranetIp;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "ems页面类型")
|
||||||
|
private String type;
|
||||||
|
|
||||||
|
@JsonFormat(pattern = CommonConstant.DATE)
|
||||||
|
@ApiModelProperty(value = "创建时间")
|
||||||
|
private Date createTime;
|
||||||
|
|
||||||
|
@JsonFormat(pattern = CommonConstant.DATE)
|
||||||
|
@ApiModelProperty(value = "修改时间")
|
||||||
|
private Date updateTime;
|
||||||
|
}
|
||||||
@ -0,0 +1,39 @@
|
|||||||
|
package com.ho.business.entity;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author kerwin
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class TranslateName implements Serializable {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "id")
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "名称(中文)")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "名称(英文)")
|
||||||
|
private String nameEn;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "名称(法语)")
|
||||||
|
private String nameFra;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "名称(西班牙语)")
|
||||||
|
private String nameSpa;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "名称(德语)")
|
||||||
|
private String nameDe;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "名称(波兰语)")
|
||||||
|
private String namePl;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "名称(阿拉伯语)")
|
||||||
|
private String nameAra;
|
||||||
|
|
||||||
|
}
|
||||||
@ -1,22 +0,0 @@
|
|||||||
package com.ho.business.entity;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @TableName translate_nation
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class TranslateNation implements Serializable {
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "id")
|
|
||||||
private Integer id;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "名称")
|
|
||||||
private String name;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "名称(英文)")
|
|
||||||
private String nameEn;
|
|
||||||
}
|
|
||||||
@ -41,5 +41,8 @@ public class VirtualDeviceCol implements Serializable {
|
|||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
//查询条件,非数据库中列
|
//查询条件,非数据库中列
|
||||||
List<String> typeList;;
|
List<String> typeList;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "多语言切换-查询字段")
|
||||||
|
private String lang;
|
||||||
}
|
}
|
||||||
@ -77,4 +77,7 @@ public class DeviceReqVO {
|
|||||||
|
|
||||||
@ApiModelProperty(hidden = true,value = "获取设备类型不为空的第一个设备")
|
@ApiModelProperty(hidden = true,value = "获取设备类型不为空的第一个设备")
|
||||||
private Integer needDeviceTypeNotNull;
|
private Integer needDeviceTypeNotNull;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "多语言切换-查询字段")
|
||||||
|
private String lang;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -32,4 +32,7 @@ public class DeviceTypeColReqVO {
|
|||||||
* 遥信遥测 1遥信 2遥测 3遥控 默认送2
|
* 遥信遥测 1遥信 2遥测 3遥控 默认送2
|
||||||
*/
|
*/
|
||||||
Integer sensType;
|
Integer sensType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "多语言切换-查询字段")
|
||||||
|
private String lang;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -124,6 +124,11 @@ public class StationPutReqVO {
|
|||||||
|
|
||||||
@ApiModelProperty(value = "是否接入光伏:0代表不接,1代表接入")
|
@ApiModelProperty(value = "是否接入光伏:0代表不接,1代表接入")
|
||||||
private Integer inverterFlag;
|
private Integer inverterFlag;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "额定功率(mppt)")
|
||||||
|
@Range(max = 999999999, message = "额定功率过大")
|
||||||
|
BigDecimal pvPower;
|
||||||
|
|
||||||
//图片地址
|
//图片地址
|
||||||
@ApiModelProperty(value = "图片地址")
|
@ApiModelProperty(value = "图片地址")
|
||||||
Integer logoPictureId;
|
Integer logoPictureId;
|
||||||
|
|||||||
@ -0,0 +1,16 @@
|
|||||||
|
package com.ho.business.vo.req;
|
||||||
|
|
||||||
|
import com.ho.business.entity.StationRemoteControl;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class StationRemoteControlPageVo extends StationRemoteControl {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "第几页")
|
||||||
|
private Integer pageNum=1;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "分页数量")
|
||||||
|
private Integer pageSize=10;
|
||||||
|
|
||||||
|
}
|
||||||
@ -29,4 +29,8 @@ public class StationReq implements Serializable {
|
|||||||
|
|
||||||
@ApiModelProperty(value = "设备类型",hidden = true)
|
@ApiModelProperty(value = "设备类型",hidden = true)
|
||||||
String deviceType;
|
String deviceType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "多语言切换-查询字段")
|
||||||
|
String lang;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -102,6 +102,10 @@ public class StationReqVO {
|
|||||||
@ApiModelProperty(value = "是否接入光伏(0默认不接入 1接入)")
|
@ApiModelProperty(value = "是否接入光伏(0默认不接入 1接入)")
|
||||||
private Integer inverterFlag;
|
private Integer inverterFlag;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "额定功率(mppt)")
|
||||||
|
@Range(max = 999999999, message = "额定功率过大")
|
||||||
|
BigDecimal pvPower;
|
||||||
|
|
||||||
@ApiModelProperty(value = "卡号")
|
@ApiModelProperty(value = "卡号")
|
||||||
private String iccId;
|
private String iccId;
|
||||||
|
|
||||||
@ -128,4 +132,7 @@ public class StationReqVO {
|
|||||||
@ApiModelProperty(value = "电站id集合",hidden = true)
|
@ApiModelProperty(value = "电站id集合",hidden = true)
|
||||||
private List<Integer> ids;
|
private List<Integer> ids;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "多语言切换-查询字段")
|
||||||
|
private String lang;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -34,6 +34,7 @@ public class EarningsCalculateReq {
|
|||||||
@ApiModelProperty(value = "结束时间",hidden = true)
|
@ApiModelProperty(value = "结束时间",hidden = true)
|
||||||
String endTime;
|
String endTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "多语言切换-查询字段")
|
||||||
|
private String lang;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,4 +17,7 @@ public class DeviceTreeReq {
|
|||||||
@ApiModelProperty(value = "src_id")
|
@ApiModelProperty(value = "src_id")
|
||||||
Integer srcId;
|
Integer srcId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "多语言切换-查询字段")
|
||||||
|
private String lang;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -49,6 +49,21 @@ public class CurveConfigAdd {
|
|||||||
@ApiModelProperty(value = "曲线名称(英文)")
|
@ApiModelProperty(value = "曲线名称(英文)")
|
||||||
private String curveNameEn;
|
private String curveNameEn;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "曲线名称(法语)")
|
||||||
|
private String curveNameFra;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "曲线名称(西班牙语)")
|
||||||
|
private String curveNameSpa;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "曲线名称(德语)")
|
||||||
|
private String curveNameDe;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "曲线名称(波兰语)")
|
||||||
|
private String curveNamePl;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "曲线名称(阿拉伯语)")
|
||||||
|
private String curveNameAra;
|
||||||
|
|
||||||
@ApiModelProperty(value = "动态配置集合")
|
@ApiModelProperty(value = "动态配置集合")
|
||||||
private List<DynamicConfig> list;
|
private List<DynamicConfig> list;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -35,4 +35,7 @@ public class DynamicConfigQuery {
|
|||||||
|
|
||||||
@ApiModelProperty(value = "是否隐藏(0否,1是,默认0)",hidden = true)
|
@ApiModelProperty(value = "是否隐藏(0否,1是,默认0)",hidden = true)
|
||||||
private Integer isHide;
|
private Integer isHide;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "多语言切换-查询字段")
|
||||||
|
private String lang;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -21,6 +21,19 @@ public class PointConfigAdd {
|
|||||||
@ApiModelProperty(value = "默认值")
|
@ApiModelProperty(value = "默认值")
|
||||||
private String defaultValue;
|
private String defaultValue;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "默认值-英文")
|
||||||
|
private String defaultValueEn;
|
||||||
|
@ApiModelProperty(value = "默认值-法语")
|
||||||
|
private String defaultValueFra;
|
||||||
|
@ApiModelProperty(value = "默认值-西班牙语")
|
||||||
|
private String defaultValueSpa;
|
||||||
|
@ApiModelProperty(value = "默认值-德语")
|
||||||
|
private String defaultValueDe;
|
||||||
|
@ApiModelProperty(value = "默认值-波兰语")
|
||||||
|
private String defaultValuePl;
|
||||||
|
@ApiModelProperty(value = "默认值-阿拉伯语")
|
||||||
|
private String defaultValueAra;
|
||||||
|
|
||||||
@ApiModelProperty(value = "配置点类型")
|
@ApiModelProperty(value = "配置点类型")
|
||||||
private Integer pointType;
|
private Integer pointType;
|
||||||
|
|
||||||
@ -53,6 +66,17 @@ public class PointConfigAdd {
|
|||||||
|
|
||||||
@ApiModelProperty(value = "点位名称(英文)")
|
@ApiModelProperty(value = "点位名称(英文)")
|
||||||
private String nameEn;
|
private String nameEn;
|
||||||
|
@ApiModelProperty(value = "点位名称(法语)")
|
||||||
|
private String nameFra;
|
||||||
|
@ApiModelProperty(value = "点位名称(西班牙语)")
|
||||||
|
private String nameSpa;
|
||||||
|
@ApiModelProperty(value = "点位名称(德语)")
|
||||||
|
private String nameDe;
|
||||||
|
@ApiModelProperty(value = "点位名称(波兰语)")
|
||||||
|
private String namePl;
|
||||||
|
@ApiModelProperty(value = "点位名称(阿拉伯语)")
|
||||||
|
private String nameAra;
|
||||||
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "点位集合")
|
@ApiModelProperty(value = "点位集合")
|
||||||
List<DynamicConfig> list;
|
List<DynamicConfig> list;
|
||||||
|
|||||||
@ -20,4 +20,7 @@ public class PointConfigQuery {
|
|||||||
|
|
||||||
@ApiModelProperty(value = "设备id(用以区分属于哪个设备页)")
|
@ApiModelProperty(value = "设备id(用以区分属于哪个设备页)")
|
||||||
private Integer deviceId;
|
private Integer deviceId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "多语言切换-查询字段")
|
||||||
|
private String lang;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -28,4 +28,7 @@ public class ModelTypeQueryReq {
|
|||||||
|
|
||||||
@ApiModelProperty(value = "用户id",hidden = true)
|
@ApiModelProperty(value = "用户id",hidden = true)
|
||||||
private String userId;
|
private String userId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "多语言切换-查询字段")
|
||||||
|
private String lang;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -31,4 +31,7 @@ public class PcsStationReq extends StationReq {
|
|||||||
|
|
||||||
@ApiModelProperty(value = "分段类型",hidden = true)
|
@ApiModelProperty(value = "分段类型",hidden = true)
|
||||||
String stationName;
|
String stationName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "多语言切换-查询字段")
|
||||||
|
private String lang;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -49,4 +49,7 @@ public class PointCurveReq {
|
|||||||
|
|
||||||
@ApiModelProperty(value = "是否为策略总览页面(1:是;0:否)")
|
@ApiModelProperty(value = "是否为策略总览页面(1:是;0:否)")
|
||||||
Integer isStrategy;
|
Integer isStrategy;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "多语言切换-查询字段")
|
||||||
|
private String lang;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -42,5 +42,8 @@ public class PointReq {
|
|||||||
@ApiModelProperty(value = "值2的定义 大于1 小于2 等于3 大于等于4 小于等于5")
|
@ApiModelProperty(value = "值2的定义 大于1 小于2 等于3 大于等于4 小于等于5")
|
||||||
private BigDecimal Value2;
|
private BigDecimal Value2;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "多语言切换-查询字段")
|
||||||
|
private String lang;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,6 +24,9 @@ public class PointVo {
|
|||||||
|
|
||||||
@ApiModelProperty(value = "遥信遥测 1遥信 2遥测 默认送2")
|
@ApiModelProperty(value = "遥信遥测 1遥信 2遥测 默认送2")
|
||||||
private Integer sensType;
|
private Integer sensType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "多语言切换-查询字段")
|
||||||
|
private String lang;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,47 +0,0 @@
|
|||||||
package com.ho.business.vo.resp;
|
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONArray;
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 主监控汇总信息
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class ShipStationRespVO {
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "储能系统累计收益,单位(元)")
|
|
||||||
private Float incomeSum;
|
|
||||||
@ApiModelProperty(value = "储能系统昨⽇收益")
|
|
||||||
private Float incomeYesterday;
|
|
||||||
@ApiModelProperty(value = "储能系统累计充电量,单位(kWh)")
|
|
||||||
private Float positivePowerSum;
|
|
||||||
@ApiModelProperty(value = "储能系统累计放电量,单位(kWh)")
|
|
||||||
private Float reversePowerSum;
|
|
||||||
@ApiModelProperty(value = "储能系统今⽇充电量,单位(kWh)")
|
|
||||||
private Float positivePowerToday;
|
|
||||||
@ApiModelProperty(value = "储能系统今⽇放电量,单位(kWh)")
|
|
||||||
private Float reversePowerToday;
|
|
||||||
@ApiModelProperty(value = "储能系统实时功率,单位(kw)")
|
|
||||||
private Float realTimePower;
|
|
||||||
@ApiModelProperty(value = "关⼝表电压,单位(v)")
|
|
||||||
private Float voltage;
|
|
||||||
@ApiModelProperty(value = "储能系统剩余电量,单位(kwh)")
|
|
||||||
private Float surplus;
|
|
||||||
@ApiModelProperty(value = "储能系统剩余SOC")
|
|
||||||
private Float soc;
|
|
||||||
@ApiModelProperty(value = "储能系统装机容量,单位(kWh)")
|
|
||||||
private Integer capacity;
|
|
||||||
@ApiModelProperty(value = "储能系统投运时⻓,单位(天)")
|
|
||||||
private Integer operationTime;
|
|
||||||
@ApiModelProperty(value = "储能系统能量链数量,单位(条)")
|
|
||||||
private Integer eLinkNumber;
|
|
||||||
@ApiModelProperty(value = "储能系统在线能量链数量,单位(条)")
|
|
||||||
private Integer eLinkOnline;
|
|
||||||
@ApiModelProperty(value = "储能系统能量块数量,单位(个)")
|
|
||||||
private Integer eBLockNumber;
|
|
||||||
@ApiModelProperty(value = "储能系统在线能量块数量,单位(个)")
|
|
||||||
private Integer eBlockOnline;
|
|
||||||
@ApiModelProperty(value = "储能系统今⽇功率和soc曲线")
|
|
||||||
private JSONArray historyDataList;
|
|
||||||
}
|
|
||||||
@ -88,4 +88,16 @@ public class EarningsCalculateResp {
|
|||||||
*/
|
*/
|
||||||
private Integer finish;
|
private Integer finish;
|
||||||
|
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "月发电量(mppt)")
|
||||||
|
BigDecimal monthReleaseElec;
|
||||||
|
@ApiModelProperty(value = "月收益(mppt)")
|
||||||
|
BigDecimal monthIncone;
|
||||||
|
@ApiModelProperty(value = "累计发电量(mppt)")
|
||||||
|
BigDecimal totalReleaseElec;
|
||||||
|
@ApiModelProperty(value = "累计收益(mppt)")
|
||||||
|
BigDecimal totalIncome;
|
||||||
|
@ApiModelProperty(value = "额定功率(mppt)")
|
||||||
|
BigDecimal pvPower;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,66 @@
|
|||||||
|
package com.ho.business.vo.resp.elecPriceCurve;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author kerwin
|
||||||
|
*/
|
||||||
|
public class ElecPriceTemplateExcelEn {
|
||||||
|
|
||||||
|
|
||||||
|
// @ExcelProperty(value = "模板编号")
|
||||||
|
@ExcelIgnore
|
||||||
|
private String templateNo;
|
||||||
|
|
||||||
|
@ExcelProperty(value = "Time period starts", index = 1)
|
||||||
|
private String beginTime;
|
||||||
|
|
||||||
|
@ExcelProperty(value = "End of time period", index = 2)
|
||||||
|
private String endTime;
|
||||||
|
|
||||||
|
@ExcelProperty(value = "Electricity type", index = 3)
|
||||||
|
private String type;
|
||||||
|
|
||||||
|
@ExcelProperty(value = "price", index = 4)
|
||||||
|
private String price;
|
||||||
|
|
||||||
|
@ExcelProperty(value = "Template Name", index = 0)
|
||||||
|
private String templateName;
|
||||||
|
|
||||||
|
@ExcelProperty(value = "Enable or not", index = 5)
|
||||||
|
private String isEnable;
|
||||||
|
|
||||||
|
|
||||||
|
//@ExcelProperty(value = "电价曲线类型", index = 6)
|
||||||
|
//private String elecType;
|
||||||
|
|
||||||
|
@ExcelProperty(value = "Modification time", index = 9)
|
||||||
|
private String updateTime;
|
||||||
|
|
||||||
|
//电站id
|
||||||
|
@ExcelIgnore
|
||||||
|
private Integer stationId;
|
||||||
|
//集团id
|
||||||
|
@ExcelIgnore
|
||||||
|
private Integer groupId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value="模板有效期开始时间")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
|
||||||
|
@ExcelProperty(value = "Template validity period start time", index = 6)
|
||||||
|
private Date validityStartTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value="模板有效期结束时间")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
|
||||||
|
@ExcelProperty(value = "End time of template validity period", index = 7)
|
||||||
|
private Date validityEndTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value="电价折扣(%)")
|
||||||
|
@ExcelProperty(value = "Electricity price discount (%)", index = 8)
|
||||||
|
private Double discount;
|
||||||
|
|
||||||
|
}
|
||||||
@ -36,4 +36,6 @@ public class AnnualChartValue {
|
|||||||
@ApiModelProperty(value = "容量")
|
@ApiModelProperty(value = "容量")
|
||||||
BigDecimal stationCapacity;
|
BigDecimal stationCapacity;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "mppt发电量")
|
||||||
|
BigDecimal release;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -31,8 +31,6 @@ public class AnnualOverviewResp {
|
|||||||
@ApiModelProperty(value = "年总充")
|
@ApiModelProperty(value = "年总充")
|
||||||
BigDecimal yearCharge;
|
BigDecimal yearCharge;
|
||||||
|
|
||||||
@ApiModelProperty(value = "今日收益")
|
|
||||||
BigDecimal todayProfit;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "昨日收益")
|
@ApiModelProperty(value = "昨日收益")
|
||||||
BigDecimal yestProfit;
|
BigDecimal yestProfit;
|
||||||
|
|||||||
@ -0,0 +1,37 @@
|
|||||||
|
package com.ho.business.vo.resp.iargeScreen;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class AnnualPvOverviewResp {
|
||||||
|
|
||||||
|
//装机容量
|
||||||
|
@ApiModelProperty(value = "装机容量")
|
||||||
|
BigDecimal capacity;
|
||||||
|
|
||||||
|
//电站总数
|
||||||
|
@ApiModelProperty(value = "电站总数")
|
||||||
|
Integer stationNumber;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "日发电量(mppt)")
|
||||||
|
BigDecimal dailyReleaseElec;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "年发电量(mppt)")
|
||||||
|
BigDecimal yearReleaseElec;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "累计发电量(mppt)")
|
||||||
|
BigDecimal totalReleaseElec;
|
||||||
|
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "日收益(mppt)")
|
||||||
|
BigDecimal todayIncone;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "年收益(mppt)")
|
||||||
|
BigDecimal yearIncone;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "累计收益(mppt)")
|
||||||
|
BigDecimal totalIncome;
|
||||||
|
}
|
||||||
@ -52,4 +52,7 @@ public class Subdata {
|
|||||||
//年总充()
|
//年总充()
|
||||||
@ApiModelProperty(value = "总充")
|
@ApiModelProperty(value = "总充")
|
||||||
BigDecimal charge;
|
BigDecimal charge;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "mppt总发电量")
|
||||||
|
BigDecimal release;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,20 @@
|
|||||||
|
package com.ho.business.vo.resp.mppt;
|
||||||
|
|
||||||
|
import com.ho.business.vo.DeviceTransfer;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class MpptActiveVo {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "mppt有功功率")
|
||||||
|
BigDecimal pvActivePower;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "mppt总发电量")
|
||||||
|
BigDecimal totalRelease;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "mppt日发电量")
|
||||||
|
BigDecimal dailyReleaseElec;
|
||||||
|
}
|
||||||
@ -0,0 +1,17 @@
|
|||||||
|
package com.ho.business.vo.resp.mppt;
|
||||||
|
|
||||||
|
import com.ho.business.vo.DeviceTransfer;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class MpptVo {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "mppt有功功率")
|
||||||
|
DeviceTransfer pvActivePower;
|
||||||
|
@ApiModelProperty(value = "mppt总发电量")
|
||||||
|
DeviceTransfer totalRelease;
|
||||||
|
@ApiModelProperty(value = "mppt 日发电量-起始")
|
||||||
|
DeviceTransfer pvDailyReleaseStart;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,75 @@
|
|||||||
|
package com.ho.business.vo.resp.pcsStation;
|
||||||
|
|
||||||
|
import cn.afterturn.easypoi.excel.annotation.Excel;
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 阿拉伯语
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class EarningsCalculateDataAra {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "日期/名称")
|
||||||
|
@Excel(name = "التاريخ/الاسم")
|
||||||
|
String date;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-尖(kWh)")
|
||||||
|
@Excel(name = "كمية الشحن-نصيحة(kWh)")
|
||||||
|
BigDecimal chargeTip;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-峰(kWh)")
|
||||||
|
@Excel(name = "كمية الشحن-قمة(kWh)")
|
||||||
|
BigDecimal chargePeak;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-平(kWh)")
|
||||||
|
@Excel(name = "كمية الشحن-مسطح(kWh)")
|
||||||
|
BigDecimal chargeFlat;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-谷(kWh)")
|
||||||
|
@Excel(name = "كمية الشحن-وادي(kWh)")
|
||||||
|
BigDecimal chargeValley;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-深谷(kWh)")
|
||||||
|
@Excel(name = "كمية الشحن-وادي عميق(kWh)")
|
||||||
|
BigDecimal chargeDeepValley;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-总(kWh)")
|
||||||
|
@Excel(name = "كمية الشحن-المجموع(kWh)")
|
||||||
|
BigDecimal chargeElec;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-尖(kWh)")
|
||||||
|
@Excel(name = "التفريغ-نصيحة(kWh)")
|
||||||
|
BigDecimal dischargeTip;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-峰(kWh)")
|
||||||
|
@Excel(name = "التفريغ-قمة(kWh)")
|
||||||
|
BigDecimal dischargePeak;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-平(kWh)")
|
||||||
|
@Excel(name = "التفريغ-مسطح(kWh)")
|
||||||
|
BigDecimal dischargeFlat;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-谷(kWh)")
|
||||||
|
@Excel(name = "التفريغ-وادي(kWh)")
|
||||||
|
BigDecimal dischargeValley;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-深谷(kWh)")
|
||||||
|
@Excel(name = "التفريغ-وادي عميق(kWh)")
|
||||||
|
BigDecimal dischargeDeepValley;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-总(kWh)")
|
||||||
|
@Excel(name = "التفريغ-المجموع(kWh)")
|
||||||
|
BigDecimal dischargeElec;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "电站名称")
|
||||||
|
@ExcelIgnore
|
||||||
|
String name;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "电站id")
|
||||||
|
@ExcelIgnore
|
||||||
|
Integer stationId;
|
||||||
|
}
|
||||||
@ -0,0 +1,76 @@
|
|||||||
|
package com.ho.business.vo.resp.pcsStation;
|
||||||
|
|
||||||
|
import cn.afterturn.easypoi.excel.annotation.Excel;
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 德语
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class EarningsCalculateDataDe {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "日期/名称")
|
||||||
|
@Excel(name = "Datum/Name")
|
||||||
|
String date;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-尖(kWh)")
|
||||||
|
@Excel(name = "Ladefähigkeit-Spitze (kWh)")
|
||||||
|
BigDecimal chargeTip;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-峰(kWh)")
|
||||||
|
@Excel(name = "Ladefähigkeit-Gipfel(kWh)")
|
||||||
|
BigDecimal chargePeak;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-平(kWh)")
|
||||||
|
@Excel(name = "Ladefähigkeit-Flat(kWh)")
|
||||||
|
BigDecimal chargeFlat;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-谷(kWh)")
|
||||||
|
@Excel(name = "Ladefähigkeit-Valley(kWh)")
|
||||||
|
BigDecimal chargeValley;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-深谷(kWh)")
|
||||||
|
@Excel(name = "Ladefähigkeit-Deep Valley(kWh)")
|
||||||
|
BigDecimal chargeDeepValley;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-总(kWh)")
|
||||||
|
@Excel(name = "Ladefähigkeit-Total(kWh)")
|
||||||
|
BigDecimal chargeElec;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-尖(kWh)")
|
||||||
|
@Excel(name = "Entladung-Spitze(kWh)")
|
||||||
|
BigDecimal dischargeTip;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-峰(kWh)")
|
||||||
|
@Excel(name = "Entladung-Gipfel(kWh)")
|
||||||
|
BigDecimal dischargePeak;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-平(kWh)")
|
||||||
|
@Excel(name = "Entladung-Flat(kWh)")
|
||||||
|
BigDecimal dischargeFlat;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-谷(kWh)")
|
||||||
|
@Excel(name = "Entladung-Valley(kWh)")
|
||||||
|
BigDecimal dischargeValley;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-深谷(kWh)")
|
||||||
|
@Excel(name = "Entladung-Deep Valley(kWh)")
|
||||||
|
BigDecimal dischargeDeepValley;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-总(kWh)")
|
||||||
|
@Excel(name = "Entladung-Total(kWh)")
|
||||||
|
BigDecimal dischargeElec;
|
||||||
|
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "电站名称")
|
||||||
|
@ExcelIgnore
|
||||||
|
String name;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "电站id")
|
||||||
|
@ExcelIgnore
|
||||||
|
Integer stationId;
|
||||||
|
}
|
||||||
@ -7,10 +7,14 @@ import lombok.Data;
|
|||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 英语
|
||||||
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class EarningsCalculateDataEn {
|
public class EarningsCalculateDataEn {
|
||||||
|
|
||||||
@ApiModelProperty(value = "日期/名称")
|
@ApiModelProperty(value = "日期/名称")
|
||||||
@Excel(name = "date/name")
|
@Excel(name = "Date/Name")
|
||||||
String date;
|
String date;
|
||||||
|
|
||||||
@ApiModelProperty(value = "充电量-尖(kWh)")
|
@ApiModelProperty(value = "充电量-尖(kWh)")
|
||||||
@ -61,7 +65,6 @@ public class EarningsCalculateDataEn {
|
|||||||
@Excel(name = "Discharge-Total(kWh)")
|
@Excel(name = "Discharge-Total(kWh)")
|
||||||
BigDecimal dischargeElec;
|
BigDecimal dischargeElec;
|
||||||
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "电站名称")
|
@ApiModelProperty(value = "电站名称")
|
||||||
@ExcelIgnore
|
@ExcelIgnore
|
||||||
String name;
|
String name;
|
||||||
|
|||||||
@ -0,0 +1,73 @@
|
|||||||
|
package com.ho.business.vo.resp.pcsStation;
|
||||||
|
|
||||||
|
import cn.afterturn.easypoi.excel.annotation.Excel;
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
/**
|
||||||
|
* 法语
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class EarningsCalculateDataFra {
|
||||||
|
@ApiModelProperty(value = "日期/名称")
|
||||||
|
@Excel(name = "Date/Name")
|
||||||
|
String date;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-尖(kWh)")
|
||||||
|
@Excel(name = "Quantité de charge-Pointe (kWh)")
|
||||||
|
BigDecimal chargeTip;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-峰(kWh)")
|
||||||
|
@Excel(name = "Quantité de charge-crête (kWh)")
|
||||||
|
BigDecimal chargePeak;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-平(kWh)")
|
||||||
|
@Excel(name = "Quantité de charge-plate (kWh)")
|
||||||
|
BigDecimal chargeFlat;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-谷(kWh)")
|
||||||
|
@Excel(name = "Quantité de charge-Vallée (kWh)")
|
||||||
|
BigDecimal chargeValley;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-深谷(kWh)")
|
||||||
|
@Excel(name = "Quantité de charge-Vallée profonde (kWh)")
|
||||||
|
BigDecimal chargeDeepValley;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-总(kWh)")
|
||||||
|
@Excel(name = "Quantité de charge-total (kWh)")
|
||||||
|
BigDecimal chargeElec;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-尖(kWh)")
|
||||||
|
@Excel(name = "Quantité de décharge-Pointe (kWh)")
|
||||||
|
BigDecimal dischargeTip;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-峰(kWh)")
|
||||||
|
@Excel(name = "Quantité de décharge-crête (kWh)")
|
||||||
|
BigDecimal dischargePeak;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-平(kWh)")
|
||||||
|
@Excel(name = "Quantité de décharge-plate (kWh)")
|
||||||
|
BigDecimal dischargeFlat;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-谷(kWh)")
|
||||||
|
@Excel(name = "Quantité de décharge-Vallée (kWh)")
|
||||||
|
BigDecimal dischargeValley;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-深谷(kWh)")
|
||||||
|
@Excel(name = "Quantité de décharge-Vallée profonde (kWh)")
|
||||||
|
BigDecimal dischargeDeepValley;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-总(kWh)")
|
||||||
|
@Excel(name = "Quantité de décharge-total (kWh)")
|
||||||
|
BigDecimal dischargeElec;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "电站名称")
|
||||||
|
@ExcelIgnore
|
||||||
|
String name;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "电站id")
|
||||||
|
@ExcelIgnore
|
||||||
|
Integer stationId;
|
||||||
|
}
|
||||||
@ -0,0 +1,75 @@
|
|||||||
|
package com.ho.business.vo.resp.pcsStation;
|
||||||
|
|
||||||
|
import cn.afterturn.easypoi.excel.annotation.Excel;
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 波兰语
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class EarningsCalculateDataPl {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "日期/名称")
|
||||||
|
@Excel(name = "Data/Nazwa")
|
||||||
|
String date;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-尖(kWh)")
|
||||||
|
@Excel(name = "Poładowanie-koniec(kWh)")
|
||||||
|
BigDecimal chargeTip;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-峰(kWh)")
|
||||||
|
@Excel(name = "Poładowanie-szczyt(kWh)")
|
||||||
|
BigDecimal chargePeak;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-平(kWh)")
|
||||||
|
@Excel(name = "Poładowanie-stałe(kWh)")
|
||||||
|
BigDecimal chargeFlat;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-谷(kWh)")
|
||||||
|
@Excel(name = "Poładowanie-dolina(kWh)")
|
||||||
|
BigDecimal chargeValley;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-深谷(kWh)")
|
||||||
|
@Excel(name = "Poładowanie-Deep Valley(kWh)")
|
||||||
|
BigDecimal chargeDeepValley;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-总(kWh)")
|
||||||
|
@Excel(name = "Poładowanie-Całkowita(kWh)")
|
||||||
|
BigDecimal chargeElec;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-尖(kWh)")
|
||||||
|
@Excel(name = "Wyładowanie-koniec(kWh)")
|
||||||
|
BigDecimal dischargeTip;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-峰(kWh)")
|
||||||
|
@Excel(name = "Wyładowanie-szczyt(kWh)")
|
||||||
|
BigDecimal dischargePeak;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-平(kWh)")
|
||||||
|
@Excel(name = "Wyładowanie-stałe(kWh)")
|
||||||
|
BigDecimal dischargeFlat;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-谷(kWh)")
|
||||||
|
@Excel(name = "Wyładowanie-dolina(kWh)")
|
||||||
|
BigDecimal dischargeValley;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-深谷(kWh)")
|
||||||
|
@Excel(name = "Wyładowanie-Deep Valley(kWh)")
|
||||||
|
BigDecimal dischargeDeepValley;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-总(kWh)")
|
||||||
|
@Excel(name = "Wyładowanie-Całkowita(kWh)")
|
||||||
|
BigDecimal dischargeElec;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "电站名称")
|
||||||
|
@ExcelIgnore
|
||||||
|
String name;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "电站id")
|
||||||
|
@ExcelIgnore
|
||||||
|
Integer stationId;
|
||||||
|
}
|
||||||
@ -0,0 +1,75 @@
|
|||||||
|
package com.ho.business.vo.resp.pcsStation;
|
||||||
|
|
||||||
|
import cn.afterturn.easypoi.excel.annotation.Excel;
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 西班牙语
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class EarningsCalculateDataSpa {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "日期/名称")
|
||||||
|
@Excel(name = "Fecha/Nombre")
|
||||||
|
String date;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-尖(kWh)")
|
||||||
|
@Excel(name = "Capacidad de carga-Punta (kwh)")
|
||||||
|
BigDecimal chargeTip;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-峰(kWh)")
|
||||||
|
@Excel(name = "Capacidad de carga-pico (kwh)")
|
||||||
|
BigDecimal chargePeak;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-平(kWh)")
|
||||||
|
@Excel(name = "Capacidad de carga-plana (kwh)")
|
||||||
|
BigDecimal chargeFlat;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-谷(kWh)")
|
||||||
|
@Excel(name = "Capacidad de carga-Valle (kwh)")
|
||||||
|
BigDecimal chargeValley;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-深谷(kWh)")
|
||||||
|
@Excel(name = "Capacidad de carga-Valle profundo (kwh)")
|
||||||
|
BigDecimal chargeDeepValley;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量-总(kWh)")
|
||||||
|
@Excel(name = "Capacidad de carga-total (kwh)")
|
||||||
|
BigDecimal chargeElec;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-尖(kWh)")
|
||||||
|
@Excel(name = "Descarga-Punta (kwh)")
|
||||||
|
BigDecimal dischargeTip;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-峰(kWh)")
|
||||||
|
@Excel(name = "Descarga-pico (kwh)")
|
||||||
|
BigDecimal dischargePeak;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-平(kWh)")
|
||||||
|
@Excel(name = "Descarga-plano (kwh)")
|
||||||
|
BigDecimal dischargeFlat;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-谷(kWh)")
|
||||||
|
@Excel(name = "Descarga-Valle (kwh)")
|
||||||
|
BigDecimal dischargeValley;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-深谷(kWh)")
|
||||||
|
@Excel(name = "Descarga-Valle profundo (kwh)")
|
||||||
|
BigDecimal dischargeDeepValley;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量-总(kWh)")
|
||||||
|
@Excel(name = "Descarga-total (kwh)")
|
||||||
|
BigDecimal dischargeElec;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "电站名称")
|
||||||
|
@ExcelIgnore
|
||||||
|
String name;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "电站id")
|
||||||
|
@ExcelIgnore
|
||||||
|
Integer stationId;
|
||||||
|
}
|
||||||
@ -0,0 +1,42 @@
|
|||||||
|
package com.ho.business.vo.resp.pcsStation;
|
||||||
|
|
||||||
|
import cn.afterturn.easypoi.excel.annotation.Excel;
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 阿拉伯语
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class PcsElecDataAra {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "日期")
|
||||||
|
@Excel(name = "اسم/تاريخ")
|
||||||
|
String date;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量(kWh)")
|
||||||
|
@Excel(name = "(kWh)كمية الشحن")
|
||||||
|
BigDecimal chargeElec;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "纵坐标 光伏充电量")
|
||||||
|
BigDecimal PvChargeElec;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量(kWh)")
|
||||||
|
@Excel(name = "التفريغ الكهربائي(kWh)")
|
||||||
|
BigDecimal dischargeElec;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "纵坐标 收益")
|
||||||
|
@ExcelIgnore
|
||||||
|
BigDecimal income;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "电站名称")
|
||||||
|
@ExcelIgnore
|
||||||
|
String name;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "电站id")
|
||||||
|
@ExcelIgnore
|
||||||
|
Integer stationId;
|
||||||
|
}
|
||||||
@ -0,0 +1,42 @@
|
|||||||
|
package com.ho.business.vo.resp.pcsStation;
|
||||||
|
|
||||||
|
import cn.afterturn.easypoi.excel.annotation.Excel;
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 德语
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class PcsElecDataDe {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "日期")
|
||||||
|
@Excel(name = "Datum/Name")
|
||||||
|
String date;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量(kWh)")
|
||||||
|
@Excel(name = "Ladefähigkeit (kWh)")
|
||||||
|
BigDecimal chargeElec;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "纵坐标 光伏充电量")
|
||||||
|
BigDecimal PvChargeElec;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量(kWh)")
|
||||||
|
@Excel(name = "Entladung (kWh)")
|
||||||
|
BigDecimal dischargeElec;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "纵坐标 收益")
|
||||||
|
@ExcelIgnore
|
||||||
|
BigDecimal income;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "电站名称")
|
||||||
|
@ExcelIgnore
|
||||||
|
String name;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "电站id")
|
||||||
|
@ExcelIgnore
|
||||||
|
Integer stationId;
|
||||||
|
}
|
||||||
@ -8,19 +8,17 @@ import lombok.Data;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description 上海一体柜首页 充放电量出参
|
* 英语
|
||||||
* Author yule
|
|
||||||
* Date 2023/4/17 11:17
|
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class PcsElecDataEn {
|
public class PcsElecDataEn {
|
||||||
|
|
||||||
@ApiModelProperty(value = "日期")
|
@ApiModelProperty(value = "日期")
|
||||||
@Excel(name = "date/name")
|
@Excel(name = "Date/Name")
|
||||||
String date;
|
String date;
|
||||||
|
|
||||||
@ApiModelProperty(value = "充电量(kWh)")
|
@ApiModelProperty(value = "充电量(kWh)")
|
||||||
@Excel(name = "Charge-Total(kWh)")
|
@Excel(name = "Charging capacity(kWh)")
|
||||||
BigDecimal chargeElec;
|
BigDecimal chargeElec;
|
||||||
|
|
||||||
@ApiModelProperty(value = "纵坐标 光伏充电量")
|
@ApiModelProperty(value = "纵坐标 光伏充电量")
|
||||||
@ -28,7 +26,7 @@ public class PcsElecDataEn {
|
|||||||
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "放电量(kWh)")
|
@ApiModelProperty(value = "放电量(kWh)")
|
||||||
@Excel(name = "Discharge-Total(kWh)")
|
@Excel(name = "Discharge capacity(kWh)")
|
||||||
BigDecimal dischargeElec;
|
BigDecimal dischargeElec;
|
||||||
|
|
||||||
@ApiModelProperty(value = "纵坐标 收益")
|
@ApiModelProperty(value = "纵坐标 收益")
|
||||||
|
|||||||
@ -0,0 +1,43 @@
|
|||||||
|
package com.ho.business.vo.resp.pcsStation;
|
||||||
|
|
||||||
|
import cn.afterturn.easypoi.excel.annotation.Excel;
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 法语
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class PcsElecDataFra {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "日期")
|
||||||
|
@Excel(name = "Date/Nom")
|
||||||
|
String date;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量(kWh)")
|
||||||
|
@Excel(name = "Quantité de charge(kWh)")
|
||||||
|
BigDecimal chargeElec;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "纵坐标 光伏充电量")
|
||||||
|
BigDecimal PvChargeElec;
|
||||||
|
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量(kWh)")
|
||||||
|
@Excel(name = "Quantité de décharge(kWh)")
|
||||||
|
BigDecimal dischargeElec;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "纵坐标 收益")
|
||||||
|
@ExcelIgnore
|
||||||
|
BigDecimal income;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "电站名称")
|
||||||
|
@ExcelIgnore
|
||||||
|
String name;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "电站id")
|
||||||
|
@ExcelIgnore
|
||||||
|
Integer stationId;
|
||||||
|
}
|
||||||
@ -0,0 +1,43 @@
|
|||||||
|
package com.ho.business.vo.resp.pcsStation;
|
||||||
|
|
||||||
|
import cn.afterturn.easypoi.excel.annotation.Excel;
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 波兰语
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class PcsElecDataPl {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "日期")
|
||||||
|
@Excel(name = "Data/Nazwa")
|
||||||
|
String date;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量(kWh)")
|
||||||
|
@Excel(name = "Pojemność ładowania (kWh)")
|
||||||
|
BigDecimal chargeElec;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "纵坐标 光伏充电量")
|
||||||
|
BigDecimal PvChargeElec;
|
||||||
|
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量(kWh)")
|
||||||
|
@Excel(name = "Wyładowanie (kWh)")
|
||||||
|
BigDecimal dischargeElec;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "纵坐标 收益")
|
||||||
|
@ExcelIgnore
|
||||||
|
BigDecimal income;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "电站名称")
|
||||||
|
@ExcelIgnore
|
||||||
|
String name;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "电站id")
|
||||||
|
@ExcelIgnore
|
||||||
|
Integer stationId;
|
||||||
|
}
|
||||||
@ -0,0 +1,43 @@
|
|||||||
|
package com.ho.business.vo.resp.pcsStation;
|
||||||
|
|
||||||
|
import cn.afterturn.easypoi.excel.annotation.Excel;
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 西班牙语
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class PcsElecDataSpa {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "日期")
|
||||||
|
@Excel(name = "Fecha/Nombre")
|
||||||
|
String date;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "充电量(kWh)")
|
||||||
|
@Excel(name = "Capacidad de carga (kwh)")
|
||||||
|
BigDecimal chargeElec;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "纵坐标 光伏充电量")
|
||||||
|
BigDecimal PvChargeElec;
|
||||||
|
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "放电量(kWh)")
|
||||||
|
@Excel(name = "Descarga de energía (kwh)")
|
||||||
|
BigDecimal dischargeElec;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "纵坐标 收益")
|
||||||
|
@ExcelIgnore
|
||||||
|
BigDecimal income;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "电站名称")
|
||||||
|
@ExcelIgnore
|
||||||
|
String name;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "电站id")
|
||||||
|
@ExcelIgnore
|
||||||
|
Integer stationId;
|
||||||
|
}
|
||||||
@ -43,4 +43,18 @@ public class PcsTotalData {
|
|||||||
@ApiModelProperty(value = "额定容量")
|
@ApiModelProperty(value = "额定容量")
|
||||||
BigDecimal rateCapacity;
|
BigDecimal rateCapacity;
|
||||||
|
|
||||||
|
//2025-11-13 储能加入mppt模块开发
|
||||||
|
@ApiModelProperty(value = "当前功率(mppt)")
|
||||||
|
BigDecimal pvCurrentPower;
|
||||||
|
@ApiModelProperty(value = "日发电量(mppt)")
|
||||||
|
BigDecimal dailyReleaseElec;
|
||||||
|
@ApiModelProperty(value = "日收益(mppt)")
|
||||||
|
BigDecimal todayIncone;
|
||||||
|
@ApiModelProperty(value = "总发电量(mppt)")
|
||||||
|
BigDecimal totalReleaseElec;
|
||||||
|
@ApiModelProperty(value = "总收益(mppt)")
|
||||||
|
BigDecimal totalIncome;
|
||||||
|
@ApiModelProperty(value = "额定功率(mppt)")
|
||||||
|
BigDecimal pvPower;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,72 @@
|
|||||||
|
package com.ho.business.vo.resp.point;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.ho.common.tools.constant.CommonConstant;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
/**
|
||||||
|
* @author kerwin 阿拉伯语
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ExcelIgnoreUnannotated
|
||||||
|
public class PointRespAraVO {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "id")
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备映射表的id")
|
||||||
|
Integer deviceTypeColId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "站点id")
|
||||||
|
Integer stationId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备id")
|
||||||
|
Integer srcId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备类型")
|
||||||
|
@ExcelProperty(value = "نوع الجهاز",index = 3)
|
||||||
|
String deviceType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "1遥信 2遥测 3遥控")
|
||||||
|
private Integer sensType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备名")
|
||||||
|
@ExcelProperty(value = "اسم الجهاز",index = 2)
|
||||||
|
String deviceName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "点表字段")
|
||||||
|
@ExcelProperty(value = "حقل نقطة الجدول",index = 1)
|
||||||
|
String col;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "点表字段名称")
|
||||||
|
@ExcelProperty(value = "نقطة الجدول اسم الحقل",index = 0)
|
||||||
|
String colName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "当前值")
|
||||||
|
@ExcelProperty(value = "القيمة الحالية",index = 7)
|
||||||
|
BigDecimal value;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "单位")
|
||||||
|
@ExcelProperty(value = "وحدة",index = 8)
|
||||||
|
String unit;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "最大值")
|
||||||
|
@ExcelProperty(value = "القيمة القصوى",index = 4)
|
||||||
|
BigDecimal maxValue;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "最小值")
|
||||||
|
@ExcelProperty(value = "قيمة الحد الأدنى",index = 5)
|
||||||
|
BigDecimal minValue;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "更新时间")
|
||||||
|
@JsonFormat(pattern = CommonConstant.DATE)
|
||||||
|
@ExcelProperty(value = "وقت التحديث",index = 6)
|
||||||
|
String updateTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "是否具有品质位 1是 2否")
|
||||||
|
private Integer qualityLevel;
|
||||||
|
}
|
||||||
@ -0,0 +1,72 @@
|
|||||||
|
package com.ho.business.vo.resp.point;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.ho.common.tools.constant.CommonConstant;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
/**
|
||||||
|
* @author kerwin 德语
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ExcelIgnoreUnannotated
|
||||||
|
public class PointRespDeVO {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "id")
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备映射表的id")
|
||||||
|
Integer deviceTypeColId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "站点id")
|
||||||
|
Integer stationId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备id")
|
||||||
|
Integer srcId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备类型")
|
||||||
|
@ExcelProperty(value = "Gerätetyp",index = 3)
|
||||||
|
String deviceType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "1遥信 2遥测 3遥控")
|
||||||
|
private Integer sensType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备名")
|
||||||
|
@ExcelProperty(value = "Gerätenamen",index = 2)
|
||||||
|
String deviceName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "点表字段")
|
||||||
|
@ExcelProperty(value = "Punkttabellenfeld",index = 1)
|
||||||
|
String col;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "点表字段名称")
|
||||||
|
@ExcelProperty(value = "Name des Punkttabellenfeldes",index = 0)
|
||||||
|
String colName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "当前值")
|
||||||
|
@ExcelProperty(value = "Aktueller Wert",index = 7)
|
||||||
|
BigDecimal value;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "单位")
|
||||||
|
@ExcelProperty(value = "Einheit",index = 8)
|
||||||
|
String unit;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "最大值")
|
||||||
|
@ExcelProperty(value = "Maximalwert",index = 4)
|
||||||
|
BigDecimal maxValue;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "最小值")
|
||||||
|
@ExcelProperty(value = "Mindestwert",index = 5)
|
||||||
|
BigDecimal minValue;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "更新时间")
|
||||||
|
@JsonFormat(pattern = CommonConstant.DATE)
|
||||||
|
@ExcelProperty(value = "Aktualisierungszeit",index = 6)
|
||||||
|
String updateTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "是否具有品质位 1是 2否")
|
||||||
|
private Integer qualityLevel;
|
||||||
|
}
|
||||||
@ -0,0 +1,74 @@
|
|||||||
|
package com.ho.business.vo.resp.point;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.ho.common.tools.constant.CommonConstant;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author kerwin 英语
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ExcelIgnoreUnannotated
|
||||||
|
public class PointRespEnVO {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "id")
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备映射表的id")
|
||||||
|
Integer deviceTypeColId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "站点id")
|
||||||
|
Integer stationId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备id")
|
||||||
|
Integer srcId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备类型")
|
||||||
|
@ExcelProperty(value = "Device type",index = 3)
|
||||||
|
String deviceType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "1遥信 2遥测 3遥控")
|
||||||
|
private Integer sensType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备名")
|
||||||
|
@ExcelProperty(value = "Associated device",index = 2)
|
||||||
|
String deviceName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "点表字段")
|
||||||
|
@ExcelProperty(value = "Code",index = 1)
|
||||||
|
String col;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "点表字段名称")
|
||||||
|
@ExcelProperty(value = "Name",index = 0)
|
||||||
|
String colName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "当前值")
|
||||||
|
@ExcelProperty(value = "Current value",index = 7)
|
||||||
|
BigDecimal value;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "单位")
|
||||||
|
@ExcelProperty(value = "Unit",index = 8)
|
||||||
|
String unit;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "最大值")
|
||||||
|
@ExcelProperty(value = "Maximum",index = 4)
|
||||||
|
BigDecimal maxValue;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "最小值")
|
||||||
|
@ExcelProperty(value = "Minimum",index = 5)
|
||||||
|
BigDecimal minValue;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "更新时间")
|
||||||
|
@JsonFormat(pattern = CommonConstant.DATE)
|
||||||
|
@ExcelProperty(value = "Update time",index = 6)
|
||||||
|
String updateTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "是否具有品质位 1是 2否")
|
||||||
|
private Integer qualityLevel;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,72 @@
|
|||||||
|
package com.ho.business.vo.resp.point;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.ho.common.tools.constant.CommonConstant;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
/**
|
||||||
|
* @author kerwin 法语
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ExcelIgnoreUnannotated
|
||||||
|
public class PointRespFraVO {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "id")
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备映射表的id")
|
||||||
|
Integer deviceTypeColId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "站点id")
|
||||||
|
Integer stationId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备id")
|
||||||
|
Integer srcId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备类型")
|
||||||
|
@ExcelProperty(value = "Type d'équipement",index = 3)
|
||||||
|
String deviceType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "1遥信 2遥测 3遥控")
|
||||||
|
private Integer sensType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备名")
|
||||||
|
@ExcelProperty(value = "Nom de l'équipement",index = 2)
|
||||||
|
String deviceName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "点表字段")
|
||||||
|
@ExcelProperty(value = "Champ table de points",index = 1)
|
||||||
|
String col;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "点表字段名称")
|
||||||
|
@ExcelProperty(value = "Nom du champ table de points",index = 0)
|
||||||
|
String colName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "当前值")
|
||||||
|
@ExcelProperty(value = "Valeur actuelle",index = 7)
|
||||||
|
BigDecimal value;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "单位")
|
||||||
|
@ExcelProperty(value = "Unité",index = 8)
|
||||||
|
String unit;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "最大值")
|
||||||
|
@ExcelProperty(value = "Valeur maximale",index = 4)
|
||||||
|
BigDecimal maxValue;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "最小值")
|
||||||
|
@ExcelProperty(value = "Valeur minimale",index = 5)
|
||||||
|
BigDecimal minValue;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "更新时间")
|
||||||
|
@JsonFormat(pattern = CommonConstant.DATE)
|
||||||
|
@ExcelProperty(value = "Temps de mise à jour",index = 6)
|
||||||
|
String updateTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "是否具有品质位 1是 2否")
|
||||||
|
private Integer qualityLevel;
|
||||||
|
}
|
||||||
@ -0,0 +1,73 @@
|
|||||||
|
package com.ho.business.vo.resp.point;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.ho.common.tools.constant.CommonConstant;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
/**
|
||||||
|
* @author kerwin 波兰语
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ExcelIgnoreUnannotated
|
||||||
|
public class PointRespPlVO {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "id")
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备映射表的id")
|
||||||
|
Integer deviceTypeColId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "站点id")
|
||||||
|
Integer stationId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备id")
|
||||||
|
Integer srcId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备类型")
|
||||||
|
@ExcelProperty(value = "Rodzaj urządzenia",index = 3)
|
||||||
|
String deviceType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "1遥信 2遥测 3遥控")
|
||||||
|
private Integer sensType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备名")
|
||||||
|
@ExcelProperty(value = "Nazwa urządzenia",index = 2)
|
||||||
|
String deviceName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "点表字段")
|
||||||
|
@ExcelProperty(value = "Pole tabeli punktów",index = 1)
|
||||||
|
String col;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "点表字段名称")
|
||||||
|
@ExcelProperty(value = "Nazwa pola tabeli punktów",index = 0)
|
||||||
|
String colName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "当前值")
|
||||||
|
@ExcelProperty(value = "Bieżąca wartość",index = 7)
|
||||||
|
BigDecimal value;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "单位")
|
||||||
|
@ExcelProperty(value = "Jednostki",index = 8)
|
||||||
|
String unit;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "最大值")
|
||||||
|
@ExcelProperty(value = "Maksymalna wartość",index = 4)
|
||||||
|
BigDecimal maxValue;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "最小值")
|
||||||
|
@ExcelProperty(value = "Wartość minimalna",index = 5)
|
||||||
|
BigDecimal minValue;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "更新时间")
|
||||||
|
@JsonFormat(pattern = CommonConstant.DATE)
|
||||||
|
@ExcelProperty(value = "Czas aktualizacji",index = 6)
|
||||||
|
String updateTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "是否具有品质位 1是 2否")
|
||||||
|
private Integer qualityLevel;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,72 @@
|
|||||||
|
package com.ho.business.vo.resp.point;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.ho.common.tools.constant.CommonConstant;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
/**
|
||||||
|
* @author kerwin 西班牙语
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ExcelIgnoreUnannotated
|
||||||
|
public class PointRespSpaVO {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "id")
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备映射表的id")
|
||||||
|
Integer deviceTypeColId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "站点id")
|
||||||
|
Integer stationId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备id")
|
||||||
|
Integer srcId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备类型")
|
||||||
|
@ExcelProperty(value = "Tipo de dispositivo",index = 3)
|
||||||
|
String deviceType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "1遥信 2遥测 3遥控")
|
||||||
|
private Integer sensType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备名")
|
||||||
|
@ExcelProperty(value = "Nombre del dispositivo",index = 2)
|
||||||
|
String deviceName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "点表字段")
|
||||||
|
@ExcelProperty(value = "Campos de la tabla de puntos",index = 1)
|
||||||
|
String col;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "点表字段名称")
|
||||||
|
@ExcelProperty(value = "Nombre del campo de la tabla de puntos",index = 0)
|
||||||
|
String colName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "当前值")
|
||||||
|
@ExcelProperty(value = "Valor actual",index = 7)
|
||||||
|
BigDecimal value;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "单位")
|
||||||
|
@ExcelProperty(value = "Unidad",index = 8)
|
||||||
|
String unit;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "最大值")
|
||||||
|
@ExcelProperty(value = "Valor máximo",index = 4)
|
||||||
|
BigDecimal maxValue;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "最小值")
|
||||||
|
@ExcelProperty(value = "Valor mínimo",index = 5)
|
||||||
|
BigDecimal minValue;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "更新时间")
|
||||||
|
@JsonFormat(pattern = CommonConstant.DATE)
|
||||||
|
@ExcelProperty(value = "Tiempo de actualización",index = 6)
|
||||||
|
String updateTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "是否具有品质位 1是 2否")
|
||||||
|
private Integer qualityLevel;
|
||||||
|
}
|
||||||
@ -99,6 +99,9 @@ public interface TdFeignClient {
|
|||||||
@PostMapping(value = ContextConstant.TD_CONTEXT + "device001/getToDayPVCharge")
|
@PostMapping(value = ContextConstant.TD_CONTEXT + "device001/getToDayPVCharge")
|
||||||
DataResult<StationHomeRespVo> getToDayPVCharge(TdBaseTimeQuery tdBaseTimeQuery);
|
DataResult<StationHomeRespVo> getToDayPVCharge(TdBaseTimeQuery tdBaseTimeQuery);
|
||||||
|
|
||||||
|
@PostMapping(value = ContextConstant.TD_CONTEXT + "device001/getToDayPVMpptCharge")
|
||||||
|
DataResult<StationHomeRespVo> getToDayPVMpptCharge(TdBaseTimeQuery tdBaseTimeQuery);
|
||||||
|
|
||||||
//查询遥信值五遥
|
//查询遥信值五遥
|
||||||
@PostMapping(value = ContextConstant.TD_CONTEXT + "device001/querySignal")
|
@PostMapping(value = ContextConstant.TD_CONTEXT + "device001/querySignal")
|
||||||
DataResult<List<PointCurveResp>> querySignal(@RequestBody TdBaseTimeQuery tdBaseTimeQuery);
|
DataResult<List<PointCurveResp>> querySignal(@RequestBody TdBaseTimeQuery tdBaseTimeQuery);
|
||||||
|
|||||||
@ -168,6 +168,12 @@ public class TdFeignClientFallback implements TdFeignClient{
|
|||||||
throw new BusinessException(BaseResponseCode.FEIGN_CALL_FAIL);
|
throw new BusinessException(BaseResponseCode.FEIGN_CALL_FAIL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DataResult<StationHomeRespVo> getToDayPVMpptCharge(TdBaseTimeQuery tdBaseTimeQuery) {
|
||||||
|
log.error("调用 [TdClient.getToDayPVCharge] 异常!");
|
||||||
|
throw new BusinessException(BaseResponseCode.FEIGN_CALL_FAIL);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DataResult modifyHistoryData(TdBaseTimeQuery tdBaseTimeQuery) {
|
public DataResult modifyHistoryData(TdBaseTimeQuery tdBaseTimeQuery) {
|
||||||
log.error("调用 [TdClient.modifyHistoryData] 异常!");
|
log.error("调用 [TdClient.modifyHistoryData] 异常!");
|
||||||
|
|||||||
@ -54,7 +54,7 @@ public interface DeviceMapper {
|
|||||||
* @param needAccessPoint 是否需要接入点,不为空表示需要
|
* @param needAccessPoint 是否需要接入点,不为空表示需要
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<DeviceRespVO> selectByIdAndSrcIdNotZero(Integer stationId,Integer needHide,Integer needAccessPoint);
|
List<DeviceRespVO> selectByIdAndSrcIdNotZero(Integer stationId,Integer needHide,Integer needAccessPoint,String lang);
|
||||||
|
|
||||||
int insertBatch(@Param("list")List<Device> deviceList);
|
int insertBatch(@Param("list")List<Device> deviceList);
|
||||||
|
|
||||||
|
|||||||
@ -32,7 +32,7 @@ public interface DeviceTypeColMapper {
|
|||||||
|
|
||||||
int updateList(@Param("deviceTypeColList")List<DeviceTypeCol> deviceTypeColList);
|
int updateList(@Param("deviceTypeColList")List<DeviceTypeCol> deviceTypeColList);
|
||||||
//deviceType查询
|
//deviceType查询
|
||||||
List<DeviceTypeCol> selectByDeviceType(String deviceType);
|
List<DeviceTypeCol> selectByDeviceType(@Param("deviceType")String deviceType,@Param("lang") String lang);
|
||||||
|
|
||||||
List<DeviceTypeCol> selectByParam(@Param("deviceTypeCol") DeviceTypeCol deviceTypeCol);
|
List<DeviceTypeCol> selectByParam(@Param("deviceTypeCol") DeviceTypeCol deviceTypeCol);
|
||||||
|
|
||||||
@ -53,7 +53,7 @@ public interface DeviceTypeColMapper {
|
|||||||
List<ModelDeviceColComp> getCompListByType(@Param("type") String type, @Param("typeName") String typeName, @Param("modelCol") String modelCol);
|
List<ModelDeviceColComp> getCompListByType(@Param("type") String type, @Param("typeName") String typeName, @Param("modelCol") String modelCol);
|
||||||
|
|
||||||
|
|
||||||
List<DeviceTypeCol> selectSameCol(@Param("deviceType") String deviceType, @Param("list") List<String> collect);
|
List<DeviceTypeCol> selectSameCol(@Param("deviceType") String deviceType, @Param("list") List<String> collect,@Param("lang") String lang);
|
||||||
|
|
||||||
//批量新增设备表字段
|
//批量新增设备表字段
|
||||||
void addBatchDevice(@Param("list") List<DeviceTypeCol> deviceTypeColList);
|
void addBatchDevice(@Param("list") List<DeviceTypeCol> deviceTypeColList);
|
||||||
@ -65,7 +65,7 @@ public interface DeviceTypeColMapper {
|
|||||||
void deleteBatchModel(List<Integer> ids);
|
void deleteBatchModel(List<Integer> ids);
|
||||||
|
|
||||||
|
|
||||||
DeviceTypeCol selectTypeAndCol(String col, String deviceType);
|
DeviceTypeCol selectTypeAndCol(String col, String deviceType,String lang);
|
||||||
|
|
||||||
Integer selectCountByDeviceType(@Param("deviceTypeCol")DeviceTypeCol deviceTypeCol);
|
Integer selectCountByDeviceType(@Param("deviceTypeCol")DeviceTypeCol deviceTypeCol);
|
||||||
|
|
||||||
|
|||||||
@ -29,8 +29,6 @@ public interface EarningsCalculateMapper {
|
|||||||
|
|
||||||
int deleteByDay(@Param("day") String day, @Param("typeList") List<Integer> typeList);
|
int deleteByDay(@Param("day") String day, @Param("typeList") List<Integer> typeList);
|
||||||
|
|
||||||
int deleteByStationAndDay(@Param("day") String day, @Param("typeList") List<Integer> typeList, @Param("stationId") Integer stationId);
|
|
||||||
|
|
||||||
int insertBatch(List<EarningsCalculate> list);
|
int insertBatch(List<EarningsCalculate> list);
|
||||||
// 类型是传入多个
|
// 类型是传入多个
|
||||||
//List<EarningsCalculate> selectList(@Param("stationId") Integer stationId, @Param("typeList") List<Integer> typeList, @Param("beginTime") String beginTime, @Param("endTime") String endTime);
|
//List<EarningsCalculate> selectList(@Param("stationId") Integer stationId, @Param("typeList") List<Integer> typeList, @Param("beginTime") String beginTime, @Param("endTime") String endTime);
|
||||||
@ -50,7 +48,7 @@ public interface EarningsCalculateMapper {
|
|||||||
*/
|
*/
|
||||||
List<EarningsCalculate> totalListByDay(@Param("ec") EarningsCalculateReq earningsCalculateReq);
|
List<EarningsCalculate> totalListByDay(@Param("ec") EarningsCalculateReq earningsCalculateReq);
|
||||||
|
|
||||||
public List<EarningsCalculateSub> queryElecTemplateSubByStationId(@Param("stationId")Integer stationId, @Param("templateType")Integer templateType,@Param("date")String date);
|
public List<EarningsCalculateSub> queryElecTemplateSubByStationId(@Param("stationId")Integer stationId, @Param("templateType")Integer templateType,@Param("date")String date,@Param("elecType")Integer elecType);
|
||||||
|
|
||||||
public List<EarningsCalculateSub> queryElecRateTemplateSubByStationId(@Param("stationId")Integer stationId, @Param("templateType")Integer templateType,@Param("date")String date);
|
public List<EarningsCalculateSub> queryElecRateTemplateSubByStationId(@Param("stationId")Integer stationId, @Param("templateType")Integer templateType,@Param("date")String date);
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,30 @@
|
|||||||
|
package com.ho.business.mapper;
|
||||||
|
|
||||||
|
import com.ho.business.entity.EarningsCalculate;
|
||||||
|
import com.ho.business.entity.EarningsCalculateMppt;
|
||||||
|
import com.ho.business.vo.req.bigScreen.CommonBigScreenReq;
|
||||||
|
import com.ho.business.vo.resp.InverterResp.PowerGenerateRespVO;
|
||||||
|
import com.ho.business.vo.resp.profit.DayProfitType;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Mapper
|
||||||
|
public interface EarningsCalculateMpptMapper {
|
||||||
|
|
||||||
|
int deleteByDay(@Param("day") String day, @Param("typeList") List<Integer> typeList);
|
||||||
|
|
||||||
|
int insertBatch(List<EarningsCalculateMppt> list);
|
||||||
|
|
||||||
|
List<PowerGenerateRespVO> countPvIncome(@Param("stationId") Integer stationId, @Param("beginTime")String beginTime, @Param("endTime")String endTime);
|
||||||
|
|
||||||
|
BigDecimal countAllPvIncome(@Param("stationId")Integer stationId,@Param("beginTime")String beginTime, @Param("endTime")String endTime);
|
||||||
|
|
||||||
|
List<DayProfitType> getProfit(@Param("beginTime")String begin, @Param("endTime")String end, @Param("groupId")Integer groupId);
|
||||||
|
|
||||||
|
String getFirstTime();
|
||||||
|
|
||||||
|
List<DayProfitType> getEarningsByParam(CommonBigScreenReq req);
|
||||||
|
}
|
||||||
@ -4,6 +4,7 @@ package com.ho.business.mapper;
|
|||||||
import com.ho.business.entity.ElecMeterValue;
|
import com.ho.business.entity.ElecMeterValue;
|
||||||
import com.ho.business.vo.req.bigScreen.CommonBigScreenReq;
|
import com.ho.business.vo.req.bigScreen.CommonBigScreenReq;
|
||||||
import com.ho.business.vo.req.carbin.ElecMeterReq;
|
import com.ho.business.vo.req.carbin.ElecMeterReq;
|
||||||
|
import com.ho.business.vo.resp.profit.DayProfitType;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
@ -54,4 +55,7 @@ public interface ElecMeterValueMapper {
|
|||||||
|
|
||||||
List<ElecMeterValue> selectAllList(@Param("stationId") Integer stationId, @Param("typeList") List<Integer> typeList, @Param("beginTime") String beginTime, @Param("endTime") String endTime,
|
List<ElecMeterValue> selectAllList(@Param("stationId") Integer stationId, @Param("typeList") List<Integer> typeList, @Param("beginTime") String beginTime, @Param("endTime") String endTime,
|
||||||
@Param("deviceTypeList") List<Integer> deviceTypeList);
|
@Param("deviceTypeList") List<Integer> deviceTypeList);
|
||||||
|
|
||||||
|
List<DayProfitType> getElec(@Param("beginTime") String beginTime,@Param("endTime")String endTime,
|
||||||
|
@Param("groupId") Integer groupId, @Param("type")Integer type,List<Integer> stationIds);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -33,7 +33,7 @@ public interface PlanningCurveIssueMapper {
|
|||||||
|
|
||||||
void addPlanningCurveHistory(@Param("condition") List<PlanningCurveHistory> PlanningCurveHistory);
|
void addPlanningCurveHistory(@Param("condition") List<PlanningCurveHistory> PlanningCurveHistory);
|
||||||
|
|
||||||
List<PlanCurveOperationRecordReq> getPlanCurveOperationList(@Param("stationId") String stationId);
|
List<PlanCurveOperationRecordReq> getPlanCurveOperationList(@Param("stationId") String stationId,@Param("lang") String lang);
|
||||||
|
|
||||||
List<PlanningCurveHistory> getPlanningCurveHistory(@Param("planningCurveId") String planningCurveId);
|
List<PlanningCurveHistory> getPlanningCurveHistory(@Param("planningCurveId") String planningCurveId);
|
||||||
|
|
||||||
|
|||||||
@ -62,5 +62,4 @@ public interface PointConfigMapper {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
int updateList(List<PointConfig> list);
|
int updateList(List<PointConfig> list);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -38,7 +38,7 @@ public interface PointPolysemyConfigMapper {
|
|||||||
* @param ids
|
* @param ids
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<PointPolysemyConfig> selectByPointIds(@Param("ids") List<Integer> ids);
|
List<PointPolysemyConfig> selectByPointIds(@Param("ids") List<Integer> ids,@Param("lang") String lang);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据id删除配置信息
|
* 根据id删除配置信息
|
||||||
|
|||||||
@ -36,7 +36,7 @@ public interface StationMapper {
|
|||||||
|
|
||||||
List<Station> selectByDimName(String name,Integer groupId);
|
List<Station> selectByDimName(String name,Integer groupId);
|
||||||
|
|
||||||
List<Station> selectByIds(@Param("ids") List<Integer> ids,@Param("lang") String lang);
|
List<Station> selectByIds(List<Integer> ids,String lang);
|
||||||
|
|
||||||
Station selectByNameAndId(@Param("name") String name, @Param("id") Integer id, @Param("deptId") Integer deptId);
|
Station selectByNameAndId(@Param("name") String name, @Param("id") Integer id, @Param("deptId") Integer deptId);
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,21 @@
|
|||||||
|
package com.ho.business.mapper;
|
||||||
|
|
||||||
|
import com.ho.business.entity.StationRemoteControl;
|
||||||
|
import com.ho.business.vo.req.StationRemoteControlPageVo;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Mapper
|
||||||
|
public interface StationRemoteControlMapper {
|
||||||
|
void insert(@Param("entity") StationRemoteControl entity);
|
||||||
|
|
||||||
|
void update(@Param("entity") StationRemoteControl entity);
|
||||||
|
|
||||||
|
void delete(@Param("id") Integer id);
|
||||||
|
|
||||||
|
StationRemoteControl search(@Param("stationId") Integer stationId);
|
||||||
|
|
||||||
|
List<StationRemoteControl> selectList(@Param("vo") StationRemoteControlPageVo vo);
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
package com.ho.business.mapper;
|
||||||
|
|
||||||
|
import com.ho.business.entity.TranslateName;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author xwz
|
||||||
|
* @description 针对表【Dict_Province】的数据库操作Mapper
|
||||||
|
* @createDate 2024-12-18
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface TranslateNameMapper {
|
||||||
|
|
||||||
|
List<TranslateName> getDictNation();
|
||||||
|
|
||||||
|
TranslateName selectNameLang(@Param("name")String name);
|
||||||
|
|
||||||
|
int insert(@Param("vo")TranslateName vo);
|
||||||
|
|
||||||
|
int updateById(@Param("vo") TranslateName vo);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,21 +0,0 @@
|
|||||||
package com.ho.business.mapper;
|
|
||||||
|
|
||||||
import com.ho.business.entity.TranslateNation;
|
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author xwz
|
|
||||||
* @description 针对表【Dict_Province】的数据库操作Mapper
|
|
||||||
* @createDate 2024-12-18
|
|
||||||
*/
|
|
||||||
@Mapper
|
|
||||||
public interface TranslateNationMapper {
|
|
||||||
|
|
||||||
List<TranslateNation> getDictNation();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,354 +0,0 @@
|
|||||||
package com.ho.business.service;
|
|
||||||
|
|
||||||
import cn.hutool.core.date.DateTime;
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
|
||||||
import com.alibaba.fastjson.JSON;
|
|
||||||
import com.alibaba.fastjson.JSONArray;
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
|
||||||
import com.google.common.collect.Maps;
|
|
||||||
import com.ho.business.constant.DeviceTypeConstant;
|
|
||||||
import com.ho.business.entity.EarningsCalculate;
|
|
||||||
import com.ho.business.entity.ElecMeterValue;
|
|
||||||
import com.ho.business.mapper.EarningsCalculateMapper;
|
|
||||||
import com.ho.business.vo.req.carbin.EarningsCalculateReq;
|
|
||||||
import com.ho.business.vo.resp.ShipStationRespVO;
|
|
||||||
import com.ho.common.tools.constant.CommonConstant;
|
|
||||||
import com.ho.common.tools.service.RedisService;
|
|
||||||
import com.ho.common.tools.util.HttpUtils;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.time.Instant;
|
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.time.ZoneId;
|
|
||||||
import java.time.format.DateTimeFormatter;
|
|
||||||
import java.util.*;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 成都巨石 能源 储能
|
|
||||||
* 成都巨石能源 API 接口 服务
|
|
||||||
*
|
|
||||||
* @author kerwin
|
|
||||||
*/
|
|
||||||
@Service
|
|
||||||
@Slf4j
|
|
||||||
public class BoulderEnergyService {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取token 参数 appAccount
|
|
||||||
*/
|
|
||||||
private static final String APP_ACCOUNT = "cdjs_app";
|
|
||||||
/**
|
|
||||||
* 获取token 参数 appSecretKey
|
|
||||||
*/
|
|
||||||
private static final String APP_SECRET_KEY = "cdjs@0108";
|
|
||||||
/**
|
|
||||||
* 中车- 获取电站id
|
|
||||||
*/
|
|
||||||
private static final Integer BOULDER_STATION_ID = 11006;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 中车- 获取token Url
|
|
||||||
*/
|
|
||||||
private static final String TOKEN_URL = "http://111.15.176.77:18082/gate-newpc/zhny-openapi/openapi/v1/authentication/getAccessToken";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 中车- 统计数据 Url
|
|
||||||
*/
|
|
||||||
private static final String BOULDER_DATA_URL = "http://111.15.176.77:18082/gate-newpc/zhny-openapi/openapi/v1/statistics/station/qryIncDayBill";
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private RedisService redisService;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
ElecMeterValueService elecMeterValueService;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
EarningsCalculateMapper earningsCalculateMapper;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 中车能源 - 获取token
|
|
||||||
* @return token
|
|
||||||
*/
|
|
||||||
public String getToken(){
|
|
||||||
String token = null;
|
|
||||||
if(redisService.hasKey(CommonConstant.BOULDER_ENERGY_TOKEN_KEY)){
|
|
||||||
token = (String)redisService.get(CommonConstant.BOULDER_ENERGY_TOKEN_KEY);
|
|
||||||
return token;
|
|
||||||
}
|
|
||||||
Map<String, Object> params = Maps.newHashMap();
|
|
||||||
params.put("appAccount",APP_ACCOUNT);
|
|
||||||
params.put("appSecretKey",APP_SECRET_KEY);
|
|
||||||
try {
|
|
||||||
String json = HttpUtils.postWithJson(TOKEN_URL,params);
|
|
||||||
log.info("json:" + TOKEN_URL);
|
|
||||||
log.info("json:" + json);
|
|
||||||
JSONObject jsonObject = JSONObject.parseObject(json);
|
|
||||||
Integer code = jsonObject.getInteger("code");
|
|
||||||
if(CommonConstant.HttpCode.SUCCESS_CODE.equals(code)){
|
|
||||||
JSONObject data = jsonObject.getJSONObject("data");
|
|
||||||
token = data.getString("accessToken");
|
|
||||||
//redis 缓存
|
|
||||||
redisService.set(CommonConstant.BOULDER_ENERGY_TOKEN_KEY,token,50, TimeUnit.SECONDS);
|
|
||||||
}
|
|
||||||
} catch (IOException e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
return token;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 中车能源 - 统计数据
|
|
||||||
* @param beginTime 开始时间
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public String getBoulderData(String beginTime){
|
|
||||||
Map<String, String> headers = new HashMap<>();
|
|
||||||
headers.put("Authorization", getToken());
|
|
||||||
Map<String, Object> params = new HashMap<>();
|
|
||||||
params.put("stationCode","SC020075040001");
|
|
||||||
params.put("time",beginTime);
|
|
||||||
String contentType = "application/json; charset=utf-8";
|
|
||||||
try {
|
|
||||||
String json = HttpUtils.postWithHeaders(BOULDER_DATA_URL,HttpUtils.mapToJson(params),contentType,headers);
|
|
||||||
log.info("MAIN_URL:" + BOULDER_DATA_URL);
|
|
||||||
log.info("json:" + json);
|
|
||||||
JSONObject jsonObject = JSONObject.parseObject(json);
|
|
||||||
Integer code = jsonObject.getInteger("code");
|
|
||||||
if(CommonConstant.HttpCode.SUCCESS_CODE.equals(code)){
|
|
||||||
String data = jsonObject.getString("data");
|
|
||||||
JSONObject dataJson = JSONObject.parseObject(data);
|
|
||||||
return dataJson.getString("records");
|
|
||||||
}
|
|
||||||
} catch (IOException e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
/*****************************************业务处理******************************************************/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 中车 - 获取电站历史收益、充放电数据并存储
|
|
||||||
*/
|
|
||||||
public void getBoulderEleIncome(String beginTime){
|
|
||||||
DateTime yesterday = DateUtil.yesterday();
|
|
||||||
String yesterdayStr = DateUtil.formatDate(yesterday);
|
|
||||||
if(beginTime==null){
|
|
||||||
beginTime = yesterdayStr;
|
|
||||||
}
|
|
||||||
long timestamp = dateStringToTimestamp(beginTime);
|
|
||||||
String records = getBoulderData(String.valueOf(timestamp));
|
|
||||||
JSONArray data = JSON.parseArray(records);
|
|
||||||
String finalBeginTime = beginTime;
|
|
||||||
data.forEach(i->{
|
|
||||||
List<EarningsCalculate> list = new ArrayList<>();
|
|
||||||
List<ElecMeterValue> elecList = new ArrayList<>();
|
|
||||||
JSONObject obj = (JSONObject) i;
|
|
||||||
String date = timestampToDateString(obj.getLong("balanceDate"));
|
|
||||||
if(finalBeginTime.equals(date)){
|
|
||||||
//收益-充-尖
|
|
||||||
EarningsCalculate sharpCharge = new EarningsCalculate();
|
|
||||||
BigDecimal sharpChargeEle = obj.getBigDecimal("sharpChargeElectricity");
|
|
||||||
sharpCharge.setElec(sharpChargeEle);
|
|
||||||
sharpCharge.setType(0);
|
|
||||||
sharpCharge.setRateType(CommonConstant.RateType.TIP);
|
|
||||||
sharpCharge.setPrice(BigDecimal.ZERO);
|
|
||||||
sharpCharge.setDigital(BigDecimal.ZERO);
|
|
||||||
sharpCharge.setTotal(BigDecimal.ZERO);
|
|
||||||
list.add(sharpCharge);
|
|
||||||
//收益-充-峰
|
|
||||||
EarningsCalculate peakCharge = new EarningsCalculate();
|
|
||||||
BigDecimal peakChargeEle = obj.getBigDecimal("peakChargeElectricity");
|
|
||||||
peakCharge.setElec(peakChargeEle);
|
|
||||||
peakCharge.setType(0);
|
|
||||||
peakCharge.setRateType(CommonConstant.RateType.PEAK);
|
|
||||||
peakCharge.setPrice(BigDecimal.ZERO);
|
|
||||||
peakCharge.setDigital(BigDecimal.ZERO);
|
|
||||||
peakCharge.setTotal(BigDecimal.ZERO);
|
|
||||||
list.add(peakCharge);
|
|
||||||
//收益-充-平
|
|
||||||
EarningsCalculate flatCharge = new EarningsCalculate();
|
|
||||||
BigDecimal flatChargeEle = obj.getBigDecimal("flatChargeElectricity");
|
|
||||||
flatCharge.setElec(flatChargeEle);
|
|
||||||
flatCharge.setType(0);
|
|
||||||
flatCharge.setRateType(CommonConstant.RateType.FLAT);
|
|
||||||
flatCharge.setPrice(BigDecimal.ZERO);
|
|
||||||
flatCharge.setDigital(BigDecimal.ZERO);
|
|
||||||
flatCharge.setTotal(BigDecimal.ZERO);
|
|
||||||
list.add(flatCharge);
|
|
||||||
//收益-充-谷
|
|
||||||
EarningsCalculate valleyCharge = new EarningsCalculate();
|
|
||||||
BigDecimal valleyChargeEle = obj.getBigDecimal("valleyChargeElectricity");
|
|
||||||
valleyCharge.setElec(valleyChargeEle);
|
|
||||||
valleyCharge.setType(0);
|
|
||||||
valleyCharge.setRateType(CommonConstant.RateType.VALLEY);
|
|
||||||
valleyCharge.setPrice(BigDecimal.ZERO);
|
|
||||||
valleyCharge.setDigital(BigDecimal.ZERO);
|
|
||||||
valleyCharge.setTotal(BigDecimal.ZERO);
|
|
||||||
list.add(valleyCharge);
|
|
||||||
//收益-充-深谷
|
|
||||||
EarningsCalculate deepValleyCharge = new EarningsCalculate();
|
|
||||||
BigDecimal deepValleyChargeEle = obj.getBigDecimal("deepValleyChargeElectricity");
|
|
||||||
deepValleyCharge.setElec(deepValleyChargeEle);
|
|
||||||
deepValleyCharge.setType(0);
|
|
||||||
deepValleyCharge.setRateType(CommonConstant.RateType.DEEP_VALLEY);
|
|
||||||
deepValleyCharge.setPrice(BigDecimal.ZERO);
|
|
||||||
deepValleyCharge.setDigital(BigDecimal.ZERO);
|
|
||||||
deepValleyCharge.setTotal(BigDecimal.ZERO);
|
|
||||||
list.add(deepValleyCharge);
|
|
||||||
//收益-放-尖
|
|
||||||
EarningsCalculate sharpDischarge = new EarningsCalculate();
|
|
||||||
BigDecimal reverseSharp = obj.getBigDecimal("sharpDischargeElectricity");
|
|
||||||
sharpDischarge.setElec(reverseSharp);
|
|
||||||
sharpDischarge.setType(1);
|
|
||||||
sharpDischarge.setRateType(CommonConstant.RateType.TIP);
|
|
||||||
sharpDischarge.setPrice(BigDecimal.ZERO);
|
|
||||||
sharpDischarge.setDigital(BigDecimal.ZERO);
|
|
||||||
sharpDischarge.setTotal(BigDecimal.ZERO);
|
|
||||||
list.add(sharpDischarge);
|
|
||||||
//收益-放-峰
|
|
||||||
EarningsCalculate peakDischarge = new EarningsCalculate();
|
|
||||||
BigDecimal peakDischargeEle = obj.getBigDecimal("peakDischargeElectricity");
|
|
||||||
peakDischarge.setElec(peakDischargeEle);
|
|
||||||
peakDischarge.setType(1);
|
|
||||||
peakDischarge.setRateType(CommonConstant.RateType.PEAK);
|
|
||||||
peakDischarge.setPrice(BigDecimal.ZERO);
|
|
||||||
peakDischarge.setDigital(BigDecimal.ZERO);
|
|
||||||
peakDischarge.setTotal(BigDecimal.ZERO);
|
|
||||||
list.add(peakDischarge);
|
|
||||||
//收益-放-平
|
|
||||||
EarningsCalculate flatDischarge = new EarningsCalculate();
|
|
||||||
BigDecimal flatDischargeEle = obj.getBigDecimal("flatDischargeElectricity");
|
|
||||||
flatDischarge.setElec(flatDischargeEle);
|
|
||||||
flatDischarge.setType(1);
|
|
||||||
flatDischarge.setRateType(CommonConstant.RateType.FLAT);
|
|
||||||
flatDischarge.setPrice(BigDecimal.ZERO);
|
|
||||||
flatDischarge.setDigital(BigDecimal.ZERO);
|
|
||||||
flatDischarge.setTotal(BigDecimal.ZERO);
|
|
||||||
list.add(flatDischarge);
|
|
||||||
//收益-放-谷
|
|
||||||
EarningsCalculate valleyDischarge = new EarningsCalculate();
|
|
||||||
BigDecimal valleyDischargeEle = obj.getBigDecimal("valleyDischargeElectricity");
|
|
||||||
valleyDischarge.setElec(valleyDischargeEle);
|
|
||||||
valleyDischarge.setType(1);
|
|
||||||
valleyDischarge.setRateType(CommonConstant.RateType.VALLEY);
|
|
||||||
valleyDischarge.setPrice(BigDecimal.ZERO);
|
|
||||||
valleyDischarge.setDigital(BigDecimal.ZERO);
|
|
||||||
valleyDischarge.setTotal(BigDecimal.ZERO);
|
|
||||||
list.add(valleyDischarge);
|
|
||||||
//收益-放-深谷
|
|
||||||
EarningsCalculate deepValleyDischarge = new EarningsCalculate();
|
|
||||||
BigDecimal deepValleyDischargeEle = obj.getBigDecimal("deepValleyDischargeElectricity");
|
|
||||||
BigDecimal income = obj.getBigDecimal("income");
|
|
||||||
deepValleyDischarge.setElec(deepValleyDischargeEle);
|
|
||||||
deepValleyDischarge.setType(1);
|
|
||||||
deepValleyDischarge.setRateType(CommonConstant.RateType.DEEP_VALLEY);
|
|
||||||
deepValleyDischarge.setPrice(BigDecimal.ZERO);
|
|
||||||
deepValleyDischarge.setDigital(income);
|
|
||||||
deepValleyDischarge.setTotal(income);
|
|
||||||
list.add(deepValleyDischarge);
|
|
||||||
// 充电
|
|
||||||
ElecMeterValue charge = new ElecMeterValue();
|
|
||||||
BigDecimal chargeEle = obj.getBigDecimal("chargeElectricity");
|
|
||||||
charge.setDigital(chargeEle);
|
|
||||||
charge.setType(DeviceTypeConstant.ELEC_METER_VALUE_TYPE.CHARGE);
|
|
||||||
charge.setStatus(CommonConstant.STATUS_FLAG);
|
|
||||||
elecList.add(charge);
|
|
||||||
// 放电
|
|
||||||
ElecMeterValue disCharge = new ElecMeterValue();
|
|
||||||
BigDecimal dischargeEle = obj.getBigDecimal("dischargeElectricity");
|
|
||||||
disCharge.setDigital(dischargeEle);
|
|
||||||
disCharge.setType(DeviceTypeConstant.ELEC_METER_VALUE_TYPE.DISCHARGE);
|
|
||||||
disCharge.setStatus(CommonConstant.STATUS_FLAG);
|
|
||||||
elecList.add(disCharge);
|
|
||||||
|
|
||||||
if(elecList.size()>0){
|
|
||||||
//删除
|
|
||||||
elecMeterValueService.deleteByStationAndDay(BOULDER_STATION_ID,date,null);
|
|
||||||
elecList.forEach(eleMeter -> {
|
|
||||||
eleMeter.setGroupId(155);
|
|
||||||
eleMeter.setStationId(BOULDER_STATION_ID);
|
|
||||||
eleMeter.setCreateTime(new Date());
|
|
||||||
eleMeter.setDay(date);
|
|
||||||
//新增
|
|
||||||
elecMeterValueService.insert(eleMeter);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
if(list.size()>0){
|
|
||||||
//删除
|
|
||||||
earningsCalculateMapper.deleteByStationAndDay(date,null,BOULDER_STATION_ID);
|
|
||||||
list.forEach(a->{
|
|
||||||
a.setGroupId(155);
|
|
||||||
a.setStationId(BOULDER_STATION_ID);
|
|
||||||
a.setCreateTime(new Date());
|
|
||||||
a.setDay(date);
|
|
||||||
a.setDiscount(BigDecimal.ONE);
|
|
||||||
//新增
|
|
||||||
earningsCalculateMapper.insertSelective(a);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
public void getCacheBoulderData(){
|
|
||||||
ShipStationRespVO vo = new ShipStationRespVO();
|
|
||||||
//查询电站收益数据
|
|
||||||
EarningsCalculateReq ec = new EarningsCalculateReq();
|
|
||||||
//昨日
|
|
||||||
DateTime yesterday = DateUtil.yesterday();
|
|
||||||
String yesterdayStr = DateUtil.formatDate(yesterday);
|
|
||||||
//今日
|
|
||||||
DateTime nowDay = DateUtil.date();
|
|
||||||
String nowDayStr = DateUtil.formatDate(nowDay);
|
|
||||||
//查询电站所有收益数据-组装参数
|
|
||||||
ec.setStationId(BOULDER_STATION_ID);
|
|
||||||
ec.setBeginTime(earningsCalculateMapper.getFirstTime());
|
|
||||||
ec.setEndTime(nowDayStr);
|
|
||||||
List<EarningsCalculate> earnList = earningsCalculateMapper.selectList(ec);
|
|
||||||
// 累计充电、放电、收益
|
|
||||||
BigDecimal incomeSum = earnList.stream().map(EarningsCalculate::getDigital).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
||||||
BigDecimal positivePowerSum = earnList.stream().filter(i->i.getType().equals(CommonConstant.ZERO)).map(EarningsCalculate::getElec).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
||||||
BigDecimal reversePowerSum = earnList.stream().filter(i->i.getType().equals(CommonConstant.ONE)).map(EarningsCalculate::getElec).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
||||||
vo.setIncomeSum(incomeSum.floatValue());
|
|
||||||
vo.setPositivePowerSum(positivePowerSum.floatValue());
|
|
||||||
vo.setReversePowerSum(reversePowerSum.floatValue());
|
|
||||||
// 昨日收益
|
|
||||||
BigDecimal incomeYesterday = earnList.stream().filter(i->i.getDay().equals(yesterdayStr)).map(EarningsCalculate::getDigital).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
||||||
vo.setIncomeYesterday(incomeYesterday.floatValue());
|
|
||||||
// 今日充、放电
|
|
||||||
BigDecimal positivePowerToday = earnList.stream().filter(i->i.getDay().equals(nowDayStr)&&i.getType().equals(CommonConstant.ZERO)).map(EarningsCalculate::getElec).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
||||||
vo.setPositivePowerToday(positivePowerToday.floatValue());
|
|
||||||
BigDecimal reversePowerToday = earnList.stream().filter(i->i.getDay().equals(nowDayStr)&&i.getType().equals(CommonConstant.ONE)).map(EarningsCalculate::getElec).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
||||||
vo.setReversePowerToday(reversePowerToday.floatValue());
|
|
||||||
String mainKey = CommonConstant.SHIP_ENERGY_MAIN + BOULDER_STATION_ID;
|
|
||||||
redisService.set(mainKey,JSONObject.toJSONString(vo));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 时间日期 转换为时间戳
|
|
||||||
* @param dateStr yyyy-MM-dd
|
|
||||||
* @return long 时间戳
|
|
||||||
*/
|
|
||||||
public static long dateStringToTimestamp(String dateStr) {
|
|
||||||
LocalDate localDate = LocalDate.parse(dateStr, DateTimeFormatter.ISO_LOCAL_DATE);
|
|
||||||
return localDate.atStartOfDay(ZoneId.systemDefault()).toInstant().toEpochMilli();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 毫秒级时间戳 转换为日期 yyyy-MM-dd
|
|
||||||
* @param timestamp long 时间戳
|
|
||||||
* @return yyyy-MM-dd
|
|
||||||
*/
|
|
||||||
public static String timestampToDateString(long timestamp) {
|
|
||||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(CommonConstant.DATE_YMD);
|
|
||||||
return Instant.ofEpochMilli(timestamp)
|
|
||||||
.atZone(ZoneId.systemDefault())
|
|
||||||
.format(formatter);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -89,11 +89,14 @@ public interface DeviceService {
|
|||||||
//根据电站id和srcId查询
|
//根据电站id和srcId查询
|
||||||
Device selectByStationIdAndSrcId(Integer stationId, Integer srcId);
|
Device selectByStationIdAndSrcId(Integer stationId, Integer srcId);
|
||||||
|
|
||||||
|
Device selectByStationIdAndSrcIdAndLng(Integer stationId, Integer srcId,String lang);
|
||||||
|
|
||||||
|
|
||||||
List<DeviceRespVO> selectByGroup(Integer groupId);
|
List<DeviceRespVO> selectByGroup(Integer groupId);
|
||||||
|
|
||||||
List<String> selectDistinctDeviceTypeByStationId(Integer stationId);
|
List<String> selectDistinctDeviceTypeByStationId(Integer stationId);
|
||||||
|
|
||||||
List<DeviceRespVO> getDeviceByStationId(Integer stationId);
|
List<DeviceRespVO> getDeviceByStationId(Integer stationId,String lang);
|
||||||
|
|
||||||
List<DeviceRespVO> getDeviceByStationIds(List<Integer> stationIds);
|
List<DeviceRespVO> getDeviceByStationIds(List<Integer> stationIds);
|
||||||
|
|
||||||
@ -138,7 +141,7 @@ public interface DeviceService {
|
|||||||
* @param stationId
|
* @param stationId
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<DeviceRespVO> selectByIdAndSrcIdNotZero(Integer stationId);
|
List<DeviceRespVO> selectByIdAndSrcIdNotZero(Integer stationId,String lang);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询设备需要设备接入点
|
* 查询设备需要设备接入点
|
||||||
@ -146,7 +149,7 @@ public interface DeviceService {
|
|||||||
* @param stationId
|
* @param stationId
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<DeviceRespVO> selectDeviceByStationId(Integer stationId);
|
List<DeviceRespVO> selectDeviceByStationId(Integer stationId,String lang);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询所有设备,不包含接入点
|
* 查询所有设备,不包含接入点
|
||||||
@ -154,7 +157,7 @@ public interface DeviceService {
|
|||||||
* @param stationId
|
* @param stationId
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<DeviceRespVO> selectAllDeviceAndSrcIdNotZero(Integer stationId);
|
List<DeviceRespVO> selectAllDeviceAndSrcIdNotZero(Integer stationId,String lang);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取单个设备电压电流正太分布数据
|
* 获取单个设备电压电流正太分布数据
|
||||||
|
|||||||
@ -19,14 +19,14 @@ public interface DeviceTypeColService {
|
|||||||
|
|
||||||
int insertList(List<DeviceTypeColImportVO> list,Integer GroupId);
|
int insertList(List<DeviceTypeColImportVO> list,Integer GroupId);
|
||||||
|
|
||||||
List<DeviceTypeCol> selectByDeviceType(String deviceType);
|
List<DeviceTypeCol> selectByDeviceType(String deviceType,String lang);
|
||||||
|
|
||||||
DeviceTypeCol selectById(Integer id);
|
DeviceTypeCol selectById(Integer id);
|
||||||
|
|
||||||
|
|
||||||
DeviceTypeCol selectTypeAndCol(String col, String deviceType);
|
DeviceTypeCol selectTypeAndCol(String col, String deviceType,String lang);
|
||||||
|
|
||||||
List<DeviceTypeCol> selectDeviceTypeColList(String deviceType,List<String> collect);
|
List<DeviceTypeCol> selectDeviceTypeColList(String deviceType,List<String> collect,String lang);
|
||||||
|
|
||||||
Integer selectCountByDeviceType(DeviceTypeCol deviceTypeCol);
|
Integer selectCountByDeviceType(DeviceTypeCol deviceTypeCol);
|
||||||
|
|
||||||
|
|||||||
@ -2,6 +2,7 @@ package com.ho.business.service;
|
|||||||
|
|
||||||
import com.ho.business.entity.DynamicConfig;
|
import com.ho.business.entity.DynamicConfig;
|
||||||
import com.ho.business.entity.DynamicConfigTitle;
|
import com.ho.business.entity.DynamicConfigTitle;
|
||||||
|
import com.ho.business.entity.TranslateName;
|
||||||
import com.ho.business.vo.req.dynamicConfig.*;
|
import com.ho.business.vo.req.dynamicConfig.*;
|
||||||
import com.ho.business.vo.resp.DeviceRespVO;
|
import com.ho.business.vo.resp.DeviceRespVO;
|
||||||
import com.ho.business.vo.resp.dynamicConfig.CurveConfigQueryResp;
|
import com.ho.business.vo.resp.dynamicConfig.CurveConfigQueryResp;
|
||||||
@ -119,4 +120,20 @@ public interface DynamicConfigService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
int delDynamicConfigTitle(DynamicConfigTitle vo);
|
int delDynamicConfigTitle(DynamicConfigTitle vo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 已知 name 参数是中文
|
||||||
|
* @param name 中文名称
|
||||||
|
* @return 返回得到中文翻译的结果(翻译结果为:英语、法语、西班牙语、德语、波兰语、阿拉伯语)
|
||||||
|
*/
|
||||||
|
TranslateName getNameLanguage(String name);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 已知 name 参数是中文 根据lang参数 得到翻译的结果
|
||||||
|
* @param name 中文名称
|
||||||
|
* @param lang 翻译语种(英语、法语、西班牙语、德语、波兰语、阿拉伯语)
|
||||||
|
* @return 返回的翻译语音结果
|
||||||
|
*/
|
||||||
|
String getNameByLang(String name,String lang);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,34 @@
|
|||||||
|
package com.ho.business.service;
|
||||||
|
|
||||||
|
import com.ho.business.entity.Station;
|
||||||
|
import com.ho.business.vo.req.bigScreen.CommonBigScreenReq;
|
||||||
|
import com.ho.business.vo.resp.InverterResp.PowerGenerateRespVO;
|
||||||
|
import com.ho.business.vo.resp.profit.DayProfitType;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description Mppt 尖峰平谷电量收益计算
|
||||||
|
* @Author zjl
|
||||||
|
* @Date 2025/11/19
|
||||||
|
*/
|
||||||
|
public interface EarningsCalculateMpptService {
|
||||||
|
|
||||||
|
int deleteByDay(String transDayStr, List<Integer> typeList);
|
||||||
|
|
||||||
|
public void allMpptIncome(List<Station> stations, String beginTime);
|
||||||
|
|
||||||
|
void todayMpptIncome(List<Station> stations, String beginTime);
|
||||||
|
|
||||||
|
List<PowerGenerateRespVO> countPvIncome(Integer stationId, String beginTime, String endTime);
|
||||||
|
|
||||||
|
BigDecimal countAllPvIncome(Integer id,String beginTime, String endTime);
|
||||||
|
|
||||||
|
List<DayProfitType> getProfit(String begin, String end, Integer groupId);
|
||||||
|
|
||||||
|
Date getFirstTime();
|
||||||
|
|
||||||
|
List<DayProfitType> getEarningsByParam(CommonBigScreenReq req);
|
||||||
|
}
|
||||||
@ -7,6 +7,7 @@ import com.ho.business.vo.req.bigScreen.CommonBigScreenReq;
|
|||||||
import com.ho.business.vo.req.carbin.EarningsCalculateReq;
|
import com.ho.business.vo.req.carbin.EarningsCalculateReq;
|
||||||
import com.ho.business.vo.req.pcsStation.PcsStationReq;
|
import com.ho.business.vo.req.pcsStation.PcsStationReq;
|
||||||
import com.ho.business.vo.req.report.ReportReqVO;
|
import com.ho.business.vo.req.report.ReportReqVO;
|
||||||
|
import com.ho.business.vo.resp.InverterResp.PowerGenerateRespVO;
|
||||||
import com.ho.business.vo.resp.cabin.EarningsCalculateCountResp;
|
import com.ho.business.vo.resp.cabin.EarningsCalculateCountResp;
|
||||||
import com.ho.business.vo.resp.cabin.EarningsCalculateResp;
|
import com.ho.business.vo.resp.cabin.EarningsCalculateResp;
|
||||||
import com.ho.business.vo.resp.income.RevenueOverview;
|
import com.ho.business.vo.resp.income.RevenueOverview;
|
||||||
@ -137,4 +138,5 @@ public interface EarningsCalculateService {
|
|||||||
|
|
||||||
List<DayProfitType> getEarningsByParam(CommonBigScreenReq req);
|
List<DayProfitType> getEarningsByParam(CommonBigScreenReq req);
|
||||||
|
|
||||||
|
List<PowerGenerateRespVO> getPvMonthData(EarningsCalculateReq req);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,6 +3,7 @@ package com.ho.business.service;
|
|||||||
import com.ho.business.entity.ElecMeterValue;
|
import com.ho.business.entity.ElecMeterValue;
|
||||||
import com.ho.business.vo.req.bigScreen.CommonBigScreenReq;
|
import com.ho.business.vo.req.bigScreen.CommonBigScreenReq;
|
||||||
import com.ho.business.vo.req.carbin.ElecMeterReq;
|
import com.ho.business.vo.req.carbin.ElecMeterReq;
|
||||||
|
import com.ho.business.vo.resp.profit.DayProfitType;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -50,4 +51,6 @@ public interface ElecMeterValueService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<ElecMeterValue> selectGroupByDay(CommonBigScreenReq req);
|
List<ElecMeterValue> selectGroupByDay(CommonBigScreenReq req);
|
||||||
|
|
||||||
|
List<DayProfitType> getElec(String begin, String end, Integer groupId, Integer type,List<Integer> stationIds);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -62,7 +62,7 @@ public interface IargeScreenShowService {
|
|||||||
* @param stationIds
|
* @param stationIds
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<Subdata> getCommonRegionList(List<Integer> stationIds,String lang);
|
List<Subdata> getCommonRegionList(List<Integer> stationIds);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取节能减排数据
|
* 获取节能减排数据
|
||||||
@ -118,4 +118,18 @@ public interface IargeScreenShowService {
|
|||||||
*/
|
*/
|
||||||
List<EventDayNum> getCommonEventCount(SimpleUser user);
|
List<EventDayNum> getCommonEventCount(SimpleUser user);
|
||||||
/**************************************************************/
|
/**************************************************************/
|
||||||
|
|
||||||
|
List<Subdata> getCommonPvRegionList(List<Integer> byDeptId);
|
||||||
|
|
||||||
|
AnnualPvOverviewResp getPvOverviewData(List<Integer> stationIds);
|
||||||
|
|
||||||
|
EnergySavingRespVo getPvEnergySaving(List<Integer> stationIds);
|
||||||
|
|
||||||
|
List<AnnualChartValue> getPVCommonProfitCurve(CockpitReqVO vo,List<Integer> stationIds);
|
||||||
|
|
||||||
|
List<Subdata> getPvCommonProfit(String beginString, String endString,List<Integer> stationIds);
|
||||||
|
|
||||||
|
List<Subdata> getPvCommonElec(String beginString, String endString, List<Integer> stationIds);
|
||||||
|
|
||||||
|
List<AnnualChartValue> getCommonPvRelease(List<Integer> stationIds);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import com.ho.business.vo.req.StationReq;
|
|||||||
import com.ho.business.vo.req.pcsStation.PcsStationReq;
|
import com.ho.business.vo.req.pcsStation.PcsStationReq;
|
||||||
import com.ho.business.vo.resp.DeviceRespVO;
|
import com.ho.business.vo.resp.DeviceRespVO;
|
||||||
import com.ho.business.vo.resp.cabin.CircleCtrlResp;
|
import com.ho.business.vo.resp.cabin.CircleCtrlResp;
|
||||||
|
import com.ho.business.vo.resp.mppt.MpptActiveVo;
|
||||||
import com.ho.business.vo.resp.pcsStation.HomePageStationDataResp;
|
import com.ho.business.vo.resp.pcsStation.HomePageStationDataResp;
|
||||||
import com.ho.business.vo.resp.station.ActiveReactivePower;
|
import com.ho.business.vo.resp.station.ActiveReactivePower;
|
||||||
import com.ho.common.tools.util.PageResult;
|
import com.ho.common.tools.util.PageResult;
|
||||||
@ -24,6 +25,8 @@ public interface OpenStationService {
|
|||||||
|
|
||||||
ActiveReactivePower getAcPower(Integer stationId);
|
ActiveReactivePower getAcPower(Integer stationId);
|
||||||
|
|
||||||
|
MpptActiveVo getPvActivePower(Integer stationId);
|
||||||
|
|
||||||
//环控
|
//环控
|
||||||
List<CircleCtrlResp> getCircle(List<DeviceRespVO> deviceList );
|
List<CircleCtrlResp> getCircle(List<DeviceRespVO> deviceList );
|
||||||
|
|
||||||
@ -42,7 +45,7 @@ public interface OpenStationService {
|
|||||||
* @param req
|
* @param req
|
||||||
* @param response
|
* @param response
|
||||||
*/
|
*/
|
||||||
void exportEleData(PcsStationReq req, HttpServletResponse response);
|
void exportEleData(PcsStationReq req, HttpServletResponse response,String lang);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询日冻结数据
|
* 查询日冻结数据
|
||||||
|
|||||||
@ -25,6 +25,8 @@ public interface OutApiService {
|
|||||||
|
|
||||||
void dayPVCharge(MonitorQuery monitorQuery);
|
void dayPVCharge(MonitorQuery monitorQuery);
|
||||||
|
|
||||||
|
void dayPVMpptCharge(MonitorQuery monitorQuery);
|
||||||
|
|
||||||
//天小时的充放电量
|
//天小时的充放电量
|
||||||
void hourChargeDeal(MonitorQuery monitorQuery) throws ParseException;
|
void hourChargeDeal(MonitorQuery monitorQuery) throws ParseException;
|
||||||
|
|
||||||
|
|||||||
@ -28,7 +28,7 @@ public interface PlanningCurveIssueService {
|
|||||||
|
|
||||||
public void planCurveOperationRecord(PlanCurveOperationRecordReq planCurveOperationRecordReq);
|
public void planCurveOperationRecord(PlanCurveOperationRecordReq planCurveOperationRecordReq);
|
||||||
|
|
||||||
List<PlanCurveOperationRecordReq> getPlanCurveOperationList(String stationId);
|
List<PlanCurveOperationRecordReq> getPlanCurveOperationList(String stationId,String lang);
|
||||||
|
|
||||||
Map<String,Object> getPlanningCurveHistory(List<String> planningCurveIds);
|
Map<String,Object> getPlanningCurveHistory(List<String> planningCurveIds);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,446 +0,0 @@
|
|||||||
package com.ho.business.service;
|
|
||||||
|
|
||||||
import cn.hutool.core.date.DateTime;
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
|
||||||
import com.alibaba.fastjson.JSON;
|
|
||||||
import com.alibaba.fastjson.JSONArray;
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
|
||||||
import com.google.common.collect.Maps;
|
|
||||||
import com.google.gson.JsonObject;
|
|
||||||
import com.google.gson.JsonParser;
|
|
||||||
import com.ho.business.constant.DeviceTypeConstant;
|
|
||||||
import com.ho.business.entity.EarningsCalculate;
|
|
||||||
import com.ho.business.entity.ElecMeterValue;
|
|
||||||
import com.ho.business.entity.Station;
|
|
||||||
import com.ho.business.mapper.EarningsCalculateMapper;
|
|
||||||
import com.ho.business.vo.req.StationReqVO;
|
|
||||||
import com.ho.business.vo.resp.ShipStationRespVO;
|
|
||||||
import com.ho.common.tools.constant.CommonConstant;
|
|
||||||
import com.ho.common.tools.exception.BaseResponseCode;
|
|
||||||
import com.ho.common.tools.exception.BusinessException;
|
|
||||||
import com.ho.common.tools.service.RedisService;
|
|
||||||
import com.ho.common.tools.util.HttpUtils;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import org.springframework.web.jsf.FacesContextUtils;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.util.*;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 西安寄点能源股份有限公司
|
|
||||||
* 西安寄点能源 API 接口 服务
|
|
||||||
*
|
|
||||||
* @author kerwin
|
|
||||||
*/
|
|
||||||
@Service
|
|
||||||
@Slf4j
|
|
||||||
public class ShipEnergyService {
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取token 参数 platform
|
|
||||||
*/
|
|
||||||
private static final String PLATFORM = "f9599b6c79a5efbfc6ddce5fed1bbed5";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取token 参数 platformsecret
|
|
||||||
*/
|
|
||||||
private static final String PLATFORM_SECRET = "2928b16f9cb8e85199a4caa6ba3b6620";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 寄点能源- 获取token Url
|
|
||||||
*/
|
|
||||||
private static final String TOKEN_URL = "https://www.emind2000.cloud/rest-api/gettoken";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 寄点能源- 获取项目列表 Url
|
|
||||||
*/
|
|
||||||
private static final String STATION_URL = "https://www.emind2000.cloud/rest-api/getStations";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 寄点能源- 主监控汇总 Url
|
|
||||||
*/
|
|
||||||
private static final String MAIN_URL = "https://www.emind2000.cloud/rest-api/getMainTotal";
|
|
||||||
/**
|
|
||||||
* 寄点能源- 历史收益 Url
|
|
||||||
*/
|
|
||||||
private static final String INCOME_HIS_URL = "https://www.emind2000.cloud/rest-api/getIncomeHis";
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private RedisService redisService;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private StationService stationService;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
ElecMeterValueService elecMeterValueService;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
EarningsCalculateMapper earningsCalculateMapper;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 寄点能源 - 获取token
|
|
||||||
* @return token
|
|
||||||
*/
|
|
||||||
public String getToken(){
|
|
||||||
String token = null;
|
|
||||||
if(redisService.hasKey(CommonConstant.SHIP_ENERGY_TOKEN_KEY)){
|
|
||||||
token = (String)redisService.get(CommonConstant.SHIP_ENERGY_TOKEN_KEY);
|
|
||||||
return token;
|
|
||||||
}
|
|
||||||
Map<String, String> params = Maps.newHashMap();
|
|
||||||
params.put("platform",PLATFORM);
|
|
||||||
params.put("platformsecret",PLATFORM_SECRET);
|
|
||||||
try {
|
|
||||||
String json = HttpUtils.getWithForm(TOKEN_URL,params);
|
|
||||||
log.info("json:" + TOKEN_URL);
|
|
||||||
log.info("json:" + json);
|
|
||||||
JSONObject jsonObject = JSONObject.parseObject(json);
|
|
||||||
Integer code = jsonObject.getInteger("code");
|
|
||||||
if(CommonConstant.HttpCode.SUCCESS_CODE.equals(code)){
|
|
||||||
JSONObject data = jsonObject.getJSONObject("data");
|
|
||||||
token = data.getString("access_token");
|
|
||||||
//redis 缓存
|
|
||||||
redisService.set(CommonConstant.SHIP_ENERGY_TOKEN_KEY,token,10, TimeUnit.HOURS);
|
|
||||||
}
|
|
||||||
} catch (IOException e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
return token;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 寄点能源 - 获取 项目列表
|
|
||||||
* @return 项目列表 json 字符串
|
|
||||||
*/
|
|
||||||
public String getStations(){
|
|
||||||
Map<String, String> headers = new HashMap<>();
|
|
||||||
headers.put("Authorization", getToken());
|
|
||||||
try {
|
|
||||||
String json = HttpUtils.getWithHeaders(STATION_URL,null,headers);
|
|
||||||
log.info("json:" + STATION_URL);
|
|
||||||
log.info("json:" + json);
|
|
||||||
JSONObject jsonObject = JSONObject.parseObject(json);
|
|
||||||
Integer code = jsonObject.getInteger("code");
|
|
||||||
if(CommonConstant.HttpCode.SUCCESS_CODE.equals(code)){
|
|
||||||
JSONObject data = jsonObject.getJSONObject("data");
|
|
||||||
return data.getString("rows");
|
|
||||||
}
|
|
||||||
} catch (IOException e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* 寄点能源 - 获取 主监控汇总信息
|
|
||||||
* @param stationId 电站id
|
|
||||||
* @return 返回对应电站汇总信息
|
|
||||||
*/
|
|
||||||
public String getMainTotal(Integer stationId){
|
|
||||||
Map<String, String> headers = new HashMap<>();
|
|
||||||
headers.put("Authorization", getToken());
|
|
||||||
Map<String, String> params = new HashMap<>();
|
|
||||||
params.put("stationId",stationId.toString());
|
|
||||||
try {
|
|
||||||
Thread.sleep(2000);
|
|
||||||
String json = HttpUtils.getWithHeaders(MAIN_URL,params,headers);
|
|
||||||
log.info("MAIN_URL:" + MAIN_URL);
|
|
||||||
log.info("json:" + json);
|
|
||||||
JSONObject jsonObject = JSONObject.parseObject(json);
|
|
||||||
Integer code = jsonObject.getInteger("code");
|
|
||||||
if(CommonConstant.HttpCode.SUCCESS_CODE.equals(code)){
|
|
||||||
return jsonObject.getString("data");
|
|
||||||
}
|
|
||||||
} catch (IOException e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
} catch (InterruptedException e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* 寄点能源 - 获取 历史收益查询
|
|
||||||
*/
|
|
||||||
public String getIncomeHis(Integer stationId,String beginTime){
|
|
||||||
Map<String, String> headers = new HashMap<>();
|
|
||||||
headers.put("Authorization", getToken());
|
|
||||||
Map<String, String> params = new HashMap<>();
|
|
||||||
params.put("stationId",stationId.toString());
|
|
||||||
params.put("startTime",beginTime+CommonConstant.START_SUFFIX_TIMESTAMP);
|
|
||||||
params.put("endTime",beginTime+CommonConstant.END_SUFFIX_TIMESTAMP);
|
|
||||||
try {
|
|
||||||
String json = HttpUtils.getWithHeaders(INCOME_HIS_URL,params,headers);
|
|
||||||
log.info("INCOME_HIS_URL:" + INCOME_HIS_URL);
|
|
||||||
log.info("json:" + json);
|
|
||||||
JSONObject jsonObject = JSONObject.parseObject(json);
|
|
||||||
Integer code = jsonObject.getInteger("code");
|
|
||||||
if(CommonConstant.HttpCode.SUCCESS_CODE.equals(code)){
|
|
||||||
return jsonObject.getString("data");
|
|
||||||
}
|
|
||||||
} catch (IOException e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
/*****************************************业务处理******************************************************/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 寄点能源 - 电站信息融合储能平台处理
|
|
||||||
*/
|
|
||||||
public void addShipEnergyStation(){
|
|
||||||
String json = getStations();
|
|
||||||
JSONArray jsonStation = JSON.parseArray(json);
|
|
||||||
jsonStation.forEach(i->{
|
|
||||||
JSONObject jsonObj = (JSONObject) i;
|
|
||||||
Integer stationId = jsonObj.getInteger("stationId");
|
|
||||||
String name = jsonObj.getString("name");
|
|
||||||
String address = jsonObj.getString("address");
|
|
||||||
String province = jsonObj.getString("province");
|
|
||||||
String city = jsonObj.getString("city");
|
|
||||||
BigDecimal longitude = jsonObj.getBigDecimal("longitude");
|
|
||||||
BigDecimal latitude = jsonObj.getBigDecimal("latitude");
|
|
||||||
BigDecimal maxPower = jsonObj.getBigDecimal("maxPower");
|
|
||||||
BigDecimal capacity = jsonObj.getBigDecimal("capacity");
|
|
||||||
Date commossioningTime = jsonObj.getDate("commossioningTime");
|
|
||||||
StationReqVO vo = new StationReqVO();
|
|
||||||
vo.setId(stationId+10000);
|
|
||||||
vo.setName(name);
|
|
||||||
vo.setAddress(address);
|
|
||||||
vo.setLongitude(longitude);
|
|
||||||
vo.setLatitude(latitude);
|
|
||||||
vo.setCapacity(capacity);
|
|
||||||
vo.setRatePower(maxPower);
|
|
||||||
vo.setGridTime(commossioningTime);
|
|
||||||
vo.setGroupId(155);
|
|
||||||
vo.setDeptId(592);
|
|
||||||
vo.setStatus(1);
|
|
||||||
vo.setType(7);
|
|
||||||
vo.setPId(0);
|
|
||||||
vo.setIsDailyCount(0);
|
|
||||||
vo.setTopologyType(1);
|
|
||||||
vo.setCupboardType(2);
|
|
||||||
Station station = stationService.selectByName(vo.getName());
|
|
||||||
if (station != null) {
|
|
||||||
throw new BusinessException(BaseResponseCode.STATION_ALREADY_EXISTS);
|
|
||||||
}
|
|
||||||
stationService.insertStation(vo);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* 寄点能源 - 缓存电站监控信息
|
|
||||||
*/
|
|
||||||
public void getShipEnergyTotal(){
|
|
||||||
String stations = getStations();
|
|
||||||
JSONArray jsonStation = JSON.parseArray(stations);
|
|
||||||
jsonStation.forEach(i->{
|
|
||||||
JSONObject jsonObj = (JSONObject) i;
|
|
||||||
Integer stationId = jsonObj.getInteger("stationId");
|
|
||||||
String json = getMainTotal(stationId);
|
|
||||||
Integer finalStationId = stationId +10000;
|
|
||||||
String mainKey = CommonConstant.SHIP_ENERGY_MAIN + finalStationId;
|
|
||||||
redisService.set(mainKey,json);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 寄点能源 - 获取寄点电站历史收益 并存储
|
|
||||||
*/
|
|
||||||
public void getStationIncomeHis(String beginTime){
|
|
||||||
DateTime yesterday = DateUtil.yesterday();
|
|
||||||
String yesterdayStr = DateUtil.formatDate(yesterday);
|
|
||||||
if(beginTime==null){
|
|
||||||
beginTime = yesterdayStr;
|
|
||||||
}
|
|
||||||
String stations = getStations();
|
|
||||||
JSONArray jsonStation = JSON.parseArray(stations);
|
|
||||||
String finalBeginTime = beginTime;
|
|
||||||
log.info("传入参数-统计时间:{}",beginTime);
|
|
||||||
jsonStation.forEach(i->{
|
|
||||||
JSONObject jsonObj = (JSONObject) i;
|
|
||||||
Integer stationId = jsonObj.getInteger("stationId");
|
|
||||||
String incomeHis = getIncomeHis(stationId, finalBeginTime);
|
|
||||||
JSONArray incomes = JSON.parseArray(incomeHis);
|
|
||||||
log.info("远程查询-历史收益数据:{}",incomes);
|
|
||||||
incomes.forEach(j->{
|
|
||||||
JSONObject income = (JSONObject) j;
|
|
||||||
String date = income.getString("date");
|
|
||||||
String price = income.getString("price");
|
|
||||||
JsonObject jsonPrice = JsonParser.parseString(price).getAsJsonObject();
|
|
||||||
List<EarningsCalculate> list = new ArrayList<>();
|
|
||||||
List<ElecMeterValue> elecList = new ArrayList<>();
|
|
||||||
BigDecimal inTotalIncome = BigDecimal.ZERO;
|
|
||||||
BigDecimal outTotalIncome = BigDecimal.ZERO;
|
|
||||||
log.info("远程查询-统计日期:{}",date);
|
|
||||||
if(finalBeginTime.equals(date)){
|
|
||||||
//收益-充-尖
|
|
||||||
EarningsCalculate inSharp = new EarningsCalculate();
|
|
||||||
BigDecimal positiveSharp = income.getBigDecimal("sum_e_positive_sharp");
|
|
||||||
inSharp.setElec(positiveSharp);
|
|
||||||
inSharp.setType(0);
|
|
||||||
inSharp.setRateType(CommonConstant.RateType.TIP);
|
|
||||||
BigDecimal inSharpPrice = jsonPrice.get("in_sharp_price").getAsBigDecimal();
|
|
||||||
inSharp.setPrice(inSharpPrice);
|
|
||||||
inSharp.setDigital(positiveSharp.multiply(inSharpPrice));
|
|
||||||
inTotalIncome = inTotalIncome.add(inSharp.getDigital());
|
|
||||||
inSharp.setTotal(BigDecimal.ZERO);
|
|
||||||
list.add(inSharp);
|
|
||||||
//收益-充-峰
|
|
||||||
EarningsCalculate inPeak = new EarningsCalculate();
|
|
||||||
BigDecimal positivePeak = income.getBigDecimal("sum_e_positive_peak");
|
|
||||||
inPeak.setElec(positivePeak);
|
|
||||||
inPeak.setType(0);
|
|
||||||
inPeak.setRateType(CommonConstant.RateType.PEAK);
|
|
||||||
BigDecimal inPeakPrice = jsonPrice.get("in_peak_price").getAsBigDecimal();
|
|
||||||
inPeak.setPrice(inPeakPrice);
|
|
||||||
inPeak.setDigital(positivePeak.multiply(inPeakPrice));
|
|
||||||
inTotalIncome = inTotalIncome.add(inPeak.getDigital());
|
|
||||||
inPeak.setTotal(BigDecimal.ZERO);
|
|
||||||
list.add(inPeak);
|
|
||||||
//收益-充-平
|
|
||||||
EarningsCalculate inFlat = new EarningsCalculate();
|
|
||||||
BigDecimal positiveFlat = income.getBigDecimal("sum_e_positive_flat");
|
|
||||||
inFlat.setElec(positiveFlat);
|
|
||||||
inFlat.setType(0);
|
|
||||||
inFlat.setRateType(CommonConstant.RateType.FLAT);
|
|
||||||
BigDecimal inFlatPrice = jsonPrice.get("in_flat_price").getAsBigDecimal();
|
|
||||||
inFlat.setPrice(inFlatPrice);
|
|
||||||
inFlat.setDigital(positiveFlat.multiply(inFlatPrice));
|
|
||||||
inTotalIncome = inTotalIncome.add(inFlat.getDigital());
|
|
||||||
inFlat.setTotal(BigDecimal.ZERO);
|
|
||||||
list.add(inFlat);
|
|
||||||
//收益-充-谷
|
|
||||||
EarningsCalculate inValley = new EarningsCalculate();
|
|
||||||
BigDecimal positiveValley = income.getBigDecimal("sum_e_positive_valley");
|
|
||||||
inValley.setElec(positiveValley);
|
|
||||||
inValley.setType(0);
|
|
||||||
inValley.setRateType(CommonConstant.RateType.VALLEY);
|
|
||||||
BigDecimal inValleyPrice = jsonPrice.get("in_valley_price").getAsBigDecimal();
|
|
||||||
inValley.setPrice(inValleyPrice);
|
|
||||||
inValley.setDigital(positiveValley.multiply(inValleyPrice));
|
|
||||||
inTotalIncome = inTotalIncome.add(inValley.getDigital());
|
|
||||||
inValley.setTotal(BigDecimal.ZERO);
|
|
||||||
list.add(inValley);
|
|
||||||
//收益-充-深谷
|
|
||||||
EarningsCalculate inDeepValley = new EarningsCalculate();
|
|
||||||
BigDecimal positiveDeepValley = income.getBigDecimal("sum_e_positive_deep_valley");
|
|
||||||
inDeepValley.setElec(positiveDeepValley);
|
|
||||||
inDeepValley.setType(0);
|
|
||||||
inDeepValley.setRateType(CommonConstant.RateType.DEEP_VALLEY);
|
|
||||||
BigDecimal inDeepValleyPrice = jsonPrice.get("in_deep_valley_price").getAsBigDecimal();
|
|
||||||
inDeepValley.setPrice(inDeepValleyPrice);
|
|
||||||
inDeepValley.setDigital(positiveDeepValley.multiply(inDeepValleyPrice));
|
|
||||||
inTotalIncome = inTotalIncome.add(inValley.getDigital());
|
|
||||||
inDeepValley.setTotal(inTotalIncome);
|
|
||||||
list.add(inDeepValley);
|
|
||||||
//收益-放-尖
|
|
||||||
EarningsCalculate outSharp = new EarningsCalculate();
|
|
||||||
BigDecimal reverseSharp = income.getBigDecimal("sum_e_reverse_sharp");
|
|
||||||
outSharp.setElec(reverseSharp);
|
|
||||||
outSharp.setType(1);
|
|
||||||
outSharp.setRateType(CommonConstant.RateType.TIP);
|
|
||||||
BigDecimal outSharpPrice = jsonPrice.get("out_sharp_price").getAsBigDecimal();
|
|
||||||
outSharp.setPrice(outSharpPrice);
|
|
||||||
outSharp.setDigital(reverseSharp.multiply(outSharpPrice));
|
|
||||||
outTotalIncome = outTotalIncome.add(outSharp.getDigital());
|
|
||||||
outSharp.setTotal(BigDecimal.ZERO);
|
|
||||||
list.add(outSharp);
|
|
||||||
//收益-放-峰
|
|
||||||
EarningsCalculate outPeak = new EarningsCalculate();
|
|
||||||
BigDecimal reversePeak = income.getBigDecimal("sum_e_reverse_peak");
|
|
||||||
outPeak.setElec(reversePeak);
|
|
||||||
outPeak.setType(1);
|
|
||||||
outPeak.setRateType(CommonConstant.RateType.PEAK);
|
|
||||||
BigDecimal outPeakPrice = jsonPrice.get("out_peak_price").getAsBigDecimal();
|
|
||||||
outPeak.setPrice(outPeakPrice);
|
|
||||||
outPeak.setDigital(reversePeak.multiply(outPeakPrice));
|
|
||||||
outTotalIncome = outTotalIncome.add(outPeak.getDigital());
|
|
||||||
outPeak.setTotal(BigDecimal.ZERO);
|
|
||||||
list.add(outPeak);
|
|
||||||
//收益-放-平
|
|
||||||
EarningsCalculate outFlat = new EarningsCalculate();
|
|
||||||
BigDecimal reverseFlat = income.getBigDecimal("sum_e_reverse_flat");
|
|
||||||
outFlat.setElec(reverseFlat);
|
|
||||||
outFlat.setType(1);
|
|
||||||
outFlat.setRateType(CommonConstant.RateType.FLAT);
|
|
||||||
BigDecimal outFlatPrice = jsonPrice.get("out_flat_price").getAsBigDecimal();
|
|
||||||
outFlat.setPrice(outFlatPrice);
|
|
||||||
outFlat.setDigital(reverseFlat.multiply(outFlatPrice));
|
|
||||||
outTotalIncome = outTotalIncome.add(outFlat.getDigital());
|
|
||||||
outFlat.setTotal(BigDecimal.ZERO);
|
|
||||||
list.add(outFlat);
|
|
||||||
//收益-放-谷
|
|
||||||
EarningsCalculate outValley = new EarningsCalculate();
|
|
||||||
BigDecimal reverseValley = income.getBigDecimal("sum_e_reverse_valley");
|
|
||||||
outValley.setElec(reverseValley);
|
|
||||||
outValley.setType(1);
|
|
||||||
outValley.setRateType(CommonConstant.RateType.VALLEY);
|
|
||||||
BigDecimal outValleyPrice = jsonPrice.get("out_valley_price").getAsBigDecimal();
|
|
||||||
outValley.setPrice(outValleyPrice);
|
|
||||||
outValley.setDigital(reverseValley.multiply(outValleyPrice));
|
|
||||||
outTotalIncome = outTotalIncome.add(outValley.getDigital());
|
|
||||||
outValley.setTotal(BigDecimal.ZERO);
|
|
||||||
list.add(outValley);
|
|
||||||
//收益-放-深谷
|
|
||||||
EarningsCalculate outDeepValley = new EarningsCalculate();
|
|
||||||
BigDecimal reverseDeepValley = income.getBigDecimal("sum_e_reverse_deep_valley");
|
|
||||||
outDeepValley.setElec(reverseDeepValley);
|
|
||||||
outDeepValley.setType(1);
|
|
||||||
outDeepValley.setRateType(CommonConstant.RateType.DEEP_VALLEY);
|
|
||||||
BigDecimal outDeepValleyPrice = jsonPrice.get("out_deep_valley_price").getAsBigDecimal();
|
|
||||||
outDeepValley.setPrice(outDeepValleyPrice);
|
|
||||||
outDeepValley.setDigital(reverseDeepValley.multiply(outDeepValleyPrice));
|
|
||||||
outTotalIncome = outTotalIncome.add(outDeepValley.getDigital());
|
|
||||||
outDeepValley.setTotal(outTotalIncome);
|
|
||||||
list.add(outDeepValley);
|
|
||||||
// 充电
|
|
||||||
ElecMeterValue charge = new ElecMeterValue();
|
|
||||||
BigDecimal sumEPositive = income.getBigDecimal("sum_e_positive");
|
|
||||||
charge.setDigital(sumEPositive);
|
|
||||||
charge.setType(DeviceTypeConstant.ELEC_METER_VALUE_TYPE.CHARGE);
|
|
||||||
charge.setStatus(CommonConstant.STATUS_FLAG);
|
|
||||||
elecList.add(charge);
|
|
||||||
// 放电
|
|
||||||
ElecMeterValue disCharge = new ElecMeterValue();
|
|
||||||
BigDecimal sumEReverse = income.getBigDecimal("sum_e_reverse");
|
|
||||||
disCharge.setDigital(sumEReverse);
|
|
||||||
disCharge.setType(DeviceTypeConstant.ELEC_METER_VALUE_TYPE.DISCHARGE);
|
|
||||||
disCharge.setStatus(CommonConstant.STATUS_FLAG);
|
|
||||||
elecList.add(disCharge);
|
|
||||||
}
|
|
||||||
if(elecList.size()>0){
|
|
||||||
//删除
|
|
||||||
elecMeterValueService.deleteByStationAndDay(stationId+10000,date,null);
|
|
||||||
elecList.forEach(eleMeter -> {
|
|
||||||
eleMeter.setGroupId(155);
|
|
||||||
eleMeter.setStationId(stationId+10000);
|
|
||||||
eleMeter.setCreateTime(new Date());
|
|
||||||
eleMeter.setDay(date);
|
|
||||||
//新增
|
|
||||||
elecMeterValueService.insert(eleMeter);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
if(list.size()>0){
|
|
||||||
//删除
|
|
||||||
earningsCalculateMapper.deleteByStationAndDay(date,null,stationId+10000);
|
|
||||||
list.forEach(a->{
|
|
||||||
a.setGroupId(155);
|
|
||||||
a.setStationId(stationId+10000);
|
|
||||||
a.setCreateTime(new Date());
|
|
||||||
a.setDay(date);
|
|
||||||
a.setDiscount(BigDecimal.ONE);
|
|
||||||
//新增
|
|
||||||
earningsCalculateMapper.insertSelective(a);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@ -8,6 +8,7 @@ import com.ho.business.vo.resp.AppRealTimeCurveRespVo;
|
|||||||
import com.ho.business.vo.resp.CountEleData;
|
import com.ho.business.vo.resp.CountEleData;
|
||||||
import com.ho.business.vo.resp.DeviceColData;
|
import com.ho.business.vo.resp.DeviceColData;
|
||||||
import com.ho.business.vo.resp.DeviceRespVO;
|
import com.ho.business.vo.resp.DeviceRespVO;
|
||||||
|
import com.ho.business.vo.resp.InverterResp.PowerGenerateRespVO;
|
||||||
import com.ho.business.vo.resp.cabin.TemperatureHumidityResp;
|
import com.ho.business.vo.resp.cabin.TemperatureHumidityResp;
|
||||||
import com.ho.business.vo.resp.pcsStation.OutStationData;
|
import com.ho.business.vo.resp.pcsStation.OutStationData;
|
||||||
import com.ho.business.vo.resp.pcsStation.PcsElecData;
|
import com.ho.business.vo.resp.pcsStation.PcsElecData;
|
||||||
@ -35,7 +36,7 @@ public interface StationHomeService {
|
|||||||
* @param stationId 电站id
|
* @param stationId 电站id
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
PcsStationData getPcsStationData(Integer stationId);
|
PcsStationData getPcsStationData(Integer stationId,String lang);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据电站id查询数据总览
|
* 根据电站id查询数据总览
|
||||||
@ -72,6 +73,8 @@ public interface StationHomeService {
|
|||||||
*/
|
*/
|
||||||
List<AppRealTimeCurveRespVo> getOpticalStorageCurve(MonitorQuery monitorQuery);
|
List<AppRealTimeCurveRespVo> getOpticalStorageCurve(MonitorQuery monitorQuery);
|
||||||
|
|
||||||
|
List<AppRealTimeCurveRespVo> pvCurve(MonitorQuery monitorQuery);
|
||||||
|
|
||||||
List<TemperatureHumidityResp> getTemperatureHumidityCurve(MonitorQuery monitorQuery);
|
List<TemperatureHumidityResp> getTemperatureHumidityCurve(MonitorQuery monitorQuery);
|
||||||
|
|
||||||
CountEleData getCountEleData(StationReq req);
|
CountEleData getCountEleData(StationReq req);
|
||||||
@ -96,6 +99,6 @@ public interface StationHomeService {
|
|||||||
*/
|
*/
|
||||||
OutStationData getStationData(StationReq req);
|
OutStationData getStationData(StationReq req);
|
||||||
|
|
||||||
List<PcsElecData> getPvChargeElec(PcsStationReq req);
|
List<PowerGenerateRespVO> getPvData(PcsStationReq req);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,17 @@
|
|||||||
|
package com.ho.business.service;
|
||||||
|
|
||||||
|
import com.ho.business.entity.StationRemoteControl;
|
||||||
|
import com.ho.business.vo.req.StationRemoteControlPageVo;
|
||||||
|
import com.ho.common.tools.util.PageResult;
|
||||||
|
|
||||||
|
public interface StationRemoteControlService {
|
||||||
|
void insert(StationRemoteControl entity);
|
||||||
|
|
||||||
|
void update(StationRemoteControl entity);
|
||||||
|
|
||||||
|
void delete(Integer id);
|
||||||
|
|
||||||
|
StationRemoteControl search(Integer stationId);
|
||||||
|
|
||||||
|
PageResult<StationRemoteControl> selectPageList(StationRemoteControlPageVo vo);
|
||||||
|
}
|
||||||
@ -25,7 +25,7 @@ public interface StationService {
|
|||||||
|
|
||||||
Station selectById(Integer id);
|
Station selectById(Integer id);
|
||||||
|
|
||||||
List<StationRespVO> selectByIds(List<Integer> ids);
|
List<StationRespVO> selectByIds(List<Integer> ids,String lang);
|
||||||
|
|
||||||
List<Station> selectStationsByIds(List<Integer> ids,String lang);
|
List<Station> selectStationsByIds(List<Integer> ids,String lang);
|
||||||
|
|
||||||
|
|||||||
@ -89,7 +89,7 @@ public class DeviceModelServiceImpl implements DeviceModelService {
|
|||||||
List<String> addCollect = addColList.stream().map(DeviceCol::getCol)
|
List<String> addCollect = addColList.stream().map(DeviceCol::getCol)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
if (!addCollect.isEmpty()) {
|
if (!addCollect.isEmpty()) {
|
||||||
List<DeviceTypeCol> deviceTypeCols = deviceTypeColMapper.selectSameCol(vo.getDeviceType(), addCollect);
|
List<DeviceTypeCol> deviceTypeCols = deviceTypeColMapper.selectSameCol(vo.getDeviceType(), addCollect,null);
|
||||||
if (!deviceTypeCols.isEmpty()) {
|
if (!deviceTypeCols.isEmpty()) {
|
||||||
throw new BusinessException(BaseResponseCode.THE_SAME_DATA_EXISTS_DATABASE_PLEASE_CHECK);
|
throw new BusinessException(BaseResponseCode.THE_SAME_DATA_EXISTS_DATABASE_PLEASE_CHECK);
|
||||||
}
|
}
|
||||||
@ -158,7 +158,7 @@ public class DeviceModelServiceImpl implements DeviceModelService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addDeviceTypeCol(DeviceTypeColAddReq vo) {
|
public void addDeviceTypeCol(DeviceTypeColAddReq vo) {
|
||||||
DeviceTypeCol deviceCol = deviceTypeColMapper.selectTypeAndCol(vo.getCol(), vo.getDeviceType());
|
DeviceTypeCol deviceCol = deviceTypeColMapper.selectTypeAndCol(vo.getCol(), vo.getDeviceType(),null);
|
||||||
if (deviceCol != null && vo.getId() == null) {
|
if (deviceCol != null && vo.getId() == null) {
|
||||||
throw new BusinessException(BaseResponseCode.THE_SAME_DATA_EXISTS_DATABASE_PLEASE_CHECK);
|
throw new BusinessException(BaseResponseCode.THE_SAME_DATA_EXISTS_DATABASE_PLEASE_CHECK);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -106,6 +106,10 @@ public class DeviceServiceImpl implements DeviceService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
Snowflake snowflake;
|
Snowflake snowflake;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
DynamicConfigService dynamicConfigService;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<DeviceRespVO> getPageListByInfo(DeviceReqVO deviceReqVO) {
|
public PageResult<DeviceRespVO> getPageListByInfo(DeviceReqVO deviceReqVO) {
|
||||||
//是否是多个电站
|
//是否是多个电站
|
||||||
@ -391,6 +395,13 @@ public class DeviceServiceImpl implements DeviceService {
|
|||||||
String dName = adddevice.getDeviceName() + (i + 1);
|
String dName = adddevice.getDeviceName() + (i + 1);
|
||||||
newSrcIdList.add(newSrcId);
|
newSrcIdList.add(newSrcId);
|
||||||
device.setDeviceName(dName);
|
device.setDeviceName(dName);
|
||||||
|
TranslateName translate = dynamicConfigService.getNameLanguage(dName);
|
||||||
|
device.setDeviceNameEn(translate.getNameEn());
|
||||||
|
device.setDeviceNameDe(translate.getNameDe());
|
||||||
|
device.setDeviceNamePl(translate.getNamePl());
|
||||||
|
device.setDeviceNameAra(translate.getNameAra());
|
||||||
|
device.setDeviceNameFra(translate.getNameFra());
|
||||||
|
device.setDeviceNameSpa(translate.getNameSpa());
|
||||||
device.setSrcId(newSrcId);
|
device.setSrcId(newSrcId);
|
||||||
device.setDeptId(adddevice.getDeptId());
|
device.setDeptId(adddevice.getDeptId());
|
||||||
device.setDeviceType(adddevice.getDeviceType());
|
device.setDeviceType(adddevice.getDeviceType());
|
||||||
@ -517,6 +528,21 @@ public class DeviceServiceImpl implements DeviceService {
|
|||||||
return device;
|
return device;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
// @Cacheable(value = "device", sync = true)
|
||||||
|
public Device selectByStationIdAndSrcIdAndLng(Integer stationId, Integer srcId,String lang) {
|
||||||
|
Device device = new Device();
|
||||||
|
DeviceReqVO deviceReqVO = new DeviceReqVO();
|
||||||
|
deviceReqVO.setStationId(stationId);
|
||||||
|
deviceReqVO.setSrcId(srcId);
|
||||||
|
deviceReqVO.setLang(lang);
|
||||||
|
List<DeviceRespVO> deviceRespVOList = getList(deviceReqVO);
|
||||||
|
if(deviceRespVOList!=null && !deviceRespVOList.isEmpty()){
|
||||||
|
device = deviceRespVOList.get(0);
|
||||||
|
}
|
||||||
|
return device;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<DeviceRespVO> selectByGroup(Integer groupId) {
|
public List<DeviceRespVO> selectByGroup(Integer groupId) {
|
||||||
Device device = new Device();
|
Device device = new Device();
|
||||||
@ -532,9 +558,10 @@ public class DeviceServiceImpl implements DeviceService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<DeviceRespVO> getDeviceByStationId(Integer stationId) {
|
public List<DeviceRespVO> getDeviceByStationId(Integer stationId,String lang) {
|
||||||
DeviceReqVO reqVO = new DeviceReqVO();
|
DeviceReqVO reqVO = new DeviceReqVO();
|
||||||
reqVO.setStationId(stationId);
|
reqVO.setStationId(stationId);
|
||||||
|
reqVO.setLang(lang);
|
||||||
List<DeviceRespVO> deviceRespVOS = deviceMapper.selectByCondition(reqVO);
|
List<DeviceRespVO> deviceRespVOS = deviceMapper.selectByCondition(reqVO);
|
||||||
deviceRespVOS = getDeviceRespVOS(deviceRespVOS);
|
deviceRespVOS = getDeviceRespVOS(deviceRespVOS);
|
||||||
return deviceRespVOS;
|
return deviceRespVOS;
|
||||||
@ -814,26 +841,26 @@ public class DeviceServiceImpl implements DeviceService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<DeviceRespVO> selectByIdAndSrcIdNotZero(Integer stationId) {
|
public List<DeviceRespVO> selectByIdAndSrcIdNotZero(Integer stationId,String lang) {
|
||||||
List<DeviceRespVO> list = deviceMapper.selectByIdAndSrcIdNotZero(stationId, null, null);
|
List<DeviceRespVO> list = deviceMapper.selectByIdAndSrcIdNotZero(stationId, null, null,lang);
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<DeviceRespVO> selectDeviceByStationId(Integer stationId) {
|
public List<DeviceRespVO> selectDeviceByStationId(Integer stationId,String lang) {
|
||||||
List<DeviceRespVO> list = deviceMapper.selectByIdAndSrcIdNotZero(stationId, null, CommonConstant.ONE);
|
List<DeviceRespVO> list = deviceMapper.selectByIdAndSrcIdNotZero(stationId, null, CommonConstant.ONE,lang);
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<DeviceRespVO> selectAllDeviceAndSrcIdNotZero(Integer stationId) {
|
public List<DeviceRespVO> selectAllDeviceAndSrcIdNotZero(Integer stationId,String lang) {
|
||||||
List<DeviceRespVO> list = deviceMapper.selectByIdAndSrcIdNotZero(stationId, CommonConstant.ONE, null);
|
List<DeviceRespVO> list = deviceMapper.selectByIdAndSrcIdNotZero(stationId, CommonConstant.ONE, null,lang);
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TemperatureVoltageResp getTemperatureVoltageData(DeviceTreeReq vo) {
|
public TemperatureVoltageResp getTemperatureVoltageData(DeviceTreeReq vo) {
|
||||||
List<DeviceRespVO> deviceRespVOS = selectByIdAndSrcIdNotZero(vo.getStationId());
|
List<DeviceRespVO> deviceRespVOS = selectByIdAndSrcIdNotZero(vo.getStationId(),vo.getLang());
|
||||||
List<DevicePointResp> treeDevices = new ArrayList<>();
|
List<DevicePointResp> treeDevices = new ArrayList<>();
|
||||||
if (!deviceRespVOS.isEmpty()) {
|
if (!deviceRespVOS.isEmpty()) {
|
||||||
treeDevices = deviceTypeConfigService.getTreeDevices(deviceRespVOS, vo.getSrcId());
|
treeDevices = deviceTypeConfigService.getTreeDevices(deviceRespVOS, vo.getSrcId());
|
||||||
@ -1030,6 +1057,12 @@ public class DeviceServiceImpl implements DeviceService {
|
|||||||
deviceValue.setCategory(device.getCategory());
|
deviceValue.setCategory(device.getCategory());
|
||||||
deviceValue.setStationId(vo.getStationId());
|
deviceValue.setStationId(vo.getStationId());
|
||||||
deviceValue.setDeviceName(device.getDeviceName());
|
deviceValue.setDeviceName(device.getDeviceName());
|
||||||
|
deviceValue.setDeviceNameEn(device.getDeviceNameEn());
|
||||||
|
deviceValue.setDeviceNameFra(device.getDeviceNameFra());
|
||||||
|
deviceValue.setDeviceNameSpa(device.getDeviceNameSpa());
|
||||||
|
deviceValue.setDeviceNameDe(device.getDeviceNameDe());
|
||||||
|
deviceValue.setDeviceNamePl(device.getDeviceNamePl());
|
||||||
|
deviceValue.setDeviceNameAra(device.getDeviceNameAra());
|
||||||
deviceValue.setStatus(device.getStatus());
|
deviceValue.setStatus(device.getStatus());
|
||||||
deviceValue.setCreateTime(new Date());
|
deviceValue.setCreateTime(new Date());
|
||||||
deviceValue.setFromId(device.getFromId());
|
deviceValue.setFromId(device.getFromId());
|
||||||
@ -1118,7 +1151,7 @@ public class DeviceServiceImpl implements DeviceService {
|
|||||||
List<DeviceRespVO> deviceRespVOS = deviceMapper.selectByCondition(deviceReqVO);
|
List<DeviceRespVO> deviceRespVOS = deviceMapper.selectByCondition(deviceReqVO);
|
||||||
List<Integer> srcIdList = deviceRespVOS.stream().map(s -> s.getSrcId()).collect(Collectors.toList());
|
List<Integer> srcIdList = deviceRespVOS.stream().map(s -> s.getSrcId()).collect(Collectors.toList());
|
||||||
//查询对应的设备
|
//查询对应的设备
|
||||||
List<DeviceRespVO> deviceStation = selectByIdAndSrcIdNotZero(vo.getStationId());
|
List<DeviceRespVO> deviceStation = selectByIdAndSrcIdNotZero(vo.getStationId(),vo.getLang());
|
||||||
List<DevicePointResp> treeDevices = new ArrayList<>();
|
List<DevicePointResp> treeDevices = new ArrayList<>();
|
||||||
if (!deviceRespVOS.isEmpty()) {
|
if (!deviceRespVOS.isEmpty()) {
|
||||||
for (Integer srcId : srcIdList) {
|
for (Integer srcId : srcIdList) {
|
||||||
@ -1140,7 +1173,7 @@ public class DeviceServiceImpl implements DeviceService {
|
|||||||
List<DeviceRespVO> deviceRespVOS = deviceMapper.selectByCondition(deviceReqVO);
|
List<DeviceRespVO> deviceRespVOS = deviceMapper.selectByCondition(deviceReqVO);
|
||||||
List<Integer> srcIdList = deviceRespVOS.stream().map(s -> s.getSrcId()).collect(Collectors.toList());
|
List<Integer> srcIdList = deviceRespVOS.stream().map(s -> s.getSrcId()).collect(Collectors.toList());
|
||||||
//查询对应的设备
|
//查询对应的设备
|
||||||
List<DeviceRespVO> deviceStation = selectByIdAndSrcIdNotZero(vo.getStationId());
|
List<DeviceRespVO> deviceStation = selectByIdAndSrcIdNotZero(vo.getStationId(),vo.getLang());
|
||||||
List<DevicePointResp> treeDevices = new ArrayList<>();
|
List<DevicePointResp> treeDevices = new ArrayList<>();
|
||||||
if (!deviceRespVOS.isEmpty()) {
|
if (!deviceRespVOS.isEmpty()) {
|
||||||
for (Integer srcId : srcIdList) {
|
for (Integer srcId : srcIdList) {
|
||||||
|
|||||||
@ -50,7 +50,7 @@ public class DeviceTypeColServiceImpl implements DeviceTypeColService {
|
|||||||
DeviceTypeCol deviceTypeCol = null;
|
DeviceTypeCol deviceTypeCol = null;
|
||||||
for (Map.Entry<String, List<DeviceTypeColImportVO>> src : mapList.entrySet()) {
|
for (Map.Entry<String, List<DeviceTypeColImportVO>> src : mapList.entrySet()) {
|
||||||
//已经存在的
|
//已经存在的
|
||||||
List<DeviceTypeCol> isSaveList = deviceTypeColMapper.selectByDeviceType(src.getKey());
|
List<DeviceTypeCol> isSaveList = deviceTypeColMapper.selectByDeviceType(src.getKey(),null);
|
||||||
Map<String, DeviceTypeCol> isSaveMap = isSaveList.stream().collect(Collectors.toMap(k -> k.getDeviceType() + "_" + k.getCol(), DeviceTypeCol -> DeviceTypeCol));
|
Map<String, DeviceTypeCol> isSaveMap = isSaveList.stream().collect(Collectors.toMap(k -> k.getDeviceType() + "_" + k.getCol(), DeviceTypeCol -> DeviceTypeCol));
|
||||||
|
|
||||||
Map<Integer, List<DeviceTypeCol>> addMap = new HashMap<>();
|
Map<Integer, List<DeviceTypeCol>> addMap = new HashMap<>();
|
||||||
@ -118,8 +118,8 @@ public class DeviceTypeColServiceImpl implements DeviceTypeColService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<DeviceTypeCol> selectByDeviceType(String deviceType) {
|
public List<DeviceTypeCol> selectByDeviceType(String deviceType,String lang) {
|
||||||
List<DeviceTypeCol> deviceTypeColList = deviceTypeColMapper.selectByDeviceType(deviceType);
|
List<DeviceTypeCol> deviceTypeColList = deviceTypeColMapper.selectByDeviceType(deviceType,lang);
|
||||||
return deviceTypeColList;
|
return deviceTypeColList;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -130,14 +130,14 @@ public class DeviceTypeColServiceImpl implements DeviceTypeColService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DeviceTypeCol selectTypeAndCol(String col, String deviceType) {
|
public DeviceTypeCol selectTypeAndCol(String col, String deviceType,String lang) {
|
||||||
DeviceTypeCol deviceTypeCol = deviceTypeColMapper.selectTypeAndCol(col, deviceType);
|
DeviceTypeCol deviceTypeCol = deviceTypeColMapper.selectTypeAndCol(col, deviceType,lang);
|
||||||
return deviceTypeCol;
|
return deviceTypeCol;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<DeviceTypeCol> selectDeviceTypeColList(String deviceType, List<String> collect) {
|
public List<DeviceTypeCol> selectDeviceTypeColList(String deviceType, List<String> collect,String lang) {
|
||||||
List<DeviceTypeCol> deviceTypeCols = deviceTypeColMapper.selectSameCol(deviceType, collect);
|
List<DeviceTypeCol> deviceTypeCols = deviceTypeColMapper.selectSameCol(deviceType, collect,lang);
|
||||||
return deviceTypeCols;
|
return deviceTypeCols;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -18,7 +18,9 @@ import com.ho.business.vo.resp.DeviceRespVO;
|
|||||||
import com.ho.business.vo.resp.dynamicConfig.*;
|
import com.ho.business.vo.resp.dynamicConfig.*;
|
||||||
import com.ho.common.tools.constant.CommonConstant;
|
import com.ho.common.tools.constant.CommonConstant;
|
||||||
import com.ho.common.tools.service.RedisService;
|
import com.ho.common.tools.service.RedisService;
|
||||||
|
import com.ho.common.tools.util.TranslateUtils;
|
||||||
import com.ho.datacollect.api.constant.DataCollectConstant;
|
import com.ho.datacollect.api.constant.DataCollectConstant;
|
||||||
|
import jodd.util.StringUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
@ -27,6 +29,7 @@ import org.springframework.stereotype.Service;
|
|||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.concurrent.CompletableFuture;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@ -70,6 +73,9 @@ public class DynamicConfigServiceImpl implements DynamicConfigService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
DynamicConfigTitleMapper configTitleMapper;
|
DynamicConfigTitleMapper configTitleMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
TranslateNameMapper translateNameMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int insertList(List<DynamicConfig> list) {
|
public int insertList(List<DynamicConfig> list) {
|
||||||
List<DynamicConfig> insertList = list.stream().filter(i -> i.getId() == null).collect(Collectors.toList());
|
List<DynamicConfig> insertList = list.stream().filter(i -> i.getId() == null).collect(Collectors.toList());
|
||||||
@ -153,6 +159,14 @@ public class DynamicConfigServiceImpl implements DynamicConfigService {
|
|||||||
List<CurveConfig> insertList = new ArrayList<>();
|
List<CurveConfig> insertList = new ArrayList<>();
|
||||||
CurveConfig config = null;
|
CurveConfig config = null;
|
||||||
for (CurveConfigAdd c:list) {
|
for (CurveConfigAdd c:list) {
|
||||||
|
//curveName 设置多语言翻译 20250821
|
||||||
|
TranslateName translate = getNameLanguage(c.getCurveName());
|
||||||
|
c.setCurveNameEn(translate.getNameEn());
|
||||||
|
c.setCurveNameFra(translate.getNameFra());
|
||||||
|
c.setCurveNameSpa(translate.getNameSpa());
|
||||||
|
c.setCurveNameDe(translate.getNameDe());
|
||||||
|
c.setCurveNamePl(translate.getNamePl());
|
||||||
|
c.setCurveNameAra(translate.getNameAra());
|
||||||
config = new CurveConfig();
|
config = new CurveConfig();
|
||||||
BeanUtils.copyProperties(c,config);
|
BeanUtils.copyProperties(c,config);
|
||||||
if(c.getId() == null){
|
if(c.getId() == null){
|
||||||
@ -180,6 +194,15 @@ public class DynamicConfigServiceImpl implements DynamicConfigService {
|
|||||||
list.get(i).setId(id);
|
list.get(i).setId(id);
|
||||||
List<DynamicConfig> dList = list.get(i).getList();
|
List<DynamicConfig> dList = list.get(i).getList();
|
||||||
if(null != dList && !dList.isEmpty()){
|
if(null != dList && !dList.isEmpty()){
|
||||||
|
dList.stream().forEach(s->{
|
||||||
|
TranslateName translate = getNameLanguage(s.getColName());
|
||||||
|
s.setColNameEn(translate.getNameEn());
|
||||||
|
s.setColNameFra(translate.getNameFra());
|
||||||
|
s.setColNameSpa(translate.getNameSpa());
|
||||||
|
s.setColNameDe(translate.getNameDe());
|
||||||
|
s.setColNamePl(translate.getNamePl());
|
||||||
|
s.setColNameAra(translate.getNameAra());
|
||||||
|
});
|
||||||
//动态配置点国际化
|
//动态配置点国际化
|
||||||
result = dynamicConfigMapper.insertList(dList);
|
result = dynamicConfigMapper.insertList(dList);
|
||||||
log.info("插入动态配置结果,{}",result);
|
log.info("插入动态配置结果,{}",result);
|
||||||
@ -293,6 +316,23 @@ public class DynamicConfigServiceImpl implements DynamicConfigService {
|
|||||||
if(srcPoint.getSort()==null){
|
if(srcPoint.getSort()==null){
|
||||||
srcPoint.setSort(i);
|
srcPoint.setSort(i);
|
||||||
}
|
}
|
||||||
|
//name defaultValue 设置多语言翻译 20250821
|
||||||
|
TranslateName translate = getNameLanguage(srcPoint.getName());
|
||||||
|
srcPoint.setNameEn(translate.getNameEn());
|
||||||
|
srcPoint.setNameFra(translate.getNameFra());
|
||||||
|
srcPoint.setNameSpa(translate.getNameSpa());
|
||||||
|
srcPoint.setNameDe(translate.getNameDe());
|
||||||
|
srcPoint.setNamePl(translate.getNamePl());
|
||||||
|
srcPoint.setNameAra(translate.getNameAra());
|
||||||
|
if(StringUtil.isNotBlank(srcPoint.getDefaultValue())){
|
||||||
|
TranslateName translateDe = getNameLanguage(srcPoint.getDefaultValue());
|
||||||
|
srcPoint.setDefaultValueEn(translateDe.getNameEn());
|
||||||
|
srcPoint.setDefaultValueFra(translateDe.getNameFra());
|
||||||
|
srcPoint.setDefaultValueSpa(translateDe.getNameSpa());
|
||||||
|
srcPoint.setDefaultValueDe(translateDe.getNameDe());
|
||||||
|
srcPoint.setDefaultValuePl(translateDe.getNamePl());
|
||||||
|
srcPoint.setDefaultValueAra(translateDe.getNameAra());
|
||||||
|
}
|
||||||
pointConfig = new PointConfig();
|
pointConfig = new PointConfig();
|
||||||
BeanUtils.copyProperties(srcPoint,pointConfig);
|
BeanUtils.copyProperties(srcPoint,pointConfig);
|
||||||
if(srcPoint.getId()==null){
|
if(srcPoint.getId()==null){
|
||||||
@ -337,6 +377,15 @@ public class DynamicConfigServiceImpl implements DynamicConfigService {
|
|||||||
List<DynamicConfig> dynamicConfigs = list.get(i).getList();
|
List<DynamicConfig> dynamicConfigs = list.get(i).getList();
|
||||||
//插入动态配置点
|
//插入动态配置点
|
||||||
if(!dynamicConfigs.isEmpty()){
|
if(!dynamicConfigs.isEmpty()){
|
||||||
|
dynamicConfigs.stream().forEach(s->{
|
||||||
|
TranslateName translate = getNameLanguage(s.getColName());
|
||||||
|
s.setColNameEn(translate.getNameEn());
|
||||||
|
s.setColNameFra(translate.getNameFra());
|
||||||
|
s.setColNameSpa(translate.getNameSpa());
|
||||||
|
s.setColNameDe(translate.getNameDe());
|
||||||
|
s.setColNamePl(translate.getNamePl());
|
||||||
|
s.setColNameAra(translate.getNameAra());
|
||||||
|
});
|
||||||
result = dynamicConfigMapper.insertList(dynamicConfigs);
|
result = dynamicConfigMapper.insertList(dynamicConfigs);
|
||||||
for (DynamicConfig d:dynamicConfigs) {
|
for (DynamicConfig d:dynamicConfigs) {
|
||||||
relation = new PointConfigRelation();
|
relation = new PointConfigRelation();
|
||||||
@ -359,6 +408,16 @@ public class DynamicConfigServiceImpl implements DynamicConfigService {
|
|||||||
p.getPolysemyList().forEach(i->i.setPointId(p.getId()));
|
p.getPolysemyList().forEach(i->i.setPointId(p.getId()));
|
||||||
pList.addAll(p.getPolysemyList());
|
pList.addAll(p.getPolysemyList());
|
||||||
}
|
}
|
||||||
|
//name 设置多语言翻译 20250821
|
||||||
|
pList.stream().forEach(i->{
|
||||||
|
TranslateName translate = getNameLanguage(i.getName());
|
||||||
|
i.setNameEn(translate.getNameEn());
|
||||||
|
i.setNameFra(translate.getNameFra());
|
||||||
|
i.setNameSpa(translate.getNameSpa());
|
||||||
|
i.setNameDe(translate.getNameDe());
|
||||||
|
i.setNamePl(translate.getNamePl());
|
||||||
|
i.setNameAra(translate.getNameAra());
|
||||||
|
});
|
||||||
result = polysemyMapper.insertList(pList);
|
result = polysemyMapper.insertList(pList);
|
||||||
log.info("插入一点多义表结果:{}",result);
|
log.info("插入一点多义表结果:{}",result);
|
||||||
}
|
}
|
||||||
@ -386,7 +445,7 @@ public class DynamicConfigServiceImpl implements DynamicConfigService {
|
|||||||
List<Integer> polysemyList = pointConfigResultList.stream().filter(i -> CommonConstant.TWO.equals(i.getPointType()) || CommonConstant.ELEVEN.equals(i.getPointType())).map(PointConfigResultResp::getId).distinct().collect(Collectors.toList());
|
List<Integer> polysemyList = pointConfigResultList.stream().filter(i -> CommonConstant.TWO.equals(i.getPointType()) || CommonConstant.ELEVEN.equals(i.getPointType())).map(PointConfigResultResp::getId).distinct().collect(Collectors.toList());
|
||||||
Map<Integer, List<PointPolysemyConfig>> vMap = new HashMap<>();
|
Map<Integer, List<PointPolysemyConfig>> vMap = new HashMap<>();
|
||||||
if(!polysemyList.isEmpty()){
|
if(!polysemyList.isEmpty()){
|
||||||
List<PointPolysemyConfig> list = polysemyMapper.selectByPointIds(polysemyList);
|
List<PointPolysemyConfig> list = polysemyMapper.selectByPointIds(polysemyList,vo.getLang());
|
||||||
vMap = list.stream().collect(Collectors.groupingBy(PointPolysemyConfig::getPointId));
|
vMap = list.stream().collect(Collectors.groupingBy(PointPolysemyConfig::getPointId));
|
||||||
}
|
}
|
||||||
//拆电芯
|
//拆电芯
|
||||||
@ -445,14 +504,14 @@ public class DynamicConfigServiceImpl implements DynamicConfigService {
|
|||||||
List<Integer> polysemyList = pointConfigResultList.stream().filter(i -> CommonConstant.TWO.equals(i.getPointType())).map(PointConfigResultResp::getId).distinct().collect(Collectors.toList());
|
List<Integer> polysemyList = pointConfigResultList.stream().filter(i -> CommonConstant.TWO.equals(i.getPointType())).map(PointConfigResultResp::getId).distinct().collect(Collectors.toList());
|
||||||
Map<String, String> vMap = new HashMap<>();
|
Map<String, String> vMap = new HashMap<>();
|
||||||
if(!polysemyList.isEmpty()){
|
if(!polysemyList.isEmpty()){
|
||||||
List<PointPolysemyConfig> list = polysemyMapper.selectByPointIds(polysemyList);
|
List<PointPolysemyConfig> list = polysemyMapper.selectByPointIds(polysemyList,vo.getLang());
|
||||||
vMap = list.stream().filter(s->s.getValue()!=null&&s.getName()!=null).collect(Collectors.toMap(s -> s.getPointId() + "," + s.getValue().intValue(), s -> s.getName(), (k1, k2) -> k1));
|
vMap = list.stream().filter(s->s.getValue()!=null&&s.getName()!=null).collect(Collectors.toMap(s -> s.getPointId() + "," + s.getValue().intValue(), s -> s.getName(), (k1, k2) -> k1));
|
||||||
}
|
}
|
||||||
//范围内的一点多义
|
//范围内的一点多义
|
||||||
List<Integer> rangePolysemyList = pointConfigResultList.stream().filter(i -> CommonConstant.ELEVEN.equals(i.getPointType())).map(PointConfigResultResp::getId).distinct().collect(Collectors.toList());
|
List<Integer> rangePolysemyList = pointConfigResultList.stream().filter(i -> CommonConstant.ELEVEN.equals(i.getPointType())).map(PointConfigResultResp::getId).distinct().collect(Collectors.toList());
|
||||||
Map<Integer, List<PointPolysemyConfig>> rMap = new HashMap<>();
|
Map<Integer, List<PointPolysemyConfig>> rMap = new HashMap<>();
|
||||||
if(!rangePolysemyList.isEmpty()){
|
if(!rangePolysemyList.isEmpty()){
|
||||||
List<PointPolysemyConfig> list = polysemyMapper.selectByPointIds(rangePolysemyList);
|
List<PointPolysemyConfig> list = polysemyMapper.selectByPointIds(rangePolysemyList,vo.getLang());
|
||||||
rMap = list.stream().filter(s -> s.getValue() != null && s.getName() != null && s.getSymbol() != null).collect(Collectors.groupingBy(PointPolysemyConfig::getPointId));
|
rMap = list.stream().filter(s -> s.getValue() != null && s.getName() != null && s.getSymbol() != null).collect(Collectors.groupingBy(PointPolysemyConfig::getPointId));
|
||||||
}
|
}
|
||||||
//拆电芯
|
//拆电芯
|
||||||
@ -762,6 +821,101 @@ public class DynamicConfigServiceImpl implements DynamicConfigService {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNameByLang(String name,String lang){
|
||||||
|
TranslateName translate = getNameLanguage(name);
|
||||||
|
switch (lang){
|
||||||
|
case CommonConstant.langTemp.EN_US:
|
||||||
|
return translate.getNameEn();
|
||||||
|
case CommonConstant.langTemp.DE_DE:
|
||||||
|
return translate.getNameDe();
|
||||||
|
case CommonConstant.langTemp.ES_ES:
|
||||||
|
return translate.getNameSpa();
|
||||||
|
case CommonConstant.langTemp.AR_EG:
|
||||||
|
return translate.getNameAra();
|
||||||
|
case CommonConstant.langTemp.PL_PL:
|
||||||
|
return translate.getNamePl();
|
||||||
|
case CommonConstant.langTemp.FR_FR:
|
||||||
|
return translate.getNameFra();
|
||||||
|
case CommonConstant.langTemp.ZH_CN:
|
||||||
|
return translate.getName();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TranslateName getNameLanguage(String name) {
|
||||||
|
// 英语
|
||||||
|
String nameEn = null;
|
||||||
|
// 法语
|
||||||
|
String nameFra = null;
|
||||||
|
// 西班牙语
|
||||||
|
String nameSpa = null;
|
||||||
|
// 德语
|
||||||
|
String nameDe = null;
|
||||||
|
// 波兰语
|
||||||
|
String namePl = null;
|
||||||
|
// 阿拉伯语
|
||||||
|
String nameAra = null;
|
||||||
|
// 查询数据库中 预先翻译的中文字段 语言
|
||||||
|
TranslateName vo = translateNameMapper.selectNameLang(name);
|
||||||
|
TranslateName translate = new TranslateName();
|
||||||
|
boolean flag = false;
|
||||||
|
if(vo == null){
|
||||||
|
nameEn = TranslateUtils.translate(name,CommonConstant.lang.EN);
|
||||||
|
nameFra = TranslateUtils.translate(name,CommonConstant.lang.FRA);
|
||||||
|
nameSpa = TranslateUtils.translate(name,CommonConstant.lang.SPA);
|
||||||
|
nameDe = TranslateUtils.translate(name,CommonConstant.lang.DE);
|
||||||
|
namePl = TranslateUtils.translate(name,CommonConstant.lang.PL);
|
||||||
|
nameAra = TranslateUtils.translate(name,CommonConstant.lang.ARA);
|
||||||
|
// 插入中文预翻译表
|
||||||
|
translate.setName(name);
|
||||||
|
translate.setNameEn(nameEn);
|
||||||
|
translate.setNameFra(nameFra);
|
||||||
|
translate.setNameSpa(nameSpa);
|
||||||
|
translate.setNameDe(nameDe);
|
||||||
|
translate.setNamePl(namePl);
|
||||||
|
translate.setNameAra(nameAra);
|
||||||
|
CompletableFuture.runAsync(()->{
|
||||||
|
translateNameMapper.insert(translate);
|
||||||
|
});
|
||||||
|
return translate;
|
||||||
|
}else{
|
||||||
|
if(StringUtil.isEmpty(vo.getNameEn())){
|
||||||
|
vo.setNameEn(TranslateUtils.translate(name,CommonConstant.lang.EN));
|
||||||
|
flag = true;
|
||||||
|
}
|
||||||
|
if(StringUtil.isEmpty(vo.getNameFra())){
|
||||||
|
vo.setNameFra(TranslateUtils.translate(name,CommonConstant.lang.FRA));
|
||||||
|
flag = true;
|
||||||
|
}
|
||||||
|
if(StringUtil.isEmpty(vo.getNameSpa())){
|
||||||
|
vo.setNameSpa(TranslateUtils.translate(name,CommonConstant.lang.SPA));
|
||||||
|
flag = true;
|
||||||
|
}
|
||||||
|
if(StringUtil.isEmpty(vo.getNameDe())){
|
||||||
|
vo.setNameDe(TranslateUtils.translate(name,CommonConstant.lang.DE));
|
||||||
|
flag = true;
|
||||||
|
}
|
||||||
|
if(StringUtil.isEmpty(vo.getNamePl())){
|
||||||
|
vo.setNamePl(TranslateUtils.translate(name,CommonConstant.lang.PL));
|
||||||
|
flag = true;
|
||||||
|
}
|
||||||
|
if(StringUtil.isEmpty(vo.getNameAra())){
|
||||||
|
vo.setNameAra(TranslateUtils.translate(name,CommonConstant.lang.ARA));
|
||||||
|
flag = true;
|
||||||
|
}
|
||||||
|
if(flag){
|
||||||
|
CompletableFuture.runAsync(()->{
|
||||||
|
translateNameMapper.updateById(vo);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return vo;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private void getConfigAddList(SyncDynamicConfigParam vo, List<PointConfigResultResp> pointList, List<PointConfigAdd> pointAddList,Integer deviceId,Map<Integer, SyncDynamicDeviceMapping> map) {
|
private void getConfigAddList(SyncDynamicConfigParam vo, List<PointConfigResultResp> pointList, List<PointConfigAdd> pointAddList,Integer deviceId,Map<Integer, SyncDynamicDeviceMapping> map) {
|
||||||
PointConfigAdd configAdd = null;
|
PointConfigAdd configAdd = null;
|
||||||
for (PointConfigResultResp p: pointList) {
|
for (PointConfigResultResp p: pointList) {
|
||||||
|
|||||||
@ -0,0 +1,212 @@
|
|||||||
|
package com.ho.business.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateTime;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import com.ho.business.constant.DeviceTypeConstant;
|
||||||
|
import com.ho.business.entity.*;
|
||||||
|
import com.ho.business.feignclient.TdFeignClient;
|
||||||
|
import com.ho.business.mapper.EarningsCalculateMapper;
|
||||||
|
import com.ho.business.mapper.EarningsCalculateMpptMapper;
|
||||||
|
import com.ho.business.service.*;
|
||||||
|
import com.ho.business.util.QueuesUtil;
|
||||||
|
import com.ho.business.vo.req.bigScreen.CommonBigScreenReq;
|
||||||
|
import com.ho.business.vo.req.device.DeviceTypeQuery;
|
||||||
|
import com.ho.business.vo.resp.DeviceRespVO;
|
||||||
|
import com.ho.business.vo.resp.InverterResp.PowerGenerateRespVO;
|
||||||
|
import com.ho.business.vo.resp.profit.DayProfitType;
|
||||||
|
import com.ho.common.tools.constant.CommonConstant;
|
||||||
|
import com.ho.common.tools.constant.RedisKeyConstant;
|
||||||
|
import com.ho.common.tools.exception.DataResult;
|
||||||
|
import com.ho.common.tools.service.RedisService;
|
||||||
|
import com.ho.common.tools.vo.req.StationHomeRespVo;
|
||||||
|
import com.ho.td.api.entity.query.TdBaseTimeQuery;
|
||||||
|
import jodd.util.CollectionUtil;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@Slf4j
|
||||||
|
public class EarningsCalculateMpptServiceImpl implements EarningsCalculateMpptService {
|
||||||
|
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
EarningsCalculateMpptMapper earningsCalculateMpptMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private DeviceService deviceService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ModelDeviceService modelDeviceService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private DeviceTypeConfigService deviceTypeConfigService;
|
||||||
|
|
||||||
|
public static final String TOTAL_RELEASE = "totalRelease";
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
RedisService redisService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
EarningsCalculateMapper earningsCalculateMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private TdFeignClient tdFeignClient;
|
||||||
|
@Override
|
||||||
|
public int deleteByDay(String day, List<Integer> typeList) {
|
||||||
|
int i = earningsCalculateMpptMapper.deleteByDay(day, typeList);
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计算光伏收益
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private List<EarningsCalculateMppt> countMpptIncome(Station station,String beginTime){
|
||||||
|
List<EarningsCalculateMppt> list =new ArrayList<>();
|
||||||
|
Integer stationId = station.getId();
|
||||||
|
// 总发
|
||||||
|
List<DeviceRespVO> deviceRespVOS = deviceService.getListByDeviceType(stationId, DeviceTypeConstant.MPPT);
|
||||||
|
if (deviceRespVOS.isEmpty()) {
|
||||||
|
deviceRespVOS = deviceService.getListByFuzzyDeviceType(stationId, DeviceTypeConstant.MPPT);
|
||||||
|
}
|
||||||
|
for (DeviceRespVO vo : deviceRespVOS) {
|
||||||
|
// 查询光伏Mppt 放电量关联字段 如果没关联,则不计算
|
||||||
|
List<ModelDeviceColComp> deviceCp = modelDeviceService.getCompListByType("device", vo.getDeviceType(), TOTAL_RELEASE);
|
||||||
|
if(deviceCp == null ){
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// 查询设备模型,没查询到则返回,不计算
|
||||||
|
DeviceTypeQuery deviceTypeQuery = new DeviceTypeQuery();
|
||||||
|
deviceTypeQuery.setGroupId(station.getGroupId());
|
||||||
|
deviceTypeQuery.setDeviceType(deviceCp.get(0).getDeviceType());
|
||||||
|
List<DeviceTypeConfig> deviceTypeConfigs = deviceTypeConfigService.queryListByCondition(deviceTypeQuery);
|
||||||
|
if (deviceTypeConfigs == null){
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
//开始计算
|
||||||
|
//1:组装时序数据库查询参数
|
||||||
|
DateTime beginDate = DateUtil.beginOfDay(DateUtil.parse(beginTime));
|
||||||
|
DateTime endDate = DateUtil.endOfDay(beginDate);
|
||||||
|
TdBaseTimeQuery tdBaseQuery = new TdBaseTimeQuery();
|
||||||
|
tdBaseQuery.setBeginTime(beginDate.toMsStr());
|
||||||
|
tdBaseQuery.setEndTime(endDate.toMsStr());
|
||||||
|
tdBaseQuery.setTime("1m");
|
||||||
|
tdBaseQuery.setStationId(station.getId());
|
||||||
|
tdBaseQuery.setGroupId(station.getGroupId());
|
||||||
|
tdBaseQuery.setModelName((deviceTypeConfigs.get(0)).getModelName());
|
||||||
|
tdBaseQuery.setCol(deviceCp.get(0).getDeviceCol());
|
||||||
|
tdBaseQuery.setSrcId(vo.getSrcId());
|
||||||
|
// 查询设备时序数据,如果为空则不计算
|
||||||
|
DataResult<List<StationHomeRespVo>> listDataResult = tdFeignClient.queryPointTableList(tdBaseQuery);
|
||||||
|
List<StationHomeRespVo> datas = listDataResult.getData();
|
||||||
|
if(datas ==null){
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// 获取电价分时段计算收益
|
||||||
|
List<EarningsCalculateSub> elecTemplateSubs = earningsCalculateMapper.queryElecTemplateSubByStationId(station.getId(), 0, beginTime,2);
|
||||||
|
BigDecimal lastelec = BigDecimal.ZERO;
|
||||||
|
BigDecimal elec = BigDecimal.ZERO;
|
||||||
|
int num = 0 ;
|
||||||
|
for (EarningsCalculateSub sub : elecTemplateSubs ){
|
||||||
|
String earnBegin = sub.getBeginTime();
|
||||||
|
String earnEnd = sub.getEndTime();
|
||||||
|
DateTime earnBeginDate = DateUtil.parse(beginTime + " " + earnBegin + ":00");
|
||||||
|
DateTime earnEndate = DateUtil.parse(beginTime + " " + earnEnd + ":59");
|
||||||
|
List<StationHomeRespVo> subData = datas.stream().filter(i->DateUtil.isIn(DateUtil.parse(i.getDate()),earnBeginDate,earnEndate)).collect(Collectors.toList());
|
||||||
|
if(subData.size()>0){
|
||||||
|
if(num==0){
|
||||||
|
elec = subData.get(subData.size()-1).getDigital().subtract(subData.get(0).getDigital());
|
||||||
|
}else {
|
||||||
|
elec = subData.get(subData.size() - 1).getDigital().subtract(lastelec);
|
||||||
|
}
|
||||||
|
lastelec = subData.get(subData.size()-1).getDigital();
|
||||||
|
num++;
|
||||||
|
EarningsCalculateMppt earn =new EarningsCalculateMppt();
|
||||||
|
earn.setDay(beginTime);
|
||||||
|
earn.setGroupId(station.getGroupId());
|
||||||
|
earn.setStationId(station.getId());
|
||||||
|
earn.setSrcId(tdBaseQuery.getSrcId());
|
||||||
|
earn.setPrice(sub.getPrice());
|
||||||
|
earn.setRateType(sub.getType());
|
||||||
|
earn.setType(1);
|
||||||
|
earn.setCreateTime(new Date());
|
||||||
|
BigDecimal discount = sub.getDiscount() == null ? BigDecimal.ONE : sub.getDiscount();
|
||||||
|
earn.setTotal(BigDecimal.ZERO);
|
||||||
|
earn.setElec(elec);
|
||||||
|
earn.setDiscount(discount);
|
||||||
|
earn.setDigital(new BigDecimal(String.format("%.4f",elec.multiply(sub.getPrice()))));
|
||||||
|
list.add(earn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void todayMpptIncome(List<Station> stations,String beginTime){
|
||||||
|
if(stations != null && stations.size() > 0){
|
||||||
|
for (Station station:stations){
|
||||||
|
List<EarningsCalculateMppt> list = countMpptIncome(station,beginTime);
|
||||||
|
// 缓存今日收益
|
||||||
|
if(list.size()>0){
|
||||||
|
String key = RedisKeyConstant.PV.STATION_PV_TODAY_PROFIT + station.getId();
|
||||||
|
BigDecimal todayIncone = list.stream().map(EarningsCalculateMppt::getDigital).reduce(BigDecimal.ZERO,BigDecimal::add);
|
||||||
|
redisService.set(key, todayIncone);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<PowerGenerateRespVO> countPvIncome(Integer stationId, String beginTime, String endTime) {
|
||||||
|
return earningsCalculateMpptMapper.countPvIncome(stationId,beginTime,endTime);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BigDecimal countAllPvIncome(Integer stationId,String beginTime, String endTime) {
|
||||||
|
BigDecimal data = earningsCalculateMpptMapper.countAllPvIncome(stationId,beginTime,endTime);
|
||||||
|
return data==null?BigDecimal.ZERO:data;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<DayProfitType> getProfit(String begin, String end, Integer groupId) {
|
||||||
|
return earningsCalculateMpptMapper.getProfit(begin, end, groupId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Date getFirstTime() {
|
||||||
|
String day = earningsCalculateMpptMapper.getFirstTime();
|
||||||
|
DateTime date = null;
|
||||||
|
if(day!=null){
|
||||||
|
date = DateUtil.parse(day, CommonConstant.DATE_YMD);
|
||||||
|
}
|
||||||
|
return date;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<DayProfitType> getEarningsByParam(CommonBigScreenReq req) {
|
||||||
|
return earningsCalculateMpptMapper.getEarningsByParam(req);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void allMpptIncome(List<Station> stations,String beginTime) {
|
||||||
|
if(stations != null && stations.size() > 0){
|
||||||
|
for (Station station:stations){
|
||||||
|
List<EarningsCalculateMppt> list = countMpptIncome(station,beginTime);
|
||||||
|
// 数据插入
|
||||||
|
if(list.size()>0){
|
||||||
|
int a = this.earningsCalculateMpptMapper.insertBatch(list);
|
||||||
|
System.err.println("修改的行数:" + a);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -6,7 +6,6 @@ import cn.hutool.core.date.DateUnit;
|
|||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.alibaba.excel.util.DateUtils;
|
import com.alibaba.excel.util.DateUtils;
|
||||||
import com.alibaba.excel.util.StringUtils;
|
import com.alibaba.excel.util.StringUtils;
|
||||||
import com.alibaba.fastjson.JSON;
|
|
||||||
import com.ho.business.constant.DeviceTypeConstant;
|
import com.ho.business.constant.DeviceTypeConstant;
|
||||||
import com.ho.business.entity.*;
|
import com.ho.business.entity.*;
|
||||||
import com.ho.business.feignclient.UserFeignClient;
|
import com.ho.business.feignclient.UserFeignClient;
|
||||||
@ -25,12 +24,13 @@ import com.ho.business.vo.req.pcsStation.PcsStationReq;
|
|||||||
import com.ho.business.vo.req.report.ReportReqVO;
|
import com.ho.business.vo.req.report.ReportReqVO;
|
||||||
import com.ho.business.vo.resp.CountEleData;
|
import com.ho.business.vo.resp.CountEleData;
|
||||||
import com.ho.business.vo.resp.DeviceRespVO;
|
import com.ho.business.vo.resp.DeviceRespVO;
|
||||||
import com.ho.business.vo.resp.ShipStationRespVO;
|
import com.ho.business.vo.resp.InverterResp.PowerGenerateRespVO;
|
||||||
import com.ho.business.vo.resp.cabin.EarningsCalculateCountResp;
|
import com.ho.business.vo.resp.cabin.EarningsCalculateCountResp;
|
||||||
import com.ho.business.vo.resp.cabin.EarningsCalculateResp;
|
import com.ho.business.vo.resp.cabin.EarningsCalculateResp;
|
||||||
import com.ho.business.vo.resp.colCount.ColCountResp;
|
import com.ho.business.vo.resp.colCount.ColCountResp;
|
||||||
import com.ho.business.vo.resp.income.RevenueOverview;
|
import com.ho.business.vo.resp.income.RevenueOverview;
|
||||||
import com.ho.business.vo.resp.income.RevenueOverviewData;
|
import com.ho.business.vo.resp.income.RevenueOverviewData;
|
||||||
|
import com.ho.business.vo.resp.mppt.MpptActiveVo;
|
||||||
import com.ho.business.vo.resp.pcsStation.EarningsCalculateData;
|
import com.ho.business.vo.resp.pcsStation.EarningsCalculateData;
|
||||||
import com.ho.business.vo.resp.pcsStation.PcsElecData;
|
import com.ho.business.vo.resp.pcsStation.PcsElecData;
|
||||||
import com.ho.business.vo.resp.profit.DayProfitType;
|
import com.ho.business.vo.resp.profit.DayProfitType;
|
||||||
@ -43,6 +43,7 @@ import com.ho.common.tools.exception.BusinessException;
|
|||||||
import com.ho.common.tools.service.RedisService;
|
import com.ho.common.tools.service.RedisService;
|
||||||
import com.ho.datacollect.api.constant.DataCollectConstant;
|
import com.ho.datacollect.api.constant.DataCollectConstant;
|
||||||
import com.ho.user.api.vo.req.SysSubDictVO;
|
import com.ho.user.api.vo.req.SysSubDictVO;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
@ -103,6 +104,12 @@ public class EarningsCalculateServiceImpl implements EarningsCalculateService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
UserFeignClient userFeignClient;
|
UserFeignClient userFeignClient;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
OpenStationService openStationService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
EarningsCalculateMpptService earningsCalculateMpptService;
|
||||||
|
|
||||||
public static final String DICT_TYPE = "electrovalence_type";
|
public static final String DICT_TYPE = "electrovalence_type";
|
||||||
|
|
||||||
/** start */
|
/** start */
|
||||||
@ -162,6 +169,10 @@ public class EarningsCalculateServiceImpl implements EarningsCalculateService {
|
|||||||
if (station == null || station.getId() == null) {
|
if (station == null || station.getId() == null) {
|
||||||
return ec;
|
return ec;
|
||||||
}
|
}
|
||||||
|
boolean flag = false;
|
||||||
|
if(DataCollectConstant.ONE.equals(station.getInverterFlag())){
|
||||||
|
flag = true;
|
||||||
|
}
|
||||||
Integer stationId = station.getId();
|
Integer stationId = station.getId();
|
||||||
String deviceType = colCountService.getDeviceType(stationId);
|
String deviceType = colCountService.getDeviceType(stationId);
|
||||||
List<DeviceRespVO> deviceRespVOS = deviceService.getListByDeviceType(stationId, deviceType);
|
List<DeviceRespVO> deviceRespVOS = deviceService.getListByDeviceType(stationId, deviceType);
|
||||||
@ -196,11 +207,44 @@ public class EarningsCalculateServiceImpl implements EarningsCalculateService {
|
|||||||
|
|
||||||
String time = earningsCalculateReq.getTime();
|
String time = earningsCalculateReq.getTime();
|
||||||
ec.setMonth(time.substring(time.length() - 2, time.length()));
|
ec.setMonth(time.substring(time.length() - 2, time.length()));
|
||||||
|
String reportName = CommonConstant.REPORT_NAME;
|
||||||
|
String billName = CommonConstant.BILL_NAME;
|
||||||
|
String name = station.getName();
|
||||||
|
if(CommonConstant.langTemp.EN_US.equals(earningsCalculateReq.getLang())){
|
||||||
|
reportName = CommonConstant.REPORT_NAME_EN;
|
||||||
|
billName = CommonConstant.BILL_NAME_EN;
|
||||||
|
name = station.getNameEn();
|
||||||
|
}
|
||||||
|
if(CommonConstant.langTemp.FR_FR.equals(earningsCalculateReq.getLang())){
|
||||||
|
reportName = CommonConstant.REPORT_NAME_FRA;
|
||||||
|
billName = CommonConstant.BILL_NAME_FRA;
|
||||||
|
name = station.getNameFra();
|
||||||
|
}
|
||||||
|
if(CommonConstant.langTemp.ES_ES.equals(earningsCalculateReq.getLang())){
|
||||||
|
reportName = CommonConstant.REPORT_NAME_SPA;
|
||||||
|
billName = CommonConstant.BILL_NAME_SPA;
|
||||||
|
name = station.getNameSpa();
|
||||||
|
}
|
||||||
|
if(CommonConstant.langTemp.DE_DE.equals(earningsCalculateReq.getLang())){
|
||||||
|
reportName = CommonConstant.REPORT_NAME_DE;
|
||||||
|
billName = CommonConstant.BILL_NAME_DE;
|
||||||
|
name = station.getNameDe();
|
||||||
|
}
|
||||||
|
if(CommonConstant.langTemp.PL_PL.equals(earningsCalculateReq.getLang())){
|
||||||
|
reportName = CommonConstant.REPORT_NAME_PL;
|
||||||
|
billName = CommonConstant.BILL_NAME_PL;
|
||||||
|
name = station.getNamePl();
|
||||||
|
}
|
||||||
|
if(CommonConstant.langTemp.AR_EG.equals(earningsCalculateReq.getLang())){
|
||||||
|
reportName = CommonConstant.REPORT_NAME_ARA;
|
||||||
|
billName = CommonConstant.BILL_NAME_ARA;
|
||||||
|
name = station.getNameAra();
|
||||||
|
}
|
||||||
// 电站名称(报表标题)
|
// 电站名称(报表标题)
|
||||||
if (type == 0) {
|
if (type == 0) {
|
||||||
ec.setStationName(station.getName() + "( " + time + " ) 月度报表");
|
ec.setStationName(name + "( " + time + " ) "+reportName);
|
||||||
} else {
|
} else {
|
||||||
ec.setStationName(station.getName() + "( " + time + " ) 月度账单");
|
ec.setStationName(name + "( " + time + " ) "+billName);
|
||||||
}
|
}
|
||||||
ec.setList(list);
|
ec.setList(list);
|
||||||
//充电收益
|
//充电收益
|
||||||
@ -222,6 +266,10 @@ public class EarningsCalculateServiceImpl implements EarningsCalculateService {
|
|||||||
BigDecimal dailyChargeElec = BigDecimal.ZERO;
|
BigDecimal dailyChargeElec = BigDecimal.ZERO;
|
||||||
//日放电量
|
//日放电量
|
||||||
BigDecimal dailyDischargeElec = BigDecimal.ZERO;
|
BigDecimal dailyDischargeElec = BigDecimal.ZERO;
|
||||||
|
//今日收益(mppt)
|
||||||
|
BigDecimal todayIncone = BigDecimal.ZERO;
|
||||||
|
//今日发电量(mppt)
|
||||||
|
BigDecimal dailyReleaseElec = BigDecimal.ZERO;
|
||||||
//当月则叠加当日,否则不叠加
|
//当月则叠加当日,否则不叠加
|
||||||
if (sameMonth) {
|
if (sameMonth) {
|
||||||
//将当日的日充日放叠加到日冻结中
|
//将当日的日充日放叠加到日冻结中
|
||||||
@ -236,8 +284,26 @@ public class EarningsCalculateServiceImpl implements EarningsCalculateService {
|
|||||||
dailyChargeElec = countEleData.getDailyChargeElec();
|
dailyChargeElec = countEleData.getDailyChargeElec();
|
||||||
//日放电量
|
//日放电量
|
||||||
dailyDischargeElec = countEleData.getDailyDischargeElec();
|
dailyDischargeElec = countEleData.getDailyDischargeElec();
|
||||||
|
if(flag){
|
||||||
|
//今日收益(mppt)
|
||||||
|
String key = RedisKeyConstant.PV.STATION_PV_TODAY_PROFIT + station.getId();
|
||||||
|
todayIncone = (BigDecimal)redisService.get(key)==null?BigDecimal.ZERO:(BigDecimal)redisService.get(key);
|
||||||
|
//今日发电量(mppt)
|
||||||
|
MpptActiveVo pv = openStationService.getPvActivePower(stationId);
|
||||||
|
dailyReleaseElec = pv.getDailyReleaseElec();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(flag){
|
||||||
|
BigDecimal monthIncone = earningsCalculateMpptService.countAllPvIncome(station.getId(),earningsCalculateReq.getBeginTime(),earningsCalculateReq.getEndTime());
|
||||||
|
ec.setMonthIncone(monthIncone.add(todayIncone));
|
||||||
|
BigDecimal monthReleaseElec = elecMeterValueService.selectSumByType(station.getId(),DeviceTypeConstant.ELEC_METER_VALUE_TYPE.PV_CHARGE,earningsCalculateReq.getBeginTime(),earningsCalculateReq.getEndTime(),null);
|
||||||
|
ec.setMonthReleaseElec(monthReleaseElec.add(dailyReleaseElec));
|
||||||
|
BigDecimal totalIncome = earningsCalculateMpptService.countAllPvIncome(station.getId(),null,null);
|
||||||
|
ec.setTotalIncome(totalIncome.add(todayIncone));
|
||||||
|
BigDecimal totalReleaseElec = elecMeterValueService.selectSumValue(station.getId(),DeviceTypeConstant.ELEC_METER_VALUE_TYPE.PV_CHARGE,null);
|
||||||
|
ec.setTotalReleaseElec(totalReleaseElec.add(dailyReleaseElec));
|
||||||
|
ec.setPvPower(station.getPvPower());
|
||||||
}
|
}
|
||||||
|
|
||||||
ec.setTotalChargeElec(pcsElecData.stream().map(PcsElecData::getChargeElec).reduce(BigDecimal.ZERO, BigDecimal::add).add(dailyChargeElec));
|
ec.setTotalChargeElec(pcsElecData.stream().map(PcsElecData::getChargeElec).reduce(BigDecimal.ZERO, BigDecimal::add).add(dailyChargeElec));
|
||||||
ec.setTotalDischargeElec(pcsElecData.stream().map(PcsElecData::getDischargeElec).reduce(BigDecimal.ZERO, BigDecimal::add).add(dailyDischargeElec));
|
ec.setTotalDischargeElec(pcsElecData.stream().map(PcsElecData::getDischargeElec).reduce(BigDecimal.ZERO, BigDecimal::add).add(dailyDischargeElec));
|
||||||
|
|
||||||
@ -651,7 +717,8 @@ public class EarningsCalculateServiceImpl implements EarningsCalculateService {
|
|||||||
if (dateStr != null && !"".equals(dateStr)) {
|
if (dateStr != null && !"".equals(dateStr)) {
|
||||||
date = dateStr.substring(0, 7);
|
date = dateStr.substring(0, 7);
|
||||||
}
|
}
|
||||||
earningsCalculateSubs = earningsCalculateMapper.queryElecTemplateSubByStationId(stationId, templateType, dateStr);
|
Integer elecType = 1;
|
||||||
|
earningsCalculateSubs = earningsCalculateMapper.queryElecTemplateSubByStationId(stationId, templateType, dateStr,elecType);
|
||||||
if (earningsCalculateSubs != null && earningsCalculateSubs.size() > 0) {
|
if (earningsCalculateSubs != null && earningsCalculateSubs.size() > 0) {
|
||||||
return earningsCalculateSubs;
|
return earningsCalculateSubs;
|
||||||
}
|
}
|
||||||
@ -1405,16 +1472,6 @@ public class EarningsCalculateServiceImpl implements EarningsCalculateService {
|
|||||||
revenueOverview.setStationName(station.getName());
|
revenueOverview.setStationName(station.getName());
|
||||||
revenueOverview.setCapacity(station.getCapacity());
|
revenueOverview.setCapacity(station.getCapacity());
|
||||||
revenueOverview.setOperationDays((int) operationDays);
|
revenueOverview.setOperationDays((int) operationDays);
|
||||||
if(station.getId()==11003 || station.getId()==10942 ||station.getId()==11006){
|
|
||||||
// 寄点电站数据
|
|
||||||
String mainKey = CommonConstant.SHIP_ENERGY_MAIN + station.getId();
|
|
||||||
String json = (String)redisService.get(mainKey);
|
|
||||||
ShipStationRespVO respVO = JSON.parseObject(json,ShipStationRespVO.class);
|
|
||||||
revenueOverview.setCharging(respVO.getPositivePowerSum()==null?BigDecimal.ZERO:BigDecimal.valueOf(respVO.getPositivePowerSum()));
|
|
||||||
revenueOverview.setDischarging(respVO.getReversePowerSum()==null?BigDecimal.ZERO:BigDecimal.valueOf(respVO.getReversePowerSum()));
|
|
||||||
revenueOverview.setTotalRevenue(respVO.getIncomeSum()==null?BigDecimal.ZERO:BigDecimal.valueOf(respVO.getIncomeSum()));
|
|
||||||
return revenueOverview;
|
|
||||||
}
|
|
||||||
|
|
||||||
List<RevenueOverviewData> list = getRevenueOverviewData(vo);
|
List<RevenueOverviewData> list = getRevenueOverviewData(vo);
|
||||||
|
|
||||||
@ -1546,6 +1603,55 @@ public class EarningsCalculateServiceImpl implements EarningsCalculateService {
|
|||||||
return earningsCalculateMapper.getEarningsByParam(req);
|
return earningsCalculateMapper.getEarningsByParam(req);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<PowerGenerateRespVO> getPvMonthData(EarningsCalculateReq req) {
|
||||||
|
List<PowerGenerateRespVO> list = new ArrayList<>();
|
||||||
|
LocalDateTime mDate = DateUtil.parse(req.getTime(), CommonConstant.DATE_YM).toLocalDateTime();
|
||||||
|
LocalDateTime begin = mDate.with(TemporalAdjusters.firstDayOfMonth());
|
||||||
|
LocalDateTime end = mDate.with(TemporalAdjusters.lastDayOfMonth());
|
||||||
|
String beginTime= DateUtil.format(begin, CommonConstant.DATE_YMD);
|
||||||
|
String endTime = DateUtil.format(end, CommonConstant.DATE_YMD);
|
||||||
|
//光伏收益
|
||||||
|
List<PowerGenerateRespVO> pvIncome = earningsCalculateMpptService.countPvIncome(req.getStationId(),beginTime, endTime);
|
||||||
|
Map<String,List<PowerGenerateRespVO>> mapIncome = pvIncome.stream().collect(Collectors.groupingBy(i ->i.getDate()));
|
||||||
|
//光伏放电
|
||||||
|
List<Integer> types = new ArrayList<>();
|
||||||
|
types.add(DeviceTypeConstant.ELEC_METER_VALUE_TYPE.PV_CHARGE);
|
||||||
|
List<ElecMeterValue> elecMeterValues = elecMeterValueService.selectList(req.getStationId(), types, beginTime, endTime);
|
||||||
|
Map<String, List<ElecMeterValue>> mapMeter = elecMeterValues.stream().collect(Collectors.groupingBy(i ->i.getDay()));
|
||||||
|
|
||||||
|
//根据天获取时间段
|
||||||
|
List<DateTime> dateTimes = DateUtil.rangeToList(DateUtil.parse(beginTime), DateUtil.parse(endTime), DateField.DAY_OF_MONTH);
|
||||||
|
for (DateTime dateTime : dateTimes){
|
||||||
|
String date = DateUtil.format(dateTime, CommonConstant.DATE_YMD);
|
||||||
|
PowerGenerateRespVO pv = new PowerGenerateRespVO();
|
||||||
|
pv.setDate(date);
|
||||||
|
List<PowerGenerateRespVO> pvIn = mapIncome.get(date);
|
||||||
|
//收益
|
||||||
|
if(pvIn != null){
|
||||||
|
pv.setProfit(pvIn.get(0).getProfit());
|
||||||
|
}
|
||||||
|
//放电
|
||||||
|
List<ElecMeterValue> elecs = mapMeter.get(date);
|
||||||
|
if(elecs != null){
|
||||||
|
pv.setPowerGenerate(elecs.stream().map(ElecMeterValue::getDigital).reduce(BigDecimal.ZERO,BigDecimal::add));
|
||||||
|
}
|
||||||
|
if(date.equals(endTime)){
|
||||||
|
String key = RedisKeyConstant.PV.STATION_PV_TODAY_PROFIT + req.getStationId();
|
||||||
|
//获取今日收益
|
||||||
|
BigDecimal todayIncone = (BigDecimal)redisService.get(key);
|
||||||
|
pv.setProfit(todayIncone);
|
||||||
|
//获取今日发电
|
||||||
|
//当前功率(光伏)、总发电量、日发电量
|
||||||
|
MpptActiveVo todayPv = openStationService.getPvActivePower(req.getStationId());
|
||||||
|
pv.setPowerGenerate(todayPv.getDailyReleaseElec());
|
||||||
|
|
||||||
|
}
|
||||||
|
list.add(pv);
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
public static ArrayList<BigDecimal> list(EarningsCalculateSub earningsCalculateSub) {
|
public static ArrayList<BigDecimal> list(EarningsCalculateSub earningsCalculateSub) {
|
||||||
BigDecimal[] bigDecimal = new BigDecimal[49];
|
BigDecimal[] bigDecimal = new BigDecimal[49];
|
||||||
ArrayList<BigDecimal> list = new ArrayList<BigDecimal>(Arrays.asList(bigDecimal));
|
ArrayList<BigDecimal> list = new ArrayList<BigDecimal>(Arrays.asList(bigDecimal));
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import com.ho.business.mapper.ElecMeterValueMapper;
|
|||||||
import com.ho.business.service.ElecMeterValueService;
|
import com.ho.business.service.ElecMeterValueService;
|
||||||
import com.ho.business.vo.req.bigScreen.CommonBigScreenReq;
|
import com.ho.business.vo.req.bigScreen.CommonBigScreenReq;
|
||||||
import com.ho.business.vo.req.carbin.ElecMeterReq;
|
import com.ho.business.vo.req.carbin.ElecMeterReq;
|
||||||
|
import com.ho.business.vo.resp.profit.DayProfitType;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@ -26,7 +27,7 @@ public class ElecMeterValueServiceImpl implements ElecMeterValueService {
|
|||||||
@Override
|
@Override
|
||||||
public BigDecimal selectSumByType(Integer stationId, Integer type, String beginTime, String endTime,Integer srcId) {
|
public BigDecimal selectSumByType(Integer stationId, Integer type, String beginTime, String endTime,Integer srcId) {
|
||||||
BigDecimal sum = elecMeterValueMapper.selectSumByType(stationId, type, beginTime, endTime,srcId);
|
BigDecimal sum = elecMeterValueMapper.selectSumByType(stationId, type, beginTime, endTime,srcId);
|
||||||
return sum;
|
return sum == null ? BigDecimal.ZERO:sum;
|
||||||
}
|
}
|
||||||
|
|
||||||
//按日期和类型删除
|
//按日期和类型删除
|
||||||
@ -77,7 +78,7 @@ public class ElecMeterValueServiceImpl implements ElecMeterValueService {
|
|||||||
@Override
|
@Override
|
||||||
public BigDecimal selectSumValue(Integer stationId, Integer type,Integer srcId) {
|
public BigDecimal selectSumValue(Integer stationId, Integer type,Integer srcId) {
|
||||||
BigDecimal sum = elecMeterValueMapper.selectSumValue(stationId, type,srcId);
|
BigDecimal sum = elecMeterValueMapper.selectSumValue(stationId, type,srcId);
|
||||||
return sum;
|
return sum == null ? BigDecimal.ZERO:sum;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -96,4 +97,9 @@ public class ElecMeterValueServiceImpl implements ElecMeterValueService {
|
|||||||
public List<ElecMeterValue> selectGroupByDay(CommonBigScreenReq req) {
|
public List<ElecMeterValue> selectGroupByDay(CommonBigScreenReq req) {
|
||||||
return elecMeterValueMapper.selectGroupByDay(req);
|
return elecMeterValueMapper.selectGroupByDay(req);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<DayProfitType> getElec(String begin, String end, Integer groupId, Integer type,List<Integer> stationIds) {
|
||||||
|
return elecMeterValueMapper.getElec(begin,end,groupId,type,stationIds);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user