ProductionDataDao.xml 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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="cn.com.victorysoft.business.cyyzs.dao.ProductionDataDao">
  4. <select id="selectList" resultType="cn.com.victorysoft.business.cyyzs.entity.ProductionData">
  5. SELECT
  6. B.GYLX, COUNT(1) ZJS,
  7. SUM(CASE WHEN KCS >= 1 THEN 1 ELSE 0 END) KJS,
  8. SUM(ZCS) ZCS, SUM(KCS) KCS,
  9. SUM(CASE WHEN IS_JCJ >= 1 THEN 1 ELSE 0 END) JCJS,
  10. SUM(JCCS) JCCS, SUM(HGC) HGC, SUM(CZC) CZC, SUM(QZC) QZC, SUM(BQC) BQC
  11. FROM
  12. (
  13. SELECT
  14. A.WELLNAME, COUNT(1) ZCS,
  15. SUM(CASE WHEN IS_JCJ = '检查井' THEN 1 ELSE 0 END) IS_JCJ,
  16. SUM(CASE WHEN IS_JCC = '检查层' THEN 1 ELSE 0 END) JCCS,
  17. SUM(CASE WHEN WELL_WATER > 0.5 AND JC_ZKSJ > 24 THEN 1 ELSE 0 END) KCS,
  18. SUM(CASE WHEN IS_JCC = '检查层' AND SPB >= 0.8 AND SPB <![CDATA[ <= ]]> 1.2 THEN 1 ELSE 0 END) HGC,
  19. SUM(CASE WHEN IS_JCC = '检查层' AND SPB > 1.2 THEN 1 ELSE 0 END) CZC,
  20. SUM(CASE WHEN IS_JCC = '检查层' AND SPB <![CDATA[ < ]]> 0.8 THEN 1 ELSE 0 END) QZC,
  21. SUM(CASE WHEN IS_JCC = '检查层' AND SPB IS NULL THEN 1 ELSE 0 END) BQC
  22. FROM
  23. (
  24. SELECT
  25. A.*, DECODE(JC_ZPZL, 0, null, JC_ZZSL / JC_ZPZL) SPB
  26. FROM
  27. (
  28. SELECT
  29. A.*, CASE WHEN IS_JCJ = '检查井' THEN (CASE WHEN JC_FT_COUNT >= 1 AND JC_ZZSL = 0 THEN '不检查层' ELSE '检查层' END) ELSE '不检查层' END IS_JCC
  30. FROM
  31. (
  32. SELECT
  33. A.*, CASE WHEN A.JC_ZKSJ <![CDATA[ < ]]> (7 * 24) OR J_BZYY_COUNT >= 1 OR (JC_ZKSJ <![CDATA[ < ]]> 24 OR J_ZZSL <![CDATA[ <= ]]> 0.5) THEN '不检查井' ELSE '检查井' END IS_JCJ
  34. FROM
  35. (
  36. SELECT
  37. A.*,
  38. SUM(JC_ZZSL) OVER(PARTITION BY WELLNAME) J_ZZSL,
  39. SUM(JC_ZPZL) OVER(PARTITION BY WELLNAME) J_ZPZL,
  40. SUM(JC_DTTZ_COUNT) OVER(PARTITION BY WELLNAME) J_DTTZ_COUNT,
  41. SUM(JC_FT_COUNT) OVER(PARTITION BY WELLNAME) J_FT_COUNT,
  42. SUM(JC_BZYY_COUNT) OVER(PARTITION BY WELLNAME) J_BZYY_COUNT
  43. FROM
  44. (
  45. SELECT
  46. A.WELLNAME, A.SECTION,
  47. SUM(WELL_WATER) WELL_WATER,
  48. SUM(NVL(A.OPEN_TIME, 0)) JC_ZKSJ,
  49. SUM(NVL(A.DAILY_WATER, 0)) JC_ZZSL,
  50. SUM(NVL(A.PLAN_DAILY_WATER,0)) JC_ZPZL,
  51. SUM(CASE WHEN A.REMARK LIKE '%动态停注%' THEN 1 ELSE 0 END) JC_DTTZ_COUNT,
  52. SUM(CASE WHEN A.NOZZLE LIKE '%方停%' THEN 1 ELSE 0 END) JC_FT_COUNT,
  53. SUM(CASE WHEN A.REMARK LIKE '%大修%' THEN 1 WHEN REMARK LIKE '%调剖%' THEN 1
  54. WHEN A.REMARK LIKE '%挤素%' THEN 1
  55. WHEN A.REMARK LIKE '%化堵%' THEN 1
  56. WHEN A.REMARK LIKE '%酸化%' THEN 1
  57. WHEN A.REMARK LIKE '%示踪剂%' THEN 1 ELSE 0 END) JC_BZYY_COUNT
  58. FROM
  59. WELL_SECTION_DAILY A
  60. LEFT JOIN WATER_WELL_BASIC B ON A.WELLNAME = B.JH
  61. WHERE
  62. 1 = 1
  63. <if test="ksrq != null and ksrq != ''"> AND A.RECORD_DATE >= TO_DATE(#{ksrq}, 'yyyy-mm-dd')</if>
  64. <if test="jsrq != null and jsrq != ''"> AND A.RECORD_DATE <![CDATA[ <= ]]> TO_DATE(#{jsrq}, 'yyyy-mm-dd')</if>
  65. <if test="dydm != null and dydm != ''"> AND A.QKDM = #{dydm}</if>
  66. <if test="dwdm != null and dwdm != ''"> AND A.DWDM IN (SELECT UNITCODE FROM SYS_UNITINFO START WITH UNITCODE = #{dwdm} CONNECT BY PRIOR UNITCODE = P_UNITCODE)</if>
  67. <if test="yclx != null and yclx != ''"> AND B.YCLX = #{yclx}</if>
  68. GROUP BY A.WELLNAME, A.SECTION
  69. ) A
  70. ) A
  71. ) A
  72. ) A
  73. ) A
  74. GROUP BY WELLNAME
  75. ) A
  76. LEFT JOIN WELL_PROCESS_TYPE B ON A.WELLNAME = B.JH
  77. GROUP BY B.GYLX
  78. </select>
  79. </mapper>