|
|
|
|
@ -231,7 +231,7 @@ public class Board4DeviceProductionVo {
|
|
|
|
|
| orderStatistics | BASE_ORDERINFO | 当天SUM(ORDER_AMOUNT)和SUM(COMPLETE_AMOUNT),差异=计划-完成,完成率=完成/计划 |
|
|
|
|
|
| orderProgressList | BASE_ORDERINFO | 当天工单列表,进度=完成/计划百分比并带% |
|
|
|
|
|
| deviceStatus | BASE_DEVICELEDGER, DMS_BILLS_FAULT_INSTANCE | IS_FLAG=0有效设备,按DEVICE_STATUS分组统计+总维修次数 |
|
|
|
|
|
| alarmInfo | RECORD_ALARM_DEVICE | IS_FLAG=0的最新一条报警记录,时间格式HH24:MI:SS |
|
|
|
|
|
| alarmInfo | DMS_RECORD_ALARM_INFO, BASE_DEVICELEDGER | 最新一条报警记录,通过DEVICE_ID关联设备名称,时间格式HH24:MI:SS |
|
|
|
|
|
| repairAnalysisList | DMS_BILLS_FAULT_INSTANCE, BASE_DEVICELEDGER | 按设备聚合故障次数,按次数倒序取TOP10 |
|
|
|
|
|
| repairTrendList | DMS_BILLS_FAULT_INSTANCE | 按小时统计当天报修次数 |
|
|
|
|
|
| qualityStatistics | REPORT_QUALITY_INSPECTION | 当天TREATMENT_MEASURE='3'和'1'分组统计 |
|
|
|
|
|
@ -483,7 +483,7 @@ export function getDeviceProductionList() {
|
|
|
|
|
|
|
|
|
|
6. **维修分析**:使用 DMS_BILLS_FAULT_INSTANCE 故障报修表,通过 `DEVICE_ID = BASE_DEVICELEDGER.OBJ_ID` 关联设备表
|
|
|
|
|
|
|
|
|
|
7. **报警信息来源**:使用 RECORD_ALARM_DEVICE 表,字段 `ALARM_INFO` 和 `ALARM_TIME`,并以 `IS_FLAG = 0` 过滤有效记录
|
|
|
|
|
7. **报警信息来源**:使用 DMS_RECORD_ALARM_INFO 表,字段 `ALARM_REASON` 和 `ALARM_BEGIN_TIME`,通过 `DEVICE_ID` 关联 BASE_DEVICELEDGER 获取设备名称
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
@ -496,6 +496,7 @@ export function getDeviceProductionList() {
|
|
|
|
|
| 2026-01-21 | 2.1 | 修复产量查询逻辑,使用 PARAM_NAME 替代 PARAM_CODE | YinQ |
|
|
|
|
|
| 2026-01-21 | 2.2 | 修复设备表结构:BASE_DEVICELEDGER 字段类型修正,DEVICE_STATUS/IS_FLAG 为 NUMBER 类型 | YinQ |
|
|
|
|
|
| 2026-01-21 | 2.3 | 修复报警表来源:使用 RECORD_ALARM_DEVICE 替代 DMS_RECORD_ALARM_INFO | YinQ |
|
|
|
|
|
| 2026-01-22 | 2.4 | 报警数据源切换回 DMS_RECORD_ALARM_INFO,该表由外部设备插入数据 | YinQ |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
@ -707,7 +708,7 @@ public class Board5ProductionTopVo {
|
|
|
|
|
| inspectStatistics | DMS_PLAN_INSPECT, DMS_BILLS_INSPECT_INSTANCE | 应检设备=SUM(DEVICE_AMOUNT),已检=INSPECT_STATUS='2'的数量 |
|
|
|
|
|
| deviceStatusDistribution | BASE_DEVICELEDGER | 按DEVICE_STATUS和DEVICE_TYPE分组统计 |
|
|
|
|
|
| faultSourceDistribution | DMS_BILLS_FAULT_INSTANCE | 按FAULT_SOURCE_TYPE分组:1=维护故障,2/3=运行故障,9=自然故障 |
|
|
|
|
|
| faultTrendList | RECORD_ALARM_DEVICE | 近30天每日告警数量,按ALARM_TIME日期分组 |
|
|
|
|
|
| faultTrendList | DMS_RECORD_ALARM_INFO | 近30天每日告警数量,按ALARM_BEGIN_TIME日期分组 |
|
|
|
|
|
| productionTop5 | BASE_DEVICE_PARAM_VAL, BASE_DEVICELEDGER | 各设备当天PARAM_NAME='机台状态-实际产出数量'最新值,取TOP5 |
|
|
|
|
|
|
|
|
|
|
### 4.2 关键SQL说明
|
|
|
|
|
@ -727,20 +728,19 @@ WHERE IS_FLAG = '1'
|
|
|
|
|
- 平均响应时间 = (实际开始时间 - 申请时间) × 24 × 60,单位:分钟
|
|
|
|
|
- 平均维修时间 = (实际结束时间 - 实际开始时间) × 24,单位:小时
|
|
|
|
|
|
|
|
|
|
#### 4.2.2 故障数量曲线(使用RECORD_ALARM_DEVICE)
|
|
|
|
|
#### 4.2.2 故障数量曲线(使用DMS_RECORD_ALARM_INFO)
|
|
|
|
|
|
|
|
|
|
```sql
|
|
|
|
|
SELECT TO_CHAR(ALARM_TIME, 'DD') AS dateValue,
|
|
|
|
|
SELECT TO_CHAR(ALARM_BEGIN_TIME, 'DD') AS dateValue,
|
|
|
|
|
COUNT(*) AS faultCount
|
|
|
|
|
FROM RECORD_ALARM_DEVICE
|
|
|
|
|
WHERE IS_FLAG = 0
|
|
|
|
|
AND ALARM_TIME >= TRUNC(SYSDATE) - 30
|
|
|
|
|
GROUP BY TO_CHAR(ALARM_TIME, 'DD'), TRUNC(ALARM_TIME)
|
|
|
|
|
ORDER BY TRUNC(ALARM_TIME)
|
|
|
|
|
FROM DMS_RECORD_ALARM_INFO
|
|
|
|
|
WHERE ALARM_BEGIN_TIME >= TRUNC(SYSDATE) - 30
|
|
|
|
|
GROUP BY TO_CHAR(ALARM_BEGIN_TIME, 'DD'), TRUNC(ALARM_BEGIN_TIME)
|
|
|
|
|
ORDER BY TRUNC(ALARM_BEGIN_TIME)
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**业务逻辑说明**:
|
|
|
|
|
- 数据来源:`RECORD_ALARM_DEVICE` 设备告警记录表
|
|
|
|
|
- 数据来源:`DMS_RECORD_ALARM_INFO` 设备报警记录表(由外部设备插入)
|
|
|
|
|
- 时间范围:近30天
|
|
|
|
|
- 分组方式:按日期分组,返回每日告警数量
|
|
|
|
|
|
|
|
|
|
@ -763,8 +763,6 @@ SELECT * FROM (
|
|
|
|
|
)
|
|
|
|
|
WHERE RN = 1
|
|
|
|
|
) p ON d.DEVICE_CODE = p.DEVICE_CODE
|
|
|
|
|
WHERE d.IS_FLAG = 0
|
|
|
|
|
AND d.DEVICE_TYPE = '1'
|
|
|
|
|
ORDER BY production DESC
|
|
|
|
|
) WHERE ROWNUM <= 5
|
|
|
|
|
```
|
|
|
|
|
@ -952,9 +950,9 @@ export function getProductionTop5() {
|
|
|
|
|
|
|
|
|
|
## 八、注意事项
|
|
|
|
|
|
|
|
|
|
1. **❗重要:故障数量曲线使用 RECORD_ALARM_DEVICE 表**
|
|
|
|
|
- 数据来源:`RECORD_ALARM_DEVICE` 设备告警记录表
|
|
|
|
|
- 筛选条件:`IS_FLAG = 0` 且 `ALARM_TIME >= TRUNC(SYSDATE) - 30`
|
|
|
|
|
1. **❗重要:故障数量曲线使用 DMS_RECORD_ALARM_INFO 表**
|
|
|
|
|
- 数据来源:`DMS_RECORD_ALARM_INFO` 设备报警记录表(由外部设备插入)
|
|
|
|
|
- 筛选条件:`ALARM_BEGIN_TIME >= TRUNC(SYSDATE) - 30`
|
|
|
|
|
|
|
|
|
|
2. **❗重要:产量机台TOP5 替代备件消耗费用TOP5**
|
|
|
|
|
- 使用 `PARAM_NAME = '机台状态-实际产出数量'` 获取设备产量
|
|
|
|
|
@ -994,4 +992,5 @@ export function getProductionTop5() {
|
|
|
|
|
|------|------|----------|------|
|
|
|
|
|
| 2026-01-21 | 1.0 | Board5看板接口初始版本 | YinQ |
|
|
|
|
|
| 2026-01-21 | 1.1 | 故障数量曲线使用RECORD_ALARM_DEVICE表真实数据 | YinQ |
|
|
|
|
|
| 2026-01-22 | 1.3 | 故障数量曲线切换为DMS_RECORD_ALARM_INFO表 | YinQ |
|
|
|
|
|
| 2026-01-21 | 1.2 | 产量机台TOP5替代备件消耗费用TOP5 | YinQ |
|
|
|
|
|
|