ZhcxPmqManagementDistributionDao.xml 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  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.ZhcxPmqManagementDistributionDao">
  4. <update id="updateDispatchStatus">
  5. UPDATE
  6. INCONTROL.ZHCX_PMQ_MANAGEMENT_RECORED
  7. SET
  8. DISPATCHSTATUS = #{status},MODIFYDATE = #{nowDate}
  9. WHERE
  10. ID = #{id}
  11. </update>
  12. <select id="selectListByPidForConfirmer"
  13. resultType="com.rongwei.bsentity.domain.ZhcxPmqManagementDistributionDo">
  14. WITH SplitConfirmers AS (SELECT a.ID,
  15. a.DELETED,
  16. a.REMARK,
  17. a.PID,
  18. a.PROJECTID,
  19. a.MACHINEID,
  20. a.MACHINENO,
  21. a.PROJECTNO,
  22. a.PROJECTNAME,
  23. SUBSTRING_INDEX(SUBSTRING_INDEX(a.CONFIRMERID, ',', n.n), ',',-1) AS CONFIRMERID,
  24. SUBSTRING_INDEX(SUBSTRING_INDEX(a.CONFIRMER, ',', n.n), ',', -1) AS CONFIRMER,
  25. a.ESTIMATEDCLOSEDATA,
  26. a.STATUS,
  27. a.SERIALNUMBER,
  28. a.SUPPLEMENT
  29. FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION a
  30. CROSS JOIN (SELECT LEVEL AS n
  31. FROM DUAL CONNECT BY LEVEL &lt;= 100) AS n
  32. WHERE a.DELETED = '0'
  33. AND a.PID = #{pid}
  34. AND a.CONFIRMERID IS NOT NULL
  35. AND LENGTH(a.CONFIRMERID) - LENGTH(REPLACE(a.CONFIRMERID, ',', '')) >= n.n - 1
  36. AND LENGTH(a.CONFIRMER) - LENGTH(REPLACE(a.CONFIRMER, ',', '')) >= n.n - 1)
  37. SELECT *
  38. FROM SplitConfirmers
  39. WHERE CONFIRMERID != ''
  40. </select>
  41. <select id="selectListByPidForConfirmer2"
  42. resultType="com.rongwei.bsentity.domain.ZhcxPmqManagementDistributionDo">
  43. SELECT a.*
  44. FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION a
  45. WHERE a.DELETED = '0'
  46. AND a.PID = #{pid}
  47. AND a.CONFIRMERID IS NOT NULL
  48. </select>
  49. <select id="selectListByPid"
  50. resultType="com.rongwei.bsentity.domain.ZhcxPmqManagementDistributionDo">
  51. SELECT a.*
  52. FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION a
  53. WHERE a.DELETED = '0' AND a.PID = #{pid}
  54. AND a.CONFIRMERID IS NULL
  55. </select>
  56. <select id="getDetailList" resultType="com.rongwei.bsentity.domain.ZhcxPmqManagementDistributionDetailDo">
  57. SELECT
  58. *
  59. FROM
  60. INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION_DETAIL detail
  61. WHERE
  62. detail.DELETED = '0'
  63. AND detail.DISTRIBUTID = #{distributid}
  64. AND detail.PID = #{pid}
  65. AND detail.MACHINEID = #{machineid}
  66. AND detail.CONFIRMERID = #{confirmerid}
  67. </select>
  68. <select id="getAllMachinseNoByProjectId" resultType="java.lang.String">
  69. SELECT
  70. n.DEVICE_NUMBER AS MACHINENO
  71. FROM
  72. INCONTROL.ZHCX_PROJECT_DEVICE_NUMBER n
  73. JOIN INCONTROL.ZHCX_PROJECT_MANAGE p ON
  74. p.ID = n.PID
  75. AND p.DELETED = '0'
  76. WHERE
  77. n.DELETED = '0' AND p.ID = #{projectId}
  78. ORDER BY
  79. TO_NUMBER(REPLACE(n.DEVICE_NUMBER, '#', ''))
  80. </select>
  81. <select id="getAllDeptByPid" resultType="com.rongwei.bsentity.vo.report.ZhcxPmqManageChildVo">
  82. SELECT
  83. recored.ID AS id,
  84. manage.ID AS pid,
  85. recored.SEQNO AS seqno,
  86. recored.DEPTID AS deptId,
  87. m.PARENTNXDEPTNAME ||'/'||recored.DEPTNAME AS deptName
  88. FROM
  89. INCONTROL.ZHCX_PMQ_MANAGEMENT_RECORED recored
  90. LEFT JOIN INCONTROL.ZHCX_PMQ_MANAGEMENT manage ON manage.ID = recored.PMQMID AND manage.DELETED = '0'
  91. LEFT JOIN INCONTROL.ZHCX_PMQ_MANAGEMENT_MAP m ON recored.DEPTID = m.NXDEPTID
  92. WHERE
  93. recored.DELETED = '0'
  94. AND recored.PMQMID = #{id}
  95. ORDER BY m.SORTORDER
  96. </select>
  97. <select id="getMachinesStatus" resultType="com.rongwei.bsentity.vo.report.MachineState">
  98. SELECT
  99. n.ID AS machineid,
  100. n.DEVICE_NUMBER AS machineno,
  101. e.PID AS pid,
  102. e.ID AS id,
  103. CASE
  104. WHEN e.STATUS IS NULL THEN '未关闭'
  105. ELSE e.STATUS
  106. END AS STATUS
  107. FROM
  108. INCONTROL.ZHCX_PROJECT_DEVICE_NUMBER n
  109. JOIN INCONTROL.ZHCX_PROJECT_MANAGE p ON
  110. p.ID = n.PID
  111. AND p.DELETED = '0'
  112. LEFT JOIN (
  113. SELECT
  114. t.MACHINEID,
  115. WM_CONCAT(t.ID) AS ID,
  116. t.PID,
  117. t.PROJECTID,
  118. t.MACHINENO,
  119. CASE
  120. WHEN SUM(CASE WHEN t.STATUS = '已关闭' THEN 1 ELSE 0 END) = COUNT(*) THEN '已关闭'
  121. WHEN SUM(CASE WHEN t.STATUS = '未关闭' THEN 1 ELSE 0 END) >0 THEN '未关闭'
  122. 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 '已关闭'
  123. WHEN SUM(CASE WHEN t.STATUS = 'NA' THEN 1 ELSE 0 END) = COUNT(*) THEN 'NA'
  124. ELSE THEN '未关闭'
  125. END AS STATUS
  126. FROM
  127. (
  128. SELECT
  129. x.ID,
  130. x.PID,
  131. x.PROJECTID,
  132. x.MACHINEID,
  133. x.MACHINENO,
  134. CASE
  135. WHEN x.STATUS IS NULL THEN '未关闭'
  136. WHEN x.STATUS = 'NA' THEN 'NA'
  137. WHEN x.STATUS = '已关闭' THEN '已关闭'
  138. ELSE '未关闭'
  139. END AS STATUS
  140. FROM
  141. INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION_DETAIL x
  142. WHERE
  143. x.PID = #{id}
  144. AND x.DELETED = '0'
  145. ) AS t
  146. GROUP BY
  147. t.MACHINEID,
  148. t.PID,
  149. t.PROJECTID,
  150. t.MACHINENO
  151. )e ON
  152. e.PROJECTID = p.ID
  153. AND n.ID = e.MACHINEID
  154. WHERE
  155. n.DELETED = '0'
  156. AND p.ID = #{projectId}
  157. ORDER BY
  158. TO_NUMBER(REPLACE(n.DEVICE_NUMBER, '#', ''))
  159. </select>
  160. <update id="deleteBatchIdsForDispatchTochange">
  161. UPDATE
  162. INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION_DETAIL
  163. SET
  164. DELETED = '1',REMARK = '改派删除',MODIFYDATE = #{nowDate}
  165. WHERE
  166. ID IN
  167. <foreach collection="resultList" item="id" open="(" close=")" separator=",">
  168. #{id}
  169. </foreach>
  170. </update>
  171. </mapper>