From bf11e1376ff82a5f32509ee4cb69cbc1782fddf4 Mon Sep 17 00:00:00 2001
From: DYL <Dn1332079466>
Date: 星期六, 08 二月 2025 17:27:59 +0800
Subject: [PATCH] Merge branch 'refs/heads/develop1.0' into dyl_dev
---
/dev/null | 0
zhitan-vue/src/assets/images/font01.png | 0
zhitan-vue/src/views/login.vue | 295 ++++++++++------
zhitan-system/src/main/java/com/zhitan/model/domain/vo/ModelNodeIndexInfor.java | 10
zhitan-system/src/main/resources/mapper/dataitem/DataItemMapper.xml | 8
zhitan-system/src/main/resources/mapper/model/ModelNodeMapper.xml | 3
zhitan-system/src/main/java/com/zhitan/consumptionanalysis/service/impl/ConsumptionAnalysisServiceImpl.java | 369 ++++++++++----------
zhitan-vue/src/assets/images/login-background.png | 0
zhitan-vue/src/views/login copy.vue | 293 +++++++++++++++++
zhitan-vue/src/assets/images/img_logo.png | 0
zhitan-vue/src/assets/images/logo.png | 0
11 files changed, 673 insertions(+), 305 deletions(-)
diff --git a/zhitan-system/src/main/java/com/zhitan/consumptionanalysis/service/impl/ConsumptionAnalysisServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/consumptionanalysis/service/impl/ConsumptionAnalysisServiceImpl.java
index 4f48bc5..7d1db3e 100644
--- a/zhitan-system/src/main/java/com/zhitan/consumptionanalysis/service/impl/ConsumptionAnalysisServiceImpl.java
+++ b/zhitan-system/src/main/java/com/zhitan/consumptionanalysis/service/impl/ConsumptionAnalysisServiceImpl.java
@@ -44,20 +44,20 @@
private final ModelNodeMapper modelNodeMapper;
private final EnergyIndicatorsMapper energyIndicatorsMapper;
-
+
private final ProductOutputMapper productOutputMapper;
-
+
private final SysEnergyMapper sysEnergyMapper;
private final IDataItemService dataItemService;
private final IModelNodeService modelNodeService;
-
+
@Override
public ConsumptionAnalysisVO getByArea(ConsumptionAnalysisDTO dto) {
List<ConsumptionAnalysisData> dataList = new ArrayList<>();
List<ChartData> chartDataList = new ArrayList<>();
-
+
ConsumptionAnalysisVO consumptionAnalysisVO = new ConsumptionAnalysisVO();
final String analysisType = dto.getAnalysisType();
final String nodeId = dto.getNodeId();
@@ -67,7 +67,7 @@
/**
* 鏌ヨ鐐逛綅涓庣敤鑳藉崟鍏冧俊鎭�
*/
- List<ModelNodeIndexInfor> nodeIndexInforList = modelNodeMapper.getModelNodeIndexIdByNodeId(nodeId,energyType);
+ List<ModelNodeIndexInfor> nodeIndexInforList = modelNodeMapper.getModelNodeIndexIdByNodeId(nodeId, energyType);
// if (CollectionUtils.isEmpty(nodeIndexInforList)) {
// return consumptionAnalysisVO;
@@ -88,7 +88,7 @@
//鍚屾瘮鍒嗘瀽锛屾椂闂村彇鍘诲勾鐨�
lastTime = DateUtil.offsetMonth(beginTime, -12);
lastEndTime = DateUtil.offsetMonth(endTime, -12);
- }else {
+ } else {
//鐜瘮鍒嗘瀽锛屾椂闂村彇 鏄ㄥぉ
lastTime = DateUtil.offsetDay(beginTime, -1);
lastEndTime = DateUtil.offsetDay(endTime, -1);
@@ -103,7 +103,7 @@
//鍚屾瘮鍒嗘瀽锛屾椂闂村彇鍘诲勾鐨�
lastTime = DateUtil.offsetMonth(beginTime, -12);
lastEndTime = DateUtil.offsetMonth(endTime, -12);
- }else {
+ } else {
//鐜瘮鍒嗘瀽锛屾椂闂村彇 鏄ㄥぉ
lastTime = DateUtil.offsetMonth(beginTime, -1);
lastEndTime = DateUtil.offsetMonth(endTime, -1);
@@ -118,18 +118,18 @@
//鍚屾瘮鍒嗘瀽锛屾椂闂村彇鍘诲勾鐨�
lastTime = DateUtil.offsetMonth(beginTime, -12);
lastEndTime = DateUtil.offsetMonth(endTime, -12);
- }else {
+ } else {
//鐜瘮鍒嗘瀽锛屾椂闂村彇 鏄ㄥぉ
- lastTime = DateUtil.offsetMonth(beginTime, -1);
- lastEndTime = DateUtil.offsetMonth(endTime, -1);
+ lastTime = DateUtil.offsetMonth(beginTime, -1);
+ lastEndTime = DateUtil.offsetMonth(endTime, -1);
}
-
+
timeFormat = "yyyy-MM";
}
// 鏍规嵁indexId鏌ヨdataItem
List<DataItem> dataItemList = new ArrayList<>();
List<DataItem> lastDataItemList = new ArrayList<>();
- if(CollectionUtils.isNotEmpty(indexIds)) {
+ if (CollectionUtils.isNotEmpty(indexIds)) {
dataItemList = dataItemService.getDataItemTimeRangeInforByIndexIds(beginTime, endTime, shixuTimeType, indexIds);
lastDataItemList = dataItemService.getDataItemTimeRangeInforByIndexIds(lastTime, lastEndTime, shixuTimeType, indexIds);
}
@@ -144,11 +144,11 @@
final String compareTime;
DateTime dateTime;
if (TimeType.DAY.name().equals(queryTimeType)) {
-
+
if ("YOY".equals(analysisType)) {
//鍚屾瘮鍒嗘瀽锛屾椂闂村彇鍘诲勾鐨�
dateTime = DateUtil.offsetMonth(beginTime, -12);
- }else {
+ } else {
//鐜瘮鍒嗘瀽锛屾椂闂村彇 鏄ㄥぉ
dateTime = DateUtil.offsetDay(beginTime, -1);
}
@@ -158,7 +158,7 @@
if ("YOY".equals(analysisType)) {
//鍚屾瘮鍒嗘瀽锛屾椂闂村彇鍘诲勾鐨�
dateTime = DateUtil.offsetMonth(beginTime, -12);
- }else {
+ } else {
//鐜瘮鍒嗘瀽锛屾椂闂村彇 鏄ㄥぉ
dateTime = DateUtil.offsetMonth(beginTime, -1);
}
@@ -168,25 +168,25 @@
if ("YOY".equals(analysisType)) {
//鍚屾瘮鍒嗘瀽锛屾椂闂村彇鍘诲勾鐨�
dateTime = DateUtil.offsetMonth(beginTime, -12);
- }else {
+ } else {
//鐜瘮鍒嗘瀽锛屾椂闂村彇 鏄ㄥぉ
- dateTime = DateUtil.offsetMonth(beginTime, -1);
+ dateTime = DateUtil.offsetMonth(beginTime, -1);
}
compareTime = DateUtil.format(dateTime, timeFormat);
}
-
-
+
+
final List<DataItem> dataItems = dataItemMap.get(currentTime);
final List<DataItem> lastDataItems = lastDataItemMap.get(compareTime);
BigDecimal sum = new BigDecimal(0);
BigDecimal lastSum = new BigDecimal(0);
if (CollectionUtils.isNotEmpty(dataItems)) {
- // 姹傚拰
- sum = BigDecimal.valueOf(dataItems.stream()
+ // 姹傚拰
+ sum = BigDecimal.valueOf(dataItems.stream()
.mapToDouble(DataItem::getValue).sum()).setScale(CommonConst.DIGIT_2, RoundingMode.HALF_UP);
}
-
- if(CollectionUtils.isNotEmpty(lastDataItems)) {
+
+ if (CollectionUtils.isNotEmpty(lastDataItems)) {
lastSum = BigDecimal.valueOf(lastDataItems.stream()
.mapToDouble(DataItem::getValue).sum()).setScale(CommonConst.DIGIT_2, RoundingMode.HALF_UP);
}
@@ -194,7 +194,7 @@
data.setCompareValue(lastSum.doubleValue());
data.setCurrentTime(currentTime);
data.setCompareTime(compareTime);
-
+
if ("YOY".equals(analysisType)) {
//鍚屾瘮鍒嗘瀽
@@ -238,7 +238,7 @@
chartDataList.add(chartData);
});
-
+
consumptionAnalysisVO.setDataList(dataList);
consumptionAnalysisVO.setChartDataList(chartDataList);
return consumptionAnalysisVO;
@@ -252,32 +252,32 @@
String queryTimeType = dto.getTimeType();
// 鍒涘缓涓�涓狹ap鏉ュ瓨鍌ㄦ�诲拰
Map<String, BigDecimal> result = new HashMap<>();
-
-
+
+
//鏍规嵁妯″瀷鍚嶇О鏌ヨmodelCode
final String parentId = dto.getNodeId();
-
+
//鏍规嵁鎬荤粨鐐规煡璇�
final List<ModelNodeIndexInfor> nodeIndexInforList = modelNodeMapper.getModelNodeByParentId(parentId);
final List<String> eneryIdList = nodeIndexInforList.stream().map(ModelNodeIndexInfor::getEnergyId).distinct().collect(Collectors.toList());
final LambdaQueryWrapper<SysEnergy> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.in(CollectionUtils.isNotEmpty(eneryIdList),SysEnergy::getEnersno,eneryIdList);
+ queryWrapper.in(CollectionUtils.isNotEmpty(eneryIdList), SysEnergy::getEnersno, eneryIdList);
final List<SysEnergy> sysEnergies = sysEnergyMapper.selectList(queryWrapper);
final Map<String, String> energyNameMap = sysEnergies.stream().collect(Collectors.toMap(SysEnergy::getEnersno, SysEnergy::getEnername));
final Map<String, String> nodeNameMap = new HashMap<>();
- nodeIndexInforList.forEach(n->{
+ nodeIndexInforList.forEach(n -> {
final String nodeId = n.getNodeId();
final String name = n.getName();
- if(!nodeNameMap.containsKey(nodeId)){
- nodeNameMap.put(nodeId,name);
+ if (!nodeNameMap.containsKey(nodeId)) {
+ nodeNameMap.put(nodeId, name);
}
});
// 鎸夌収鐐逛綅杩涜鍒嗙粍
Map<String, List<ModelNodeIndexInfor>> nodeIndexMap = nodeIndexInforList.stream().collect(
Collectors.groupingBy(ModelNodeIndexInfor::getNodeId));
-
+
// 鏍规嵁nodeId鑾峰彇鑳芥簮绫诲瀷
// 鎵�鏈夌偣浣嶄俊鎭�
List<String> indexIds = nodeIndexInforList.stream().map(ModelNodeIndexInfor::getIndexId).distinct().collect(Collectors.toList());
@@ -300,27 +300,26 @@
endTime = DateUtil.endOfYear(queryTime);
shixuTimeType = TimeType.MONTH.name();
}
-
-
+
+
// 鏍规嵁indexId鏌ヨdataItem
List<DataItem> dataItemList = new ArrayList<>();
- if(CollectionUtils.isNotEmpty(indexIds)) {
+ if (CollectionUtils.isNotEmpty(indexIds)) {
dataItemList = dataItemService.getDataItemTimeRangeInforByIndexIds(beginTime, endTime, shixuTimeType, indexIds);
}
final Map<String, List<DataItem>> dataItemMap = dataItemList.stream().collect(Collectors.groupingBy(DataItem::getIndexId));
-
+
// 鏍规嵁鐐逛綅鍒嗙粍锛屾眰鍜�
- Map<String,BigDecimal> dataItemTotalMap = new HashMap<>();
- dataItemMap.forEach((key,value)->{
+ Map<String, BigDecimal> dataItemTotalMap = new HashMap<>();
+ dataItemMap.forEach((key, value) -> {
BigDecimal sum = BigDecimal.valueOf(value.stream()
.mapToDouble(DataItem::getValue).sum()).setScale(CommonConst.DIGIT_2, RoundingMode.HALF_UP);
- dataItemTotalMap.put(key,sum);
+ dataItemTotalMap.put(key, sum);
});
-
-
- nodeIndexMap.forEach((nodeId,indexList)->{
- indexList.forEach(index->{
+
+ nodeIndexMap.forEach((nodeId, indexList) -> {
+ indexList.forEach(index -> {
final String energyId = index.getEnergyId();
final String indexId = index.getIndexId();
final BigDecimal total = dataItemTotalMap.getOrDefault(indexId, BigDecimal.ZERO);
@@ -337,15 +336,15 @@
String energyId = keys[1];
BigDecimal totalEnergy = entry.getValue();
chartData.setEnergyTypeNo(energyId);
- chartData.setEnergyTypeName(energyNameMap.getOrDefault(energyId,""));
- chartData.setNodeName(nodeNameMap.getOrDefault(nodeId,""));
+ chartData.setEnergyTypeName(energyNameMap.getOrDefault(energyId, ""));
+ chartData.setNodeName(nodeNameMap.getOrDefault(nodeId, ""));
chartData.setEnergyConsumption(totalEnergy.doubleValue());
chartData.setNodeId(nodeId);
rankingEnergyData.add(chartData);
-
+
}
final Map<String, List<RankingEnergyData>> collect = rankingEnergyData.stream().collect(Collectors.groupingBy(RankingEnergyData::getNodeId));
- nodeNameMap.forEach((key,value)->{
+ nodeNameMap.forEach((key, value) -> {
final List<RankingEnergyData> rankingEnergyData1 = collect.get(key);
RankingDataVO rankingDataVO = new RankingDataVO();
rankingDataVO.setNodeId(key);
@@ -353,7 +352,7 @@
rankingDataVO.setData(rankingEnergyData1);
rankingDataVOArrayList.add(rankingDataVO);
});
-
+
return rankingDataVOArrayList;
}
@@ -382,7 +381,7 @@
List<EnergyProportion> energyProportionList = new ArrayList<>();
ConsumptionAnalysisVO consumptionAnalysisVO = new ConsumptionAnalysisVO();
-
+
//todo hmj 缁煎悎鑳借�楀厛榛樿鍙栧悓姣�
final String analysisType = "YOY";
final String nodeId = dto.getNodeId();
@@ -392,24 +391,25 @@
/**
* 鏌ヨ鐐逛綅涓庣敤鑳藉崟鍏冧俊鎭�
*/
- List<ModelNodeIndexInfor> nodeIndexInforList = modelNodeMapper.getModelNodeIndexIdByNodeId(nodeId,energyType);
+ List<ModelNodeIndexInfor> nodeIndexInforList = modelNodeMapper.getModelNodeIndexIdByNodeId(nodeId, energyType);
// if (CollectionUtils.isEmpty(nodeIndexInforList)) {
// return consumptionAnalysisVO;
// }
-
+ //淇敼杩囨护缁熻鐐逛綅
+ nodeIndexInforList = nodeIndexInforList.stream().filter(x -> "STATISTIC".equals(x.getIndexType())).collect(Collectors.toList());
final List<String> eneryIdList = nodeIndexInforList.stream().map(ModelNodeIndexInfor::getEnergyId).distinct().collect(Collectors.toList());
final LambdaQueryWrapper<SysEnergy> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.in(CollectionUtils.isNotEmpty(eneryIdList),SysEnergy::getEnersno,eneryIdList);
+ queryWrapper.in(CollectionUtils.isNotEmpty(eneryIdList), SysEnergy::getEnersno, eneryIdList);
final List<SysEnergy> sysEnergies = sysEnergyMapper.selectList(queryWrapper);
final Map<String, BigDecimal> energyCoefficientMap = sysEnergies.stream().collect(Collectors.toMap(SysEnergy::getEnersno, SysEnergy::getCoefficient));
- final Map<String, String> energyNameMap = sysEnergies.stream().collect(Collectors.toMap(SysEnergy::getEnersno,SysEnergy::getEnername));
+ final Map<String, String> energyNameMap = sysEnergies.stream().collect(Collectors.toMap(SysEnergy::getEnersno, SysEnergy::getEnername));
final Map<String, String> indexIdEnergyIdMap = new HashMap<>();
- nodeIndexInforList.forEach(n->{
+ nodeIndexInforList.forEach(n -> {
final String indexId = n.getIndexId();
final String energyId = n.getEnergyId();
- if(!indexIdEnergyIdMap.containsKey(indexId)){
- indexIdEnergyIdMap.put(indexId,energyId);
+ if (!indexIdEnergyIdMap.containsKey(indexId)) {
+ indexIdEnergyIdMap.put(indexId, energyId);
}
});
List<String> indexIds = nodeIndexInforList.stream().map(ModelNodeIndexInfor::getIndexId).collect(Collectors.toList());
@@ -428,7 +428,7 @@
//鍚屾瘮鍒嗘瀽锛屾椂闂村彇鍘诲勾鐨�
lastTime = DateUtil.offsetMonth(beginTime, -12);
lastEndTime = DateUtil.offsetMonth(endTime, -12);
- }else {
+ } else {
//鐜瘮鍒嗘瀽锛屾椂闂村彇 鏄ㄥぉ
lastTime = DateUtil.offsetDay(beginTime, -1);
lastEndTime = DateUtil.offsetDay(endTime, -1);
@@ -443,7 +443,7 @@
//鍚屾瘮鍒嗘瀽锛屾椂闂村彇鍘诲勾鐨�
lastTime = DateUtil.offsetMonth(beginTime, -12);
lastEndTime = DateUtil.offsetMonth(endTime, -12);
- }else {
+ } else {
//鐜瘮鍒嗘瀽锛屾椂闂村彇 鏄ㄥぉ
lastTime = DateUtil.offsetMonth(beginTime, -1);
lastEndTime = DateUtil.offsetMonth(endTime, -1);
@@ -458,10 +458,10 @@
//鍚屾瘮鍒嗘瀽锛屾椂闂村彇鍘诲勾鐨�
lastTime = DateUtil.offsetMonth(beginTime, -12);
lastEndTime = DateUtil.offsetMonth(endTime, -12);
- }else {
+ } else {
//鐜瘮鍒嗘瀽锛屾椂闂村彇 鏄ㄥぉ
- lastTime = DateUtil.offsetMonth(beginTime, -1);
- lastEndTime = DateUtil.offsetMonth(endTime, -1);
+ lastTime = DateUtil.offsetMonth(beginTime, -1);
+ lastEndTime = DateUtil.offsetMonth(endTime, -1);
}
timeFormat = "yyyy-MM";
@@ -469,7 +469,7 @@
// 鏍规嵁indexId鏌ヨdataItem
List<DataItem> dataItemList = new ArrayList<>();
List<DataItem> lastDataItemList = new ArrayList<>();
- if(CollectionUtils.isNotEmpty(indexIds)) {
+ if (CollectionUtils.isNotEmpty(indexIds)) {
dataItemList = dataItemService.getDataItemTimeRangeInforByIndexIds(beginTime, endTime, shixuTimeType, indexIds);
lastDataItemList = dataItemService.getDataItemTimeRangeInforByIndexIds(lastTime, lastEndTime, shixuTimeType, indexIds);
}
@@ -478,7 +478,7 @@
// 鍊嶇巼
BigDecimal multiple = BigDecimal.valueOf(CommonConst.DIGIT_100);
- Map<String,Double> energyProportionMap = new HashMap<>();
+ Map<String, Double> energyProportionMap = new HashMap<>();
while (!beginTime.after(endTime)) {
ConsumptionAnalysisData data = new ConsumptionAnalysisData();
final String currentTime = DateUtil.format(beginTime, timeFormat);
@@ -489,7 +489,7 @@
if ("YOY".equals(analysisType)) {
//鍚屾瘮鍒嗘瀽锛屾椂闂村彇鍘诲勾鐨�
dateTime = DateUtil.offsetMonth(beginTime, -12);
- }else {
+ } else {
//鐜瘮鍒嗘瀽锛屾椂闂村彇 鏄ㄥぉ
dateTime = DateUtil.offsetDay(beginTime, -1);
}
@@ -499,7 +499,7 @@
if ("YOY".equals(analysisType)) {
//鍚屾瘮鍒嗘瀽锛屾椂闂村彇鍘诲勾鐨�
dateTime = DateUtil.offsetMonth(beginTime, -12);
- }else {
+ } else {
//鐜瘮鍒嗘瀽锛屾椂闂村彇 鏄ㄥぉ
dateTime = DateUtil.offsetMonth(beginTime, -1);
}
@@ -509,9 +509,9 @@
if ("YOY".equals(analysisType)) {
//鍚屾瘮鍒嗘瀽锛屾椂闂村彇鍘诲勾鐨�
dateTime = DateUtil.offsetMonth(beginTime, -12);
- }else {
+ } else {
//鐜瘮鍒嗘瀽锛屾椂闂村彇 鏄ㄥぉ
- dateTime = DateUtil.offsetMonth(beginTime, -1);
+ dateTime = DateUtil.offsetMonth(beginTime, -1);
}
compareTime = DateUtil.format(dateTime, timeFormat);
}
@@ -523,38 +523,40 @@
BigDecimal lastSum = new BigDecimal(0);
if (CollectionUtils.isNotEmpty(dataItems)) {
// 姹傚拰
- for (int i=0;i<dataItems.size(); i++){
+ for (int i = 0; i < dataItems.size(); i++) {
final DataItem dataItem = dataItems.get(i);
final String indexId = dataItem.getIndexId();
final String energyId = indexIdEnergyIdMap.get(indexId);
-
+
final BigDecimal coefficient = energyCoefficientMap.get(energyId);
- if(coefficient == null){
+ if (coefficient == null) {
throw new RuntimeException("鑳芥簮绫诲瀷" + energyId + "娌℃湁閰嶇疆鎶樻爣绯绘暟锛屾棤娉曡绠�");
}
-
- sum = sum.add(new BigDecimal(dataItem.getValue()).multiply(coefficient)).setScale(2, RoundingMode.HALF_UP);;
+
+ sum = sum.add(new BigDecimal(dataItem.getValue()).multiply(coefficient)).setScale(2, RoundingMode.HALF_UP);
+ ;
// if(energyProportionMap.containsKey(energyId)) {
// energyProportionMap.put(energyId,energyProportionMap.get(energyId) + sum.doubleValue());
// }else {
// energyProportionMap.put(energyId, sum.doubleValue());
// }
}
-
+
}
- if(CollectionUtils.isNotEmpty(lastDataItems)) {
- for (int i=0;i<lastDataItems.size(); i++){
+ if (CollectionUtils.isNotEmpty(lastDataItems)) {
+ for (int i = 0; i < lastDataItems.size(); i++) {
final DataItem dataItem = lastDataItems.get(i);
final String indexId = dataItem.getIndexId();
final String energyId = indexIdEnergyIdMap.get(indexId);
final BigDecimal coefficient = energyCoefficientMap.get(energyId);
- if(coefficient == null){
+ if (coefficient == null) {
throw new RuntimeException("鑳芥簮绫诲瀷" + energyId + "娌℃湁閰嶇疆鎶樻爣绯绘暟锛屾棤娉曡绠�");
}
- lastSum = lastSum.add(new BigDecimal(dataItem.getValue()).multiply(coefficient)).setScale(2, RoundingMode.HALF_UP);;
+ lastSum = lastSum.add(new BigDecimal(dataItem.getValue()).multiply(coefficient)).setScale(2, RoundingMode.HALF_UP);
+ ;
}
}
data.setCurrentValue(sum.doubleValue());
@@ -605,34 +607,34 @@
chartDataList.add(chartData);
});
-
- Double eneryTotal = energyProportionMap.values().stream().mapToDouble(Double::doubleValue).sum();
+
+ Double eneryTotal = energyProportionMap.values().stream().mapToDouble(Double::doubleValue).sum();
Map<String, List<DataItem>> indexDataItemMap = dataItemList.stream().collect(Collectors.groupingBy(DataItem::getIndexId));
-
- indexDataItemMap.forEach((indexId,value)->{
+
+ indexDataItemMap.forEach((indexId, value) -> {
final String energyId = indexIdEnergyIdMap.get(indexId);
final BigDecimal coefficient = energyCoefficientMap.get(energyId);
- if(coefficient == null){
+ if (coefficient == null) {
throw new RuntimeException("鑳芥簮绫诲瀷" + energyId + "娌℃湁閰嶇疆鎶樻爣绯绘暟锛屾棤娉曡绠�");
}
final double sum = value.stream().map(DataItem::getValue).mapToDouble(Double::doubleValue).sum();
- if(energyProportionMap.containsKey(energyId)) {
- energyProportionMap.put(energyId,energyProportionMap.get(energyId) + sum * coefficient.doubleValue());
- }else {
+ if (energyProportionMap.containsKey(energyId)) {
+ energyProportionMap.put(energyId, energyProportionMap.get(energyId) + sum * coefficient.doubleValue());
+ } else {
energyProportionMap.put(energyId, sum * coefficient.doubleValue());
}
});
-
- energyProportionMap.forEach((key,value)->{
+
+ energyProportionMap.forEach((key, value) -> {
EnergyProportion energyProportion = new EnergyProportion();
energyProportion.setEnergyNo(key);
- energyProportion.setEnergyName(energyNameMap.getOrDefault(key,""));
+ energyProportion.setEnergyName(energyNameMap.getOrDefault(key, ""));
energyProportion.setCount(value);
- energyProportion.setPercentage(value/eneryTotal * 100);
-
+ energyProportion.setPercentage(value / eneryTotal * 100);
+
energyProportionList.add(energyProportion);
});
@@ -660,50 +662,50 @@
} else {
timeFormat = "yyyy";
}
-
+
final Double currTotalEnergy = getTotalEnergy(dto);
DateTime tongbiTime = DateUtil.offsetMonth(queryTime, -12);
dto.setDataTime(tongbiTime);
final Double tongbiTotalEnergy = getTotalEnergy(dto);
-
+
DateTime huanbiTime = DateUtil.offsetMonth(queryTime, -1);
dto.setDataTime(huanbiTime);
final Double huanbiTotalEnergy = getTotalEnergy(dto);
-
- tongbi.setCurrentTime(DateUtil.format(queryTime,timeFormat));
- tongbi.setCompareTime(DateUtil.format(tongbiTime,timeFormat));
+
+ tongbi.setCurrentTime(DateUtil.format(queryTime, timeFormat));
+ tongbi.setCompareTime(DateUtil.format(tongbiTime, timeFormat));
tongbi.setCurrentValue(currTotalEnergy);
tongbi.setCompareValue(tongbiTotalEnergy);
- if(tongbiTotalEnergy != 0) {
+ if (tongbiTotalEnergy != 0) {
final double tongbiRatio = (currTotalEnergy - tongbiTotalEnergy) / tongbiTotalEnergy * 100;
BigDecimal bd = new BigDecimal(tongbiRatio);
bd = bd.setScale(2, RoundingMode.HALF_UP);
tongbi.setRatio(bd.doubleValue());
- }else {
+ } else {
tongbi.setRatio(0);
}
-
- huanbi.setCurrentTime(DateUtil.format(queryTime,timeFormat));
- huanbi.setCompareTime(DateUtil.format(huanbiTime,timeFormat));
+
+ huanbi.setCurrentTime(DateUtil.format(queryTime, timeFormat));
+ huanbi.setCompareTime(DateUtil.format(huanbiTime, timeFormat));
huanbi.setCompareValue(huanbiTotalEnergy);
huanbi.setCurrentValue(currTotalEnergy);
-
- if(huanbiTotalEnergy != 0) {
+
+ if (huanbiTotalEnergy != 0) {
final double huanbiRatio = (currTotalEnergy - huanbiTotalEnergy) / huanbiTotalEnergy * 100;
BigDecimal bd = new BigDecimal(huanbiRatio);
bd = bd.setScale(2, RoundingMode.HALF_UP);
huanbi.setRatio(bd.doubleValue());
- }else {
+ } else {
huanbi.setRatio(0);
}
consumptionAnalysisVO.setTongbi(tongbi);
consumptionAnalysisVO.setHuanbi(huanbi);
return consumptionAnalysisVO;
}
-
- public Double getTotalEnergy(ConsumptionAnalysisDTO dto){
+
+ public Double getTotalEnergy(ConsumptionAnalysisDTO dto) {
//todo hmj 缁煎悎鑳借�楀厛榛樿鍙栧悓姣�
final String nodeId = dto.getNodeId();
final String energyType = dto.getEnergyType();
@@ -712,23 +714,23 @@
/**
* 鏌ヨ鐐逛綅涓庣敤鑳藉崟鍏冧俊鎭�
*/
- List<ModelNodeIndexInfor> nodeIndexInforList = modelNodeMapper.getModelNodeIndexIdByNodeId(nodeId,energyType);
+ List<ModelNodeIndexInfor> nodeIndexInforList = modelNodeMapper.getModelNodeIndexIdByNodeId(nodeId, energyType);
// if (CollectionUtils.isEmpty(nodeIndexInforList)) {
// return consumptionAnalysisVO;
// }
-
+ nodeIndexInforList = nodeIndexInforList.stream().filter(x -> "STATISTIC".equals(x.getIndexType())).collect(Collectors.toList());
final List<String> eneryIdList = nodeIndexInforList.stream().map(ModelNodeIndexInfor::getEnergyId).distinct().collect(Collectors.toList());
final LambdaQueryWrapper<SysEnergy> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.in(CollectionUtils.isNotEmpty(eneryIdList),SysEnergy::getEnersno,eneryIdList);
+ queryWrapper.in(CollectionUtils.isNotEmpty(eneryIdList), SysEnergy::getEnersno, eneryIdList);
final List<SysEnergy> sysEnergies = sysEnergyMapper.selectList(queryWrapper);
final Map<String, BigDecimal> energyCoefficientMap = sysEnergies.stream().collect(Collectors.toMap(SysEnergy::getEnersno, SysEnergy::getCoefficient));
final Map<String, String> indexIdEnergyIdMap = new HashMap<>();
- nodeIndexInforList.forEach(n->{
+ nodeIndexInforList.forEach(n -> {
final String indexId = n.getIndexId();
final String energyId = n.getEnergyId();
- if(!indexIdEnergyIdMap.containsKey(indexId)){
- indexIdEnergyIdMap.put(indexId,energyId);
+ if (!indexIdEnergyIdMap.containsKey(indexId)) {
+ indexIdEnergyIdMap.put(indexId, energyId);
}
});
List<String> indexIds = nodeIndexInforList.stream().map(ModelNodeIndexInfor::getIndexId).collect(Collectors.toList());
@@ -757,12 +759,12 @@
}
// 鏍规嵁indexId鏌ヨdataItem
List<DataItem> dataItemList = new ArrayList<>();
- if(CollectionUtils.isNotEmpty(indexIds)) {
+ if (CollectionUtils.isNotEmpty(indexIds)) {
dataItemList = dataItemService.getDataItemTimeRangeInforByIndexIds(beginTime, endTime, shixuTimeType, indexIds);
}
Map<String, List<DataItem>> dataItemMap = dataItemList.stream().collect(Collectors.groupingBy(li -> DateUtil.format(li.getDataTime(), timeFormat)));
- Map<String,Double> energyProportionMap = new HashMap<>();
+ Map<String, Double> energyProportionMap = new HashMap<>();
while (!beginTime.after(endTime)) {
final String currentTime = DateUtil.format(beginTime, timeFormat);
@@ -770,17 +772,18 @@
BigDecimal sum = new BigDecimal(0);
if (CollectionUtils.isNotEmpty(dataItems)) {
// 姹傚拰
- for (int i=0;i<dataItems.size(); i++){
+ for (int i = 0; i < dataItems.size(); i++) {
final DataItem dataItem = dataItems.get(i);
final String indexId = dataItem.getIndexId();
final String energyId = indexIdEnergyIdMap.get(indexId);
final BigDecimal coefficient = energyCoefficientMap.get(energyId);
- if(coefficient == null){
+ if (coefficient == null) {
throw new RuntimeException("鑳芥簮绫诲瀷" + energyId + "娌℃湁閰嶇疆鎶樻爣绯绘暟锛屾棤娉曡绠�");
}
- sum = sum.add(new BigDecimal(dataItem.getValue()).multiply(coefficient)).setScale(2, RoundingMode.HALF_UP);;
+ sum = sum.add(new BigDecimal(dataItem.getValue()).multiply(coefficient)).setScale(2, RoundingMode.HALF_UP);
+ ;
// if(energyProportionMap.containsKey(energyId)) {
// energyProportionMap.put(energyId,energyProportionMap.get(energyId) + sum.doubleValue());
// }else {
@@ -804,26 +807,24 @@
}
-
-
Map<String, List<DataItem>> indexDataItemMap = dataItemList.stream().collect(Collectors.groupingBy(DataItem::getIndexId));
- indexDataItemMap.forEach((indexId,value)->{
+ indexDataItemMap.forEach((indexId, value) -> {
final String energyId = indexIdEnergyIdMap.get(indexId);
final BigDecimal coefficient = energyCoefficientMap.get(energyId);
- if(coefficient == null){
+ if (coefficient == null) {
throw new RuntimeException("鑳芥簮绫诲瀷" + energyId + "娌℃湁閰嶇疆鎶樻爣绯绘暟锛屾棤娉曡绠�");
}
final double sum = value.stream().map(DataItem::getValue).mapToDouble(Double::doubleValue).sum();
- if(energyProportionMap.containsKey(energyId)) {
- energyProportionMap.put(energyId,energyProportionMap.get(energyId) + sum * coefficient.doubleValue());
- }else {
+ if (energyProportionMap.containsKey(energyId)) {
+ energyProportionMap.put(energyId, energyProportionMap.get(energyId) + sum * coefficient.doubleValue());
+ } else {
energyProportionMap.put(energyId, sum * coefficient.doubleValue());
}
});
- Double eneryTotal = energyProportionMap.values().stream().mapToDouble(Double::doubleValue).sum();
+ Double eneryTotal = energyProportionMap.values().stream().mapToDouble(Double::doubleValue).sum();
return eneryTotal.doubleValue();
}
@@ -839,11 +840,11 @@
*/
List<ModelNodeIndexInfor> nodeIndexInforList = modelNodeMapper.getModelNodeByParentId(nodeId);
final Map<String, String> nodeNameMap = new HashMap<>();
- nodeIndexInforList.forEach(n->{
+ nodeIndexInforList.forEach(n -> {
final String id = n.getNodeId();
final String name = n.getName();
- if(!nodeNameMap.containsKey(id)){
- nodeNameMap.put(id,name);
+ if (!nodeNameMap.containsKey(id)) {
+ nodeNameMap.put(id, name);
}
});
// 鎸夌収鐐逛綅杩涜鍒嗙粍
@@ -851,17 +852,17 @@
Collectors.groupingBy(ModelNodeIndexInfor::getNodeId));
final List<String> eneryIdList = nodeIndexInforList.stream().map(ModelNodeIndexInfor::getEnergyId).distinct().collect(Collectors.toList());
final LambdaQueryWrapper<SysEnergy> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.in(CollectionUtils.isNotEmpty(eneryIdList),SysEnergy::getEnersno,eneryIdList);
+ queryWrapper.in(CollectionUtils.isNotEmpty(eneryIdList), SysEnergy::getEnersno, eneryIdList);
final List<SysEnergy> sysEnergies = sysEnergyMapper.selectList(queryWrapper);
//鑳芥簮缂栧彿鍜岃兘婧愭姌鏍囩郴鏁�
final Map<String, BigDecimal> energyCoefficientMap = sysEnergies.stream().collect(Collectors.toMap(SysEnergy::getEnersno, SysEnergy::getCoefficient));
//index鍜岃兘婧�
final Map<String, String> indexIdEnergyIdMap = new HashMap<>();
- nodeIndexInforList.forEach(n->{
+ nodeIndexInforList.forEach(n -> {
final String indexId = n.getIndexId();
final String energyId = n.getEnergyId();
- if(!indexIdEnergyIdMap.containsKey(indexId)){
- indexIdEnergyIdMap.put(indexId,energyId);
+ if (!indexIdEnergyIdMap.containsKey(indexId)) {
+ indexIdEnergyIdMap.put(indexId, energyId);
}
});
List<String> indexIds = nodeIndexInforList.stream().map(ModelNodeIndexInfor::getIndexId).collect(Collectors.toList());
@@ -886,22 +887,22 @@
}
// 鏍规嵁indexId鏌ヨdataItem
List<DataItem> dataItemList = new ArrayList<>();
- if(CollectionUtils.isNotEmpty(indexIds)) {
+ if (CollectionUtils.isNotEmpty(indexIds)) {
dataItemList = dataItemService.getDataItemTimeRangeInforByIndexIds(beginTime, endTime, shixuTimeType, indexIds);
}
Map<String, List<DataItem>> dataItemMap = dataItemList.stream().collect(Collectors.groupingBy(DataItem::getIndexId));
- Map<String,BigDecimal> resultMap = new HashMap<>();
+ Map<String, BigDecimal> resultMap = new HashMap<>();
nodeIndexMap.forEach((key, value) -> {
// 鎵惧嚭indexIds
List<String> indexIdList = value.stream().map(ModelNodeIndexInfor::getIndexId).collect(Collectors.toList());
-
- indexIdList.forEach(indexId->{
+
+ indexIdList.forEach(indexId -> {
final List<DataItem> dataItems = dataItemMap.get(indexId);
final String energyId = indexIdEnergyIdMap.get(indexId);
final BigDecimal coefficient = energyCoefficientMap.get(energyId);
-
- if(CollectionUtils.isNotEmpty(dataItems) ){
+
+ if (CollectionUtils.isNotEmpty(dataItems)) {
BigDecimal sum = BigDecimal.valueOf(dataItems.stream()
.mapToDouble(DataItem::getValue).sum()).setScale(CommonConst.DIGIT_2, RoundingMode.HALF_UP).multiply(coefficient);
@@ -914,7 +915,7 @@
});
});
- resultMap.forEach((key,value)->{
+ resultMap.forEach((key, value) -> {
RankingEnergyData rankingEnergyData = new RankingEnergyData();
rankingEnergyData.setNodeId(key);
rankingEnergyData.setNodeName(nodeNameMap.get(key));
@@ -950,30 +951,30 @@
}
LambdaQueryWrapper<EnergyIndicators> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(EnergyIndicators::getTimeType,queryTimeType);
- queryWrapper.eq(EnergyIndicators::getDataTime,DateUtil.format(dto.getDataTime(),timeFormat));
- queryWrapper.eq(EnergyIndicators::getNodeId,dto.getNodeId());
- queryWrapper.eq(EnergyIndicators::getEnergyType,dto.getEnergyType());
+ queryWrapper.eq(EnergyIndicators::getTimeType, queryTimeType);
+ queryWrapper.eq(EnergyIndicators::getDataTime, DateUtil.format(dto.getDataTime(), timeFormat));
+ queryWrapper.eq(EnergyIndicators::getNodeId, dto.getNodeId());
+ queryWrapper.eq(EnergyIndicators::getEnergyType, dto.getEnergyType());
// 0 鏄鍒掗噺
- queryWrapper.eq(EnergyIndicators::getIndicatorsType,"0");
+ queryWrapper.eq(EnergyIndicators::getIndicatorsType, "0");
final EnergyIndicators plan = energyIndicatorsMapper.selectOne(queryWrapper);
- if(null != plan && null!= plan.getNumber()) {
+ if (null != plan && null != plan.getNumber()) {
consumptionAnalysisVO.setPlanCount(plan.getNumber().divide(new BigDecimal(between), CommonConst.DIGIT_2, RoundingMode.HALF_UP).doubleValue());
- }else {
+ } else {
consumptionAnalysisVO.setPlanCount(0D);
}
queryWrapper.clear();
- queryWrapper.eq(EnergyIndicators::getTimeType,queryTimeType);
- queryWrapper.eq(EnergyIndicators::getDataTime,DateUtil.format(dto.getDataTime(),timeFormat));
- queryWrapper.eq(EnergyIndicators::getNodeId,dto.getNodeId());
- queryWrapper.eq(EnergyIndicators::getEnergyType,dto.getEnergyType());
- queryWrapper.eq(EnergyIndicators::getIndicatorsType,"1");
+ queryWrapper.eq(EnergyIndicators::getTimeType, queryTimeType);
+ queryWrapper.eq(EnergyIndicators::getDataTime, DateUtil.format(dto.getDataTime(), timeFormat));
+ queryWrapper.eq(EnergyIndicators::getNodeId, dto.getNodeId());
+ queryWrapper.eq(EnergyIndicators::getEnergyType, dto.getEnergyType());
+ queryWrapper.eq(EnergyIndicators::getIndicatorsType, "1");
final EnergyIndicators prod = energyIndicatorsMapper.selectOne(queryWrapper);
- if(null != prod && null!= prod.getNumber()) {
+ if (null != prod && null != prod.getNumber()) {
consumptionAnalysisVO.setPlanCount(prod.getNumber().divide(new BigDecimal(between), CommonConst.DIGIT_2, RoundingMode.HALF_UP).doubleValue());
- }else {
+ } else {
consumptionAnalysisVO.setProdCount(0D);
}
return consumptionAnalysisVO;
@@ -993,19 +994,19 @@
/**
* 鏌ヨ鐐逛綅涓庣敤鑳藉崟鍏冧俊鎭�
*/
- List<ModelNodeIndexInfor> nodeIndexInforList = modelNodeMapper.getModelNodeIndexIdByNodeId(nodeId,energyType);
+ List<ModelNodeIndexInfor> nodeIndexInforList = modelNodeMapper.getModelNodeIndexIdByNodeId(nodeId, energyType);
final List<String> eneryIdList = nodeIndexInforList.stream().map(ModelNodeIndexInfor::getEnergyId).distinct().collect(Collectors.toList());
final LambdaQueryWrapper<SysEnergy> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.in(CollectionUtils.isNotEmpty(eneryIdList),SysEnergy::getEnersno,eneryIdList);
+ queryWrapper.in(CollectionUtils.isNotEmpty(eneryIdList), SysEnergy::getEnersno, eneryIdList);
final List<SysEnergy> sysEnergies = sysEnergyMapper.selectList(queryWrapper);
final Map<String, BigDecimal> energyCoefficientMap = sysEnergies.stream().collect(Collectors.toMap(SysEnergy::getEnersno, SysEnergy::getCoefficient));
final Map<String, String> indexIdEnergyIdMap = new HashMap<>();
- nodeIndexInforList.forEach(n->{
+ nodeIndexInforList.forEach(n -> {
final String indexId = n.getIndexId();
final String energyId = n.getEnergyId();
- if(!indexIdEnergyIdMap.containsKey(indexId)){
- indexIdEnergyIdMap.put(indexId,energyId);
+ if (!indexIdEnergyIdMap.containsKey(indexId)) {
+ indexIdEnergyIdMap.put(indexId, energyId);
}
});
List<String> indexIds = nodeIndexInforList.stream().map(ModelNodeIndexInfor::getIndexId).collect(Collectors.toList());
@@ -1032,12 +1033,11 @@
shixuTimeType = TimeType.MONTH.name();
timeFormat = "yyyy-MM";
}
-
-
+
// 鏍规嵁indexId鏌ヨdataItem
List<DataItem> dataItemList = new ArrayList<>();
- if(CollectionUtils.isNotEmpty(indexIds)) {
+ if (CollectionUtils.isNotEmpty(indexIds)) {
dataItemList = dataItemService.getDataItemTimeRangeInforByIndexIds(beginTime, endTime, shixuTimeType, indexIds);
}
Map<String, List<DataItem>> dataItemMap = dataItemList.stream().collect(Collectors.groupingBy(li -> DateUtil.format(li.getDataTime(), timeFormat)));
@@ -1045,12 +1045,12 @@
while (!beginTime.after(endTime)) {
//鏌ヨ寮�濮嬫椂闂村拰缁撴潫鏃堕棿涔嬮棿鐨勪骇閲�
LambdaQueryWrapper<ProductOutput> indicatorsWrapper = new LambdaQueryWrapper<>();
- indicatorsWrapper.eq(ProductOutput::getTimeType,shixuTimeType);
- indicatorsWrapper.eq(ProductOutput::getNodeId,dto.getNodeId());
- indicatorsWrapper.eq(ProductOutput::getDataTime,DateUtil.format(beginTime,timeFormat));
+ indicatorsWrapper.eq(ProductOutput::getTimeType, shixuTimeType);
+ indicatorsWrapper.eq(ProductOutput::getNodeId, dto.getNodeId());
+ indicatorsWrapper.eq(ProductOutput::getDataTime, DateUtil.format(beginTime, timeFormat));
List<ProductOutput> energyIndicators = productOutputMapper.selectList(indicatorsWrapper);
- prodCountMap.put(DateUtil.format(beginTime,timeFormat),energyIndicators);
-
+ prodCountMap.put(DateUtil.format(beginTime, timeFormat), energyIndicators);
+
ConsumptionAnalysisData data = new ConsumptionAnalysisData();
final String currentTime = DateUtil.format(beginTime, timeFormat);
@@ -1058,17 +1058,18 @@
BigDecimal sum = new BigDecimal(0);
if (CollectionUtils.isNotEmpty(dataItems)) {
// 姹傚拰
- for (int i=0;i<dataItems.size(); i++){
+ for (int i = 0; i < dataItems.size(); i++) {
final DataItem dataItem = dataItems.get(i);
final String indexId = dataItem.getIndexId();
final String energyId = indexIdEnergyIdMap.get(indexId);
final BigDecimal coefficient = energyCoefficientMap.get(energyId);
- if(coefficient == null){
+ if (coefficient == null) {
throw new RuntimeException("鑳芥簮绫诲瀷" + energyId + "娌℃湁閰嶇疆鎶樻爣绯绘暟锛屾棤娉曡绠�");
}
- sum = sum.add(new BigDecimal(dataItem.getValue()).multiply(coefficient)).setScale(2, RoundingMode.HALF_UP);;
+ sum = sum.add(new BigDecimal(dataItem.getValue()).multiply(coefficient)).setScale(2, RoundingMode.HALF_UP);
+ ;
}
}
@@ -1090,18 +1091,18 @@
break;
}
}
- dataList.forEach(d->{
+ dataList.forEach(d -> {
ProductEnergyAnalysisData productEnergyAnalysisData = new ProductEnergyAnalysisData();
final String currentTime = d.getCurrentTime();
-
+
productEnergyAnalysisData.setDateTime(currentTime);
-
+
final List<ProductOutput> productOutputs = prodCountMap.get(currentTime);
- if(StringUtils.isEmpty(dto.getProdType())){
+ if (StringUtils.isEmpty(dto.getProdType())) {
productEnergyAnalysisData.setEnergyCount(format2Double(d.getCurrentValue()));
final double sum = productOutputs.stream().map(ProductOutput::getNumber).mapToDouble(BigDecimal::doubleValue).sum();
productEnergyAnalysisData.setProductCount(format2Double(sum));
- if(sum != 0) {
+ if (sum != 0) {
final double averageEnergy = productEnergyAnalysisData.getEnergyCount() / productEnergyAnalysisData.getProductCount();
// 鍒涘缓DecimalFormat瀵硅薄锛岃缃繚鐣欎袱浣嶅皬鏁�
DecimalFormat df = new DecimalFormat("#.00");
@@ -1109,15 +1110,15 @@
// 鏍煎紡鍖栫粨鏋�
String formattedResult = df.format(averageEnergy);
productEnergyAnalysisData.setAverage(Double.valueOf(formattedResult));
- }else {
+ } else {
productEnergyAnalysisData.setAverage(0);
}
- }else {
- if(CollectionUtils.isNotEmpty(productOutputs)) {
+ } else {
+ if (CollectionUtils.isNotEmpty(productOutputs)) {
final Map<String, List<ProductOutput>> productTypeMap = productOutputs.stream().collect(Collectors.groupingBy(ProductOutput::getProductType));
final double sum = productOutputs.stream().map(ProductOutput::getNumber).mapToDouble(BigDecimal::doubleValue).sum();
final List<ProductOutput> outputList = productTypeMap.get(dto.getProdType());
- if(CollectionUtils.isNotEmpty(outputList)) {
+ if (CollectionUtils.isNotEmpty(outputList)) {
final double enengyProd = outputList.stream().map(ProductOutput::getNumber).mapToDouble(BigDecimal::doubleValue).sum();
productEnergyAnalysisData.setProductCount(format2Double(enengyProd));
productEnergyAnalysisData.setEnergyCount(format2Double(d.getCurrentValue() * enengyProd / sum));
@@ -1128,19 +1129,19 @@
} else {
productEnergyAnalysisData.setAverage(0);
}
- }else {
+ } else {
productEnergyAnalysisData.setProductCount(0);
productEnergyAnalysisData.setEnergyCount(d.getCurrentValue());
productEnergyAnalysisData.setAverage(0);
}
- }else {
+ } else {
productEnergyAnalysisData.setProductCount(0);
productEnergyAnalysisData.setEnergyCount(d.getCurrentValue());
productEnergyAnalysisData.setAverage(0);
}
}
-
-
+
+
chart.add(productEnergyAnalysisData);
});
@@ -1149,9 +1150,9 @@
final double totalProd = chart.stream().map(ProductEnergyAnalysisData::getProductCount).mapToDouble(Double::doubleValue).sum();
productEnergyAnalysisVO.setTotalEnergy(format2Double(totalEnergy));
productEnergyAnalysisVO.setTotalProduct(format2Double(totalProd));
- if(totalProd != 0) {
+ if (totalProd != 0) {
productEnergyAnalysisVO.setAverageEnergy(format2Double(totalEnergy / totalProd));
- }else {
+ } else {
productEnergyAnalysisVO.setAverageEnergy(0D);
}
return productEnergyAnalysisVO;
diff --git a/zhitan-system/src/main/java/com/zhitan/model/domain/vo/ModelNodeIndexInfor.java b/zhitan-system/src/main/java/com/zhitan/model/domain/vo/ModelNodeIndexInfor.java
index e7446e3..e52a163 100644
--- a/zhitan-system/src/main/java/com/zhitan/model/domain/vo/ModelNodeIndexInfor.java
+++ b/zhitan-system/src/main/java/com/zhitan/model/domain/vo/ModelNodeIndexInfor.java
@@ -32,6 +32,8 @@
*/
private String energyId;
+ private String indexType;
+
public String getNodeId() {
return nodeId;
}
@@ -63,4 +65,12 @@
public void setEnergyId(String energyId) {
this.energyId = energyId;
}
+
+ public String getIndexType() {
+ return indexType;
+ }
+
+ public void setIndexType(String indexType) {
+ this.indexType = indexType;
+ }
}
diff --git a/zhitan-system/src/main/resources/mapper/dataitem/DataItemMapper.xml b/zhitan-system/src/main/resources/mapper/dataitem/DataItemMapper.xml
index c6d65e1..37b928f 100644
--- a/zhitan-system/src/main/resources/mapper/dataitem/DataItemMapper.xml
+++ b/zhitan-system/src/main/resources/mapper/dataitem/DataItemMapper.xml
@@ -3,7 +3,7 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zhitan.dataitem.mapper.DataItemMapper">
- <resultMap type="StagseDataEntry" id="stagseDataEntryResult">
+ <resultMap type="com.zhitan.dataitem.domain.StagseDataEntry" id="stagseDataEntryResult">
<result property="code" column="code"/>
<result property="name" column="name"/>
<result property="indexId" column="index_id"/>
@@ -15,7 +15,7 @@
<result property="dataTime" column="data_time"/>
</resultMap>
- <select id="getSettingIndex" parameterType="StagseDataEntry" resultMap="stagseDataEntryResult">
+ <select id="getSettingIndex" parameterType="com.zhitan.dataitem.domain.StagseDataEntry" resultMap="stagseDataEntryResult">
SELECT
ei.index_id,
@@ -33,7 +33,7 @@
and si.time_type = #{timeType}
AND si.calc_type = #{calcType}
</select>
- <select id="getSettingEdit" parameterType="StagseDataEntry" resultMap="stagseDataEntryResult">
+ <select id="getSettingEdit" parameterType="com.zhitan.dataitem.domain.StagseDataEntry" resultMap="stagseDataEntryResult">
SELECT
ei.index_id,
code,
@@ -54,7 +54,7 @@
AND data_time >= #{beginTime}
AND data_time <= #{endTime}
</select>
- <select id="stagseDataByCode" parameterType="StagseDataEntry" resultMap="stagseDataEntryResult">
+ <select id="stagseDataByCode" parameterType="com.zhitan.dataitem.domain.StagseDataEntry" resultMap="stagseDataEntryResult">
SELECT
ei.index_id,
code,
diff --git a/zhitan-system/src/main/resources/mapper/model/ModelNodeMapper.xml b/zhitan-system/src/main/resources/mapper/model/ModelNodeMapper.xml
index c704454..01c8c59 100644
--- a/zhitan-system/src/main/resources/mapper/model/ModelNodeMapper.xml
+++ b/zhitan-system/src/main/resources/mapper/model/ModelNodeMapper.xml
@@ -382,7 +382,8 @@
SELECT mn.node_id nodeId,
mn."name" "name",
ni.index_id indexId,
- ei.energy_id energyId
+ ei.energy_id energyId,
+ ei.index_type indexType
FROM "model_node" mn
LEFT JOIN "node_index" ni ON mn.node_id = ni.node_id
LEFT JOIN energy_index ei on ni.index_id = ei.index_id
diff --git a/zhitan-vue/src/assets/images/font01.png b/zhitan-vue/src/assets/images/font01.png
new file mode 100644
index 0000000..42bbca9
--- /dev/null
+++ b/zhitan-vue/src/assets/images/font01.png
Binary files differ
diff --git a/zhitan-vue/src/assets/images/img_logo.png b/zhitan-vue/src/assets/images/img_logo.png
new file mode 100644
index 0000000..593b9e6
--- /dev/null
+++ b/zhitan-vue/src/assets/images/img_logo.png
Binary files differ
diff --git a/zhitan-vue/src/assets/images/login-background.jpg b/zhitan-vue/src/assets/images/login-background.jpg
deleted file mode 100644
index 8a89eb8..0000000
--- a/zhitan-vue/src/assets/images/login-background.jpg
+++ /dev/null
Binary files differ
diff --git a/zhitan-vue/src/assets/images/login-background.png b/zhitan-vue/src/assets/images/login-background.png
new file mode 100644
index 0000000..b27391b
--- /dev/null
+++ b/zhitan-vue/src/assets/images/login-background.png
Binary files differ
diff --git a/zhitan-vue/src/assets/images/logo.png b/zhitan-vue/src/assets/images/logo.png
new file mode 100644
index 0000000..35f902b
--- /dev/null
+++ b/zhitan-vue/src/assets/images/logo.png
Binary files differ
diff --git a/zhitan-vue/src/views/login copy.vue b/zhitan-vue/src/views/login copy.vue
new file mode 100644
index 0000000..d9b0c13
--- /dev/null
+++ b/zhitan-vue/src/views/login copy.vue
@@ -0,0 +1,293 @@
+<template>
+ <div class="login">
+ <!-- <div
+ class="login-logo-bg"
+ v-if="systemInfo && systemInfo.homeLogo"
+ :style="{ backgroundImage: 'url(' + systemInfo.homeLogo + ')', backgroundSize: '100% 100%' }"
+ ></div> -->
+ <img v-if="systemInfo && systemInfo.homeLogo" :src="systemInfo.homeLogo" alt="" class="login-logo-img" />
+ <div class="login-font" v-else>{{ systemInfo.systemName || "鑳芥簮绠$悊绯荤粺" }}</div>
+ <el-form ref="loginRef" :model="loginForm" :rules="loginRules" class="login-form">
+ <!-- <h3 class="title">鍏呯數妗╁悗鍙扮鐞嗙郴缁�</h3> -->
+ <el-form-item prop="username">
+ <el-input v-model="loginForm.username" type="text" size="large" auto-complete="off" placeholder="璐﹀彿">
+ <template #prefix><svg-icon icon-class="user" class="el-input__icon input-icon" /></template>
+ </el-input>
+ </el-form-item>
+ <el-form-item prop="password">
+ <el-input
+ v-model="loginForm.password"
+ type="password"
+ size="large"
+ auto-complete="off"
+ placeholder="瀵嗙爜"
+ show-password
+ @keyup.enter="handleLogin"
+ >
+ <template #prefix><svg-icon icon-class="password" class="el-input__icon input-icon" /></template>
+ </el-input>
+ </el-form-item>
+ <el-form-item prop="code" v-if="captchaEnabled">
+ <el-input
+ v-model="loginForm.code"
+ size="large"
+ auto-complete="off"
+ placeholder="楠岃瘉鐮�"
+ style="width: 63%"
+ @keyup.enter="handleLogin"
+ >
+ <template #prefix><svg-icon icon-class="validCode" class="el-input__icon input-icon" /></template>
+ </el-input>
+ <div class="login-code">
+ <img :src="codeUrl" @click="getCode" class="login-code-img" />
+ </div>
+ </el-form-item>
+ <el-checkbox v-model="loginForm.rememberMe" style="margin: 0px 0px 25px 0px">璁颁綇瀵嗙爜</el-checkbox>
+ <el-form-item style="width: 100%">
+ <el-button
+ :loading="loading"
+ size="large"
+ type="primary"
+ style="width: 100%"
+ color="#626aef"
+ :dark="isDark"
+ @click.prevent="handleLogin"
+ >
+ <span v-if="!loading">鐧� 褰�</span>
+ <span v-else>鐧� 褰� 涓�...</span>
+ </el-button>
+ </el-form-item>
+ </el-form>
+ <!-- 搴曢儴 -->
+ <div class="el-login-footer">
+ <!-- <span>Copyright 漏 2021-2024 ZhiTanCloud All Rights Reserved.</span> -->
+ <span>{{ systemInfo.copyRight || "Copyright 漏 2017-2024 ZhiTanCloud All Rights Reserved." }}</span>
+ </div>
+ </div>
+</template>
+
+<script setup>
+import { getCodeImg } from "@/api/login"
+import Cookies from "js-cookie"
+import { encrypt, decrypt } from "@/utils/jsencrypt"
+import useUserStore from "@/store/modules/user"
+
+const userStore = useUserStore()
+const route = useRoute()
+const router = useRouter()
+const { proxy } = getCurrentInstance()
+const systemInfo1 = JSON.parse(Cookies.get("SystemInfo") || "{}")
+const systemInfo = {
+ ...systemInfo1,
+ homeLogo: systemInfo1.homeLogo
+ ? systemInfo1.homeLogo.includes("http")
+ ? systemInfo1.homeLogo
+ : "https://demo-ems.zhitancloud.com" + systemInfo1.homeLogo
+ : "",
+}
+console.log(systemInfo)
+
+const loginForm = ref({
+ username: "admin",
+ password: "admin123",
+ rememberMe: false,
+ code: "",
+ uuid: "",
+})
+
+const loginRules = {
+ username: [{ required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勮处鍙�" }],
+ password: [{ required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勫瘑鐮�" }],
+ code: [{ required: true, trigger: "change", message: "璇疯緭鍏ラ獙璇佺爜" }],
+}
+
+const codeUrl = ref("")
+const loading = ref(false)
+// 楠岃瘉鐮佸紑鍏�
+const captchaEnabled = ref(true)
+// 娉ㄥ唽寮�鍏�
+const register = ref(false)
+const redirect = ref(undefined)
+
+watch(
+ route,
+ (newRoute) => {
+ redirect.value = newRoute.query && newRoute.query.redirect
+ },
+ { immediate: true }
+)
+
+function handleLogin() {
+ proxy.$refs.loginRef.validate((valid) => {
+ if (valid) {
+ loading.value = true
+ // 鍕鹃�変簡闇�瑕佽浣忓瘑鐮佽缃湪 cookie 涓缃浣忕敤鎴峰悕鍜屽瘑鐮�
+ if (loginForm.value.rememberMe) {
+ Cookies.set("username", loginForm.value.username, { expires: 30 })
+ Cookies.set("password", encrypt(loginForm.value.password), { expires: 30 })
+ Cookies.set("rememberMe", loginForm.value.rememberMe, { expires: 30 })
+ } else {
+ // 鍚﹀垯绉婚櫎
+ Cookies.remove("username")
+ Cookies.remove("password")
+ Cookies.remove("rememberMe")
+ }
+ // 璋冪敤action鐨勭櫥褰曟柟娉�
+ userStore
+ .login(loginForm.value)
+ .then(() => {
+ const query = route.query
+ const otherQueryParams = Object.keys(query).reduce((acc, cur) => {
+ if (cur !== "redirect") {
+ acc[cur] = query[cur]
+ }
+ return acc
+ }, {})
+ router.push({ path: redirect.value || "/", query: otherQueryParams })
+ })
+ .catch(() => {
+ loading.value = false
+ // 閲嶆柊鑾峰彇楠岃瘉鐮�
+ if (captchaEnabled.value) {
+ getCode()
+ }
+ })
+ }
+ })
+}
+
+function getCode() {
+ getCodeImg().then((res) => {
+ captchaEnabled.value = res.captchaEnabled === undefined ? true : res.captchaEnabled
+ if (captchaEnabled.value) {
+ codeUrl.value = "data:image/gif;base64," + res.img
+ loginForm.value.uuid = res.uuid
+ }
+ })
+}
+
+function getCookie() {
+ const username = Cookies.get("username")
+ const password = Cookies.get("password")
+ const rememberMe = Cookies.get("rememberMe")
+ loginForm.value = {
+ username: username === undefined ? loginForm.value.username : username,
+ password: password === undefined ? loginForm.value.password : decrypt(password),
+ rememberMe: rememberMe === undefined ? false : Boolean(rememberMe),
+ }
+}
+
+getCode()
+getCookie()
+</script>
+
+<style lang="scss" scoped>
+.login {
+ display: flex;
+ align-items: center;
+ height: 100%;
+ background-image: url("@/assets/images/login-bg.jpg");
+ background-size: 100% 100%;
+ flex-direction: column;
+ position: relative;
+ min-width: 700px;
+ min-height: 700px;
+}
+
+.title {
+ margin: 0px auto 30px auto;
+ text-align: center;
+ color: #707070;
+}
+
+.login-form {
+ position: absolute;
+ left: 50%;
+ top: 60%;
+ transform: translate(-50%, -50%);
+ border-radius: 6px;
+ // background: #ffffff;
+ width: 400px;
+ padding: 25px 25px 5px 25px;
+
+ .el-input {
+ height: 40px;
+
+ input {
+ height: 40px;
+ }
+ }
+
+ .input-icon {
+ height: 39px;
+ width: 14px;
+ margin-left: 0px;
+ }
+}
+
+.login-tip {
+ font-size: 13px;
+ text-align: center;
+ color: #bfbfbf;
+}
+
+.login-code {
+ width: 33%;
+ height: 40px;
+ float: right;
+
+ img {
+ cursor: pointer;
+ vertical-align: middle;
+ }
+}
+
+.el-login-footer {
+ height: 40px;
+ line-height: 40px;
+ position: fixed;
+ bottom: 0;
+ width: 100%;
+ text-align: center;
+ color: #fff;
+ font-family: Arial;
+ font-size: 12px;
+ letter-spacing: 1px;
+}
+
+.login-code-img {
+ height: 40px;
+ padding-left: 12px;
+}
+
+.login-logo-bg {
+ width: 514px;
+ height: 177px;
+ // background-image: url('@/assets/images/login-logo.png');
+ // background-size: 100% 100%;
+ position: absolute;
+ left: 50%;
+ top: 22%;
+ transform: translate(-50%, -50%);
+}
+.login-logo-img {
+ // width: 100%;
+ // height: 100%;
+ // transform: translate(-50%, -50%);
+ max-height: 200px;
+ margin: 0 auto;
+ position: absolute;
+ top: 17%;
+}
+
+.login-font {
+ font-size: 50px;
+ color: #fff;
+ top: 32%;
+ position: absolute;
+ left: 50%;
+ width: 514px;
+ text-align: center;
+ transform: translate(-50%, -50%);
+}
+</style>
diff --git a/zhitan-vue/src/views/login.vue b/zhitan-vue/src/views/login.vue
index 86d243f..3e8b868 100644
--- a/zhitan-vue/src/views/login.vue
+++ b/zhitan-vue/src/views/login.vue
@@ -1,67 +1,83 @@
<template>
<div class="login">
- <!-- <div
- class="login-logo-bg"
- v-if="systemInfo && systemInfo.homeLogo"
- :style="{ backgroundImage: 'url(' + systemInfo.homeLogo + ')', backgroundSize: '100% 100%' }"
- ></div> -->
- <img v-if="systemInfo && systemInfo.homeLogo" :src="systemInfo.homeLogo" alt="" class="login-logo-img" />
- <div class="login-font" v-else>{{ systemInfo.systemName || "鑳芥簮绠$悊绯荤粺" }}</div>
- <el-form ref="loginRef" :model="loginForm" :rules="loginRules" class="login-form">
- <!-- <h3 class="title">鍏呯數妗╁悗鍙扮鐞嗙郴缁�</h3> -->
- <el-form-item prop="username">
- <el-input v-model="loginForm.username" type="text" size="large" auto-complete="off" placeholder="璐﹀彿">
- <template #prefix><svg-icon icon-class="user" class="el-input__icon input-icon" /></template>
- </el-input>
- </el-form-item>
- <el-form-item prop="password">
- <el-input
- v-model="loginForm.password"
- type="password"
- size="large"
- auto-complete="off"
- placeholder="瀵嗙爜"
- show-password
- @keyup.enter="handleLogin"
- >
- <template #prefix><svg-icon icon-class="password" class="el-input__icon input-icon" /></template>
- </el-input>
- </el-form-item>
- <el-form-item prop="code" v-if="captchaEnabled">
- <el-input
- v-model="loginForm.code"
- size="large"
- auto-complete="off"
- placeholder="楠岃瘉鐮�"
- style="width: 63%"
- @keyup.enter="handleLogin"
- >
- <template #prefix><svg-icon icon-class="validCode" class="el-input__icon input-icon" /></template>
- </el-input>
- <div class="login-code">
- <img :src="codeUrl" @click="getCode" class="login-code-img" />
+ <!-- <img v-if="systemInfo && systemInfo.homeLogo" :src="systemInfo.homeLogo" alt="" class="login-logo-img" />
+ <div class="login-font" v-else>{{ systemInfo.systemName || "鑳芥簮绠$悊绯荤粺" }}</div> -->
+ <!-- 宸︿笂瑙抣ogo -->
+ <div>
+ <img v-if="systemInfo && systemInfo.homeLogo" :src="systemInfo.homeLogo" alt="" class="login-logo-img" />
+ </div>
+
+ <!-- 涓棿閮ㄥ垎form -->
+ <div class="middle-view">
+ <div class="left-wrapper">
+ <div class="login-font">{{ systemInfo.systemName || "" }}</div>
+ <img src="@/assets/images/font01.png" alt="" style="width: 406px" />
+ <img src="@/assets/images/img_logo.png" alt="" style="width: 200px; margin-top: 20px" />
+ </div>
+ <div class="right-wrapper">
+ <div class="header">
+ <span>璐﹀彿鐧诲綍</span>
</div>
- </el-form-item>
- <el-checkbox v-model="loginForm.rememberMe" style="margin: 0px 0px 25px 0px">璁颁綇瀵嗙爜</el-checkbox>
- <el-form-item style="width: 100%">
- <el-button
- :loading="loading"
- size="large"
- type="primary"
- style="width: 100%"
- color="#626aef"
- :dark="isDark"
- @click.prevent="handleLogin"
- >
- <span v-if="!loading">鐧� 褰�</span>
- <span v-else>鐧� 褰� 涓�...</span>
- </el-button>
- </el-form-item>
- </el-form>
+ <div class="bottom-block"></div>
+ <el-form ref="loginRef" :model="loginForm" :rules="loginRules" class="login-form" :label-position="'top'">
+ <el-form-item prop="username" label="璐﹀彿">
+ <el-input v-model="loginForm.username" type="text" size="large" auto-complete="off" placeholder="璐﹀彿">
+ <!-- <template #prefix><svg-icon icon-class="user" class="el-input__icon input-icon" /></template> -->
+ </el-input>
+ </el-form-item>
+ <el-form-item prop="password" label="瀵嗙爜">
+ <el-input
+ v-model="loginForm.password"
+ type="password"
+ size="large"
+ auto-complete="off"
+ placeholder="瀵嗙爜"
+ show-password
+ @keyup.enter="handleLogin"
+ >
+ <!-- <template #prefix><svg-icon icon-class="password" class="el-input__icon input-icon" /></template> -->
+ </el-input>
+ </el-form-item>
+ <el-form-item prop="code" v-if="captchaEnabled" label="楠岃瘉鐮�">
+ <el-input
+ v-model="loginForm.code"
+ size="large"
+ auto-complete="off"
+ placeholder="楠岃瘉鐮�"
+ style="width: 266px"
+ @keyup.enter="handleLogin"
+ >
+ <!-- <template #prefix><svg-icon icon-class="validCode" class="el-input__icon input-icon" /></template> -->
+ </el-input>
+ <div class="login-code">
+ <img :src="codeUrl" @click="getCode" class="login-code-img" />
+ </div>
+ </el-form-item>
+ <el-checkbox v-model="loginForm.rememberMe" style="margin: 0px 0px 25px 0px">璁颁綇瀵嗙爜</el-checkbox>
+ <el-form-item style="width: 100%">
+ <el-button
+ :loading="loading"
+ size="large"
+ type="primary"
+ style="width: 100%"
+ color="#626aef"
+ :dark="isDark"
+ @click.prevent="handleLogin"
+ class="submit-btn"
+ >
+ <span v-if="!loading">鐧� 褰�</span>
+ <span v-else>鐧� 褰� 涓�...</span>
+ </el-button>
+ </el-form-item>
+ </el-form>
+ </div>
+ </div>
+
<!-- 搴曢儴 -->
<div class="el-login-footer">
- <!-- <span>Copyright 漏 2021-2024 ZhiTanCloud All Rights Reserved.</span> -->
- <span>{{ systemInfo.copyRight || "Copyright 漏 2017-2024 ZhiTanCloud All Rights Reserved." }}</span>
+ <span>{{
+ systemInfo.copyRight || "Copyright 漏 2017-" + new Date().getFullYear() + " ZhiTanCloud All Rights Reserved."
+ }}</span>
</div>
</div>
</template>
@@ -76,12 +92,20 @@
const route = useRoute()
const router = useRouter()
const { proxy } = getCurrentInstance()
-const systemInfo = JSON.parse(Cookies.get("SystemInfo") || "{}")
+const systemInfo1 = JSON.parse(Cookies.get("SystemInfo") || "{}")
+const systemInfo = {
+ ...systemInfo1,
+ homeLogo: systemInfo1.homeLogo
+ ? systemInfo1.homeLogo.includes("http")
+ ? systemInfo1.homeLogo
+ : "https://demo-ems.zhitancloud.com" + systemInfo1.homeLogo
+ : "",
+}
console.log(systemInfo)
const loginForm = ref({
- username: "admin",
- password: "admin123",
+ username: "guestUser",
+ password: "guest@123456",
rememberMe: false,
code: "",
uuid: "",
@@ -178,29 +202,93 @@
display: flex;
align-items: center;
height: 100%;
- background-image: url("@/assets/images/login-bg.jpg");
- background-size: 100% 100%;
+ background-image: url("@/assets/images/login-background.png");
+ background-repeat: no-repeat;
+ background-size: cover;
flex-direction: column;
position: relative;
min-width: 700px;
min-height: 700px;
}
-.title {
- margin: 0px auto 30px auto;
- text-align: center;
- color: #707070;
+.middle-view {
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+ height: 100%;
+ width: 1200px;
+ .left-wrapper {
+ width: 420px;
+ display: flex;
+ flex-direction: column;
+ }
+ .login-font {
+ font-size: 34px;
+ font-weight: 700;
+ color: #d5f8ff;
+ margin-bottom: 12px;
+ }
+}
+
+.right-wrapper {
+ border-radius: 23px;
+ background: #ffffff;
+ width: 480px;
+ position: relative;
+ .header {
+ height: 70px;
+ line-height: 70px;
+ border-bottom: 1px solid #f1f1f1;
+ color: #3b3b3b;
+ font-size: 22px;
+ margin-bottom: 22px;
+ span {
+ display: inline-block;
+ height: 70px;
+ line-height: 70px;
+ border-bottom: 6px solid #3a83fc;
+ margin-left: 50px;
+ }
+ }
+}
+
+:deep(.el-input__wrapper) {
+ background-color: #f7f8fa !important;
+ border: none;
+}
+:deep(.el-input__inner) {
+ color: #3b3b3b;
+}
+:deep(.el-form-item__label) {
+ color: #3b3b3b !important;
+}
+:deep(.el-checkbox__label) {
+ color: #2e2e2e;
+}
+
+.bottom-block {
+ height: 140px;
+ width: 90%;
+ background-color: rgba(255, 255, 255, 0.3);
+ position: absolute;
+ left: 5%;
+ bottom: -20px;
+ border-radius: 20px;
}
.login-form {
- position: absolute;
- left: 50%;
- top: 60%;
- transform: translate(-50%, -50%);
- border-radius: 6px;
- // background: #ffffff;
- width: 400px;
- padding: 25px 25px 5px 25px;
+ padding: 0 50px 30px;
+
+ .submit-btn {
+ width: 382px;
+ height: 54px;
+ background: #3a83fc;
+ border-radius: 3px;
+ font-size: 20px;
+ box-shadow: 1px 2px 5px #3a83fc;
+ border: none;
+ border-radius: 6px;
+ }
.el-input {
height: 40px;
@@ -224,7 +312,7 @@
}
.login-code {
- width: 33%;
+ // width: 120px;
height: 40px;
float: right;
@@ -232,54 +320,29 @@
cursor: pointer;
vertical-align: middle;
}
+ .login-code-img {
+ height: 40px;
+ // padding-left: 12px;
+ }
}
+.login-logo-img {
+ max-height: 100px;
+ margin: 0 auto;
+ position: absolute;
+ top: 35px;
+ left: 65px;
+}
.el-login-footer {
- height: 40px;
- line-height: 40px;
+ height: 60px;
+ line-height: 60px;
position: fixed;
bottom: 0;
width: 100%;
text-align: center;
color: #fff;
font-family: Arial;
- font-size: 12px;
+ font-size: 16px;
letter-spacing: 1px;
-}
-
-.login-code-img {
- height: 40px;
- padding-left: 12px;
-}
-
-.login-logo-bg {
- width: 514px;
- height: 177px;
- // background-image: url('@/assets/images/login-logo.png');
- // background-size: 100% 100%;
- position: absolute;
- left: 50%;
- top: 22%;
- transform: translate(-50%, -50%);
-}
-.login-logo-img {
- // width: 100%;
- // height: 100%;
- // transform: translate(-50%, -50%);
- max-height: 200px;
- margin: 0 auto;
- position: absolute;
- top: 17%;
-}
-
-.login-font {
- font-size: 50px;
- color: #fff;
- top: 32%;
- position: absolute;
- left: 50%;
- width: 514px;
- text-align: center;
- transform: translate(-50%, -50%);
}
</style>
--
Gitblit v1.9.3