Przeglądaj źródła

试验-规范管理-条件设置查询(未完成)

LHB 4 miesięcy temu
rodzic
commit
dbdb4fe48b

+ 20 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/StandardInfoConditionVo.java

@@ -0,0 +1,20 @@
+package org.springblade.business.vo;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.business.entity.StandardInfo;
+
+import java.util.List;
+
+/**
+ * 试验-规范管理-信息-条件设置
+ * @author LHB
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class StandardInfoConditionVo extends StandardInfo {
+    /**
+     * 子级信息
+     */
+    private List<StandardInfo> rightStandardInfos;
+}

+ 1 - 1
blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/StandardInfoVO.java

@@ -19,5 +19,5 @@ public class StandardInfoVO extends StandardInfo {
      * 副连接对象
      */
     @ApiModelProperty(value = "副连接对象集合")
-    private List<StandardInfo> standardInfos;
+    private List<StandardInfoConditionVo> standardInfos;
 }

+ 34 - 4
blade-service/blade-business/src/main/java/org/springblade/business/mapper/StandardInfoMapper.xml

@@ -89,7 +89,7 @@
         <result property="name" column="name"/>
         <result property="parentId" column="parent_id"/>
         <result property="type" column="type"/>
-        <collection property="standardInfos" ofType="org.springblade.business.entity.StandardInfo" select="findByJoinLeftId" column="{leftId=id}">
+        <collection property="standardInfos" ofType="org.springblade.business.vo.StandardInfoConditionVo" select="findByJoinLeftId" column="{leftId=id}">
         </collection>
     </resultMap>
     <sql id="Base_Column_Join_List">
@@ -116,17 +116,47 @@
         GROUP BY
             b.standard_info_left_id
     </select>
-    <select id="findByJoinLeftId" resultType="org.springblade.business.entity.StandardInfo">
+
+    <resultMap id="findByJoinLeftIdMap" type="org.springblade.business.vo.StandardInfoConditionVo">
+        <id property="id" column="id"/>
+        <collection property="rightStandardInfos" ofType="org.springblade.business.entity.StandardInfo" select="findRightByJoinLeftId" column="{id=id,leftId=leftId}">
+        </collection>
+    </resultMap>
+
+    <select id="findByJoinLeftId" resultMap="findByJoinLeftIdMap">
         SELECT
-            <include refid="Base_Column_Join_List"/>, c.name parentName
+            c.id,
+            c.`name`,
+            c.parent_id,
+            c.standard_id,
+            c.`type`,
+            c.is_deleted,
+            c.create_time,
+            c.create_user,
+            c.update_time,
+            c.update_user,
+            b.standard_info_left_id leftId
         FROM
             u_standard_info a
             INNER JOIN u_standard_info_join b ON a.id = b.standard_info_right_id AND a.is_deleted = b.is_deleted
             INNER JOIN u_standard_info c ON a.parent_id = c.id AND a.is_deleted = c.is_deleted
         WHERE
             b.standard_info_left_id = #{leftId} and a.is_deleted = 0
+        group by
+            c.id
+    </select>
+    <select id="findRightByJoinLeftId" resultType="org.springblade.business.entity.StandardInfo">
+        SELECT
+            <include refid="Base_Column_Join_List"/>
+        FROM
+            u_standard_info a
+            INNER JOIN u_standard_info_join b ON a.id = b.standard_info_right_id AND a.is_deleted = b.is_deleted
+            INNER JOIN u_standard_info c ON a.parent_id = c.id AND a.is_deleted = c.is_deleted
+        WHERE
+            a.parent_id = #{id} and b.standard_info_left_id = #{leftId} and a.is_deleted = 0
+        group by
+            c.id
     </select>
-
     <!-- ``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` -->
 
     <resultMap id="BaseResultElementJoin" type="org.springblade.business.vo.StandardInfoPrivateJoinVO">