| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221 |
- <?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.zhongzheng.modules.order.mapper.OrderInvoiceMapper">
- <resultMap type="com.zhongzheng.modules.order.domain.OrderInvoice" id="OrderInvoiceResult">
- <result property="invoiceId" column="invoice_id"/>
- <result property="type" column="type"/>
- <result property="invoiceTitle" column="invoice_title"/>
- <result property="email" column="email"/>
- <result property="periodStatus" column="period_status"/>
- <result property="subject" column="subject"/>
- <result property="userId" column="user_id"/>
- <result property="taxRegistryNumber" column="tax_registry_number"/>
- <result property="createTime" column="create_time"/>
- <result property="updateTime" column="update_time"/>
- <result property="status" column="status"/>
- <result property="invoiceStatus" column="invoice_status"/>
- <result property="amount" column="amount"/>
- <result property="invoiceCode" column="invoice_code"/>
- <result property="uploadInvoice" column="upload_invoice"/>
- <result property="sendInvoice" column="send_invoice"/>
- <result property="trackingNum" column="tracking_num"/>
- <result property="makeOutTime" column="make_out_time"/>
- <result property="applyTime" column="apply_time"/>
- <result property="invoiceImg" column="invoice_img"/>
- <result property="periodReason" column="period_reason"/>
- <result property="companyAddress" column="company_address"/>
- <result property="phone" column="phone"/>
- <result property="bankName" column="bank_name"/>
- <result property="bankAccount" column="bank_account"/>
- <result property="receivingAddress" column="receiving_address"/>
- <result property="receivingName" column="receiving_name"/>
- <result property="receivingTel" column="receiving_tel"/>
- <result property="invoiceNum" column="invoice_num"/>
- <result property="periodTime" column="period_time"/>
- </resultMap>
- <resultMap type="com.zhongzheng.modules.order.vo.OrderInvoiceVo" id="OrderInvoiceVoResult">
- <result property="invoiceId" column="invoice_id"/>
- <result property="type" column="type"/>
- <result property="invoiceTitle" column="invoice_title"/>
- <result property="email" column="email"/>
- <result property="periodStatus" column="period_status"/>
- <result property="subject" column="subject"/>
- <result property="userId" column="user_id"/>
- <result property="taxRegistryNumber" column="tax_registry_number"/>
- <result property="status" column="status"/>
- <result property="invoiceStatus" column="invoice_status"/>
- <result property="amount" column="amount"/>
- <result property="invoiceCode" column="invoice_code"/>
- <result property="uploadInvoice" column="upload_invoice"/>
- <result property="sendInvoice" column="send_invoice"/>
- <result property="trackingNum" column="tracking_num"/>
- <result property="makeOutTime" column="make_out_time"/>
- <result property="applyTime" column="apply_time"/>
- <result property="invoiceImg" column="invoice_img"/>
- <result property="periodReason" column="period_reason"/>
- <result property="companyAddress" column="company_address"/>
- <result property="phone" column="phone"/>
- <result property="bankName" column="bank_name"/>
- <result property="bankAccount" column="bank_account"/>
- <result property="receivingAddress" column="receiving_address"/>
- <result property="receivingName" column="receiving_name"/>
- <result property="receivingTel" column="receiving_tel"/>
- <result property="idCard" column="id_card" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
- <result property="realname" column="realname"/>
- <result property="invoiceNum" column="invoice_num"/>
- <result property="periodTime" column="period_time"/>
- <collection property="orderList" column="invoice_id" select="findOrderList"/>
- </resultMap>
- <resultMap type="com.zhongzheng.modules.order.vo.OrderGoodsVo" id="GoodsListResult">
- <result property="orderSn" column="order_sn"/>
- <result property="goodsName" column="goods_name"/>
- <result property="goodsRealPrice" column="goods_real_price"/>
- </resultMap>
- <select id="findOrderList" resultMap="GoodsListResult">
- SELECT
- og.order_sn,
- g.goods_name,
- og.goods_real_price
- FROM
- order_invoice_order oio
- LEFT JOIN order_goods og ON oio.order_goods_id = og.order_goods_id
- LEFT JOIN goods g ON og.goods_id = g.goods_id
- WHERE
- oio.invoice_id = #{invoice_id}
- </select>
- <select id="selectListByBo" parameterType="com.zhongzheng.modules.order.bo.OrderInvoiceQueryBo" resultMap="OrderInvoiceVoResult">
- SELECT
- oi.*,u.id_card,u.realname
- FROM
- order_invoice oi LEFT JOIN `user` u on oi.user_id = u.user_id
- where 1=1 and oi.`status` != -1 and oi.`invoice_type` = 1
- <if test="type != null and type != ''">
- AND oi.type = #{type}
- </if>
- <if test="periodStatus != null and periodStatus != ''">
- AND oi.period_status = #{periodStatus}
- </if>
- <if test="invoiceStatus != null and invoiceStatus != ''">
- AND oi.invoice_status = #{invoiceStatus}
- </if>
- <if test="subject != null and subject != ''">
- AND oi.subject = #{subject}
- </if>
- <if test="userId != null and userId != ''">
- AND oi.user_id = #{userId}
- </if>
- <if test="applyStartTime != null and applyStartTime != ''">
- AND oi.apply_time >= #{applyStartTime}
- </if>
- <if test="applyEndTime != null and applyEndTime != ''">
- AND #{applyStartTime} >= oi.apply_time
- </if>
- <if test="searchKey != null and searchKey != ''">
- and (
- u.realname like concat('%', #{searchKey}, '%')
- or u.id_card like concat('%', #{searchKey}, '%')
- or oi.invoice_code like concat('%', #{searchKey}, '%')
- or (SELECT COUNT(oio.id) FROM order_invoice_order oio
- LEFT JOIN order_goods og ON oio.order_goods_id = og.order_goods_id WHERE oio.invoice_id = oi.invoice_id AND og.order_sn = #{searchKey}) > 0
- )
- </if>
- ORDER BY oi.invoice_id DESC
- </select>
- <select id="checkHave" parameterType="Long" resultType="Long">
- SELECT
- count(*)
- FROM
- order_invoice oi
- LEFT JOIN order_invoice_order oio ON oi.invoice_id = oio.invoice_id
- WHERE
- oio.order_goods_id = #{orderGoodsId}
- AND oi.period_status != 2 and oi.`status` = 1
- </select>
- <select id="listCompanyOrderInvoice" parameterType="com.zhongzheng.modules.order.bo.CompanyOrderInvoiceBo"
- resultType="com.zhongzheng.modules.order.vo.CompanyOrderInvoiceVo">
- SELECT
- oi.invoice_id,
- CASE
- WHEN oi.period_status = 1 THEN
- 1
- WHEN oi.period_status = 2 THEN
- 3
- WHEN oi.invoice_status = 2 THEN
- 2 ELSE 0
- END invoiceStatus,
- oi.apply_time AS applyTime,
- oi.make_out_time AS invoiceTime,
- oh.handle_order_sn AS orderSn,
- oi.amount AS invoicePrice,
- oi.type,
- oi.invoice_title,
- oi.`subject`,
- oi.tax_registry_number,
- oi.invoice_remark as remark,
- oi.consignee,
- oi.shipping_address,
- oi.email,
- oi.`status`,
- oi.invoice_mode,
- oi.open_remark,
- oi.wash_status,
- oi.handle_remark
- FROM
- order_invoice oi
- LEFT JOIN order_invoice_order oio ON oi.invoice_id = oio.invoice_id
- LEFT JOIN order_handle oh ON oio.order_sn = oh.handle_order_sn
- LEFT JOIN `user` u ON oh.create_user_id = u.user_id
- WHERE
- oi.invoice_type = 2
- <if test="goodsType != null and goodsType != ''">
- AND oh.goods_type = #{goodsType}
- </if>
- <if test="educationTypeId != null and educationTypeId != ''">
- AND oh.education_type_id = #{goodsType}
- </if>
- <if test="businessId != null and businessId != ''">
- AND oh.business_id = #{businessId}
- </if>
- <if test="invoiceStatus != null and invoiceStatus == 1">
- AND oi.period_status = 1
- </if>
- <if test="invoiceStatus != null and invoiceStatus == 2">
- AND oi.invoice_status = 2
- </if>
- <if test="invoiceStatus != null and invoiceStatus == 3">
- AND oi.period_status = 2
- </if>
- <if test="washStatus != null">
- AND oi.wash_status = #{washStatus}
- </if>
- <if test="invoiceMode != null">
- AND INSTR( oi.invoice_mode, #{invoiceMode})
- </if>
- <if test="keyword != null and keyword != ''">
- AND ( oio.order_sn = #{keyword} OR u.realname like concat('%', #{keyword}, '%') OR u.id_card = #{keyword,typeHandler=com.zhongzheng.common.type.EncryptHandler} )
- </if>
- ORDER BY oi.create_time DESC
- </select>
- <select id="listWashInvoice" parameterType="map" resultType="com.zhongzheng.modules.order.domain.OrderInvoice">
- SELECT
- oi.*
- FROM
- order_invoice_order oio
- LEFT JOIN order_invoice oi ON oio.invoice_id = oi.invoice_id
- WHERE
- oio.order_sn = #{orderSn}
- AND oio.invoice_id != #{invoiceId}
- AND oi.wash_status = 1
- </select>
- </mapper>
|