|
@@ -22,6 +22,7 @@ import org.springframework.http.HttpHeaders;
|
|
import org.springframework.http.HttpMethod;
|
|
import org.springframework.http.HttpMethod;
|
|
import org.springframework.http.ResponseEntity;
|
|
import org.springframework.http.ResponseEntity;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.web.client.RestTemplate;
|
|
import org.springframework.web.client.RestTemplate;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
@@ -165,6 +166,7 @@ public class FeedConsumeServiceImpl extends ServiceImpl<FeedConsumeMapper, FeedC
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
|
+ @Transactional
|
|
public Result analysis(Map<String, String> map) {
|
|
public Result analysis(Map<String, String> map) {
|
|
String startDate = map.get("startDate");
|
|
String startDate = map.get("startDate");
|
|
String endDate = map.get("endDate");
|
|
String endDate = map.get("endDate");
|
|
@@ -216,12 +218,18 @@ public class FeedConsumeServiceImpl extends ServiceImpl<FeedConsumeMapper, FeedC
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ BigDecimal totalConsume = BigDecimal.ZERO;
|
|
|
|
+ BigDecimal totalUsed = BigDecimal.ZERO;
|
|
FeedAnalysisVo feedAnalysisVo = new FeedAnalysisVo();
|
|
FeedAnalysisVo feedAnalysisVo = new FeedAnalysisVo();
|
|
FeedConsumeChartVo feedConsumeChartVo= feedConsumeMapper.getTotal(startDate, endDate);
|
|
FeedConsumeChartVo feedConsumeChartVo= feedConsumeMapper.getTotal(startDate, endDate);
|
|
FeedUsedChartVo feedUsedChartVo = feedUsageMapper.getTotal(startDate, endDate,unitName);
|
|
FeedUsedChartVo feedUsedChartVo = feedUsageMapper.getTotal(startDate, endDate,unitName);
|
|
BigDecimal gapRate = BigDecimal.ZERO;
|
|
BigDecimal gapRate = BigDecimal.ZERO;
|
|
- BigDecimal totalConsume = feedConsumeChartVo.getTotalConsume();
|
|
|
|
- BigDecimal totalUsed = feedUsedChartVo.getTotalUsed();
|
|
|
|
|
|
+ if (ObjectUtil.isNotEmpty(feedConsumeChartVo)){
|
|
|
|
+ totalConsume = feedConsumeChartVo.getTotalConsume();
|
|
|
|
+ }
|
|
|
|
+ if (ObjectUtil.isNotEmpty(feedUsedChartVo.getTotalUsed())){
|
|
|
|
+ totalUsed = feedUsedChartVo.getTotalUsed();
|
|
|
|
+ }
|
|
BigDecimal gap = totalConsume.subtract(totalUsed);
|
|
BigDecimal gap = totalConsume.subtract(totalUsed);
|
|
if (totalConsume.compareTo(BigDecimal.ZERO) > 0) {
|
|
if (totalConsume.compareTo(BigDecimal.ZERO) > 0) {
|
|
gapRate = gap.divide(totalConsume,4,RoundingMode.UP).multiply(BigDecimal.valueOf(100));
|
|
gapRate = gap.divide(totalConsume,4,RoundingMode.UP).multiply(BigDecimal.valueOf(100));
|