From 2fcd97552d16718cc7997629fd637a73a5a4483f Mon Sep 17 00:00:00 2001
From: 郑永安 <zyazyz250@sina.com>
Date: 星期一, 19 六月 2023 14:44:19 +0800
Subject: [PATCH] 删除

---
 src/main/java/com/gk/firework/Mapper/mybatis/SaleOrderInfoMapper.xml | 1112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 1,112 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/gk/firework/Mapper/mybatis/SaleOrderInfoMapper.xml b/src/main/java/com/gk/firework/Mapper/mybatis/SaleOrderInfoMapper.xml
new file mode 100644
index 0000000..335b90e
--- /dev/null
+++ b/src/main/java/com/gk/firework/Mapper/mybatis/SaleOrderInfoMapper.xml
@@ -0,0 +1,1112 @@
+<?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="com.gk.firework.Mapper.SaleOrderInfoMapper">
+    <resultMap id="BaseResultMap" type="com.gk.firework.Domain.SaleOrderInfo">
+        <!--          -->
+        <id column="id" property="id" jdbcType="BIGINT"/>
+        <result column="code" property="code" jdbcType="VARCHAR"/>
+        <result column="createdat" property="createdat" jdbcType="TIMESTAMP"/>
+        <result column="createdby" property="createdby" jdbcType="VARCHAR"/>
+        <result column="customer" property="customer" jdbcType="BIGINT"/>
+        <result column="idcardnum" property="idcardnum" jdbcType="VARCHAR"/>
+        <result column="salesperson" property="salesperson" jdbcType="VARCHAR"/>
+        <result column="shop" property="shop" jdbcType="VARCHAR"/>
+        <result column="boxnum" property="boxnum" jdbcType="DECIMAL"/>
+        <result column="totalprice" property="totalprice" jdbcType="DECIMAL"/>
+        <result column="pay" property="pay" jdbcType="DECIMAL"/>
+        <result column="change" property="change" jdbcType="DECIMAL"/>
+        <result column="type" property="type" jdbcType="TINYINT"/>
+        <result column="returnflag" property="returnflag" jdbcType="TINYINT"/>
+        <result column="isupload" property="isupload" jdbcType="TINYINT"/>
+        <result column="uploadat" property="uploadat" jdbcType="TIMESTAMP"/>
+        <result column="returncode" property="returncode" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <resultMap id="OrderInfo" type="com.gk.firework.Domain.SaleOrderInfo">
+        <!--          -->
+        <id column="id" property="id" jdbcType="BIGINT"/>
+        <result column="code" property="code" jdbcType="VARCHAR"/>
+        <result column="createdat" property="createdat" jdbcType="TIMESTAMP"/>
+        <result column="createdby" property="createdby" jdbcType="VARCHAR"/>
+        <result column="customer" property="customer" jdbcType="BIGINT"/>
+        <result column="idcardnum" property="idcardnum" jdbcType="VARCHAR"/>
+        <result column="salesperson" property="salesperson" jdbcType="VARCHAR"/>
+        <result column="shop" property="shop" jdbcType="VARCHAR"/>
+        <result column="boxnum" property="boxnum" jdbcType="DECIMAL"/>
+        <result column="totalprice" property="totalprice" jdbcType="DECIMAL"/>
+        <result column="pay" property="pay" jdbcType="DECIMAL"/>
+        <result column="change" property="change" jdbcType="DECIMAL"/>
+        <result column="type" property="type" jdbcType="TINYINT"/>
+        <result column="returnflag" property="returnflag" jdbcType="TINYINT"/>
+    </resultMap>
+    <resultMap id="DailySaleReportResultMap" type="com.gk.firework.Domain.Vo.DailySaleReport">
+    </resultMap>
+    <sql id="Base_Column_List">
+        <!--          -->
+        id, `code`, createdat, createdby, customer, idcardnum, salesperson, shop, boxnum, totalprice,
+        pay, `change`, `type`, returnflag, isupload, uploadat, returncode
+    </sql>
+
+    <select id="selectOrderByDirectionAndCustomer" resultMap="BaseResultMap">
+        select
+        saleorder.id,
+        saleorder.code,
+        saleorder.createdat,
+        saleorder.createdby,
+        saleorder.customer,
+        saleorder.idcardnum,
+        saleorder.salesperson,
+        saleorder.shop,
+        saleorder.boxnum,
+        saleorder.totalprice,
+        saleorder.pay,
+        saleorder.`change`,
+        saleorder.`type`,
+        saleorder.returnflag
+        from saleorder as saleorder
+        left join saleorderdetail as detail on detail.ordercode = saleorder.code
+        <where>
+            detail.directioncode = #{directionCode}
+            and customer = #{customer}
+        </where>
+
+    </select>
+
+    <select id="selectSaleRecord1" resultType="java.util.Map">
+        select
+        sod.directioncode,
+        sod.itemname,
+        so.shop,
+        customer.idcardnum identify,
+        so.createdat saletime
+        from saleorder as so
+        left join saleorderdetail as sod on so.code = sod.ordercode
+        left join customer as customer on customer.id = so.customer
+        <where>
+            <choose>
+                <when test="params.enterprisenumber != null and params.enterprisenumber != ''">
+                    and so.companynumber = #{params.enterprisenumber}
+                </when>
+                <otherwise>
+                    <if test="params.province != null and params.province != ''">
+                        and e.province = #{params.province}
+                    </if>
+                    <if test="params.city != null and params.city != ''">
+                        and e.city = #{params.city}
+                    </if>
+                    <if test="params.district != null and params.district != ''">
+                        and e.district = #{params.district}
+                    </if>
+                    <if test="params.street != null and params.street != ''">
+                        and e.street = #{params.street}
+                    </if>
+                    <if test="params.committee != null and params.committee != ''">
+                        and e.committee = #{params.committee}
+                    </if>
+                </otherwise>
+            </choose>
+
+            <if test="params.starttime != null and params.starttime">
+                and so.createdat &gt; #{params.starttime}
+            </if>
+            <if test="params.endtime != null and params.endtime">
+                and so.createdat &lt; #{params.endtime}
+            </if>
+            <if test="params.shop != null and params.shop">
+                and so.shop like concat("%",#{params.shop},"%")
+            </if>
+            <if test="params.itemname != null and params.itemname">
+                and sod.itemname like concat("%",#{params.itemname},"%")
+            </if>
+            <if test="params.directioncode != null and params.directioncode">
+                and sod.directioncode like concat("%",#{params.directioncode},"%")
+            </if>
+            <if test="params.enterprisename != null and params.enterprisename  != ''">
+                and e.enterprisename like concat("%",#{params.enterprisename},"%")
+            </if>
+            <if test="params.parententerprisename != null and params.parententerprisename  != ''">
+                and e.parententerprisename like concat("%",#{params.parententerprisename},"%")
+            </if>
+        </where>
+        order by saletime desc
+    </select>
+    <select id="selectSaleRecord2" resultType="java.util.Map">
+        SELECT
+        e.enterprisename,
+        e.enterprisenumber,
+        count(if(sod.returnflag = 1,true,null)) returnnum,
+        count(0) salenum,
+        max(so.createdat)
+        from saleorderdetail sod
+        LEFT JOIN saleorder as so on so.code = sod.ordercode
+        LEFT JOIN enterprise as e on e.enterprisenumber = so.companynumber and e.validflag = 1
+        <where>
+            <choose>
+                <when test="params.enterprisenumber != null and params.enterprisenumber != ''">
+                    and so.companynumber = #{params.enterprisenumber}
+                </when>
+                <otherwise>
+                    <if test="params.province != null and params.province != ''">
+                        and e.province = #{params.province}
+                    </if>
+                    <if test="params.city != null and params.city != ''">
+                        and e.city = #{params.city}
+                    </if>
+                    <if test="params.district != null and params.district != ''">
+                        and e.district = #{params.district}
+                    </if>
+                    <if test="params.street != null and params.street != ''">
+                        and e.street = #{params.street}
+                    </if>
+                    <if test="params.committee != null and params.committee != ''">
+                        and e.committee = #{params.committee}
+                    </if>
+                </otherwise>
+            </choose>
+            <if test="params.starttime != null and params.starttime != ''">
+                and so.createdat &gt; #{params.starttime}
+            </if>
+            <if test="params.endtime != null and params.endtime != ''">
+                and so.createdat &lt; #{params.endtime}
+            </if>
+            <if test="params.safetySupervision != null and params.safetySupervision != ''">
+                and e.safetysupervision = #{params.safetySupervision}
+            </if>
+            <if test="params.filterProvince != null and params.filterProvince  != ''">
+                and e.province = #{params.filterProvince}
+            </if>
+            <if test="params.filterCity != null and  params.filterCity  != ''">
+                and e.city = #{params.filterCity}
+            </if>
+            <if test="params.filterDistrict != null and params.filterDistrict  != ''">
+                and e.district = #{params.filterDistrict}
+            </if>
+            <if test="params.filterStreet != null and params.filterStreet  != ''">
+                and e.street = #{params.filterStreet}
+            </if>
+            <if test="params.filterCommittee != null and params.filterCommittee  != ''">
+                and e.committee = #{params.filterCommittee}
+            </if>
+            <if test="params.enterprisename != null and params.enterprisename  != ''">
+                and e.enterprisename like concat("%",#{params.enterprisename},"%")
+            </if>
+            <if test="params.parententerprisename != null and params.parententerprisename  != ''">
+                and e.parententerprisename like concat("%",#{params.parententerprisename},"%")
+            </if>
+
+        </where>
+        group by so.companynumber
+    </select>
+    <select id="selectSaleRecord3" resultType="java.util.Map">
+        SELECT
+        a.itemcode,
+        a.itemname,
+        a.salenum,
+        a.boxnumber,
+        round(a.salenum / a.boxnumber,2) boxnum,
+        a.saletime
+        from (
+        SELECT
+        count(sod.directioncode) salenum,
+        p.directioncode itemcode,
+        p.`name` itemname,
+        p.boxnumber,
+        max(sod.createdat) saletime
+        FROM product as p
+        left join saleorderdetail as sod on sod.itemcode = p.directioncode
+        LEFT JOIN saleorder as so on so.code = sod.ordercode
+        LEFT JOIN enterprise AS e ON e.enterprisenumber = so.companynumber
+        where p.isdel = 0
+        and e.enterprisestatus = 'ON'
+        and e.validflag = 1
+        <if test="params.enterprisename != null and params.enterprisename  != ''">
+            and e.enterprisename like concat("%",#{params.enterprisename},"%")
+        </if>
+        <if test="params.enterprisenumber != null and params.enterprisenumber  != ''">
+            and e.enterprisenumber  = #{params.enterprisenumber}
+        </if>
+        <if test="params.parententerprisename != null and params.parententerprisename  != ''">
+            and e.parententerprisename like concat("%",#{params.parententerprisename},"%")
+        </if>
+        <if test="params.safetysupervision != null and params.safetysupervision != ''">
+            and e.safetysupervision = #{params.safetysupervision}
+        </if>
+        <if test="params.filterProvince != null and params.filterProvince  != ''">
+            and e.province = #{params.filterProvince}
+        </if>
+        <if test="params.filterCity != null and  params.filterCity  != ''">
+            and e.city = #{params.filterCity}
+        </if>
+        <if test="params.filterDistrict != null and params.filterDistrict  != ''">
+            and e.district = #{params.filterDistrict}
+        </if>
+        <if test="params.filterStreet != null and params.filterStreet  != ''">
+            and e.street = #{params.filterStreet}
+        </if>
+        <if test="params.filterCommittee != null and params.filterCommittee  != ''">
+            and e.committee = #{params.filterCommittee}
+        </if>
+        <if test="params.starttime != null and params.starttime != ''">
+            and sod.createdat &gt;= #{params.starttime}
+        </if>
+        <if test="params.endtime != null and params.endtime != ''">
+            and DATE_FORMAT(sod.createdat,'%Y-%m-%d')  &lt;= #{params.endtime}
+        </if>
+        <if test="params.itemname != null and params.itemname  != ''">
+            and p.name like concat("%",#{params.itemname},"%")
+        </if>
+        <if test="params.itemcode != null and params.itemcode  != ''">
+            and p.directioncode like concat("%",#{params.itemcode},"%")
+        </if>
+        group by p.directioncode
+        ) as a
+        order by salenum desc
+
+    </select>
+    <select id="selectSaleRecord4" resultType="java.util.Map">
+        SELECT
+        so.companynumber,
+        e.province,
+        e.city,
+        e.district,
+        e.enterprisename,
+        cu.idcardnum identify,
+        cu.path,
+        cu.nation,
+        cu.`name` name,
+        count(0) num,
+        sum(sod.returnflag) returnnum,
+        max(sod.createdat) saletime
+        FROM
+        <choose>
+            <when test="params.directioncode != null and params.directioncode != ''">
+                (select so.*
+                from
+                (
+                select a.companynumber,cu.idcardnum,cu.id customerid
+                from saleorderdetail as b
+                left join saleorder as a on b.ordercode = a.code
+                left join customer as cu on cu.id = a.customer
+                where b.directioncode like concat("%",#{params.directioncode},"%")
+                GROUP BY a.companynumber,cu.idcardnum) as m
+                left join saleorder as so on so.companynumber = m.companynumber and so.customer = m.customerid)
+                as so
+            </when>
+            <otherwise>
+                saleorder as so
+            </otherwise>
+        </choose>
+        left join saleorderdetail as sod on so.`code` = sod.ordercode
+        left join customer as cu on cu.id = so.customer
+        left join enterprise as e on e.enterprisenumber = so.companynumber
+        <where>
+        e.validflag = 1
+        and e.enterprisestatus = 'ON'
+            <choose>
+                <when test="params.enterprisenumber != null and params.enterprisenumber != ''">
+                    and (
+                    so.companynumber = #{params.enterprisenumber}
+                    <if test="params.subList != null and params.subList.size() > 0">
+                        <foreach collection="params.subList" item="item" index="index" >
+                            or  so.companynumber = #{item}
+                        </foreach>
+                    </if>
+
+                    )
+
+                </when>
+                <otherwise>
+                    <if test="params.province != null and params.province != ''">
+                        and e.province = #{params.province}
+                    </if>
+                    <if test="params.city != null and params.city != ''">
+                        and e.city = #{params.city}
+                    </if>
+                    <if test="params.district != null and params.district != ''">
+                        and e.district = #{params.district}
+                    </if>
+                    <if test="params.street != null and params.street != ''">
+                        and e.street = #{params.street}
+                    </if>
+                    <if test="params.committee != null and params.committee != ''">
+                        and e.committee = #{params.committee}
+                    </if>
+                </otherwise>
+            </choose>
+            <if test="params.enterprisename != null and params.enterprisename  != ''">
+                and e.enterprisename like concat("%",#{params.enterprisename},"%")
+            </if>
+            <if test="params.parententerprisename != null and params.parententerprisename  != ''">
+                and e.parententerprisename like concat("%",#{params.parententerprisename},"%")
+            </if>
+            <if test="params.starttime != null and params.starttime != ''">
+                and so.createdat &gt;= #{params.starttime}
+            </if>
+            <if test="params.filterProvince != null and params.filterProvince != ''">
+                and e.province = #{params.filterProvince}
+            </if>
+            <if test="params.filterCity != null and params.filterCity != ''">
+                and e.city = #{params.filterCity}
+            </if>
+            <if test="params.filterDistrict != null and params.filterDistrict != ''">
+                and e.district = #{params.filterDistrict}
+            </if>
+            <if test="params.filterStreet != null and params.filterStreet != ''">
+                and e.street = #{params.filterStreet}
+            </if>
+            <if test="params.filterCommittee != null and params.filterCommittee != ''">
+                and e.committee = #{params.filterCommittee}
+            </if>
+            <if test="params.endtime != null and params.endtime != ''">
+                and so.createdat &lt;= #{params.endtime}
+            </if>
+            <if test="params.identify != null and params.identify != ''">
+                and cu.idcardnum like concat("%",#{params.identify},"%")
+            </if>
+            <if test="params.nation != null and params.nation != ''">
+                and cu.nation like concat("%",#{params.nation},"%")
+            </if>
+
+            <if test="params.isNeedUploadPhoto == 1">
+                and cu.nation is null and cu.path is  null
+            </if>
+            <if test="params.isNeedUploadPhoto == -1">
+                and cu.nation is null and cu.path is not null
+            </if>
+
+
+        </where>
+        group by cu.idcardnum,so.companynumber
+        order by max(sod.createdat) DESC
+    </select>
+    <select id="getPurchaseDetailInUnit" resultType="com.gk.firework.Domain.SaleOrderDetailInfo">
+        select
+        sod.*
+        from
+        <choose>
+            <when test="params.directioncode != null and params.directioncode != ''">
+                (select so.*
+                from
+                (
+                select a.companynumber,cu.idcardnum,cu.id customerid
+                from saleorderdetail as b
+                left join saleorder as a on b.ordercode = a.code
+                left join customer as cu on cu.id = a.customer
+                where b.directioncode like concat("%",#{params.directioncode},"%")
+                GROUP BY a.companynumber,cu.idcardnum) as m
+                left join saleorder as so on so.companynumber = m.companynumber and so.customer = m.customerid)
+                as so
+            </when>
+            <otherwise>
+                saleorder as so
+            </otherwise>
+        </choose>
+        left join saleorderdetail sod on so.code = sod.ordercode
+        left join customer cu on cu.id = so.customer
+        where cu.idcardnum = #{params.identify}
+        and so.companynumber= #{params.enterprisenumber}
+        <if test="params.starttime != null and params.starttime != ''">
+            and so.createdat &gt; #{params.starttime}
+        </if>
+        <if test="params.endtime != null and params.endtime != ''">
+            and DATE_FORMAT(so.createdat ,'%Y-%m-%d') &lt;= #{params.endtime}
+        </if>
+    </select>
+    <select id="selectEarlyWarn" resultType="com.gk.firework.Domain.SaleOrderInfo">
+    SELECT
+    saleorder.customer,
+    count(detail.id) as boxnum
+    from saleorder AS saleorder
+    left join saleorderdetail as detail on detail.ordercode = saleorder.code
+    where
+    saleorder.createdat &gt;= #{starttime}
+    and saleorder.createdat &lt;= #{endtime}
+    GROUP BY saleorder.customer
+    HAVING count(detail.id) &gt;= #{min} and count(detail.id) &lt; #{max}
+  </select>
+    <select id="selectAlarm" resultType="com.gk.firework.Domain.SaleOrderInfo">
+    SELECT
+    saleorder.customer,
+    count(detail.id) as boxnum
+    from saleorder AS saleorder
+    left join saleorderdetail as detail on detail.ordercode = saleorder.code
+    where
+    saleorder.createdat &gt;= #{starttime}
+    and saleorder.createdat &lt;= #{endtime}
+    GROUP BY saleorder.customer
+    HAVING count(detail.id) &gt;= #{max}
+  </select>
+    <select id="selectByCustomer" resultType="java.lang.Long">
+    SELECT
+	enterprise.id
+    FROM saleorder AS saleorder
+    LEFT JOIN enterprise on enterprise.enterprisenumber = saleorder.companynumber
+    WHERE
+    saleorder.customer = #{customid}
+    ORDER BY createdat DESC
+    LIMIT 1
+  </select>
+    <select id="selectDailySaleReport" resultMap="DailySaleReportResultMap">
+        SELECT
+        a.itemCode,
+        a.itemName,
+        a.createdat,
+        saleNum,
+        saleAmount,
+        returnNum,
+        returnAmount,
+        saleAmount - returnAmount AS turnover
+        FROM
+        (
+        SELECT
+        detail.itemcode AS itemCode,
+        detail.itemname AS itemName,
+        count( 1 ) AS saleNum,
+        SUM( productprice.price ) AS saleAmount,
+        so.createdat
+        FROM
+        saleorderdetail AS detail
+        LEFT JOIN saleorder AS so ON so.`code` = detail.ordercode
+        LEFT JOIN productprice ON productprice.companynumber = so.companynumber
+        AND productprice.itemcode = detail.itemcode
+        <where>
+            1=1
+            AND so.createdat &gt;= #{condition.startDate}
+            AND so.createdat &lt;= #{condition.endDate}
+            <if test="condition.companynumber != null and condition.companynumber != ''">
+                AND so.companynumber = #{condition.companynumber}
+            </if>
+        </where>
+        GROUP BY
+        detail.itemcode
+        ) a
+        LEFT JOIN (
+        SELECT
+        detail.itemcode AS itemCode,
+        detail.itemname AS itemName,
+        count( 1 ) AS returnNum,
+        SUM( productprice.price ) AS returnAmount,
+        so.createdat
+        FROM
+        saleorderdetail AS detail
+        LEFT JOIN saleorder AS so ON so.`code` = detail.ordercode
+        LEFT JOIN productprice ON productprice.companynumber = so.companynumber
+        AND productprice.itemcode = detail.itemcode
+        <where>
+            1=1
+            AND so.createdat &gt;= #{condition.startDate}
+            AND so.createdat &lt;= #{condition.endDate}
+            <if test="condition.companynumber != null and condition.companynumber != ''">
+                AND so.companynumber = #{condition.companynumber}
+            </if>
+            AND detail.returnflag = 1
+        </where>
+        GROUP BY
+        detail.itemcode
+        ) b ON a.itemCode = b.itemCode
+    </select>
+    <select id="selectDataGrid" resultMap="OrderInfo">
+        select
+        so.id,
+        so.`code`,
+        so.createdat,
+        so.createdby,
+        so.customer,
+        so.idcardnum,
+        so.salesperson,
+        so.shop,
+        so.boxnum,
+        so.totalprice,
+        so.pay,
+        so.`change`,
+        so.`type`,
+        so.returnflag
+        from saleorder as so
+        <where>
+            1=1
+            AND so.createdat &gt;= #{condition.startDate}
+            AND so.createdat &lt;= #{condition.endDate}
+            <if test="condition.companynumber != null and condition.companynumber != ''">
+                AND so.companynumber = #{condition.companynumber}
+            </if>
+            <if test="condition.code != null and condition.code != ''">
+                AND so.code = #{condition.code}
+            </if>
+        </where>
+    </select>
+
+    <select id="selectDetails" resultType="com.gk.firework.Domain.SaleOrderDetailInfo">
+    SELECT
+        sod.id,
+        sod.ordercode,
+        sod.itemcode,
+        sod.itemname,
+        sod.directioncode,
+        sod.price,
+        sod.specification,
+        sod.returnflag
+     from saleorderdetail as  sod
+     where sod.ordercode = #{ordercode}
+  </select>
+    <select id="getEnterpriseSaleDetail" resultType="com.gk.firework.Domain.SaleOrderDetailInfo">
+    SELECT sod.*
+    from saleorderdetail as sod
+    LEFT JOIN saleorder as so on so.code = sod.ordercode
+    LEFT JOIN enterprise AS e ON e.enterprisenumber = so.companynumber
+    where so.companynumber = #{enterpriseNumber}
+    and sod.itemcode = #{itemcode}
+    and sod.createdat &gt;= #{starttime}
+    and sod.createdat &lt;= #{endtime}
+  </select>
+
+    <select id="selectEnterpriseEnterSellStore" resultType="java.util.Map">
+        SELECT
+        a.itemcode,
+        a.itemname,
+        a.salenum,
+        a.boxnumber,
+        round(a.salenum / a.boxnumber,2) boxnum,
+        a.saletime
+        from (
+        SELECT
+        count(sod.directioncode) salenum,
+        p.directioncode itemcode,
+        p.`name` itemname,
+        p.boxnumber,
+        max(sod.createdat) saletime
+        FROM product as p
+        left join saleorderdetail as sod on sod.itemcode = p.directioncode
+        LEFT JOIN saleorder as so on so.code = sod.ordercode
+        LEFT JOIN enterprise AS e ON e.enterprisenumber = so.companynumber
+        where p.isdel = 0
+        <if test="params.enterprisename != null and params.enterprisename  != ''">
+            and e.enterprisename like concat("%",#{params.enterprisename},"%")
+        </if>
+        <if test="params.parententerprisename != null and params.parententerprisename  != ''">
+            and e.parententerprisename like concat("%",#{params.parententerprisename},"%")
+        </if>
+        <if test="params.safetysupervision != null and params.safetysupervision != ''">
+            and e.safetysupervision = #{params.safetysupervision}
+        </if>
+        <if test="params.filterProvince != null and params.filterProvince  != ''">
+            and e.province = #{params.filterProvince}
+        </if>
+        <if test="params.filterCity != null and  params.filterCity  != ''">
+            and e.city = #{params.filterCity}
+        </if>
+        <if test="params.filterDistrict != null and params.filterDistrict  != ''">
+            and e.district = #{params.filterDistrict}
+        </if>
+        <if test="params.filterStreet != null and params.filterStreet  != ''">
+            and e.street = #{params.filterStreet}
+        </if>
+        <if test="params.filterCommittee != null and params.filterCommittee  != ''">
+            and e.committee = #{params.filterCommittee}
+        </if>
+        <if test="params.starttime != null and params.starttime != ''">
+            and sod.createdat &gt;= #{params.starttime}
+        </if>
+        <if test="params.endtime != null and params.endtime != ''">
+            and sod.createdat &lt; #{params.endtime}
+        </if>
+        <if test="params.itemname != null and params.itemname  != ''">
+            and p.name like concat("%",#{params.itemname},"%")
+        </if>
+        <if test="params.itemcode != null and params.itemcode  != ''">
+            and p.directioncode like concat("%",#{params.itemcode},"%")
+        </if>
+        group by p.directioncode
+        ) as a
+        order by salenum desc
+    </select>
+
+    <select id="selectEnterpriseSaleNumber" resultType="decimal">
+        SELECT
+        IFNULL(SUM( salenum ),0)
+        FROM
+        (
+        SELECT
+        count( 1 )/ p.boxnumber AS salenum
+        FROM
+        saleorderdetail AS sod
+        LEFT JOIN saleorder AS so ON so.`code` = sod.ordercode
+        LEFT JOIN product AS p ON p.directioncode = sod.itemcode and p.isdel = 0
+        <where>
+            so.companynumber = #{companyNumber}
+            <if test="starttime != null and starttime != ''">
+                and so.createdat &gt;= #{starttime}
+            </if>
+            <if test="endtime != null and endtime != ''">
+                and so.createdat &lt;= #{endtime}
+            </if>
+        </where>
+        GROUP BY
+        itemcode
+        ) temp
+    </select>
+    <select id="selectCitySaleNumber" resultType="decimal">
+        SELECT
+        IFNULL(SUM(salenum ),0)
+        FROM
+        (
+        SELECT
+        count( 1 )/ p.boxnumber AS salenum
+        FROM
+        saleorderdetail AS sod
+        LEFT JOIN saleorder AS so ON so.`code` = sod.ordercode
+        LEFT JOIN product AS p ON p.directioncode = sod.itemcode and p.isdel = 0
+        LEFT JOIN enterprise AS e ON so.companynumber = e.enterprisenumber
+        <where>
+            e.city = #{city}
+            and e.enterprisestatus = 'ON'
+            and e.validflag = 1
+            <if test="starttime != null and starttime != ''">
+                and so.createdat &gt;= #{starttime}
+            </if>
+            <if test="endtime != null and endtime != ''">
+                and so.createdat &lt;= #{endtime}
+            </if>
+        </where>
+        GROUP BY
+        itemcode
+        ) temp
+    </select>
+    <select id="selectSameOrder" resultMap="BaseResultMap">
+        SELECT
+        saleorder.id,
+        saleorder.`code`,
+        saleorder.createdat,
+        saleorder.createdby,
+        saleorder.customer,
+        saleorder.idcardnum,
+        saleorder.salesperson,
+        saleorder.shop,
+        saleorder.boxnum,
+        saleorder.totalprice,
+        saleorder.pay,
+        saleorder.`change`,
+        saleorder.`type`,
+        saleorder.returnflag
+        FROM
+	    saleorder AS saleorder
+	    LEFT JOIN saleorderdetail AS detail ON saleorder.`code` = detail.ordercode
+	    <where>
+            saleorder.companynumber = #{companyNumber}
+            and saleorder.customer = #{customerId}
+            and saleorder.boxnum = #{num}
+            and detail.directioncode IN
+            <foreach item="item" index="index" collection="list" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </where>
+
+    </select>
+    <select id="selectAllDailySaleReport" resultType="java.util.Map">
+        SELECT
+        count(1) saleNum,
+        IFNULL(SUM(productprice.price),0)   as  saleAmount,
+        count( if(detail.returnflag = 1,1,null)) returnNum,
+        IFNULL(SUM( if(detail.returnflag = 1,productprice.price,null) ),0)   returnAmount
+        FROM
+        saleorderdetail AS detail
+        LEFT JOIN saleorder AS so ON so.`code` = detail.ordercode
+        LEFT JOIN productprice ON productprice.companynumber = so.companynumber
+        AND productprice.itemcode = detail.itemcode
+        <where>
+            1=1
+            AND so.createdat &gt;= #{condition.startDate}
+            AND so.createdat &lt;= #{condition.endDate}
+            <if test="condition.companynumber != null and condition.companynumber != ''">
+                AND so.companynumber = #{condition.companynumber}
+            </if>
+        </where>
+
+    </select>
+    <select id="selectProductSales" resultType="java.util.Map">
+
+        select round(ifnull(sum(saledata.boxnum) ,0),2) sales
+        from (
+            select  p.directioncode,ifnull(count(0)/p.boxnumber,0) boxnum
+            from product as p
+            left join saleorderdetail as sod on p.directioncode = sod.itemcode
+            left join saleorder as so on sod.ordercode = so.code
+            left join enterprise as e on e.enterprisenumber = so.companynumber
+            where p.isdel = 0
+            and e.enterprisestatus = 'ON'
+            and e.validflag = 1
+            <if test="params.enterprisename != null and params.enterprisename  != ''">
+                and e.enterprisename like concat("%",#{params.enterprisename},"%")
+            </if>
+            <if test="params.enterprisenumber != null and params.enterprisenumber  != ''">
+                and e.enterprisenumber  = #{params.enterprisenumber}
+            </if>
+            <if test="params.parententerprisename != null and params.parententerprisename  != ''">
+                and e.parententerprisename like concat("%",#{params.parententerprisename},"%")
+            </if>
+            <if test="params.safetysupervision != null and params.safetysupervision != ''">
+                and e.safetysupervision = #{params.safetysupervision}
+            </if>
+            <if test="params.filterProvince != null and params.filterProvince  != ''">
+                and e.province = #{params.filterProvince}
+            </if>
+            <if test="params.filterCity != null and  params.filterCity  != ''">
+                and e.city = #{params.filterCity}
+            </if>
+            <if test="params.filterDistrict != null and params.filterDistrict  != ''">
+                and e.district = #{params.filterDistrict}
+            </if>
+            <if test="params.filterStreet != null and params.filterStreet  != ''">
+                and e.street = #{params.filterStreet}
+            </if>
+            <if test="params.filterCommittee != null and params.filterCommittee  != ''">
+                and e.committee = #{params.filterCommittee}
+            </if>
+            <if test="params.starttime != null and params.starttime != ''">
+                and sod.createdat &gt;= #{params.starttime}
+            </if>
+            <if test="params.endtime != null and params.endtime != ''">
+                and DATE_FORMAT(sod.createdat,'%Y-%m-%d')  &lt;= #{params.endtime}
+            </if>
+            <if test="params.itemname != null and params.itemname  != ''">
+                and p.name like concat("%",#{params.itemname},"%")
+            </if>
+            <if test="params.itemcode != null and params.itemcode  != ''">
+                and p.directioncode like concat("%",#{params.itemcode},"%")
+            </if>
+            group by p.directioncode
+        ) as saledata
+
+
+    </select>
+    <select id="selectCitySales" resultType="java.math.BigDecimal">
+        select ifnull(sum(saleorder.totalprice),0)/10000 sales
+        from saleorder as saleorder
+        left join enterprise as e on e.enterprisenumber = saleorder.companynumber
+        where e.enterprisestatus = 'ON'
+        and e.validflag = 1
+        and e.city = #{city}
+        <if test="starttime != null and starttime != ''">
+            and saleorder.createdat &gt;= #{starttime}
+        </if>
+        <if test="endtime != null and endtime != ''">
+            and saleorder.createdat &lt;= #{endtime}
+        </if>
+
+    </select>
+    <select id="selectSaleAllPerson" resultType="java.lang.Integer">
+
+    select
+    count(0) num
+    from  (
+        SELECT
+        cu.idcardnum
+        FROM
+        <choose>
+            <when test="params.directioncode != null and params.directioncode != ''">
+                (select so.*
+                from
+                (
+                select a.companynumber,cu.idcardnum,cu.id customerid
+                from saleorderdetail as b
+                left join saleorder as a on b.ordercode = a.code
+                left join customer as cu on cu.id = a.customer
+                where b.directioncode like concat("%",#{params.directioncode},"%")
+                GROUP BY a.companynumber,cu.idcardnum) as m
+                left join saleorder as so on so.companynumber = m.companynumber and so.customer = m.customerid)
+                as so
+            </when>
+            <otherwise>
+                saleorder as so
+            </otherwise>
+        </choose>
+        left join saleorderdetail as sod on so.`code` = sod.ordercode
+        left join customer as cu on cu.id = so.customer
+        left join enterprise as e on e.enterprisenumber = so.companynumber
+        <where>
+            e.validflag = 1
+            and e.enterprisestatus = 'ON'
+            <choose>
+                <when test="params.enterprisenumber != null and params.enterprisenumber != ''">
+                    and (
+                    so.companynumber = #{params.enterprisenumber}
+                    <if test="params.subList != null and params.subList.size() > 0">
+                        <foreach collection="params.subList" item="item" index="index" >
+                            or  so.companynumber = #{item}
+                        </foreach>
+                    </if>
+
+                    )
+
+                </when>
+                <otherwise>
+                    <if test="params.province != null and params.province != ''">
+                        and e.province = #{params.province}
+                    </if>
+                    <if test="params.city != null and params.city != ''">
+                        and e.city = #{params.city}
+                    </if>
+                    <if test="params.district != null and params.district != ''">
+                        and e.district = #{params.district}
+                    </if>
+                    <if test="params.street != null and params.street != ''">
+                        and e.street = #{params.street}
+                    </if>
+                    <if test="params.committee != null and params.committee != ''">
+                        and e.committee = #{params.committee}
+                    </if>
+                </otherwise>
+            </choose>
+            <if test="params.enterprisename != null and params.enterprisename  != ''">
+                and e.enterprisename like concat("%",#{params.enterprisename},"%")
+            </if>
+            <if test="params.parententerprisename != null and params.parententerprisename  != ''">
+                and e.parententerprisename like concat("%",#{params.parententerprisename},"%")
+            </if>
+            <if test="params.starttime != null and params.starttime != ''">
+                and so.createdat &gt;= #{params.starttime}
+            </if>
+            <if test="params.endtime != null and params.endtime != ''">
+                and so.createdat &lt;= #{params.endtime}
+            </if>
+            <if test="params.identify != null and params.identify != ''">
+                and cu.idcardnum like concat("%",#{params.identify},"%")
+            </if>
+            <if test="params.nation != null and params.nation != ''">
+                and cu.nation like concat("%",#{params.nation},"%")
+            </if>
+            <if test="params.isNeedUploadPhoto == 1">
+                and cu.nation is null and cu.path is  null
+            </if>
+            <if test="params.isNeedUploadPhoto == -1">
+                and cu.nation is null and cu.path is not null
+            </if>
+            <if test="params.filterProvince != null and params.filterProvince != ''">
+                and e.province = #{params.filterProvince}
+            </if>
+            <if test="params.filterCity != null and params.filterCity != ''">
+                and e.city = #{params.filterCity}
+            </if>
+            <if test="params.filterDistrict != null and params.filterDistrict != ''">
+                and e.district = #{params.filterDistrict}
+            </if>
+            <if test="params.filterStreet != null and params.filterStreet != ''">
+                and e.street = #{params.filterStreet}
+            </if>
+            <if test="params.filterCommittee != null and params.filterCommittee != ''">
+                and e.committee = #{params.filterCommittee}
+            </if>
+
+
+
+        </where>
+        group by cu.idcardnum
+        ) as res
+
+    </select>
+    <select id="selectAllSaleNum" resultType="java.lang.Integer">
+        SELECT
+        ifnull(sum(1),0)
+        FROM
+        <choose>
+            <when test="params.directioncode != null and params.directioncode != ''">
+                (select so.*
+                from
+                (
+                select a.companynumber,cu.idcardnum,cu.id customerid
+                from saleorderdetail as b
+                left join saleorder as a on b.ordercode = a.code
+                left join customer as cu on cu.id = a.customer
+                where b.directioncode like concat("%",#{params.directioncode},"%")
+                GROUP BY a.companynumber,cu.idcardnum) as m
+                left join saleorder as so on so.companynumber = m.companynumber and so.customer = m.customerid)
+                as so
+            </when>
+            <otherwise>
+                saleorder as so
+            </otherwise>
+        </choose>
+        left join saleorderdetail as sod on so.`code` = sod.ordercode
+        left join customer as cu on cu.id = so.customer
+        left join enterprise as e on e.enterprisenumber = so.companynumber
+        <where>
+            e.validflag = 1
+            and e.enterprisestatus = 'ON'
+            <choose>
+                <when test="params.enterprisenumber != null and params.enterprisenumber != ''">
+                    and (
+                    so.companynumber = #{params.enterprisenumber}
+                    <if test="params.subList != null and params.subList.size() > 0">
+                        <foreach collection="params.subList" item="item" index="index" >
+                            or  so.companynumber = #{item}
+                        </foreach>
+                    </if>
+
+                    )
+
+                </when>
+                <otherwise>
+                    <if test="params.province != null and params.province != ''">
+                        and e.province = #{params.province}
+                    </if>
+                    <if test="params.city != null and params.city != ''">
+                        and e.city = #{params.city}
+                    </if>
+                    <if test="params.district != null and params.district != ''">
+                        and e.district = #{params.district}
+                    </if>
+                    <if test="params.street != null and params.street != ''">
+                        and e.street = #{params.street}
+                    </if>
+                    <if test="params.committee != null and params.committee != ''">
+                        and e.committee = #{params.committee}
+                    </if>
+                </otherwise>
+            </choose>
+            <if test="params.enterprisename != null and params.enterprisename  != ''">
+                and e.enterprisename like concat("%",#{params.enterprisename},"%")
+            </if>
+            <if test="params.parententerprisename != null and params.parententerprisename  != ''">
+                and e.parententerprisename like concat("%",#{params.parententerprisename},"%")
+            </if>
+            <if test="params.starttime != null and params.starttime != ''">
+                and so.createdat &gt;= #{params.starttime}
+            </if>
+            <if test="params.endtime != null and params.endtime != ''">
+                and so.createdat &lt;= #{params.endtime}
+            </if>
+            <if test="params.identify != null and params.identify != ''">
+                and cu.idcardnum like concat("%",#{params.identify},"%")
+            </if>
+            <if test="params.nation != null and params.nation != ''">
+                and cu.nation like concat("%",#{params.nation},"%")
+            </if>
+            <if test="params.isNeedUploadPhoto == 1">
+                and cu.nation is null and cu.path is  null
+            </if>
+            <if test="params.isNeedUploadPhoto == -1">
+                and cu.nation is null and cu.path is not null
+            </if>
+            <if test="params.filterProvince != null and params.filterProvince != ''">
+                and e.province = #{params.filterProvince}
+            </if>
+            <if test="params.filterCity != null and params.filterCity != ''">
+                and e.city = #{params.filterCity}
+            </if>
+            <if test="params.filterDistrict != null and params.filterDistrict != ''">
+                and e.district = #{params.filterDistrict}
+            </if>
+            <if test="params.filterStreet != null and params.filterStreet != ''">
+                and e.street = #{params.filterStreet}
+            </if>
+            <if test="params.filterCommittee != null and params.filterCommittee != ''">
+                and e.committee = #{params.filterCommittee}
+            </if>
+
+
+        </where>
+
+
+    </select>
+    <select id="selectAllReturnNum" resultType="java.lang.Integer">
+        SELECT
+        ifnull( sum(sod.returnflag) ,0)
+        FROM
+        <choose>
+            <when test="params.directioncode != null and params.directioncode != ''">
+                (select so.*
+                from
+                (
+                select a.companynumber,cu.idcardnum,cu.id customerid
+                from saleorderdetail as b
+                left join saleorder as a on b.ordercode = a.code
+                left join customer as cu on cu.id = a.customer
+                where b.directioncode like concat("%",#{params.directioncode},"%")
+                GROUP BY a.companynumber,cu.idcardnum) as m
+                left join saleorder as so on so.companynumber = m.companynumber and so.customer = m.customerid)
+                as so
+            </when>
+            <otherwise>
+                saleorder as so
+            </otherwise>
+        </choose>
+        left join saleorderdetail as sod on so.`code` = sod.ordercode
+        left join customer as cu on cu.id = so.customer
+        left join enterprise as e on e.enterprisenumber = so.companynumber
+        <where>
+            e.validflag = 1
+            and e.enterprisestatus = 'ON'
+            <choose>
+                <when test="params.enterprisenumber != null and params.enterprisenumber != ''">
+                    and (
+                    so.companynumber = #{params.enterprisenumber}
+                    <if test="params.subList != null and params.subList.size() > 0">
+                        <foreach collection="params.subList" item="item" index="index" >
+                            or  so.companynumber = #{item}
+                        </foreach>
+                    </if>
+
+                    )
+
+                </when>
+                <otherwise>
+                    <if test="params.province != null and params.province != ''">
+                        and e.province = #{params.province}
+                    </if>
+                    <if test="params.city != null and params.city != ''">
+                        and e.city = #{params.city}
+                    </if>
+                    <if test="params.district != null and params.district != ''">
+                        and e.district = #{params.district}
+                    </if>
+                    <if test="params.street != null and params.street != ''">
+                        and e.street = #{params.street}
+                    </if>
+                    <if test="params.committee != null and params.committee != ''">
+                        and e.committee = #{params.committee}
+                    </if>
+                </otherwise>
+            </choose>
+            <if test="params.enterprisename != null and params.enterprisename  != ''">
+                and e.enterprisename like concat("%",#{params.enterprisename},"%")
+            </if>
+            <if test="params.parententerprisename != null and params.parententerprisename  != ''">
+                and e.parententerprisename like concat("%",#{params.parententerprisename},"%")
+            </if>
+            <if test="params.starttime != null and params.starttime != ''">
+                and so.createdat &gt;= #{params.starttime}
+            </if>
+            <if test="params.endtime != null and params.endtime != ''">
+                and so.createdat &lt;= #{params.endtime}
+            </if>
+            <if test="params.identify != null and params.identify != ''">
+                and cu.idcardnum like concat("%",#{params.identify},"%")
+            </if>
+            <if test="params.nation != null and params.nation != ''">
+                and cu.nation like concat("%",#{params.nation},"%")
+            </if>
+            <if test="params.isNeedUploadPhoto == 1">
+                and cu.nation is null and cu.path is  null
+            </if>
+            <if test="params.isNeedUploadPhoto == -1">
+                and cu.nation is null and cu.path is not null
+            </if>
+            <if test="params.filterProvince != null and params.filterProvince != ''">
+                and e.province = #{params.filterProvince}
+            </if>
+            <if test="params.filterCity != null and params.filterCity != ''">
+                and e.city = #{params.filterCity}
+            </if>
+            <if test="params.filterDistrict != null and params.filterDistrict != ''">
+                and e.district = #{params.filterDistrict}
+            </if>
+            <if test="params.filterStreet != null and params.filterStreet != ''">
+                and e.street = #{params.filterStreet}
+            </if>
+            <if test="params.filterCommittee != null and params.filterCommittee != ''">
+                and e.committee = #{params.filterCommittee}
+            </if>
+
+
+        </where>
+    </select>
+</mapper>

--
Gitblit v1.9.2