Browse Source

充电桩年月日

2025年3月10日11:20:07
qingyuan_dev_new
lishuai 10 months ago
parent
commit
cb02230e3b
  1. 12
      modules/qingyuan/src/main/java/com/thing/qingyuan/screen/controller/StationScreenController.java
  2. 4
      modules/qingyuan/src/main/java/com/thing/qingyuan/screen/service/StationScreenService.java
  3. 49
      modules/qingyuan/src/main/java/com/thing/qingyuan/screen/service/impl/StationScreenServiceImpl.java

12
modules/qingyuan/src/main/java/com/thing/qingyuan/screen/controller/StationScreenController.java

@ -44,14 +44,14 @@ public class StationScreenController {
return new Result<StationDailyInfo>().ok(data);
}
@GetMapping("month/charge/analysis")
@GetMapping("charge/analysis")
@Operation(summary = "月度充电分析")
@Parameters({
@Parameter(name = "thingCode", description = "充电站物编码"),
})
public Result<StationMonthChargeAnalysis> getMonthChargeAnalysis(
@Parameter(hidden = true) String thingCode) {
StationMonthChargeAnalysis data = service.getMonthChargeAnalysis(thingCode);
@Parameter(hidden = true) String thingCode, String dateType) {
StationMonthChargeAnalysis data = service.getMonthChargeAnalysis(thingCode, dateType);
return new Result<StationMonthChargeAnalysis>().ok(data);
}
@ -65,14 +65,14 @@ public class StationScreenController {
return new Result<StationChargeStatus>().ok(data);
}
@GetMapping("usage/analysis")
@GetMapping("month/usage/analysis")
@Operation(summary = "月度使用率分析")
@Parameters({
@Parameter(name = "thingCode", description = "充电站物编码"),
})
public Result<StationMonthUsageAnalysis> getMonthUsageAnalysis(
@Parameter(hidden = true) String thingCode,String dateType) {
StationMonthUsageAnalysis data = service.getMonthUsageAnalysis(thingCode, dateType);
@Parameter(hidden = true) String thingCode) {
StationMonthUsageAnalysis data = service.getMonthUsageAnalysis(thingCode);
return new Result<StationMonthUsageAnalysis>().ok(data);
}

4
modules/qingyuan/src/main/java/com/thing/qingyuan/screen/service/StationScreenService.java

@ -15,11 +15,11 @@ public interface StationScreenService {
StationDailyInfo getDailyInfo(String thingCode);
StationMonthChargeAnalysis getMonthChargeAnalysis(String thingCode);
StationMonthChargeAnalysis getMonthChargeAnalysis(String thingCode, String dateType);
StationChargeStatus getChargeStatus(String thingCode);
StationMonthUsageAnalysis getMonthUsageAnalysis(String thingCode,String dateType);
StationMonthUsageAnalysis getMonthUsageAnalysis(String thingCode);
StationChargeTrend getChargeTrend(String thingCode, String timeType);

49
modules/qingyuan/src/main/java/com/thing/qingyuan/screen/service/impl/StationScreenServiceImpl.java

@ -94,13 +94,32 @@ public class StationScreenServiceImpl implements StationScreenService {
}
@Override
public StationMonthChargeAnalysis getMonthChargeAnalysis(String thingCode) {
public StationMonthChargeAnalysis getMonthChargeAnalysis(String thingCode, String dateType) {
Long startTs = DateTimeUtils.monthStartTs();
Long endTs = DateTimeUtils.monthStartTs();
List<String> code;
if (StringUtils.equals(dateType, "yy")) {
startTs = DateTimeUtils.yearStartTs();
endTs = DateTimeUtils.yearEndTs();
code = List.of("A29mm", "A202mm", "A201mm");
} else if (StringUtils.equals(dateType, "mm")) {
startTs = DateTimeUtils.monthStartTs();
endTs = DateTimeUtils.monthEndTs();
code = List.of("A29dd", "A202dd", "A201dd");
} else {
startTs = DateTimeUtils.todayStartTs();
endTs = DateTimeUtils.yearEndTs();
code = List.of("A29hh", "A202hh", "A201hh");
}
List<TsKvDTO> tskvList =
tsKvService.findTsKvByCodeAndAttrs(
thingCode,
StationMonthChargeAnalysis.DAILY_ATTR_CODES,
/* StationMonthChargeAnalysis.DAILY_ATTR_CODES,
DateTimeUtils.monthStartTs(),
System.currentTimeMillis(),
System.currentTimeMillis(),*/
code,
startTs,
endTs,
true);
return StationMonthChargeAnalysis.assemble(tskvList);
}
@ -121,31 +140,15 @@ public class StationScreenServiceImpl implements StationScreenService {
}
@Override
public StationMonthUsageAnalysis getMonthUsageAnalysis(String thingCode,String dateType) {
public StationMonthUsageAnalysis getMonthUsageAnalysis(String thingCode) {
Integer gunCount =
connectorInfoService.getCountByStationIds(Collections.singletonList(thingCode));
String code = "A201mm";
Long startTs = DateTimeUtils.monthStartTs();
Long endTs = DateTimeUtils.monthStartTs();
if(StringUtils.equals(dateType,"yy")){
startTs = DateTimeUtils.yearStartTs();
endTs = DateTimeUtils.yearEndTs();
} else if (StringUtils.equals(dateType,"mm")) {
startTs = DateTimeUtils.monthStartTs();
endTs = DateTimeUtils.monthEndTs();
code= "A201dd";
}else{
startTs = DateTimeUtils.todayStartTs();
endTs = DateTimeUtils.yearEndTs();
code= "A201hh";
}
List<TsKvDTO> tskvList =
tsKvService.findTsKvByCodeAndAttr(
thingCode,
code,
startTs,
endTs,
StationChargeStatus.DAILY_DURATION_CODE,
DateTimeUtils.monthStartTs(),
DateTimeUtils.todayStartTs(),
true);
return StationMonthUsageAnalysis.assemble(tskvList, gunCount);
}

Loading…
Cancel
Save