|
@@ -26,25 +26,77 @@
|
|
|
FROM DUAL;
|
|
|
</select>
|
|
|
<select id="getNotClosedStateInThirdFloorByPid" resultType="java.lang.String">
|
|
|
- SELECT CASE
|
|
|
- WHEN (SELECT COUNT(*)
|
|
|
- FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION_DETAIL x
|
|
|
- WHERE PID = #{id}
|
|
|
- AND DELETED = '0') = 0 THEN '未关闭'
|
|
|
- WHEN EXISTS (SELECT 1
|
|
|
- FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION_DETAIL x
|
|
|
- WHERE PID = #{id}
|
|
|
- AND DELETED = '0'
|
|
|
- AND (STATUS IS NULL
|
|
|
- OR STATUS = '未关闭')) THEN '未关闭'
|
|
|
- WHEN NOT EXISTS (SELECT 1
|
|
|
- FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION_DETAIL x
|
|
|
- WHERE PID = #{id}
|
|
|
- AND DELETED = '0'
|
|
|
- AND STATUS != 'NA') THEN 'NA'
|
|
|
- ELSE '已关闭'
|
|
|
- END AS CLOSESTATUS
|
|
|
- FROM DUAL;
|
|
|
+ SELECT
|
|
|
+ CASE
|
|
|
+ WHEN SUM( CASE WHEN e.STATUS = '已关闭' THEN 1 ELSE 0 END ) = COUNT(*) THEN '已关闭'
|
|
|
+ WHEN SUM( CASE WHEN e.STATUS = '未关闭' OR e.STATUS IS NULL THEN 1 ELSE 0 END ) > 0 THEN '未关闭'
|
|
|
+ WHEN ( SUM( CASE WHEN e.STATUS = '已关闭' THEN 1 ELSE 0 END ) > 0 AND SUM( CASE WHEN e.STATUS != '已关闭' THEN 1 ELSE 0 END ) = COUNT(*) - SUM( CASE WHEN e.STATUS = '已关闭' THEN 1 ELSE 0 END )) THEN '已关闭'
|
|
|
+ WHEN SUM( CASE WHEN e.STATUS = 'NA' THEN 1 ELSE 0 END ) = COUNT(*) THEN 'NA'
|
|
|
+ ELSE THEN '未关闭'
|
|
|
+ END AS STATUS
|
|
|
+FROM
|
|
|
+ INCONTROL.ZHCX_PROJECT_DEVICE_NUMBER n
|
|
|
+JOIN INCONTROL.ZHCX_PROJECT_MANAGE p ON p.ID = n.PID AND p.DELETED = '0'
|
|
|
+LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ t.MACHINEID,
|
|
|
+ WM_CONCAT (t.ID) AS ID,
|
|
|
+ t.PID,
|
|
|
+ t.PROJECTID,
|
|
|
+ t.MACHINENO,
|
|
|
+ CASE
|
|
|
+ WHEN SUM( CASE WHEN t.STATUS = '已关闭' THEN 1 ELSE 0 END ) = COUNT(*) THEN '已关闭'
|
|
|
+ WHEN SUM( CASE WHEN t.STATUS = '未关闭' THEN 1 ELSE 0 END ) > 0 THEN '未关闭'
|
|
|
+ WHEN ( SUM( CASE WHEN t.STATUS = '已关闭' THEN 1 ELSE 0 END ) > 0
|
|
|
+ AND SUM( CASE WHEN t.STATUS != '已关闭' THEN 1 ELSE 0 END ) = COUNT(*) - SUM( CASE WHEN t.STATUS = '已关闭' THEN 1 ELSE 0 END )) THEN '已关闭'
|
|
|
+ WHEN SUM( CASE WHEN t.STATUS = 'NA' THEN 1 ELSE 0 END ) = COUNT(*) THEN 'NA'
|
|
|
+ ELSE THEN '未关闭'
|
|
|
+ END AS STATUS
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ x.ID,
|
|
|
+ x.PID,
|
|
|
+ x.PROJECTID,
|
|
|
+ x.MACHINEID,
|
|
|
+ x.MACHINENO,
|
|
|
+ CASE WHEN x.STATUS IS NULL THEN '未关闭'
|
|
|
+ WHEN x.STATUS = 'NA' THEN 'NA'
|
|
|
+ WHEN x.STATUS = '已关闭' THEN '已关闭'
|
|
|
+ ELSE '未关闭'
|
|
|
+ END AS STATUS
|
|
|
+ FROM
|
|
|
+ INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION_DETAIL x
|
|
|
+ WHERE x.PID = #{id} AND x.DELETED = '0'
|
|
|
+ ) AS t
|
|
|
+ GROUP BY
|
|
|
+ t.MACHINEID,
|
|
|
+ t.PID,
|
|
|
+ t.PROJECTID,
|
|
|
+ t.MACHINENO
|
|
|
+ ) e ON e.PROJECTID = p.ID AND n.ID = e.MACHINEID
|
|
|
+WHERE n.DELETED = '0' AND p.ID = #{projectid}
|
|
|
+ORDER BY
|
|
|
+ TO_NUMBER (REPLACE ( n.DEVICE_NUMBER,'#','' ))
|
|
|
+-- SELECT CASE
|
|
|
+-- WHEN (SELECT COUNT(*)
|
|
|
+-- FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION_DETAIL x
|
|
|
+-- WHERE PID = #{id}
|
|
|
+-- AND DELETED = '0') = 0 THEN '未关闭'
|
|
|
+-- WHEN EXISTS (SELECT 1
|
|
|
+-- FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION_DETAIL x
|
|
|
+-- WHERE PID = #{id}
|
|
|
+-- AND DELETED = '0'
|
|
|
+-- AND (STATUS IS NULL
|
|
|
+-- OR STATUS = '未关闭')) THEN '未关闭'
|
|
|
+-- WHEN NOT EXISTS (SELECT 1
|
|
|
+-- FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION_DETAIL x
|
|
|
+-- WHERE PID = #{id}
|
|
|
+-- AND DELETED = '0'
|
|
|
+-- AND STATUS != 'NA') THEN 'NA'
|
|
|
+-- ELSE '已关闭'
|
|
|
+-- END AS CLOSESTATUS
|
|
|
+-- FROM DUAL;
|
|
|
</select>
|
|
|
|
|
|
<select id="getNotClosedStateInSecondHalfFloorByPid" resultType="java.lang.String">
|