From 86adbb1544142dcfb48333dade822f81640607a6 Mon Sep 17 00:00:00 2001
From: XiaoRuby <3114200645@qq.com>
Date: 星期五, 01 九月 2023 13:50:16 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 standard-server/src/main/resources/mapper/ProductMapper.xml |   93 ++++++++++++++++++++++++++++++----------------
 1 files changed, 60 insertions(+), 33 deletions(-)

diff --git a/standard-server/src/main/resources/mapper/ProductMapper.xml b/standard-server/src/main/resources/mapper/ProductMapper.xml
index cee2fea..4fcd5c3 100644
--- a/standard-server/src/main/resources/mapper/ProductMapper.xml
+++ b/standard-server/src/main/resources/mapper/ProductMapper.xml
@@ -3,42 +3,69 @@
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.yuanchu.mom.mapper.ProductMapper">
+    <!--鏍规嵁鍨嬪彿id鏌ヨ椤圭洰(鎶�鏈寚鏍�)-->
+    <select id="selectProductList" resultType="java.util.Map">
+        select name,
+               father,
+               unit,
+               required,
+               internal
+        from mom_ocean.product
+        where state = 1
+          and technology_id in (select id
+                                from mom_ocean.technology
+                                where technology.state = 1
+                                  and specifications_id = #{specificationsId})
+    </select>
 
-    <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.Product">
-            <id property="id" column="id" jdbcType="INTEGER"/>
-            <result property="name" column="name" jdbcType="VARCHAR"/>
-            <result property="father" column="father" jdbcType="VARCHAR"/>
-            <result property="unit" column="unit" jdbcType="VARCHAR"/>
-            <result property="required" column="required" jdbcType="VARCHAR"/>
-            <result property="internal" column="internal" jdbcType="VARCHAR"/>
-            <result property="state" column="state" jdbcType="INTEGER"/>
-            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
-            <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
-            <result property="version" column="version" jdbcType="INTEGER"/>
-            <result property="specificationsId" column="specifications_id" jdbcType="INTEGER"/>
+    <!--鏍规嵁鍨嬪彿id鏌ヨ鎵�鏈夌増鏈�-->
+    <select id="selectVerByPro" resultType="java.lang.Integer">
+        select distinct version
+        from mom_ocean.product
+        where state = 1
+          and technology_id in (select id
+                                from mom_ocean.technology
+                                where technology.state = 1
+                                  and specifications_id = #{specificationsId})
+        order by version desc
+    </select>
+
+    <!--鍙充晶鏁版嵁灞曠ず 鎶�鏈寚鏍�(妫�楠岄」鐩�)-->
+    <resultMap id="oneMap" type="map">
+        <id property="tfather" column="tfather"/>
+        <collection property="children" resultMap="twoMap" javaType="List"/>
     </resultMap>
-
-    <resultMap id="selectTreeProduct" type="ProductDto">
-        <id property="father" column="father" jdbcType="VARCHAR"/>
-        <collection property="children" resultMap="productDto2ListMap"/>
+    <resultMap id="twoMap" type="map">
+        <id property="tname" column="tname"/>
+        <collection property="children" resultMap="threeMap" javaType="List"/>
     </resultMap>
-
-    <resultMap id="productDto2ListMap" type="ProductDto2">
-        <id property="id" column="id" jdbcType="INTEGER"/>
-        <result property="name" column="name" jdbcType="VARCHAR"/>
-        <result property="unit" column="unit" jdbcType="VARCHAR"/>
-        <result property="required" column="required" jdbcType="VARCHAR"/>
-        <result property="internal" column="internal" jdbcType="VARCHAR"/>
-        <result property="state" column="state" jdbcType="INTEGER"/>
+    <resultMap id="threeMap" type="map">
+        <id property="pfather" column="pfather"/>
+        <collection property="children" resultMap="fourMap" javaType="List"/>
     </resultMap>
-
-    <select id="selectTreeProduct" resultMap="selectTreeProduct">
-        SELECT p.id, p.`name`, IFNULL(p.`father`,p.`name`) father, p.`unit`, p.`required`, p.`internal`
-        FROM product p
-        where p.specifications_id = #{specifications}
-          <if test="project != null and project != ''">
-              AND p.father like concat('%',#{project},'%')
-          </if>
-        and p.state = 1
+    <resultMap id="fourMap" type="map">
+        <id property="pid" column="pid"/>
+        <result property="pname" column="pname"/>
+        <result property="unit" column="unit"/>
+        <result property="required" column="required"/>
+        <result property="internal" column="internal"/>
+    </resultMap>
+    <select id="selectAllPro" resultMap="oneMap">
+        select p.id     pid,
+               p.name   pname,
+               p.father pfather,
+               unit,
+               required,
+               internal,
+               t.father tfather,
+               t.name   tname
+        from mom_ocean.product p
+                 left join mom_ocean.technology t on p.technology_id = t.id
+        where p.state = 1
+          and p.version = #{version}
+          and specifications_id = #{specificationsId}
+        <if test="message!=null and message!=''">
+            and p.name like concat('%',#{message},'%')
+        </if>
     </select>
 </mapper>

--
Gitblit v1.9.3