|
|
@@ -236,18 +236,32 @@ from
|
|
|
|
|
|
<select id="privateCustomersDepCount" parameterType="String" resultType="com.goafanti.report.bo.CountDepMarketingStatisticsBo">
|
|
|
select
|
|
|
- count( a.name )as departmentNumber,
|
|
|
- ifnull(e.privateCustomersCount,0) as privateCustomersCount
|
|
|
+ sum(a.count2) as privateCustomersCount,
|
|
|
+ sum(d.count3) as departmentNumber
|
|
|
from
|
|
|
- admin a left join user_role b on a.id = b.uid
|
|
|
- left join role c on b.rid = c.id
|
|
|
- left join(
|
|
|
- select z3.id as depId, count( 0 ) as privateCustomersCount
|
|
|
- from user z1 left join admin z2 on z1.aid = z2.id
|
|
|
- left join department_management z3 on z2.department_id = z3.id
|
|
|
- group by z3.id ) e on a.department_id = e.depId
|
|
|
-where 1 = 1
|
|
|
-and(c.role_name = '营销员' or c.role_name = '营销经理' or c.role_name = '营销管理员')
|
|
|
+ (
|
|
|
+ select
|
|
|
+ z.department_id,
|
|
|
+ sum( y.count1 ) as count2
|
|
|
+ from
|
|
|
+ (
|
|
|
+ select
|
|
|
+ a.id,
|
|
|
+ count( a.id ) as count1
|
|
|
+ from
|
|
|
+ admin a left join user b on
|
|
|
+ a.id = b.aid
|
|
|
+ group by
|
|
|
+ a.id
|
|
|
+ ) y left join admin z on
|
|
|
+ y.id = z.id
|
|
|
+ group by
|
|
|
+ z.department_id
|
|
|
+ ) a left join department_management b
|
|
|
+ on a.department_id = b.id left join admin c
|
|
|
+ on b.manager_id=c.id left join (select department_id,count(0) as count3 from admin group by department_id)d
|
|
|
+ on a.department_id = d.department_id
|
|
|
+ where 1=1
|
|
|
<if test="depId != null">
|
|
|
and a.department_id = #{depId,jdbcType=VARCHAR}
|
|
|
</if>
|