ZhcxPmqManagementDistributionDetailDao.xml 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.rongwei.bscommon.sys.dao.ZhcxPmqManagementDistributionDetailDao">
  4. <select id="getNotClosedStateInSecondFloorByPid" resultType="java.lang.String">
  5. SELECT CASE
  6. WHEN (SELECT COUNT(*)
  7. FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_RECORED x
  8. WHERE PMQMID = #{id}
  9. AND DELETED = '0') = 0 THEN '未关闭'
  10. WHEN EXISTS (SELECT 1
  11. FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_RECORED x
  12. WHERE PMQMID = #{id}
  13. AND DELETED = '0'
  14. AND (CLOSESTATUS IS NULL
  15. OR CLOSESTATUS = '未关闭' OR CLOSESTATUS = '')) THEN '未关闭'
  16. WHEN NOT EXISTS (SELECT 1
  17. FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_RECORED x
  18. WHERE PMQMID = #{id}
  19. AND DELETED = '0'
  20. AND CLOSESTATUS != 'NA') THEN 'NA'
  21. ELSE '已关闭'
  22. END AS CLOSESTATUS
  23. FROM DUAL;
  24. </select>
  25. <select id="getNotClosedStateInThirdFloorByPid" resultType="java.lang.String">
  26. SELECT
  27. CASE
  28. WHEN SUM( CASE WHEN e.STATUS = '已关闭' THEN 1 ELSE 0 END ) = COUNT(*) THEN '已关闭'
  29. WHEN SUM( CASE WHEN e.STATUS = '未关闭' OR e.STATUS IS NULL THEN 1 ELSE 0 END ) > 0 THEN '未关闭'
  30. 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 '已关闭'
  31. WHEN SUM( CASE WHEN e.STATUS = 'NA' THEN 1 ELSE 0 END ) = COUNT(*) THEN 'NA'
  32. ELSE THEN '未关闭'
  33. END AS STATUS
  34. FROM
  35. INCONTROL.ZHCX_PROJECT_DEVICE_NUMBER n
  36. JOIN INCONTROL.ZHCX_PROJECT_MANAGE p ON p.ID = n.PID AND p.DELETED = '0'
  37. LEFT JOIN (
  38. SELECT
  39. t.MACHINEID,
  40. WM_CONCAT (t.ID) AS ID,
  41. t.PID,
  42. t.PROJECTID,
  43. t.MACHINENO,
  44. CASE
  45. WHEN SUM( CASE WHEN t.STATUS = '已关闭' THEN 1 ELSE 0 END ) = COUNT(*) THEN '已关闭'
  46. WHEN SUM( CASE WHEN t.STATUS = '未关闭' THEN 1 ELSE 0 END ) > 0 THEN '未关闭'
  47. WHEN ( SUM( CASE WHEN t.STATUS = '已关闭' THEN 1 ELSE 0 END ) > 0
  48. AND SUM( CASE WHEN t.STATUS != '已关闭' THEN 1 ELSE 0 END ) = COUNT(*) - SUM( CASE WHEN t.STATUS = '已关闭' THEN 1 ELSE 0 END )) THEN '已关闭'
  49. WHEN SUM( CASE WHEN t.STATUS = 'NA' THEN 1 ELSE 0 END ) = COUNT(*) THEN 'NA'
  50. ELSE THEN '未关闭'
  51. END AS STATUS
  52. FROM
  53. (
  54. SELECT
  55. x.ID,
  56. x.PID,
  57. x.PROJECTID,
  58. x.MACHINEID,
  59. x.MACHINENO,
  60. CASE WHEN x.STATUS IS NULL THEN '未关闭'
  61. WHEN x.STATUS = 'NA' THEN 'NA'
  62. WHEN x.STATUS = '已关闭' THEN '已关闭'
  63. ELSE '未关闭'
  64. END AS STATUS
  65. FROM
  66. INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION x
  67. WHERE x.PID = #{id} AND x.DELETED = '0'
  68. ) AS t
  69. GROUP BY
  70. t.MACHINEID,
  71. t.PID,
  72. t.PROJECTID,
  73. t.MACHINENO
  74. ) e ON e.PROJECTID = p.ID AND n.ID = e.MACHINEID
  75. WHERE n.DELETED = '0' AND p.ID = #{projectid}
  76. ORDER BY
  77. TO_NUMBER (REPLACE ( n.DEVICE_NUMBER,'#','' ))
  78. </select>
  79. <select id="getNotClosedStateInSecondHalfFloorByPid" resultType="java.lang.String">
  80. SELECT CASE
  81. WHEN (SELECT COUNT(*)
  82. FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION_DETAIL x
  83. WHERE DISTRIBUTID = #{id}
  84. AND DELETED = '0') = 0 THEN '未关闭'
  85. WHEN EXISTS (SELECT 1
  86. FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION_DETAIL x
  87. WHERE DISTRIBUTID = #{id}
  88. AND DELETED = '0'
  89. AND (STATUS IS NULL
  90. OR STATUS = '未关闭')) THEN '未关闭'
  91. WHEN NOT EXISTS (SELECT 1
  92. FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION_DETAIL x
  93. WHERE DISTRIBUTID = #{id}
  94. AND DELETED = '0'
  95. AND STATUS != 'NA') THEN 'NA'
  96. ELSE '已关闭'
  97. END AS CLOSESTATUS
  98. FROM DUAL;
  99. </select>
  100. <select id="getDataByTime" resultType="com.rongwei.bsentity.vo.pmq.ZhcxPmqManagementDistributionDetailVo">
  101. SELECT
  102. WM_CONCAT(DISTINCT x.MACHINENO) MACHINENO,
  103. WM_CONCAT(DISTINCT x.PROJECTNO) PROJECTNO,
  104. WM_CONCAT(DISTINCT x.PROJECTNAME) PROJECTNAME,
  105. WM_CONCAT(DISTINCT x.CONFIRMER) CONFIRMER,
  106. WM_CONCAT(DISTINCT x.ESTIMATEDCLOSEDATA) ESTIMATEDCLOSEDATA,
  107. WM_CONCAT(IFNULL(x.STATUS, '未关闭')) AS STATUS,
  108. WM_CONCAT(DISTINCT x.SERIALNUMBER) SERIALNUMBER,
  109. WM_CONCAT(DISTINCT x.SUPPLEMENT) SUPPLEMENT,
  110. WM_CONCAT(DISTINCT r.DISTRIBUTETIME) DISTRIBUTETIME,
  111. WM_CONCAT(DISTINCT r.DEPTID) DEPTID,
  112. WM_CONCAT(DISTINCT r.DEPTNAME) DEPTNAME
  113. FROM
  114. INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION x
  115. LEFT JOIN INCONTROL.ZHCX_PMQ_MANAGEMENT_RECORED r ON r.ID = x.PID AND r.DELETED = '0'
  116. WHERE
  117. x.DELETED = '0' AND TRUNC(r.DISTRIBUTETIME) = TO_DATE(#{data}, 'YYYY-MM-DD') AND (x.STATUS IS NOT NULL OR x.STATUS !='未关闭')
  118. GROUP BY x.MACHINEID,x.SERIALNUMBER,r.DEPTID
  119. </select>
  120. <select id="getDataForApi" resultType="com.rongwei.bsentity.vo.pmq.ZhcxPmqManagementVo">
  121. SELECT
  122. p.MACHINENO AS MACHINENO,
  123. manage.PROJECTNO AS PROJECTNO,
  124. manage.PROJECTNAME AS PROJECTNAME,
  125. dis.CONFIRMERID AS CONFIRMERID,
  126. dis.CONFIRMER AS CONFIRMER,
  127. dis.ESTIMATEDCLOSEDATA AS ESTIMATEDCLOSEDATA,
  128. COALESCE (IF(dis.STATUS IS NULL, recored.CLOSESTATUS, dis.STATUS),recored.CLOSESTATUS) AS STATUS,
  129. recored.SEQNO AS SERIALNUMBER,
  130. recored.REMARK AS REMARK,
  131. dis.SUPPLEMENT AS SUPPLEMENT,
  132. recored.DEPTNAME,
  133. recored.DEPTID,
  134. dis.CLOSEDATA,
  135. recored.DISTRIBUTETIME,
  136. dis.MODIFYDATE,
  137. dis.MODIFYUSERID,
  138. dis.MODIFYUSERNAME
  139. FROM
  140. ZHCX_PMQ_MANAGEMENT_RECORED recored
  141. LEFT JOIN ZHCX_PMQ_MANAGEMENT manage ON manage.ID = recored.PMQMID AND manage.DELETED = '0'
  142. LEFT JOIN (
  143. SELECT
  144. n.ID AS MACHINEID,
  145. n.DEVICE_NUMBER AS MACHINENO,
  146. p.ID AS PROJECTID
  147. FROM
  148. ZHCX_PROJECT_DEVICE_NUMBER n
  149. JOIN ZHCX_PROJECT_MANAGE p ON
  150. p.ID = n.PID
  151. AND p.DELETED = '0'
  152. WHERE
  153. n.DELETED = '0'
  154. )p ON p.PROJECTID = manage.PROJECTID
  155. LEFT JOIN ZHCX_PMQ_MANAGEMENT_DISTRIBUTION_DETAIL dis ON dis.PID = recored.ID AND dis.MACHINEID = p.MACHINEID AND dis.DELETED = '0'
  156. WHERE
  157. recored.DELETED = '0' AND
  158. recored.SEQNO = #{seqno} and recored.DEPTID = #{dept}
  159. ORDER BY
  160. TO_NUMBER(REPLACE(p.MACHINENO, '#', '')),dis.REMARK
  161. </select>
  162. </mapper>