From b633b8048cfe9a4f4e9c25e574551cedfd1ed28f Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期二, 03 九月 2024 14:16:45 +0800
Subject: [PATCH] #

---
 src/main/resources/mapper/PlanMapper.xml |   83 ++++++++++++++++++++++++++++++++++++-----
 1 files changed, 72 insertions(+), 11 deletions(-)

diff --git a/src/main/resources/mapper/PlanMapper.xml b/src/main/resources/mapper/PlanMapper.xml
index b21aedf..fdcec3c 100644
--- a/src/main/resources/mapper/PlanMapper.xml
+++ b/src/main/resources/mapper/PlanMapper.xml
@@ -34,6 +34,13 @@
         <result column="update_by" property="updateBy" />
         <result column="update_time" property="updateTime" />
         <result column="memo" property="memo" />
+        <result column="user_xml_sel_phone" property="userXmlSelPhone" />
+        <result column="director" property="director" />
+        <result column="status2" property="status2" />
+        <result column="assistant_plan_id" property="assistantPlanId" />
+        <result column="host_plan_id" property="hostPlanId" />
+        <result column="assistant_host_sign" property="assistantHostSign" />
+        <result column="settle_size" property="settleSize" />
 
     </resultMap>
 
@@ -63,20 +70,37 @@
         WHERE 1=1
         <choose>
             <when test="deptId != null and deptId != ''">
-                AND (CHARINDEX(','+#{deptId}+',', ','+sd.path+',') > 0 OR sd.id = #{deptId})
+                AND ( (CHARINDEX(','+#{deptId}+',', ','+sd.path+',') > 0 OR sd.id = #{deptId})
+                or
+                (
+                    mp.user_id = #{userId}
+                    or
+                    mp.id in
+                    (
+                        select
+                        plan_id
+                        from man_plan_foll
+                        where 1=1
+                        and user_id = #{userId}
+                    )
+                ))
             </when>
             <otherwise>
                 and
                 (
-                user_id = #{userId}
-                or
-                mp.id in
-                (
-                    select
-                    plan_id
-                    from man_plan_foll
-                    where 1=1
-                    and user_id = #{userId}
+                    <if test="userId != null and userId != ''">
+                        mp.user_id = #{userId}
+                        or
+                        mp.director = #{userId}
+                        or
+                    </if>
+                    mp.id in
+                    (
+                        select
+                        plan_id
+                        from man_plan_foll
+                        where 1=1
+                        and user_id = #{userId}
                     )
                 )
             </otherwise>
@@ -91,7 +115,44 @@
             or mp.planner like concat('%',#{condition},'%')
             )
         </if>
-        ORDER BY mp.create_time DESC
+        <if test="director != null and director != ''">
+            or mp.director = #{director}
+        </if>
+        ORDER BY mp.update_time DESC,mp.create_time DESC
+    </select>
+
+    <select id="selectPendingTaskCount" resultType="java.lang.Integer">
+        select count(1) from man_plan
+        where 1=1
+        and director = #{director}
+        and settle &lt; settle_size
+    </select>
+
+    <select id="selctPlanListByDirector" resultMap="BaseResultMap">
+        select DISTINCT user_id from man_plan
+        where 1=1
+        and director = #{director}
+    </select>
+
+    <select id="getApproval" resultMap="BaseResultMap">
+        SELECT user_id,status2,host_id,director,dept_id,plan_type,order_id,COUNT(*) num
+        FROM man_plan
+        WHERE settle = #{settle} AND assistant_host_sign = #{assistantHostSign}
+        GROUP BY user_id,status2,host_id,director,dept_id,plan_type,order_id
+    </select>
+
+    <select id="selectMonth" resultMap="BaseResultMap">
+        SELECT count(0) as count, MONTH(create_time) as month FROM man_plan
+        where 1=1
+        group by MONTH(create_time)
+    </select>
+
+    <select id="selectUserYear" resultType="com.zy.crm.common.entity.UserYear">
+        select COUNT(1) as count,YEAR(p.create_time) as year
+        from (select DISTINCT m.plan_id,m.user_id from man_plan_foll as m where m.user_id = #{userId}) as f
+        LEFT JOIN man_plan as p on (f.plan_id = p.id)
+        where f.user_id = #{userId}
+        group by YEAR(p.create_time)
     </select>
 
 </mapper>

--
Gitblit v1.9.1