<?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.dxhy.core.dao.BbfpzhslDao" >
<resultMap id= "BaseResultMap"
type="com.dxhy.core.model.BbfpzhslcxRespVO">
<result column= "invoiceCode" property= "invoiceCode" />
<result column= "invoiceNo" property= "invoiceNo" />
<result column= "invoiceType" property= "invoiceType" />
<result column= "invoiceAmount" property= "invoiceAmount" />
<result column= "taxAmount" property= "taxAmount" />
<result column= "taxRate" property= "sl" />
<result column= "inaccount_status" property= "inAccountStatus" />
</resultMap>
<select id= "selectByPramsMap" parameterType= "java.util.Map"
resultMap="BaseResultMap" databaseId="mysql">
select
t.invoice_code invoiceCode,
t.invoice_no invoiceNo,
t.invoice_type invoiceType,
case when tdis.detail_amount is null then t.invoice_amount else tdis.detail_amount end as invoiceAmount,
case when tdis.tax_amount is null then t.tax_amount else tdis.tax_amount end as taxAmount,
tdis.tax_rate taxRate,
t.inaccount_status
from t_dx_record_invoice t
left join dxhy_detail.t_dx_record_invoice_detail tdis
<!-- on t.invoice_code = tdis.invoice_code and t.invoice_no = tdis.invoice_no -->
on t.uuid = tdis.uuid
where
t.invoice_date between #{kpksrq} and #{kpjsrq}
and t.company = #{company}
and t.gf_tax_no in
<foreach collection= "gfsh" index= "index" item= "item" open= "(" separator= "," close= ")" >
#{item}
</foreach>
<if test= "companyCode != null and companyCode != '' and companyCode != 'null' and companyCode == '99'" >
and (t.comp_code in
<foreach collection= "companyCodes" index= "index" item= "companyCode" separator= "," open= "(" close= ")" >
#{companyCode}
</foreach>
or t.comp_code is null or t.comp_code = ''
)
</if>
<if test= "companyCode != null and companyCode != '99' and companyCode != '88' and companyCode != '' and companyCode != 'null'" >
and t.comp_code = #{companyCode}
</if>
<if test= "companyCode != null and companyCode != '' and companyCode == '88'" >
and (t.comp_code = '' or t.comp_code is null)
</if>
<if test= "bzdh != null and bzdh != '' and bzdh != 'null'" >
and t.bzdh = #{bzdh}
</if>
<if test= "bzr != null and bzr != '' and bzr != 'null'" >
and t.bzr like concat('%',#{bzr},'%')
</if>
<if test= "inAccountStatus != null and inAccountStatus != '' and inAccountStatus != 'null' and inAccountStatus != '99' and inAccountStatus == '1'.toString()" >
and t.inaccount_status = #{inAccountStatus}
</if>
<if test= "inAccountStatus != null and inAccountStatus != '' and inAccountStatus != 'null' and inAccountStatus != '99' and inAccountStatus == '0'.toString()" >
and (t.inaccount_status = '0' or t.inaccount_status = '' or t.inaccount_status is null)
</if>
<if
test="invoiceStatus != null and invoiceStatus != '' and invoiceStatus != 'null' and invoiceStatus != '99'">
and t.invoice_status = #{invoiceStatus}
</if>
<if test= "qszt != null and qszt != '' and qszt != 'null' and qszt != '99'" >
and t.qs_status = #{qszt}
</if>
<if test= "voucherNumber != null and voucherNumber != ''" >
and t.voucher_number like concat('%',concat(#{voucherNumber},'%'))
</if>
<if test= "rzzt != null and rzzt != '' and rzzt != 'null' and rzzt != '99'" >
and t.rzh_yesorno = #{rzzt}
</if>
<if
test="invoiceType != null and invoiceType != '' and invoiceType != 'null' and invoiceType != '99'">
and t.invoice_type = #{invoiceType}
</if>
<if test= "invoiceSource != null and invoiceSource != '' and invoiceSource != 'null' and invoiceSource != '99' " >
and t.invoice_source = #{invoiceSource}
</if>
<if
test="fprzfs != null and fprzfs != '' and fprzfs != 'null' and fprzfs != '99'">
and t.rzh_type = #{fprzfs}
</if>
<if
test="fprzclzt != null and fprzclzt != '' and fprzclzt != 'null' and fprzclzt != '99'">
and t.auth_status = #{fprzclzt}
</if>
<if test= "rzlx != null and rzlx != '' and rzlx != 'null' and rzlx != '99'" >
and t.bdk_status = #{rzlx}
</if>
<if test= "xfmc != null and xfmc != '' and xfmc != 'null' " >
and t.xf_name like CONCAT(#{xfmc},'%')
</if>
<if test= "xfsh != null and xfsh != '' and xfsh != 'null' " >
and SUBSTR(t.xf_tax_no , -6) = #{xfsh}
</if>
<if test= "amountMin!=null and amountMin!=''" >
and t.invoice_amount > = #{amountMin}
</if>
<if test= "amountMax!=null and amountMax!=''" >
and t.invoice_amount < = #{amountMax}
</if>
<if test= "taxAmountMin!=null and taxAmountMin!=''" >
and t.tax_amount > = #{taxAmountMin}
</if>
<if test= "taxAmountMax!=null and taxAmountMax!=''" >
and t.tax_amount < = #{taxAmountMax}
</if>
<if test= "qsr != null and qsr != '' and qsr != 'null' " >
and t.qs_name = #{qsr}
</if>
<if test= "rzhr != null and rzhr != '' and rzhr != 'null' " >
and t.confirm_user like CONCAT(#{rzhr},'%')
</if>
<if test= "settlementNo != null and settlementNo != ''" >
and t.settlement_no like concat(#{settlementNo},'%')
</if>
<if test= "glzt != null and glzt != '' and glzt != 'null' and glzt != '99'" >
and t.glzt = #{glzt}
</if>
<if test= "invoiceNo != null and invoiceNo != '' and invoiceNo != 'null' " >
and t.invoice_no = #{invoiceNo}
</if>
<if test= "rzksrq != null and rzjsrq != null and rzksrq != '' and rzjsrq != ''" >
and t.rzh_date between #{rzksrq} and #{rzjsrq}
</if>
<if test= "skssq != null and skssq != '' and skssq != 'null' " >
and t.rzh_belong_date = #{skssq}
</if>
<if test= "qsfs != null and qsfs != '' and qsfs != 'null' and qsfs != '99'" >
and t.qs_type = #{qsfs}
</if>
<if test= "qsksrq != null and qsjsrq != null and qsksrq != '' and qsjsrq != ''" >
and t.qs_date between #{qsksrq} and #{qsjsrq}
</if>
<if
test="businessCode != '99' and businessCode != null and businessCode != '' and businessCode != 'null' ">
and t.dept_id = #{businessCode}
</if>
<if test= "businessCode==''" >
and (t.dept_id is null or t.dept_id='' or t.dept_id='99')
</if>
<if test= 'businessCode == "99" and business!=null and business.size()>0' >
and (t.dept_id in
<foreach collection= "business" index= "index" item= "item" open= "(" separator= "," close= "" >
#{item.businessCode}
</foreach>
) or (t.dept_id is null or t.dept_id='' or t.dept_id='99'))
</if>
<!-- <if test='inAccountStatus!=null and inAccountStatus != "" and inAccountStatus != "99"'> -->
<!-- and t.in_account_status = #{inAccountStatus} -->
<!-- </if> -->
<if test= "snVoucherNumber != null and snVoucherNumber != '' and snVoucherNumber != 'null' and snVoucherNumber != '99'" >
and t.sn_voucher_number = #{snVoucherNumber}
</if>
<if test= "postingTimeStart != null and postingTimeStart != '' and postingTimeStart != 'null' and postingTimeStart != '99' and postingTimeEnd != null and postingTimeEnd != '' and postingTimeEnd != 'null' and postingTimeEnd != '99'" >
and posting_time between #{postingTimeStart} and #{postingTimeEnd}
</if>
<if test= "imageNumber != null and imageNumber != '' and imageNumber != 'null' and imageNumber != '99'" >
and t.image_id = #{imageNumber}
</if>
<if test= "accountPeriod != null and accountPeriod != '' and accountPeriod != 'null' and accountPeriod != '99'" >
and t.account_period = #{accountPeriod}
</if>
</select>
<select id= "selectByPramsMap" parameterType= "java.util.Map"
resultMap="BaseResultMap" databaseId="oracle">
select
t.invoice_code invoiceCode,
t.invoice_no invoiceNo,
t.invoice_type invoiceType,
tdis.detail_amount invoiceAmount,
tdis.tax_amount taxAmount,
tdis.tax_rate taxRate,
t.in_account_status
from t_dx_record_invoice t
left join t_dx_record_invoice_statistics tdis
<!-- on t.invoice_code = tdis.invoice_code and t.invoice_no = tdis.invoice_no -->
on t.invoice_no = tdis.invoice_no
where
t.invoice_date between to_date(#{kpksrq},'yyyy-mm-dd hh24:mi:ss') and to_date(#{kpjsrq},'yyyy-mm-dd hh24:mi:ss')
and t.gf_tax_no in
<foreach collection= "gfsh" index= "index" item= "item" open= "(" separator= "," close= ")" >
#{item}
</foreach>
<if test= "invoiceStatus != null and invoiceStatus != '' and invoiceStatus != 'null' and invoiceStatus != '99' " >
and t.invoice_status = #{invoiceStatus}
</if>
<if test= "qszt != null and qszt != '' and qszt != 'null' and qszt != '99' " >
and t.qs_status = #{qszt}
</if>
<if test= "rzzt != null and rzzt != '' and rzzt != 'null' and rzzt != '99' " >
and t.rzh_yesorno = #{rzzt}
</if>
<if test= "qsksrq != null and qsksrq != '' and qsksrq != 'null' and qsjsrq != null and qsjsrq != '' and qsjsrq != 'null'" >
and t.qs_date between to_date(#{qsksrq},'yyyy-mm-dd hh24:mi:ss') and to_date(#{qsjsrq},'yyyy-mm-dd
hh24:mi:ss')
</if>
<if test= "rzksrq != null and rzksrq != '' and rzksrq != 'null' and rzjsrq != null and rzjsrq != '' and rzjsrq != 'null'" >
and t.rzh_date between to_date(#{rzksrq},'yyyy-mm-dd hh24:mi:ss') and to_date(#{rzjsrq},'yyyy-mm-dd
hh24:mi:ss')
</if>
<if test= "rzclzt != null and rzclzt != '' and rzclzt != 'null' and rzclzt != '99' " >
and t.auth_status = #{rzclzt}
</if>
<if test= "rzlx != null and rzlx != '' and rzlx != 'null' and rzlx != '99'" >
and t.bdk_status = #{rzlx}
</if>
<if
test="invoiceType != null and invoiceType != '' and invoiceType != 'null' and invoiceType != '99' ">
and t.invoice_type = #{invoiceType}
</if>
<if test= "invoiceSource != null and invoiceSource != '' and invoiceSource != 'null' and invoiceSource != '99' " >
and t.invoice_source = #{invoiceSource}
</if>
<if
test="qsfs != null and qsfs != '' and qsfs != 'null' and qsfs != '99'">
and t.qs_type = #{qsfs}
</if>
<if test= "xfmc != null and xfmc != '' and xfmc != 'null' " >
and t.xf_name like CONCAT(#{xfmc},'%')
</if>
<if test= "xfsh != null and xfsh != '' and xfsh != 'null' " >
and SUBSTR(t.xf_tax_no , -6) = #{xfsh}
</if>
<if test= "amountMin!=null and amountMin!=''" >
and t.invoice_amount > = #{amountMin}
</if>
<if test= "amountMax!=null and amountMax!=''" >
and t.invoice_amount < = #{amountMax}
</if>
<if test= "taxAmountMin!=null and taxAmountMin!=''" >
and t.tax_amount > = #{taxAmountMin}
</if>
<if test= "taxAmountMax!=null and taxAmountMax!=''" >
and t.tax_amount < = #{taxAmountMax}
</if>
<if
test="invoiceNo != null and invoiceNo != '' and invoiceNo != 'null' ">
and t.invoice_no = #{invoiceNo}
</if>
<if test= "skssq != null and skssq != '' and skssq != 'null' " >
and t.rzh_belong_date = #{skssq}
</if>
<if test= "rzksrq != null and rzjsrq != null" >
and t.rzh_date between to_date(#{rzksrq},'yyyy-mm-dd hh24:mi:ss') and to_date(#{rzjsrq},'yyyy-mm-dd
hh24:mi:ss')
</if>
<if test= "qsfs != null and qsfs != '' and qsfs != 'null' " >
and t.qs_type = #{qsfs}
</if>
<if test= "qsksrq != null and qsjsrq != null" >
and t.qs_date between to_date(#{qsksrq},'yyyy-mm-dd hh24:mi:ss') and to_date(#{qsjsrq},'yyyy-mm-dd
hh24:mi:ss')
</if>
<if test= "glzt != null and glzt != '' and glzt != 'null' and glzt != '99'" >
and t.glzt = #{glzt}
</if>
<if test= "rzhr != null and rzhr != '' and rzhr != 'null' " >
and t.confirm_user like CONCAT(#{rzhr},'%')
</if>
<if test= "qsr != null and qsr != '' and qsr != 'null' " >
and t.qs_name = #{qsr}
</if>
<if test= "businessCode != '99' and businessCode != null and businessCode != '' and businessCode != 'null' " >
and t.dept_id = #{businessCode}
</if>
<if test= "businessCode==''" >
and (t.dept_id is null or t.dept_id='' or t.dept_id='99')
</if>
<if test= 'businessCode == "99" and business!=null and business.size()>0' >
and (t.dept_id in
<foreach collection= "business" index= "index" item= "item" open= "(" separator= "," close= "" >
#{item.businessCode}
</foreach>
) or (t.dept_id is null or t.dept_id='' or t.dept_id='99'))
</if>
<if test= 'inAccountStatus !=null and inAccountStatus!="" and inAccountStatus!="99"' >
and t.in_account_status = #{inAccountStatus}
</if>
<if test= "company != null and company !=''" >
and t.company = #{company}
</if>
order by t.invoice_date desc
</select>
</mapper>