|
|
|
|
@ -12,10 +12,22 @@
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<!-- 查询月累计产量(本自然月:当月1日至月末) -->
|
|
|
|
|
<select id="selectMonthProductionTotal" resultType="java.lang.Long">
|
|
|
|
|
<!-- 新逻辑:与日累计一致,按设备参数表取每台设备本月最新的“机台状态-实际产出数量”汇总 -->
|
|
|
|
|
<!-- 原工单累计逻辑保留注释:
|
|
|
|
|
SELECT NVL(SUM(COMPLETE_AMOUNT), 0)
|
|
|
|
|
FROM BASE_ORDERINFO
|
|
|
|
|
WHERE TO_CHAR(BEGIN_DATE, 'YYYY-MM') = TO_CHAR(SYSDATE, 'YYYY-MM')
|
|
|
|
|
-->
|
|
|
|
|
<select id="selectMonthProductionTotal" resultType="java.lang.Long">
|
|
|
|
|
SELECT NVL(SUM(TO_NUMBER(PARAM_VALUE)), 0)
|
|
|
|
|
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 = '机台状态-实际产出数量'
|
|
|
|
|
AND COLLECT_TIME >= TRUNC(SYSDATE, 'MM') AND COLLECT_TIME < ADD_MONTHS(TRUNC(SYSDATE, 'MM'), 1)
|
|
|
|
|
)
|
|
|
|
|
WHERE RN = 1
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<!-- 查询日累计产量(当天:00:00-23:59 工艺参数) -->
|
|
|
|
|
@ -29,30 +41,30 @@
|
|
|
|
|
ROW_NUMBER() OVER (PARTITION BY DEVICE_CODE ORDER BY COLLECT_TIME DESC) AS RN
|
|
|
|
|
FROM BASE_DEVICE_PARAM_VAL
|
|
|
|
|
WHERE PARAM_NAME = '机台状态-实际产出数量'
|
|
|
|
|
AND TO_CHAR(COLLECT_TIME, 'YYYY-MM-DD') = TO_CHAR(SYSDATE, 'YYYY-MM-DD')
|
|
|
|
|
AND COLLECT_TIME >= TRUNC(SYSDATE) AND COLLECT_TIME < TRUNC(SYSDATE) + 1
|
|
|
|
|
)
|
|
|
|
|
WHERE RN = 1
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<!-- 查询今日工单统计(计划数、完成数,当天00:00-23:59) -->
|
|
|
|
|
<!-- 查询今日工单统计(计划数、完成数,注释当天00:00-23:59) -->
|
|
|
|
|
<select id="selectTodayOrderStatistics" resultType="java.util.HashMap">
|
|
|
|
|
SELECT NVL(SUM(ORDER_AMOUNT), 0) AS PLAN_COUNT,
|
|
|
|
|
NVL(SUM(COMPLETE_AMOUNT), 0) AS COMPLETE_COUNT
|
|
|
|
|
FROM BASE_ORDERINFO
|
|
|
|
|
WHERE TO_CHAR(BEGIN_DATE, 'YYYY-MM-DD') = TO_CHAR(SYSDATE, 'YYYY-MM-DD')
|
|
|
|
|
<!-- WHERE TO_CHAR(BEGIN_DATE, 'YYYY-MM-DD') = TO_CHAR(SYSDATE, 'YYYY-MM-DD') -->
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<!-- 查询今日工单进度列表(当天00:00-23:59) -->
|
|
|
|
|
<!-- 查询今日工单进度列表(注释当天00:00-23:59) -->
|
|
|
|
|
<select id="selectTodayOrderProgressList" resultType="com.aucma.report.domain.vo.Board4OrderProgressVo">
|
|
|
|
|
SELECT MATERIAL_NAME AS materialName,
|
|
|
|
|
ORDER_AMOUNT AS planCount,
|
|
|
|
|
COMPLETE_AMOUNT AS completeCount,
|
|
|
|
|
(ORDER_AMOUNT - COMPLETE_AMOUNT) AS diffCount,
|
|
|
|
|
CASE WHEN ORDER_AMOUNT > 0
|
|
|
|
|
CASE WHEN ORDER_AMOUNT > 0
|
|
|
|
|
THEN ROUND(COMPLETE_AMOUNT / ORDER_AMOUNT * 100, 0) || '%'
|
|
|
|
|
ELSE '0%' END AS progress
|
|
|
|
|
FROM BASE_ORDERINFO
|
|
|
|
|
WHERE TO_CHAR(BEGIN_DATE, 'YYYY-MM-DD') = TO_CHAR(SYSDATE, 'YYYY-MM-DD')
|
|
|
|
|
<!-- WHERE TO_CHAR(BEGIN_DATE, 'YYYY-MM-DD') = TO_CHAR(SYSDATE, 'YYYY-MM-DD') -->
|
|
|
|
|
ORDER BY BEGIN_DATE DESC
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
@ -76,7 +88,7 @@
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<!-- 查询最新报警信息 -->
|
|
|
|
|
<!-- 数据来源:DMS_RECORD_ALARM_INFO + BASE_DEVICELEDGER -->
|
|
|
|
|
<!-- 数据来源:DMS_RECORD_ALARM_INFO + BASE_DEVICELEDGER -->
|
|
|
|
|
<select id="selectLatestAlarmInfo" resultType="java.util.HashMap">
|
|
|
|
|
SELECT * FROM (
|
|
|
|
|
SELECT d.DEVICE_NAME AS DEVICE_NAME,
|
|
|
|
|
@ -115,16 +127,16 @@
|
|
|
|
|
ORDER BY timeHour
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<!-- 查询质量统计(合格数/不合格数,当天00:00-23:59) -->
|
|
|
|
|
<!-- 查询质量统计(合格数/不合格数,注释当天00:00-23:59) -->
|
|
|
|
|
<!-- TREATMENT_MEASURE: 3=合格, 1=返修 -->
|
|
|
|
|
<select id="selectQualityStatistics" resultType="java.util.HashMap">
|
|
|
|
|
SELECT NVL(SUM(CASE WHEN TREATMENT_MEASURE = '3' THEN 1 ELSE 0 END), 0) AS QUALIFIED_COUNT,
|
|
|
|
|
NVL(SUM(CASE WHEN TREATMENT_MEASURE = '1' THEN 1 ELSE 0 END), 0) AS UNQUALIFIED_COUNT
|
|
|
|
|
FROM REPORT_QUALITY_INSPECTION
|
|
|
|
|
WHERE TO_CHAR(INSPECTOR_TIME, 'YYYY-MM-DD') = TO_CHAR(SYSDATE, 'YYYY-MM-DD')
|
|
|
|
|
<!-- WHERE TO_CHAR(INSPECTOR_TIME, 'YYYY-MM-DD') = TO_CHAR(SYSDATE, 'YYYY-MM-DD') -->
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<!-- 查询质量追溯列表(近7天含当天,按产品统计合格率) -->
|
|
|
|
|
<!-- 查询质量追溯列表(注释近7天含当天,按产品统计合格率) -->
|
|
|
|
|
<select id="selectQualityTraceList" resultType="com.aucma.report.domain.vo.Board4QualityTraceVo">
|
|
|
|
|
SELECT * FROM (
|
|
|
|
|
SELECT MATERIAL_NAME AS materialName,
|
|
|
|
|
@ -132,7 +144,7 @@
|
|
|
|
|
100 AS passLimit
|
|
|
|
|
FROM REPORT_QUALITY_INSPECTION
|
|
|
|
|
WHERE MATERIAL_NAME IS NOT NULL
|
|
|
|
|
AND TO_CHAR(INSPECTOR_TIME, 'YYYY-MM-DD') >= TO_CHAR(SYSDATE - 7, 'YYYY-MM-DD')
|
|
|
|
|
<!-- AND TO_CHAR(INSPECTOR_TIME, 'YYYY-MM-DD') >= TO_CHAR(SYSDATE - 7, 'YYYY-MM-DD') -->
|
|
|
|
|
GROUP BY MATERIAL_NAME
|
|
|
|
|
ORDER BY passRate DESC
|
|
|
|
|
) WHERE ROWNUM <= 10
|
|
|
|
|
@ -153,7 +165,7 @@
|
|
|
|
|
ROW_NUMBER() OVER (PARTITION BY DEVICE_CODE ORDER BY COLLECT_TIME DESC) AS RN
|
|
|
|
|
FROM BASE_DEVICE_PARAM_VAL
|
|
|
|
|
WHERE PARAM_NAME = '机台状态-实际产出数量'
|
|
|
|
|
AND TO_CHAR(COLLECT_TIME, 'YYYY-MM-DD') = TO_CHAR(SYSDATE, 'YYYY-MM-DD')
|
|
|
|
|
AND COLLECT_TIME >= TRUNC(SYSDATE) AND COLLECT_TIME < TRUNC(SYSDATE) + 1
|
|
|
|
|
)
|
|
|
|
|
WHERE RN = 1
|
|
|
|
|
) p ON d.DEVICE_CODE = p.DEVICE_CODE
|
|
|
|
|
|