<?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="pwc.taxtech.atms.invoice.OutputInvoiceMapper"> <resultMap id="OutputInvoiceInfoDto" type="pwc.taxtech.atms.vat.dpo.OutputVATInvoiceInfoDto"> <id column="Invoice_ID" jdbcType="VARCHAR" property="invoiceId"/> <result column="INVOICE_TYPE" jdbcType="INTEGER" property="invoiceType"/> <result column="INVOICE_TYPE_NAME" jdbcType="VARCHAR" property="invoiceTypeName"/> <result column="CLASS_CODE" jdbcType="VARCHAR" property="classCode"/> <result column="INVOICE_NUMBER" jdbcType="VARCHAR" property="invoiceNumber"/> <result column="FPQQLSH" jdbcType="VARCHAR" property="fpqqlsh"/> <result column="BUYER_NAME" jdbcType="VARCHAR" property="buyerName"/> <result column="BUYER_TAX_NUMBER" jdbcType="VARCHAR" property="buyerTaxNumber"/> <result column="BANK_ACCOUNT" jdbcType="VARCHAR" property="bankAccount"/> <result column="PHONE_NUM" jdbcType="VARCHAR" property="phoneNum"/> <result column="INVOICE_DATE" jdbcType="TIMESTAMP" property="invoiceDate"/> <result column="CODE_VERSION" jdbcType="VARCHAR" property="codeVersion"/> <result column="PRODUCT_NAME" jdbcType="VARCHAR" property="productName"/> <result column="DOCUMENT_NUM" jdbcType="VARCHAR" property="documentNum"/> <result column="PRODUCT_STANDARD" jdbcType="VARCHAR" property="productStandard"/> <result column="UNIT" jdbcType="VARCHAR" property="unit"/> <result column="QUANTITY" jdbcType="INTEGER" property="quantity" javaType="java.lang.Integer"/> <result column="UNIT_PRICE" jdbcType="DOUBLE" property="unitPrice" javaType="java.lang.Double"/> <result column="AMOUNT" jdbcType="DECIMAL" property="amount" javaType="java.math.BigDecimal"/> <result column="TAX_RATE" jdbcType="DECIMAL" property="taxRate" javaType="java.math.BigDecimal"/> <result column="TAX_AMOUNT" jdbcType="DECIMAL" property="taxAmount" javaType="java.math.BigDecimal"/> <result column="TAX_CLASS_CODE" jdbcType="VARCHAR" property="taxClassCode"/> <result column="PERIOD_ID" jdbcType="INTEGER" property="periodId"/> <result column="IS_DUPLICATE" jdbcType="INTEGER" property="isDuplicate"/> <result column="AMOUNT_DIFFERENCE" jdbcType="DECIMAL" property="amountDifference"/> </resultMap> <select id="selectOutputInvoiceInfoLeftJoinItem" parameterType="pwc.taxtech.atms.vat.dpo.QueryOutputDto" resultMap="OutputInvoiceInfoDto"> SELECT O.ID AS INVOICE_ID, O.FPLXDM AS INVOICE_TYPE, O.FPDM AS CLASS_CODE, O.FPHM AS INVOICE_NUMBER, O.FPQQLSH, O.GFMC AS BUYER_NAME, O.GFSH AS BUYER_TAX_NUMBER, O.GFYHZH AS BANK_ACCOUNT, O.GFDZDH AS PHONE_NUM, to_date(O.KPRQ,'yyyy-mm-dd hh24:mi:ss') AS INVOICE_DATE, /*nvl ( OI.CODE_VERSION, '' ) AS CODE_VERSION,*/ nvl ( OI.SPMC, '' ) AS PRODUCT_NAME, nvl ( OI.MXXH, '' ) AS DOCUMENT_NUM, nvl ( OI.GGXH, '' ) AS PRODUCT_STANDARD, nvl ( OI.DW, '' ) AS UNIT, nvl ( OI.SL, '' ) AS QUANTITY, to_number(OI.DJ) AS UNIT_PRICE, to_number(OI.JE) AS AMOUNT, to_number(OI.SLV) AS TAX_RATE, to_number(OI.SE) AS TAX_AMOUNT, nvl ( OI.SSFLDM, '' ) AS TAX_CLASS_CODE FROM OUTPUT_INVOICE O LEFT JOIN OUTPUT_INVOICE_DETAIL OI ON O.FPQQLSH = OI.FPQQLSH WHERE 1=1 <!--<if test="queryDto.periodStart">--> <!--AND O.PERIOD_ID >= #{queryDto.periodStart,jdbcType=VARCHAR}--> <!--</if>--> <!--<if test="queryDto.periodEnd">--> <!--AND O.PERIOD_ID <= #{queryDto.periodEnd,jdbcType=VARCHAR}--> <!--</if>--> <if test="productName!=null and productName!=''"> AND OI.SPMC LIKE concat ( '%', #{productName,jdbcType=VARCHAR,'%'} ) </if> </select> <resultMap id="outputInvoiceDto" type="pwc.taxtech.atms.vat.dpo.OutputInvoiceDto"> <id property="invoiceID" jdbcType="VARCHAR" column="INVOICE_ID"/> <association property="invoice" javaType="pwc.taxtech.atms.vat.entity.OutputInvoice"> <id column="INVOICEID" jdbcType="VARCHAR" property="ID"/> <id column="FPQQLSH" jdbcType="VARCHAR" property="FPQQLSH" /> <result column="FPDM" jdbcType="VARCHAR" property="FPDM" /> <result column="FPHM" jdbcType="VARCHAR" property="FPHM" /> <result column="KPRQ" jdbcType="VARCHAR" property="KPRQ" /> <result column="FPLXDM" jdbcType="VARCHAR" property="FPLXDM" /> <result column="EWM" jdbcType="VARCHAR" property="EWM" /> <result column="JQBH" jdbcType="VARCHAR" property="JQBH" /> <result column="JYM" jdbcType="VARCHAR" property="JYM" /> <result column="GFMC" jdbcType="VARCHAR" property="GFMC" /> <result column="GFSH" jdbcType="VARCHAR" property="GFSH" /> <result column="GFDZDH" jdbcType="VARCHAR" property="GFDZDH" /> <result column="GFYHZH" jdbcType="VARCHAR" property="GFYHZH" /> <result column="XFSH" jdbcType="VARCHAR" property="XFSH" /> <result column="XFMC" jdbcType="VARCHAR" property="XFMC" /> <result column="XFDZDH" jdbcType="VARCHAR" property="XFDZDH" /> <result column="XFYHZH" property="XFYHZH" /> <result column="BZ" jdbcType="VARCHAR" property="BZ" /> <result column="SKR" jdbcType="VARCHAR" property="SKR" /> <result column="FHR" jdbcType="VARCHAR" property="FHR" /> <result column="KPR" jdbcType="VARCHAR" property="KPR" /> <result column="KDDH" jdbcType="VARCHAR" property="KDDH" /> <result column="KDUUID" jdbcType="VARCHAR" property="KDUUID" /> <result column="FPLX" jdbcType="VARCHAR" property="FPLX" /> <result column="KPZT" jdbcType="VARCHAR" property="KPZT" /> <result column="FPZT" jdbcType="VARCHAR" property="FPZT" /> <result column="YFPDM" jdbcType="VARCHAR" property="YFPDM" /> <result column="YFPHM" jdbcType="VARCHAR" property="YFPHM" /> <result column="GFGSBM" jdbcType="VARCHAR" property="GFGSBM" /> <result column="XFGSBM" jdbcType="VARCHAR" property="XFGSBM" /> <result column="SPBH" jdbcType="VARCHAR" property="SPBH" /> <result column="XTLY" jdbcType="VARCHAR" property="XTLY" /> <result column="CJSJ" jdbcType="VARCHAR" property="CJSJ" /> <result column="INVOICE_HJJE" jdbcType="VARCHAR" property="HJJE" /> <result column="HJSE" jdbcType="VARCHAR" property="HJSE" /> <result column="JSHJ" jdbcType="VARCHAR" property="JSHJ" /> <result column="XXBBH" jdbcType="VARCHAR" property="XXBBH" /> <result column="DYZT" jdbcType="VARCHAR" property="DYZT" /> <result column="GDJLH" jdbcType="VARCHAR" property="GDJLH" /> <result column="INVOICE_ZKJE" jdbcType="VARCHAR" property="ZKJE" /> <result column="INVOICE_ZKSE" jdbcType="VARCHAR" property="ZKSE" /> <result column="ZKJSHJ" jdbcType="VARCHAR" property="ZKJSHJ" /> <result column="INVOICE_SLV" jdbcType="VARCHAR" property="SLV" /> <result column="QY" jdbcType="VARCHAR" property="QY" /> <result column="JSZT" jdbcType="VARCHAR" property="JSZT" /> <result column="KDGS" jdbcType="VARCHAR" property="KDGS" /> <result column="SHZT" jdbcType="VARCHAR" property="SHZT" /> <result column="THKPSQ" jdbcType="VARCHAR" property="THKPSQ" /> <result column="JSFJ" jdbcType="VARCHAR" property="JSFJ" /> <result column="SQR" jdbcType="VARCHAR" property="SQR" /> <result column="BSCDM" jdbcType="VARCHAR" property="BSCDM" /> <result column="BSC" jdbcType="VARCHAR" property="BSC" /> <result column="QYDM" jdbcType="VARCHAR" property="QYDM" /> <result column="SQBH" jdbcType="VARCHAR" property="SQBH" /> <result column="HTBH" jdbcType="VARCHAR" property="HTBH" /> <result column="SQRQ" jdbcType="VARCHAR" property="SQRQ" /> <result column="YZRQ" jdbcType="VARCHAR" property="YZRQ" /> </association> <association property="invoiceDetail" javaType="pwc.taxtech.atms.vat.entity.OutputInvoiceDetail"> <id column="DETAIL_ID" property="ID"/> <result column="INVOICE_FPQQLSH" property="FPQQLSH" /> <result column="SPMC" property="SPMC" /> <result column="GGXH" property="GGXH" /> <result column="DW" property="DW" /> <result column="DJ" property="DJ" /> <result column="SL" property="SL" /> <result column="JE" property="JE" /> <result column="ITEM_SLV" property="SLV" /> <result column="SE" property="SE" /> <result column="HSBZ" property="HSBZ" /> <result column="LSLBS" property="LSLBS" /> <result column="YHZCBS" property="YHZCBS" /> <result column="YHZCMC" property="YHZCMC" /> <result column="MXXH" property="MXXH" /> <result column="FPHXZ" property="FPHXZ" /> <result column="SSFLDM" property="SSFLDM" /> <result column="ZXBM" property="ZXBM" /> <result column="ZKHJJE" property="ZKHJJE" /> <result column="ZKSE" property="ZKSE" /> <result column="ZKJE" property="ZKJE" /> <result column="HJJE" property="HJJE" /> <result column="JHH" property="JHH" /> <result column="XSDD" property="XSDD" /> <result column="HSJUUID" property="HSJUUID" /> </association> </resultMap> <select id="getOutputInvoiceWithDetail" resultMap="outputInvoiceDto"> SELECT INVOICE.ID AS INVOICEID, INVOICE.FPQQLSH, INVOICE.FPDM, INVOICE.FPHM, INVOICE.KPRQ, INVOICE.FPLXDM, INVOICE.EWM, INVOICE.JQBH, INVOICE.JYM, INVOICE.GFMC, INVOICE.GFSH, INVOICE.GFDZDH, INVOICE.GFYHZH, INVOICE.XFSH, INVOICE.XFMC, INVOICE.XFDZDH, INVOICE.XFYHZH, INVOICE.BZ, INVOICE.SKR, INVOICE.FHR, INVOICE.KPR, INVOICE.FPLX, INVOICE.FPZT, INVOICE.SPBH, INVOICE.XTLY, INVOICE.CJSJ, INVOICE.HJJE AS INVOICE_HJJE, INVOICE.HJSE, INVOICEDETAIL.ID AS DETAIL_ID, INVOICEDETAIL.FPQQLSH AS INVOICE_FPQQLSH, INVOICEDETAIL.SPMC, INVOICEDETAIL.GGXH, INVOICEDETAIL.DW, INVOICEDETAIL.DJ, INVOICEDETAIL.SL, INVOICEDETAIL.JE, INVOICEDETAIL.SLV AS ITEM_SLV, INVOICEDETAIL.SE, INVOICEDETAIL.HSBZ, INVOICEDETAIL.LSLBS, INVOICEDETAIL.YHZCBS, INVOICEDETAIL.YHZCMC, INVOICEDETAIL.MXXH, INVOICEDETAIL.FPHXZ, INVOICEDETAIL.SSFLDM, INVOICEDETAIL.ZXBM, INVOICEDETAIL.ZKHJJE, INVOICEDETAIL.ZKSE, INVOICEDETAIL.ZKJE, INVOICEDETAIL.HJJE, INVOICEDETAIL.JHH, INVOICEDETAIL.XSDD, INVOICEDETAIL.HSJUUID FROM OUTPUT_INVOICE INVOICE JOIN OUTPUT_INVOICE_DETAIL INVOICEDETAIL ON INVOICE.FPQQLSH = INVOICEDETAIL.FPQQLSH WHERE INVOICE.FPZT != '1' AND 1 = 1 UNION ALL SELECT INVOICE.ID AS INVOICEID, INVOICE.FPQQLSH, INVOICE.FPDM, INVOICE.FPHM, INVOICE.KPRQ, INVOICE.FPLXDM, INVOICE.EWM, INVOICE.JQBH, INVOICE.JYM, INVOICE.GFMC, INVOICE.GFSH, INVOICE.GFDZDH, INVOICE.GFYHZH, INVOICE.XFSH, INVOICE.XFMC, INVOICE.XFDZDH, INVOICE.XFYHZH, INVOICE.BZ, INVOICE.SKR, INVOICE.FHR, INVOICE.KPR, INVOICE.FPLX, INVOICE.FPZT, INVOICE.SPBH, INVOICE.XTLY, INVOICE.CJSJ, INVOICE.HJJE AS INVOICE_HJJE, INVOICE.HJSE, INVOICEDETAIL.ID AS DETAIL_ID, INVOICEDETAIL.FPQQLSH AS INVOICE_FPQQLSH, INVOICEDETAIL.SPMC, INVOICEDETAIL.GGXH, INVOICEDETAIL.DW, INVOICEDETAIL.DJ, INVOICEDETAIL.SL, INVOICEDETAIL.JE, INVOICEDETAIL.SLV AS ITEM_SLV, INVOICEDETAIL.SE, INVOICEDETAIL.HSBZ, INVOICEDETAIL.LSLBS, INVOICEDETAIL.YHZCBS, INVOICEDETAIL.YHZCMC, INVOICEDETAIL.MXXH, INVOICEDETAIL.FPHXZ, INVOICEDETAIL.SSFLDM, INVOICEDETAIL.ZXBM, INVOICEDETAIL.ZKHJJE, INVOICEDETAIL.ZKSE, INVOICEDETAIL.ZKJE, INVOICEDETAIL.HJJE, INVOICEDETAIL.JHH, INVOICEDETAIL.XSDD, INVOICEDETAIL.HSJUUID FROM OUTPUT_FPXXTB INVOICE JOIN OUTPUT_INVOICE_DETAIL INVOICEDETAIL ON INVOICE.FPQQLSH = INVOICEDETAIL.FPQQLSH ORDER BY FPHM </select> <resultMap id="outputInvoiceDataSourceDto" type="pwc.taxtech.atms.vat.dpo.OutputInvoiceDataSourceDto"> <id column="id" jdbcType="VARCHAR" property="id"/> <result column="AMOUNT" jdbcType="VARCHAR" property="amount"/> <result column="RESULT_TYPE" jdbcType="VARCHAR" property="resultType"/> <result column="TAX_RATE" jdbcType="VARCHAR" property="taxRate"/> <result column="TAX_AMOUNT" jdbcType="VARCHAR" property="taxAmount"/> <result column="BUYER_NAME" jdbcType="VARCHAR" property="buyerName"/> <result column="INVOICE_CODE" jdbcType="VARCHAR" property="invoiceCode"/> <result column="INVOICE_NUMBER" jdbcType="VARCHAR" property="invoiceNumber"/> <result column="INVOICE_DATE" jdbcType="VARCHAR" property="invoiceDate"/> <result column="INVOICE_TYPE" jdbcType="VARCHAR" property="invoiceType"/> </resultMap> <select id="selectOutputInvoiceAndItem" resultMap="outputInvoiceDataSourceDto"> SELECT OI.ID AS id, OVII.JE AS AMOUNT, 1 AS RESULT_TYPE, OVII.SE AS TAX_AMOUNT, OVII.SLV AS TAX_RATE, OI.GFMC AS BUYER_NAME, OI.FPDM AS INVOICE_CODE, OI.FPHM AS INVOICE_NUMBER, OI.KPRQ AS INVOICE_DATE, OI.FPLXDM AS INVOICE_TYPE FROM OUTPUT_INVOICE_DETAIL OVII JOIN OUTPUT_INVOICE OI ON OVII.FPQQLSH = OI.FPQQLSH </select> </mapper>