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 7d278b0..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
- order_id
- from man_order_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 < 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