|
|
@ -6,15 +6,17 @@ |
|
|
<sql id="selectTable"> |
|
|
<sql id="selectTable"> |
|
|
<choose> |
|
|
<choose> |
|
|
<when test="levelType == 1">dashboard_level_branch</when> |
|
|
<when test="levelType == 1">dashboard_level_branch</when> |
|
|
<when test="levelType == 2">dashboard_level_store_area_merge</when> |
|
|
<when test="levelType == 2">dashboard_level_store</when> |
|
|
<when test="levelType == 3">dashboard_level_site</when> |
|
|
<when test="levelType == 3">dashboard_level_area</when> |
|
|
|
|
|
<when test="levelType == 4">dashboard_level_site</when> |
|
|
</choose> |
|
|
</choose> |
|
|
</sql> |
|
|
</sql> |
|
|
|
|
|
|
|
|
<sql id="selectParentTable"> |
|
|
<sql id="selectParentTable"> |
|
|
<choose> |
|
|
<choose> |
|
|
<when test="levelType == 2">dashboard_level_branch</when> |
|
|
<when test="levelType == 2">dashboard_level_branch</when> |
|
|
<when test="levelType == 3">dashboard_level_store_area_merge</when> |
|
|
<when test="levelType == 3">dashboard_level_store</when> |
|
|
|
|
|
<when test="levelType == 4">dashboard_level_area</when> |
|
|
</choose> |
|
|
</choose> |
|
|
</sql> |
|
|
</sql> |
|
|
|
|
|
|
|
|
@ -168,8 +170,8 @@ |
|
|
GROUP_CONCAT(pa.`name`) AS parentNames, |
|
|
GROUP_CONCAT(pa.`name`) AS parentNames, |
|
|
<include refid="commonField" /> |
|
|
<include refid="commonField" /> |
|
|
FROM |
|
|
FROM |
|
|
dashboard_level_store_area_merge base |
|
|
dashboard_level_store base |
|
|
LEFT JOIN dashboard_level_relation_branch_store_area rela ON base.`id` = rela.store_area_id |
|
|
LEFT JOIN dashboard_level_relation_branch_store rela ON base.`id` = rela.store_id |
|
|
LEFT JOIN dashboard_level_branch pa ON rela.branch_id = pa.`id` |
|
|
LEFT JOIN dashboard_level_branch pa ON rela.branch_id = pa.`id` |
|
|
WHERE |
|
|
WHERE |
|
|
<include refid="commonWhere" /> |
|
|
<include refid="commonWhere" /> |
|
|
@ -181,10 +183,24 @@ |
|
|
GROUP_CONCAT(pa.id) AS parentIds, |
|
|
GROUP_CONCAT(pa.id) AS parentIds, |
|
|
GROUP_CONCAT(pa.`name`) AS parentNames, |
|
|
GROUP_CONCAT(pa.`name`) AS parentNames, |
|
|
<include refid="commonField" /> |
|
|
<include refid="commonField" /> |
|
|
|
|
|
FROM |
|
|
|
|
|
dashboard_level_area base |
|
|
|
|
|
LEFT JOIN dashboard_level_relation_store_area rela ON base.`id` = rela.area_id |
|
|
|
|
|
LEFT JOIN dashboard_level_store pa ON rela.store_id = pa.`id` |
|
|
|
|
|
WHERE |
|
|
|
|
|
<include refid="commonWhere" /> |
|
|
|
|
|
GROUP BY base.`id` |
|
|
|
|
|
</when> |
|
|
|
|
|
<when test="levelType == 4"> |
|
|
|
|
|
SELECT |
|
|
|
|
|
4 AS levelType, |
|
|
|
|
|
GROUP_CONCAT(pa.id) AS parentIds, |
|
|
|
|
|
GROUP_CONCAT(pa.`name`) AS parentNames, |
|
|
|
|
|
<include refid="commonField" /> |
|
|
FROM |
|
|
FROM |
|
|
dashboard_level_site base |
|
|
dashboard_level_site base |
|
|
LEFT JOIN dashboard_level_relation_store_area_site rela ON base.`id` = rela.site_id |
|
|
LEFT JOIN dashboard_level_relation_area_site rela ON base.`id` = rela.site_id |
|
|
LEFT JOIN dashboard_level_store_area_merge pa ON rela.store_area_id = pa.`id` |
|
|
LEFT JOIN dashboard_level_area pa ON rela.area_id = pa.`id` |
|
|
WHERE |
|
|
WHERE |
|
|
<include refid="commonWhere" /> |
|
|
<include refid="commonWhere" /> |
|
|
GROUP BY base.`id` |
|
|
GROUP BY base.`id` |
|
|
@ -197,7 +213,7 @@ |
|
|
SELECT DISTINCT building_id |
|
|
SELECT DISTINCT building_id |
|
|
FROM ( |
|
|
FROM ( |
|
|
|
|
|
|
|
|
-- BUILDING(直接绑定) |
|
|
-- BUILDING |
|
|
SELECT b.building_id |
|
|
SELECT b.building_id |
|
|
FROM dashboard_level_role_user ru |
|
|
FROM dashboard_level_role_user ru |
|
|
JOIN dashboard_level_role_object ro |
|
|
JOIN dashboard_level_role_object ro |
|
|
@ -226,41 +242,69 @@ |
|
|
|
|
|
|
|
|
UNION ALL |
|
|
UNION ALL |
|
|
|
|
|
|
|
|
-- STORE_AREA → SITE → BUILDING(核心替代 AREA / STORE) |
|
|
-- AREA → SITE → BUILDING |
|
|
|
|
|
SELECT b.building_id |
|
|
|
|
|
FROM dashboard_level_role_user ru |
|
|
|
|
|
JOIN dashboard_level_role_object ro |
|
|
|
|
|
ON ru.level_role_id = ro.level_role_id |
|
|
|
|
|
JOIN dashboard_level_area a |
|
|
|
|
|
ON ro.ref_id = a.id AND a.flag = 0 |
|
|
|
|
|
JOIN dashboard_level_relation_area_site ras |
|
|
|
|
|
ON a.id = ras.area_id |
|
|
|
|
|
JOIN dashboard_level_site s |
|
|
|
|
|
ON ras.site_id = s.id AND s.flag = 0 |
|
|
|
|
|
JOIN dashboard_level_relation_site_building rsb |
|
|
|
|
|
ON s.id = rsb.site_id |
|
|
|
|
|
JOIN basic_building b |
|
|
|
|
|
ON rsb.building_id = b.building_id AND b.flag = 0 |
|
|
|
|
|
WHERE ru.user_id = #{userId} |
|
|
|
|
|
AND ro.ref_type = 'AREA' |
|
|
|
|
|
|
|
|
|
|
|
UNION ALL |
|
|
|
|
|
|
|
|
|
|
|
-- STORE → AREA → SITE → BUILDING |
|
|
SELECT b.building_id |
|
|
SELECT b.building_id |
|
|
FROM dashboard_level_role_user ru |
|
|
FROM dashboard_level_role_user ru |
|
|
JOIN dashboard_level_role_object ro |
|
|
JOIN dashboard_level_role_object ro |
|
|
ON ru.level_role_id = ro.level_role_id |
|
|
ON ru.level_role_id = ro.level_role_id |
|
|
JOIN dashboard_level_store_area_merge sam |
|
|
JOIN dashboard_level_store st |
|
|
ON ro.ref_id = sam.id AND sam.flag = 0 |
|
|
ON ro.ref_id = st.id AND st.flag = 0 |
|
|
JOIN dashboard_level_relation_store_area_site rsas |
|
|
JOIN dashboard_level_relation_store_area rsa |
|
|
ON sam.id = rsas.store_area_id |
|
|
ON st.id = rsa.store_id |
|
|
|
|
|
JOIN dashboard_level_area a |
|
|
|
|
|
ON rsa.area_id = a.id AND a.flag = 0 |
|
|
|
|
|
JOIN dashboard_level_relation_area_site ras |
|
|
|
|
|
ON a.id = ras.area_id |
|
|
JOIN dashboard_level_site s |
|
|
JOIN dashboard_level_site s |
|
|
ON rsas.site_id = s.id AND s.flag = 0 |
|
|
ON ras.site_id = s.id AND s.flag = 0 |
|
|
JOIN dashboard_level_relation_site_building rsb |
|
|
JOIN dashboard_level_relation_site_building rsb |
|
|
ON s.id = rsb.site_id |
|
|
ON s.id = rsb.site_id |
|
|
JOIN basic_building b |
|
|
JOIN basic_building b |
|
|
ON rsb.building_id = b.building_id AND b.flag = 0 |
|
|
ON rsb.building_id = b.building_id AND b.flag = 0 |
|
|
WHERE ru.user_id = #{userId} |
|
|
WHERE ru.user_id = #{userId} |
|
|
AND ro.ref_type = 'STORE_AREA' |
|
|
AND ro.ref_type = 'STORE' |
|
|
|
|
|
|
|
|
UNION ALL |
|
|
UNION ALL |
|
|
|
|
|
|
|
|
-- BRANCH → STORE_AREA → SITE → BUILDING |
|
|
-- BRANCH → STORE → AREA → SITE → BUILDING |
|
|
SELECT b.building_id |
|
|
SELECT b.building_id |
|
|
FROM dashboard_level_role_user ru |
|
|
FROM dashboard_level_role_user ru |
|
|
JOIN dashboard_level_role_object ro |
|
|
JOIN dashboard_level_role_object ro |
|
|
ON ru.level_role_id = ro.level_role_id |
|
|
ON ru.level_role_id = ro.level_role_id |
|
|
JOIN dashboard_level_branch br |
|
|
JOIN dashboard_level_branch br |
|
|
ON ro.ref_id = br.id AND br.flag = 0 |
|
|
ON ro.ref_id = br.id AND br.flag = 0 |
|
|
JOIN dashboard_level_relation_branch_store_area rbsa |
|
|
JOIN dashboard_level_relation_branch_store rbs |
|
|
ON br.id = rbsa.branch_id |
|
|
ON br.id = rbs.branch_id |
|
|
JOIN dashboard_level_store_area_merge sam |
|
|
JOIN dashboard_level_store st |
|
|
ON rbsa.store_area_id = sam.id AND sam.flag = 0 |
|
|
ON rbs.store_id = st.id AND st.flag = 0 |
|
|
JOIN dashboard_level_relation_store_area_site rsas |
|
|
JOIN dashboard_level_relation_store_area rsa |
|
|
ON sam.id = rsas.store_area_id |
|
|
ON st.id = rsa.store_id |
|
|
|
|
|
JOIN dashboard_level_area a |
|
|
|
|
|
ON rsa.area_id = a.id AND a.flag = 0 |
|
|
|
|
|
JOIN dashboard_level_relation_area_site ras |
|
|
|
|
|
ON a.id = ras.area_id |
|
|
JOIN dashboard_level_site s |
|
|
JOIN dashboard_level_site s |
|
|
ON rsas.site_id = s.id AND s.flag = 0 |
|
|
ON ras.site_id = s.id AND s.flag = 0 |
|
|
JOIN dashboard_level_relation_site_building rsb |
|
|
JOIN dashboard_level_relation_site_building rsb |
|
|
ON s.id = rsb.site_id |
|
|
ON s.id = rsb.site_id |
|
|
JOIN basic_building b |
|
|
JOIN basic_building b |
|
|
@ -268,7 +312,7 @@ |
|
|
WHERE ru.user_id = #{userId} |
|
|
WHERE ru.user_id = #{userId} |
|
|
AND ro.ref_type = 'BRANCH' |
|
|
AND ro.ref_type = 'BRANCH' |
|
|
|
|
|
|
|
|
) t |
|
|
) t; |
|
|
</select> |
|
|
</select> |
|
|
|
|
|
|
|
|
<select id="selectBuildingFullPath" resultType="com.dongjian.dashboard.back.vo.level.BuildingPathDTO"> |
|
|
<select id="selectBuildingFullPath" resultType="com.dongjian.dashboard.back.vo.level.BuildingPathDTO"> |
|
|
@ -276,8 +320,11 @@ |
|
|
br.id AS branch_id, |
|
|
br.id AS branch_id, |
|
|
br.name AS branch_name, |
|
|
br.name AS branch_name, |
|
|
|
|
|
|
|
|
sam.id AS store_area_id, |
|
|
st.id AS store_id, |
|
|
sam.name AS store_area_name, |
|
|
st.name AS store_name, |
|
|
|
|
|
|
|
|
|
|
|
a.id AS area_id, |
|
|
|
|
|
a.name AS area_name, |
|
|
|
|
|
|
|
|
s.id AS site_id, |
|
|
s.id AS site_id, |
|
|
s.name AS site_name, |
|
|
s.name AS site_name, |
|
|
@ -288,13 +335,17 @@ |
|
|
<when test="isADSC != null and isADSC"> |
|
|
<when test="isADSC != null and isADSC"> |
|
|
FROM dashboard_level_branch br |
|
|
FROM dashboard_level_branch br |
|
|
|
|
|
|
|
|
LEFT JOIN dashboard_level_relation_branch_store_area rbsa ON rbsa.branch_id = br.id AND br.flag = 0 AND br.company_id = #{companyId} |
|
|
LEFT JOIN dashboard_level_relation_branch_store rbs ON rbs.branch_id = br.id AND br.flag = 0 AND br.company_id = #{companyId} |
|
|
|
|
|
|
|
|
|
|
|
LEFT JOIN dashboard_level_store st ON st.id = rbs.store_id AND st.flag = 0 |
|
|
|
|
|
|
|
|
LEFT JOIN dashboard_level_store_area_merge sam ON sam.id = rbsa.store_area_id AND sam.flag = 0 |
|
|
LEFT JOIN dashboard_level_relation_store_area rsa ON rsa.store_id = st.id |
|
|
|
|
|
|
|
|
LEFT JOIN dashboard_level_relation_store_area_site rsas ON rsas.store_area_id = sam.id |
|
|
LEFT JOIN dashboard_level_area a ON a.id = rsa.area_id AND a.flag = 0 |
|
|
|
|
|
|
|
|
LEFT JOIN dashboard_level_site s ON s.id = rsas.site_id AND s.flag = 0 |
|
|
LEFT JOIN dashboard_level_relation_area_site ras ON ras.area_id = a.id |
|
|
|
|
|
|
|
|
|
|
|
LEFT JOIN dashboard_level_site s ON s.id = ras.site_id AND s.flag = 0 |
|
|
|
|
|
|
|
|
LEFT JOIN dashboard_level_relation_site_building rsb ON rsb.site_id = s.id |
|
|
LEFT JOIN dashboard_level_relation_site_building rsb ON rsb.site_id = s.id |
|
|
|
|
|
|
|
|
@ -307,13 +358,17 @@ |
|
|
|
|
|
|
|
|
JOIN dashboard_level_site s ON rsb.site_id = s.id AND s.flag = 0 |
|
|
JOIN dashboard_level_site s ON rsb.site_id = s.id AND s.flag = 0 |
|
|
|
|
|
|
|
|
JOIN dashboard_level_relation_store_area_site rsas ON s.id = rsas.site_id |
|
|
JOIN dashboard_level_relation_area_site ras ON s.id = ras.site_id |
|
|
|
|
|
|
|
|
|
|
|
JOIN dashboard_level_area a ON ras.area_id = a.id AND a.flag = 0 |
|
|
|
|
|
|
|
|
|
|
|
JOIN dashboard_level_relation_store_area rsa ON a.id = rsa.area_id |
|
|
|
|
|
|
|
|
JOIN dashboard_level_store_area_merge sam ON rsas.store_area_id = sam.id AND sam.flag = 0 |
|
|
JOIN dashboard_level_store st ON rsa.store_id = st.id AND st.flag = 0 |
|
|
|
|
|
|
|
|
JOIN dashboard_level_relation_branch_store_area rbsa ON sam.id = rbsa.store_area_id |
|
|
JOIN dashboard_level_relation_branch_store rbs ON st.id = rbs.store_id |
|
|
|
|
|
|
|
|
JOIN dashboard_level_branch br ON rbsa.branch_id = br.id AND br.flag = 0 |
|
|
JOIN dashboard_level_branch br ON rbs.branch_id = br.id AND br.flag = 0 |
|
|
</otherwise> |
|
|
</otherwise> |
|
|
</choose> |
|
|
</choose> |
|
|
<where> |
|
|
<where> |
|
|
|