CustomerReportMapper.xml 3.01 KB
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.iocoder.yudao.module.delivery.mapper.CustomerReportMapper">
    <select id="getListPage"
            parameterType="cn.iocoder.yudao.module.delivery.entity.CustomerReportReq"
            resultType="cn.iocoder.yudao.module.delivery.entity.CustomerReportResp">
        SELECT number,name,(
        SELECT nickname from system_user where id=c.customer_service
        ) as salesman,c.customer_service as salesmanid,
        source,create_time as createtime,
        (u_d.dept_id) as deptid,(u_d.deptName) as deptname,
        <!--总V值 2024-04-22-->
        (SELECT round(sum(vz),2) FROM view_order_businesstime WHERE customer_id = c.id AND business_time BETWEEN '${sDate}' AND '${eDate}') AS allsumvolume,
        (SELECT round(sum(vz),2) FROM view_order_businesstime WHERE customer_id = c.id AND business_time BETWEEN '${sDuiBiDate}' AND '${eDuiBiDate}') as allsumvolumeTb,
        <!--海运-->
        (SELECT round(sum(charge_volume)/(SELECT vz FROM ecw_vz WHERE fuhao ='M3' LIMIT 1),2) FROM view_order_businesstime WHERE customer_id = c.id AND transport_id = 1 AND business_time BETWEEN '${sDate}' AND '${eDate}') AS sumvolume1,
        (SELECT round(sum(charge_volume)/(SELECT vz FROM ecw_vz WHERE fuhao ='M3' LIMIT 1),2) FROM view_order_businesstime WHERE customer_id = c.id AND transport_id = 1 AND business_time BETWEEN '${sDuiBiDate}' AND '${eDuiBiDate}') as sumvolumeTb1,
        <!--空运-->
        (SELECT round(sum(charge_weight),2)/(SELECT vz FROM ecw_vz WHERE fuhao ='KG' LIMIT 1 ) FROM view_order_businesstime WHERE  customer_id = c.id AND transport_id = 3 AND business_time BETWEEN '${sDate}' AND '${eDate}') AS sumweight3,
        (SELECT round(sum(charge_weight),2)/(SELECT vz FROM ecw_vz WHERE fuhao ='KG' LIMIT 1 ) FROM view_order_businesstime WHERE  customer_id = c.id AND transport_id = 3 AND business_time BETWEEN '${sDuiBiDate}' AND '${eDuiBiDate}') as sumweightTb3
        from ecw_customer c left join (SELECT d.NAME as deptName,u.dept_id,u.id as userid FROM
        system_user u LEFT JOIN system_dept d ON u.dept_id = d.id) AS u_d ON c.customer_service = u_d.userid
        <include refid="WherePage"/>
        ORDER BY allsumvolume desc
        limit 0,10
    </select>
    <sql id="WherePage">
        <where>
            and c.deleted = 0
            <if test="salesmanid!=null and salesmanid!=''">
                and c.customer_service= #{salesmanid}
            </if>
            <if test="deptid!=null and deptid!=''">
                and u_d.dept_id= #{deptid}
            </if>
        </where>
    </sql>
    <select id="GetCount" resultType="java.lang.Long">
        SELECT count(1)
        from ecw_customer c left join
        (SELECT d.NAME as deptName,u.dept_id,u.id as userid FROM
         system_user u LEFT JOIN system_dept d ON u.dept_id = d.id
        ) AS u_d ON c.customer_service = u_d.userid
        <include refid="WherePage"/>
    </select>
</mapper>