Sfoglia il codice sorgente

首页场景数量

WXF 2 anni fa
parent
commit
a8723fbb43

+ 9 - 19
simulation-resource-server/src/main/resources/mapper/scene/SceneNaturalMapper.xml

@@ -386,25 +386,15 @@
         where is_deleted = '0' and natural_name =#{naturalName}
     </select>
 
-    <select id="querySceneNumBySy" parameterType="api.common.pojo.param.scene.SceneNaturalParam"
-            resultType="java.lang.Integer">
-      select count(id) from( select
-        natural_id id,share,create_user_id,is_deleted
-        from simulation.scene_natural union all select
-        accident_id id,share,create_user_id,is_deleted
-        from simulation.scene_accident  union all select
-        regulations_id id,share,create_user_id,is_deleted
-        from simulation.scene_standards_regulations union all select
-        id, share,create_user_id,is_deleted from simulation.scene_general_template) a
-        <where>
-            is_deleted = '0'
-            <if test="createUserId != null and createUserId != ''">
-                and create_user_id=#{createUserId,jdbcType=VARCHAR}
-            </if>
-            <if test="share != null and share != ''">
-                and share=#{share,jdbcType=VARCHAR}
-            </if>
-        </where>
+    <select id="querySceneNumBySy" parameterType="api.common.pojo.param.scene.SceneNaturalParam" resultType="java.lang.Integer">
+      select SUM(num) from(
+        select COUNT(1) AS num from simulation.scene_natural WHERE is_deleted = '0'
+        union all
+        select COUNT(1) AS num from simulation.scene_accident WHERE is_deleted = '0'
+        union all
+        select COUNT(1) AS num from simulation.scene_standards_regulations WHERE is_deleted = '0'
+        union all
+        select COUNT(1) AS num from simulation.scene_general_template WHERE is_deleted = '0') a
     </select>
 
 

+ 32 - 14
simulation-resource-server/src/main/resources/mapper/scene/SystemScenePackageMapper.xml

@@ -127,21 +127,39 @@
         where id = #{id,jdbcType=VARCHAR}
     </update>
 
-    <select id="querySceneNum" parameterType="java.lang.String"
-            resultType="java.lang.Integer">
-           SELECT
-            COUNT(DISTINCT c.scene_name)
-        FROM
-            system_user_scene a
-        LEFT JOIN system_scene_package b ON a.package_id = b.id AND b.is_deleted = '0'
+    <select id="querySceneNum" parameterType="java.lang.String" resultType="java.lang.Integer">
+        SELECT SUM(num) FROM
+        (SELECT
+                COUNT(DISTINCT c.scene_name) AS num
+        FROM system_user_scene a
+        JOIN system_scene_package b ON a.package_id = b.id AND b.is_deleted = '0'
         JOIN system_scene_package_sublist c ON b.id = c.scene_and_package AND c.is_deleted = '0'
-        WHERE a.is_deleted = '0' and a.user_id =#{userId} and c.scene_name in
-        ( select natural_name scene_name
-        from simulation.scene_natural where is_deleted='0' union all select
-         scene_name from simulation.scene_accident where is_deleted='0' union all select
-         scene_name from simulation.scene_standards_regulations where is_deleted='0' union all select
-         scene_id scene_name from simulation.scene_general_template where is_deleted='0')
-
+        JOIN scene_natural d ON d.natural_name = c.scene_name AND d.is_deleted = '0'
+        WHERE a.user_id = #{userId}
+        UNION ALL
+        SELECT
+                COUNT(DISTINCT c.scene_name) AS num
+        FROM system_user_scene a
+        JOIN system_scene_package b ON a.package_id = b.id AND b.is_deleted = '0'
+        JOIN system_scene_package_sublist c ON b.id = c.scene_and_package AND c.is_deleted = '0'
+        JOIN scene_accident d ON d.scene_name = c.scene_name AND d.is_deleted = '0'
+        WHERE a.user_id = #{userId}
+        UNION ALL
+        SELECT
+                COUNT(DISTINCT c.scene_name) AS num
+        FROM system_user_scene a
+        JOIN system_scene_package b ON a.package_id = b.id AND b.is_deleted = '0'
+        JOIN system_scene_package_sublist c ON b.id = c.scene_and_package AND c.is_deleted = '0'
+        JOIN scene_standards_regulations d ON d.scene_name = c.scene_name AND d.is_deleted = '0'
+        WHERE a.user_id = #{userId}
+        UNION ALL
+        SELECT
+                COUNT(DISTINCT c.scene_name) AS num
+        FROM system_user_scene a
+        JOIN system_scene_package b ON a.package_id = b.id AND b.is_deleted = '0'
+        JOIN system_scene_package_sublist c ON b.id = c.scene_and_package AND c.is_deleted = '0'
+        JOIN scene_general_template d ON d.scene_id = c.scene_name AND d.is_deleted = '0'
+        WHERE a.user_id = #{userId}) AS t
     </select>