shiyunteng
4 天以前 2db76f2066701cbe292f206ad49a7f8523b8aa9f
platformx-business-finance-biz/src/main/resources/mapper/ContractInvoiceMapper.xml
@@ -3,19 +3,591 @@
<mapper namespace="com.by4cloud.platformx.business.mapper.ContractInvoiceMapper">
  <resultMap id="ContractInvoiceMap" type="com.by4cloud.platformx.business.entity.ContractInvoice">
        <id property="id" column="id"/>
        <result property="compId" column="comp_id"/>
        <result property="contractId" column="contract_id"/>
        <result property="invoicePrice" column="invoice_price"/>
        <result property="invoiceTime" column="invoice_time"/>
        <result property="invoicePath" column="invoice_path"/>
        <result property="invoiceCategory" column="invoice_category"/>
       <result property="redReversal" column="red_reversal"/>
        <result property="createBy" column="create_by"/>
        <result property="createTime" column="create_time"/>
        <result property="updateBy" column="update_by"/>
        <result property="updateTime" column="update_time"/>
        <result property="delFlag" column="del_flag"/>
  </resultMap>
   <resultMap id="ContractInvoiceMap" type="com.by4cloud.platformx.business.entity.ContractInvoice">
      <id property="id" column="id"/>
      <result property="compId" column="comp_id"/>
      <result property="contractId" column="contract_id"/>
      <result property="invoicePrice" column="invoice_total_price_tax"/>
      <result property="invoiceTime" column="invoice_time"/>
      <result property="invoicePath" column="invoice_path"/>
      <result property="invoiceCategory" column="invoice_category"/>
      <result property="redReversal" column="red_reversal"/>
      <result property="createBy" column="create_by"/>
      <result property="createTime" column="create_time"/>
      <result property="updateBy" column="update_by"/>
      <result property="updateTime" column="update_time"/>
      <result property="delFlag" column="del_flag"/>
   </resultMap>
   <select id="homeZbjt" resultType="com.by4cloud.platformx.business.vo.HomeZbjtVo">
      SELECT (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci
               WHERE ci.del_flag = '0'
                AND comp_id = 2056556196124250113
                AND ci.invoice_time &gt;= CURDATE()
                AND ci.invoice_time &lt; DATE_ADD(CURDATE(), INTERVAL 1 DAY ))                            sgbbr,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci
               WHERE ci.del_flag = '0'
                AND comp_id = 2056556196124250113
                AND ci.invoice_time &gt;= DATE_FORMAT(CURDATE(), '%Y-%m-01')
                AND ci.invoice_time &lt; DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01')) sgbby,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci
               WHERE ci.del_flag = '0'
                AND comp_id = 2056556196124250113
                AND ci.invoice_time &gt;= DATE_FORMAT(CURDATE(), '%Y-01-01')
                AND ci.invoice_time &lt; DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01'))  sgbbn,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci
               WHERE ci.del_flag = '0'
                AND comp_id = 2056555602756063234
                AND ci.invoice_time &gt;= CURDATE()
                AND ci.invoice_time &lt; DATE_ADD(CURDATE(), INTERVAL 1 DAY ))                            smjbr,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci
               WHERE ci.del_flag = '0'
                AND comp_id = 2056555602756063234
                AND ci.invoice_time &gt;= DATE_FORMAT(CURDATE(), '%Y-%m-01')
                AND ci.invoice_time &lt; DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01')) smjby,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci
               WHERE ci.del_flag = '0'
                AND comp_id = 2056555602756063234
                AND ci.invoice_time &gt;= DATE_FORMAT(CURDATE(), '%Y-01-01')
                AND ci.invoice_time &lt; DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01'))  smjbn,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci
               WHERE ci.del_flag = '0'
                AND comp_id = 2056556317461270529
                AND ci.invoice_time &gt;= CURDATE()
                AND ci.invoice_time &lt; DATE_ADD(CURDATE(), INTERVAL 1 DAY ))                            jxcbr,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci
               WHERE ci.del_flag = '0'
                AND comp_id = 2056556317461270529
                AND ci.invoice_time &gt;= DATE_FORMAT(CURDATE(), '%Y-%m-01')
                AND ci.invoice_time &lt; DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01')) jxcby,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci
               WHERE ci.del_flag = '0'
                AND comp_id = 2056556317461270529
                AND ci.invoice_time &gt;= DATE_FORMAT(CURDATE(), '%Y-01-01')
                AND ci.invoice_time &lt; DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01'))  jxcbn,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci
               WHERE ci.del_flag = '0'
                AND comp_id = 2056556421857497090
                AND ci.invoice_time &gt;= CURDATE()
                AND ci.invoice_time &lt; DATE_ADD(CURDATE(), INTERVAL 1 DAY ))                            tfbr,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci
               WHERE ci.del_flag = '0'
                AND comp_id = 2056556421857497090
                AND ci.invoice_time &gt;= DATE_FORMAT(CURDATE(), '%Y-%m-01')
                AND ci.invoice_time &lt; DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01')) tfby,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci
               WHERE ci.del_flag = '0'
                AND comp_id = 2056556421857497090
                AND ci.invoice_time &gt;= DATE_FORMAT(CURDATE(), '%Y-01-01')
                AND ci.invoice_time &lt; DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01'))  tfbn,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci
               WHERE ci.del_flag = '0'
                AND comp_id = 2056556535640576002
                AND ci.invoice_time &gt;= CURDATE()
                AND ci.invoice_time &lt; DATE_ADD(CURDATE(), INTERVAL 1 DAY ))                            ymjbr,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci
               WHERE ci.del_flag = '0'
                AND comp_id = 2056556535640576002
                AND ci.invoice_time &gt;= DATE_FORMAT(CURDATE(), '%Y-%m-01')
                AND ci.invoice_time &lt; DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01')) ymjby,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci
               WHERE ci.del_flag = '0'
                AND comp_id = 2056556535640576002
                AND ci.invoice_time &gt;= DATE_FORMAT(CURDATE(), '%Y-01-01')
                AND ci.invoice_time &lt; DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01'))  ymjbn
   </select>
   <select id="homeZgs" resultType="com.by4cloud.platformx.business.vo.HomeZgsVo">
      SELECT (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci,
                  contract c,
                  business_customer bc
               WHERE ci.del_flag = '0'
                AND bc.del_flag = '0'
                AND c.del_flag = '0'
                AND ci.contract_id = c.id
                AND bc.id = c.party_a_id
                AND bc.area_id = '2'
                AND ci.comp_id = #{compId}
                AND ci.invoice_time &gt;= CURDATE()
                AND ci.invoice_time &lt; DATE_ADD(CURDATE(), INTERVAL 1 DAY ))                            hbbr,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci,
                  contract c,
                  business_customer bc
               WHERE ci.del_flag = '0'
                AND bc.del_flag = '0'
                AND c.del_flag = '0'
                AND ci.contract_id = c.id
                AND bc.id = c.party_a_id
                AND bc.area_id = '2'
                AND ci.comp_id = #{compId}
                AND ci.invoice_time &gt;= DATE_FORMAT(CURDATE(), '%Y-%m-01')
                AND ci.invoice_time &lt; DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01')) hbby,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci,
                  contract c,
                  business_customer bc
               WHERE ci.del_flag = '0'
                AND bc.del_flag = '0'
                AND c.del_flag = '0'
                AND ci.contract_id = c.id
                AND bc.id = c.party_a_id
                AND bc.area_id = '2'
                AND ci.comp_id = #{compId}
                AND ci.invoice_time &gt;= DATE_FORMAT(CURDATE(), '%Y-01-01')
                AND ci.invoice_time &lt; DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01'))  hbbn,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci,
                  contract c,
                  business_customer bc
               WHERE ci.del_flag = '0'
                AND bc.del_flag = '0'
                AND c.del_flag = '0'
                AND ci.contract_id = c.id
                AND bc.id = c.party_a_id
                AND bc.area_id = '6'
                AND ci.comp_id = #{compId}
                AND ci.invoice_time &gt;= CURDATE()
                AND ci.invoice_time &lt; DATE_ADD(CURDATE(), INTERVAL 1 DAY ))                            xbbr,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci,
                  contract c,
                  business_customer bc
               WHERE ci.del_flag = '0'
                AND bc.del_flag = '0'
                AND c.del_flag = '0'
                AND ci.contract_id = c.id
                AND bc.id = c.party_a_id
                AND bc.area_id = '6'
                AND ci.comp_id = #{compId}
                AND ci.invoice_time &gt;= DATE_FORMAT(CURDATE(), '%Y-%m-01')
                AND ci.invoice_time &lt; DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01')) xbby,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci,
                  contract c,
                  business_customer bc
               WHERE ci.del_flag = '0'
                AND bc.del_flag = '0'
                AND c.del_flag = '0'
                AND ci.contract_id = c.id
                AND bc.id = c.party_a_id
                AND bc.area_id = '2'
                AND ci.comp_id = #{compId}
                AND ci.invoice_time &gt;= DATE_FORMAT(CURDATE(), '%Y-01-01')
                AND ci.invoice_time &lt; DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01'))  xbbn,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci,
                  contract c,
                  business_customer bc
               WHERE ci.del_flag = '0'
                AND bc.del_flag = '0'
                AND c.del_flag = '0'
                AND ci.contract_id = c.id
                AND bc.id = c.party_a_id
                AND bc.area_id = '1'
                AND ci.comp_id = #{compId}
                AND ci.invoice_time &gt;= CURDATE()
                AND ci.invoice_time &lt; DATE_ADD(CURDATE(), INTERVAL 1 DAY ))                            dbbr,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci,
                  contract c,
                  business_customer bc
               WHERE ci.del_flag = '0'
                AND bc.del_flag = '0'
                AND c.del_flag = '0'
                AND ci.contract_id = c.id
                AND bc.id = c.party_a_id
                AND bc.area_id = '1'
                AND ci.comp_id = #{compId}
                AND ci.invoice_time &gt;= DATE_FORMAT(CURDATE(), '%Y-%m-01')
                AND ci.invoice_time &lt; DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01')) dbby,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci,
                  contract c,
                  business_customer bc
               WHERE ci.del_flag = '0'
                AND bc.del_flag = '0'
                AND c.del_flag = '0'
                AND ci.contract_id = c.id
                AND bc.id = c.party_a_id
                AND bc.area_id = '1'
                AND ci.comp_id = #{compId}
                AND ci.invoice_time &gt;= DATE_FORMAT(CURDATE(), '%Y-01-01')
                AND ci.invoice_time &lt; DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01'))  dbbn,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci,
                  contract c,
                  business_customer bc
               WHERE ci.del_flag = '0'
                AND bc.del_flag = '0'
                AND c.del_flag = '0'
                AND ci.contract_id = c.id
                AND bc.id = c.party_a_id
                AND bc.area_id = '3'
                AND ci.comp_id = #{compId}
                AND ci.invoice_time &gt;= CURDATE()
                AND ci.invoice_time &lt; DATE_ADD(CURDATE(), INTERVAL 1 DAY ))                            hdbr,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci,
                  contract c,
                  business_customer bc
               WHERE ci.del_flag = '0'
                AND bc.del_flag = '0'
                AND c.del_flag = '0'
                AND ci.contract_id = c.id
                AND bc.id = c.party_a_id
                AND bc.area_id = '3'
                AND ci.comp_id = #{compId}
                AND ci.invoice_time &gt;= DATE_FORMAT(CURDATE(), '%Y-%m-01')
                AND ci.invoice_time &lt; DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01')) hdby,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci,
                  contract c,
                  business_customer bc
               WHERE ci.del_flag = '0'
                AND bc.del_flag = '0'
                AND c.del_flag = '0'
                AND ci.contract_id = c.id
                AND bc.id = c.party_a_id
                AND bc.area_id = '3'
                AND ci.comp_id = #{compId}
                AND ci.invoice_time &gt;= DATE_FORMAT(CURDATE(), '%Y-01-01')
                AND ci.invoice_time &lt; DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01'))  hdbn,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci,
                  contract c,
                  business_customer bc
               WHERE ci.del_flag = '0'
                AND bc.del_flag = '0'
                AND c.del_flag = '0'
                AND ci.contract_id = c.id
                AND bc.id = c.party_a_id
                AND bc.area_id = '4'
                AND ci.comp_id = #{compId}
                AND ci.invoice_time &gt;= CURDATE()
                AND ci.invoice_time &lt; DATE_ADD(CURDATE(), INTERVAL 1 DAY ))                            znbr,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci,
                  contract c,
                  business_customer bc
               WHERE ci.del_flag = '0'
                AND bc.del_flag = '0'
                AND c.del_flag = '0'
                AND ci.contract_id = c.id
                AND bc.id = c.party_a_id
                AND bc.area_id = '4'
                AND ci.comp_id = #{compId}
                AND ci.invoice_time &gt;= DATE_FORMAT(CURDATE(), '%Y-%m-01')
                AND ci.invoice_time &lt; DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01')) znby,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci,
                  contract c,
                  business_customer bc
               WHERE ci.del_flag = '0'
                AND bc.del_flag = '0'
                AND c.del_flag = '0'
                AND ci.contract_id = c.id
                AND bc.id = c.party_a_id
                AND bc.area_id = '4'
                AND ci.comp_id = #{compId}
                AND ci.invoice_time &gt;= DATE_FORMAT(CURDATE(), '%Y-01-01')
                AND ci.invoice_time &lt; DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01'))  znbn,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci,
                  contract c,
                  business_customer bc
               WHERE ci.del_flag = '0'
                AND bc.del_flag = '0'
                AND c.del_flag = '0'
                AND ci.contract_id = c.id
                AND bc.id = c.party_a_id
                AND bc.area_id = '5'
                AND ci.comp_id = #{compId}
                AND ci.invoice_time &gt;= CURDATE()
                AND ci.invoice_time &lt; DATE_ADD(CURDATE(), INTERVAL 1 DAY ))                            xnbr,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci,
                  contract c,
                  business_customer bc
               WHERE ci.del_flag = '0'
                AND bc.del_flag = '0'
                AND c.del_flag = '0'
                AND ci.contract_id = c.id
                AND bc.id = c.party_a_id
                AND bc.area_id = '5'
                AND ci.comp_id = #{compId}
                AND ci.invoice_time &gt;= DATE_FORMAT(CURDATE(), '%Y-%m-01')
                AND ci.invoice_time &lt; DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01')) xnby,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci,
                  contract c,
                  business_customer bc
               WHERE ci.del_flag = '0'
                AND bc.del_flag = '0'
                AND c.del_flag = '0'
                AND ci.contract_id = c.id
                AND bc.id = c.party_a_id
                AND bc.area_id = '5'
                AND ci.comp_id = #{compId}
                AND ci.invoice_time &gt;= DATE_FORMAT(CURDATE(), '%Y-01-01')
                AND ci.invoice_time &lt; DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01'))  xnbn,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci,
                  contract c,
                  business_customer bc
               WHERE ci.del_flag = '0'
                AND bc.del_flag = '0'
                AND c.del_flag = '0'
                AND ci.contract_id = c.id
                AND bc.id = c.party_a_id
                AND bc.export_service_attr = '2'
                AND ci.comp_id = #{compId}
                AND ci.invoice_time &gt;= CURDATE()
                AND ci.invoice_time &lt; DATE_ADD(CURDATE(), INTERVAL 1 DAY ))                            hwbr,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci,
                  contract c,
                  business_customer bc
               WHERE ci.del_flag = '0'
                AND bc.del_flag = '0'
                AND c.del_flag = '0'
                AND ci.contract_id = c.id
                AND bc.id = c.party_a_id
                AND bc.export_service_attr = '2'
                AND ci.comp_id = #{compId}
                AND ci.invoice_time &gt;= DATE_FORMAT(CURDATE(), '%Y-%m-01')
                AND ci.invoice_time &lt; DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01')) hwby,
            (
               SELECT sum(ci.invoice_total_price_tax)
               FROM contract_invoice ci,
                  contract c,
                  business_customer bc
               WHERE ci.del_flag = '0'
                AND bc.del_flag = '0'
                AND c.del_flag = '0'
                AND ci.contract_id = c.id
                AND bc.id = c.party_a_id
                AND bc.area_id = '2'
                AND ci.comp_id = #{compId}
                AND ci.invoice_time &gt;= DATE_FORMAT(CURDATE(), '%Y-01-01')
                AND ci.invoice_time &lt; DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01'))  hwbn
   </select>
   <select id="pageInvoice" resultType="com.by4cloud.platformx.business.vo.HomeInvoiceVo">
      SELECT
      t.id,
      t.contract_id,
      t.invoice_category,
      t.invoice_total_price,
      t.invoice_total_tax,
      t.invoice_total_price_tax,
      t.invoice_time,
      t.invoice_status,
      t.invoice_path,
      t.out_bound_id,
      t.invoice_preview_param,
      t.red_reversal,
      t.invoice_no,
      t.serial_no,
      t.tex_no,
      t.seller_tax_name,
      t.buyer_tax_name,
      t.invoice_preview,
      t.approval_status,
      t.blue_invoice_id,
      t.bip_push,
      t.bip_id,
      t.bip_body,
      t.create_by,
      t.update_by,
      t.create_time,
      t.update_time,
      t.del_flag,
      t.comp_id,
      t1.contract_no,
      t2.company_name AS busGuestName,
      t1.party_b
      FROM
      contract_invoice t
      LEFT JOIN contract t1 ON ( t1.id = t.contract_id AND t1.del_flag = '0' )
      LEFT JOIN business_customer t2 ON ( t2.id = t1.party_a_id AND t2.del_flag = '0' )
      WHERE
      t.del_flag = '0'
      <if test="queryDTO.queryCompId !=null and queryDTO.queryCompId !=''">
         AND t.comp_id = #{queryDTO.queryCompId}
      </if>
      <if test="queryDTO.invoiceCategory !=null and queryDTO.invoiceCategory !=''">
         AND t.invoice_category = #{queryDTO.invoiceCategory}
      </if>
      <if test="queryDTO.contractNo !=null and queryDTO.contractNo !=''">
         AND t1.contract_no LIKE CONCAT('%', #{queryDTO.contractNo}, '%')
      </if>
      <if test="queryDTO.partyA !=null and queryDTO.partyA !=''">
         AND t2.company_name LIKE CONCAT('%', #{queryDTO.partyA}, '%')
      </if>
      <if test="queryDTO.queryArea !=null and queryDTO.queryArea !=''">
         AND t2.class_id = #{queryDTO.queryArea}
      </if>
      <if test="queryDTO.queryServiceAttr !=null and queryDTO.queryServiceAttr !=''">
         AND t2.export_service_attr = #{queryDTO.queryServiceAttr}
      </if>
      <if test="queryDTO.queryType !=null and queryDTO.queryType !='' and queryDTO.queryType =='1'.toString()">
         AND t.invoice_time &gt;= CURDATE()
         AND t.invoice_time &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )
      </if>
      <if test="queryDTO.queryType !=null and queryDTO.queryType !='' and queryDTO.queryType =='2'.toString()">
         AND t.invoice_time &gt;= DATE_FORMAT( CURDATE(), '%Y-01-01' )
         AND t.invoice_time &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )
      </if>
      <if test="queryDTO.queryType !=null and queryDTO.queryType !='' and queryDTO.queryType =='3'.toString()">
         AND t.invoice_time &gt;= DATE_FORMAT( CURDATE(), '%Y-01-01' )
         AND t.invoice_time &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )
      </if>
      <if test="queryDTO.startTime !=null and queryDTO.endTime !=null">
         AND t.invoice_time &gt;= #{queryDTO.startTime}
         AND t.invoice_time &lt;= #{queryDTO.endTime}
      </if>
      ORDER BY
      t.create_time DESC
   </select>
   <select id="pageScope" resultType="com.by4cloud.platformx.business.vo.ContractInvoicePageVo">
      SELECT
      id,
      contract_no,
      contract_name,
      party_a_id,
      party_a,
      party_b_id,
      party_b,
      amount,
      currency,
      contract_type,
      supply_attribute,
      contract_status,
      contract_attribute,
      sign_date,
      sign_place,
      effective_date,
      delivery_cycle,
      expiration_date,
      attachment_url,
      remark,
      parent_id,
      approve_time,
      arrival_schedule_id,
      accept_schedule_id,
      warranty_schedule_id,
      erp_push_flag,
      billing_status,
      billing_amout,
      next_schedule_name,
      template_id,
      sales_model,
      paid_amount,
      contract_category,
      exec_frequency,
      exec_times,
      exec_day,
      environment,
      standard,
      use_month,
      after_ship_month,
      ship_method,
      ship_address,
      packaging,
      repair_period,
      repair_breach_amount,
      goods_short,
      goods_short_breach_amount,
      overdue_breach_amount,
      terminate_contract,
      court,
      contract_attchment,
      city,
      region,
      invoice_notice,
      contract_tax,
      economic_matters,
      erp_contract_no,
      data_id,
      industry_code,
      area_code,
      create_by,
      update_by,
      create_time,
      update_time,
      del_flag,
      comp_id,
      (select count(1) from contract_invoice ci where ci.del_flag = '0' and ci.contract_id = c.id) invoiceNum,
      (select planned_amount from contract_payment_schedule cps where cps.del_flag='0' and cps.stage_name='合同签订' and cps.contract_id = c.id) advanceAmount
      FROM
      contract c
      WHERE
      del_flag = '0'
      <if test="queryDTO.contractNo !=null and queryDTO.contractNo !=''">
         AND contract_no LIKE CONCAT('%', #{queryDTO.contractNo}, '%')
      </if>
      <if test="queryDTO.partyA !=null and queryDTO.partyA !=''">
         AND party_a LIKE CONCAT('%', #{queryDTO.partyA}, '%')
      </if>
      <if test="queryDTO.billingStatus !=null and queryDTO.billingStatus !=''">
         AND billing_status = #{queryDTO.billingStatus}
      </if>
      <if test="queryDTO.advanceType !=null and queryDTO.advanceType !=''">
         AND exists (select * from contract_payment_schedule cps where cps.del_flag='0' and
         cps.stage_name='合同签订' and cps.payment_ratio &gt; 0 and cps.contract_id = c.id)
         AND not exists (select * from contract_out_bound cps where cps.del_flag='0' and
         cps.contract_id = c.id)
      </if>
      ORDER BY
      create_time ASC
   </select>
</mapper>