change(board5):产量机台TOP5selectProductionTop5和selectMaxProduction使用生产计数-当前日期生产总数

master
zangchenhao 1 week ago
parent 273e85dfc7
commit 1395c278f9

@ -898,7 +898,7 @@ SELECT * FROM (
SELECT DEVICE_CODE, PARAM_VALUE,
ROW_NUMBER() OVER (PARTITION BY DEVICE_CODE ORDER BY COLLECT_TIME DESC) AS RN
FROM BASE_DEVICE_PARAM_VAL
WHERE PARAM_NAME = '机台状态-实际产出数量'
WHERE PARAM_NAME = '生产计数-当前日期生产总数'
AND COLLECT_TIME >= TRUNC(SYSDATE) AND COLLECT_TIME < TRUNC(SYSDATE) + 1
)
WHERE RN = 1
@ -908,7 +908,7 @@ SELECT * FROM (
```
**业务逻辑说明**
- 使用 `PARAM_NAME = '机台状态-实际产出数量'` 获取各设备当天实际产出
- 使用 `PARAM_NAME = '生产计数-当前日期生产总数'` 获取各设备当天产量总数
- 取每台设备当天最新的一条记录使用窗口函数ROW_NUMBER
- 按产量降序排列取前5名
- 百分比在Service层计算`percent = production / maxProduction * 100`

@ -102,7 +102,7 @@
</select>
<!-- 查询产量机台TOP5当天00:00-23:59 -->
<!-- 从BASE_DEVICE_PARAM_VAL获取当天每台设备的最新实际产出数量 -->
<!-- 从BASE_DEVICE_PARAM_VAL获取当天每台设备的最新产量总数 -->
<!-- 数据来源BASE_DEVICE_PARAM_VAL + BASE_DEVICELEDGER -->
<select id="selectProductionTop5" resultType="com.aucma.report.domain.vo.Board5ProductionTopVo">
SELECT * FROM (
@ -116,7 +116,7 @@
SELECT DEVICE_CODE, PARAM_VALUE,
ROW_NUMBER() OVER (PARTITION BY DEVICE_CODE ORDER BY COLLECT_TIME DESC) AS RN
FROM BASE_DEVICE_PARAM_VAL
WHERE PARAM_NAME = '机台状态-实际产出数量'
WHERE PARAM_NAME = '生产计数-当前日期生产总数'
AND COLLECT_TIME &gt;= TRUNC(SYSDATE) AND COLLECT_TIME &lt; TRUNC(SYSDATE) + 1
)
WHERE RN = 1
@ -132,7 +132,7 @@
SELECT DEVICE_CODE, PARAM_VALUE,
ROW_NUMBER() OVER (PARTITION BY DEVICE_CODE ORDER BY COLLECT_TIME DESC) AS RN
FROM BASE_DEVICE_PARAM_VAL
WHERE PARAM_NAME = '机台状态-实际产出数量'
WHERE PARAM_NAME = '生产计数-当前日期生产总数'
AND COLLECT_TIME &gt;= TRUNC(SYSDATE) AND COLLECT_TIME &lt; TRUNC(SYSDATE) + 1
)
WHERE RN = 1

Loading…
Cancel
Save