实现区级指标、小班属性和媒体接口
This commit is contained in:
@@ -6,20 +6,26 @@
|
||||
<mapper namespace="com.whu.edu.LyStatistic.MapLyStatistic.Mapper.InfoMapper">
|
||||
|
||||
<select id="findByDistrict" resultType="com.whu.edu.LyStatistic.MapLyStatistic.Dto.UnitInfo">
|
||||
SELECT task_name, schema_code, unit_name, district, village
|
||||
FROM public.unit_info
|
||||
SELECT task_name, unit_name, district, village
|
||||
FROM merged.roottable1_merged
|
||||
WHERE district = #{district}
|
||||
</select>
|
||||
|
||||
<select id="findByVillage" resultType="com.whu.edu.LyStatistic.MapLyStatistic.Dto.UnitInfo">
|
||||
SELECT task_name, schema_code, unit_name, district, village
|
||||
FROM public.unit_info
|
||||
SELECT task_name,unit_name, district, village
|
||||
FROM merged.roottable1_merged
|
||||
WHERE village = #{village}
|
||||
</select>
|
||||
|
||||
<select id="findAll" resultType="com.whu.edu.LyStatistic.MapLyStatistic.Dto.UnitInfo">
|
||||
SELECT task_name, schema_code, unit_name, district, village
|
||||
FROM public.unit_info
|
||||
SELECT district, village
|
||||
FROM merged.roottable1_merged
|
||||
</select>
|
||||
|
||||
<select id="findAllRegion" resultType="com.whu.edu.LyStatistic.MapLyStatistic.Dto.UnitInfo">
|
||||
SELECT region, regionid
|
||||
FROM region
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
||||
24
src/main/resources/mapper/MapLyStatistic/Plot.xml
Normal file
24
src/main/resources/mapper/MapLyStatistic/Plot.xml
Normal file
@@ -0,0 +1,24 @@
|
||||
<?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.whu.edu.LyStatistic.MapLyStatistic.Mapper.PlotMapper">
|
||||
<select id="findPlotAttributes" resultType="com.whu.edu.LyStatistic.MapLyStatistic.Dto.PlotAttrDTO">
|
||||
SELECT *
|
||||
FROM merged.roottable1_merged
|
||||
WHERE "NYXBH" = #{nyxbh} AND "XIANG" = #{xiang}
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<select id="findMediaPaths" resultType="string">
|
||||
SELECT media_path
|
||||
FROM merged.roottable1_media_merged
|
||||
WHERE "id" = #{id}
|
||||
AND "database_name" = #{databaseName}
|
||||
ORDER BY media_path
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -5,13 +5,56 @@
|
||||
|
||||
<mapper namespace="com.whu.edu.LyStatistic.MapLyStatistic.Mapper.TaskCommonMapper">
|
||||
|
||||
<!--
|
||||
<!--按区
|
||||
统计图斑信息:
|
||||
- plotCount: 图斑数量
|
||||
- totalArea: 图斑面积汇总 (XBMJ)
|
||||
- 各状态数量 (-1,0,1,2)
|
||||
-->
|
||||
<select id="selectPlotStats" resultType="com.whu.edu.LyStatistic.MapLyStatistic.Dto.PlotStatsDTO">
|
||||
<!-- <select id="selectPlotStatsByDistrict" resultType="com.whu.edu.LyStatistic.MapLyStatistic.Dto.PlotStatsDTO">-->
|
||||
<!-- SELECT-->
|
||||
<!-- COUNT(*) AS plotCount,-->
|
||||
<!-- COALESCE(SUM("XBMJ"), 0) AS totalArea,-->
|
||||
<!-- COALESCE(SUM(CASE WHEN "status" = -1 THEN 1 ELSE 0 END), 0) AS unPassedCount,-->
|
||||
<!-- COALESCE(SUM(CASE WHEN "status" = 0 THEN 1 ELSE 0 END), 0) AS assignedCount,-->
|
||||
<!-- COALESCE(SUM(CASE WHEN "status" = 1 THEN 1 ELSE 0 END), 0) AS collectedCount,-->
|
||||
<!-- COALESCE(SUM(CASE WHEN "status" = 2 THEN 1 ELSE 0 END), 0) AS approvedCount-->
|
||||
<!-- FROM merged.roottable1_merged-->
|
||||
<!-- WHERE district = #{district}-->
|
||||
<!-- </select>-->
|
||||
<select id="selectPlotStatsByDistrict"
|
||||
resultType="com.whu.edu.LyStatistic.MapLyStatistic.Dto.PlotStatsDTO">
|
||||
|
||||
SELECT
|
||||
r.region AS district,
|
||||
|
||||
-- 统计总行数(plotCount)
|
||||
COUNT(*) AS plotCount,
|
||||
|
||||
-- 面积求和,XBMJ 是 text,需要转 numeric
|
||||
COALESCE(SUM(NULLIF(m."XBMJ", '')::numeric), 0) AS totalArea,
|
||||
|
||||
-- status 也是 text,因此必须先转 integer
|
||||
COALESCE(SUM(CASE WHEN m."status"::int = -1 THEN 1 ELSE 0 END), 0) AS unPassedCount,
|
||||
COALESCE(SUM(CASE WHEN m."status"::int = 0 THEN 1 ELSE 0 END), 0) AS assignedCount,
|
||||
COALESCE(SUM(CASE WHEN m."status"::int = 1 THEN 1 ELSE 0 END), 0) AS collectedCount,
|
||||
COALESCE(SUM(CASE WHEN m."status"::int = 2 THEN 1 ELSE 0 END), 0) AS approvedCount
|
||||
|
||||
FROM merged.roottable1_merged m
|
||||
JOIN region r
|
||||
ON substring(m."CUN", 1, 6) = r.regionid::text
|
||||
|
||||
GROUP BY r.region
|
||||
ORDER BY r.region
|
||||
</select>
|
||||
|
||||
<!--按街道
|
||||
统计图斑信息:
|
||||
- plotCount: 图斑数量
|
||||
- totalArea: 图斑面积汇总 (XBMJ)
|
||||
- 各状态数量 (-1,0,1,2)
|
||||
-->
|
||||
<select id="selectPlotStatsByStreet" resultType="com.whu.edu.LyStatistic.MapLyStatistic.Dto.PlotStatsDTO">
|
||||
SELECT
|
||||
COUNT(*) AS plotCount,
|
||||
COALESCE(SUM("XBMJ"), 0) AS totalArea,
|
||||
@@ -19,7 +62,8 @@
|
||||
COALESCE(SUM(CASE WHEN "status" = 0 THEN 1 ELSE 0 END), 0) AS assignedCount,
|
||||
COALESCE(SUM(CASE WHEN "status" = 1 THEN 1 ELSE 0 END), 0) AS collectedCount,
|
||||
COALESCE(SUM(CASE WHEN "status" = 2 THEN 1 ELSE 0 END), 0) AS approvedCount
|
||||
FROM "${schema}".roottable1
|
||||
FROM merged.roottable1_merged
|
||||
WHERE village = #{village}
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user