shiyunteng
2026-07-17 8de09297dcc5393cc8542f29318b17f5696d4f8d
platformx-business-finance-biz/src/main/resources/mapper/ContractMapper.xml
@@ -57,6 +57,7 @@
      ) - IFNULL( t.billing_amout, 0 )) creditAmount
      FROM
      contract t
      LEFT JOIN business_customer t1 ON ( t1.id = t.bus_guest_id AND t1.del_flag = '0' )
      WHERE
      (
      IFNULL( t.billing_amout, 0 )<(
@@ -72,6 +73,28 @@
      </if>
      <if test="queryDTO.partyA !=null and queryDTO.partyA !=''">
         and t.party_a LIKE CONCAT('%', #{queryDTO.partyA}, '%')
      </if>
      <if test="queryDTO.queryArea !=null and queryDTO.queryArea !=''">
         AND t1.class_id =  #{queryDTO.queryArea}
      </if>
      <if test="queryDTO.queryServiceAttr !=null and queryDTO.queryServiceAttr !=''">
         AND t1.export_service_attr =  #{queryDTO.queryServiceAttr}
      </if>
      <if test="queryDTO.queryType !=null and queryDTO.queryType !='' and queryDTO.queryType =='1'.toString()">
         AND  t.payment_time &gt;= CURDATE()
         AND  t.payment_time &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )
      </if>
      <if test="queryDTO.queryType !=null and queryDTO.queryType !='' and queryDTO.queryType =='2'.toString()">
         AND  t.payment_time &gt;= DATE_FORMAT( CURDATE(), '%Y-01-01' )
         AND  t.payment_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.payment_time &gt;= DATE_FORMAT( CURDATE(), '%Y-01-01' )
         AND  t.payment_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.payment_time &gt;=  #{queryDTO.startTime}
         AND  t.payment_time &lt;=  #{queryDTO.endTime}
      </if>
      <if test="queryDTO.productNames !=null and queryDTO.productNames !=''">
         and (SELECT GROUP_CONCAT(DISTINCT t1.material_internal_name) from contract_subject_matter t1 WHERE t1.contract_id = t.id) LIKE CONCAT('%', #{queryDTO.productNames}, '%')
@@ -1010,71 +1033,45 @@
   </select>
    <select id="pageScope" resultType="com.by4cloud.platformx.business.vo.ContractPageVo">
      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,
         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,
         create_by,
         update_by,
         create_time,
         update_time,
         del_flag,
         comp_id,
         c.id,
         c.contract_no,
         c.contract_name,
         c.party_a_id,
         c.party_a,
         c.party_b_id,
         c.party_b,
         c.amount,
         c.contract_type,
         c.supply_attribute,
         c.contract_status,
         c.contract_attribute,
         c.sign_date,
         c.sign_place,
         c.effective_date,
         c.delivery_cycle,
         c.expiration_date,
         c.attachment_url,
         c.remark,
         c.parent_id,
         c.approve_time,
         c.arrival_schedule_id,
         c.accept_schedule_id,
         c.billing_status,
         c.billing_amout,
         c.template_id,
         c.sales_model,
         c.paid_amount,
         c.contract_category,
         c.exec_frequency,
         c.comp_id,
         (select sum(delivered_quantity*unit_price) from contract_subject_matter csm where csm.contract_id = c.id) outAmount
         FROM
      contract c
      contract c,
      business_customer bc
      WHERE
         del_flag = '0'
      c.del_flag = '0'
      AND bc.del_flag = '0'
      AND bc.id = c.party_a_id
      <if test="queryDTO.contractName !=null and queryDTO.contractName !=''">
         AND contract_name LIKE CONCAT('%', #{queryDTO.contractName}, '%')
      </if>
@@ -1084,7 +1081,482 @@
      <if test="queryDTO.contractStatus !=null and queryDTO.contractStatus !=''">
         AND contract_status =  #{queryDTO.contractStatus}
      </if>
      <if test="queryDTO.queryCompId !=null and queryDTO.queryCompId !=''">
         AND c.comp_id =  #{queryDTO.queryCompId}
      </if>
      <if test="queryDTO.queryArea !=null and queryDTO.queryArea !=''">
         AND bc.class_id =  #{queryDTO.queryArea}
      </if>
      <if test="queryDTO.queryServiceAttr !=null and queryDTO.queryServiceAttr !=''">
         AND bc.export_service_attr =  #{queryDTO.queryServiceAttr}
      </if>
      <if test="queryDTO.queryType !=null and queryDTO.queryType !='' and queryDTO.queryType =='1'.toString()">
         AND c.sign_date &gt;= CURDATE()
         AND c.sign_date &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )
      </if>
      <if test="queryDTO.queryType !=null and queryDTO.queryType !='' and queryDTO.queryType =='2'.toString()">
         AND c.sign_date &gt;= DATE_FORMAT( CURDATE(), '%Y-01-01' )
         AND c.sign_date &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 c.sign_date &gt;= DATE_FORMAT( CURDATE(), '%Y-01-01' )
         AND c.sign_date &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )
      </if>
      <if test="queryDTO.startTime !=null and queryDTO.endTime !=null">
         AND c.sign_date &gt;=  #{queryDTO.startTime}
         AND c.sign_date &lt;=  #{queryDTO.endTime}
      </if>
      ORDER BY
         create_time DESC
         c.create_time DESC
   </select>
    <select id="homeZbjt" resultType="com.by4cloud.platformx.business.vo.HomeZbjtVo">
      SELECT
      (
      SELECT
      sum( c.amount )
      FROM
      contract c
      WHERE
      c.del_flag = '0'
      AND comp_id = 2056556196124250113
      AND c.sign_date &gt;= CURDATE()
      AND c.sign_date &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )) sgbbr,
      (
      SELECT
      sum( c.amount )
      FROM
      contract c
      WHERE
      c.del_flag = '0'
      AND comp_id = 2056556196124250113
      AND c.sign_date &gt;= DATE_FORMAT( CURDATE(), '%Y-%m-01' )
      AND c.sign_date &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01' )) sgbby,
      (
      SELECT
      sum( c.amount )
      FROM
      contract c
      WHERE
      c.del_flag = '0'
      AND comp_id = 2056556196124250113
      AND c.sign_date &gt;= DATE_FORMAT( CURDATE(), '%Y-01-01' )
      AND c.sign_date &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )) sgbbn,
      (
      SELECT
      sum( c.amount )
      FROM
      contract c
      WHERE
      c.del_flag = '0'
      AND comp_id = 2056555602756063234
      AND c.sign_date &gt;= CURDATE()
      AND c.sign_date &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )) smjbr,
      (
      SELECT
      sum( c.amount )
      FROM
      contract c
      WHERE
      c.del_flag = '0'
      AND comp_id = 2056555602756063234
      AND c.sign_date &gt;=DATE_FORMAT( CURDATE(), '%Y-%m-01' )
      AND c.sign_date &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01' )) smjby,
      (
      SELECT
      sum( c.amount )
      FROM
      contract c
      WHERE
      c.del_flag = '0'
      AND comp_id = 2056555602756063234
      AND c.sign_date &gt;=DATE_FORMAT( CURDATE(), '%Y-01-01' )
      AND c.sign_date &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )) smjbn,
      (
      SELECT
      sum( c.amount )
      FROM
      contract c
      WHERE
      c.del_flag = '0'
      AND comp_id = 2056556317461270529
      AND c.sign_date &gt;=CURDATE()
      AND c.sign_date &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )) jxcbr,
      (
      SELECT
      sum( c.amount )
      FROM
      contract c
      WHERE
      c.del_flag = '0'
      AND comp_id = 2056556317461270529
      AND c.sign_date &gt;=DATE_FORMAT( CURDATE(), '%Y-%m-01' )
      AND c.sign_date &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01' )) jxcby,
      (
      SELECT
      sum( c.amount )
      FROM
      contract c
      WHERE
      c.del_flag = '0'
      AND comp_id = 2056556317461270529
      AND c.sign_date &gt;=DATE_FORMAT( CURDATE(), '%Y-01-01' )
      AND c.sign_date &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )) jxcbn,
      (
      SELECT
      sum( c.amount )
      FROM
      contract c
      WHERE
      c.del_flag = '0'
      AND comp_id = 2056556421857497090
      AND c.sign_date &gt;=CURDATE()
      AND c.sign_date &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )) tfbr,
      (
      SELECT
      sum( c.amount )
      FROM
      contract c
      WHERE
      c.del_flag = '0'
      AND comp_id = 2056556421857497090
      AND c.sign_date &gt;=DATE_FORMAT( CURDATE(), '%Y-%m-01' )
      AND c.sign_date &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01' )) tfby,
      (
      SELECT
      sum( c.amount )
      FROM
      contract c
      WHERE
      c.del_flag = '0'
      AND comp_id = 2056556421857497090
      AND c.sign_date &gt;=DATE_FORMAT( CURDATE(), '%Y-01-01' )
      AND c.sign_date &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )) tfbn,
      (
      SELECT
      sum( c.amount )
      FROM
      contract c
      WHERE
      c.del_flag = '0'
      AND comp_id = 2056556535640576002
      AND c.sign_date &gt;=CURDATE()
      AND c.sign_date &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )) ymjbr,
      (
      SELECT
      sum( c.amount )
      FROM
      contract c
      WHERE
      c.del_flag = '0'
      AND comp_id = 2056556535640576002
      AND c.sign_date &gt;=DATE_FORMAT( CURDATE(), '%Y-%m-01' )
      AND c.sign_date &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01' )) ymjby,
      (
      SELECT
      sum( c.amount )
      FROM
      contract c
      WHERE
      c.del_flag = '0'
      AND comp_id = 2056556535640576002
      AND c.sign_date &gt;=DATE_FORMAT( CURDATE(), '%Y-01-01' )
      AND c.sign_date &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(c.amount)
      FROM
      contract c,
      business_customer bc
      WHERE
      c.del_flag = '0'
      AND bc.del_flag = '0'
      AND bc.id = c.party_a_id
      AND bc.area_id = '2'
      AND c.comp_id = #{compId}
      AND c.sign_date &gt;= CURDATE()
      AND c.sign_date &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )) hbbr,
      (
      SELECT
      sum(c.amount)
      FROM
      contract c,
      business_customer bc
      WHERE
      c.del_flag = '0'
      AND bc.del_flag = '0'
      AND bc.id = c.party_a_id
      AND bc.area_id = '2'
        AND c.comp_id = #{compId}
      AND c.sign_date &gt;= DATE_FORMAT( CURDATE(), '%Y-%m-01' )
      AND c.sign_date &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01' )) hbby,
      (
      SELECT
      sum(c.amount)
      FROM
      contract c,
      business_customer bc
      WHERE
      c.del_flag = '0'
      AND bc.del_flag = '0'
      AND bc.id = c.party_a_id
      AND bc.area_id = '2'
        AND c.comp_id = #{compId}
      AND c.sign_date &gt;= DATE_FORMAT( CURDATE(), '%Y-01-01' )
      AND c.sign_date &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )) hbbn,
      (
      SELECT
      sum(c.amount)
      FROM
      contract c,
      business_customer bc
      WHERE
      c.del_flag = '0'
      AND bc.del_flag = '0'
      AND bc.id = c.party_a_id
      AND bc.area_id = '6'
        AND c.comp_id = #{compId}
      AND c.sign_date &gt;= CURDATE()
      AND c.sign_date &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )) xbbr,
      (
      SELECT
      sum(c.amount)
      FROM
      contract c,
      business_customer bc
      WHERE
      c.del_flag = '0'
      AND bc.del_flag = '0'
      AND bc.id = c.party_a_id
      AND bc.area_id = '6'
        AND c.comp_id = #{compId}
      AND c.sign_date &gt;= DATE_FORMAT( CURDATE(), '%Y-%m-01' )
      AND c.sign_date &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01' )) xbby,
      (
      SELECT
      sum(c.amount)
      FROM
      contract c,
      business_customer bc
      WHERE
      c.del_flag = '0'
      AND bc.del_flag = '0'
      AND bc.id = c.party_a_id
      AND bc.area_id = '6'
        AND c.comp_id = #{compId}
      AND c.sign_date &gt;= DATE_FORMAT( CURDATE(), '%Y-01-01' )
      AND c.sign_date &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )) xbbn,
      (
      SELECT
      sum(c.amount)
      FROM
      contract c,
      business_customer bc
      WHERE
      c.del_flag = '0'
      AND bc.del_flag = '0'
      AND bc.id = c.party_a_id
      AND bc.area_id = '1'
        AND c.comp_id = #{compId}
      AND c.sign_date &gt;= CURDATE()
      AND c.sign_date &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )) dbbr,
      (
      SELECT
      sum(c.amount)
      FROM
      contract c,
      business_customer bc
      WHERE
      c.del_flag = '0'
      AND bc.del_flag = '0'
      AND bc.id = c.party_a_id
      AND bc.area_id = '1'
        AND c.comp_id = #{compId}
      AND c.sign_date &gt;= DATE_FORMAT( CURDATE(), '%Y-%m-01' )
      AND c.sign_date &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01' )) dbby,
      (
      SELECT
      sum(c.amount)
      FROM
      contract c,
      business_customer bc
      WHERE
      c.del_flag = '0'
      AND bc.del_flag = '0'
      AND bc.id = c.party_a_id
      AND bc.area_id = '1'
        AND c.comp_id = #{compId}
      AND c.sign_date &gt;= DATE_FORMAT( CURDATE(), '%Y-01-01' )
      AND c.sign_date &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )) dbbn,
      (
         SELECT
            sum(c.amount)
         FROM
            contract c,
            business_customer bc
         WHERE
            c.del_flag = '0'
           AND bc.del_flag = '0'
           AND bc.id = c.party_a_id
           AND bc.area_id = '5'
           AND c.comp_id = #{compId}
           AND c.sign_date &gt;= CURDATE()
           AND c.sign_date &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )) xnbr,
      (
         SELECT
            sum(c.amount)
         FROM
            contract c,
            business_customer bc
         WHERE
            c.del_flag = '0'
           AND bc.del_flag = '0'
           AND bc.id = c.party_a_id
           AND bc.area_id = '5'
           AND c.comp_id = #{compId}
           AND c.sign_date &gt;= DATE_FORMAT( CURDATE(), '%Y-%m-01' )
           AND c.sign_date &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01' )) xnby,
      (
         SELECT
            sum(c.amount)
         FROM
            contract c,
            business_customer bc
         WHERE
            c.del_flag = '0'
           AND bc.del_flag = '0'
           AND bc.id = c.party_a_id
           AND bc.area_id = '5'
           AND c.comp_id = #{compId}
           AND c.sign_date &gt;= DATE_FORMAT( CURDATE(), '%Y-01-01' )
           AND c.sign_date &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )) xnbn,
      (
         SELECT
            sum(c.amount)
         FROM
            contract c,
            business_customer bc
         WHERE
            c.del_flag = '0'
           AND bc.del_flag = '0'
           AND bc.id = c.party_a_id
           AND bc.area_id = '4'
           AND c.comp_id = #{compId}
           AND c.sign_date &gt;= CURDATE()
           AND c.sign_date &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )) znbr,
      (
         SELECT
            sum(c.amount)
         FROM
            contract c,
            business_customer bc
         WHERE
            c.del_flag = '0'
           AND bc.del_flag = '0'
           AND bc.id = c.party_a_id
           AND bc.area_id = '4'
           AND c.comp_id = #{compId}
           AND c.sign_date &gt;= DATE_FORMAT( CURDATE(), '%Y-%m-01' )
           AND c.sign_date &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01' )) znby,
      (
         SELECT
            sum(c.amount)
         FROM
            contract c,
            business_customer bc
         WHERE
            c.del_flag = '0'
           AND bc.del_flag = '0'
           AND bc.id = c.party_a_id
           AND bc.area_id = '4'
           AND c.comp_id = #{compId}
           AND c.sign_date &gt;= DATE_FORMAT( CURDATE(), '%Y-01-01' )
           AND c.sign_date &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )) znbn,
      (
         SELECT
            sum(c.amount)
         FROM
            contract c,
            business_customer bc
         WHERE
            c.del_flag = '0'
           AND bc.del_flag = '0'
           AND bc.id = c.party_a_id
           AND bc.area_id = '3'
           AND c.comp_id = #{compId}
           AND c.sign_date &gt;= CURDATE()
           AND c.sign_date &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )) hdbr,
      (
         SELECT
            sum(c.amount)
         FROM
            contract c,
            business_customer bc
         WHERE
            c.del_flag = '0'
           AND bc.del_flag = '0'
           AND bc.id = c.party_a_id
           AND bc.area_id = '3'
           AND c.comp_id = #{compId}
           AND c.sign_date &gt;= DATE_FORMAT( CURDATE(), '%Y-%m-01' )
           AND c.sign_date &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01' )) hdby,
      (
         SELECT
            sum(c.amount)
         FROM
            contract c,
            business_customer bc
         WHERE
            c.del_flag = '0'
           AND bc.del_flag = '0'
           AND bc.id = c.party_a_id
           AND bc.area_id = '3'
           AND c.comp_id = #{compId}
           AND c.sign_date &gt;= DATE_FORMAT( CURDATE(), '%Y-01-01' )
           AND c.sign_date &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )) hdbn,
      (
      SELECT
      sum(c.amount)
      FROM
      contract c,
      business_customer bc
      WHERE
      c.del_flag = '0'
      AND bc.del_flag = '0'
      AND bc.id = c.party_a_id
      AND bc.export_service_attr = '2'
        AND c.comp_id = #{compId}
      AND c.sign_date &gt;= CURDATE()
      AND c.sign_date &lt; DATE_ADD( CURDATE(), INTERVAL 1 DAY )) hwbr,
      (
      SELECT
      sum(c.amount)
      FROM
      contract c,
      business_customer bc
      WHERE
      c.del_flag = '0'
      AND bc.del_flag = '0'
      AND bc.id = c.party_a_id
      AND bc.export_service_attr = '2'
        AND c.comp_id = #{compId}
      AND c.sign_date &gt;= DATE_FORMAT( CURDATE(), '%Y-%m-01' )
      AND c.sign_date &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01' )) hwby,
      (
      SELECT
      sum(c.amount)
      FROM
      contract c,
      business_customer bc
      WHERE
      c.del_flag = '0'
      AND bc.del_flag = '0'
      AND bc.id = c.party_a_id
      AND bc.export_service_attr = '2'
        AND c.comp_id = #{compId}
      AND c.sign_date &gt;= DATE_FORMAT( CURDATE(), '%Y-01-01' )
      AND c.sign_date &lt; DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )) hwbn
   </select>
</mapper>