From 1e301dfaf2451002fb3bac53f9fc1389a30f6904 Mon Sep 17 00:00:00 2001 From: "zangch@mesnac.com" Date: Fri, 27 Feb 2026 16:24:46 +0800 Subject: [PATCH] =?UTF-8?q?fix(Board4):=20=E6=9B=B4=E6=96=B0=E4=BA=A7?= =?UTF-8?q?=E9=87=8F=E7=BB=9F=E8=AE=A1=E6=9F=A5=E8=AF=A2=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改月累计产量查询改为按天取每台设备当日最新值求和再汇总整月 - 修改日累计产量查询改为取每台设备当日最新值直接求和 - 移除原有的按设备最早/最新值差值计算方式 - 更新文档中产量统计功能描述说明 - 修正年累计产量注释说明 --- aucma-report/boardAPIComplete.md | 8 ++--- .../resources/mapper/report/Board4Mapper.xml | 31 +++++++++++++++++-- 2 files changed, 33 insertions(+), 6 deletions(-) diff --git a/aucma-report/boardAPIComplete.md b/aucma-report/boardAPIComplete.md index b7be8af..f938237 100644 --- a/aucma-report/boardAPIComplete.md +++ b/aucma-report/boardAPIComplete.md @@ -6,7 +6,7 @@ | 序号 | 接口路径 | 请求方式 | 功能描述 | 实体类 | |------|----------|----------|----------|--------| -| 1 | `/board4/productionTotal` | GET | 产量统计(年/月/日累计,按设备差分累加) | Board4ProductionTotalVo | +| 1 | `/board4/productionTotal` | GET | 产量统计(年:订单累计;月/日:PARAM_NAME='生产计数-当前日期生产总数',取每台设备当日最新值汇总) | Board4ProductionTotalVo | | 2 | `/board4/orderStatistics` | GET | 工单统计(计划/完成/差异/完成率) | Board4OrderStatisticsVo | | 3 | `/board4/orderProgressList` | GET | 工单进度列表 | Board4OrderProgressVo | | 4 | `/board4/deviceStatus` | GET | 设备状态统计 | Board4DeviceStatusVo | @@ -65,13 +65,13 @@ ```java public class Board4ProductionTotalVo { - /** 年累计产量(去年数据,来源BASE_ORDERINFO) */ + /** 年累计产量(上一自然年,总计来源 BASE_ORDERINFO.COMPLETE_AMOUNT) */ private Long yearTotal; - /** 月累计产量(当月数据,来源BASE_DEVICE_PARAM_VAL,按设备取当月最早/最新“机台状态-实际产出数量”差值汇总) */ + /** 月累计产量(当月:BASE_DEVICE_PARAM_VAL,PARAM_NAME='生产计数-当前日期生产总数';按天取每台设备当日最新值求和,再汇总整月) */ private Long monthTotal; - /** 日累计产量(当天数据,来源BASE_DEVICE_PARAM_VAL,按设备取当日最早/最新差值汇总,PARAM_NAME='机台状态-实际产出数量') */ + /** 日累计产量(当天:BASE_DEVICE_PARAM_VAL,PARAM_NAME='生产计数-当前日期生产总数';取每台设备当日最新值求和) */ private Long dayTotal; } ``` diff --git a/aucma-report/src/main/resources/mapper/report/Board4Mapper.xml b/aucma-report/src/main/resources/mapper/report/Board4Mapper.xml index fc3d657..c354912 100644 --- a/aucma-report/src/main/resources/mapper/report/Board4Mapper.xml +++ b/aucma-report/src/main/resources/mapper/report/Board4Mapper.xml @@ -18,7 +18,7 @@ FROM BASE_ORDERINFO WHERE TO_CHAR(BEGIN_DATE, 'YYYY-MM') = TO_CHAR(SYSDATE, 'YYYY-MM') --> - + /* 按天取“生产计数-当前日期生产总数”每台设备当日最新值,再汇总本月所有天 */ + SELECT NVL(SUM(daily_val), 0) + FROM ( + SELECT TRUNC(COLLECT_TIME) AS collect_day, + DEVICE_CODE, + MAX(TO_NUMBER(PARAM_VALUE)) KEEP (DENSE_RANK LAST ORDER BY COLLECT_TIME) AS daily_val + FROM BASE_DEVICE_PARAM_VAL + WHERE PARAM_NAME = '生产计数-当前日期生产总数' + AND COLLECT_TIME >= TRUNC(SYSDATE, 'MM') + AND COLLECT_TIME < ADD_MONTHS(TRUNC(SYSDATE, 'MM'), 1) + GROUP BY TRUNC(COLLECT_TIME), DEVICE_CODE + ) - + /* 取当天每台设备“生产计数-当前日期生产总数”的最新值再汇总 */ + SELECT NVL(SUM(daily_val), 0) + FROM ( + SELECT DEVICE_CODE, + MAX(TO_NUMBER(PARAM_VALUE)) KEEP (DENSE_RANK LAST ORDER BY COLLECT_TIME) AS daily_val + FROM BASE_DEVICE_PARAM_VAL + WHERE PARAM_NAME = '生产计数-当前日期生产总数' + AND COLLECT_TIME >= TRUNC(SYSDATE) + AND COLLECT_TIME < TRUNC(SYSDATE) + 1 + GROUP BY DEVICE_CODE + )