|
@@ -31,14 +31,14 @@
|
|
|
|
|
|
<select id="monthlyReporting" resultType="com.fjhx.sale.entity.DeptPerfReporting">
|
|
|
SELECT t1.*,
|
|
|
- IFNULL(sum(c.amount), 0) AS sumContractAmount,
|
|
|
- IFNULL(sum(joi.paid_amount), 0) AS sumJstAmount,
|
|
|
- (select GROUP_CONCAT(nick_name)
|
|
|
- from sys_user su
|
|
|
- join sys_user_role sur on sur.user_id = su.user_id
|
|
|
- join sys_role sr on sr.role_id = sur.role_id
|
|
|
- where su.dept_id = t1.groupId
|
|
|
- and sr.role_key = 'salesman') AS saleUserName
|
|
|
+ IFNULL(t2.sumContractAmount, 0) AS sumContractAmount,
|
|
|
+ IFNULL(t2.sumJstAmount, 0) AS sumJstAmount,
|
|
|
+ (SELECT GROUP_CONCAT(nick_name)
|
|
|
+ FROM sys_user su
|
|
|
+ JOIN sys_user_role sur ON sur.user_id = su.user_id
|
|
|
+ JOIN sys_role sr ON sr.role_id = sur.role_id
|
|
|
+ WHERE su.dept_id = t1.groupId
|
|
|
+ AND sr.role_key = 'salesman') AS saleUserName
|
|
|
FROM (SELECT de.dept_id,
|
|
|
de.dept_name,
|
|
|
gr.dept_id AS groupId,
|
|
@@ -47,17 +47,29 @@
|
|
|
FROM sys_dept gr
|
|
|
LEFT JOIN sys_dept de ON gr.parent_id = de.dept_id
|
|
|
WHERE gr.type != 0
|
|
|
- AND FIND_IN_SET( 100, gr.ancestors )
|
|
|
- AND NOT gr.jst_distributor IS NULL
|
|
|
- AND gr.jst_distributor != ''
|
|
|
+ AND FIND_IN_SET( 100, gr.ancestors )
|
|
|
+ AND NOT gr.jst_distributor IS NULL
|
|
|
+ AND gr.jst_distributor != ''
|
|
|
GROUP BY
|
|
|
gr.dept_id) t1
|
|
|
- LEFT JOIN contract c ON c.dept_id = t1.groupId AND
|
|
|
- DATE_FORMAT(c.create_time, '%Y-%m') = DATE_FORMAT(#{dto.beginTime}, '%Y-%m')
|
|
|
- LEFT JOIN jst_order_info joi
|
|
|
- ON joi.drp_from = t1.jst_distributor AND DATE_FORMAT(joi.created, '%Y-%m') =
|
|
|
- DATE_FORMAT(#{dto.beginTime}, '%Y-%m')
|
|
|
- GROUP BY t1.groupId
|
|
|
+ LEFT JOIN (SELECT t1.dept_id,
|
|
|
+ IFNULL(sum(t1.sumContractAmount), 0) AS sumContractAmount,
|
|
|
+ IFNULL(sum(t1.sumJstAmount), 0) AS sumJstAmount
|
|
|
+ FROM (SELECT c.dept_id,
|
|
|
+ IFNULL(sum(c.amount), 0) AS sumContractAmount,
|
|
|
+ NULL AS sumJstAmount
|
|
|
+ FROM contract c
|
|
|
+ WHERE DATE_FORMAT(c.create_time, '%Y-%m') = DATE_FORMAT(#{dto.beginTime}, '%Y-%m')
|
|
|
+ GROUP BY c.dept_id
|
|
|
+ UNION ALL
|
|
|
+ SELECT de.dept_id,
|
|
|
+ NULL AS sumContractAmount,
|
|
|
+ IFNULL(sum(joi.amount), 0) AS sumJstAmount
|
|
|
+ FROM jst_order_info joi
|
|
|
+ LEFT JOIN sys_dept de ON joi.drp_from = de.jst_distributor
|
|
|
+ WHERE DATE_FORMAT(joi.created, '%Y-%m') = DATE_FORMAT(#{dto.beginTime}, '%Y-%m')
|
|
|
+ GROUP BY de.dept_id) t1
|
|
|
+ GROUP BY t1.dept_id) t2 ON t2.dept_id = t1.groupId
|
|
|
</select>
|
|
|
<select id="getDayRepo" resultType="com.fjhx.sale.entity.DeptPerfReporting">
|
|
|
SELECT t1.dept_id,
|