BI月台指标检测修改
This commit is contained in:
+1
-1
@@ -47,7 +47,7 @@ public interface BiPlatformRealDataMapper {
|
||||
/** 今日作业准时率统计(total 今日预约总数;onTimeCount 今日准时车辆数) */
|
||||
RealOnTimeStatPO queryTodayOnTimeStats();
|
||||
|
||||
/** 任务类型统计(当月 OMS 运输订单按业务类型分组:1-跨境 2-国内) */
|
||||
/** 任务类型统计(本月 YMS QMS_MAIN_BUSINESS 预约按业务类型 BUSINESS_NAME 分组) */
|
||||
List<RealTaskTypeStatPO> queryMonthTransportOrderByType();
|
||||
|
||||
/** 月台监控-按楼层统计月台车辆(楼层、月台数量、今日预约车辆、当前作业车辆) */
|
||||
|
||||
+5
-5
@@ -5,16 +5,16 @@ import lombok.Data;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 任务类型统计(真实数据,来自 NGWL_TEST_OMS.BUSINESS_DOCUMENT_ORDER 运输订单)
|
||||
* 按业务类型 businessCategory 分组统计当月数量:1-跨境运输 2-国内运输
|
||||
* 任务类型统计(真实数据,来自 NGWL_TEST_YMS.QMS_MAIN_BUSINESS 预约登记表)
|
||||
* 按本月预约车辆数(TARGET_DATE 在当前月)以 BUSINESS_NAME 业务类型分组
|
||||
*/
|
||||
@Data
|
||||
public class RealTaskTypeStatPO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 业务类型:1-跨境 2-国内 */
|
||||
private Integer businessCategory;
|
||||
/** 业务类型名称(qms_main_business.BUSINESS_NAME) */
|
||||
private String businessName;
|
||||
|
||||
/** 该类型当月单量 */
|
||||
/** 该业务类型本月预约车辆数 */
|
||||
private Long count;
|
||||
}
|
||||
+15
-22
@@ -270,39 +270,32 @@ public class BiPlatformRealDataService {
|
||||
}
|
||||
|
||||
/**
|
||||
* 任务类型统计:当月 OMS 运输订单按业务类型分组(1-跨境运输,2-国内运输)。
|
||||
* 返回 {totalTasks: 当月跨境+国内运输总单量, taskTypes: [{type, count}]}
|
||||
* 查询失败时返回空结构,不影响写死字段。
|
||||
*/
|
||||
/**
|
||||
* 任务类型统计:固定输出「跨境运输」「国内运输」两类,count 取当月 OMS 业务单真实单量;
|
||||
* 当月无数据或查询失败时仍返回两类、count=0(不使用写死模板兜底)。
|
||||
* 任务类型统计:本月(YMS QMS_MAIN_BUSINESS)预约车辆按业务类型 BUSINESS_NAME 分组;
|
||||
* 返回 {totalTasks: 当月总预约车辆数, taskTypes: [{type: 业务类型名称, count: 该类型预约数}]}
|
||||
* 按真实 BUSINESS_NAME 分组输出,不固定兜底类别;当月无数据或查询失败时返回空列表。
|
||||
*/
|
||||
public TaskTypeStatisticsVO queryMonthTransportOrderByType() {
|
||||
int crossBorder = 0; // 跨境运输 BUSINESS_CATEGORY=1
|
||||
int domestic = 0; // 国内运输 BUSINESS_CATEGORY=2
|
||||
List<TaskTypeCountItemVO> items = new ArrayList<>();
|
||||
int total = 0;
|
||||
try {
|
||||
List<RealTaskTypeStatPO> rows = biPlatformRealDataMapper.queryMonthTransportOrderByType();
|
||||
if (rows != null) {
|
||||
for (RealTaskTypeStatPO r : rows) {
|
||||
if (r == null || r.getBusinessCategory() == null || r.getCount() == null) {
|
||||
if (r == null || r.getBusinessName() == null || r.getCount() == null) {
|
||||
continue;
|
||||
}
|
||||
if (r.getBusinessCategory() == 1) {
|
||||
crossBorder = r.getCount().intValue();
|
||||
} else if (r.getBusinessCategory() == 2) {
|
||||
domestic = r.getCount().intValue();
|
||||
}
|
||||
int c = r.getCount().intValue();
|
||||
items.add(TaskTypeCountItemVO.builder().type(r.getBusinessName()).count(c).build());
|
||||
total += c;
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("【OMS】统计当月运输订单业务类型失败: {}", e.getMessage(), e);
|
||||
// 失败时不回退写死模板,保持两类 count=0
|
||||
log.error("【YMS】统计当月预约业务类型失败: {}", e.getMessage(), e);
|
||||
// 查询失败返回空列表(前端会显示空)
|
||||
items = new ArrayList<>();
|
||||
total = 0;
|
||||
}
|
||||
List<TaskTypeCountItemVO> items = new ArrayList<>();
|
||||
items.add(TaskTypeCountItemVO.builder().type("跨境运输").count(crossBorder).build());
|
||||
items.add(TaskTypeCountItemVO.builder().type("国内运输").count(domestic).build());
|
||||
return TaskTypeStatisticsVO.builder().totalTasks(crossBorder + domestic).taskTypes(items).build();
|
||||
return TaskTypeStatisticsVO.builder().totalTasks(total).taskTypes(items).build();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -447,7 +440,7 @@ public class BiPlatformRealDataService {
|
||||
}
|
||||
}
|
||||
|
||||
// 任务类型统计:当月 OMS 业务单真实数据(固定跨境运输/国内运输两类,不使用写死模板兜底)
|
||||
// 任务类型统计:本月 YMS QMS_MAIN_BUSINESS 按业务类型 BUSINESS_NAME 分组(真实业务数据)
|
||||
template.setTaskTypeStatistics(queryMonthTransportOrderByType());
|
||||
|
||||
return template;
|
||||
|
||||
+1
-1
@@ -248,7 +248,7 @@ public class BiReportSnapshotSyncService {
|
||||
}
|
||||
}
|
||||
|
||||
// ====== 真实数据:任务类型统计(当月 OMS 业务单,固定跨境运输/国内运输两类,不使用写死模板兜底) ======
|
||||
// ====== 真实数据:任务类型统计(本月 YMS QMS_MAIN_BUSINESS 按业务类型 BUSINESS_NAME 分组) ======
|
||||
template.setTaskTypeStatistics(biPlatformRealDataService.queryMonthTransportOrderByType());
|
||||
|
||||
return template;
|
||||
|
||||
+1
@@ -206,6 +206,7 @@ public final class BiSnapshotWeeklyRandomDataBuilder {
|
||||
handled = Math.min(handled, todayAl);
|
||||
int unhandled = Math.max(0, todayAl - handled);
|
||||
|
||||
// 月台告警分布:按业务要求,全部置 0
|
||||
List<PlatformAlarmDistItemVO> dist = new ArrayList<>();
|
||||
for (int i = 0; i < Baseline.P_DIST_T.length; i++) {
|
||||
dist.add(PlatformAlarmDistItemVO.builder()
|
||||
|
||||
@@ -148,19 +148,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
ORDER BY 1 DESC
|
||||
</select>
|
||||
|
||||
<!-- 任务类型统计(运输订单,来自 NGWL_TEST_OMS.BUSINESS_DOCUMENT_ORDER):
|
||||
当月(CREATE_TIME 在当前月)按业务类型 BUSINESS_CATEGORY 分组统计
|
||||
BUSINESS_CATEGORY: 1-跨境运输 2-国内运输 -->
|
||||
<!-- 任务类型统计(来自 NGWL_TEST_YMS.QMS_MAIN_BUSINESS 预约登记表):
|
||||
按本月预约车辆数(TARGET_DATE 在当前月)按 BUSINESS_NAME 业务类型分组统计 -->
|
||||
<select id="queryMonthTransportOrderByType" resultType="com.mhd.bi.domain.biPlatformRealData.repository.po.RealTaskTypeStatPO">
|
||||
SELECT
|
||||
BUSINESS_CATEGORY AS businessCategory,
|
||||
COUNT(1) AS count
|
||||
FROM NGWL_TEST_OMS.BUSINESS_DOCUMENT_ORDER
|
||||
WHERE BUSINESS_CATEGORY IN (1, 2)
|
||||
AND CREATE_TIME IS NOT NULL
|
||||
AND TO_CHAR(CREATE_TIME, 'YYYY-MM') = TO_CHAR(SYSDATE, 'YYYY-MM')
|
||||
GROUP BY BUSINESS_CATEGORY
|
||||
ORDER BY BUSINESS_CATEGORY
|
||||
BUSINESS_NAME AS businessName,
|
||||
COUNT(1) AS count
|
||||
FROM NGWL_TEST_YMS.QMS_MAIN_BUSINESS
|
||||
WHERE BUSINESS_NAME IS NOT NULL
|
||||
AND TARGET_DATE IS NOT NULL
|
||||
AND TO_CHAR(TARGET_DATE, 'YYYY-MM') = TO_CHAR(SYSDATE, 'YYYY-MM')
|
||||
GROUP BY BUSINESS_NAME
|
||||
ORDER BY COUNT(1) DESC
|
||||
</select>
|
||||
|
||||
<!-- 任务负荷(今日 24 小时时段):按 EXTRACT(HOUR FROM ENTRY_TIME) 统计 -->
|
||||
|
||||
Reference in New Issue
Block a user