DcPageOfficeRenyinRportDao.xml 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  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.goldenwater.dcproj.dao.DcPageOfficeRenyinReportDao">
  4. <select id="getGroupAndPersonInfo" resultType="java.util.HashMap">
  5. SELECT DISTINCT
  6. A.ID, A.PNM, LISTAGG(R.AD_FULL_NAME, ',') WITHIN GROUP(ORDER BY A.ID, A.PNM) AD_NAME
  7. FROM
  8. BIS_INSP_ALL A
  9. LEFT JOIN
  10. (SELECT ID,OBJ_ID FROM BIS_INSP_ALL_OBJ) O ON A.ID = O.ID
  11. LEFT JOIN
  12. BIS_NEW_VILL_RGSTR R ON O.OBJ_ID = R.OBJ_ID
  13. WHERE
  14. A.ID LIKE #{id} || '%'
  15. AND LENGTH(A.ID) = 12
  16. GROUP BY A.ID, A.PNM
  17. </select>
  18. <!-- 根据节点获取 派出督查组及人员情况-->
  19. <select id="getGroupAndPerson" resultType="java.util.HashMap">
  20. SELECT
  21. DISTINCT T.ID, T.PNM, T2.DAY_TIME, T2.DAYS
  22. FROM
  23. (
  24. SELECT
  25. <choose>
  26. <when test="id.length()==6">
  27. substr(id,0,6)
  28. </when>
  29. <when test="id.length()==9">
  30. substr(id,0,9)
  31. </when>
  32. <otherwise>
  33. id
  34. </otherwise>
  35. </choose>
  36. ID, LISTAGG(PNM, '、') WITHIN GROUP(ORDER BY ID) PNM
  37. FROM BIS_INSP_ALL A
  38. WHERE
  39. LENGTH(ID)=12
  40. AND ID LIKE #{id} || '%'
  41. GROUP BY
  42. <choose>
  43. <when test="id.length()==6">
  44. substr(id,0,6)
  45. </when>
  46. <when test="id.length()==9">
  47. substr(id,0,9)
  48. </when>
  49. <otherwise>
  50. id
  51. </otherwise>
  52. </choose>
  53. ) T
  54. LEFT JOIN
  55. (
  56. SELECT
  57. Q.ID,Q1.PERS_NAME,Q1.ORG_NM,Q1.DPPOST,Q.PERTYPE,Q1.ADM_DUTY
  58. FROM BIS_INSP_ALL_RLATION Q
  59. INNER JOIN
  60. BIS_INSP_ALL_RLATION_PERS Q1 ON Q.PERSID=Q1.GUID
  61. WHERE LENGTH(Q.ID)=12
  62. ) T1 ON T.ID = T1.ID
  63. LEFT JOIN
  64. (
  65. SELECT
  66. ID,TO_CHAR(A.STTM, 'YYYY"年"MM"月"DD"日"') || '至' || TO_CHAR(A.ENTM, 'MM"月"DD"日"') AS DAY_TIME,
  67. ROUND(TO_NUMBER(A.ENTM - A.STTM)) AS DAYS
  68. FROM BIS_INSP_ALL A
  69. WHERE ID = #{id}
  70. ) T2 ON T.ID=T2.ID
  71. </select>
  72. <select id="getGroupPerson" resultType="java.util.HashMap">
  73. SELECT DISTINCT
  74. T.ID,
  75. T.PNM,
  76. LISTAGG(T1.PERS_NAME, ',') WITHIN GROUP(ORDER BY T.ID, T.PNM) GROUP_PER
  77. FROM
  78. (
  79. SELECT
  80. id ID,
  81. LISTAGG(PNM, '、') WITHIN GROUP(ORDER BY ID) PNM
  82. FROM
  83. BIS_INSP_ALL A
  84. WHERE
  85. LENGTH( ID ) = 12
  86. AND ID LIKE #{id} || '%'
  87. GROUP BY
  88. id
  89. ) T
  90. LEFT JOIN (
  91. SELECT
  92. Q.ID,
  93. Q1.PERS_NAME,
  94. Q1.ORG_NM,
  95. Q1.DPPOST,
  96. Q.PERTYPE,
  97. Q1.ADM_DUTY
  98. FROM
  99. BIS_INSP_ALL_RLATION Q
  100. INNER JOIN BIS_INSP_ALL_RLATION_PERS Q1 ON Q.PERSID = Q1.GUID
  101. WHERE
  102. LENGTH( Q.ID ) = 12
  103. AND Q.ID LIKE #{id} || '%'
  104. ) T1 ON T.ID = T1.ID
  105. group by T.ID, T.PNM
  106. </select>
  107. <!-- 一、督查工作情况 -->
  108. <select id="getWorkOption" resultType="java.util.HashMap">
  109. SELECT
  110. COUNT(DISTINCT R.ID) AAA,
  111. COUNT(DISTINCT SUBSTR(R.AD_CODE,0,2)) SHENG,
  112. COUNT(DISTINCT SUBSTR(R.AD_CODE,0,4)) SHI,
  113. COUNT(DISTINCT SUBSTR(R.AD_CODE,0,6)) XIAN,
  114. COUNT(DISTINCT DR.TOWN_NAME) TOWN,
  115. COUNT(DISTINCT DR.ID) VILL_CODE,
  116. COUNT(DISTINCT CF.ID) GONGSHUIGONGCHENG,
  117. COUNT(DISTINCT WI.ID) YONGSHUIHU
  118. FROM
  119. BIS_INSP_ALL_OBJ O
  120. LEFT JOIN
  121. BIS_NEW_VILL_RGSTR R ON O.OBJ_ID=R.OBJ_ID
  122. LEFT JOIN
  123. BIS_NEW_DCUSER_REL_VILL DR ON R.ID = DR.REGSTR_ID
  124. LEFT JOIN
  125. BIS_NEW_WATERUSER_INFO WI ON R.ID = WI.REGSTR_ID
  126. LEFT JOIN
  127. BIS_NEW_COUNTRY_FEE CF ON R.ID = CF.REGSTR_ID
  128. WHERE
  129. LENGTH(O.ID)=12
  130. <choose>
  131. <when test="id.length()==6">
  132. AND SUBSTR(O.ID,0,6) = #{id}
  133. </when>
  134. <when test="id.length()==9">
  135. AND SUBSTR(O.ID,0,9) = #{id}
  136. </when>
  137. <otherwise>
  138. AND O.ID = #{id}
  139. </otherwise>
  140. </choose>
  141. </select>
  142. <!-- 一、督查工作情况2 -->
  143. <select id="getWorkOptions" resultType="java.util.HashMap">
  144. SELECT
  145. SUM(CASE WHEN CF.PROJECT_TYPE != '1' THEN 1 ELSE 0 END) DESIGN_WATER_SUPPLY_UP1000,
  146. SUM(CASE WHEN CF.PROJECT_TYPE = '1' THEN 1 ELSE 0 END) DESIGN_WATER_SUPPLY_DOWN1000
  147. FROM
  148. BIS_INSP_ALL_OBJ O
  149. LEFT JOIN
  150. BIS_NEW_VILL_RGSTR R ON O.OBJ_ID=R.OBJ_ID
  151. LEFT JOIN
  152. BIS_NEW_COUNTRY_FEE CF ON R.ID = CF.REGSTR_ID
  153. WHERE
  154. LENGTH(O.ID)=12
  155. <choose>
  156. <when test="id.length()==6">
  157. AND SUBSTR(O.ID,0,6) = #{id}
  158. </when>
  159. <when test="id.length()==9">
  160. AND SUBSTR(O.ID,0,9) = #{id}
  161. </when>
  162. <otherwise>
  163. AND O.ID = #{id}
  164. </otherwise>
  165. </choose>
  166. </select>
  167. <select id="getWorkOptionQuestion" resultType="java.util.HashMap">
  168. SELECT
  169. COUNT(DISTINCT Q.CWS_CODE) HAS_Q_GSGC,
  170. 0 RECTIFIED,
  171. 0 RECTIFING,
  172. 0 NOT_RECTIFIED
  173. FROM BIS_INSP_ALL_OBJ O
  174. LEFT JOIN BIS_NEW_VILL_RGSTR R
  175. ON O.OBJ_ID=R.OBJ_ID
  176. LEFT JOIN BIS_NEW_COUNTRY_FEE CF
  177. ON R.ID = CF.REGSTR_ID
  178. LEFT JOIN BIS_INSP_PBLM Q
  179. ON O.OBJ_ID = Q.OBJ_ID
  180. WHERE LENGTH(O.ID)=12
  181. <choose>
  182. <when test="id.length()==6">
  183. AND SUBSTR(O.ID,0,6) = #{id}
  184. </when>
  185. <when test="id.length()==9">
  186. AND SUBSTR(O.ID,0,9) = #{id}
  187. </when>
  188. <otherwise>
  189. AND O.ID = #{id}
  190. </otherwise>
  191. </choose>
  192. </select>
  193. <select id="getQuestionTable" resultType="java.util.HashMap">
  194. SELECT
  195. DISTINCT Q.CHECK_POINT_BZ, COUNT(DISTINCT Q.PBLM_ID) PBLM_NUM
  196. FROM
  197. BIS_INSP_ALL_OBJ O
  198. LEFT JOIN (SELECT * FROM BIS_NEW_VILL_RGSTR WHERE STATE = '2') R ON O.OBJ_ID = R.OBJ_ID
  199. LEFT JOIN BIS_NEW_COUNTRY_FEE CF ON R.ID = CF.REGSTR_ID
  200. LEFT JOIN BIS_INSP_PBLM Q ON O.OBJ_ID = Q.OBJ_ID
  201. WHERE
  202. LENGTH( O.ID ) = 12
  203. <choose>
  204. <when test="id.length()==6">
  205. AND SUBSTR(O.ID,0,6) = #{id}
  206. </when>
  207. <when test="id.length()==9">
  208. AND SUBSTR(O.ID,0,9) = #{id}
  209. </when>
  210. <otherwise>
  211. AND O.ID = #{id}
  212. </otherwise>
  213. </choose>
  214. AND Q.CHECK_POINT_BZ IS NOT NULL
  215. GROUP BY Q.CHECK_POINT_BZ
  216. ORDER BY PBLM_NUM DESC
  217. </select>
  218. <select id="getQuestions" resultType="java.util.HashMap">
  219. SELECT
  220. DISTINCT Q.PBLM_ID, Q.INSP_PBLM_NAME, Q.INSP_PBLM_DESC, Q.CHECK_POINT_BZ
  221. FROM
  222. BIS_INSP_ALL_OBJ O
  223. LEFT JOIN BIS_NEW_VILL_RGSTR R ON O.OBJ_ID = R.OBJ_ID
  224. LEFT JOIN BIS_NEW_COUNTRY_FEE CF ON R.ID = CF.REGSTR_ID
  225. LEFT JOIN BIS_INSP_PBLM Q ON O.OBJ_ID = Q.OBJ_ID
  226. WHERE
  227. LENGTH( O.ID ) = 12
  228. <choose>
  229. <when test="id.length()==6">
  230. AND SUBSTR(O.ID,0,6) = #{id}
  231. </when>
  232. <when test="id.length()==9">
  233. AND SUBSTR(O.ID,0,9) = #{id}
  234. </when>
  235. <otherwise>
  236. AND O.ID = #{id}
  237. </otherwise>
  238. </choose>
  239. AND Q.PBLM_ID IS NOT NULL
  240. ORDER BY Q.INSP_PBLM_NAME
  241. </select>
  242. </mapper>