ZhcxCommissionCheckDao.xml 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  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.ZhcxCommissionCheckDao">
  4. <update id="deleteCheckDetailByPid">
  5. UPDATE ZHCX_COMMISSION_CHECK_DETAIL SET DELETED = '1' WHERE PID = #{pid} and DELETED = '0'
  6. </update>
  7. <delete id="deleteTreeByPid">
  8. DELETE FROM INCONTROL.ZHCX_COMMISSION_CHECK_DETAIL_TREE WHERE BASEINFOID = #{pid}
  9. </delete>
  10. <delete id="deleteBaseInfoTreeByPid">
  11. DELETE FROM ZHCX_COMMISSION_CHECK_BASE_INFO_TREE WHERE BASEINFOID = #{pid} and DELETED = '0'
  12. </delete>
  13. <delete id="deleteBaseInfoDetailByPid">
  14. DELETE FROM ZHCX_COMMISSION_CHECK_BASE_INFO_DETAIL WHERE PID = #{pid} and DELETED = '0'
  15. </delete>
  16. <select id="checkedShippedByMasterId" resultType="java.lang.Integer">
  17. SELECT COUNT(*) AS count
  18. FROM INCONTROL.ZHCX_PROJECT_MANAGE_RECTIFY_BATCH t1
  19. WHERE DELETED = '0' AND SAVESTATUS = 'save' AND t1.DATASTATUS = '10'
  20. AND EXISTS (
  21. SELECT 1
  22. FROM INCONTROL.ZHCX_COMMISSION_CHECK t2
  23. WHERE t2.ID = #{masterId}
  24. AND ',' || t1.MACHINENOID || ',' LIKE '%,' || t2.MACHINEID || ',%'
  25. )
  26. </select>
  27. <select id="checkedShippedByMasterId2" resultType="java.lang.Integer">
  28. SELECT
  29. COUNT(*) AS count
  30. FROM
  31. INCONTROL.ZHCX_PROJECT_DEVICE_NUMBER
  32. WHERE
  33. ID = (
  34. SELECT
  35. MACHINEID
  36. FROM
  37. INCONTROL.ZHCX_COMMISSION_CHECK t2
  38. WHERE
  39. t2.ID = #{masterId} AND DELETED ='0' ) AND (STATUS ='发运' OR STATUS = '已交机')
  40. </select>
  41. <select id="getOtherShippeCheckList" resultType="com.rongwei.bsentity.domain.ZhcxCommissionCheckDo">
  42. SELECT c.* FROM INCONTROL.ZHCX_COMMISSION_CHECK c WHERE c.DELETED = '0' AND c.PROJECTCODE = (
  43. SELECT c.PROJECTCODE FROM INCONTROL.ZHCX_COMMISSION_CHECK c WHERE c.DELETED = '0' AND c.ID = #{masterId}
  44. ) AND ID NOT IN (#{masterId}) AND MACHINEID NOT IN (
  45. WITH temp_table AS (
  46. SELECT batch.MACHINENOID FROM INCONTROL.ZHCX_PROJECT_MANAGE_RECTIFY_BATCH batch WHERE batch.DELETED = '0' AND batch.PROJECTCODE = (
  47. SELECT c.PROJECTCODE FROM INCONTROL.ZHCX_COMMISSION_CHECK c WHERE c.DELETED = '0' AND c.ID = #{masterId}
  48. ) AND batch.SAVESTATUS = 'save' AND batch.DATASTATUS = '发运'
  49. ),
  50. split_table AS (
  51. SELECT REGEXP_SUBSTR(t.MACHINENOID, '[^,]+', 1, LEVEL) AS split_item
  52. FROM temp_table t
  53. CONNECT BY REGEXP_SUBSTR(t.MACHINENOID, '[^,]+', 1, LEVEL) IS NOT NULL
  54. ),
  55. combined_table AS (
  56. SELECT LISTAGG(DISTINCT split_item, ',') WITHIN GROUP (ORDER BY split_item) AS combined_result
  57. FROM split_table
  58. ),
  59. final_result AS (
  60. SELECT COALESCE(REGEXP_SUBSTR(c.combined_result, '[^,]+', 1, LEVEL), '99999999999999') AS split_result
  61. FROM combined_table c
  62. CONNECT BY REGEXP_SUBSTR(c.combined_result, '[^,]+', 1, LEVEL) IS NOT NULL
  63. )
  64. SELECT split_result FROM final_result
  65. )
  66. </select>
  67. <select id="getOtherShippeCheckList2" resultType="com.rongwei.bsentity.domain.ZhcxCommissionCheckDo">
  68. SELECT
  69. c.*
  70. FROM
  71. INCONTROL.ZHCX_COMMISSION_CHECK c
  72. JOIN INCONTROL.ZHCX_PROJECT_DEVICE_NUMBER nu ON
  73. c.MACHINEID = nu.ID
  74. AND nu.DELETED = '0'
  75. AND ((nu.STATUS != '发运' and nu.STATUS != '已交机') OR nu.STATUS IS NULL)
  76. WHERE
  77. c.PROJECTCODE = (
  78. SELECT
  79. c.PROJECTCODE
  80. FROM
  81. INCONTROL.ZHCX_COMMISSION_CHECK c
  82. WHERE
  83. c.DELETED = '0'
  84. AND c.ID = #{masterId}
  85. )
  86. AND c.ID != #{masterId}
  87. </select>
  88. <select id="selectDetailListByPidAndChapterno" resultType="com.rongwei.bsentity.domain.ZhcxCommissionCheckDetailDo">
  89. SELECT *
  90. FROM INCONTROL.ZHCX_COMMISSION_CHECK_DETAIL
  91. WHERE DELETED = '1'
  92. AND PID = #{pid}
  93. AND CHAPTERNO = #{chapterno}
  94. AND (DEBUGGERRESULT IS NOT NULL OR TESTRESULT IS NOT NULL)
  95. ORDER BY MODIFYDATE DESC
  96. </select>
  97. <select id="selectHistoryDetailList" resultType="com.rongwei.bsentity.domain.ZhcxCommissionCheckDetailDo">
  98. SELECT *
  99. FROM (
  100. SELECT *,
  101. ROW_NUMBER() OVER (PARTITION BY BASEDETAILID ORDER BY MODIFYDATE DESC) AS row_num
  102. FROM INCONTROL.ZHCX_COMMISSION_CHECK_DETAIL
  103. WHERE DELETED = '1'
  104. AND PID = #{pid}
  105. AND (DEBUGGERRESULT IS NOT NULL OR TESTRESULT IS NOT NULL)
  106. AND (ISTITLE IS NULL OR ISTITLE = '')
  107. ORDER BY MODIFYDATE DESC
  108. ) AS temp
  109. WHERE row_num = 1
  110. ORDER BY MODIFYDATE DESC
  111. </select>
  112. <select id="getLargeScreenData" resultType="com.rongwei.bsentity.vo.check.LargeScreenCheckVo">
  113. SELECT c.MACHINEID as machinenoid,
  114. c.MACHINENO as machineno,
  115. c.PROJECTCODE as projectcode,
  116. c.PROJECTID as projectid,
  117. c.PROJECTNAME as projectname,
  118. CASE
  119. WHEN b.qaresult IS NULL THEN '0'
  120. WHEN b.qaresult = 0 THEN '0'
  121. ELSE b.qaresult
  122. END as molecule,
  123. CASE
  124. WHEN b.total IS NULL THEN '0'
  125. WHEN b.total = 0 THEN '0'
  126. ELSE (b.total - b.na2)
  127. END as denominator,
  128. CASE
  129. WHEN b.qaalltesttime_cx IS NULL THEN '0'
  130. WHEN b.qaalltesttime_cx = 0 THEN '0'
  131. WHEN b.qatesttime_cx IS NULL THEN '0'
  132. WHEN b.qatesttime_cx = 0 THEN '0'
  133. ELSE ROUND(b.qatesttime_cx / b.qaalltesttime_cx, 4)
  134. END AS qaprogress,
  135. se.ESTIMATEDENDDATE as endData
  136. FROM INCONTROL.ZHCX_COMMISSION_CHECK c
  137. LEFT JOIN (SELECT PID,
  138. count(*) AS total,
  139. SUM(CASE WHEN det.TESTRESULT = '20' THEN 1 ELSE 0 END) AS na2,
  140. SUM(CASE WHEN det.TESTRESULT = '30' THEN 1 ELSE 0 END) AS qaresult,
  141. SUM(CASE
  142. WHEN (det.TESTRESULT NOT IN ('20') OR det.TESTRESULT IS NULL) AND
  143. (det.TESTADDRESS = '10' OR det.TESTADDRESS IS NULL) THEN det.TESTTIME
  144. ELSE 0 END) AS qaalltesttime_cx,
  145. SUM(CASE
  146. WHEN det.TESTRESULT = '30' AND (det.TESTADDRESS = '10' OR det.TESTADDRESS IS NULL)
  147. THEN det.TESTTIME
  148. ELSE 0 END) AS qatesttime_cx
  149. FROM INCONTROL.ZHCX_COMMISSION_CHECK_DETAIL det
  150. WHERE det.DELETED = '0'
  151. GROUP BY PID) b ON b.PID = c.ID
  152. LEFT JOIN INCONTROL.ZHCX_COMMISSION_CHECK_PARAMETER_SET_DETAL se on se.CHECKID = c.ID AND se.DELETED = '0'
  153. WHERE c.DELETED = '0'
  154. <if test='projectId != null'>and c.PROJECTID = #{projectId}</if>
  155. <if test='machineno != null'>and c.MACHINENO = #{machineno}</if>
  156. and EXISTS (SELECT *
  157. FROM INCONTROL.ZHCX_SHIP_OFFSHORE_DETAIL d
  158. WHERE d.PROJECTID = c.PROJECTID
  159. AND d.MACHINENO = c.MACHINENO
  160. AND d.DELETED = '0')
  161. </select>
  162. <update id="delCoreInspectionDetail">
  163. update ZHCX_CORE_INSPECTION_DETAIL set DELETED='1' where DELETED='0' and
  164. PID in
  165. <foreach collection="delpids" item="delpid" index="index" open="(" close=")" separator=",">
  166. #{delpid}
  167. </foreach>
  168. </update>
  169. <update id="delCheckBeforeQualified">
  170. update ZHCX_CHECK_BEFORE_QUALIFIED set DELETED='1' where DELETED='0' and
  171. PID in
  172. <foreach collection="delpids" item="delpid" index="index" open="(" close=")" separator=",">
  173. #{delpid}
  174. </foreach>
  175. </update>
  176. </mapper>