ZhcxCommissionCheckDao.xml 7.7 KB

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