Commit e18d26d8a6c004394c5c3fd7cb184d3fde402a2f

Authored by dhb52
1 parent 1944199f

fix: [CRM-客户统计]按客户创建时间筛选,关联合同是否有成交记录,有则视为[成交客户]

yudao-module-crm/yudao-module-crm-biz/src/main/resources/mapper/statistics/CrmStatisticsCustomerMapper.xml
... ... @@ -18,17 +18,18 @@
18 18  
19 19 <select id="selectCustomerDealCountGroupByDate"
20 20 resultType="cn.iocoder.yudao.module.crm.controller.admin.statistics.vo.customer.CrmStatisticsCustomerSummaryByDateRespVO">
21   - SELECT DATE_FORMAT(order_date, '%Y-%m-%d') AS time,
22   - COUNT(DISTINCT customer_id) AS customerDealCount
23   - FROM crm_contract
24   - WHERE deleted = 0
25   - AND audit_status = ${@cn.iocoder.yudao.module.crm.enums.common.CrmAuditStatusEnum@APPROVE.status}
26   - AND owner_user_id IN
  21 + SELECT DATE_FORMAT(customer.create_time, '%Y-%m-%d') AS time,
  22 + COUNT(DISTINCT customer.id) AS customer_deal_count
  23 + FROM crm_customer AS customer
  24 + LEFT JOIN crm_contract AS contract ON contract.customer_id = customer.id
  25 + WHERE customer.deleted = 0 AND contract.deleted = 0
  26 + AND contract.audit_status = ${@cn.iocoder.yudao.module.crm.enums.common.CrmAuditStatusEnum@APPROVE.status}
  27 + AND customer.owner_user_id IN
27 28 <foreach collection="userIds" item="userId" open="(" close=")" separator=",">
28 29 #{userId}
29 30 </foreach>
30   - AND create_time BETWEEN #{times[0],javaType=java.time.LocalDateTime} AND #{times[1],javaType=java.time.LocalDateTime}
31   - GROUP BY time
  31 + AND contract.create_time BETWEEN #{times[0],javaType=java.time.LocalDateTime} AND #{times[1],javaType=java.time.LocalDateTime}
  32 + GROUP BY time
32 33 </select>
33 34  
34 35 <select id="selectCustomerCreateCountGroupByUser"
... ...