mitao
2024-08-30 6af08bad1986a72fa196afeb04c389c005fab673
finance-system/src/main/resources/mapper/system/TbScoreMapper.xml
@@ -72,9 +72,19 @@
      CURDATE())
      AND su.user_id in (SELECT user_id
      FROM sys_user
      WHERE area_code LIKE CONCAT(SUBSTRING(#{areaCode}, 0, 4), '%')
      WHERE (
      (
      #{areaCode} = '510000'
      AND area_code LIKE CONCAT( SUBSTRING( #{areaCode}, 1, 2 ), '%' ))
      OR (
      #{areaCode} != '510000'
      AND area_code LIKE CONCAT( SUBSTRING( #{areaCode}, 1, 4 ), '%' ))
      OR (
      #{areaCode}= '510100'
      AND area_code IN ( '510008', '510015', '510017', '510025' ))
      )
      AND user_type = 2
      AND area_level = 4)
      AND area_level in (1,2,3,4))
    </where>
    GROUP BY tbc.dept_area_code
@@ -153,7 +163,7 @@
    LEFT JOIN sys_user su ON su.area_code = tbd.dept_area_code
    <where>
      AND tbd.quarter = #{nowQuarter}
      AND su.area_level = '${@com.finance.common.enums.AreaLevelEnum@COUNTY.getCode()}'
      # AND su.area_level = '${@com.finance.common.enums.AreaLevelEnum@COUNTY.getCode()}'
    </where>
    GROUP BY tbd.id) rs
    ORDER BY rs.score ASC
@@ -170,5 +180,29 @@
    GROUP BY tbd.id) rs
    ORDER BY rs.score DESC
  </select>
  <select id="getCityAverageScore" resultType="java.lang.Double">
    SELECT IFNULL(ROUND(SUM(res.score), 2), 0) AS total_score
    FROM (SELECT SUM(ts.score) / COUNT(DISTINCT ts.basic_data_id) AS score
          FROM tb_score ts
                 JOIN tb_basic_data tbd ON tbd.id = ts.basic_data_id
          WHERE tbd.quarter = #{previousQuarter}
            AND (
            tbd.dept_area_code LIKE CONCAT(#{areaCode}, '%')
              OR (
              #{areaCode} = '5101'
                AND tbd.dept_area_code IN ('510008', '510015', '510017', '510025')
              )
            )
          GROUP BY ts.basic_data_config_id) AS res
  </select>
  <select id="getCountyScoreList" resultType="java.lang.Double">
    SELECT IFNULL(ROUND(SUM(ts.score), 2), 0) AS score
    FROM tb_score ts
           JOIN tb_basic_data tbd ON tbd.id = ts.basic_data_id
    WHERE tbd.quarter = #{previousQuarter}
      AND tbd.dept_area_code LIKE CONCAT(#{areaCode}, '%')
    GROUP BY ts.basic_data_id
  </select>
</mapper>