gaoluyang
3 天以前 e40a608ef9bf51db294d8eefada6a8e2e80cebca
yudao-module-crm/src/main/resources/mapper/statistics/CrmStatisticsCustomerMapper.xml
@@ -179,8 +179,10 @@
               IFNULL(receivable.price, 0) AS receivable_price
          FROM crm_customer AS customer
                INNER JOIN crm_contract AS contract ON customer.id = contract.customer_id
                LEFT JOIN crm_receivable AS receivable ON contract.id = receivable.contract_id
         WHERE customer.deleted = 0 AND contract.deleted = 0 AND receivable.deleted = 0
                <!-- receivable.deleted = 0 必须写在 ON 里:写到 WHERE 里会让 LEFT JOIN 退化成 INNER JOIN,
                     没有回款记录的合同会被整行丢掉(成交 6 个客户、转化表只出现 4 个) -->
                LEFT JOIN crm_receivable AS receivable ON contract.id = receivable.contract_id AND receivable.deleted = 0
         WHERE customer.deleted = 0 AND contract.deleted = 0
           AND contract.audit_status = ${@cn.iocoder.yudao.module.crm.enums.common.CrmAuditStatusEnum@APPROVE.status}
           AND customer.owner_user_id IN
                <foreach collection="userIds" item="userId" open="(" close=")" separator=",">
@@ -249,7 +251,7 @@
          FROM crm_customer AS customer
                LEFT JOIN crm_contract AS contract ON customer.id = contract.customer_id
                LEFT JOIN crm_contract_product AS contract_product ON contract_product.contract_id = contract.id
                LEFT JOIN crm_product AS product ON contract_product.product_id = product.id
                LEFT JOIN mdm_item AS product ON contract_product.item_id = product.id
         WHERE customer.deleted = 0
           AND contract.deleted = 0
           AND contract_product.deleted = 0
@@ -260,7 +262,7 @@
                     #{userId}
                 </foreach>
           AND customer.create_time BETWEEN #{times[0],javaType=java.time.LocalDateTime} AND #{times[1],javaType=java.time.LocalDateTime}
        GROUP BY product.id
        GROUP BY product.id, product.name
    </select>
</mapper>