|
@@ -52,7 +52,7 @@
|
|
|
linkman.created AS created
|
|
|
FROM customer_linkman AS linkman
|
|
|
LEFT JOIN user ON user.id = linkman.client_manager_id
|
|
|
- /* 先算 来单量 与 评估值 再一次性 JOIN */
|
|
|
+ /* 先算 来单量 与 评估值 再一次性 JOIN */
|
|
|
LEFT JOIN (SELECT clientele_contact_id,
|
|
|
SUM(cnt) AS cnt,
|
|
|
SUM(revenue) AS revenue
|
|
@@ -269,4 +269,105 @@
|
|
|
ORDER BY custmerOrder.collectionTime DESC
|
|
|
</select>
|
|
|
|
|
|
+ <sql id="customerLinkmanQuerySql">
|
|
|
+ SELECT linkman.id AS id,
|
|
|
+ linkman.name AS linkman,
|
|
|
+ subCompany.id AS subCompanyId,
|
|
|
+ subCompany.name AS subCompany,
|
|
|
+ parentCompany.id AS parentCompanyId,
|
|
|
+ parentCompany.name AS parentCompany,
|
|
|
+ linkman.mobile AS mobile,
|
|
|
+ linkman.phone AS phone,
|
|
|
+ linkman.sex AS sex,
|
|
|
+ linkman.department AS department,
|
|
|
+ linkman.duty AS duty,
|
|
|
+ user.name AS clientManager,
|
|
|
+ linkman.terminal AS terminal,
|
|
|
+ COALESCE(vol.cnt, 0) AS orderVolume,
|
|
|
+ COALESCE(vol.revenue, 0) AS estimatedRevenue,
|
|
|
+ linkman.created AS created
|
|
|
+ FROM customer_linkman AS linkman
|
|
|
+ LEFT JOIN customer_company AS subCompany ON subCompany.id = linkman.cc_id
|
|
|
+ LEFT JOIN customer_company AS parentCompany ON parentCompany.id = subCompany.parent_id
|
|
|
+ LEFT JOIN user ON user.id = linkman.client_manager_id
|
|
|
+ /* 先算 来单量 与 评估值 再一次性 JOIN */
|
|
|
+ LEFT JOIN (SELECT clientele_contact_id,
|
|
|
+ SUM(cnt) AS cnt,
|
|
|
+ SUM(revenue) AS revenue
|
|
|
+ FROM (
|
|
|
+ /* assets */
|
|
|
+ SELECT assets.clientele_contact_id,
|
|
|
+ COUNT(*) AS cnt,
|
|
|
+ COALESCE(SUM(order_fund.real_amount), 0) AS revenue
|
|
|
+ FROM assets
|
|
|
+ LEFT JOIN order_fund
|
|
|
+ ON order_fund.business_type = 'ASSET_BUSINESS'
|
|
|
+ AND order_fund.deleted = 0
|
|
|
+ AND order_fund.business_id = assets.id
|
|
|
+ WHERE assets.deleted = 0
|
|
|
+ AND clientele_type = '企业'
|
|
|
+ GROUP BY assets.clientele_contact_id
|
|
|
+
|
|
|
+ UNION ALL
|
|
|
+ /* major */
|
|
|
+ SELECT major.clientele_contact_id,
|
|
|
+ COUNT(*),
|
|
|
+ COALESCE(SUM(order_fund.real_amount), 0)
|
|
|
+ FROM major
|
|
|
+ LEFT JOIN order_fund
|
|
|
+ ON order_fund.business_type = 'MAJOR_BUSINESS'
|
|
|
+ AND order_fund.deleted = 0
|
|
|
+ AND order_fund.business_id = major.id
|
|
|
+ WHERE major.deleted = 0
|
|
|
+ AND clientele_type = '企业'
|
|
|
+ GROUP BY major.clientele_contact_id
|
|
|
+
|
|
|
+ UNION ALL
|
|
|
+ /* personal */
|
|
|
+ SELECT personal.clientele_contact_id,
|
|
|
+ COUNT(*),
|
|
|
+ COALESCE(SUM(order_fund.real_amount), 0)
|
|
|
+ FROM personal
|
|
|
+ LEFT JOIN order_fund
|
|
|
+ ON order_fund.business_type = 'PERSONAL_BUSINESS'
|
|
|
+ AND order_fund.deleted = 0
|
|
|
+ AND order_fund.business_id = personal.id
|
|
|
+ WHERE personal.deleted = 0
|
|
|
+ AND clientele_type = '企业'
|
|
|
+ GROUP BY personal.clientele_contact_id) AS t
|
|
|
+ GROUP BY clientele_contact_id) AS vol ON vol.clientele_contact_id = linkman.id
|
|
|
+ WHERE linkman.cc_id != 1
|
|
|
+ <if test="dto != null">
|
|
|
+ <if test="dto.linkman != null">
|
|
|
+ AND linkman.name LIKE CONCAT('%',#{dto.linkman},'%')
|
|
|
+ </if>
|
|
|
+ <if test="dto.subCompany != null">
|
|
|
+ AND subCompany.name LIKE CONCAT('%',#{dto.subCompany},'%')
|
|
|
+ </if>
|
|
|
+ <if test="dto.parentCompany != null">
|
|
|
+ AND parentCompany.name LIKE CONCAT('%',#{dto.parentCompany},'%')
|
|
|
+ </if>
|
|
|
+ <if test="dto.mobile != null">
|
|
|
+ AND linkman.mobile LIKE CONCAT('%',#{dto.mobile},'%')
|
|
|
+ </if>
|
|
|
+ <if test="dto.terminal != null">
|
|
|
+ AND linkman.terminal = #{dto.terminal}
|
|
|
+ </if>
|
|
|
+ <if test="dto.clientManagerId != null">
|
|
|
+ AND linkman.client_manager_id = #{dto.clientManagerId}
|
|
|
+ </if>
|
|
|
+ </if>
|
|
|
+ ORDER BY COALESCE(vol.revenue, 0) DESC
|
|
|
+ </sql>
|
|
|
+
|
|
|
+ <!--分页查询企业客户联系人列表-->
|
|
|
+ <select id="getCustomerLinkmanPage" resultType="com.dayou.vo.CustomerLinkmanVO">
|
|
|
+ <include refid="customerLinkmanQuerySql" />
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!--导出企业客户联系人列表-->
|
|
|
+ <select id="exportCustomerLinkmanPage" resultType="com.dayou.vo.CustomerLinkmanVO">
|
|
|
+ <include refid="customerLinkmanQuerySql" />
|
|
|
+ </select>
|
|
|
+
|
|
|
</mapper>
|