BI大屏单表查询修改
This commit is contained in:
@@ -12,7 +12,7 @@ import org.springframework.scheduling.annotation.EnableAsync;
|
||||
|
||||
@SpringBootApplication(scanBasePackages = {"com.mhd", "com.mhd.bi"})
|
||||
@EnableDiscoveryClient
|
||||
@EnableFeignClients(basePackages = {"com.mhd","com.mhd.bi.infrastructure.feign"})
|
||||
@EnableFeignClients(basePackages = {"com.mhd"})
|
||||
@MapperScan("com.mhd.bi.domain.**.mapper")
|
||||
@Import({SetFeildValueAspect.class, CommonService.class})
|
||||
@EnableAsync
|
||||
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
package com.mhd.bi.domain.biComprehensive.repository.mapper;
|
||||
|
||||
import com.mhd.bi.domain.biReport.support.BiReportSnapshotMapperSupport;
|
||||
import com.mhd.bi.interfaces.facadeApi.biReport.vo.ComprehensiveSituationVO;
|
||||
|
||||
/**
|
||||
* 综合态势:SQL 见 BiComprehensiveReportMapper.xml;取数与组装均在 Mapper 层完成。
|
||||
*/
|
||||
public interface BiComprehensiveReportMapper {
|
||||
|
||||
String selectLatestPayloadJson();
|
||||
|
||||
/**
|
||||
* 最新快照 → VO(内部调用 {@link #selectLatestPayloadJson()})
|
||||
*/
|
||||
default ComprehensiveSituationVO loadLatestComprehensive() {
|
||||
return BiReportSnapshotMapperSupport.parsePayload(
|
||||
selectLatestPayloadJson(),
|
||||
ComprehensiveSituationVO.class,
|
||||
BiReportSnapshotMapperSupport::emptyComprehensiveSituation,
|
||||
"综合态势");
|
||||
}
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
package com.mhd.bi.domain.biComprehensive.service;
|
||||
|
||||
import com.mhd.bi.domain.biComprehensive.repository.mapper.BiComprehensiveReportMapper;
|
||||
import com.mhd.bi.interfaces.facadeApi.biReport.vo.ComprehensiveSituationVO;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* 综合态势:数据访问仅经 Mapper(含 XML 内 SQL 与 Mapper 默认方法组装)。
|
||||
*/
|
||||
@Service
|
||||
public class BiComprehensiveReportService {
|
||||
|
||||
@Resource
|
||||
private BiComprehensiveReportMapper biComprehensiveReportMapper;
|
||||
|
||||
public ComprehensiveSituationVO loadLatestComprehensive() {
|
||||
return biComprehensiveReportMapper.loadLatestComprehensive();
|
||||
}
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
package com.mhd.bi.domain.biPlatformSurveillance.repository.mapper;
|
||||
|
||||
import com.mhd.bi.domain.biReport.support.BiReportSnapshotMapperSupport;
|
||||
import com.mhd.bi.interfaces.facadeApi.biReport.vo.platform.PlatformSurveillanceVO;
|
||||
|
||||
/**
|
||||
* 月台监测:SQL 见 BiPlatformSurveillanceReportMapper.xml;取数与组装均在 Mapper 层完成。
|
||||
*/
|
||||
public interface BiPlatformSurveillanceReportMapper {
|
||||
|
||||
String selectLatestPayloadJson();
|
||||
|
||||
default PlatformSurveillanceVO loadLatestPlatformSurveillance() {
|
||||
return BiReportSnapshotMapperSupport.parsePayload(
|
||||
selectLatestPayloadJson(),
|
||||
PlatformSurveillanceVO.class,
|
||||
BiReportSnapshotMapperSupport::emptyPlatformSurveillance,
|
||||
"月台监测");
|
||||
}
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
package com.mhd.bi.domain.biPlatformSurveillance.service;
|
||||
|
||||
import com.mhd.bi.domain.biPlatformSurveillance.repository.mapper.BiPlatformSurveillanceReportMapper;
|
||||
import com.mhd.bi.interfaces.facadeApi.biReport.vo.platform.PlatformSurveillanceVO;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@Service
|
||||
public class BiPlatformSurveillanceReportService {
|
||||
|
||||
@Resource
|
||||
private BiPlatformSurveillanceReportMapper biPlatformSurveillanceReportMapper;
|
||||
|
||||
public PlatformSurveillanceVO loadLatestPlatformSurveillance() {
|
||||
return biPlatformSurveillanceReportMapper.loadLatestPlatformSurveillance();
|
||||
}
|
||||
}
|
||||
+99
@@ -0,0 +1,99 @@
|
||||
package com.mhd.bi.domain.biReport.support;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.mhd.bi.interfaces.facadeApi.biReport.vo.ComprehensiveSituationVO;
|
||||
import com.mhd.bi.interfaces.facadeApi.biReport.vo.CustomerContributionRankVO;
|
||||
import com.mhd.bi.interfaces.facadeApi.biReport.vo.WarehouseTransportSituationVO;
|
||||
import com.mhd.bi.interfaces.facadeApi.biReport.vo.platform.*;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
/**
|
||||
* Mapper 层使用的快照 JSON 解析与空态(SQL 仅定义在对应 Mapper.xml)
|
||||
*/
|
||||
@Slf4j
|
||||
public final class BiReportSnapshotMapperSupport {
|
||||
|
||||
private static final ObjectMapper MAPPER = new ObjectMapper();
|
||||
|
||||
private BiReportSnapshotMapperSupport() {
|
||||
}
|
||||
|
||||
public static <T> T parsePayload(String json, Class<T> type, Supplier<T> empty, String logLabel) {
|
||||
if (StringUtils.isBlank(json)) {
|
||||
return empty.get();
|
||||
}
|
||||
try {
|
||||
return MAPPER.readValue(json.trim(), type);
|
||||
} catch (Exception e) {
|
||||
log.warn("{} PAYLOAD_JSON 解析失败,返回空态", logLabel, e);
|
||||
return empty.get();
|
||||
}
|
||||
}
|
||||
|
||||
public static ComprehensiveSituationVO emptyComprehensiveSituation() {
|
||||
return ComprehensiveSituationVO.builder()
|
||||
.valueAddedServiceIncome(0L)
|
||||
.inventoryTurnover(0)
|
||||
.orderCount(0)
|
||||
.vehicleUtilizationRate(0d)
|
||||
.fuelConsumptionPerHundredKm(0)
|
||||
.incomeTrend(Collections.emptyList())
|
||||
.build();
|
||||
}
|
||||
|
||||
public static WarehouseTransportSituationVO emptyWarehouseTransportSituation() {
|
||||
return WarehouseTransportSituationVO.builder()
|
||||
.warehouseDistributionOnTimeRate(0d)
|
||||
.currentYearOrders(0L)
|
||||
.currentQuarterOrders(0)
|
||||
.currentMonthOrders(0)
|
||||
.warehouseOrderTrend(Collections.emptyList())
|
||||
.throughput(Collections.emptyList())
|
||||
.currentMonthTurnoverRate(0)
|
||||
.currentYearTurnoverRate(0)
|
||||
.inventoryTurnoverTrend(Collections.emptyList())
|
||||
.totalTransportIncome(0)
|
||||
.orderCount(0)
|
||||
.transportTrips(0)
|
||||
.annualTransportVolume(0)
|
||||
.transportOrderTotal(0)
|
||||
.crossBorderTransportOrder(0)
|
||||
.domesticTransportOrder(0)
|
||||
.transportTripsTrend(Collections.emptyList())
|
||||
.vehicleUtilizationRate(Collections.emptyList())
|
||||
.warehouseDockSyncRate(Collections.emptyList())
|
||||
.customerContributionRank(CustomerContributionRankVO.builder()
|
||||
.customerName(Collections.emptyList())
|
||||
.customerAmount(Collections.emptyList())
|
||||
.build())
|
||||
.build();
|
||||
}
|
||||
|
||||
public static PlatformSurveillanceVO emptyPlatformSurveillance() {
|
||||
return PlatformSurveillanceVO.builder()
|
||||
.vehicles(Collections.emptyList())
|
||||
.efficiencyStatistics(EfficiencyStatisticsVO.builder()
|
||||
.entryOvertimeRate(0).overtimeCount(0).platformOnTimeRate(0)
|
||||
.avgPlatformDuration(0d).yardOnTimeRate(0).avgYardDuration(0d).build())
|
||||
.platformOverview(PlatformOverviewVO.builder()
|
||||
.totalPlatforms(0).currentOccupancyRate(0).operatingPlatforms(0).todayTasks(0).build())
|
||||
.vehicleStatus(VehicleStatusVO.builder()
|
||||
.todayReservedVehicles(0).notCheckedIn(0).operatingVehicles(0).completedVehicles(0).build())
|
||||
.avgOperationDurationTrend(Collections.emptyList())
|
||||
.monthlyTaskStatistics(MonthlyTaskStatisticsVO.builder()
|
||||
.taskTotal(0).taskTotalYoY(0).avgTaskDuration(0d).avgDurationYoY(0)
|
||||
.taskCompletionRate(0).completionRateYoY(0).build())
|
||||
.taskLoadStatistics(Collections.emptyList())
|
||||
.platformAlarmTrend(Collections.emptyList())
|
||||
.taskTypeStatistics(TaskTypeStatisticsVO.builder()
|
||||
.totalTasks(0).taskTypes(Collections.emptyList()).build())
|
||||
.platformAlarmStatistics(PlatformAlarmStatisticsVO.builder()
|
||||
.todayAlarmTotal(0).handled(0).unhandled(0).build())
|
||||
.platformAlarmDistribution(Collections.emptyList())
|
||||
.build();
|
||||
}
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
package com.mhd.bi.domain.biWarehouseTransport.repository.mapper;
|
||||
|
||||
import com.mhd.bi.domain.biReport.support.BiReportSnapshotMapperSupport;
|
||||
import com.mhd.bi.interfaces.facadeApi.biReport.vo.WarehouseTransportSituationVO;
|
||||
|
||||
/**
|
||||
* 仓储运输:SQL 见 BiWarehouseTransportReportMapper.xml;取数与组装均在 Mapper 层完成。
|
||||
*/
|
||||
public interface BiWarehouseTransportReportMapper {
|
||||
|
||||
String selectLatestPayloadJson();
|
||||
|
||||
default WarehouseTransportSituationVO loadLatestWarehouseTransport() {
|
||||
return BiReportSnapshotMapperSupport.parsePayload(
|
||||
selectLatestPayloadJson(),
|
||||
WarehouseTransportSituationVO.class,
|
||||
BiReportSnapshotMapperSupport::emptyWarehouseTransportSituation,
|
||||
"仓储运输");
|
||||
}
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
package com.mhd.bi.domain.biWarehouseTransport.service;
|
||||
|
||||
import com.mhd.bi.domain.biWarehouseTransport.repository.mapper.BiWarehouseTransportReportMapper;
|
||||
import com.mhd.bi.interfaces.facadeApi.biReport.vo.WarehouseTransportSituationVO;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@Service
|
||||
public class BiWarehouseTransportReportService {
|
||||
|
||||
@Resource
|
||||
private BiWarehouseTransportReportMapper biWarehouseTransportReportMapper;
|
||||
|
||||
public WarehouseTransportSituationVO loadLatestWarehouseTransport() {
|
||||
return biWarehouseTransportReportMapper.loadLatestWarehouseTransport();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport;
|
||||
|
||||
import com.mhd.bi.domain.biComprehensive.service.BiComprehensiveReportService;
|
||||
import com.mhd.bi.domain.biPlatformSurveillance.service.BiPlatformSurveillanceReportService;
|
||||
import com.mhd.bi.domain.biWarehouseTransport.service.BiWarehouseTransportReportService;
|
||||
import com.mhd.bi.interfaces.facadeApi.biReport.dto.BiApiResult;
|
||||
import com.mhd.bi.interfaces.facadeApi.biReport.vo.ComprehensiveSituationVO;
|
||||
import com.mhd.bi.interfaces.facadeApi.biReport.vo.WarehouseTransportSituationVO;
|
||||
import com.mhd.bi.interfaces.facadeApi.biReport.vo.platform.PlatformSurveillanceVO;
|
||||
import com.mhd.common.core.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.CrossOrigin;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* BI 报表接口
|
||||
*/
|
||||
@Api(tags = "BI报表")
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/biReport")
|
||||
@CrossOrigin
|
||||
public class BiReportApi extends BaseController {
|
||||
|
||||
@Autowired
|
||||
private BiComprehensiveReportService biComprehensiveReportService;
|
||||
|
||||
@Autowired
|
||||
private BiWarehouseTransportReportService biWarehouseTransportReportService;
|
||||
|
||||
@Autowired
|
||||
private BiPlatformSurveillanceReportService biPlatformSurveillanceReportService;
|
||||
|
||||
|
||||
/**
|
||||
* 综合态势指标查询
|
||||
*/
|
||||
@ApiOperation("综合态势指标查询")
|
||||
@GetMapping("/comprehensive")
|
||||
public BiApiResult<ComprehensiveSituationVO> comprehensive() {
|
||||
ComprehensiveSituationVO data = biComprehensiveReportService.loadLatestComprehensive();
|
||||
return BiApiResult.ok(data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 仓储运输指标查询
|
||||
*/
|
||||
@ApiOperation("仓储运输指标查询")
|
||||
@GetMapping("/warehouseTransport")
|
||||
public BiApiResult<WarehouseTransportSituationVO> warehouseTransport() {
|
||||
WarehouseTransportSituationVO data = biWarehouseTransportReportService.loadLatestWarehouseTransport();
|
||||
return BiApiResult.ok(data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 月台监测指标查询
|
||||
*/
|
||||
@ApiOperation("月台监测指标查询")
|
||||
@GetMapping("/platformSurveillance")
|
||||
public BiApiResult<PlatformSurveillanceVO> platformSurveillance() {
|
||||
PlatformSurveillanceVO data = biPlatformSurveillanceReportService.loadLatestPlatformSurveillance();
|
||||
return BiApiResult.ok(data);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.dto;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* BI 接口统一响应(与前端约定:message 字段)
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class BiApiResult<T> {
|
||||
|
||||
private int code = 200;
|
||||
|
||||
private String message = "success";
|
||||
|
||||
private T data;
|
||||
|
||||
public static <T> BiApiResult<T> ok(T data) {
|
||||
return new BiApiResult<>(200, "success", data);
|
||||
}
|
||||
}
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 综合态势指标
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel("综合态势指标")
|
||||
public class ComprehensiveSituationVO {
|
||||
|
||||
@ApiModelProperty("增值服务收入,单位:元人民币")
|
||||
private Long valueAddedServiceIncome;
|
||||
|
||||
@ApiModelProperty("库存周转率,单位:次")
|
||||
private Integer inventoryTurnover;
|
||||
|
||||
@ApiModelProperty("运输订单量,单位:单")
|
||||
private Integer orderCount;
|
||||
|
||||
@ApiModelProperty("车辆利用率,单位:%")
|
||||
private Double vehicleUtilizationRate;
|
||||
|
||||
@ApiModelProperty("百公里油耗,单位:升")
|
||||
private Integer fuelConsumptionPerHundredKm;
|
||||
|
||||
@ApiModelProperty("运输收入趋势,单位:万元(近半年,按月正序)")
|
||||
private List<Integer> incomeTrend;
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel("客户贡献排名(前5)")
|
||||
public class CustomerContributionRankVO {
|
||||
|
||||
@ApiModelProperty("客户名称")
|
||||
private List<String> customerName;
|
||||
|
||||
@ApiModelProperty("客户金额,单位:万元")
|
||||
private List<Integer> customerAmount;
|
||||
}
|
||||
+78
@@ -0,0 +1,78 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel("仓储运输指标")
|
||||
public class WarehouseTransportSituationVO {
|
||||
|
||||
@ApiModelProperty("仓配衔接准时率,单位:%")
|
||||
private Double warehouseDistributionOnTimeRate;
|
||||
|
||||
@ApiModelProperty("本年度订单,单位:单")
|
||||
private Long currentYearOrders;
|
||||
|
||||
@ApiModelProperty("本季度订单,单位:单")
|
||||
private Integer currentQuarterOrders;
|
||||
|
||||
@ApiModelProperty("本月度订单,单位:单")
|
||||
private Integer currentMonthOrders;
|
||||
|
||||
@ApiModelProperty("仓库订单趋势,单位:单(近半年,按月正序)")
|
||||
private List<Integer> warehouseOrderTrend;
|
||||
|
||||
@ApiModelProperty("吞吐量统计,单位:吨(近半年,按月正序)")
|
||||
private List<Integer> throughput;
|
||||
|
||||
@ApiModelProperty("本月周转率,单位:次")
|
||||
private Integer currentMonthTurnoverRate;
|
||||
|
||||
@ApiModelProperty("本年周转率,单位:次")
|
||||
private Integer currentYearTurnoverRate;
|
||||
|
||||
@ApiModelProperty("库存周转率趋势,单位:次(近半年,按月正序)")
|
||||
private List<Integer> inventoryTurnoverTrend;
|
||||
|
||||
@ApiModelProperty("总收入,单位:万元")
|
||||
private Integer totalTransportIncome;
|
||||
|
||||
@ApiModelProperty("订单数量,单位:单")
|
||||
private Integer orderCount;
|
||||
|
||||
@ApiModelProperty("运输车次,单位:次")
|
||||
private Integer transportTrips;
|
||||
|
||||
@ApiModelProperty("运输货量,单位:万吨")
|
||||
private Integer annualTransportVolume;
|
||||
|
||||
@ApiModelProperty("运输订单总数,单位:单")
|
||||
private Integer transportOrderTotal;
|
||||
|
||||
@ApiModelProperty("跨境订单,单位:单")
|
||||
private Integer crossBorderTransportOrder;
|
||||
|
||||
@ApiModelProperty("国内订单,单位:单")
|
||||
private Integer domesticTransportOrder;
|
||||
|
||||
@ApiModelProperty("运输车次趋势(近半年,按月正序)")
|
||||
private List<Integer> transportTripsTrend;
|
||||
|
||||
@ApiModelProperty("出车利用率,单位:车次(近半年,按月正序)")
|
||||
private List<Integer> vehicleUtilizationRate;
|
||||
|
||||
@ApiModelProperty("仓配衔接准时率(近半年,按月正序),单位:%")
|
||||
private List<Integer> warehouseDockSyncRate;
|
||||
|
||||
@ApiModelProperty("客户贡献排名")
|
||||
private CustomerContributionRankVO customerContributionRank;
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.platform;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel("月台监测-平均作业时长趋势项")
|
||||
public class AvgOperationDurationTrendItemVO {
|
||||
|
||||
@ApiModelProperty("月份")
|
||||
private String month;
|
||||
|
||||
@ApiModelProperty("园区作业时长")
|
||||
private Double yardDuration;
|
||||
|
||||
@ApiModelProperty("月台作业时长")
|
||||
private Double platformDuration;
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.platform;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel("月台监测-效率统计(本日)")
|
||||
public class EfficiencyStatisticsVO {
|
||||
|
||||
@ApiModelProperty("入园超时率,单位:%")
|
||||
private Integer entryOvertimeRate;
|
||||
|
||||
@ApiModelProperty("超时数量,单位:个")
|
||||
private Integer overtimeCount;
|
||||
|
||||
@ApiModelProperty("月台作业准时率,单位:%")
|
||||
private Integer platformOnTimeRate;
|
||||
|
||||
@ApiModelProperty("月台作业平均时长,单位:小时")
|
||||
private Double avgPlatformDuration;
|
||||
|
||||
@ApiModelProperty("园区作业准时率,单位:%")
|
||||
private Integer yardOnTimeRate;
|
||||
|
||||
@ApiModelProperty("园区作业平均时长,单位:小时")
|
||||
private Double avgYardDuration;
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.platform;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel("月台监测-本月任务统计")
|
||||
public class MonthlyTaskStatisticsVO {
|
||||
|
||||
@ApiModelProperty("任务量,单位:个")
|
||||
private Integer taskTotal;
|
||||
|
||||
@ApiModelProperty("任务量同比,单位:%")
|
||||
private Integer taskTotalYoY;
|
||||
|
||||
@ApiModelProperty("任务平均作业时长,单位:小时")
|
||||
private Double avgTaskDuration;
|
||||
|
||||
@ApiModelProperty("任务平均作业时长同比,单位:%")
|
||||
private Integer avgDurationYoY;
|
||||
|
||||
@ApiModelProperty("任务完成率,单位:%")
|
||||
private Integer taskCompletionRate;
|
||||
|
||||
@ApiModelProperty("任务完成率同比,单位:%")
|
||||
private Integer completionRateYoY;
|
||||
}
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.platform;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel("月台监测-告警分布项")
|
||||
public class PlatformAlarmDistItemVO {
|
||||
|
||||
@ApiModelProperty("告警类型")
|
||||
private String type;
|
||||
|
||||
@ApiModelProperty("告警数量")
|
||||
private Integer count;
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.platform;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel("月台监测-月台告警统计(本日)")
|
||||
public class PlatformAlarmStatisticsVO {
|
||||
|
||||
@ApiModelProperty("今日告警总数,单位:个")
|
||||
private Integer todayAlarmTotal;
|
||||
|
||||
@ApiModelProperty("今日已处理告警数,单位:个")
|
||||
private Integer handled;
|
||||
|
||||
@ApiModelProperty("今日未处理告警数,单位:个")
|
||||
private Integer unhandled;
|
||||
}
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.platform;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel("月台监测-告警趋势项")
|
||||
public class PlatformAlarmTrendItemVO {
|
||||
|
||||
@ApiModelProperty("日期")
|
||||
private String date;
|
||||
|
||||
@ApiModelProperty("告警数量")
|
||||
private Integer alarmCount;
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.platform;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel("月台监测-月台实时概览")
|
||||
public class PlatformOverviewVO {
|
||||
|
||||
@ApiModelProperty("月台数量,单位:个")
|
||||
private Integer totalPlatforms;
|
||||
|
||||
@ApiModelProperty("当前占用率,单位:%")
|
||||
private Integer currentOccupancyRate;
|
||||
|
||||
@ApiModelProperty("当前作业中,单位:个")
|
||||
private Integer operatingPlatforms;
|
||||
|
||||
@ApiModelProperty("今日作业任务,单位:个")
|
||||
private Integer todayTasks;
|
||||
}
|
||||
+51
@@ -0,0 +1,51 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.platform;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel("月台监测指标")
|
||||
public class PlatformSurveillanceVO {
|
||||
|
||||
@ApiModelProperty("作业车辆状态列表")
|
||||
private List<PlatformVehicleItemVO> vehicles;
|
||||
|
||||
@ApiModelProperty("效率统计(本日)")
|
||||
private EfficiencyStatisticsVO efficiencyStatistics;
|
||||
|
||||
@ApiModelProperty("月台实时概览")
|
||||
private PlatformOverviewVO platformOverview;
|
||||
|
||||
@ApiModelProperty("作业车辆状态汇总")
|
||||
private VehicleStatusVO vehicleStatus;
|
||||
|
||||
@ApiModelProperty("平均作业时长趋势")
|
||||
private List<AvgOperationDurationTrendItemVO> avgOperationDurationTrend;
|
||||
|
||||
@ApiModelProperty("本月任务统计")
|
||||
private MonthlyTaskStatisticsVO monthlyTaskStatistics;
|
||||
|
||||
@ApiModelProperty("任务负荷统计(时段)")
|
||||
private List<TaskLoadItemVO> taskLoadStatistics;
|
||||
|
||||
@ApiModelProperty("月台告警趋势")
|
||||
private List<PlatformAlarmTrendItemVO> platformAlarmTrend;
|
||||
|
||||
@ApiModelProperty("任务类型统计")
|
||||
private TaskTypeStatisticsVO taskTypeStatistics;
|
||||
|
||||
@ApiModelProperty("月台告警统计(本日)")
|
||||
private PlatformAlarmStatisticsVO platformAlarmStatistics;
|
||||
|
||||
@ApiModelProperty("月台告警分布")
|
||||
private List<PlatformAlarmDistItemVO> platformAlarmDistribution;
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.platform;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel("月台监测-作业车辆")
|
||||
public class PlatformVehicleItemVO {
|
||||
|
||||
@ApiModelProperty("车牌号码")
|
||||
private String plateNumber;
|
||||
|
||||
@ApiModelProperty("状态")
|
||||
private String status;
|
||||
|
||||
@ApiModelProperty("作业月台")
|
||||
private String platformId;
|
||||
|
||||
@ApiModelProperty("月台作业时长,单位:分钟")
|
||||
private Integer platformDuration;
|
||||
}
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.platform;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel("月台监测-任务负荷时段项")
|
||||
public class TaskLoadItemVO {
|
||||
|
||||
@ApiModelProperty("时段")
|
||||
private String time;
|
||||
|
||||
@ApiModelProperty("任务数量")
|
||||
private Integer taskCount;
|
||||
}
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.platform;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel("月台监测-任务类型项")
|
||||
public class TaskTypeCountItemVO {
|
||||
|
||||
@ApiModelProperty("任务类型")
|
||||
private String type;
|
||||
|
||||
@ApiModelProperty("任务数量")
|
||||
private Integer count;
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.platform;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel("月台监测-任务类型统计")
|
||||
public class TaskTypeStatisticsVO {
|
||||
|
||||
@ApiModelProperty("本月任务总量,单位:个")
|
||||
private Integer totalTasks;
|
||||
|
||||
@ApiModelProperty("各类型任务")
|
||||
private List<TaskTypeCountItemVO> taskTypes;
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.platform;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel("月台监测-作业车辆状态汇总")
|
||||
public class VehicleStatusVO {
|
||||
|
||||
@ApiModelProperty("今日预约车辆,单位:辆")
|
||||
private Integer todayReservedVehicles;
|
||||
|
||||
@ApiModelProperty("当前未签到,单位:辆")
|
||||
private Integer notCheckedIn;
|
||||
|
||||
@ApiModelProperty("当前作业中,单位:辆")
|
||||
private Integer operatingVehicles;
|
||||
|
||||
@ApiModelProperty("作业完成,单位:辆")
|
||||
private Integer completedVehicles;
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.mhd.bi.domain.biComprehensive.repository.mapper.BiComprehensiveReportMapper">
|
||||
|
||||
<select id="selectLatestPayloadJson" resultType="java.lang.String">
|
||||
select PAYLOAD_JSON
|
||||
from BI_COMPREHENSIVE_SNAPSHOT
|
||||
order by UPDATE_TIME desc, ID desc
|
||||
limit 1
|
||||
</select>
|
||||
</mapper>
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.mhd.bi.domain.biPlatformSurveillance.repository.mapper.BiPlatformSurveillanceReportMapper">
|
||||
|
||||
<select id="selectLatestPayloadJson" resultType="java.lang.String">
|
||||
select PAYLOAD_JSON
|
||||
from BI_PLATFORM_SURVEILLANCE_SNAPSHOT
|
||||
order by UPDATE_TIME desc, ID desc
|
||||
limit 1
|
||||
</select>
|
||||
</mapper>
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.mhd.bi.domain.biWarehouseTransport.repository.mapper.BiWarehouseTransportReportMapper">
|
||||
|
||||
<select id="selectLatestPayloadJson" resultType="java.lang.String">
|
||||
select PAYLOAD_JSON
|
||||
from BI_WAREHOUSE_TRANSPORT_SNAPSHOT
|
||||
order by UPDATE_TIME desc, ID desc
|
||||
limit 1
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user