From c8cdba0d34f57835a96233a7f0a7eaa35774dd6f Mon Sep 17 00:00:00 2001
From: dougang <78125310@kidgrow.com>
Date: Wed, 09 Dec 2020 18:28:06 +0800
Subject: [PATCH] 增加通过关键字查询机构列表

---
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/SysProductMapper.xml |  200 +++++++++++++++++++++++++++++++++++++------------
 1 files changed, 149 insertions(+), 51 deletions(-)

diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/SysProductMapper.xml b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/SysProductMapper.xml
index 9872679..511cd55 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/SysProductMapper.xml
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/SysProductMapper.xml
@@ -4,74 +4,172 @@
 <mapper namespace="com.kidgrow.oprationcenter.mapper.SysProductMapper">
     <!--定义查询列-->
     <sql id="Column_List">
-	   *
+	  DISTINCT *
 	</sql>
+    <!--定义数据权限的查询-->
+    <sql id="Role_Organization">
+        <if test="p.roleOrg != null and p.roleOrg.size>0">
+            <foreach item="item" collection="p.roleOrg" index="">
+                <foreach item="itemto" collection="item" index="inx">
+                    <choose>
+                        <when test="inx == 1">
+                            <if test="itemto.flag">
 
+                            </if>
+                            <if test="!itemto.flag">
+                                or ( is_del = 0 and enabled=1) <include refid="where_condition"></include>
+                            </if>
+                        </when>
+                        <when test="inx==2">
+                            <if test="itemto.flag">
+                                AND
+                                <foreach item="itemtoto" collection="itemto.object" separator="or" open="(" close=")"
+                                         index="">
+                                    create_user_org_code = #{itemtoto.orgCode}
+                                </foreach>
+                            </if>
+                            <if test="!itemto.flag">
+                                or (
+                                <foreach item="itemtoto" collection="itemto.object" separator="or" open="(" close=")"
+                                         index="">
+                                    create_user_org_code = #{itemtoto.orgCode}
+                                </foreach>
+                                and is_del = 0 and enabled=1  <include refid="where_condition"></include>
+                                )
+                            </if>
+                        </when>
+                        <when test="inx == 3">
+                            <if test="itemto.flag">
+                                AND
+                                create_user_org_code = #{itemto.object}
+                            </if>
+                            <if test="!itemto.flag">
+                                or (create_user_org_code = #{itemto.object} and is_del = 0 and enabled=1) <include refid="where_condition"></include>
+                            </if>
+                        </when>
+                        <when test="inx == 4">
+                            <if test="itemto.flag">
+                                AND
+                                create_user_org_code like '${itemto.object}%'
+                            </if>
+                            <if test="!itemto.flag">
+                                or (create_user_org_code like '${itemto.object}%' and is_del = 0 and enabled=1) <include refid="where_condition"></include>
+                            </if>
+                        </when>
+                        <when test="inx == 5">
+                            <if test="itemto.flag">
+                                AND
+                                create_user_id = #{itemto.object}
+                            </if>
+                            <if test="!itemto.flag">
+                                or (create_user_id = #{itemto.object} and is_del = 0 and enabled=1) <include refid="where_condition"></include>
+                            </if>
+                        </when>
+                        <otherwise>
+                            AND id is null
+                        </otherwise>
+                    </choose>
+                </foreach>
+            </foreach>
+        </if>
+    </sql>
+
+    <sql id="where_condition">
+        <if test="p.id != null and p.id !=''">
+            and id = #{p.id}
+        </if>
+        <if test="p.proName != null and p.proName !=''">
+            and pro_name like concat('%', #{p.proName}, '%')
+        </if>
+        <if test="p.proTime != null and p.proTime !=''">
+            and pro_time = #{p.proTime}
+        </if>
+        <if test="p.proType != null and p.proType !=''">
+            and pro_type = #{p.proType}
+        </if>
+        <if test="p.proPrice != null and p.proPrice !=''">
+            and pro_price = #{p.proPrice}
+        </if>
+        <if test="p.recordCount != null and p.recordCount !=''">
+            and record_count = #{p.recordCount}
+        </if>
+        <if test="p.ailightCount != null and p.ailightCount !=''">
+            and ailight_count = #{p.ailightCount}
+        </if>
+        <if test="p.isDel != null and p.isDel !=''">
+            and is_del = #{p.isDel}
+        </if>
+        <if test="p.enabled != null and p.enabled !=''">
+            and enabled = #{p.enabled}
+        </if>
+        <if test="p.createUserId != null and p.createUserId !=''">
+            and create_user_id = #{p.createUserId}
+        </if>
+        <if test="p.createUserName != null and p.createUserName !=''">
+            and create_user_name = #{p.createUserName}
+        </if>
+        <if test="p.updateUserId != null and p.updateUserId !=''">
+            and update_user_id = #{p.updateUserId}
+        </if>
+        <if test="p.updateUserName != null and p.updateUserName !=''">
+            and update_user_name = #{p.updateUserName}
+        </if>
+        <if test="p.createTime != null and p.createTime !=''">
+            and create_time = #{p.createTime}
+        </if>
+        <if test="p.updateTime != null and p.updateTime !=''">
+            and update_time = #{p.updateTime}
+        </if>
+        <if test="p.idNotIn !=null and p.idNotIn.size()>0">
+            and id not in
+            <foreach item="list" collection="p.idNotIn" separator="," open="(" close=")"
+                     index="">
+               #{list}
+            </foreach>
+        </if>
+    </sql>
+<!--    根据数据权限查询数据-->
+    <sql id="where_list">
+        <where>
+            <!--查询条件自行添加-->
+            is_del=0
+            <include refid="where_condition"></include>
+            <include refid="Role_Organization"></include>
+        </where>
+    </sql>
     <!--sql查询片段-->
     <sql id="where">
         <where>
             <!--查询条件自行添加-->
-            p.is_del=0
-                                    <if test="p.id != null and p.id !=''">
-                and  id =  #{p.id}
-            </if>
-                                                <if test="p.proName != null and p.proName !=''">
-                and  pro_name =  #{p.proName}
-            </if>
-                                                <if test="p.proTime != null and p.proTime !=''">
-                and  pro_time =  #{p.proTime}
-            </if>
-                                                <if test="p.proType != null and p.proType !=''">
-                and  pro_type =  #{p.proType}
-            </if>
-                                                <if test="p.proPrice != null and p.proPrice !=''">
-                and  pro_price =  #{p.proPrice}
-            </if>
-                                                <if test="p.recordCount != null and p.recordCount !=''">
-                and  record_count =  #{p.recordCount}
-            </if>
-                                                <if test="p.ailightCount != null and p.ailightCount !=''">
-                and  ailight_count =  #{p.ailightCount}
-            </if>
-                                                <if test="p.isDel != null and p.isDel !=''">
-                and  is_del =  #{p.isDel}
-            </if>
-                                                <if test="p.enabled != null and p.enabled !=''">
-                and  enabled =  #{p.enabled}
-            </if>
-                                                <if test="p.createUserId != null and p.createUserId !=''">
-                and  create_user_id =  #{p.createUserId}
-            </if>
-                                                <if test="p.createUserName != null and p.createUserName !=''">
-                and  create_user_name =  #{p.createUserName}
-            </if>
-                                                <if test="p.updateUserId != null and p.updateUserId !=''">
-                and  update_user_id =  #{p.updateUserId}
-            </if>
-                                                <if test="p.updateUserName != null and p.updateUserName !=''">
-                and  update_user_name =  #{p.updateUserName}
-            </if>
-                                                <if test="p.createTime != null and p.createTime !=''">
-                and  create_time =  #{p.createTime}
-            </if>
-                                                <if test="p.updateTime != null and p.updateTime !=''">
-                and  update_time =  #{p.updateTime}
-            </if>
-                                </where>
+            is_del=0
+            <include refid="where_condition"></include>
+        </where>
     </sql>
 
     <!--定义根据-SysProduct当作查询条件返回对象-->
-    <select id="findByObject"  resultType="com.kidgrow.oprationcenter.model.SysProduct">
-        select <include refid="Column_List"/>
+    <select id="findByObject" resultType="com.kidgrow.oprationcenter.model.SysProduct">
+        select
+        <include refid="Column_List"/>
         from sys_product
         <include refid="where"/>
         order by id desc
+        limit 1
     </select>
 
     <!--定义根据-SysProduct当作查询条件返回对象集合-->
     <select id="findList" resultType="com.kidgrow.oprationcenter.model.SysProduct">
-        select <include refid="Column_List"/>
+        select
+        <include refid="Column_List"/>
         from sys_product
+        <include refid="where_list"/>
+        order by id desc
+    </select>
+    <!--定义根据-SysProduct当作查询条件返回对象集合-->
+    <select id="findAllList" resultType="com.kidgrow.oprationcenter.vo.ProductAllVo">
+        select
+        <include refid="Column_List"/>
+        from sys_product
+        <include refid="where"/>
         order by id desc
     </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0