暫無描述

TLhzxAssessRecordMapper.xml 15KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441
  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="com.yt.zhylplat.moduleAss.assess.mapper.TLhzxAssessRecordMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="com.yt.zhylplat.moduleAss.assess.entity.TLhzxAssessRecord">
  6. <id column="id" property="id" />
  7. <result column="assess_no" property="assessNo" />
  8. <result column="assess_dept" property="assessDept" />
  9. <result column="assess_type" property="assessType" />
  10. <result column="maintenance_company_id" property="maintenanceCompanyId" />
  11. <result column="maintenance_company_name" property="maintenanceCompanyName" />
  12. <result column="assess_date" property="assessDate" />
  13. <result column="total_score" property="totalScore" />
  14. <result column="current_score" property="currentScore" />
  15. <result column="assess_user_id" property="assessUserId" />
  16. <result column="assess_user_name" property="assessUserName" />
  17. <result column="create_user_id" property="createUserId" />
  18. <result column="create_date" property="createDate" />
  19. <result column="update_user_id" property="updateUserId" />
  20. <result column="update_date" property="updateDate" />
  21. <result column="del_flg" property="delFlg" />
  22. <result column="remark" property="remark" />
  23. </resultMap>
  24. <!-- 通用查询结果列 -->
  25. <sql id="Base_Column_List">
  26. id, assess_no, assess_dept, assess_type, maintenance_company_id, maintenance_company_name, assess_date, total_score, current_score, assess_user_id, assess_user_name, create_user_id, create_date, update_user_id, update_date, del_flg, remark
  27. </sql>
  28. <select id="selectAssessRecordVOList" resultType="com.yt.zhylplat.moduleAss.assess.vo.TLhzxAssessRecordVO">
  29. select distinct
  30. rsmc.section_id,
  31. s.section_name,
  32. rsmc.maintenance_company_id,
  33. mc.maintenance_company_name,
  34. temp.employeeManagementScore,
  35. temp.equipmentScore,
  36. temp.greenFacilityScore,
  37. temp.daoBanFangScore,
  38. temp.patrolCoverRateScore,
  39. temp.workOrderScore,
  40. temp.dailyRecordScore,
  41. temp.beautifulSightsScore,
  42. temp.timelyScore,
  43. temp.caseClosedScore,
  44. temp.chargebackScore,
  45. temp.satisfyScore,
  46. temp.safetyManagementScore,
  47. temp.planSummaryScore,
  48. temp.dailyStatisticsScore,
  49. temp.twoTypeFundsScore,
  50. temp.plantInformationScore,
  51. temp.trainingWorkScore,
  52. temp.publicityReportScore,
  53. if(temp.current_score is null, '30', temp.current_score) as current_score
  54. from
  55. T_Lhzx_Road_Section_Maintenance_Company rsmc
  56. left join
  57. T_Lhzx_Section s on rsmc.section_id = s.id
  58. left join
  59. T_Lhzx_Maintenance_Company mc on rsmc.maintenance_company_id = mc.id
  60. left join
  61. (<include refid="assessRecordVOListSql"/>) temp on rsmc.section_id = temp.section_id and rsmc.maintenance_company_id = temp.maintenance_company_id
  62. where
  63. rsmc.del_flg = 0
  64. <if test="sectionId != null">
  65. AND rsmc.section_id = #{sectionId}
  66. </if>
  67. <if test="maintenanceCompanyId != null">
  68. AND rsmc.maintenance_company_id = #{maintenanceCompanyId}
  69. </if>
  70. ORDER BY
  71. rsmc.section_id,
  72. rsmc.maintenance_company_id
  73. </select>
  74. <sql id="assessRecordVOListSql">
  75. SELECT
  76. ar.section_id,
  77. ar.section_name,
  78. ar.maintenance_company_id,
  79. ar.maintenance_company_name,
  80. (
  81. SELECT
  82. ROUND(SUM(IF(issue_score is null, 0, issue_score)), 2)
  83. FROM
  84. T_Lhzx_Assess_Record_Detail
  85. WHERE
  86. del_flg = 0
  87. AND
  88. assess_record_id = ar.id
  89. and
  90. assess_content_id = 1
  91. AND
  92. assess_standard_id = 1
  93. GROUP BY
  94. assess_record_id,
  95. assess_content_id,
  96. assess_standard_id
  97. ) as employeeManagementScore,
  98. (
  99. SELECT
  100. ROUND(SUM(IF(issue_score is null, 0, issue_score)), 2)
  101. FROM
  102. T_Lhzx_Assess_Record_Detail
  103. WHERE
  104. del_flg = 0
  105. AND
  106. assess_record_id = ar.id
  107. and
  108. assess_content_id = 1
  109. AND
  110. assess_standard_id = 2
  111. GROUP BY
  112. assess_record_id,
  113. assess_content_id,
  114. assess_standard_id
  115. ) as equipmentScore,
  116. (
  117. SELECT
  118. ROUND(SUM(IF(issue_score is null, 0, issue_score)), 2)
  119. FROM
  120. T_Lhzx_Assess_Record_Detail
  121. WHERE
  122. del_flg = 0
  123. AND
  124. assess_record_id = ar.id
  125. and
  126. assess_content_id = 1
  127. AND
  128. assess_standard_id = 3
  129. GROUP BY
  130. assess_record_id,
  131. assess_content_id,
  132. assess_standard_id
  133. ) as greenFacilityScore,
  134. (
  135. SELECT
  136. ROUND(SUM(IF(issue_score is null, 0, issue_score)), 2)
  137. FROM
  138. T_Lhzx_Assess_Record_Detail
  139. WHERE
  140. del_flg = 0
  141. AND
  142. assess_record_id = ar.id
  143. and
  144. assess_content_id = 1
  145. AND
  146. assess_standard_id = 4
  147. GROUP BY
  148. assess_record_id,
  149. assess_content_id,
  150. assess_standard_id
  151. ) as daoBanFangScore,
  152. (
  153. SELECT
  154. ROUND(SUM(IF(issue_score is null, 0, issue_score)), 2)
  155. FROM
  156. T_Lhzx_Assess_Record_Detail
  157. WHERE
  158. del_flg = 0
  159. AND
  160. assess_record_id = ar.id
  161. and
  162. assess_content_id = 2
  163. AND
  164. assess_standard_id = 5
  165. GROUP BY
  166. assess_record_id,
  167. assess_content_id,
  168. assess_standard_id
  169. ) as patrolCoverRateScore,
  170. (
  171. SELECT
  172. ROUND(SUM(IF(issue_score is null, 0, issue_score)), 2)
  173. FROM
  174. T_Lhzx_Assess_Record_Detail
  175. WHERE
  176. del_flg = 0
  177. AND
  178. assess_record_id = ar.id
  179. and
  180. assess_content_id = 2
  181. AND
  182. assess_standard_id = 6
  183. GROUP BY
  184. assess_record_id,
  185. assess_content_id,
  186. assess_standard_id
  187. ) as workOrderScore,
  188. (
  189. SELECT
  190. ROUND(SUM(IF(issue_score is null, 0, issue_score)), 2)
  191. FROM
  192. T_Lhzx_Assess_Record_Detail
  193. WHERE
  194. del_flg = 0
  195. AND
  196. assess_record_id = ar.id
  197. and
  198. assess_content_id = 2
  199. AND
  200. assess_standard_id = 7
  201. GROUP BY
  202. assess_record_id,
  203. assess_content_id,
  204. assess_standard_id
  205. ) as dailyRecordScore,
  206. (
  207. SELECT
  208. ROUND(SUM(IF(issue_score is null, 0, issue_score)), 2)
  209. FROM
  210. T_Lhzx_Assess_Record_Detail
  211. WHERE
  212. del_flg = 0
  213. AND
  214. assess_record_id = ar.id
  215. and
  216. assess_content_id = 2
  217. AND
  218. assess_standard_id = 8
  219. GROUP BY
  220. assess_record_id,
  221. assess_content_id,
  222. assess_standard_id
  223. ) as beautifulSightsScore,
  224. (
  225. SELECT
  226. ROUND(SUM(IF(issue_score is null, 0, issue_score)), 2)
  227. FROM
  228. T_Lhzx_Assess_Record_Detail
  229. WHERE
  230. del_flg = 0
  231. AND
  232. assess_record_id = ar.id
  233. and
  234. assess_content_id = 3
  235. AND
  236. assess_standard_id = 9
  237. GROUP BY
  238. assess_record_id,
  239. assess_content_id,
  240. assess_standard_id
  241. ) as timelyScore,
  242. (
  243. SELECT
  244. ROUND(SUM(IF(issue_score is null, 0, issue_score)), 2)
  245. FROM
  246. T_Lhzx_Assess_Record_Detail
  247. WHERE
  248. del_flg = 0
  249. AND
  250. assess_record_id = ar.id
  251. and
  252. assess_content_id = 3
  253. AND
  254. assess_standard_id = 10
  255. GROUP BY
  256. assess_record_id,
  257. assess_content_id,
  258. assess_standard_id
  259. ) as caseClosedScore,
  260. (
  261. SELECT
  262. ROUND(SUM(IF(issue_score is null, 0, issue_score)), 2)
  263. FROM
  264. T_Lhzx_Assess_Record_Detail
  265. WHERE
  266. del_flg = 0
  267. AND
  268. assess_record_id = ar.id
  269. and
  270. assess_content_id = 3
  271. AND
  272. assess_standard_id = 11
  273. GROUP BY
  274. assess_record_id,
  275. assess_content_id,
  276. assess_standard_id
  277. ) as chargebackScore,
  278. (
  279. SELECT
  280. ROUND(SUM(IF(issue_score is null, 0, issue_score)), 2)
  281. FROM
  282. T_Lhzx_Assess_Record_Detail
  283. WHERE
  284. del_flg = 0
  285. AND
  286. assess_record_id = ar.id
  287. and
  288. assess_content_id = 3
  289. AND
  290. assess_standard_id = 12
  291. GROUP BY
  292. assess_record_id,
  293. assess_content_id,
  294. assess_standard_id
  295. ) as satisfyScore,
  296. (
  297. SELECT
  298. ROUND(SUM(IF(issue_score is null, 0, issue_score)), 2)
  299. FROM
  300. T_Lhzx_Assess_Record_Detail
  301. WHERE
  302. del_flg = 0
  303. AND
  304. assess_record_id = ar.id
  305. and
  306. assess_content_id = 4
  307. AND
  308. assess_standard_id = 13
  309. GROUP BY
  310. assess_record_id,
  311. assess_content_id,
  312. assess_standard_id
  313. ) as safetyManagementScore,
  314. (
  315. SELECT
  316. ROUND(SUM(IF(issue_score is null, 0, issue_score)), 2)
  317. FROM
  318. T_Lhzx_Assess_Record_Detail
  319. WHERE
  320. del_flg = 0
  321. AND
  322. assess_record_id = ar.id
  323. and
  324. assess_content_id = 4
  325. AND
  326. assess_standard_id = 14
  327. GROUP BY
  328. assess_record_id,
  329. assess_content_id,
  330. assess_standard_id
  331. ) as planSummaryScore,
  332. (
  333. SELECT
  334. ROUND(SUM(IF(issue_score is null, 0, issue_score)), 2)
  335. FROM
  336. T_Lhzx_Assess_Record_Detail
  337. WHERE
  338. del_flg = 0
  339. AND
  340. assess_record_id = ar.id
  341. and
  342. assess_content_id = 4
  343. AND
  344. assess_standard_id = 15
  345. GROUP BY
  346. assess_record_id,
  347. assess_content_id,
  348. assess_standard_id
  349. ) as dailyStatisticsScore,
  350. (
  351. SELECT
  352. ROUND(SUM(IF(issue_score is null, 0, issue_score)), 2)
  353. FROM
  354. T_Lhzx_Assess_Record_Detail
  355. WHERE
  356. del_flg = 0
  357. AND
  358. assess_record_id = ar.id
  359. and
  360. assess_content_id = 4
  361. AND
  362. assess_standard_id = 16
  363. GROUP BY
  364. assess_record_id,
  365. assess_content_id,
  366. assess_standard_id
  367. ) as twoTypeFundsScore,
  368. (
  369. SELECT
  370. ROUND(SUM(IF(issue_score is null, 0, issue_score)), 2)
  371. FROM
  372. T_Lhzx_Assess_Record_Detail
  373. WHERE
  374. del_flg = 0
  375. AND
  376. assess_record_id = ar.id
  377. and
  378. assess_content_id = 4
  379. AND
  380. assess_standard_id = 17
  381. GROUP BY
  382. assess_record_id,
  383. assess_content_id,
  384. assess_standard_id
  385. ) as plantInformationScore,
  386. (
  387. SELECT
  388. ROUND(SUM(IF(issue_score is null, 0, issue_score)), 2)
  389. FROM
  390. T_Lhzx_Assess_Record_Detail
  391. WHERE
  392. del_flg = 0
  393. AND
  394. assess_record_id = ar.id
  395. and
  396. assess_content_id = 4
  397. AND
  398. assess_standard_id = 18
  399. GROUP BY
  400. assess_record_id,
  401. assess_content_id,
  402. assess_standard_id
  403. ) as trainingWorkScore,
  404. (
  405. SELECT
  406. ROUND(SUM(IF(issue_score is null, 0, issue_score)), 2)
  407. FROM
  408. T_Lhzx_Assess_Record_Detail
  409. WHERE
  410. del_flg = 0
  411. AND
  412. assess_record_id = ar.id
  413. and
  414. assess_content_id = 4
  415. AND
  416. assess_standard_id = 19
  417. GROUP BY
  418. assess_record_id,
  419. assess_content_id,
  420. assess_standard_id
  421. ) as publicityReportScore,
  422. ar.current_score
  423. FROM
  424. T_Lhzx_Assess_Record ar
  425. WHERE
  426. ar.del_flg = 0
  427. <if test="assessMonth != null and assessMonth != ''">
  428. AND ar.assess_month = #{assessMonth}
  429. </if>
  430. </sql>
  431. </mapper>