DcPageOfficeLyzzRportDao.xml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329
  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.DcPageOfficeLyzzReportDao">
  4. <!-- 根据节点获取 派出督查组及人员情况-->
  5. <select id="getGroupAndPerson" resultType="java.util.HashMap">
  6. select
  7. <choose>
  8. <when test="id.length()==6">
  9. substr(t.id,0,6)
  10. </when>
  11. <when test="id.length()==9">
  12. substr(t.id,0,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. substr(t.id,0,6)
  22. </when>
  23. <when test="id.length()==9">
  24. substr(t.id,0,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
  36. (SELECT *
  37. FROM BIS_INSP_ALL
  38. <where>
  39. <choose>
  40. <when test="id.length()==6">
  41. and substr(id,0,6) = #{id}
  42. </when>
  43. <when test="id.length()==9">
  44. and substr(id,0,9) = #{id}
  45. </when>
  46. <otherwise>
  47. and id = #{id}
  48. </otherwise>
  49. </choose>
  50. </where>
  51. ) T
  52. LEFT JOIN
  53. (
  54. SELECT
  55. Q.ID,Q1.PERS_NAME,Q1.ORG_NM,Q1.DPPOST,Q.PERTYPE,Q1.ADM_DUTY
  56. FROM BIS_INSP_ALL_RLATION Q
  57. INNER JOIN BIS_INSP_ALL_RLATION_PERS Q1 ON Q.PERSID=Q1.GUID
  58. WHERE LENGTH(Q.ID)=12
  59. ) T1 ON T.ID = T1.ID
  60. <choose>
  61. <when test="id.length()==6">
  62. GROUP BY SUBSTR(T.ID,0,6)
  63. </when>
  64. <when test="id.length()==9">
  65. GROUP BY SUBSTR(T.ID,0,9)
  66. </when>
  67. <otherwise>
  68. GROUP BY T.ID
  69. </otherwise>
  70. </choose>
  71. </select>
  72. <!--督查水闸数量及分布情况-->
  73. <select id="getRsvrDis" resultType="java.util.HashMap">
  74. SELECT
  75. COUNT(1) CON,
  76. SUM(CASE T.ENG_SCAL WHEN '1' THEN 1 ELSE 0 END ) DA,
  77. SUM(CASE T.ENG_SCAL WHEN '2' THEN 1 ELSE 0 END ) ZHONG,
  78. SUM(CASE T.ENG_SCAL WHEN '3' THEN 1 ELSE 0 END ) XIAO,
  79. COUNT(DISTINCT SUBSTR(T.AD_CODE,0,2)) SHENG,
  80. COUNT(DISTINCT SUBSTR(T.AD_CODE,0,4)) SHI,
  81. COUNT(DISTINCT SUBSTR(T.AD_CODE,0,6)) XIAN
  82. FROM
  83. ATT_WAGA_RGSTR T
  84. LEFT JOIN
  85. BIS_INSP_ALL_OBJ T1 ON T.OBJ_ID=T1.OBJ_ID
  86. WHERE
  87. T.STATE = '2'
  88. AND LENGTH(T1.ID)=12
  89. <choose>
  90. <when test="id.length()==6">
  91. and substr(t1.id,0,6) = #{id}
  92. </when>
  93. <when test="id.length()==9">
  94. and substr(t1.id,0,9) = #{id}
  95. </when>
  96. <otherwise>
  97. and t1.id = #{id}
  98. </otherwise>
  99. </choose>
  100. </select>
  101. <!--管理责任体系建设和落实情况-->
  102. <select id="getRsvrChk" resultType="java.util.HashMap">
  103. SELECT
  104. SUM(CASE WHEN Y.WMBP_IS_C = '1' THEN 1 ELSE 0 END) WMBP_IS_C1,
  105. SUM(CASE WHEN Y.WMBP_IS_C = '2' THEN 1 ELSE 0 END) WMBP_IS_C2,
  106. SUM(CASE WHEN Y.PSS_IS_H = '1' THEN 1 ELSE 0 END) PSS_IS_H1,
  107. SUM(CASE WHEN Y.PSS_IS_H = '2' THEN 1 ELSE 0 END) PSS_IS_H2,
  108. SUM(CASE WHEN Y.PSS_IS_C = '1' THEN 1 ELSE 0 END) PSS_IS_C1,
  109. SUM(CASE WHEN Y.PSS_IS_C = '2' THEN 1 ELSE 0 END) PSS_IS_C2,
  110. SUM(CASE WHEN Y.PRFTAOFC_IS_H = '1' THEN 1 ELSE 0 END) PRFTAOFC_IS_H1,
  111. SUM(CASE WHEN Y.PRFTAOFC_IS_H = '2' THEN 1 ELSE 0 END) PRFTAOFC_IS_H2,
  112. SUM(CASE WHEN Y.PRFTAOFC_INFO = '1' THEN 1 ELSE 0 END) PRFTAOFC_INFO1,
  113. SUM(CASE WHEN Y.PRFTAOFC_INFO = '2' THEN 1 ELSE 0 END) PRFTAOFC_INFO2,
  114. SUM(CASE WHEN Y.PRFTAOFC_INFO = '3' THEN 1 ELSE 0 END) PRFTAOFC_INFO3,
  115. SUM(CASE WHEN Y.BEFP_IS_FIP = '1' THEN 1 ELSE 0 END) BEFP_IS_FIP1,
  116. SUM(CASE WHEN Y.BEFP_IS_FIP = '2' THEN 1 ELSE 0 END) BEFP_IS_FIP2,
  117. SUM(CASE WHEN Y.PMAME_IS_FIP = '1' THEN 1 ELSE 0 END) PMAME_IS_FIP1,
  118. SUM(CASE WHEN Y.PMAME_IS_FIP = '2' THEN 1 ELSE 0 END) PMAME_IS_FIP2
  119. FROM
  120. (SELECT ID,OBJ_ID FROM BIS_INSP_ALL_OBJ WHERE LENGTH(ID)=12) T
  121. LEFT JOIN
  122. (SELECT * FROM ATT_WAGA_RGSTR WHERE STATE = '2') R ON T.OBJ_ID=R.OBJ_ID
  123. LEFT JOIN
  124. BIS_INSP_WAGA_MRS_CI Y ON Y.RGSTR_ID=R.ID
  125. <where>
  126. <choose>
  127. <when test="id.length()==6">
  128. AND SUBSTR(T.ID,0,6) = #{id}
  129. </when>
  130. <when test="id.length()==9">
  131. AND SUBSTR(T.ID,0,9) = #{id}
  132. </when>
  133. <otherwise>
  134. AND T.ID = #{id}
  135. </otherwise>
  136. </choose>
  137. </where>
  138. </select>
  139. <!--安全管理情况-->
  140. <select id="getRsvrBenef" resultType="java.util.HashMap">
  141. SELECT
  142. SUM(CASE WHEN Y.CTAP_INFO = '0' THEN 1 ELSE 0 END) CTAP_INFO0,
  143. SUM(CASE WHEN Y.CTAP_INFO = '2' THEN 1 ELSE 0 END) CTAP_INFO2,
  144. SUM(CASE WHEN Y.IS_STF_EP = '1' THEN 1 ELSE 0 END) IS_STF_EP1,
  145. SUM(CASE WHEN Y.IS_STF_EP = '2' THEN 1 ELSE 0 END) IS_STF_EP2,
  146. SUM(CASE WHEN Y.SAFE_IS_H = '1' THEN 1 ELSE 0 END) SAFE_IS_H1,
  147. SUM(CASE WHEN Y.SAFE_IS_H = '2' THEN 1 ELSE 0 END) SAFE_IS_H2,
  148. SUM(CASE WHEN R.ENG_SCAL = '1' THEN 1
  149. WHEN R.ENG_SCAL = '2' THEN 1
  150. ELSE 0 END) ENG_SCAL12,
  151. SUM(CASE WHEN (R.ENG_SCAL = '1' AND Y.IS_COFAATR != '3') THEN 1
  152. WHEN (R.ENG_SCAL = '2' AND Y.IS_COFAATR != '3') THEN 1
  153. ELSE 0 END) LM_SAFETY_IS_CO1,
  154. SUM(CASE WHEN Y.IS_COFAATR = '1' THEN 1 ELSE 0 END) IS_COFAATR1,
  155. SUM(CASE WHEN Y.IS_COFAATR = '2' THEN 1 ELSE 0 END) IS_COFAATR2,
  156. SUM(CASE WHEN R.ENG_SCAL = '3' THEN 1 ELSE 0 END) ENG_SCAL3,
  157. SUM(CASE WHEN (R.ENG_SCAL = '3' AND Y.IS_COFAATR != '3') THEN 1 ELSE 0 END) S_SAFETY_IS_CO1,
  158. SUM(CASE WHEN Y.TOF_C_IS = '1' THEN 1 ELSE 0 END) TOF_C_IS1,
  159. SUM(CASE WHEN Y.TOF_C_IS = '1' AND Y.RESTM_IS_AD = '1' THEN 1 ELSE 0 END) RESTM_IS_AD1,
  160. SUM(CASE WHEN Y.TOF_C_IS = '1' AND Y.RESTM_IS_AD = '2' THEN 1 ELSE 0 END) RESTM_IS_AD2
  161. FROM
  162. (SELECT ID,OBJ_ID FROM BIS_INSP_ALL_OBJ WHERE LENGTH(ID)=12) T
  163. LEFT JOIN
  164. (SELECT * FROM ATT_WAGA_RGSTR WHERE STATE = '2') R ON T.OBJ_ID=R.OBJ_ID
  165. LEFT JOIN
  166. BIS_INSP_WAGA_SAFE_MANAGE Y ON Y.RGSTR_ID=R.ID
  167. <where>
  168. <choose>
  169. <when test="id.length()==6">
  170. AND SUBSTR(T.ID,0,6) = #{id}
  171. </when>
  172. <when test="id.length()==9">
  173. AND SUBSTR(T.ID,0,9) = #{id}
  174. </when>
  175. <otherwise>
  176. AND T.ID = #{id}
  177. </otherwise>
  178. </choose>
  179. </where>
  180. </select>
  181. <!-- 日常管理和维护情况 -->
  182. <select id="getRsvrZrr" resultType="java.util.HashMap">
  183. SELECT
  184. SUM(CASE WHEN Y.CTAP_IS_CO = '1' THEN 1 ELSE 0 END) CTAP_IS_CO1,
  185. SUM(CASE WHEN Y.CTAP_IS_CO = '2' THEN 1 ELSE 0 END) CTAP_IS_CO2,
  186. SUM(CASE WHEN Y.EPAFCP_IS_EN = '1' THEN 1 ELSE 0 END) EPAFCP_IS_EN1,
  187. SUM(CASE WHEN Y.EPAFCP_IS_EN = '2' THEN 1 ELSE 0 END) EPAFCP_IS_EN2,
  188. SUM(CASE WHEN Y.SAFE_IS_CO = '1' THEN 1 ELSE 0 END) SAFE_IS_CO1,
  189. SUM(CASE WHEN Y.SAFE_IS_CO = '2' THEN 1 ELSE 0 END) SAFE_IS_CO2,
  190. SUM(CASE WHEN Y.PLOFMW_IS_H = '1' THEN 1 ELSE 0 END) PLOFMW_IS_H1,
  191. SUM(CASE WHEN Y.PLOFMW_IS_H = '2' THEN 1 ELSE 0 END) PLOFMW_IS_H2,
  192. SUM(CASE WHEN Y.FCEM_IS_RES = '1' THEN 1 ELSE 0 END) FCEM_IS_RES1,
  193. SUM(CASE WHEN Y.FCEM_IS_RES = '2' THEN 1 ELSE 0 END) FCEM_IS_RES2,
  194. SUM(CASE WHEN Y.IS_DLMT_SOMASOP = '1' THEN 1 ELSE 0 END) SOMASOP_IS_DE1,
  195. SUM(CASE WHEN Y.IS_DLMT_SOMASOP = '2' THEN 1 ELSE 0 END) SOMASOP_IS_DE2
  196. FROM
  197. (SELECT ID,OBJ_ID FROM BIS_INSP_ALL_OBJ WHERE LENGTH(ID)=12) T
  198. LEFT JOIN
  199. (SELECT * FROM ATT_WAGA_RGSTR WHERE STATE = '2') R ON T.OBJ_ID=R.OBJ_ID
  200. LEFT JOIN
  201. BIS_INSP_WAGA_DMAM_INFO Y ON Y.RGSTR_ID=R.ID
  202. <where>
  203. <choose>
  204. <when test="id.length()==6">
  205. AND SUBSTR(T.ID,0,6) = #{id}
  206. </when>
  207. <when test="id.length()==9">
  208. AND SUBSTR(T.ID,0,9) = #{id}
  209. </when>
  210. <otherwise>
  211. AND T.ID = #{id}
  212. </otherwise>
  213. </choose>
  214. </where>
  215. </select>
  216. <!-- 工程实体情况 -->
  217. <select id="getGcst" resultType="java.util.HashMap">
  218. SELECT
  219. SUM(CASE WHEN Y.CTAP_IS_DAM = '1' THEN 1 ELSE 0 END) CTAP_IS_DAM1,
  220. SUM(CASE WHEN Y.CTAP_IS_DAM = '2' THEN 1 ELSE 0 END) CTAP_IS_DAM2,
  221. SUM(CASE WHEN Y.STROB_IS_D_WI_SR = '1' THEN 1 ELSE 0 END) STROB_IS_D_WI_SR1,
  222. SUM(CASE WHEN Y.STROB_IS_D_WI_SR = '2' THEN 1 ELSE 0 END) STROB_IS_D_WI_SR2,
  223. SUM(CASE WHEN Y.GAHSI_INFO = '0' THEN 1 ELSE 0 END) GAHSI_INFO0,
  224. SUM(CASE WHEN Y.GAHSI_INFO = '1' THEN 1 ELSE 0 END) GAHSI_INFO1,
  225. SUM(CASE WHEN Y.GAHSI_INFO = '2' THEN 1 ELSE 0 END) GAHSI_INFO2,
  226. SUM(CASE WHEN Y.EEO_IS_N = '1' THEN 1 ELSE 0 END) EEO_IS_N1,
  227. SUM(CASE WHEN Y.EEO_IS_N = '2' THEN 1 ELSE 0 END) EEO_IS_N2,
  228. SUM(CASE WHEN Y.ICAAECS_IS_H = '1' THEN 1 ELSE 0 END) ICAAECS_IS_H1,
  229. SUM(CASE WHEN Y.ICAAECS_IS_H = '2' THEN 1 ELSE 0 END) ICAAECS_IS_H2
  230. FROM
  231. (SELECT ID,OBJ_ID FROM BIS_INSP_ALL_OBJ WHERE LENGTH(ID)=12) T
  232. LEFT JOIN
  233. (SELECT * FROM ATT_WAGA_RGSTR WHERE STATE = '2') R ON T.OBJ_ID=R.OBJ_ID
  234. LEFT JOIN
  235. BIS_INSP_WAGA_PROEN_INFO Y ON Y.RGSTR_ID=R.ID
  236. <where>
  237. <choose>
  238. <when test="id.length()==6">
  239. AND SUBSTR(T.ID,0,6) = #{id}
  240. </when>
  241. <when test="id.length()==9">
  242. AND SUBSTR(T.ID,0,9) = #{id}
  243. </when>
  244. <otherwise>
  245. AND T.ID = #{id}
  246. </otherwise>
  247. </choose>
  248. </where>
  249. </select>
  250. <!--检查发现的主要问题-->
  251. <select id="getQTypeCount" resultType="java.util.HashMap">
  252. select
  253. sum(case when c.INSP_PBLM_CATE='3' then 1 else 0 end) INSP_PBLM_CATE0,
  254. sum(case when c.INSP_PBLM_CATE='2' then 1 else 0 end) INSP_PBLM_CATE1,
  255. sum(case when c.INSP_PBLM_CATE='1' then 1 else 0 end) INSP_PBLM_CATE2,
  256. sum(case when c.INSP_PBLM_CATE='0' then 1 else 0 end) INSP_PBLM_CATE3
  257. from
  258. BIS_INSP_ALL_OBJ b
  259. left join
  260. (select obj_id,rgstr_id,eng_scal, STATE from BIS_INSP_RSVR_RGSTR) a on a.obj_id = b.obj_id
  261. left join
  262. BIS_INSP_PBLM c on a.rgstr_id = c.REGID
  263. where
  264. a.eng_scal in ('4','5')
  265. and a.STATE = '2'
  266. and length(b.id)=12 and b.id like '001%'
  267. <choose>
  268. <when test="id.length()==6">
  269. and substr(b.id,0,6) = #{id}
  270. </when>
  271. <when test="id.length()==9">
  272. and substr(b.id,0,9) = #{id}
  273. </when>
  274. <otherwise>
  275. and b.id = #{id}
  276. </otherwise>
  277. </choose>
  278. </select>
  279. <select id="getRsvrQrr" resultType="cn.com.goldenwater.dcproj.param.RsvrQrrParam">
  280. select
  281. a.ad_code adCode, e.AD_FULL_NAME adFullName,
  282. count(1) con,
  283. sum(case when d.Has_Wiun_Wao_Leg_Pers='2' then 1 else 0 end) notWiunWaoLegPers,
  284. sum(case when d.Has_Tech_Pers='2' then 1 else 0 end) noTechPers,
  285. sum(case when d.Has_Patrol_Pers='2' then 1 else 0 end) notPatrolPers,
  286. sum(case when d.HAS_ATTEND_TRAIN='2' then 1 else 0 end) notAttendTrain
  287. from
  288. (select
  289. obj_id,rgstr_id,eng_scal,ad_code, STATE
  290. from BIS_INSP_RSVR_RGSTR) a
  291. left join
  292. BIS_INSP_ALL_OBJ b on a.obj_id = b.obj_id
  293. left join
  294. BIS_INSP_BASE_EXT c on a.rgstr_id = c.rgstr_id
  295. left join
  296. BIS_INSP_BASE_PRES_EXT d on a.rgstr_id = d.rgstr_id
  297. left join
  298. att_ad_x_base e on a.ad_code = e.ad_code
  299. where
  300. a.eng_scal in ('4','5')
  301. and a.STATE = '2'
  302. and length(b.id)=12 and b.id like '001%'
  303. <choose>
  304. <when test="id.length()==6">
  305. and substr(b.id,0,6) = #{id}
  306. </when>
  307. <when test="id.length()==9">
  308. and substr(b.id,0,9) = #{id}
  309. </when>
  310. <otherwise>
  311. and b.id = #{id}
  312. </otherwise>
  313. </choose>
  314. GROUP BY a.ad_code, e.AD_FULL_NAME
  315. </select>
  316. </mapper>