BisInspTaskDthDayDao.xml 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605
  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.BisInspTaskDthDayDao">
  4. <resultMap type="cn.com.goldenwater.dcproj.model.BisInspTaskDthDay" id="bisInspTaskDthDayResultMap">
  5. <result property="id" column="ID"/>
  6. <result property="orgId" column="ORG_ID"/>
  7. <result property="adCode" column="AD_CODE"/>
  8. <result property="adName" column="AD_NAME"/>
  9. <result property="adFullName" column="AD_FULL_NAME"/>
  10. <result property="adGrad" column="AD_GRAD"/>
  11. <result property="tm" column="TM"/>
  12. <result property="objType" column="OBJ_TYPE"/>
  13. <result property="objName" column="OBJ_NAME"/>
  14. <result property="objSize" column="OBJ_SIZE"/>
  15. <result property="pblmSize" column="PBLM_SIZE"/>
  16. <result property="mendSize" column="MEND_SIZE"/>
  17. <result property="pblmLogSize" column="PBLM_LOG_SIZE"/>
  18. <result property="intm" column="INTM"/>
  19. <result property="uptm" column="UPTM"/>
  20. <result property="dataStat" column="DATA_STAT"/>
  21. <result property="infoPlbm" column="INFO_PLBM"/>
  22. <result property="warmPlbm" column="WARM_PLBM"/>
  23. <result property="errorPlbm" column="ERROR_PLBM"/>
  24. <result property="errorsPlbm" column="ERRORS_PLBM"/>
  25. <result property="checkYear" column="CHECK_YEAR"/>
  26. <result property="submitPlbm" column="SUBMIT_PLBM"/>
  27. </resultMap>
  28. <sql id="table_columns">
  29. ID,
  30. ORG_ID,
  31. AD_CODE,
  32. AD_NAME,
  33. AD_FULL_NAME,
  34. AD_GRAD,
  35. TM,
  36. OBJ_TYPE,
  37. OBJ_NAME,
  38. OBJ_SIZE,
  39. PBLM_SIZE,
  40. MEND_SIZE,
  41. PBLM_LOG_SIZE,
  42. INTM,
  43. UPTM,
  44. INFO_PLBM,
  45. WARM_PLBM,
  46. ERROR_PLBM,
  47. DATA_STAT
  48. </sql>
  49. <sql id="entity_properties">
  50. #{id},
  51. #{orgId},
  52. #{adCode},
  53. #{adName},
  54. #{adFullName},
  55. #{adGrad},
  56. #{tm},
  57. #{objType},
  58. #{objName},
  59. #{objSize},
  60. #{pblmSize},
  61. #{mendSize},
  62. #{pblmLogSize},
  63. #{intm},
  64. #{uptm},
  65. #{infoPlbm},
  66. #{warmPlbm},
  67. #{errorPlbm},
  68. #{dataStat}
  69. </sql>
  70. <!-- 使用like用法:columnName like concat('%',#columnName#,'%') -->
  71. <sql id="page_where">
  72. <trim prefix="where" prefixOverrides="and | or ">
  73. <if test="orgId != null and orgId != ''">and ORG_ID = #{orgId}</if>
  74. <if test="adCode != null and adCode != ''">and AD_CODE = #{adCode}</if>
  75. <if test="adName != null and adName != ''">and AD_NAME = #{adName}</if>
  76. <if test="adFullName != null and adFullName != ''">and AD_FULL_NAME = #{adFullName}</if>
  77. <if test="adGrad != null and adGrad != ''">and AD_GRAD = #{adGrad}</if>
  78. <if test="tm != null">and DATE_FORMAT(TM, '%Y-%m-%d') = DATE_FORMAT(#{tm}, '%Y-%m-%d')</if>
  79. <if test="objType != null and objType != ''">and OBJ_TYPE = #{objType}</if>
  80. <if test="objName != null and objName != ''">and OBJ_NAME = #{objName}</if>
  81. <if test="objSize != null and objSize != ''">and OBJ_SIZE = #{objSize}</if>
  82. <if test="pblmSize != null and pblmSize != ''">and PBLM_SIZE = #{pblmSize}</if>
  83. <if test="mendSize != null and mendSize != ''">and MEND_SIZE = #{mendSize}</if>
  84. <if test="pblmLogSize != null and pblmLogSize != ''">and PBLM_LOG_SIZE = #{pblmLogSize}</if>
  85. <if test="infoPlbm != null and infoPlbm != ''">and infoPlbm = #{INFO_PLBM}</if>
  86. <if test="warmPlbm != null and warmPlbm != ''">and warmPlbm = #{WARM_PLBM}</if>
  87. <if test="errorPlbm != null and errorPlbm != ''">and errorPlbm = #{ERROR_PLBM}</if>
  88. <if test="intm != null">and INTM = #{intm}</if>
  89. <if test="uptm != null">and UPTM = #{uptm}</if>
  90. <if test="sttm != null and sttm != '' and entm != null and entm != '' ">
  91. and STR_TO_DATE(DATE_FORMAT(TM, '%Y-%m-%d'), '%Y-%m-%d') &gt;= STR_TO_DATE(substr(#{sttm}, 1, 10), '%Y-%m-%d')
  92. and STR_TO_DATE(DATE_FORMAT(TM, '%Y-%m-%d'), '%Y-%m-%d') &lt; DATE_ADD(STR_TO_DATE(substr(#{entm}, 1, 10), '%Y-%m-%d'), INTERVAL 1 DAY)
  93. </if>
  94. <if test="dataStat != null and dataStat != ''">and DATA_STAT = #{dataStat}</if>
  95. and DATA_STAT='0'
  96. </trim>
  97. </sql>
  98. <select id="get" resultMap="bisInspTaskDthDayResultMap" parameterType="String">
  99. select
  100. <include refid="table_columns"/>
  101. from BIS_INSP_TASK_DTH_DAY where ID = #{id}
  102. </select>
  103. <select id="getBy" resultMap="bisInspTaskDthDayResultMap">
  104. select
  105. <include refid="table_columns"/>
  106. from BIS_INSP_TASK_DTH_DAY
  107. <include refid="page_where"/>
  108. </select>
  109. <select id="findAll" resultMap="bisInspTaskDthDayResultMap">
  110. select
  111. <include refid="table_columns"/>
  112. from BIS_INSP_TASK_DTH_DAY
  113. </select>
  114. <select id="findList" resultMap="bisInspTaskDthDayResultMap">
  115. select
  116. <include refid="table_columns"/>
  117. from BIS_INSP_TASK_DTH_DAY
  118. <include refid="page_where"/>
  119. </select>
  120. <select id="selectCount" resultType="int">
  121. select count(ID) from BIS_INSP_TASK_DTH_DAY
  122. <include refid="page_where"/>
  123. </select>
  124. <insert id="insert" parameterType="cn.com.goldenwater.dcproj.model.BisInspTaskDthDay">
  125. insert into BIS_INSP_TASK_DTH_DAY(
  126. <include refid="table_columns"/>
  127. )
  128. values (
  129. <include refid="entity_properties"/>
  130. )
  131. </insert>
  132. <delete id="delete" parameterType="java.lang.String">
  133. update BIS_INSP_TASK_DTH_DAY set DATA_STAT='9' where ID = #{id}
  134. </delete>
  135. <delete id="deleteBy" parameterType="cn.com.goldenwater.dcproj.model.BisInspTaskDthDay">
  136. update BIS_INSP_TASK_DTH_DAY set DATA_STAT='9'
  137. <include refid="page_where"/>
  138. </delete>
  139. <update id="deleteInFlag" parameterType="java.lang.String">
  140. update BIS_INSP_TASK_DTH_DAY set DATA_STAT = '9' where ID = #{id}
  141. </update>
  142. <update id="update" parameterType="cn.com.goldenwater.dcproj.model.BisInspTaskDthDay">
  143. update BIS_INSP_TASK_DTH_DAY
  144. <trim prefix="set" suffixOverrides=",">
  145. <if test="orgId != null and orgId != ''">ORG_ID = #{orgId},</if>
  146. <if test="adCode != null and adCode != ''">AD_CODE = #{adCode},</if>
  147. <if test="adName != null and adName != ''">AD_NAME = #{adName},</if>
  148. <if test="adFullName != null and adFullName != ''">AD_FULL_NAME = #{adFullName},</if>
  149. <if test="adGrad != null and adGrad != ''">AD_GRAD = #{adGrad},</if>
  150. <if test="tm != null">TM = #{tm},</if>
  151. <if test="objType != null and objType != ''">OBJ_TYPE = #{objType},</if>
  152. <if test="objName != null and objName != ''">OBJ_NAME = #{objName},</if>
  153. <if test="objSize != null and objSize != ''">OBJ_SIZE = #{objSize},</if>
  154. <if test="pblmSize != null and pblmSize != ''">PBLM_SIZE = #{pblmSize},</if>
  155. <if test="mendSize != null and mendSize != ''">MEND_SIZE = #{mendSize},</if>
  156. <if test="pblmLogSize != null and pblmLogSize != ''">PBLM_LOG_SIZE = #{pblmLogSize},</if>
  157. <if test="infoPlbm != null and infoPlbm != ''">infoPlbm = #{INFO_PLBM},</if>
  158. <if test="warmPlbm != null and warmPlbm != ''">warmPlbm = #{WARM_PLBM},</if>
  159. <if test="errorPlbm != null and errorPlbm != ''">errorPlbm = #{ERROR_PLBM},</if>
  160. <if test="intm != null">INTM = #{intm},</if>
  161. <if test="uptm != null">UPTM = #{uptm},</if>
  162. <if test="dataStat != null and dataStat != ''">DATA_STAT = #{dataStat},</if>
  163. </trim>
  164. <where>ID = #{id}</where>
  165. </update>
  166. <update id="updateBy" parameterType="cn.com.goldenwater.dcproj.model.BisInspTaskDthDay">
  167. update BIS_INSP_TASK_DTH_DAY
  168. <trim prefix="set" suffixOverrides=",">
  169. <if test="orgId != null and orgId != ''">ORG_ID = #{orgId},</if>
  170. <if test="adCode != null and adCode != ''">AD_CODE = #{adCode},</if>
  171. <if test="adName != null and adName != ''">AD_NAME = #{adName},</if>
  172. <if test="adFullName != null and adFullName != ''">AD_FULL_NAME = #{adFullName},</if>
  173. <if test="adGrad != null and adGrad != ''">AD_GRAD = #{adGrad},</if>
  174. <if test="tm != null">TM = #{tm},</if>
  175. <if test="objType != null and objType != ''">OBJ_TYPE = #{objType},</if>
  176. <if test="objName != null and objName != ''">OBJ_NAME = #{objName},</if>
  177. <if test="objSize != null and objSize != ''">OBJ_SIZE = #{objSize},</if>
  178. <if test="pblmSize != null and pblmSize != ''">PBLM_SIZE = #{pblmSize},</if>
  179. <if test="mendSize != null and mendSize != ''">MEND_SIZE = #{mendSize},</if>
  180. <if test="pblmLogSize != null and pblmLogSize != ''">PBLM_LOG_SIZE = #{pblmLogSize},</if>
  181. <if test="infoPlbm != null and infoPlbm != ''">infoPlbm = #{INFO_PLBM},</if>
  182. <if test="warmPlbm != null and warmPlbm != ''">warmPlbm = #{WARM_PLBM},</if>
  183. <if test="errorPlbm != null and errorPlbm != ''">errorPlbm = #{ERROR_PLBM},</if>
  184. <if test="intm != null">INTM = #{intm},</if>
  185. <if test="uptm != null">UPTM = #{uptm},</if>
  186. <if test="dataStat != null and dataStat != ''">DATA_STAT = #{dataStat},</if>
  187. </trim>
  188. <include refid="page_where"/>
  189. </update>
  190. <!-- 其他自定义SQL -->
  191. <select id="findForCity" resultType="cn.com.goldenwater.dcproj.model.BisInspTaskDthDay">
  192. WITH O AS (
  193. <choose>
  194. <when test='objType == "8" '>
  195. SELECT
  196. '稽察工作' as NAME, r.AD_CODE, '8' as "OBJ_TYPE",
  197. COUNT( DISTINCT r.id ) OBJ_SIZE, COUNT( A.ID ) PBLM_SIZE,
  198. 0 as SUBMIT_PLBM,
  199. IFNULL( SUM( CASE A.PBLM_PASI WHEN '0' THEN 1 ELSE 0 END ), 0 ) INFO_PLBM,
  200. IFNULL( SUM( CASE A.PBLM_PASI WHEN '1' THEN 1 ELSE 0 END ), 0 ) WARM_PLBM,
  201. IFNULL( SUM( CASE A.PBLM_PASI WHEN '2' THEN 1 ELSE 0 END ), 0 ) ERROR_PLBM,
  202. IFNULL( SUM( CASE A.PBLM_PASI WHEN '3' THEN 1 ELSE 0 END ), 0 ) ERRORS_PLBM,
  203. 0 as PBLM_LOG_SIZE , 0 as MEND_SIZE
  204. FROM TAC_INSP_YEAR_BATCH_OBJ O
  205. LEFT JOIN tac_pawp_rgstr r ON o.id = r.obj_id
  206. LEFT JOIN (SELECT * FROM TAC_PROVINCE_PBLM_INFO WHERE STEP_ID = #{lastStepId}) A ON A.rgstr_id = r.id
  207. <where>
  208. <if test="year != null and year != ''">and O.YEAR = #{year}</if>
  209. <if test="batch != null and batch != ''">and O.BATCH = #{batch}</if>
  210. <if test="province != null and province != ''">and O.PROVINCE = #{province}</if>
  211. <if test="sttm != null and sttm != '' and entm != null and entm != '' ">
  212. and R.INTM &gt;= STR_TO_DATE(#{sttm}, '%Y-%m-%d') and R.INTM &lt; DATE_ADD(STR_TO_DATE(#{entm}, '%Y-%m-%d'), INTERVAL 1 DAY)
  213. </if>
  214. </where>
  215. GROUP BY r.AD_CODE, '8', R.INTM
  216. </when>
  217. <otherwise>
  218. SELECT
  219. A.NAME,
  220. <!-- 把福建省福州市下的平潭县 提到到平潭综合实验区 -->
  221. <!-- 把山东省莱芜市下的市辖区、莱芜区 归属到济南市莱芜区,钢城区 归属到济南市的钢城区, -->
  222. ( case when SUBSTR(O.OBJ_AD_CODE, 1, 6) = '350128' then '351000000000' when SUBSTR(O.OBJ_AD_CODE, 1, 6) = '371201' then '370116000000' when SUBSTR(O.OBJ_AD_CODE, 1, 6) = '371202' then '370116000000' when SUBSTR(O.OBJ_AD_CODE, 1, 6) = '371203' then '370117000000' else O.OBJ_AD_CODE end) AS "AD_CODE",
  223. O.PTYPE as "OBJ_TYPE",
  224. COUNT( DISTINCT O.OBJ_ID ) OBJ_SIZE,
  225. COUNT(DISTINCT case when P.PBLM_ID is not null then P.PBLM_ID end ) PBLM_SIZE,
  226. IFNULL( SUM( CASE WHEN P.STATE = '2' THEN 1 ELSE 0 END ), 0 ) SUBMIT_PLBM,
  227. IFNULL( SUM( CASE P.INSP_PBLM_CATE WHEN '0' THEN 1 ELSE 0 END ), 0 ) INFO_PLBM,
  228. IFNULL( SUM( CASE P.INSP_PBLM_CATE WHEN '1' THEN 1 ELSE 0 END ), 0 ) WARM_PLBM,
  229. IFNULL( SUM( CASE P.INSP_PBLM_CATE WHEN '2' THEN 1 ELSE 0 END ), 0 ) ERROR_PLBM,
  230. IFNULL( SUM( CASE P.INSP_PBLM_CATE WHEN '3' THEN 1 ELSE 0 END ), 0 ) ERRORS_PLBM,
  231. IFNULL( SUM( CASE PL.PBLM_OUT WHEN '1' THEN 1 ELSE 0 END ), 0 ) PBLM_LOG_SIZE,
  232. IFNULL( COUNT(DISTINCT CASE when PL.PBLM_ID is not null then P.PBLM_ID end ), 0 ) MEND_SIZE
  233. FROM
  234. BIS_INSP_ALL_OBJ O
  235. JOIN (select * FROM ATT_INSP_TYPE where code IN (select INSP_TYPE FROM REL_ORG_INSP_TYPE
  236. <where>
  237. <if test='orgId != null and orgId != "" '>
  238. AND ORG_ID = #{orgId}
  239. </if>
  240. </where>
  241. )) A ON A.PTYPE = O.PTYPE
  242. LEFT JOIN BIS_INSP_PBLM P ON P.OBJ_ID = O.OBJ_ID
  243. LEFT JOIN BIS_INSP_PBLM_PLIST Pl ON PL.PBLM_ID = P.PBLM_ID and PL.DATA_STAT='0'
  244. <where>
  245. <if test="objType != null and objType != ''">and O.PTYPE = #{objType}</if>
  246. <if test="orgId != null and orgId != ''">AND O.ID LIKE '___${orgId}%'</if>
  247. <if test="sttm != null and sttm != '' and entm != null and entm != '' ">
  248. and O.OBJ_INTM &gt;= STR_TO_DATE(#{sttm}, '%Y-%m-%d') and O.OBJ_INTM &lt; DATE_ADD(STR_TO_DATE(#{entm}, '%Y-%m-%d'), INTERVAL 1 DAY)
  249. </if>
  250. </where>
  251. GROUP BY A.NAME,O.OBJ_AD_CODE, O.PTYPE
  252. </otherwise>
  253. </choose>
  254. )
  255. SELECT
  256. ( case when SUBSTR(A.AD_CODE, 1, 6) = '350000' then '359900000000' else A.AD_CODE end) as AD_CODE, A.AD_NAME, A.LGTD, A.LTTD,
  257. SUM(OBJ_SIZE) OBJ_SIZE,
  258. SUM(PBLM_SIZE) PBLM_SIZE, SUM(SUBMIT_PLBM) SUBMIT_PLBM, SUM(INFO_PLBM) INFO_PLBM,
  259. SUM(WARM_PLBM) WARM_PLBM, SUM(ERROR_PLBM) ERROR_PLBM, SUM(ERRORS_PLBM) ERRORS_PLBM, SUM(PBLM_LOG_SIZE) PBLM_LOG_SIZE, SUM(MEND_SIZE) MEND_SIZE
  260. FROM
  261. <choose>
  262. <when test='adGrad == "4" '>
  263. <!-- 县区 -->
  264. <choose>
  265. <when test=' adCode == "3501" '>
  266. <!-- 福建省 福州市 排除 平潭县 -->
  267. (select AD_CODE, AD_NAME, LGTD, LTTD from ATT_AD_BASE WHERE ad_grad= '4' and AD_CODE LIKE '${adCode}%' and SUBSTR(AD_CODE, 1, 6) !='350128' )A
  268. </when>
  269. <when test=' adCode == "3510" '>
  270. <!-- 福建省 平潭实验区-->
  271. (select (case when SUBSTR(AD_CODE, 1, 6) = '350128' then '351000000000' else AD_CODE end) AS "AD_CODE", AD_NAME, LGTD, LTTD from ATT_AD_BASE WHERE (ad_grad= '4' and AD_CODE LIKE '${adCode}%' ) or SUBSTR(AD_CODE, 1, 6) ='350128' )A
  272. </when>
  273. <otherwise>
  274. <!-- 除去福建省 的其他省份-->
  275. (select AD_CODE, AD_NAME, LGTD, LTTD from ATT_AD_BASE WHERE ad_grad= '4' and AD_CODE LIKE '${adCode}%') A
  276. </otherwise>
  277. </choose>
  278. </when>
  279. <otherwise>
  280. <choose>
  281. <when test=' adCode == "35" '>
  282. <!-- 福建省 增加省本级 -->
  283. (select AD_CODE, AD_NAME, LGTD, LTTD from ATT_AD_BASE WHERE ad_grad= '3' and AD_CODE LIKE '${adCode}%'
  284. UNION ALL
  285. select '350000000000' as AD_CODE , '省本级' as AD_NAME, null as LGTD, null as LTTD from ATT_AD_BASE where ad_code = '350100000000'
  286. )A
  287. </when>
  288. <when test=' adCode == "3500" '>
  289. <!-- 省本级 -->
  290. (
  291. select '350000000000' as AD_CODE , '省本级' as AD_NAME, null as LGTD, null as LTTD from dual
  292. )A
  293. </when>
  294. <otherwise>
  295. <!-- 除去福建省 的其他省份-->
  296. (select AD_CODE, AD_NAME, LGTD, LTTD from ATT_AD_BASE WHERE ad_grad= '3' and AD_CODE LIKE '${adCode}%') A
  297. </otherwise>
  298. </choose>
  299. </otherwise>
  300. </choose>
  301. LEFT JOIN (
  302. SELECT
  303. <choose>
  304. <when test='adGrad == "4" '>
  305. concat(SUBSTR(AD_CODE, 1, 6) , '000000') AD_CODE,
  306. </when>
  307. <otherwise>
  308. concat(SUBSTR(AD_CODE, 1, 4) , '00000000') AD_CODE,
  309. </otherwise>
  310. </choose>
  311. OBJ_TYPE, OBJ_SIZE, PBLM_SIZE, SUBMIT_PLBM,INFO_PLBM, WARM_PLBM, ERROR_PLBM, ERRORS_PLBM,PBLM_LOG_SIZE,MEND_SIZE
  312. FROM o
  313. <where>
  314. <if test="adCode != null and adCode != ''">and o.AD_CODE LIKE '${adCode}%'</if>
  315. </where>
  316. ) T ON T.AD_CODE = A.AD_CODE
  317. <where>
  318. <if test="adCode != null and adCode != ''">and A.AD_CODE LIKE '${adCode}%'</if>
  319. <if test="adCode == '66'">and a.ad_code != '661100000000'</if> <!--为了去除首页三维地图没有十一师的坐标-->
  320. </where>
  321. GROUP BY A.AD_CODE, A.AD_NAME, A.LGTD, A.LTTD
  322. ORDER BY A.AD_CODE
  323. </select>
  324. <select id="findForObjType" resultType="cn.com.goldenwater.dcproj.model.BisInspTaskDthDay">
  325. SELECT
  326. OBJ_NAME,
  327. OBJ_TYPE,
  328. SUM(OBJ_SIZE) OBJ_SIZE,
  329. SUM(PBLM_SIZE) PBLM_SIZE, SUM(SUBMIT_PLBM) SUBMIT_PLBM,SUM(INFO_PLBM) INFO_PLBM,
  330. SUM(WARM_PLBM) WARM_PLBM, SUM(ERROR_PLBM) ERROR_PLBM, SUM(ERRORS_PLBM) ERRORS_PLBM, SUM(PBLM_LOG_SIZE) PBLM_LOG_SIZE, SUM(MEND_SIZE) MEND_SIZE
  331. FROM
  332. (
  333. SELECT OBJ_NAME,
  334. <choose>
  335. <when test='adGrad == "4" '>
  336. concat(SUBSTR(AD_CODE, 1, 6) , '000000') AD_CODE,
  337. </when>
  338. <otherwise>
  339. concat(SUBSTR(AD_CODE, 1, 4) , '00000000') AD_CODE,
  340. </otherwise>
  341. </choose>
  342. OBJ_TYPE, OBJ_SIZE, PBLM_SIZE,SUBMIT_PLBM, INFO_PLBM, WARM_PLBM, ERROR_PLBM, ERRORS_PLBM,PBLM_LOG_SIZE,MEND_SIZE
  343. FROM (
  344. SELECT
  345. AIT.NAME AS "OBJ_NAME",
  346. <!-- 把福建省福州市下的平潭县 提到到平潭综合实验区 -->
  347. <!-- 把山东省莱芜市下的市辖区、莱芜区 归属到济南市莱芜区,钢城区 归属到济南市的钢城区, -->
  348. ( case when SUBSTR(O.OBJ_AD_CODE, 1, 6) = '350128' then '351000000000' when SUBSTR(O.OBJ_AD_CODE, 1, 6) = '371201' then '370116000000' when SUBSTR(O.OBJ_AD_CODE, 1, 6) = '371202' then '370116000000' when SUBSTR(O.OBJ_AD_CODE, 1, 6) = '371203' then '370117000000' else O.OBJ_AD_CODE end) AS "AD_CODE",
  349. O.PTYPE as "OBJ_TYPE",
  350. COUNT( DISTINCT O.OBJ_ID ) OBJ_SIZE,
  351. COUNT(DISTINCT case when P.PBLM_ID is not null then P.PBLM_ID end ) PBLM_SIZE,
  352. IFNULL( SUM( CASE WHEN P.STATE = '2' THEN 1 ELSE 0 END ), 0 ) SUBMIT_PLBM,
  353. IFNULL( SUM( CASE P.INSP_PBLM_CATE WHEN '0' THEN 1 ELSE 0 END ), 0 ) INFO_PLBM,
  354. IFNULL( SUM( CASE P.INSP_PBLM_CATE WHEN '1' THEN 1 ELSE 0 END ), 0 ) WARM_PLBM,
  355. IFNULL( SUM( CASE P.INSP_PBLM_CATE WHEN '2' THEN 1 ELSE 0 END ), 0 ) ERROR_PLBM,
  356. IFNULL( SUM( CASE P.INSP_PBLM_CATE WHEN '3' THEN 1 ELSE 0 END ), 0 ) ERRORS_PLBM,
  357. IFNULL( SUM( CASE PL.PBLM_OUT WHEN '1' THEN 1 ELSE 0 END ), 0 ) PBLM_LOG_SIZE,
  358. IFNULL( COUNT(DISTINCT CASE when PL.PBLM_ID is not null then P.PBLM_ID end ), 0 ) MEND_SIZE
  359. FROM
  360. BIS_INSP_ALL_OBJ O
  361. JOIN (select * FROM ATT_INSP_TYPE where code IN (select INSP_TYPE FROM REL_ORG_INSP_TYPE
  362. <where>
  363. <if test='orgId != null and orgId != "" '>
  364. AND ORG_ID = #{orgId}
  365. </if>
  366. </where>
  367. )) AIT ON AIT.PTYPE = O.PTYPE
  368. LEFT JOIN BIS_INSP_PBLM P ON P.OBJ_ID = O.OBJ_ID
  369. LEFT JOIN BIS_INSP_PBLM_PLIST Pl ON PL.PBLM_ID = P.PBLM_ID and PL.DATA_STAT='0'
  370. <where>
  371. <if test="objType != null and objType != ''">and O.PTYPE = #{objType}</if>
  372. <if test="orgId != null and orgId != ''">AND O.ID LIKE '___${orgId}%'</if>
  373. <if test="sttm != null and sttm != '' and entm != null and entm != '' ">
  374. and O.OBJ_INTM &gt;= STR_TO_DATE(#{sttm}, '%Y-%m-%d') and O.OBJ_INTM &lt; DATE_ADD(STR_TO_DATE(#{entm}, '%Y-%m-%d'), INTERVAL 1 DAY)
  375. </if>
  376. </where>
  377. GROUP BY AIT.NAME,O.OBJ_AD_CODE, O.PTYPE
  378. ) o
  379. <where>
  380. <if test="adCode != null and adCode != ''">and o.AD_CODE LIKE '${adCode}%'</if>
  381. </where>
  382. ) T
  383. GROUP BY T.OBJ_NAME, T.OBJ_TYPE
  384. ORDER BY cast(T.OBJ_TYPE as unsigned)
  385. </select>
  386. <select id="findForCityObjType" resultType="cn.com.goldenwater.dcproj.model.BisInspTaskDthDay">
  387. WITH O AS (
  388. SELECT
  389. A.NAME as "OBJ_NAME",
  390. <!-- 把福建省福州市下的平潭县 提到到平潭综合实验区 -->
  391. <!-- 把山东省莱芜市下的市辖区、莱芜区 归属到济南市莱芜区,钢城区 归属到济南市的钢城区, -->
  392. ( case when SUBSTR(O.OBJ_AD_CODE, 1, 6) = '350128' then '351000000000' when SUBSTR(O.OBJ_AD_CODE, 1, 6) = '371201' then '370116000000' when SUBSTR(O.OBJ_AD_CODE, 1, 6) = '371202' then '370116000000' when SUBSTR(O.OBJ_AD_CODE, 1, 6) = '371203' then '370117000000' else O.OBJ_AD_CODE end) AS "AD_CODE",
  393. O.PTYPE as "OBJ_TYPE",
  394. COUNT( DISTINCT O.OBJ_ID ) OBJ_SIZE,
  395. COUNT(DISTINCT case when P.PBLM_ID is not null then P.PBLM_ID end ) PBLM_SIZE,
  396. IFNULL( SUM( CASE WHEN P.STATE = '2' THEN 1 ELSE 0 END ), 0 ) SUBMIT_PLBM,
  397. IFNULL( SUM( CASE P.INSP_PBLM_CATE WHEN '0' THEN 1 ELSE 0 END ), 0 ) INFO_PLBM,
  398. IFNULL( SUM( CASE P.INSP_PBLM_CATE WHEN '1' THEN 1 ELSE 0 END ), 0 ) WARM_PLBM,
  399. IFNULL( SUM( CASE P.INSP_PBLM_CATE WHEN '2' THEN 1 ELSE 0 END ), 0 ) ERROR_PLBM,
  400. IFNULL( SUM( CASE P.INSP_PBLM_CATE WHEN '3' THEN 1 ELSE 0 END ), 0 ) ERRORS_PLBM,
  401. IFNULL( SUM( CASE PL.PBLM_OUT WHEN '1' THEN 1 ELSE 0 END ), 0 ) PBLM_LOG_SIZE,
  402. IFNULL( COUNT(DISTINCT CASE when PL.PBLM_ID is not null then P.PBLM_ID end ), 0 ) MEND_SIZE
  403. FROM
  404. BIS_INSP_ALL_OBJ O
  405. JOIN (select * FROM ATT_INSP_TYPE where code IN (select INSP_TYPE FROM REL_ORG_INSP_TYPE
  406. <where>
  407. <if test='orgId != null and orgId != "" '>
  408. AND ORG_ID = #{orgId}
  409. </if>
  410. </where>
  411. )) A ON A.PTYPE = O.PTYPE
  412. LEFT JOIN BIS_INSP_PBLM P ON P.OBJ_ID = O.OBJ_ID
  413. LEFT JOIN BIS_INSP_PBLM_PLIST Pl ON PL.PBLM_ID = P.PBLM_ID and PL.DATA_STAT='0'
  414. <where>
  415. <if test="objType != null and objType != ''">and O.PTYPE = #{objType}</if>
  416. <if test="orgId != null and orgId != ''">AND O.ID LIKE '___${orgId}%'</if>
  417. <if test="sttm != null and sttm != '' and entm != null and entm != '' ">
  418. and O.OBJ_INTM &gt;= STR_TO_DATE(#{sttm}, '%Y-%m-%d') and O.OBJ_INTM &lt; DATE_ADD(STR_TO_DATE(#{entm}, '%Y-%m-%d'), INTERVAL 1 DAY)
  419. </if>
  420. </where>
  421. GROUP BY A.NAME,O.OBJ_AD_CODE, O.PTYPE
  422. )
  423. SELECT
  424. ( case when SUBSTR(A.AD_CODE, 1, 6) = '350000' then '359900000000' else A.AD_CODE end) as AD_CODE, A.AD_NAME, A.LGTD, A.LTTD,
  425. T.OBJ_NAME, T.OBJ_TYPE,
  426. SUM(OBJ_SIZE) OBJ_SIZE,
  427. SUM(PBLM_SIZE) PBLM_SIZE, SUM(SUBMIT_PLBM) SUBMIT_PLBM,SUM(INFO_PLBM) INFO_PLBM,
  428. SUM(WARM_PLBM) WARM_PLBM, SUM(ERROR_PLBM) ERROR_PLBM, SUM(ERRORS_PLBM) ERRORS_PLBM, SUM(PBLM_LOG_SIZE) PBLM_LOG_SIZE, SUM(MEND_SIZE) MEND_SIZE
  429. FROM
  430. <choose>
  431. <when test='adGrad == "4" '>
  432. <!-- 县区 -->
  433. <choose>
  434. <when test=' adCode == "3501" '>
  435. <!-- 福建省 福州市 排除 平潭县 -->
  436. (select AD_CODE, AD_NAME, LGTD, LTTD from ATT_AD_BASE WHERE ad_grad= '4' and AD_CODE LIKE '${adCode}%' and SUBSTR(AD_CODE, 1, 6) !='350128' )A
  437. </when>
  438. <when test=' adCode == "3510" '>
  439. <!-- 福建省 平潭实验区-->
  440. (select (case when SUBSTR(AD_CODE, 1, 6) = '350128' then '351000000000' else AD_CODE end) AS "AD_CODE", AD_NAME, LGTD, LTTD from ATT_AD_BASE WHERE (ad_grad= '4' and AD_CODE LIKE '${adCode}%' ) or SUBSTR(AD_CODE, 1, 6) ='350128' )A
  441. </when>
  442. <otherwise>
  443. <!-- 除去福建省 的其他省份-->
  444. (select AD_CODE, AD_NAME, LGTD, LTTD from ATT_AD_BASE WHERE ad_grad= '4' and AD_CODE LIKE '${adCode}%') A
  445. </otherwise>
  446. </choose>
  447. </when>
  448. <otherwise>
  449. <choose>
  450. <when test=' adCode == "35" '>
  451. <!-- 福建省 增加省本级 -->
  452. (select AD_CODE, AD_NAME, LGTD, LTTD from ATT_AD_BASE WHERE ad_grad= '3' and AD_CODE LIKE '${adCode}%'
  453. UNION ALL
  454. select '350000000000' as AD_CODE , '省本级' as AD_NAME, LGTD, LTTD from ATT_AD_BASE where ad_code = '350100000000'
  455. )A
  456. </when>
  457. <when test=' adCode == "3500" '>
  458. <!-- 省本级 -->
  459. (
  460. select '350000000000' as AD_CODE , '省本级' as AD_NAME, LGTD, LTTD from ATT_AD_BASE where ad_code = '350100000000'
  461. )A
  462. </when>
  463. <otherwise>
  464. <!-- 除去福建省 的其他省份-->
  465. (select AD_CODE, AD_NAME, LGTD, LTTD from ATT_AD_BASE WHERE ad_grad= '3' and AD_CODE LIKE '${adCode}%') A
  466. </otherwise>
  467. </choose>
  468. </otherwise>
  469. </choose>
  470. LEFT JOIN (
  471. SELECT
  472. <choose>
  473. <when test='adGrad == "4" '>
  474. concat(SUBSTR(AD_CODE, 1, 6) , '000000') AD_CODE,
  475. </when>
  476. <otherwise>
  477. cocnat(SUBSTR(AD_CODE, 1, 4) , '00000000') AD_CODE,
  478. </otherwise>
  479. </choose>
  480. OBJ_NAME, OBJ_TYPE, OBJ_SIZE, PBLM_SIZE,SUBMIT_PLBM,INFO_PLBM, WARM_PLBM, ERROR_PLBM, ERRORS_PLBM,PBLM_LOG_SIZE,MEND_SIZE
  481. FROM o
  482. <where>
  483. <if test="adCode != null and adCode != ''">and o.AD_CODE LIKE '${adCode}%'</if>
  484. </where>
  485. ) T ON T.AD_CODE = A.AD_CODE
  486. <where>
  487. <if test="adCode != null and adCode != ''">and A.AD_CODE LIKE '${adCode}%'</if>
  488. <if test="adCode == '66'">and a.ad_code != '661100000000'</if> <!--为了去除首页三维地图没有十一师的坐标-->
  489. </where>
  490. GROUP BY A.AD_CODE, A.AD_NAME, A.LGTD, A.LTTD ,T.OBJ_NAME, T.OBJ_TYPE
  491. ORDER BY A.AD_CODE , cast(T.OBJ_TYPE as unsigned)
  492. </select>
  493. <select id="findForCityObjTypeYearsCompare" resultMap="bisInspTaskDthDayResultMap" >
  494. WITH O AS (
  495. SELECT
  496. A.NAME as "OBJ_NAME",
  497. <!-- 把福建省福州市下的平潭县 提到到平潭综合实验区 -->
  498. <!-- 把山东省莱芜市下的市辖区、莱芜区 归属到济南市莱芜区,钢城区 归属到济南市的钢城区, -->
  499. ( case when SUBSTR(O.OBJ_AD_CODE, 1, 6) = '350128' then '351000000000' when SUBSTR(O.OBJ_AD_CODE, 1, 6) = '371201' then '370116000000' when SUBSTR(O.OBJ_AD_CODE, 1, 6) = '371202' then '370116000000' when SUBSTR(O.OBJ_AD_CODE, 1, 6) = '371203' then '370117000000' else O.OBJ_AD_CODE end) AS "AD_CODE",
  500. O.PTYPE as "OBJ_TYPE",
  501. O.OBJ_ID,
  502. DATE_FORMAT(O.OBJ_INTM, '%Y') OTM,
  503. P.PBLM_ID,
  504. P.INSP_PBLM_CATE,
  505. P.DATA_STAT,
  506. P.STATE,
  507. PL.PBLM_ID PL_PBLM_ID,
  508. PL.PBLM_OUT PL_PBLM_OUT
  509. FROM BIS_INSP_ALL_OBJ O
  510. JOIN (select * FROM ATT_INSP_TYPE where code IN (select INSP_TYPE FROM REL_ORG_INSP_TYPE
  511. <where>
  512. <if test='orgId != null and orgId != "" '>
  513. AND ORG_ID = #{orgId}
  514. </if>
  515. </where>
  516. )) A ON A.PTYPE = O.PTYPE
  517. LEFT JOIN BIS_INSP_PBLM P ON P.OBJ_ID = O.OBJ_ID
  518. LEFT JOIN BIS_INSP_PBLM_PLIST Pl ON PL.PBLM_ID = P.PBLM_ID and PL.DATA_STAT='0'
  519. <where>
  520. <if test="objType != null and objType != ''">and O.PTYPE = #{objType}</if>
  521. <if test="orgId != null and orgId != ''">AND O.ID LIKE '___${orgId}%'</if>
  522. <if test="sttm != null and sttm != '' and entm != null and entm != '' ">
  523. and O.OBJ_INTM &gt;= STR_TO_DATE(#{sttm}, '%Y-%m-%d') and O.OBJ_INTM &lt; DATE_ADD(STR_TO_DATE(#{entm},'%Y-%m-%d'), INTERVAL 1 DAY)
  524. </if>
  525. </where>
  526. )
  527. SELECT CHECK_YEAR,OBJ_TYPE,OBJ_NAME,OBJ_SIZE, PBLM_SIZE,INFO_PLBM,SUBMIT_PLBM,WARM_PLBM,ERROR_PLBM,ERRORS_PLBM,MEND_SIZE,PBLM_LOG_SIZE
  528. FROM (
  529. SELECT O1.OTM AS "CHECK_YEAR", O1.OBJ_TYPE, O1.OBJ_NAME, O1.OBJ_SIZE, IFNULL(O2.PBLM_SIZE,0) AS "PBLM_SIZE", IFNULL(O2.INFO_PLBM,0) AS "INFO_PLBM",IFNULL(O2.SUBMIT_PLBM,0) AS "SUBMIT_PLBM", IFNULL(O2.WARM_PLBM,0) AS "WARM_PLBM", IFNULL(O2.ERROR_PLBM,0) AS "ERROR_PLBM", IFNULL(O2.ERRORS_PLBM,0) AS "ERRORS_PLBM", IFNULL(O2.MEND_SIZE,0) AS "MEND_SIZE", IFNULL(O2.PBLM_LOG_SIZE ,0) AS "PBLM_LOG_SIZE"
  530. from ( SELECT
  531. OTM ,COUNT( DISTINCT O.OBJ_ID ) OBJ_SIZE, OBJ_TYPE, OBJ_NAME
  532. FROM O
  533. <where>
  534. <if test="adCode != null and adCode != ''">and AD_CODE LIKE '${adCode}%'</if>
  535. <if test='adCode == "66"'>and ad_code != '661100000000'</if> <!--为了去除首页三维地图没有十一师的坐标-->
  536. </where>
  537. GROUP BY OTM, OBJ_TYPE, OBJ_NAME
  538. ) O1
  539. LEFT JOIN
  540. ( SELECT
  541. OTM ,COUNT(DISTINCT case when O.PBLM_ID is not null then O.PBLM_ID end ) PBLM_SIZE,
  542. IFNULL( SUM( CASE WHEN O.STATE = '2' THEN 1 ELSE 0 END ), 0 ) SUBMIT_PLBM,
  543. IFNULL( SUM( CASE O.INSP_PBLM_CATE WHEN '0' THEN 1 ELSE 0 END ), 0 ) INFO_PLBM,
  544. IFNULL( SUM( CASE O.INSP_PBLM_CATE WHEN '1' THEN 1 ELSE 0 END ), 0 ) WARM_PLBM,
  545. IFNULL( SUM( CASE O.INSP_PBLM_CATE WHEN '2' THEN 1 ELSE 0 END ), 0 ) ERROR_PLBM,
  546. IFNULL( SUM( CASE O.INSP_PBLM_CATE WHEN '3' THEN 1 ELSE 0 END ), 0 ) ERRORS_PLBM,
  547. IFNULL( SUM( CASE O.PL_PBLM_OUT WHEN '1' THEN 1 ELSE 0 END ), 0 ) PBLM_LOG_SIZE,
  548. IFNULL( COUNT(DISTINCT CASE when O.PL_PBLM_ID is not null then O.PL_PBLM_ID end ), 0 ) MEND_SIZE
  549. , OBJ_TYPE, OBJ_NAME
  550. FROM O
  551. <where>
  552. <if test="adCode != null and adCode != ''">and AD_CODE LIKE '${adCode}%'</if>
  553. <if test='adCode == "66"'>and ad_code != '661100000000'</if> <!--为了去除首页三维地图没有十一师的坐标-->
  554. </where>
  555. GROUP BY OTM, OBJ_TYPE, OBJ_NAME
  556. ) O2 on O1.OTM = O2.OTM and O1.OBJ_TYPE = O2.OBJ_TYPE and O1.OBJ_NAME = O2.OBJ_NAME
  557. ) W
  558. </select>
  559. <select id="selectCurObjTypeList" resultType="cn.com.goldenwater.dcproj.model.BisInspTaskDthDay">
  560. SELECT
  561. AIT.NAME AS "OBJ_NAME",
  562. O.PTYPE as "OBJ_TYPE"
  563. FROM
  564. BIS_INSP_ALL_OBJ O
  565. JOIN (select * FROM ATT_INSP_TYPE where code IN (select INSP_TYPE FROM REL_ORG_INSP_TYPE
  566. <where>
  567. <if test='orgId != null and orgId != "" '>
  568. AND ORG_ID = #{orgId}
  569. </if>
  570. </where>
  571. )) AIT ON AIT.PTYPE = O.PTYPE
  572. <where>
  573. <if test="objType != null and objType != ''">and O.PTYPE = #{objType}</if>
  574. <if test="orgId != null and orgId != ''">AND O.ID LIKE '___${orgId}%'</if>
  575. <if test="sttm != null and sttm != '' and entm != null and entm != '' ">
  576. and O.OBJ_INTM &gt;= STR_TO_DATE(#{sttm}, '%Y-%m-%d') and O.OBJ_INTM &lt; DATE_ADD(STR_TO_DATE(#{entm},'%Y-%m-%d'), INTERVAL 1 DAY)
  577. </if>
  578. <if test="adCode != null and adCode != ''">and SUBSTR(O.OBJ_AD_CODE, 1, 2) = SUBSTR(#{adCode}, 1, 2) </if>
  579. </where>
  580. GROUP BY AIT.NAME, O.PTYPE
  581. ORDER BY cast(O.PTYPE as unsigned)
  582. </select>
  583. </mapper>