From f30a977b18541d2f1b9a7863b1377e5f366df9dc Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <279049017@qq.com>
Date: Mon, 16 Nov 2020 18:01:41 +0800
Subject: [PATCH] 修改时间的bug

---
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDoctorMapper.xml |  325 +++++++++++++++++++++++++++++++++--------------------
 1 files changed, 203 insertions(+), 122 deletions(-)

diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDoctorMapper.xml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDoctorMapper.xml
index ff9e67e..bc60271 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDoctorMapper.xml
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDoctorMapper.xml
@@ -4,133 +4,171 @@
 <mapper namespace="com.kidgrow.usercenter.mapper.SysDoctorMapper">
     <!--定义查询列-->
     <sql id="Column_List">
-	   *
+	  DISTINCT *
 	</sql>
-
+    <sql id="where_condition">
+        <if test="p.id != null and p.id !=''">
+            and id = #{p.id}
+        </if>
+        <if test="p.userId != null and p.userId !=''">
+            and user_id = #{p.userId}
+        </if>
+        <if test="p.hospitalId != null and p.hospitalId !=''">
+            and hospital_id = #{p.hospitalId}
+        </if>
+        <if test="p.hospitalName != null and p.hospitalName !=''">
+            and hospital_name like '%${p.hospitalName}%'
+        </if>
+        <if test="p.departmentId != null and p.departmentId !=''">
+            and department_id = #{p.departmentId}
+        </if>
+        <if test="p.departmentName != null and p.departmentName !=''">
+            and department_name = #{p.departmentName}
+        </if>
+        <if test="p.doctorName != null and p.doctorName !=''">
+            and doctor_name like '%${p.doctorName}%'
+        </if>
+        <if test="p.doctorLogo != null and p.doctorLogo !=''">
+            and doctor_logo = #{p.doctorLogo}
+        </if>
+        <if test="p.doctorTel != null and p.doctorTel !=''">
+            and doctor_tel like concat('%',#{p.doctorTel},'%')
+        </if>
+        <if test="p.doctorRankId != null and p.doctorRankId !=''">
+            and doctor_rank_id = #{p.doctorRankId}
+        </if>
+        <if test="p.doctorRank != null and p.doctorRank !=''">
+            and doctor_rank = #{p.doctorRank}
+        </if>
+        <if test="p.doctorOtherLink != null and p.doctorOtherLink !=''">
+            and doctor_other_link = #{p.doctorOtherLink}
+        </if>
+        <if test="p.doctorEmail != null and p.doctorEmail !=''">
+            and doctor_email = #{p.doctorEmail}
+        </if>
+        <if test="p.doctorAbout != null and p.doctorAbout !=''">
+            and doctor_about = #{p.doctorAbout}
+        </if>
+        <if test="p.isAnswer != null and p.isAnswer !=''">
+            and is_answer = #{p.isAnswer}
+        </if>
+        <if test="p.isSigning != null and p.isSigning !=''">
+            and is_signing = #{p.isSigning}
+        </if>
+        <if test="p.isTop != null and p.isTop !=''">
+            and is_top = #{p.isTop}
+        </if>
+        <if test="p.isDel != null and p.isDel !=''">
+            and is_del = #{p.isDel}
+        </if>
+        <if test="p.doctorState != null and p.doctorState !=''">
+            and doctor_state = #{p.doctorState}
+        </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>
+    </sql>
     <!--sql查询片段-->
+    <sql id="where_list">
+        <where>
+            <!--查询条件自行添加-->
+            is_del=0
+            <include refid="where_condition"></include>
+            <include refid="Role_Organization"/>
+        </where>
+    </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">
         <where>
             <!--查询条件自行添加-->
             is_del=0
-            <if test="p.id != null and p.id !=''">
-                and id = #{p.id}
-            </if>
-            <if test="p.userId != null and p.userId !=''">
-                and user_id = #{p.userId}
-            </if>
-            <if test="p.hospitalId != null and p.hospitalId !=''">
-                and hospital_id = #{p.hospitalId}
-            </if>
-            <if test="p.hospitalName != null and p.hospitalName !=''">
-                and hospital_name = #{p.hospitalName}
-            </if>
-            <if test="p.departmentId != null and p.departmentId !=''">
-                and department_id = #{p.departmentId}
-            </if>
-            <if test="p.departmentName != null and p.departmentName !=''">
-                and department_name = #{p.departmentName}
-            </if>
-            <if test="p.doctorName != null and p.doctorName !=''">
-                and doctor_name like '%${p.doctorName}%'
-            </if>
-            <if test="p.doctorLogo != null and p.doctorLogo !=''">
-                and doctor_logo = #{p.doctorLogo}
-            </if>
-            <if test="p.doctorTel != null and p.doctorTel !=''">
-                and doctor_tel like '%${p.doctorTel}%'
-            </if>
-            <if test="p.doctorRankId != null and p.doctorRankId !=''">
-                and doctor_rank_id = #{p.doctorRankId}
-            </if>
-            <if test="p.doctorRank != null and p.doctorRank !=''">
-                and doctor_rank = #{p.doctorRank}
-            </if>
-            <if test="p.doctorOtherLink != null and p.doctorOtherLink !=''">
-                and doctor_other_link = #{p.doctorOtherLink}
-            </if>
-            <if test="p.doctorEmail != null and p.doctorEmail !=''">
-                and doctor_email = #{p.doctorEmail}
-            </if>
-            <if test="p.doctorAbout != null and p.doctorAbout !=''">
-                and doctor_about = #{p.doctorAbout}
-            </if>
-            <if test="p.isAnswer != null and p.isAnswer !=''">
-                and is_answer = #{p.isAnswer}
-            </if>
-            <if test="p.isSigning != null and p.isSigning !=''">
-                and is_signing = #{p.isSigning}
-            </if>
-            <if test="p.isTop != null and p.isTop !=''">
-                and is_top = #{p.isTop}
-            </if>
-            <if test="p.isDel != null and p.isDel !=''">
-                and is_del = #{p.isDel}
-            </if>
-            <if test="p.doctorState != null and p.doctorState !=''">
-                and doctor_state = #{p.doctorState}
-            </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.likes != null and p.likes.size>0">
-
-                <foreach item="item" collection="p.likes" index="">
-                    <foreach item="itemto" collection="item" index="inx">
-
-
-                        <choose>
-                            <when test="inx.type == 1"></when>
-
-                            <when test="inx.type==2">
-                                AND
-                                <foreach item="itemtoto" collection="itemto" separator="or" open="(" close=")" index="">
-                                    create_user_org_code like '${itemtoto.orgCode}%'
-                                </foreach>
-                            </when>
-                            <when test="inx.type == 3">
-                                AND
-                                <foreach item="itemtoto" collection="itemto" separator="or" open="(" close=")" index="">
-                                  create_user_org_code = #{itemtoto.orgCode}
-                                </foreach>
-                            </when>
-                            <when test="inx.type == 4">
-                                AND
-                                <foreach item="itemtoto" collection="itemto" separator="or" open="(" close=")" index="">
-                                     create_user_org_code like '${itemtoto.orgCode}%'
-                                </foreach>
-                            </when>
-                            <when test="inx.type == 5">
-                                AND
-                                <foreach item="itemtoto" collection="itemto" separator="or" open="(" close=")" index="">
-                                    create_user_id = #{itemtoto.orgCode}
-                                </foreach>
-                            </when>
-                            <otherwise>
-                                AND id is null
-                            </otherwise>
-                        </choose>
-
-                    </foreach>
-                </foreach>
-            </if>
+            <include refid="where_condition"></include>
         </where>
     </sql>
 
@@ -149,7 +187,50 @@
         select
         <include refid="Column_List"/>
         from sys_doctor
-        <include refid="where"/>
+        <include refid="where_list"/>
         order by id desc
     </select>
+
+    <select id="userIsAdmin" parameterType="string" resultType="com.kidgrow.usercenter.model.SysDoctor">
+		SELECT
+		is_admin_user
+		FROM
+			sys_doctor
+		WHERE
+		user_id IN (
+		SELECT
+			id
+		FROM
+			sys_user
+		WHERE
+		username = #{userName}
+		OR mobile = #{userName})
+	</select>
+    <select id="chartDoctor" resultType="int" parameterType="int">
+        select count(id) doctorCount from sys_doctor where is_del=0 and enabled=1
+        <if test="datatype==0">
+            -- 自注册医生
+            and (doctor_type=0 or doctor_type=1) and doctor_state=0
+        </if>
+        <if test="datatype==1">
+            -- 签约医生
+            and is_signing=1 and doctor_state=1
+        </if>
+        <if test="datatype==2">
+            -- 医答医生
+            and is_answer=1 and doctor_state=1
+        </if>
+        <if test="datatype==3">
+            -- C端医生
+            and (doctor_type=2 or doctor_type=0) and doctor_state=1
+        </if>
+        <if test="datatype==4">
+            -- H端医生
+            and (doctor_type=1 or doctor_type=0) and doctor_state=1
+        </if>
+        <if test="datatype==5">
+            -- H端医生
+            and (doctor_type=1 or doctor_type=0) and doctor_state=0 and enabled=0
+        </if>
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0