BI运输运营专区接口查询
This commit is contained in:
+43
-3
@@ -6,6 +6,7 @@ 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.overall.*;
|
||||
import com.mhd.bi.interfaces.facadeApi.biReport.vo.platform.*;
|
||||
import com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone.*;
|
||||
import com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone.*;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -161,9 +162,48 @@ public final class BiReportSnapshotMapperSupport {
|
||||
.utilizationRate(WhRealTimeGaugeVO.builder().value("").comparison("").trend("").build())
|
||||
.rentalRate(WhRealTimeGaugeVO.builder().value("").comparison("").trend("").build())
|
||||
.build())
|
||||
.mapPopup(WhMapPopupVO.builder()
|
||||
.warehouseName("").totalArea("").totalSku(0).todayOrders(0)
|
||||
.utilizationRate("").rentalRate("").build())
|
||||
.map(WhWarehouseMapVO.builder()
|
||||
.legend("")
|
||||
.nodes(Collections.emptyList())
|
||||
.build())
|
||||
.build();
|
||||
}
|
||||
|
||||
public static TransportOperationZoneVO emptyTransportOperationZone() {
|
||||
TrCapacityCountVO emptyCount = TrCapacityCountVO.builder()
|
||||
.total(0).todayNew(0).yesterdayNew(0).build();
|
||||
return TransportOperationZoneVO.builder()
|
||||
.updateTime("")
|
||||
.dashboardTitle("")
|
||||
.activeTab("")
|
||||
.orderStatistics(TrOrderStatisticsVO.builder().title("").total(0L).trend("").build())
|
||||
.transportStats(TrTransportStatsVO.builder()
|
||||
.title("").tripCount(0).volume(0d).volumeUnit("").build())
|
||||
.orderTypeChart(TrOrderTypeChartVO.builder()
|
||||
.title("").type("").data(Collections.emptyList()).build())
|
||||
.tripCountTrend(TrTypedChartVO.builder()
|
||||
.title("").type("").unit(null).data(Collections.emptyList()).build())
|
||||
.orderTrend(TrTypedChartVO.builder()
|
||||
.title("").type("").unit("").data(Collections.emptyList()).build())
|
||||
.volumeTrend(TrTypedChartVO.builder()
|
||||
.title("").type("").unit("").data(Collections.emptyList()).build())
|
||||
.map(TrVehicleMapVO.builder()
|
||||
.title("")
|
||||
.legend(TrMapLegendVO.builder().idle(0).working(0).build())
|
||||
.nodes(Collections.emptyList())
|
||||
.build())
|
||||
.enterpriseOperation(TrEnterpriseOperationVO.builder()
|
||||
.title("").columns(Collections.emptyList()).list(Collections.emptyList()).build())
|
||||
.capacityStatus(TrCapacityStatusVO.builder()
|
||||
.title("").staff(emptyCount).vehicles(emptyCount).build())
|
||||
.cargoCategory(TrCargoCategoryVO.builder()
|
||||
.title("").totalOrders("").data(Collections.emptyList()).build())
|
||||
.onTimeRate(TrTypedChartVO.builder()
|
||||
.title("").type("").unit("").data(Collections.emptyList()).build())
|
||||
.vehicleUtilization(TrBarChartVO.builder()
|
||||
.title("").unit("").data(Collections.emptyList()).build())
|
||||
.transportSummary(TrTransportSummaryVO.builder()
|
||||
.title("").safeMileage("").avgDeliveryTime("").build())
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
+2
@@ -16,4 +16,6 @@ public interface BiSnapshotWriteMapper {
|
||||
int insertOverallOperationSnapshot(@Param("payloadJson") String payloadJson, @Param("remark") String remark);
|
||||
|
||||
int insertWarehouseOperationZoneSnapshot(@Param("payloadJson") String payloadJson, @Param("remark") String remark);
|
||||
|
||||
int insertTransportOperationZoneSnapshot(@Param("payloadJson") String payloadJson, @Param("remark") String remark);
|
||||
}
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* 定时将业务快照写入 BI_COMPREHENSIVE_SNAPSHOT / BI_WAREHOUSE_TRANSPORT_SNAPSHOT / BI_PLATFORM_SURVEILLANCE_SNAPSHOT / BI_OVERALL_OPERATION_SNAPSHOT / BI_WAREHOUSE_OPERATION_ZONE_SNAPSHOT。
|
||||
* 定时将业务快照写入 BI_COMPREHENSIVE_SNAPSHOT / BI_WAREHOUSE_TRANSPORT_SNAPSHOT / BI_PLATFORM_SURVEILLANCE_SNAPSHOT / BI_OVERALL_OPERATION_SNAPSHOT / BI_WAREHOUSE_OPERATION_ZONE_SNAPSHOT / BI_TRANSPORT_OPERATION_ZONE_SNAPSHOT。
|
||||
* <p>默认关闭,需在配置中设置 {@code mhd.bi.snapshot-sync.enabled=true}。</p>
|
||||
*/
|
||||
@Slf4j
|
||||
|
||||
+25
-1
@@ -3,11 +3,13 @@ package com.mhd.bi.domain.biSnapshotSync.service;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.mhd.bi.domain.biSnapshotSync.repository.mapper.BiSnapshotWriteMapper;
|
||||
import com.mhd.bi.domain.biSnapshotSync.support.BiSnapshotWeeklyRandomDataBuilder;
|
||||
import com.mhd.bi.domain.biTransportOperationZone.support.TransportOperationZoneDemoData;
|
||||
import com.mhd.bi.domain.biWarehouseOperationZone.support.WarehouseOperationZoneDemoData;
|
||||
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.overall.OverallOperationSituationVO;
|
||||
import com.mhd.bi.interfaces.facadeApi.biReport.vo.platform.PlatformSurveillanceVO;
|
||||
import com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone.TransportOperationZoneVO;
|
||||
import com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone.WarehouseOperationZoneVO;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -16,7 +18,7 @@ import org.springframework.stereotype.Service;
|
||||
import java.util.Random;
|
||||
|
||||
/**
|
||||
* BI 快照表定时同步(综合态势 / 仓储运输 / 月台监测 / 总体运营态势 / 仓储运营专区)。
|
||||
* BI 快照表定时同步(综合态势 / 仓储运输 / 月台监测 / 总体运营态势 / 仓储运营专区 / 运输运营专区)。
|
||||
* <p><b>当前(临时)</b>:{@code build*} 使用 {@link BiSnapshotWeeklyRandomDataBuilder},每次执行使用新的 {@link Random},
|
||||
* 故<b>同一天多次手动触发、以及每次定时任务执行</b>,生成的模拟数据均<b>不相同</b>(仍在基准 ±20% 内)。</p>
|
||||
* <p><b>后续改造</b>:在各 {@code build*} 中改为查库/Feign 聚合真实业务并组装 VO。</p>
|
||||
@@ -40,6 +42,7 @@ public class BiReportSnapshotSyncService {
|
||||
syncPlatformSurveillanceSnapshot();
|
||||
syncOverallOperationSnapshot();
|
||||
syncWarehouseOperationZoneSnapshot();
|
||||
syncTransportOperationZoneSnapshot();
|
||||
}
|
||||
|
||||
public void syncComprehensiveSnapshot() {
|
||||
@@ -142,4 +145,25 @@ public class BiReportSnapshotSyncService {
|
||||
protected WarehouseOperationZoneVO buildWarehouseOperationZoneSnapshot() {
|
||||
return WarehouseOperationZoneDemoData.build();
|
||||
}
|
||||
|
||||
public void syncTransportOperationZoneSnapshot() {
|
||||
try {
|
||||
TransportOperationZoneVO vo = buildTransportOperationZoneSnapshot();
|
||||
String json = objectMapper.writeValueAsString(vo);
|
||||
int rows = biSnapshotWriteMapper.insertTransportOperationZoneSnapshot(json, REMARK_SYNC);
|
||||
if (rows < 1) {
|
||||
log.warn("BI 运输运营专区快照 INSERT 影响行数为 {},请确认 NGWL_TEST_BI.BI_TRANSPORT_OPERATION_ZONE_SNAPSHOT", rows);
|
||||
}
|
||||
log.info("BI 运输运营专区快照已写入, affectedRows={}", rows);
|
||||
} catch (Exception e) {
|
||||
log.error("BI 运输运营专区快照同步失败", e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO 业务落地:改为查询真实数据组装 VO。当前为 {@link TransportOperationZoneDemoData} 静态示例。
|
||||
*/
|
||||
protected TransportOperationZoneVO buildTransportOperationZoneSnapshot() {
|
||||
return TransportOperationZoneDemoData.build();
|
||||
}
|
||||
}
|
||||
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
package com.mhd.bi.domain.biTransportOperationZone.repository.mapper;
|
||||
|
||||
import com.mhd.bi.domain.biReport.support.BiReportSnapshotMapperSupport;
|
||||
import com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone.TransportOperationZoneVO;
|
||||
|
||||
/**
|
||||
* 运输运营专区:取 NGWL_TEST_BI.BI_TRANSPORT_OPERATION_ZONE_SNAPSHOT 最新 PAYLOAD_JSON 并解析。
|
||||
*/
|
||||
public interface BiTransportOperationZoneReportMapper {
|
||||
|
||||
String selectLatestPayloadJson();
|
||||
|
||||
default TransportOperationZoneVO loadLatestTransportOperationZone() {
|
||||
return BiReportSnapshotMapperSupport.parsePayload(
|
||||
selectLatestPayloadJson(),
|
||||
TransportOperationZoneVO.class,
|
||||
BiReportSnapshotMapperSupport::emptyTransportOperationZone,
|
||||
"运输运营专区");
|
||||
}
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
package com.mhd.bi.domain.biTransportOperationZone.service;
|
||||
|
||||
import com.mhd.bi.domain.biTransportOperationZone.repository.mapper.BiTransportOperationZoneReportMapper;
|
||||
import com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone.TransportOperationZoneVO;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* 南光物流业务经营分析 · 运输运营专区
|
||||
*/
|
||||
@Service
|
||||
public class BiTransportOperationZoneReportService {
|
||||
|
||||
@Resource
|
||||
private BiTransportOperationZoneReportMapper biTransportOperationZoneReportMapper;
|
||||
|
||||
public TransportOperationZoneVO loadLatestTransportOperationZone() {
|
||||
return biTransportOperationZoneReportMapper.loadLatestTransportOperationZone();
|
||||
}
|
||||
}
|
||||
+164
@@ -0,0 +1,164 @@
|
||||
package com.mhd.bi.domain.biTransportOperationZone.support;
|
||||
|
||||
import com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone.*;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 运输运营专区快照演示数据(对齐大屏示例 JSON;后续可改为真实聚合)。
|
||||
*/
|
||||
public final class TransportOperationZoneDemoData {
|
||||
|
||||
private static final DateTimeFormatter UPDATE_TIME_FMT = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
|
||||
private TransportOperationZoneDemoData() {
|
||||
}
|
||||
|
||||
public static TransportOperationZoneVO build() {
|
||||
List<TrOrderTypeMonthItemVO> orderTypeData = Arrays.asList(
|
||||
TrOrderTypeMonthItemVO.builder().month("1月").crossBorder(30).domestic(25).build(),
|
||||
TrOrderTypeMonthItemVO.builder().month("2月").crossBorder(40).domestic(35).build(),
|
||||
TrOrderTypeMonthItemVO.builder().month("3月").crossBorder(20).domestic(30).build(),
|
||||
TrOrderTypeMonthItemVO.builder().month("4月").crossBorder(35).domestic(40).build(),
|
||||
TrOrderTypeMonthItemVO.builder().month("5月").crossBorder(50).domestic(45).build(),
|
||||
TrOrderTypeMonthItemVO.builder().month("6月").crossBorder(60).domestic(55).build(),
|
||||
TrOrderTypeMonthItemVO.builder().month("7月").crossBorder(70).domestic(65).build()
|
||||
);
|
||||
|
||||
List<TrMonthValuePointVO> tripTrend = Arrays.asList(
|
||||
point("1月", 120), point("2月", 150), point("3月", 220),
|
||||
point("4月", 100), point("5月", 140), point("6月", 180)
|
||||
);
|
||||
|
||||
List<TrMonthValuePointVO> orderTrend = Arrays.asList(
|
||||
point("1月", 100), point("2月", 140), point("3月", 230),
|
||||
point("4月", 100), point("5月", 140), point("6月", 190)
|
||||
);
|
||||
|
||||
List<TrMonthValuePointVO> volumeTrend = Arrays.asList(
|
||||
point("1月", 95), point("2月", 90), point("3月", 80),
|
||||
point("4月", 65), point("5月", 92), point("6月", 88)
|
||||
);
|
||||
|
||||
List<TrMonthValuePointVO> onTimeRate = Arrays.asList(
|
||||
point("1月", 98), point("2月", 96), point("3月", 85),
|
||||
point("4月", 70), point("5月", 92), point("6月", 90)
|
||||
);
|
||||
|
||||
List<TrMonthValuePointVO> vehicleUtil = Arrays.asList(
|
||||
point("1月", 600), point("2月", 460), point("3月", 390),
|
||||
point("4月", 470), point("5月", 450), point("6月", 620)
|
||||
);
|
||||
|
||||
List<TrEnterpriseRowVO> enterpriseList = Arrays.asList(
|
||||
row("NO.1", "供应商A", "268.25万", "2400单", 95),
|
||||
row("NO.2", "供应商B", "258.15万", "1800单", 98),
|
||||
row("NO.3", "供应商C", "242.32万", "1200单", 13),
|
||||
row("NO.4", "供应商D", "231.54万", "800单", 12),
|
||||
row("NO.5", "供应商E", "220.90万", "567单", 15)
|
||||
);
|
||||
|
||||
List<TrCargoCategoryItemVO> cargoItems = Arrays.asList(
|
||||
TrCargoCategoryItemVO.builder().name("危化").value(25).color("green").build(),
|
||||
TrCargoCategoryItemVO.builder().name("普货").value(25).color("blue").build(),
|
||||
TrCargoCategoryItemVO.builder().name("冻品").value(50).color("orange").build()
|
||||
);
|
||||
|
||||
TrMapNodeVO mapNode = TrMapNodeVO.builder()
|
||||
.id(1L)
|
||||
.name("通宇作业车辆")
|
||||
.location(Arrays.asList(113.55, 22.25))
|
||||
.status("working")
|
||||
.detail(TrMapNodeDetailVO.builder()
|
||||
.title("作业详情")
|
||||
.licensePlate("粤A88888")
|
||||
.businessUnit("通宇")
|
||||
.loadingPlace("珠海")
|
||||
.destination("澳门")
|
||||
.currentLocation("珠海市")
|
||||
.updateTime("2026年4月15日 17:52")
|
||||
.build())
|
||||
.build();
|
||||
|
||||
return TransportOperationZoneVO.builder()
|
||||
.updateTime(LocalDateTime.now().format(UPDATE_TIME_FMT))
|
||||
.dashboardTitle("南光物流业务经营分析")
|
||||
.activeTab("运输运营专区")
|
||||
.orderStatistics(TrOrderStatisticsVO.builder()
|
||||
.title("订单统计")
|
||||
.total(4361L)
|
||||
.trend("+12.5%")
|
||||
.build())
|
||||
.transportStats(TrTransportStatsVO.builder()
|
||||
.title("运输统计")
|
||||
.tripCount(240)
|
||||
.volume(2.6)
|
||||
.volumeUnit("万吨")
|
||||
.build())
|
||||
.orderTypeChart(TrOrderTypeChartVO.builder()
|
||||
.title("订单类型")
|
||||
.type("area")
|
||||
.data(orderTypeData)
|
||||
.build())
|
||||
.tripCountTrend(chart("车次趋势", "line", null, tripTrend))
|
||||
.orderTrend(chart("订单趋势", "area", "单", orderTrend))
|
||||
.volumeTrend(chart("货量趋势", "area", "%", volumeTrend))
|
||||
.map(TrVehicleMapVO.builder()
|
||||
.title("车辆实时监控")
|
||||
.legend(TrMapLegendVO.builder().idle(80).working(200).build())
|
||||
.nodes(Collections.singletonList(mapNode))
|
||||
.build())
|
||||
.enterpriseOperation(TrEnterpriseOperationVO.builder()
|
||||
.title("企业运营")
|
||||
.columns(Arrays.asList("序号", "企业名称", "货运量", "处理单量", "准时配送率"))
|
||||
.list(enterpriseList)
|
||||
.build())
|
||||
.capacityStatus(TrCapacityStatusVO.builder()
|
||||
.title("运力情况")
|
||||
.staff(capacityCount(718, 0, 0))
|
||||
.vehicles(capacityCount(507, 0, 0))
|
||||
.build())
|
||||
.cargoCategory(TrCargoCategoryVO.builder()
|
||||
.title("货物品类")
|
||||
.totalOrders("1000单")
|
||||
.data(cargoItems)
|
||||
.build())
|
||||
.onTimeRate(chart("准时配送率", "line", "%", onTimeRate))
|
||||
.vehicleUtilization(TrBarChartVO.builder()
|
||||
.title("出车利用率")
|
||||
.unit("车次/辆")
|
||||
.data(vehicleUtil)
|
||||
.build())
|
||||
.transportSummary(TrTransportSummaryVO.builder()
|
||||
.title("运输统计")
|
||||
.safeMileage("240万公里")
|
||||
.avgDeliveryTime("平均4小时送达")
|
||||
.build())
|
||||
.build();
|
||||
}
|
||||
|
||||
private static TrMonthValuePointVO point(String month, int value) {
|
||||
return TrMonthValuePointVO.builder().month(month).value(value).build();
|
||||
}
|
||||
|
||||
private static TrTypedChartVO chart(String title, String type, String unit, List<TrMonthValuePointVO> data) {
|
||||
return TrTypedChartVO.builder().title(title).type(type).unit(unit).data(data).build();
|
||||
}
|
||||
|
||||
private static TrCapacityCountVO capacityCount(int total, int todayNew, int yesterdayNew) {
|
||||
return TrCapacityCountVO.builder()
|
||||
.total(total).todayNew(todayNew).yesterdayNew(yesterdayNew).build();
|
||||
}
|
||||
|
||||
private static TrEnterpriseRowVO row(String rank, String name, String volume,
|
||||
String processedOrders, int onTimeRate) {
|
||||
return TrEnterpriseRowVO.builder()
|
||||
.rank(rank).name(name).volume(volume)
|
||||
.processedOrders(processedOrders).onTimeRate(onTimeRate)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
+32
-7
@@ -126,13 +126,38 @@ public final class WarehouseOperationZoneDemoData {
|
||||
.trend("up")
|
||||
.build())
|
||||
.build())
|
||||
.mapPopup(WhMapPopupVO.builder()
|
||||
.warehouseName("通宇保税仓")
|
||||
.totalArea("2000m2")
|
||||
.totalSku(668)
|
||||
.todayOrders(237)
|
||||
.utilizationRate("85%")
|
||||
.rentalRate("37.1%")
|
||||
.map(WhWarehouseMapVO.builder()
|
||||
.legend("仓库")
|
||||
.nodes(Arrays.asList(
|
||||
mapNode(1L, "君华仓", 113.52, 22.30,
|
||||
"君华保税仓", "12000m²", 520, 2400, "82%", "36.5%"),
|
||||
mapNode(2L, "通宇仓", 113.55, 22.25,
|
||||
"通宇保税仓", "2000m²", 668, 237, "85%", "37.1%"),
|
||||
mapNode(3L, "横琴仓", 113.54, 22.12,
|
||||
"横琴保税仓", "3500m²", 445, 1200, "78%", "42.0%"),
|
||||
mapNode(4L, "新南仓", 113.58, 22.20,
|
||||
"新南保税仓", "2800m²", 390, 800, "80%", "35.8%"),
|
||||
mapNode(5L, "谷丰仓", 113.48, 22.22,
|
||||
"谷丰保税仓", "4500m²", 512, 567, "76%", "33.2%")
|
||||
))
|
||||
.build())
|
||||
.build();
|
||||
}
|
||||
|
||||
private static WhMapNodeVO mapNode(long id, String name, double lng, double lat,
|
||||
String warehouseName, String totalArea, int totalSku,
|
||||
int todayOrders, String utilizationRate, String rentalRate) {
|
||||
return WhMapNodeVO.builder()
|
||||
.id(id)
|
||||
.name(name)
|
||||
.location(Arrays.asList(lng, lat))
|
||||
.detail(WhMapPopupVO.builder()
|
||||
.warehouseName(warehouseName)
|
||||
.totalArea(totalArea)
|
||||
.totalSku(totalSku)
|
||||
.todayOrders(todayOrders)
|
||||
.utilizationRate(utilizationRate)
|
||||
.rentalRate(rentalRate)
|
||||
.build())
|
||||
.build();
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.mhd.bi.domain.biSnapshotSync.service.BiReportSnapshotSyncService;
|
||||
import com.mhd.bi.domain.biComprehensive.service.BiComprehensiveReportService;
|
||||
import com.mhd.bi.domain.biPlatformSurveillance.service.BiPlatformSurveillanceReportService;
|
||||
import com.mhd.bi.domain.biOverallOperation.service.BiOverallOperationReportService;
|
||||
import com.mhd.bi.domain.biTransportOperationZone.service.BiTransportOperationZoneReportService;
|
||||
import com.mhd.bi.domain.biWarehouseOperationZone.service.BiWarehouseOperationZoneReportService;
|
||||
import com.mhd.bi.domain.biWarehouseTransport.service.BiWarehouseTransportReportService;
|
||||
import com.mhd.bi.interfaces.facadeApi.biReport.dto.BiApiResult;
|
||||
@@ -11,6 +12,7 @@ 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.overall.OverallOperationSituationVO;
|
||||
import com.mhd.bi.interfaces.facadeApi.biReport.vo.platform.PlatformSurveillanceVO;
|
||||
import com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone.TransportOperationZoneVO;
|
||||
import com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone.WarehouseOperationZoneVO;
|
||||
import com.mhd.common.core.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
@@ -48,11 +50,14 @@ public class BiReportApi extends BaseController {
|
||||
@Autowired
|
||||
private BiWarehouseOperationZoneReportService biWarehouseOperationZoneReportService;
|
||||
|
||||
@Autowired
|
||||
private BiTransportOperationZoneReportService biTransportOperationZoneReportService;
|
||||
|
||||
@Autowired
|
||||
private BiReportSnapshotSyncService biReportSnapshotSyncService;
|
||||
|
||||
|
||||
@ApiOperation(value = "手动触发快照同步", notes = "立即写入各 BI 快照表(综合、仓储运输、月台监测、总体运营、仓储运营专区);须带 X-BI-Access-Token")
|
||||
@ApiOperation(value = "手动触发快照同步", notes = "立即写入各 BI 快照表(综合、仓储运输、月台监测、总体运营、仓储运营专区、运输运营专区);须带 X-BI-Access-Token")
|
||||
@PostMapping("/snapshotSync/run")
|
||||
public BiApiResult<Void> runSnapshotSyncOnce() {
|
||||
biReportSnapshotSyncService.syncAllSnapshots();
|
||||
@@ -88,7 +93,7 @@ public class BiReportApi extends BaseController {
|
||||
PlatformSurveillanceVO data = biPlatformSurveillanceReportService.loadLatestPlatformSurveillance();
|
||||
return BiApiResult.ok(data);
|
||||
}
|
||||
|
||||
//园区物流大屏接口----------------------------------------------------------------------
|
||||
/**
|
||||
* 总体运营态势
|
||||
*/
|
||||
@@ -108,4 +113,14 @@ public class BiReportApi extends BaseController {
|
||||
WarehouseOperationZoneVO data = biWarehouseOperationZoneReportService.loadLatestWarehouseOperationZone();
|
||||
return BiApiResult.ok(data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 运输运营专区(大屏「运输运营专区」Tab)
|
||||
*/
|
||||
@ApiOperation(value = "运输运营专区查询", notes = "返回 DEL_FLAG=1 且 CREATE_TIME 最新的一条整包 JSON 解析结果")
|
||||
@GetMapping("/transportOperationZone")
|
||||
public BiApiResult<TransportOperationZoneVO> transportOperationZone() {
|
||||
TransportOperationZoneVO data = biTransportOperationZoneReportService.loadLatestTransportOperationZone();
|
||||
return BiApiResult.ok(data);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ public class BiApiResult<T> {
|
||||
|
||||
private int code = 200;
|
||||
|
||||
private String msg = "操作成功";
|
||||
private String message = "操作成功";
|
||||
|
||||
private T data;
|
||||
|
||||
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone;
|
||||
|
||||
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("BI-运输运营专区-柱状图")
|
||||
public class TrBarChartVO {
|
||||
|
||||
@ApiModelProperty("标题")
|
||||
private String title;
|
||||
|
||||
@ApiModelProperty("单位")
|
||||
private String unit;
|
||||
|
||||
@ApiModelProperty("数据")
|
||||
private List<TrMonthValuePointVO> data;
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
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("BI-运输运营专区-运力计数")
|
||||
public class TrCapacityCountVO {
|
||||
|
||||
@ApiModelProperty("总数")
|
||||
private Integer total;
|
||||
|
||||
@JsonProperty("today_new")
|
||||
@ApiModelProperty("今日新增")
|
||||
private Integer todayNew;
|
||||
|
||||
@JsonProperty("yesterday_new")
|
||||
@ApiModelProperty("昨日新增")
|
||||
private Integer yesterdayNew;
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
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("BI-运输运营专区-运力情况")
|
||||
public class TrCapacityStatusVO {
|
||||
|
||||
@ApiModelProperty("标题")
|
||||
private String title;
|
||||
|
||||
@ApiModelProperty("承运人")
|
||||
private TrCapacityCountVO staff;
|
||||
|
||||
@ApiModelProperty("车辆")
|
||||
private TrCapacityCountVO vehicles;
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone;
|
||||
|
||||
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("BI-运输运营专区-货物品类项")
|
||||
public class TrCargoCategoryItemVO {
|
||||
|
||||
@ApiModelProperty("品类名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("占比")
|
||||
private Integer value;
|
||||
|
||||
@ApiModelProperty("颜色标识")
|
||||
private String color;
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
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("BI-运输运营专区-货物品类")
|
||||
public class TrCargoCategoryVO {
|
||||
|
||||
@ApiModelProperty("标题")
|
||||
private String title;
|
||||
|
||||
@JsonProperty("total_orders")
|
||||
@ApiModelProperty("订单总量展示")
|
||||
private String totalOrders;
|
||||
|
||||
@ApiModelProperty("品类数据")
|
||||
private List<TrCargoCategoryItemVO> data;
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone;
|
||||
|
||||
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("BI-运输运营专区-企业运营")
|
||||
public class TrEnterpriseOperationVO {
|
||||
|
||||
@ApiModelProperty("标题")
|
||||
private String title;
|
||||
|
||||
@ApiModelProperty("表头")
|
||||
private List<String> columns;
|
||||
|
||||
@ApiModelProperty("列表")
|
||||
private List<TrEnterpriseRowVO> list;
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
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("BI-运输运营专区-企业运营行")
|
||||
public class TrEnterpriseRowVO {
|
||||
|
||||
@ApiModelProperty("排名")
|
||||
private String rank;
|
||||
|
||||
@ApiModelProperty("企业名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("货运量")
|
||||
private String volume;
|
||||
|
||||
@JsonProperty("processed_orders")
|
||||
@ApiModelProperty("处理单量")
|
||||
private String processedOrders;
|
||||
|
||||
@JsonProperty("on_time_rate")
|
||||
@ApiModelProperty("准时配送率")
|
||||
private Integer onTimeRate;
|
||||
}
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone;
|
||||
|
||||
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("BI-运输运营专区-地图图例")
|
||||
public class TrMapLegendVO {
|
||||
|
||||
@ApiModelProperty("空闲车辆数")
|
||||
private Integer idle;
|
||||
|
||||
@ApiModelProperty("作业车辆数")
|
||||
private Integer working;
|
||||
}
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
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("BI-运输运营专区-地图节点详情")
|
||||
public class TrMapNodeDetailVO {
|
||||
|
||||
@ApiModelProperty("标题")
|
||||
private String title;
|
||||
|
||||
@JsonProperty("license_plate")
|
||||
@ApiModelProperty("车牌")
|
||||
private String licensePlate;
|
||||
|
||||
@JsonProperty("business_unit")
|
||||
@ApiModelProperty("经营单位")
|
||||
private String businessUnit;
|
||||
|
||||
@JsonProperty("loading_place")
|
||||
@ApiModelProperty("装货地")
|
||||
private String loadingPlace;
|
||||
|
||||
@ApiModelProperty("目的地")
|
||||
private String destination;
|
||||
|
||||
@JsonProperty("current_location")
|
||||
@ApiModelProperty("当前位置")
|
||||
private String currentLocation;
|
||||
|
||||
@JsonProperty("update_time")
|
||||
@ApiModelProperty("更新时间")
|
||||
private String updateTime;
|
||||
}
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone;
|
||||
|
||||
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("BI-运输运营专区-地图节点")
|
||||
public class TrMapNodeVO {
|
||||
|
||||
@ApiModelProperty("节点ID")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("坐标 [经度, 纬度]")
|
||||
private List<Double> location;
|
||||
|
||||
@ApiModelProperty("状态:idle / working")
|
||||
private String status;
|
||||
|
||||
@ApiModelProperty("详情")
|
||||
private TrMapNodeDetailVO detail;
|
||||
}
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone;
|
||||
|
||||
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("BI-运输运营专区-月度数值点")
|
||||
public class TrMonthValuePointVO {
|
||||
|
||||
@ApiModelProperty("月份")
|
||||
private String month;
|
||||
|
||||
@ApiModelProperty("数值")
|
||||
private Integer value;
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone;
|
||||
|
||||
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("BI-运输运营专区-订单统计")
|
||||
public class TrOrderStatisticsVO {
|
||||
|
||||
@ApiModelProperty("标题")
|
||||
private String title;
|
||||
|
||||
@ApiModelProperty("订单总数")
|
||||
private Long total;
|
||||
|
||||
@ApiModelProperty("环比增长率")
|
||||
private String trend;
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
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("BI-运输运营专区-订单类型图")
|
||||
public class TrOrderTypeChartVO {
|
||||
|
||||
@ApiModelProperty("标题")
|
||||
private String title;
|
||||
|
||||
@ApiModelProperty("图表类型")
|
||||
private String type;
|
||||
|
||||
@ApiModelProperty("数据")
|
||||
private List<TrOrderTypeMonthItemVO> data;
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
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("BI-运输运营专区-订单类型月度项")
|
||||
public class TrOrderTypeMonthItemVO {
|
||||
|
||||
@ApiModelProperty("月份")
|
||||
private String month;
|
||||
|
||||
@JsonProperty("cross_border")
|
||||
@ApiModelProperty("跨境")
|
||||
private Integer crossBorder;
|
||||
|
||||
@ApiModelProperty("国内")
|
||||
private Integer domestic;
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
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("BI-运输运营专区-运输统计")
|
||||
public class TrTransportStatsVO {
|
||||
|
||||
@ApiModelProperty("标题")
|
||||
private String title;
|
||||
|
||||
@JsonProperty("trip_count")
|
||||
@ApiModelProperty("运输车次")
|
||||
private Integer tripCount;
|
||||
|
||||
@ApiModelProperty("运输货量")
|
||||
private Double volume;
|
||||
|
||||
@JsonProperty("volume_unit")
|
||||
@ApiModelProperty("货量单位")
|
||||
private String volumeUnit;
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
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("BI-运输运营专区-运输统计总结")
|
||||
public class TrTransportSummaryVO {
|
||||
|
||||
@ApiModelProperty("标题")
|
||||
private String title;
|
||||
|
||||
@JsonProperty("safe_mileage")
|
||||
@ApiModelProperty("安全里程")
|
||||
private String safeMileage;
|
||||
|
||||
@JsonProperty("avg_delivery_time")
|
||||
@ApiModelProperty("平均送达时间")
|
||||
private String avgDeliveryTime;
|
||||
}
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone;
|
||||
|
||||
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("BI-运输运营专区-带类型图表")
|
||||
public class TrTypedChartVO {
|
||||
|
||||
@ApiModelProperty("标题")
|
||||
private String title;
|
||||
|
||||
@ApiModelProperty("图表类型")
|
||||
private String type;
|
||||
|
||||
@ApiModelProperty("单位")
|
||||
private String unit;
|
||||
|
||||
@ApiModelProperty("数据")
|
||||
private List<TrMonthValuePointVO> data;
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone;
|
||||
|
||||
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("BI-运输运营专区-车辆实时监控地图")
|
||||
public class TrVehicleMapVO {
|
||||
|
||||
@ApiModelProperty("标题")
|
||||
private String title;
|
||||
|
||||
@ApiModelProperty("图例")
|
||||
private TrMapLegendVO legend;
|
||||
|
||||
@ApiModelProperty("节点")
|
||||
private List<TrMapNodeVO> nodes;
|
||||
}
|
||||
+80
@@ -0,0 +1,80 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.transportZone;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 南光物流业务经营分析 · 运输运营专区(整包 data 与快照 PAYLOAD_JSON 一致)
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel("BI-运输运营专区")
|
||||
public class TransportOperationZoneVO {
|
||||
|
||||
@ApiModelProperty("数据更新时间")
|
||||
private String updateTime;
|
||||
|
||||
@ApiModelProperty("大屏标题")
|
||||
private String dashboardTitle;
|
||||
|
||||
@ApiModelProperty("当前 Tab")
|
||||
private String activeTab;
|
||||
|
||||
@JsonProperty("order_statistics")
|
||||
@ApiModelProperty("订单统计")
|
||||
private TrOrderStatisticsVO orderStatistics;
|
||||
|
||||
@JsonProperty("transport_stats")
|
||||
@ApiModelProperty("运输统计")
|
||||
private TrTransportStatsVO transportStats;
|
||||
|
||||
@JsonProperty("order_type_chart")
|
||||
@ApiModelProperty("订单类型面积图")
|
||||
private TrOrderTypeChartVO orderTypeChart;
|
||||
|
||||
@JsonProperty("trip_count_trend")
|
||||
@ApiModelProperty("车次趋势折线图")
|
||||
private TrTypedChartVO tripCountTrend;
|
||||
|
||||
@JsonProperty("order_trend")
|
||||
@ApiModelProperty("订单趋势面积图")
|
||||
private TrTypedChartVO orderTrend;
|
||||
|
||||
@JsonProperty("volume_trend")
|
||||
@ApiModelProperty("货量趋势面积图")
|
||||
private TrTypedChartVO volumeTrend;
|
||||
|
||||
@ApiModelProperty("车辆实时监控地图")
|
||||
private TrVehicleMapVO map;
|
||||
|
||||
@JsonProperty("enterprise_operation")
|
||||
@ApiModelProperty("企业运营表格")
|
||||
private TrEnterpriseOperationVO enterpriseOperation;
|
||||
|
||||
@JsonProperty("capacity_status")
|
||||
@ApiModelProperty("运力情况")
|
||||
private TrCapacityStatusVO capacityStatus;
|
||||
|
||||
@JsonProperty("cargo_category")
|
||||
@ApiModelProperty("货物品类环形图")
|
||||
private TrCargoCategoryVO cargoCategory;
|
||||
|
||||
@JsonProperty("on_time_rate")
|
||||
@ApiModelProperty("准时配送率折线图")
|
||||
private TrTypedChartVO onTimeRate;
|
||||
|
||||
@JsonProperty("vehicle_utilization")
|
||||
@ApiModelProperty("出车利用率柱状图")
|
||||
private TrBarChartVO vehicleUtilization;
|
||||
|
||||
@JsonProperty("transport_summary")
|
||||
@ApiModelProperty("运输统计总结")
|
||||
private TrTransportSummaryVO transportSummary;
|
||||
}
|
||||
+2
-3
@@ -68,7 +68,6 @@ public class WarehouseOperationZoneVO {
|
||||
@ApiModelProperty("实时分析")
|
||||
private WhRealTimeAnalysisVO realTimeAnalysis;
|
||||
|
||||
@JsonProperty("map_popup")
|
||||
@ApiModelProperty("地图弹窗示例数据")
|
||||
private WhMapPopupVO mapPopup;
|
||||
@ApiModelProperty("中间地图仓库点位(nodes 为标注数组)")
|
||||
private WhWarehouseMapVO map;
|
||||
}
|
||||
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone;
|
||||
|
||||
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("BI-仓储运营专区-地图点位")
|
||||
public class WhMapNodeVO {
|
||||
|
||||
@ApiModelProperty("点位ID")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("地图标注名称(短名)")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("坐标 [经度, 纬度]")
|
||||
private List<Double> location;
|
||||
|
||||
@ApiModelProperty("弹窗详情")
|
||||
private WhMapPopupVO detail;
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
package com.mhd.bi.interfaces.facadeApi.biReport.vo.warehouseZone;
|
||||
|
||||
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("BI-仓储运营专区-地图")
|
||||
public class WhWarehouseMapVO {
|
||||
|
||||
@ApiModelProperty("图例说明")
|
||||
private String legend;
|
||||
|
||||
@ApiModelProperty("仓库点位列表")
|
||||
private List<WhMapNodeVO> nodes;
|
||||
}
|
||||
@@ -27,4 +27,9 @@
|
||||
insert into NGWL_TEST_BI.BI_WAREHOUSE_OPERATION_ZONE_SNAPSHOT (PAYLOAD_JSON, CREATE_TIME, UPDATE_TIME, DEL_FLAG, REMARK)
|
||||
values (#{payloadJson}, SYSDATE, SYSDATE, 1, #{remark})
|
||||
</insert>
|
||||
|
||||
<insert id="insertTransportOperationZoneSnapshot">
|
||||
insert into NGWL_TEST_BI.BI_TRANSPORT_OPERATION_ZONE_SNAPSHOT (PAYLOAD_JSON, CREATE_TIME, UPDATE_TIME, DEL_FLAG, REMARK)
|
||||
values (#{payloadJson}, SYSDATE, SYSDATE, 1, #{remark})
|
||||
</insert>
|
||||
</mapper>
|
||||
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
<?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.biTransportOperationZone.repository.mapper.BiTransportOperationZoneReportMapper">
|
||||
|
||||
<select id="selectLatestPayloadJson" resultType="java.lang.String">
|
||||
select PAYLOAD_JSON
|
||||
from NGWL_TEST_BI.BI_TRANSPORT_OPERATION_ZONE_SNAPSHOT
|
||||
where DEL_FLAG = 1
|
||||
order by CREATE_TIME desc nulls last, ID desc
|
||||
limit 1
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user