DcPageOfficeRsvrRportDao.xml 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383
  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.DcPageOfficeRsvrReportDao">
  4. <!-- 根据节点获取 派出督查组及人员情况-->
  5. <select id="getGroupAndPerson" resultType="java.util.HashMap">
  6. select
  7. <choose>
  8. <when test="id.length()==6">
  9. SUBSTRING(t.id,1,6)
  10. </when>
  11. <when test="id.length()==9">
  12. SUBSTRING(t.id,1,9)
  13. </when>
  14. <otherwise>
  15. t.id
  16. </otherwise>
  17. </choose> ID,
  18. (select pnm from BIS_INSP_ALL q where q.id=
  19. <choose>
  20. <when test="id.length()==6">
  21. SUBSTRING(t.id,1,6)
  22. </when>
  23. <when test="id.length()==9">
  24. SUBSTRING(t.id,1,9)
  25. </when>
  26. <otherwise>
  27. t.id
  28. </otherwise>
  29. </choose>
  30. ) PNM,
  31. (SELECT COUNT(DISTINCT ID) FROM BIS_INSP_ALL_RLATION WHERE ID like CONCAT(#{id}, '%') AND LENGTH(ID)=12) DCZ_CON,
  32. (SELECT COUNT(DISTINCT PERSID) FROM BIS_INSP_ALL_RLATION WHERE ID like CONCAT(#{id}, '%')) RY_CON,
  33. COUNT(DISTINCT (CASE WHEN INSTR(T1.ADM_DUTY,'局长')>0 THEN T1.ID ELSE NULL END )) JZ_CON,
  34. COUNT(DISTINCT (CASE WHEN INSTR(T1.ADM_DUTY,'处长')>0 THEN T1.ID ELSE NULL END )) CZ_CON
  35. FROM BIS_INSP_ALL T
  36. INNER JOIN
  37. (
  38. SELECT
  39. Q.ID,Q1.PERS_NAME,Q1.ORG_NM,Q1.DPPOST,Q.PERTYPE,Q1.ADM_DUTY
  40. FROM
  41. BIS_INSP_ALL_RLATION Q
  42. INNER JOIN
  43. BIS_INSP_ALL_RLATION_PERS Q1 ON Q.PERSID=Q1.GUID
  44. WHERE
  45. LENGTH(Q.ID)=12
  46. ) T1 ON T.ID = T1.ID
  47. <where>
  48. <choose>
  49. <when test="id.length()==6">
  50. and SUBSTRING(t.id,1,6) = #{id}
  51. </when>
  52. <when test="id.length()==9">
  53. and SUBSTRING(t.id,1,9) = #{id}
  54. </when>
  55. <otherwise>
  56. and t.id = #{id}
  57. </otherwise>
  58. </choose>
  59. </where>
  60. <choose>
  61. <when test="id.length()==6">
  62. GROUP BY SUBSTRING(t.id,1,6)
  63. </when>
  64. <when test="id.length()==9">
  65. GROUP BY SUBSTRING(t.id,1,9)
  66. </when>
  67. <otherwise>
  68. GROUP BY t.id
  69. </otherwise>
  70. </choose>
  71. </select>
  72. <!-- 根据节点获取 派出督查组及人员情况(未使用)-->
  73. <select id="getGroupAndPerson1" resultType="java.util.HashMap">
  74. SELECT
  75. COUNT(DISTINCT ID) JIANCHAZU,
  76. COUNT(DISTINCT GUID) ZONG_RENYUAN,
  77. COUNT(DISTINCT (CASE WHEN INSTR(ADM_DUTY,'局长')>0 THEN ID ELSE NULL END )) JZ_CON,
  78. COUNT(DISTINCT (CASE WHEN INSTR(ADM_DUTY,'处长')>0 THEN ID ELSE NULL END )) CZ_CON
  79. FROM
  80. (
  81. SELECT a.ID, p.GUID, p.ADM_DUTY
  82. FROM
  83. (
  84. SELECT ID
  85. FROM BIS_INSP_ALL
  86. WHERE
  87. ID LIKE CONCAT( #{id}, '%')
  88. AND lengthb(ID) = 12
  89. ) a
  90. LEFT JOIN BIS_INSP_ALL_RLATION r ON a.ID = r.ID
  91. LEFT JOIN BIS_INSP_ALL_RLATION_PERS p ON r.PERSID = p.GUID
  92. )
  93. </select>
  94. <!--督查水库数量及分布情况-->
  95. <select id="getRsvrDis" resultType="java.util.HashMap">
  96. SELECT
  97. COUNT(1) CON,
  98. SUM(CASE T.ENG_SCAL WHEN '4' THEN 1 ELSE 0 END ) XIAO1,
  99. SUM(CASE T.ENG_SCAL WHEN '5' THEN 1 ELSE 0 END ) XIAO2,
  100. COUNT(DISTINCT SUBSTR(T.AD_CODE,1,2)) SHENG1,
  101. COUNT(DISTINCT SUBSTR(T.AD_CODE,1,4)) SHI1,
  102. COUNT(DISTINCT SUBSTR(T.AD_CODE,1,6)) XIAN1
  103. FROM BIS_INSP_RSVR_RGSTR T
  104. LEFT JOIN BIS_INSP_ALL_OBJ T1 ON T.OBJ_ID=T1.OBJ_ID
  105. WHERE
  106. T.ENG_SCAL IN ('4', '5')
  107. AND T.STATE = '2'
  108. AND LENGTH(T1.ID)=12
  109. <choose>
  110. <when test="id.length()==6">
  111. and SUBSTRING(t1.id,1,6) = #{id}
  112. </when>
  113. <when test="id.length()==9">
  114. and SUBSTRING(t1.id,1,9) = #{id}
  115. </when>
  116. <otherwise>
  117. and t1.id = #{id}
  118. </otherwise>
  119. </choose>
  120. </select>
  121. <!--检查水库总体情况-->
  122. <select id="getRsvrChk" resultType="java.util.HashMap">
  123. SELECT
  124. SUM(CASE WHEN C.SAFE_COMMENT = '1' THEN 1 ELSE 0 END) NORMAL,
  125. SUM(CASE WHEN C.SAFE_COMMENT = '2' THEN 1 ELSE 0 END) DANGER,
  126. SUM(CASE WHEN C.SAFE_COMMENT = '3' THEN 1 ELSE 0 END) UNABLE
  127. FROM
  128. (SELECT OBJ_ID, RGSTR_ID, ENG_SCAL, AD_CODE, STATE FROM BIS_INSP_RSVR_RGSTR) A
  129. LEFT JOIN
  130. BIS_INSP_ALL_OBJ B ON A.OBJ_ID = B.OBJ_ID
  131. LEFT JOIN
  132. BIS_INSP_SAFE_EXT_MANAGE C ON A.RGSTR_ID = C.RGSTR_ID
  133. WHERE
  134. A.ENG_SCAL IN ('4', '5')
  135. AND A.STATE = '2'
  136. AND LENGTH(B.ID) = 12
  137. <choose>
  138. <when test="id.length()==6">
  139. and SUBSTRING(b.id,1,6) = #{id}
  140. </when>
  141. <when test="id.length()==9">
  142. and SUBSTRING(b.id,1,9) = #{id}
  143. </when>
  144. <otherwise>
  145. and b.id = #{id}
  146. </otherwise>
  147. </choose>
  148. </select>
  149. <!--效益发挥情况-->
  150. <select id="getRsvrBenef" resultType="java.util.HashMap">
  151. SELECT
  152. SUM(CASE WHEN C.IF_EFFECTIVE = '1' THEN 1 ELSE 0 END) BENEFIT,
  153. SUM(CASE WHEN C.IF_EFFECTIVE = '2' THEN 1 ELSE 0 END) NBENEFIT,
  154. SUM(IFNULL(C.WSFDWS, 0)) WSFDWS,
  155. SUM(IFNULL(C.HAS_SET_MAIN_FL, 0)) HASSETMAINFL
  156. FROM
  157. (SELECT OBJ_ID, RGSTR_ID, ENG_SCAL, AD_CODE, STATE FROM BIS_INSP_RSVR_RGSTR) A
  158. LEFT JOIN
  159. BIS_INSP_ALL_OBJ B ON A.OBJ_ID = B.OBJ_ID
  160. LEFT JOIN
  161. BIS_INSP_RSVR_BENEFITS C ON A.RGSTR_ID = C.RGSTR_ID
  162. WHERE
  163. A.ENG_SCAL IN ('4', '5')
  164. AND A.STATE = '2'
  165. AND LENGTH(B.ID) = 12
  166. <choose>
  167. <when test="id.length()==6">
  168. and SUBSTRING(b.id,1,6) = #{id}
  169. </when>
  170. <when test="id.length()==9">
  171. and SUBSTRING(b.id,1,9) = #{id}
  172. </when>
  173. <otherwise>
  174. and b.id = #{id}
  175. </otherwise>
  176. </choose>
  177. </select>
  178. <!--“三个责任人”落实履职情况-->
  179. <select id="getRsvrZrr" resultType="java.util.HashMap">
  180. SELECT
  181. COUNT(DISTINCT (CASE WHEN E.POOR_COUNTRY='1' THEN SUBSTR(A.AD_CODE,1,6) ELSE NULL END)) POORCOUNTRY,
  182. COUNT(1) CON,
  183. SUM(CASE WHEN D.HAS_WIUN_WAO_LEG_PERS='1' THEN 1 ELSE 0 END) HAS_WIUN_WAO_LEG_PERS,
  184. SUM(CASE WHEN D.WIUN_WAO_LEG_PERS_TRAIN='1' THEN 1 ELSE 0 END) HAS_WIUN_WAO_LEG_PERS_TRAIN,
  185. SUM(CASE WHEN D.WIUN_WAO_LEG_PERS_RESU='1' THEN 1 ELSE 0 END) WIUN_WAO_LEG_PERS_RESU1,
  186. SUM(CASE WHEN D.WIUN_WAO_LEG_PERS_RESU='2' THEN 1 ELSE 0 END) WIUN_WAO_LEG_PERS_RESU2,
  187. SUM(CASE WHEN D.WIUN_WAO_LEG_PERS_RESU='3' THEN 1 ELSE 0 END) WIUN_WAO_LEG_PERS_RESU3,
  188. SUM(CASE WHEN D.HAS_TECH_PERS='1' THEN 1 ELSE 0 END) HAS_TECH_PERS,
  189. SUM(CASE WHEN D.HAS_TECH_PERS='2' THEN 1 ELSE 0 END) HAS_NO_TECH_PERS,
  190. SUM(CASE WHEN D.TECH_PERS_TRAIN='1' THEN 1 ELSE 0 END) HAS_TECH_PERS_TRAIN,
  191. SUM(CASE WHEN D.TECH_PERS_RESU='1' THEN 1 ELSE 0 END) TECH_PERS_RESU1,
  192. SUM(CASE WHEN D.TECH_PERS_RESU='2' THEN 1 ELSE 0 END) TECH_PERS_RESU2,
  193. SUM(CASE WHEN D.TECH_PERS_RESU='3' THEN 1 ELSE 0 END) TECH_PERS_RESU3,
  194. SUM(CASE WHEN D.HAS_PATROL_PERS='1' THEN 1 ELSE 0 END) HAS_PATROL_PERS,
  195. SUM(CASE WHEN D.PATROL_PERS_TRAIN='1' THEN 1 ELSE 0 END) HAS_PATROL_PERS_TRAIN,
  196. SUM(CASE WHEN D.PATROL_PERS_RESU='1' THEN 1 ELSE 0 END) PATROL_PERS_RESU1,
  197. SUM(CASE WHEN D.PATROL_PERS_RESU='2' THEN 1 ELSE 0 END) PATROL_PERS_RESU2,
  198. SUM(CASE WHEN D.PATROL_PERS_RESU='3' THEN 1 ELSE 0 END) PATROL_PERS_RESU3,
  199. SUM(CASE WHEN D.HAS_ATTEND_TRAIN='1' THEN 1 ELSE 0 END) HAS_ATTEND_TRAIN,
  200. <!--“三个重点环节”建设落实情况-->
  201. SUM(CASE WHEN C.RAIN_FORC='1' THEN 1 ELSE 0 END) RAIN_FORC1,
  202. SUM(CASE WHEN C.RAIN_FORC='2' AND C.RAIN_FORC_NOTE = '1' THEN 1 ELSE 0 END) RAIN_FORC2,
  203. SUM(CASE WHEN C.RAIN_FORC='2' AND C.RAIN_FORC_NOTE = '2' THEN 1 ELSE 0 END) RAIN_FORC3,
  204. SUM(CASE WHEN C.SCH_PLAN_SAME_EXTA='1' THEN 1 ELSE 0 END) SCH_PLAN_SAME_EXTA1,
  205. SUM(CASE WHEN C.SCH_PLAN_SAME_EXTA='2' THEN 1 ELSE 0 END) SCH_PLAN_SAME_EXTA2,
  206. SUM(CASE WHEN C.SCH_PLAN_SAME_APPR='1' THEN 1 ELSE 0 END) SCH_PLAN_SAME_APPR1,
  207. SUM(CASE WHEN C.SCH_PLAN_SAME_APPR='2' THEN 1 ELSE 0 END) SCH_PLAN_SAME_APPR2,
  208. SUM(CASE WHEN C.SCH_PLAN_SAME_SPEED='1' THEN 1 ELSE 0 END) SCH_PLAN_SAME_SPEED1,
  209. SUM(CASE WHEN C.SCH_PLAN_SAME_SPEED='2' THEN 1 ELSE 0 END) SCH_PLAN_SAME_SPEED2,
  210. SUM(CASE WHEN C.SCH_PLAN_SAME_SPEED='3' THEN 1 ELSE 0 END) SCH_PLAN_SAME_SPEED3,
  211. SUM(CASE WHEN C.EMER_PLAN_SAME_EXTA='1' THEN 1 ELSE 0 END) EMER_PLAN_SAME_EXTA1,
  212. SUM(CASE WHEN C.EMER_PLAN_SAME_EXTA='2' THEN 1 ELSE 0 END) EMER_PLAN_SAME_EXTA2,
  213. SUM(CASE WHEN C.EMER_PLAN_SAME_APPR='1' THEN 1 ELSE 0 END) EMER_PLAN_SAME_APPR1,
  214. SUM(CASE WHEN C.EMER_PLAN_SAME_APPR='2' THEN 1 ELSE 0 END) EMER_PLAN_SAME_APPR2,
  215. SUM(CASE WHEN C.EMER_PLAN_SAME_EME='1' THEN 1 ELSE 0 END) EMER_PLAN_SAME_EME1,
  216. SUM(CASE WHEN C.EMER_PLAN_SAME_EME='2' THEN 1 ELSE 0 END) EMER_PLAN_SAME_EME2,
  217. SUM(CASE WHEN C.EMER_PLAN_SAME_SPEED='1' THEN 1 ELSE 0 END) EMER_PLAN_SAME_SPEED1,
  218. SUM(CASE WHEN C.EMER_PLAN_SAME_SPEED='2' THEN 1 ELSE 0 END) EMER_PLAN_SAME_SPEED2,
  219. SUM(CASE WHEN C.EMER_PLAN_SAME_SPEED='3' THEN 1 ELSE 0 END) EMER_PLAN_SAME_SPEED3,
  220. <!--运行管理情况-->
  221. SUM(CASE WHEN E.IF_FSLTDZ_RUN='1' THEN 1 ELSE 0 END) IF_FSLTDZ_RUN1,
  222. SUM(CASE WHEN E.IF_FSLTDZ_RUN='2' THEN 1 ELSE 0 END) IF_FSLTDZ_RUN2,
  223. SUM(CASE WHEN E.IF_FSLTDZ_NO='1' THEN 1 ELSE 0 END) IF_FSLTDZ_NO1,
  224. SUM(CASE WHEN E.IF_FSLTDZ_NO='2' THEN 1 ELSE 0 END) IF_FSLTDZ_NO2,
  225. SUM(CASE WHEN E.HAS_WD_EMNIC='2' THEN 1 ELSE 0 END) HAS_WD_EMNIC2,
  226. SUM(CASE WHEN E.IF_DAM_WARN_LOGO='2' THEN 1 ELSE 0 END) IF_DAM_WARN_LOGO2,
  227. SUM(CASE WHEN E.IF_MANAGE_REG_REL='1' THEN 1 ELSE 0 END) IF_MANAGE_REG_REL1,
  228. SUM(CASE WHEN E.IF_MANAGE_REG_REL='2' THEN 1 ELSE 0 END) IF_MANAGE_REG_REL2,
  229. SUM(CASE WHEN E.IF_MANAGE_REG='2' THEN 1 ELSE 0 END) IF_MANAGE_REG2,
  230. SUM(CASE WHEN E.IF_DAM_WARN_LOGO='1' THEN 1 ELSE 0 END) IF_DAM_WARN_LOGO1,
  231. <!--工程实体情况-->
  232. SUM(CASE WHEN F.DISK_RUN_INFO='1' THEN 1 ELSE 0 END) DISK_RUN_INFO1,
  233. SUM(CASE WHEN F.DISK_RUN_INFO='2' THEN 1 ELSE 0 END) DISK_RUN_INFO2,
  234. SUM(CASE WHEN F.DISK_RUN_INFO='3' THEN 1 ELSE 0 END) DISK_RUN_INFO3,
  235. SUM(CASE WHEN E.LEAK_MAKE_SAFE='1' THEN 1 ELSE 0 END) LEAK_MAKE_SAFE1,
  236. SUM(CASE WHEN E.HAS_ASTABLE='1' THEN 1 ELSE 0 END) HAS_ASTABLE1,
  237. SUM(CASE WHEN F.HAS_SET_MAIN_FL='1' THEN 1 ELSE 0 END) HAS_SET_MAIN_FL1,
  238. SUM(CASE WHEN F.IS_MAIN_FL_NORMAL='1' THEN 1 ELSE 0 END) IS_MAIN_FL_NORMAL1,
  239. SUM(CASE WHEN F.IS_MAIN_FL_NORMAL='2' THEN 1 ELSE 0 END) IS_MAIN_FL_NORMAL2,
  240. SUM(CASE WHEN F.IS_MAIN_FL_NORMAL='3' THEN 1 ELSE 0 END) IS_MAIN_FL_NORMAL3,
  241. SUM(CASE WHEN INSTR(E.WAGA_DANG_DESC,'边墙失稳')>0 THEN 1 ELSE 0 END) WAGA_DANG_DESC_SHIWEN,
  242. SUM(CASE WHEN INSTR(E.WAGA_DANG_DESC,'冲刷坝体及下游坝脚')>0 THEN 1 ELSE 0 END) WAGA_DANG_DESC_CHONGSHUA,
  243. SUM(CASE WHEN F.HAS_SET_POUR_FL='1' THEN 1 ELSE 0 END) HAS_SET_POUR_FL1,
  244. SUM(CASE WHEN F.POUR_FY_IS_NORMAL='1' THEN 1 ELSE 0 END) POUR_FY_IS_NORMAL1,
  245. SUM(CASE WHEN F.POUR_FY_IS_NORMAL='2' THEN 1 ELSE 0 END) POUR_FY_IS_NORMAL2,
  246. SUM(CASE WHEN F.POUR_FY_IS_NORMAL='3' THEN 1 ELSE 0 END) POUR_FY_IS_NORMAL3,
  247. <!--安全鉴定情况-->
  248. SUM(CASE WHEN F.IF_DAM_SAFE='1' THEN 1 ELSE 0 END) EXT_DAM_SAFE_APPR1,
  249. SUM(CASE WHEN F.IF_DAM_SAFE='2' THEN 1 ELSE 0 END) EXT_DAM_SAFE_APPR2,
  250. SUM(CASE WHEN F.IF_DAM_SAFE='2' AND F.IF_DAM_SAFE_REQ='2' THEN 1 ELSE 0 END) EXT_DAM_SAFE_APPR3,
  251. SUM(CASE WHEN F.IF_DAM_SAFE='1' AND F.IF_DAM_SAFE_RUL='1' THEN 1 ELSE 0 END) DAM_SAFE_APPR_REQUIRE1,
  252. SUM(CASE WHEN F.IF_DAM_SAFE='1' AND (F.IF_DAM_SAFE_RUL='2' OR NULLIF(F.IF_DAM_SAFE_RUL,'') IS NULL) THEN 1 ELSE
  253. 0 END) DAM_SAFE_APPR_REQUIRE2,
  254. SUM(CASE WHEN F.IF_DAM_SAFE='1' AND F.IF_DAM_SAFE_DEP_RUL='1' THEN 1 ELSE 0 END) IF_DAM_SAFE_DEP_RUL1,
  255. SUM(CASE WHEN F.IF_DAM_SAFE='1' AND (F.IF_DAM_SAFE_DEP_RUL='2' OR NULLIF(F.IF_DAM_SAFE_DEP_RUL,'') IS NULL) THEN
  256. 1 ELSE 0 END) IF_DAM_SAFE_DEP_RUL2,
  257. <!--除险加固情况-->
  258. sum(case when f.IF_DAM_SAFE_THR='1' then 1 else 0 end) IF_FSLTDZ1,
  259. sum(case when f.IF_DAM_SAFE_THR='1' and f.IF_REIN_FORCE='1' then 1 else 0 end) IF_FSLTDZ2,
  260. sum(case when f.IF_DAM_SAFE_THR='1' and f.IF_REIN_FORCE='2' then 1 else 0 end) IF_FSLTDZ3,
  261. sum(case when f.IF_DAM_SAFE_THR='1' and f.IF_REIN_FORCE='1' and f.REIN_FORCE_RUN='1' then 1 else 0 end) REIN_FORCE_RUN1,
  262. sum(case when f.IF_DAM_SAFE_THR='1' and f.IF_REIN_FORCE='1' and f.REIN_FORCE_RUN='2' then 1 else 0 end) REIN_FORCE_RUN2,
  263. sum(case when f.IF_DAM_SAFE_THR='1' and f.IF_REIN_FORCE='1' and f.REIN_FORCE_RUN2='1' then 1 else 0 end) REIN_FORCE_RUN21,
  264. sum(case when f.IF_DAM_SAFE_THR='1' and f.IF_REIN_FORCE='1' and f.REIN_FORCE_RUN3='1' then 1 else 0 end) IF_COMPLATE_ACC1,
  265. sum(case when f.IF_DAM_SAFE_THR='1' and f.IF_REIN_FORCE='1' and f.REIN_FORCE_RUN3='2' then 1 else 0 end) IF_COMPLATE_ACC2,
  266. sum(case when f.IF_DAM_SAFE_THR='1' and f.IF_REIN_FORCE='2' and f.IF_REIN_IMP_GVE='1' then 1 else 0 end) IF_REIN_IMP_GVE1,
  267. sum(case when f.IF_DAM_SAFE_THR='1' and f.IF_REIN_FORCE='2' and f.IF_REIN_IMP_GVE='2' then 1 else 0 end) IF_REIN_IMP_GVE2,
  268. sum(case when f.IF_DAM_SAFE_THR='1' and f.IF_REIN_FORCE='2' and f.IF_REIN_IMP_PLAN='1' then 1 else 0 end) IF_REIN_IMP_PLAN1,
  269. sum(case when f.IF_DAM_SAFE_THR='1' and f.IF_REIN_FORCE='2' and f.IF_REIN_IMP_PLAN='2' then 1 else 0 end) IF_REIN_IMP_PLAN2
  270. FROM
  271. (SELECT OBJ_ID,RGSTR_ID,ENG_SCAL,AD_CODE, STATE FROM BIS_INSP_RSVR_RGSTR) A
  272. LEFT JOIN
  273. BIS_INSP_ALL_OBJ B ON A.OBJ_ID = B.OBJ_ID
  274. LEFT JOIN
  275. BIS_INSP_BASE_EXT C ON A.RGSTR_ID = C.RGSTR_ID
  276. LEFT JOIN
  277. BIS_INSP_BASE_PRES_EXT D ON A.RGSTR_ID = D.RGSTR_ID
  278. LEFT JOIN
  279. BIS_INSP_SAFE_EXT_MANAGE E ON A.RGSTR_ID = E.RGSTR_ID
  280. LEFT JOIN
  281. BIS_INSP_RSVR_PROJECT F ON A.RGSTR_ID = F.RGSTR_ID
  282. WHERE
  283. A.ENG_SCAL IN ('4','5')
  284. AND A.STATE = '2'
  285. AND LENGTH(B.ID)=12
  286. AND B.ID LIKE '001%'
  287. <choose>
  288. <when test="id.length()==6">
  289. and SUBSTRING(b.id,1,6) = #{id}
  290. </when>
  291. <when test="id.length()==9">
  292. and SUBSTRING(b.id,1,9) = #{id}
  293. </when>
  294. <otherwise>
  295. and b.id = #{id}
  296. </otherwise>
  297. </choose>
  298. </select>
  299. <!--检查发现的主要问题-->
  300. <select id="getQTypeCount" resultType="java.util.HashMap">
  301. select
  302. sum(case when c.INSP_PBLM_CATE='3' then 1 else 0 end) INSP_PBLM_CATE0,
  303. sum(case when c.INSP_PBLM_CATE='2' then 1 else 0 end) INSP_PBLM_CATE1,
  304. sum(case when c.INSP_PBLM_CATE='1' then 1 else 0 end) INSP_PBLM_CATE2,
  305. sum(case when c.INSP_PBLM_CATE='0' then 1 else 0 end) INSP_PBLM_CATE3
  306. from
  307. BIS_INSP_ALL_OBJ b
  308. left join
  309. (select obj_id,rgstr_id,eng_scal, STATE from BIS_INSP_RSVR_RGSTR) a on a.obj_id = b.obj_id
  310. left join
  311. BIS_INSP_PBLM c on a.rgstr_id = c.REGID
  312. where
  313. a.eng_scal in ('4','5')
  314. and a.STATE = '2'
  315. and length(b.id)=12 and b.id like '001%'
  316. <choose>
  317. <when test="id.length()==6">
  318. and SUBSTRING(b.id,1,6) = #{id}
  319. </when>
  320. <when test="id.length()==9">
  321. and SUBSTRING(b.id,1,9) = #{id}
  322. </when>
  323. <otherwise>
  324. and b.id = #{id}
  325. </otherwise>
  326. </choose>
  327. </select>
  328. <select id="getRsvrQrr" resultType="cn.com.goldenwater.dcproj.param.RsvrQrrParam">
  329. select
  330. a.ad_code adCode, e.AD_FULL_NAME adFullName,
  331. count(1) con,
  332. sum(case when d.Has_Wiun_Wao_Leg_Pers='2' then 1 else 0 end) notWiunWaoLegPers,
  333. sum(case when d.Has_Tech_Pers='2' then 1 else 0 end) noTechPers,
  334. sum(case when d.Has_Patrol_Pers='2' then 1 else 0 end) notPatrolPers,
  335. sum(case when d.HAS_ATTEND_TRAIN='2' then 1 else 0 end) notAttendTrain
  336. from
  337. (select
  338. obj_id,rgstr_id,eng_scal,ad_code, STATE
  339. from BIS_INSP_RSVR_RGSTR) a
  340. left join
  341. BIS_INSP_ALL_OBJ b on a.obj_id = b.obj_id
  342. left join
  343. BIS_INSP_BASE_EXT c on a.rgstr_id = c.rgstr_id
  344. left join
  345. BIS_INSP_BASE_PRES_EXT d on a.rgstr_id = d.rgstr_id
  346. left join
  347. att_ad_x_base e on a.ad_code = e.ad_code
  348. where
  349. a.eng_scal in ('4','5')
  350. and a.STATE = '2'
  351. and length(b.id)=12 and b.id like '001%'
  352. <choose>
  353. <when test="id.length()==6">
  354. and SUBSTRING(b.id,1,6) = #{id}
  355. </when>
  356. <when test="id.length()==9">
  357. and SUBSTRING(b.id,1,9) = #{id}
  358. </when>
  359. <otherwise>
  360. and b.id = #{id}
  361. </otherwise>
  362. </choose>
  363. GROUP BY a.ad_code, e.AD_FULL_NAME
  364. </select>
  365. </mapper>