From 2f3de800a425fb3807f22b5ed7fc2f82e17ff2a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Thu, 14 May 2026 09:23:41 +0800 Subject: [PATCH] =?UTF-8?q?BI=E6=80=BB=E4=BD=93=E8=BF=90=E8=90=A5=E6=80=81?= =?UTF-8?q?=E5=8A=BF=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BiOverallOperationReportMapper.java | 20 +++++++++++ .../BiOverallOperationReportService.java | 21 +++++++++++ .../BiSnapshotWeeklyRandomDataBuilder.java | 3 +- .../biReport/vo/overall/OverallMapNodeVO.java | 30 ++++++++++++++++ .../vo/overall/OverallMapSectionVO.java | 21 +++++++++++ .../overall/OverallMapTooltipDataItemVO.java | 22 ++++++++++++ .../vo/overall/OverallMapTooltipVO.java | 24 +++++++++++++ .../overall/OverallOperationSituationVO.java | 31 ++++++++++++++++ .../OverallThroughputTrendMonthVO.java | 22 ++++++++++++ .../overall/OverallTransportCapacityVO.java | 34 ++++++++++++++++++ .../OverallTransportEnterpriseRankVO.java | 31 ++++++++++++++++ .../OverallTransportFreightTrendMonthVO.java | 22 ++++++++++++ .../OverallTransportModeDistributionVO.java | 22 ++++++++++++ .../overall/OverallTransportOperationVO.java | 36 +++++++++++++++++++ .../OverallTransportOrderSummaryVO.java | 31 ++++++++++++++++ .../OverallTransportOrderTrendMonthVO.java | 22 ++++++++++++ .../OverallWarehouseBizStatisticVO.java | 31 ++++++++++++++++ .../OverallWarehouseCapabilityRankVO.java | 31 ++++++++++++++++ .../OverallWarehouseCoreCapabilityVO.java | 31 ++++++++++++++++ .../overall/OverallWarehouseOperationVO.java | 36 +++++++++++++++++++ .../OverallWarehouseOrderStatisticVO.java | 22 ++++++++++++ .../OverallWarehouseOrderTrendMonthVO.java | 25 +++++++++++++ .../BiOverallOperationReportMapper.xml | 13 +++++++ 23 files changed, 580 insertions(+), 1 deletion(-) create mode 100644 mhd-bi/src/main/java/com/mhd/bi/domain/biOverallOperation/repository/mapper/BiOverallOperationReportMapper.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/domain/biOverallOperation/service/BiOverallOperationReportService.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallMapNodeVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallMapSectionVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallMapTooltipDataItemVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallMapTooltipVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallOperationSituationVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallThroughputTrendMonthVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportCapacityVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportEnterpriseRankVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportFreightTrendMonthVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportModeDistributionVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportOperationVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportOrderSummaryVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportOrderTrendMonthVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseBizStatisticVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseCapabilityRankVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseCoreCapabilityVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseOperationVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseOrderStatisticVO.java create mode 100644 mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseOrderTrendMonthVO.java create mode 100644 mhd-bi/src/main/resources/mapper/biOverallOperation/BiOverallOperationReportMapper.xml diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biOverallOperation/repository/mapper/BiOverallOperationReportMapper.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biOverallOperation/repository/mapper/BiOverallOperationReportMapper.java new file mode 100644 index 000000000..219e77540 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biOverallOperation/repository/mapper/BiOverallOperationReportMapper.java @@ -0,0 +1,20 @@ +package com.mhd.bi.domain.biOverallOperation.repository.mapper; + +import com.mhd.bi.domain.biReport.support.BiReportSnapshotMapperSupport; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.overall.OverallOperationSituationVO; + +/** + * 总体运营态势:SQL 见 BiOverallOperationReportMapper.xml;取数与组装均在 Mapper 层完成。 + */ +public interface BiOverallOperationReportMapper { + + String selectLatestPayloadJson(); + + default OverallOperationSituationVO loadLatestOverallOperation() { + return BiReportSnapshotMapperSupport.parsePayload( + selectLatestPayloadJson(), + OverallOperationSituationVO.class, + BiReportSnapshotMapperSupport::emptyOverallOperationSituation, + "总体运营态势"); + } +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biOverallOperation/service/BiOverallOperationReportService.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biOverallOperation/service/BiOverallOperationReportService.java new file mode 100644 index 000000000..b5a6cb936 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biOverallOperation/service/BiOverallOperationReportService.java @@ -0,0 +1,21 @@ +package com.mhd.bi.domain.biOverallOperation.service; + +import com.mhd.bi.domain.biOverallOperation.repository.mapper.BiOverallOperationReportMapper; +import com.mhd.bi.interfaces.facadeApi.biReport.vo.overall.OverallOperationSituationVO; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * 南光物流业务经营分析 · 总体运营态势(大图1) + */ +@Service +public class BiOverallOperationReportService { + + @Resource + private BiOverallOperationReportMapper biOverallOperationReportMapper; + + public OverallOperationSituationVO loadLatestOverallOperation() { + return biOverallOperationReportMapper.loadLatestOverallOperation(); + } +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/support/BiSnapshotWeeklyRandomDataBuilder.java b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/support/BiSnapshotWeeklyRandomDataBuilder.java index 6617d7d5e..28e341915 100644 --- a/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/support/BiSnapshotWeeklyRandomDataBuilder.java +++ b/mhd-bi/src/main/java/com/mhd/bi/domain/biSnapshotSync/support/BiSnapshotWeeklyRandomDataBuilder.java @@ -242,6 +242,7 @@ public final class BiSnapshotWeeklyRandomDataBuilder { /** * 与产品约定返回值示例一致,供快照同步与联调。 + * {@code warehouse.capabilityRanking}、{@code transport.enterpriseRanking} 的 {@code name} 为固定展示名,不参与随机抖动。 */ public static OverallOperationSituationVO overallReferenceDashboard() { return OverallOperationSituationVO.builder() @@ -285,7 +286,7 @@ public final class BiSnapshotWeeklyRandomDataBuilder { .build()) .capabilityRanking(Arrays.asList( OverallWarehouseCapabilityRankVO.builder().rank(1).name("君华仓").processedVolume("2,400单").throughput("5.2万吨").utilizationRate("85%").build(), - OverallWarehouseCapabilityRankVO.builder().rank(2).name("遂宁仓").processedVolume("1,800单").throughput("4.1万吨").utilizationRate("78%").build(), + OverallWarehouseCapabilityRankVO.builder().rank(2).name("通宇仓").processedVolume("1,800单").throughput("4.1万吨").utilizationRate("78%").build(), OverallWarehouseCapabilityRankVO.builder().rank(3).name("横琴仓").processedVolume("1,200单").throughput("3.5万吨").utilizationRate("92%").build(), OverallWarehouseCapabilityRankVO.builder().rank(4).name("新南仓").processedVolume("800单").throughput("2.2万吨").utilizationRate("65%").build(), OverallWarehouseCapabilityRankVO.builder().rank(5).name("谷丰仓").processedVolume("567单").throughput("1.8万吨").utilizationRate("45%").build() diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallMapNodeVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallMapNodeVO.java new file mode 100644 index 000000000..3d440bb23 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallMapNodeVO.java @@ -0,0 +1,30 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.overall; + +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 OverallMapNodeVO { + + @ApiModelProperty("类型:headquarters / businessUnit / warehouse") + private String type; + + @ApiModelProperty("名称") + private String name; + + @ApiModelProperty("坐标 [经度, 纬度]") + private List location; + + @ApiModelProperty("悬停信息") + private OverallMapTooltipVO tooltip; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallMapSectionVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallMapSectionVO.java new file mode 100644 index 000000000..8fe874be4 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallMapSectionVO.java @@ -0,0 +1,21 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.overall; + +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 OverallMapSectionVO { + + @ApiModelProperty("地图节点") + private List nodes; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallMapTooltipDataItemVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallMapTooltipDataItemVO.java new file mode 100644 index 000000000..661e65f1d --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallMapTooltipDataItemVO.java @@ -0,0 +1,22 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.overall; + +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 OverallMapTooltipDataItemVO { + + @ApiModelProperty("标签") + private String label; + + @ApiModelProperty("数值") + private Integer value; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallMapTooltipVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallMapTooltipVO.java new file mode 100644 index 000000000..659c2cfe6 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallMapTooltipVO.java @@ -0,0 +1,24 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.overall; + +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 OverallMapTooltipVO { + + @ApiModelProperty("标题") + private String title; + + @ApiModelProperty("指标行") + private List data; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallOperationSituationVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallOperationSituationVO.java new file mode 100644 index 000000000..6795409cf --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallOperationSituationVO.java @@ -0,0 +1,31 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.overall; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 总体运营态势:与 PAYLOAD_JSON、接口 data 字段结构一致。 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel("BI-总体运营态势") +public class OverallOperationSituationVO { + + @ApiModelProperty("快照时间展示") + private String updateTime; + + @ApiModelProperty("仓储运营") + private OverallWarehouseOperationVO warehouse; + + @ApiModelProperty("地图") + private OverallMapSectionVO map; + + @ApiModelProperty("运输运营") + private OverallTransportOperationVO transport; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallThroughputTrendMonthVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallThroughputTrendMonthVO.java new file mode 100644 index 000000000..b61f8b8f3 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallThroughputTrendMonthVO.java @@ -0,0 +1,22 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.overall; + +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 OverallThroughputTrendMonthVO { + + @ApiModelProperty("月份标签") + private String monthLabel; + + @ApiModelProperty("吞吐量(与示例一致可为整数)") + private Integer throughput; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportCapacityVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportCapacityVO.java new file mode 100644 index 000000000..9dba7c244 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportCapacityVO.java @@ -0,0 +1,34 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.overall; + +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 OverallTransportCapacityVO { + + @ApiModelProperty("车辆总数") + private Integer totalVehicles; + + @ApiModelProperty("自有车辆") + private Integer ownedVehicles; + + @ApiModelProperty("社会车辆") + private Integer socialVehicles; + + @ApiModelProperty("驾驶员总数") + private Integer totalDrivers; + + @ApiModelProperty("自有驾驶员") + private Integer ownedDrivers; + + @ApiModelProperty("社会驾驶员") + private Integer socialDrivers; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportEnterpriseRankVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportEnterpriseRankVO.java new file mode 100644 index 000000000..5936ee887 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportEnterpriseRankVO.java @@ -0,0 +1,31 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.overall; + +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 OverallTransportEnterpriseRankVO { + + @ApiModelProperty("排名") + private Integer rank; + + @ApiModelProperty("企业名称") + private String name; + + @ApiModelProperty("处理量文案") + private String processedVolume; + + @ApiModelProperty("货运量文案") + private String freight; + + @ApiModelProperty("准时率文案") + private String onTimeRate; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportFreightTrendMonthVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportFreightTrendMonthVO.java new file mode 100644 index 000000000..dc58a1ff5 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportFreightTrendMonthVO.java @@ -0,0 +1,22 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.overall; + +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 OverallTransportFreightTrendMonthVO { + + @ApiModelProperty("月份标签") + private String monthLabel; + + @ApiModelProperty("货运量") + private Integer freight; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportModeDistributionVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportModeDistributionVO.java new file mode 100644 index 000000000..a2b2c293d --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportModeDistributionVO.java @@ -0,0 +1,22 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.overall; + +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 OverallTransportModeDistributionVO { + + @ApiModelProperty("跨境单量") + private Long crossBorder; + + @ApiModelProperty("国内单量") + private Long domestic; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportOperationVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportOperationVO.java new file mode 100644 index 000000000..08308c6d9 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportOperationVO.java @@ -0,0 +1,36 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.overall; + +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 OverallTransportOperationVO { + + @ApiModelProperty("运输订单摘要") + private OverallTransportOrderSummaryVO orderSummary; + + @ApiModelProperty("运力统计") + private OverallTransportCapacityVO capacityStatistics; + + @ApiModelProperty("运输订单趋势(按月)") + private List orderTrendByMonth; + + @ApiModelProperty("货运量趋势(按月)") + private List freightTrendByMonth; + + @ApiModelProperty("运输订单分布") + private OverallTransportModeDistributionVO orderDistribution; + + @ApiModelProperty("企业运营能力排名") + private List enterpriseRanking; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportOrderSummaryVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportOrderSummaryVO.java new file mode 100644 index 000000000..d6e21baa0 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportOrderSummaryVO.java @@ -0,0 +1,31 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.overall; + +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 OverallTransportOrderSummaryVO { + + @ApiModelProperty("处理单量") + private Long processedOrderCount; + + @ApiModelProperty("变化百分比") + private Double changePercent; + + @ApiModelProperty("年货运量数值") + private Double annualFreight; + + @ApiModelProperty("货运单位,如 万吨") + private String freightUnit; + + @ApiModelProperty("货运变化百分比") + private Double freightGrowth; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportOrderTrendMonthVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportOrderTrendMonthVO.java new file mode 100644 index 000000000..14a9df741 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallTransportOrderTrendMonthVO.java @@ -0,0 +1,22 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.overall; + +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 OverallTransportOrderTrendMonthVO { + + @ApiModelProperty("月份标签") + private String monthLabel; + + @ApiModelProperty("订单量") + private Long count; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseBizStatisticVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseBizStatisticVO.java new file mode 100644 index 000000000..a6bf027e8 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseBizStatisticVO.java @@ -0,0 +1,31 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.overall; + +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 OverallWarehouseBizStatisticVO { + + @ApiModelProperty("服务客户数") + private Long customerCount; + + @ApiModelProperty("覆盖区域说明") + private String coverageArea; + + @ApiModelProperty("年吞吐量数值") + private Integer annualThroughput; + + @ApiModelProperty("吞吐量单位,如 万吨") + private String throughputUnit; + + @ApiModelProperty("吞吐量变化百分比") + private Double throughputGrowth; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseCapabilityRankVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseCapabilityRankVO.java new file mode 100644 index 000000000..080e932a5 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseCapabilityRankVO.java @@ -0,0 +1,31 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.overall; + +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 OverallWarehouseCapabilityRankVO { + + @ApiModelProperty("排名") + private Integer rank; + + @ApiModelProperty("仓库名称") + private String name; + + @ApiModelProperty("处理量展示文案,如 2,400单") + private String processedVolume; + + @ApiModelProperty("吞吐量展示文案,如 5.2万吨") + private String throughput; + + @ApiModelProperty("利用率/周转等展示文案,如 85%") + private String utilizationRate; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseCoreCapabilityVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseCoreCapabilityVO.java new file mode 100644 index 000000000..d39c734b0 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseCoreCapabilityVO.java @@ -0,0 +1,31 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.overall; + +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 OverallWarehouseCoreCapabilityVO { + + @ApiModelProperty("仓库总数") + private Integer totalWarehouses; + + @ApiModelProperty("自营数量") + private Integer selfOperatedCount; + + @ApiModelProperty("外租/外包数量") + private Integer outsourcedCount; + + @ApiModelProperty("运营面积数值") + private Integer operatingArea; + + @ApiModelProperty("面积单位,如 万m²") + private String areaUnit; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseOperationVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseOperationVO.java new file mode 100644 index 000000000..eeb427d81 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseOperationVO.java @@ -0,0 +1,36 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.overall; + +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 OverallWarehouseOperationVO { + + @ApiModelProperty("仓库订单统计") + private OverallWarehouseOrderStatisticVO orderStatistics; + + @ApiModelProperty("仓库核心能力") + private OverallWarehouseCoreCapabilityVO coreCapability; + + @ApiModelProperty("仓库订单趋势(按月)") + private List orderTrendByMonth; + + @ApiModelProperty("吞吐量趋势(按月)") + private List throughputTrendByMonth; + + @ApiModelProperty("仓库运营统计") + private OverallWarehouseBizStatisticVO bizStatistics; + + @ApiModelProperty("仓库运营能力排名") + private List capabilityRanking; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseOrderStatisticVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseOrderStatisticVO.java new file mode 100644 index 000000000..7d4c26476 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseOrderStatisticVO.java @@ -0,0 +1,22 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.overall; + +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 OverallWarehouseOrderStatisticVO { + + @ApiModelProperty("处理单量") + private Long processedOrderCount; + + @ApiModelProperty("变化百分比(如 5.4 表示 ↑5.4%)") + private Double changePercent; +} diff --git a/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseOrderTrendMonthVO.java b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseOrderTrendMonthVO.java new file mode 100644 index 000000000..71921a488 --- /dev/null +++ b/mhd-bi/src/main/java/com/mhd/bi/interfaces/facadeApi/biReport/vo/overall/OverallWarehouseOrderTrendMonthVO.java @@ -0,0 +1,25 @@ +package com.mhd.bi.interfaces.facadeApi.biReport.vo.overall; + +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 OverallWarehouseOrderTrendMonthVO { + + @ApiModelProperty("月份标签") + private String monthLabel; + + @ApiModelProperty("入库订单") + private Long inboundOrders; + + @ApiModelProperty("出库订单") + private Long outboundOrders; +} diff --git a/mhd-bi/src/main/resources/mapper/biOverallOperation/BiOverallOperationReportMapper.xml b/mhd-bi/src/main/resources/mapper/biOverallOperation/BiOverallOperationReportMapper.xml new file mode 100644 index 000000000..22761e249 --- /dev/null +++ b/mhd-bi/src/main/resources/mapper/biOverallOperation/BiOverallOperationReportMapper.xml @@ -0,0 +1,13 @@ + + + + + +