| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="com.yt.zhylplat.moduleAss.assess.mapper.TLhzxAssessSumRecordMapper">
- <!-- 通用查询映射结果 -->
- <resultMap id="BaseResultMap" type="com.yt.zhylplat.moduleAss.assess.entity.TLhzxAssessSumRecord">
- <id column="id" property="id" />
- <result column="maintenance_company_id" property="maintenanceCompanyId" />
- <result column="maintenance_company_name" property="maintenanceCompanyName" />
- <result column="section_id" property="sectionId" />
- <result column="section_name" property="sectionName" />
- <result column="street_average_score" property="streetAverageScore" />
- <result column="street_discount_score" property="streetDiscountScore" />
- <result column="center_original_score" property="centerOriginalScore" />
- <result column="center_discount_score" property="centerDiscountScore" />
- <result column="assess_record_score" property="assessRecordScore" />
- <result column="assess_record_id" property="assessRecordId" />
- <result column="bonus" property="bonus" />
- <result column="section_type" property="sectionType" />
- <result column="assess_month" property="assessMonth" />
- <result column="assess_state" property="assessState" />
- <result column="remark" property="remark" />
- <result column="create_user_id" property="createUserId" />
- <result column="create_date" property="createDate" />
- <result column="update_user_id" property="updateUserId" />
- <result column="update_date" property="updateDate" />
- <result column="del_flg" property="delFlg" />
- </resultMap>
- <!-- 通用查询结果列 -->
- <sql id="Base_Column_List">
- 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
- </sql>
- <select id="selectByBean" resultType="com.yt.zhylplat.moduleAss.assess.entity.TLhzxAssessSumRecord">
- SELECT
- t.*,
- t.rank
- FROM (
- SELECT
- asr.*,
- @rank := @rank + 1,
- @last_rank := CASE
- WHEN @last_score = asr.totalScore
- THEN @last_rank
- WHEN @last_score := asr.totalScore
- THEN @rank
- END AS rank
- FROM (
- SELECT
- *,
- IF(street_discount_score is null, 0, street_discount_score) +
- IF(center_discount_score is null, 0, center_discount_score) +
- IF(assess_record_score is null, 0, assess_record_score) as subtotalScore,
- IF(street_discount_score is null, 0, street_discount_score) +
- IF(center_discount_score is null, 0, center_discount_score) +
- IF(assess_record_score is null, 0, assess_record_score) +
- IF(bonus is null, 0, bonus) as totalScore
- FROM
- T_Lhzx_Assess_Sum_Record
- where
- del_flg = 0
- <if test="maintenanceCompanyId != null">
- and maintenance_company_id = #{maintenanceCompanyId}
- </if>
- <if test="sectionId != null">
- and section_id = #{sectionId}
- </if>
- <if test="sectionType != null">
- and section_type = #{sectionType}
- </if>
- <if test="assessMonth != null and assessMonth != ''">
- and assess_month = #{assessMonth}
- </if>
- <if test="assessMonth == null or assessMonth == ''">
- and assess_month = DATE_FORMAT(now(), '%Y-%m')
- </if>
- <if test="assessState != null">
- and assess_state = #{assessState}
- </if>
- ORDER BY
- IF(street_discount_score is null, 0, street_discount_score) +
- IF(center_discount_score is null, 0, center_discount_score) +
- IF(assess_record_score is null, 0, assess_record_score) +
- IF(bonus is null, 0, bonus) DESC
- ) asr,
- (SELECT @rank := 0, @last_score := NULL, @last_rank := 0) r
- ) t
- </select>
- </mapper>
|