Nav apraksta

TLhzxAssessSumRecordMapper.xml 4.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  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.TLhzxAssessSumRecordMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="com.yt.zhylplat.moduleAss.assess.entity.TLhzxAssessSumRecord">
  6. <id column="id" property="id" />
  7. <result column="maintenance_company_id" property="maintenanceCompanyId" />
  8. <result column="maintenance_company_name" property="maintenanceCompanyName" />
  9. <result column="section_id" property="sectionId" />
  10. <result column="section_name" property="sectionName" />
  11. <result column="street_average_score" property="streetAverageScore" />
  12. <result column="street_discount_score" property="streetDiscountScore" />
  13. <result column="center_original_score" property="centerOriginalScore" />
  14. <result column="center_discount_score" property="centerDiscountScore" />
  15. <result column="assess_record_score" property="assessRecordScore" />
  16. <result column="assess_record_id" property="assessRecordId" />
  17. <result column="bonus" property="bonus" />
  18. <result column="section_type" property="sectionType" />
  19. <result column="assess_month" property="assessMonth" />
  20. <result column="assess_state" property="assessState" />
  21. <result column="remark" property="remark" />
  22. <result column="create_user_id" property="createUserId" />
  23. <result column="create_date" property="createDate" />
  24. <result column="update_user_id" property="updateUserId" />
  25. <result column="update_date" property="updateDate" />
  26. <result column="del_flg" property="delFlg" />
  27. </resultMap>
  28. <!-- 通用查询结果列 -->
  29. <sql id="Base_Column_List">
  30. id, maintenance_company_id, maintenance_company_name, section_id, section_name, street_average_score, street_discount_score, center_original_score, center_discount_score, assess_record_score, assess_record_id, bonus, section_type, assess_month, assess_state, remark, create_user_id, create_date, update_user_id, update_date, del_flg
  31. </sql>
  32. <select id="selectByBean" resultType="com.yt.zhylplat.moduleAss.assess.entity.TLhzxAssessSumRecord">
  33. SELECT
  34. t.*,
  35. t.rank
  36. FROM (
  37. SELECT
  38. asr.*,
  39. @rank := @rank + 1,
  40. @last_rank := CASE
  41. WHEN @last_score = asr.totalScore
  42. THEN @last_rank
  43. WHEN @last_score := asr.totalScore
  44. THEN @rank
  45. END AS rank
  46. FROM (
  47. SELECT
  48. *,
  49. IF(street_discount_score is null, 0, street_discount_score) +
  50. IF(center_discount_score is null, 0, center_discount_score) +
  51. IF(assess_record_score is null, 0, assess_record_score) as subtotalScore,
  52. IF(street_discount_score is null, 0, street_discount_score) +
  53. IF(center_discount_score is null, 0, center_discount_score) +
  54. IF(assess_record_score is null, 0, assess_record_score) +
  55. IF(bonus is null, 0, bonus) as totalScore
  56. FROM
  57. T_Lhzx_Assess_Sum_Record
  58. where
  59. del_flg = 0
  60. <if test="maintenanceCompanyId != null">
  61. and maintenance_company_id = #{maintenanceCompanyId}
  62. </if>
  63. <if test="sectionId != null">
  64. and section_id = #{sectionId}
  65. </if>
  66. <if test="sectionType != null">
  67. and section_type = #{sectionType}
  68. </if>
  69. <if test="assessMonth != null and assessMonth != ''">
  70. and assess_month = #{assessMonth}
  71. </if>
  72. <if test="assessMonth == null or assessMonth == ''">
  73. and assess_month = DATE_FORMAT(now(), '%Y-%m')
  74. </if>
  75. <if test="assessState != null">
  76. and assess_state = #{assessState}
  77. </if>
  78. ORDER BY
  79. IF(street_discount_score is null, 0, street_discount_score) +
  80. IF(center_discount_score is null, 0, center_discount_score) +
  81. IF(assess_record_score is null, 0, assess_record_score) +
  82. IF(bonus is null, 0, bonus) DESC
  83. ) asr,
  84. (SELECT @rank := 0, @last_score := NULL, @last_rank := 0) r
  85. ) t
  86. </select>
  87. </mapper>