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 |  120 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 119 insertions(+), 1 deletions(-)

diff --git a/src/main/resources/mapper/PlanMapper.xml b/src/main/resources/mapper/PlanMapper.xml
index be12701..fdcec3c 100644
--- a/src/main/resources/mapper/PlanMapper.xml
+++ b/src/main/resources/mapper/PlanMapper.xml
@@ -16,9 +16,9 @@
         <result column="apple_time" property="appleTime" />
         <result column="plan_need" property="planNeed" />
         <result column="be_item" property="beItem" />
+        <result column="form" property="form" />
         <result column="planner" property="planner" />
         <result column="finish_time" property="finishTime" />
-        <result column="form" property="form" />
         <result column="change" property="change" />
         <result column="change_time" property="changeTime" />
         <result column="change_reason" property="changeReason" />
@@ -34,7 +34,125 @@
         <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>
 
+    <select id="selectByUuid" resultMap="BaseResultMap">
+        select * from man_plan
+        where 1=1
+        and uuid = #{uuid}
+        <if test="hostId != null">
+            and host_id = #{hostId}
+        </if>
+    </select>
+
+    <select id="selectPlanByNewestUuid" resultMap="BaseResultMap">
+        select top 1 * from man_plan
+        where 1=1
+        <if test="hostId != null">
+            and host_id = #{hostId}
+        </if>
+        order by uuid + 0 desc
+    </select>
+
+    <select id="listByPage" resultMap="BaseResultMap">
+        SELECT
+        mp.*
+        FROM man_plan mp
+        LEFT JOIN sys_dept sd ON mp.dept_id = sd.id
+        WHERE 1=1
+        <choose>
+            <when test="deptId != null and 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
+                (
+                    <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>
+        </choose>
+        <if test="hostId != null">
+            and mp.host_id = #{hostId}
+        </if>
+        <if test="condition != null and condition != ''">
+            and (
+            mp.uuid like concat('%',#{condition},'%')
+            or mp.name like concat('%',#{condition},'%')
+            or mp.planner like concat('%',#{condition},'%')
+            )
+        </if>
+        <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