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 + )