123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313 |
- <?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.kmall.schedule.dao.SalesDetailMapper">
- <!-- 抓取订单销售明细数据-->
- <select id="querySalesSystemFormatList" resultType="com.kmall.schedule.entity.NewSystemFormatEntiy">
- SELECT distinct
- o.id,
- g.goods_id,
- o.order_sn as receiptNo,
- u.username as cashRegisterNo,
- o.create_time as timeStampDetails,
- u.username as staffID,
- u.username as staffName,
- gs.hs_code as hsCode,
- gs.hs_code_name as hsCodeName,
- gs.goods_sn as ematouCode,
- gs.plu as plu,
- gs.mychem_id as mychemID,
- gs.english_name as productNameEN,
- gs.name as productNameCN,
- gs.prod_barcode as barcode,
- gs.ciq_prod_model as packSize,
- gs.goods_number as goodsNumber,
- uc.name as productSpecification,
- b.name as brand,
- gs.daily_price as edlp,
- sr.bottom_line_price as costPrice,
- sr.bottom_line_price*gs.goods_number as primeCost,
- g.number as unitSold,
- g.actual_payment_amount as totalSalesInclTax,
- gs.goods_rate as taxRate,
- '专柜单品' as productCategory,
- sup.child_supplier_name as supplierName,
- '300' as orderStatus,
- g.tax_price as taxPrice,
- s.store_name as storeName,
- s.store_number as storeNameSn,
- o.pay_flag as payFlag,
- o.pay_transaction_id as orderSnWx,
- o.ali_trade_no as orderSnAli
- FROM
- mall_order o
- LEFT JOIN mall_order_goods g ON o.id = g.order_id
- left join mall_store s on o.store_id = s.id
- LEFT JOIN mall_goods gs ON g.goods_id = gs.id
- left join mall_sale_record record on record.order_sn = o.order_sn
- LEFT JOIN sys_user u ON record.saller_id = u.user_id
- left join sys_cus_unit_code uc on uc.code = gs.unit_code
- left join mall_product_store_rela sr on sr.goods_id=gs.id and sr.store_id = o.store_id
- left join mall_brand b on b.id=sr.brand_id
- left join mall_supplier sup on gs.supplier_id = sup.id
- WHERE 1=1
- <if test="orderSn != null and orderSn.trim() != ''">
- AND o.order_sn LIKE concat('%',#{orderSn},'%')
- </if>
- <choose>
- <when test="orderStatus != null and orderStatus.trim() != ''">
- AND o.order_status = #{orderStatus}
- </when>
- <otherwise>
- AND o.order_status in ('401','300')
- </otherwise>
- </choose>
- <if test="isOnfiilineOrder != null">
- AND o.is_onffline_order = #{isOnfiilineOrder}
- </if>
- <if test="startTime != null and startTime != ''">
- AND o.add_time <![CDATA[ > ]]> STR_TO_DATE(#{startTime}, '%Y-%m-%d %H:%i:%s')
- </if>
- <if test="endTime != null and endTime != ''">
- AND o.add_time <![CDATA[ < ]]> STR_TO_DATE(#{endTime}, '%Y-%m-%d %H:%i:%s')
- </if>
- <if test="storeName != null and storeName != ''">
- AND s.store_name LIKE concat('%',#{storeName},'%')
- </if>
- union
- SELECT distinct
- o.id,
- g.goods_id,
- o.order_sn as receiptNo,
- u.username as cashRegisterNo,
- mor.create_time as timeStampDetails,
- u.username as staffID,
- u.username as staffName,
- gs.hs_code as hsCode,
- gs.hs_code_name as hsCodeName,
- gs.goods_sn as ematouCode,
- gs.plu as plu,
- gs.mychem_id as mychemID,
- gs.english_name as productNameEN,
- gs.name as productNameCN,
- gs.prod_barcode as barcode,
- gs.ciq_prod_model as packSize,
- gs.goods_number as goodsNumber,
- uc.name as productSpecification,
- b.name as brand,
- gs.daily_price as edlp,
- sr.bottom_line_price as costPrice,
- sr.bottom_line_price*gs.goods_number as primeCost,
- g.number as unitSold,
- g.actual_payment_amount as totalSalesInclTax,
- gs.goods_rate as taxRate,
- '专柜单品' as productCategory,
- sup.child_supplier_name as supplierName,
- o.order_status as orderStatus,
- g.tax_price as taxPrice,
- s.store_name as storeName,
- s.store_number as storeNameSn,
- o.pay_flag as payFlag,
- o.pay_transaction_id as orderSnWx,
- o.ali_trade_no as orderSnAli
- FROM
- mall_order o
- LEFT JOIN mall_order_goods g ON o.id = g.order_id
- left join mall_store s on o.store_id = s.id
- LEFT JOIN mall_goods gs ON g.goods_id = gs.id
- left join mall_sale_record record on record.order_sn = o.order_sn
- LEFT JOIN sys_user u ON record.saller_id = u.user_id
- left join sys_cus_unit_code uc on uc.code = gs.unit_code
- left join mall_product_store_rela sr on sr.goods_id=gs.id and sr.store_id = o.store_id
- left join mall_brand b on b.id=sr.brand_id
- left join mall_supplier sup on gs.supplier_id = sup.id
- left join mall_order_refund mor on mor.out_refund_no = o.order_sn
- WHERE 1=1
- <if test="orderSn != null and orderSn.trim() != ''">
- AND o.order_sn LIKE concat('%',#{orderSn},'%')
- </if>
- <choose>
- <when test="orderStatus != null and orderStatus.trim() != ''">
- AND o.order_status = #{orderStatus}
- </when>
- <otherwise>
- AND o.order_status = '401'
- </otherwise>
- </choose>
- <if test="isOnfiilineOrder != null">
- AND o.is_onffline_order = #{isOnfiilineOrder}
- </if>
- <if test="startTime != null and startTime != ''">
- AND mor.create_time <![CDATA[ > ]]> STR_TO_DATE(#{startTime}, '%Y-%m-%d %H:%i:%s')
- </if>
- <if test="endTime != null and endTime != ''">
- AND mor.create_time <![CDATA[ < ]]> STR_TO_DATE(#{endTime}, '%Y-%m-%d %H:%i:%s')
- </if>
- <if test="storeName != null and storeName != ''">
- AND s.store_name LIKE concat('%',#{storeName},'%')
- </if>
- </select>
- <!--记录推送数据-->
- <insert id="writebackSalesDet" parameterType="com.kmall.schedule.entity.NewSystemFormatEntiy">
- insert into mall_sales_detail_data_log
- <trim prefix="(" suffix=")" suffixOverrides=",">
- <if test="merchSn != null">merch_sn,</if>
- <if test="merchSnName != null">merch_sn_name,</if>
- <if test="thirdMerchSn != null">third_merch_sn,</if>
- <if test="thirdMerchSnName != null">third_merch_sn_name,</if>
- <if test="receiptNo != null">receipt_no,</if>
- <if test="storeName != null">store_name,</if>
- <if test="storeNameSn != null">store_name_sn,</if>
- <if test="cashRegisterNo != null">ash_register_no,</if>
- <if test="timeStampDetails != null">time_stamp,</if>
- <if test="staffID != null">staff_id,</if>
- <if test="staffName != null">staff_name,</if>
- <if test="payFlag != null">pay_flag,</if>
- <if test="orderStatus != null">order_status,</if>
- <if test="orderSnWx != null">order_sn_wx,</if>
- <if test="orderSnAli != null">order_sn_ali,</if>
- <if test="hsCode != null">hs_code,</if>
- <if test="hsCodeName != null">hs_code_name,</if>
- <if test="ematouCode != null">ematou_code,</if>
- <if test="plu != null">plu,</if>
- <if test="mychemID != null">mychem_id,</if>
- <if test="productNameEN != null">product_name_en,</if>
- <if test="productNameCN != null">product_name_cn,</if>
- <if test="barcode != null">barcode,</if>
- <if test="packSize != null">pack_size,</if>
- <if test="productSpecification != null">product_spec,</if>
- <if test="brand != null">brand,</if>
- <if test="edlp != null">edlp,</if>
- <if test="currentPrice != null">current_price,</if>
- <if test="costPrice != null">cost_price,</if>
- <if test="taxRate != null">tax_rate,</if>
- <if test="productCategory != null">product_category,</if>
- <if test="supplierName != null">supplier_name,</if>
- <if test="transactionType != null">transaction_type,</if>
- <if test="saleReturnType != null">sale_return_type,</if>
- <if test="salesDetStatus != null">det_status,</if>
- <if test="salesDetMsg != null">det_msg,</if>
- det_date
- </trim>
- <trim prefix="values (" suffix=")" suffixOverrides=",">
- <if test="merchSn != null">#{merchSn},</if>
- <if test="merchSnName != null">#{merchSnName},</if>
- <if test="thirdMerchSn != null">#{thirdMerchSn},</if>
- <if test="thirdMerchSnName != null">#{thirdMerchSnName},</if>
- <if test="receiptNo != null">#{receiptNo},</if>
- <if test="storeName != null">#{storeName},</if>
- <if test="storeNameSn != null">#{storeNameSn},</if>
- <if test="cashRegisterNo != null">#{cashRegisterNo},</if>
- <if test="timeStampDetails != null">#{timeStampDetails},</if>
- <if test="staffID != null">#{staffID},</if>
- <if test="staffName != null">#{staffName},</if>
- <if test="payFlag != null">#{payFlag},</if>
- <if test="orderStatus != null">#{orderStatus},</if>
- <if test="orderSnWx != null">#{orderSnWx},</if>
- <if test="orderSnAli != null">#{orderSnAli},</if>
- <if test="hsCode != null">#{hsCode},</if>
- <if test="hsCodeName != null">#{hsCodeName},</if>
- <if test="ematouCode != null">#{ematouCode},</if>
- <if test="plu != null">#{plu},</if>
- <if test="mychemID != null">#{mychemID},</if>
- <if test="productNameEN != null">#{productNameEN},</if>
- <if test="productNameCN != null">#{productNameCN},</if>
- <if test="barcode != null">#{barcode},</if>
- <if test="packSize != null">#{packSize},</if>
- <if test="productSpecification != null">#{productSpecification},</if>
- <if test="brand != null">#{brand},</if>
- <if test="edlp != null">#{edlp},</if>
- <if test="currentPrice != null">#{currentPrice},</if>
- <if test="costPrice != null">#{costPrice},</if>
- <if test="taxRate != null">#{taxRate},</if>
- <if test="productCategory != null">#{productCategory},</if>
- <if test="supplierName != null">#{supplierName},</if>
- <if test="transactionType != null">#{transactionType},</if>
- <if test="saleReturnType != null">#{saleReturnType},</if>
- <if test="salesDetStatus != null">#{salesDetStatus},</if>
- <if test="salesDetMsg != null">#{salesDetMsg},</if>
- sysdate()
- </trim>
- </insert>
- <!-- 根据key,查询value -->
- <select id="querySalesByKey" parameterType="string" resultType="string">
- select value from sys_config where `key` = #{key}
- </select>
- <!-- 查询商户名称和第三方商户信息-->
- <select id="queryMerch" parameterType="java.lang.String" resultType="com.kmall.schedule.entity.NewSystemFormatEntiy">
- SELECT
- mall.merch_name as merchSnName,
- biz.third_party_merch_code as thirdMerchSn,
- biz.third_party_merch_name as thirdMerchSnName
- FROM
- mall_merch mall
- LEFT JOIN third_merchant_biz biz ON mall.merch_sn = biz.merch_sn
- WHERE
- mall.merch_sn = #{merchSn}
- </select>
- <!--数据重推-->
- <select id="querySalesAgain" parameterType="java.util.Map" resultType="com.kmall.schedule.entity.NewSystemFormatEntiy">
- SELECT
- merch_sn,
- merch_sn_name,
- third_merch_sn,
- third_merch_sn_name,
- receipt_no,
- store_name,
- store_name_sn,
- ash_register_no,
- time_stamp,
- staff_id,
- staff_name,
- pay_flag,
- order_status,
- order_sn_wx,
- order_sn_ali,
- hs_code,
- hs_code_name,
- ematou_code,
- plu,
- mychem_id,
- product_name_en,
- product_name_cn,
- barcode,
- pack_size,
- product_spec,
- brand,
- edlp,
- current_price,
- cost_price,
- tax_rate,
- product_category,
- supplier_name,
- transaction_type,
- sale_return_type,
- remark
- FROM
- mall_sales_detail_data_log
- WHERE
- <if test="startTime != null and startTime != ''">
- det_date > STR_TO_DATE(#{startTime}, '%Y-%m-%d %H:%i:%s')
- </if>
- <if test="endTime != null and endTime != ''">
- AND time_stamp <= STR_TO_DATE(#{endTime}, '%Y-%m-%d %H:%i:%s')
- </if>
- AND det_status = 2
- </select>
- </mapper>
|