<?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.boco.nbd.wios.manage.mapper.def.InvoiceMapper">
  <resultMap id="BaseResultMap" type="com.boco.nbd.wios.manage.entity.settlement.po.Invoice">
    <id column="order_id" jdbcType="VARCHAR" property="orderId" />
    <result column="additional_cost_invoice_status" jdbcType="INTEGER" property="additionalCostInvoiceStatus" />
    <result column="additional_cost_invoice_date" jdbcType="DATE" property="additionalCostInvoiceDate" />
    <result column="additional_cost_invoice_number" jdbcType="VARCHAR" property="additionalCostInvoiceNumber" />
    <result column="package_device_invoice_status" jdbcType="INTEGER" property="packageDeviceInvoiceStatus" />
    <result column="package_device_invoice_date" jdbcType="DATE" property="packageDeviceInvoiceDate" />
    <result column="package_device_fee_with_tax" jdbcType="DECIMAL" property="packageDeviceFeeWithTax" />
    <result column="package_device_tax" jdbcType="DECIMAL" property="packageDeviceTax" />
    <result column="package_device_invoice_number" jdbcType="VARCHAR" property="packageDeviceInvoiceNumber" />
    <result column="package_device_receive_status" jdbcType="INTEGER" property="packageDeviceReceiveStatus" />
    <result column="package_install_invoice_status" jdbcType="INTEGER" property="packageInstallInvoiceStatus" />
    <result column="package_install_invoice_date" jdbcType="DATE" property="packageInstallInvoiceDate" />
    <result column="package_install_fee_with_tax" jdbcType="DECIMAL" property="packageInstallFeeWithTax" />
    <result column="package_install_tax" jdbcType="DECIMAL" property="packageInstallTax" />
    <result column="package_install_invoice_number" jdbcType="VARCHAR" property="packageInstallInvoiceNumber" />
    <result column="package_install_receive_status" jdbcType="INTEGER" property="packageInstallReceiveStatus" />
    <result column="supplier_receive_invoice_status" jdbcType="INTEGER" property="supplierReceiveInvoiceStatus" />
    <result column="supplier_invoice_date" jdbcType="DATE" property="supplierInvoiceDate" />
    <result column="supplier_fee_with_tax" jdbcType="DECIMAL" property="supplierFeeWithTax" />
    <result column="supplier_tax" jdbcType="DECIMAL" property="supplierTax" />
    <result column="supplier_invoice_number" jdbcType="VARCHAR" property="supplierInvoiceNumber" />
    <result column="supplier_pay_status" jdbcType="INTEGER" property="supplierPayStatus" />
    <result column="receive_invoice_status" jdbcType="INTEGER" property="receiveInvoiceStatus" />
    <result column="invoice_date" jdbcType="DATE" property="invoiceDate" />
    <result column="fee_with_tax" jdbcType="DECIMAL" property="feeWithTax" />
    <result column="tax" jdbcType="DECIMAL" property="tax" />
    <result column="invoice_number" jdbcType="VARCHAR" property="invoiceNumber" />
    <result column="pay_status" jdbcType="INTEGER" property="payStatus" />
    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
    <result column="modify_time" jdbcType="TIMESTAMP" property="modifyTime" />
    <result column="is_del" jdbcType="INTEGER" property="isDel" />
    <result column="submit_item" jdbcType="INTEGER" property="submitItem" />
  </resultMap>
  <sql id="Example_Where_Clause">
    <where>
      <foreach collection="oredCriteria" item="criteria" separator="or">
        <if test="criteria.valid">
          <trim prefix="(" prefixOverrides="and" suffix=")">
            <foreach collection="criteria.criteria" item="criterion">
              <choose>
                <when test="criterion.noValue">
                  and ${criterion.condition}
                </when>
                <when test="criterion.singleValue">
                  and ${criterion.condition} #{criterion.value}
                </when>
                <when test="criterion.betweenValue">
                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
                </when>
                <when test="criterion.listValue">
                  and ${criterion.condition}
                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
                    #{listItem}
                  </foreach>
                </when>
              </choose>
            </foreach>
          </trim>
        </if>
      </foreach>
    </where>
  </sql>
  <sql id="Update_By_Example_Where_Clause">
    <where>
      <foreach collection="example.oredCriteria" item="criteria" separator="or">
        <if test="criteria.valid">
          <trim prefix="(" prefixOverrides="and" suffix=")">
            <foreach collection="criteria.criteria" item="criterion">
              <choose>
                <when test="criterion.noValue">
                  and ${criterion.condition}
                </when>
                <when test="criterion.singleValue">
                  and ${criterion.condition} #{criterion.value}
                </when>
                <when test="criterion.betweenValue">
                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
                </when>
                <when test="criterion.listValue">
                  and ${criterion.condition}
                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
                    #{listItem}
                  </foreach>
                </when>
              </choose>
            </foreach>
          </trim>
        </if>
      </foreach>
    </where>
  </sql>
  <sql id="Base_Column_List">
    order_id, additional_cost_invoice_status, additional_cost_invoice_date, additional_cost_invoice_number, 
    package_device_invoice_status, package_device_invoice_date, package_device_fee_with_tax, 
    package_device_tax, package_device_invoice_number, package_device_receive_status, 
    package_install_invoice_status, package_install_invoice_date, package_install_fee_with_tax, 
    package_install_tax, package_install_invoice_number, package_install_receive_status, 
    supplier_receive_invoice_status, supplier_invoice_date, supplier_fee_with_tax, supplier_tax, 
    supplier_invoice_number, supplier_pay_status, create_time, modify_time, is_del, submit_item
  </sql>
  <select id="selectByExample" parameterType="com.boco.nbd.wios.manage.entity.bo.InvoiceCriteria" resultMap="BaseResultMap">
    select
    <if test="distinct">
      distinct
    </if>
    <include refid="Base_Column_List" />
    from t_invoice
    <if test="_parameter != null">
      <include refid="Example_Where_Clause" />
    </if>
    <if test="orderByClause != null">
      order by ${orderByClause}
    </if>
  </select>
  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
    select 
    <include refid="Base_Column_List" />
    from t_invoice
    where order_id = #{orderId,jdbcType=VARCHAR}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
    delete from t_invoice
    where order_id = #{orderId,jdbcType=VARCHAR}
  </delete>
  <delete id="deleteByExample" parameterType="com.boco.nbd.wios.manage.entity.bo.InvoiceCriteria">
    delete from t_invoice
    <if test="_parameter != null">
      <include refid="Example_Where_Clause" />
    </if>
  </delete>
  <insert id="insert" parameterType="com.boco.nbd.wios.manage.entity.settlement.po.Invoice">
    insert into t_invoice (order_id, additional_cost_invoice_status, 
      additional_cost_invoice_date, additional_cost_invoice_number, 
      package_device_invoice_status, package_device_invoice_date, 
      package_device_fee_with_tax, package_device_tax, 
      package_device_invoice_number, package_device_receive_status, 
      package_install_invoice_status, package_install_invoice_date, 
      package_install_fee_with_tax, package_install_tax, 
      package_install_invoice_number, package_install_receive_status, 
      supplier_receive_invoice_status, supplier_invoice_date, 
      supplier_fee_with_tax, supplier_tax, supplier_invoice_number, 
      supplier_pay_status, create_time, modify_time, 
      is_del, submit_item)
    values (#{orderId,jdbcType=VARCHAR}, #{additionalCostInvoiceStatus,jdbcType=INTEGER}, 
      #{additionalCostInvoiceDate,jdbcType=DATE}, #{additionalCostInvoiceNumber,jdbcType=VARCHAR}, 
      #{packageDeviceInvoiceStatus,jdbcType=INTEGER}, #{packageDeviceInvoiceDate,jdbcType=DATE}, 
      #{packageDeviceFeeWithTax,jdbcType=DECIMAL}, #{packageDeviceTax,jdbcType=DECIMAL}, 
      #{packageDeviceInvoiceNumber,jdbcType=VARCHAR}, #{packageDeviceReceiveStatus,jdbcType=INTEGER}, 
      #{packageInstallInvoiceStatus,jdbcType=INTEGER}, #{packageInstallInvoiceDate,jdbcType=DATE}, 
      #{packageInstallFeeWithTax,jdbcType=DECIMAL}, #{packageInstallTax,jdbcType=DECIMAL}, 
      #{packageInstallInvoiceNumber,jdbcType=VARCHAR}, #{packageInstallReceiveStatus,jdbcType=INTEGER}, 
      #{supplierReceiveInvoiceStatus,jdbcType=INTEGER}, #{supplierInvoiceDate,jdbcType=DATE}, 
      #{supplierFeeWithTax,jdbcType=DECIMAL}, #{supplierTax,jdbcType=DECIMAL}, #{supplierInvoiceNumber,jdbcType=VARCHAR}, 
      #{supplierPayStatus,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{modifyTime,jdbcType=TIMESTAMP}, 
      #{isDel,jdbcType=INTEGER}, #{submitItem,jdbcType=INTEGER})
  </insert>
  <insert id="insertSelective" parameterType="com.boco.nbd.wios.manage.entity.settlement.po.Invoice">
    insert into t_invoice
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="orderId != null">
        order_id,
      </if>
      <if test="additionalCostInvoiceStatus != null">
        additional_cost_invoice_status,
      </if>
      <if test="additionalCostInvoiceDate != null">
        additional_cost_invoice_date,
      </if>
      <if test="additionalCostInvoiceNumber != null">
        additional_cost_invoice_number,
      </if>
      <if test="packageDeviceInvoiceStatus != null">
        package_device_invoice_status,
      </if>
      <if test="packageDeviceInvoiceDate != null">
        package_device_invoice_date,
      </if>
      <if test="packageDeviceFeeWithTax != null">
        package_device_fee_with_tax,
      </if>
      <if test="packageDeviceTax != null">
        package_device_tax,
      </if>
      <if test="packageDeviceInvoiceNumber != null">
        package_device_invoice_number,
      </if>
      <if test="packageDeviceReceiveStatus != null">
        package_device_receive_status,
      </if>
      <if test="packageInstallInvoiceStatus != null">
        package_install_invoice_status,
      </if>
      <if test="packageInstallInvoiceDate != null">
        package_install_invoice_date,
      </if>
      <if test="packageInstallFeeWithTax != null">
        package_install_fee_with_tax,
      </if>
      <if test="packageInstallTax != null">
        package_install_tax,
      </if>
      <if test="packageInstallInvoiceNumber != null">
        package_install_invoice_number,
      </if>
      <if test="packageInstallReceiveStatus != null">
        package_install_receive_status,
      </if>
      <if test="supplierReceiveInvoiceStatus != null">
        supplier_receive_invoice_status,
      </if>
      <if test="supplierInvoiceDate != null">
        supplier_invoice_date,
      </if>
      <if test="supplierFeeWithTax != null">
        supplier_fee_with_tax,
      </if>
      <if test="supplierTax != null">
        supplier_tax,
      </if>
      <if test="supplierInvoiceNumber != null">
        supplier_invoice_number,
      </if>
      <if test="supplierPayStatus != null">
        supplier_pay_status,
      </if>
      <if test="receiveInvoiceStatus != null">
        receive_invoice_status,
      </if>
      <if test="invoiceDate != null">
        invoice_date,
      </if>
      <if test="feeWithTax != null">
        fee_with_tax,
      </if>
      <if test="tax != null">
        tax,
      </if>
      <if test="invoiceNumber != null">
        invoice_number,
      </if>
      <if test="payStatus != null">
        pay_status,
      </if>
      <if test="createTime != null">
        create_time,
      </if>
      <if test="modifyTime != null">
        modify_time,
      </if>
      <if test="isDel != null">
        is_del,
      </if>
      <if test="submitItem != null">
        submit_item,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="orderId != null">
        #{orderId,jdbcType=VARCHAR},
      </if>
      <if test="additionalCostInvoiceStatus != null">
        #{additionalCostInvoiceStatus,jdbcType=INTEGER},
      </if>
      <if test="additionalCostInvoiceDate != null">
        #{additionalCostInvoiceDate,jdbcType=DATE},
      </if>
      <if test="additionalCostInvoiceNumber != null">
        #{additionalCostInvoiceNumber,jdbcType=VARCHAR},
      </if>
      <if test="packageDeviceInvoiceStatus != null">
        #{packageDeviceInvoiceStatus,jdbcType=INTEGER},
      </if>
      <if test="packageDeviceInvoiceDate != null">
        #{packageDeviceInvoiceDate,jdbcType=DATE},
      </if>
      <if test="packageDeviceFeeWithTax != null">
        #{packageDeviceFeeWithTax,jdbcType=DECIMAL},
      </if>
      <if test="packageDeviceTax != null">
        #{packageDeviceTax,jdbcType=DECIMAL},
      </if>
      <if test="packageDeviceInvoiceNumber != null">
        #{packageDeviceInvoiceNumber,jdbcType=VARCHAR},
      </if>
      <if test="packageDeviceReceiveStatus != null">
        #{packageDeviceReceiveStatus,jdbcType=INTEGER},
      </if>
      <if test="packageInstallInvoiceStatus != null">
        #{packageInstallInvoiceStatus,jdbcType=INTEGER},
      </if>
      <if test="packageInstallInvoiceDate != null">
        #{packageInstallInvoiceDate,jdbcType=DATE},
      </if>
      <if test="packageInstallFeeWithTax != null">
        #{packageInstallFeeWithTax,jdbcType=DECIMAL},
      </if>
      <if test="packageInstallTax != null">
        #{packageInstallTax,jdbcType=DECIMAL},
      </if>
      <if test="packageInstallInvoiceNumber != null">
        #{packageInstallInvoiceNumber,jdbcType=VARCHAR},
      </if>
      <if test="packageInstallReceiveStatus != null">
        #{packageInstallReceiveStatus,jdbcType=INTEGER},
      </if>
      <if test="supplierReceiveInvoiceStatus != null">
        #{supplierReceiveInvoiceStatus,jdbcType=INTEGER},
      </if>
      <if test="supplierInvoiceDate != null">
        #{supplierInvoiceDate,jdbcType=DATE},
      </if>
      <if test="supplierFeeWithTax != null">
        #{supplierFeeWithTax,jdbcType=DECIMAL},
      </if>
      <if test="supplierTax != null">
        #{supplierTax,jdbcType=DECIMAL},
      </if>
      <if test="supplierInvoiceNumber != null">
        #{supplierInvoiceNumber,jdbcType=VARCHAR},
      </if>
      <if test="supplierPayStatus != null">
        #{supplierPayStatus,jdbcType=INTEGER},
      </if>
      <if test="receiveInvoiceStatus != null">
        #{receiveInvoiceStatus,jdbcType=INTEGER},
      </if>
      <if test="invoiceDate != null">
        #{invoiceDate,jdbcType=DATE},
      </if>
      <if test="feeWithTax != null">
        #{feeWithTax,jdbcType=DECIMAL},
      </if>
      <if test="tax != null">
        #{tax,jdbcType=DECIMAL},
      </if>
      <if test="invoiceNumber != null">
        #{invoiceNumber,jdbcType=VARCHAR},
      </if>
      <if test="payStatus != null">
        #{payStatus,jdbcType=INTEGER},
      </if>
      <if test="createTime != null">
        #{createTime,jdbcType=TIMESTAMP},
      </if>
      <if test="modifyTime != null">
        #{modifyTime,jdbcType=TIMESTAMP},
      </if>
      <if test="isDel != null">
        #{isDel,jdbcType=INTEGER},
      </if>
      <if test="submitItem != null">
        #{submitItem,jdbcType=INTEGER},
      </if>
    </trim>
  </insert>
  <select id="countByExample" parameterType="com.boco.nbd.wios.manage.entity.bo.InvoiceCriteria" resultType="java.lang.Long">
    select count(*) from t_invoice
    <if test="_parameter != null">
      <include refid="Example_Where_Clause" />
    </if>
  </select>
  <select id="getAdditionalCostInvoiceList" resultType="com.boco.nbd.wios.manage.entity.settlement.po.Invoice">
    select
    <include refid="Base_Column_List" />
    from t_invoice
    where additional_cost_invoice_number is not null
  </select>
  <update id="updateByExampleSelective" parameterType="map">
    update t_invoice
    <set>
      <if test="record.orderId != null">
        order_id = #{record.orderId,jdbcType=VARCHAR},
      </if>
      <if test="record.additionalCostInvoiceStatus != null">
        additional_cost_invoice_status = #{record.additionalCostInvoiceStatus,jdbcType=INTEGER},
      </if>
      <if test="record.additionalCostInvoiceDate != null">
        additional_cost_invoice_date = #{record.additionalCostInvoiceDate,jdbcType=DATE},
      </if>
      <if test="record.additionalCostInvoiceNumber != null">
        additional_cost_invoice_number = #{record.additionalCostInvoiceNumber,jdbcType=VARCHAR},
      </if>
      <if test="record.packageDeviceInvoiceStatus != null">
        package_device_invoice_status = #{record.packageDeviceInvoiceStatus,jdbcType=INTEGER},
      </if>
      <if test="record.packageDeviceInvoiceDate != null">
        package_device_invoice_date = #{record.packageDeviceInvoiceDate,jdbcType=DATE},
      </if>
      <if test="record.packageDeviceFeeWithTax != null">
        package_device_fee_with_tax = #{record.packageDeviceFeeWithTax,jdbcType=DECIMAL},
      </if>
      <if test="record.packageDeviceTax != null">
        package_device_tax = #{record.packageDeviceTax,jdbcType=DECIMAL},
      </if>
      <if test="record.packageDeviceInvoiceNumber != null">
        package_device_invoice_number = #{record.packageDeviceInvoiceNumber,jdbcType=VARCHAR},
      </if>
      <if test="record.packageDeviceReceiveStatus != null">
        package_device_receive_status = #{record.packageDeviceReceiveStatus,jdbcType=INTEGER},
      </if>
      <if test="record.packageInstallInvoiceStatus != null">
        package_install_invoice_status = #{record.packageInstallInvoiceStatus,jdbcType=INTEGER},
      </if>
      <if test="record.packageInstallInvoiceDate != null">
        package_install_invoice_date = #{record.packageInstallInvoiceDate,jdbcType=DATE},
      </if>
      <if test="record.packageInstallFeeWithTax != null">
        package_install_fee_with_tax = #{record.packageInstallFeeWithTax,jdbcType=DECIMAL},
      </if>
      <if test="record.packageInstallTax != null">
        package_install_tax = #{record.packageInstallTax,jdbcType=DECIMAL},
      </if>
      <if test="record.packageInstallInvoiceNumber != null">
        package_install_invoice_number = #{record.packageInstallInvoiceNumber,jdbcType=VARCHAR},
      </if>
      <if test="record.packageInstallReceiveStatus != null">
        package_install_receive_status = #{record.packageInstallReceiveStatus,jdbcType=INTEGER},
      </if>
      <if test="record.supplierReceiveInvoiceStatus != null">
        supplier_receive_invoice_status = #{record.supplierReceiveInvoiceStatus,jdbcType=INTEGER},
      </if>
      <if test="record.supplierInvoiceDate != null">
        supplier_invoice_date = #{record.supplierInvoiceDate,jdbcType=DATE},
      </if>
      <if test="record.supplierFeeWithTax != null">
        supplier_fee_with_tax = #{record.supplierFeeWithTax,jdbcType=DECIMAL},
      </if>
      <if test="record.supplierTax != null">
        supplier_tax = #{record.supplierTax,jdbcType=DECIMAL},
      </if>
      <if test="record.supplierInvoiceNumber != null">
        supplier_invoice_number = #{record.supplierInvoiceNumber,jdbcType=VARCHAR},
      </if>
      <if test="record.supplierPayStatus != null">
        supplier_pay_status = #{record.supplierPayStatus,jdbcType=INTEGER},
      </if>
      <if test="record.createTime != null">
        create_time = #{record.createTime,jdbcType=TIMESTAMP},
      </if>
      <if test="record.modifyTime != null">
        modify_time = #{record.modifyTime,jdbcType=TIMESTAMP},
      </if>
      <if test="record.isDel != null">
        is_del = #{record.isDel,jdbcType=INTEGER},
      </if>
      <if test="record.submitItem != null">
        submit_item = #{record.submitItem,jdbcType=INTEGER},
      </if>
    </set>
    <if test="_parameter != null">
      <include refid="Update_By_Example_Where_Clause" />
    </if>
  </update>
  <update id="updateByExample" parameterType="map">
    update t_invoice
    set order_id = #{record.orderId,jdbcType=VARCHAR},
      additional_cost_invoice_status = #{record.additionalCostInvoiceStatus,jdbcType=INTEGER},
      additional_cost_invoice_date = #{record.additionalCostInvoiceDate,jdbcType=DATE},
      additional_cost_invoice_number = #{record.additionalCostInvoiceNumber,jdbcType=VARCHAR},
      package_device_invoice_status = #{record.packageDeviceInvoiceStatus,jdbcType=INTEGER},
      package_device_invoice_date = #{record.packageDeviceInvoiceDate,jdbcType=DATE},
      package_device_fee_with_tax = #{record.packageDeviceFeeWithTax,jdbcType=DECIMAL},
      package_device_tax = #{record.packageDeviceTax,jdbcType=DECIMAL},
      package_device_invoice_number = #{record.packageDeviceInvoiceNumber,jdbcType=VARCHAR},
      package_device_receive_status = #{record.packageDeviceReceiveStatus,jdbcType=INTEGER},
      package_install_invoice_status = #{record.packageInstallInvoiceStatus,jdbcType=INTEGER},
      package_install_invoice_date = #{record.packageInstallInvoiceDate,jdbcType=DATE},
      package_install_fee_with_tax = #{record.packageInstallFeeWithTax,jdbcType=DECIMAL},
      package_install_tax = #{record.packageInstallTax,jdbcType=DECIMAL},
      package_install_invoice_number = #{record.packageInstallInvoiceNumber,jdbcType=VARCHAR},
      package_install_receive_status = #{record.packageInstallReceiveStatus,jdbcType=INTEGER},
      supplier_receive_invoice_status = #{record.supplierReceiveInvoiceStatus,jdbcType=INTEGER},
      supplier_invoice_date = #{record.supplierInvoiceDate,jdbcType=DATE},
      supplier_fee_with_tax = #{record.supplierFeeWithTax,jdbcType=DECIMAL},
      supplier_tax = #{record.supplierTax,jdbcType=DECIMAL},
      supplier_invoice_number = #{record.supplierInvoiceNumber,jdbcType=VARCHAR},
      supplier_pay_status = #{record.supplierPayStatus,jdbcType=INTEGER},
      create_time = #{record.createTime,jdbcType=TIMESTAMP},
      modify_time = #{record.modifyTime,jdbcType=TIMESTAMP},
      is_del = #{record.isDel,jdbcType=INTEGER},
      submit_item = #{record.submitItem,jdbcType=INTEGER}
    <if test="_parameter != null">
      <include refid="Update_By_Example_Where_Clause" />
    </if>
  </update>
  <update id="updateByPrimaryKeySelective" parameterType="com.boco.nbd.wios.manage.entity.settlement.po.Invoice">
    update t_invoice
    <set>
      <if test="additionalCostInvoiceStatus != null">
        additional_cost_invoice_status = #{additionalCostInvoiceStatus,jdbcType=INTEGER},
      </if>
      <if test="additionalCostInvoiceDate != null">
        additional_cost_invoice_date = #{additionalCostInvoiceDate,jdbcType=DATE},
      </if>
      <if test="additionalCostInvoiceNumber != null">
        additional_cost_invoice_number = #{additionalCostInvoiceNumber,jdbcType=VARCHAR},
      </if>
      <if test="packageDeviceInvoiceStatus != null">
        package_device_invoice_status = #{packageDeviceInvoiceStatus,jdbcType=INTEGER},
      </if>
      <if test="packageDeviceInvoiceDate != null">
        package_device_invoice_date = #{packageDeviceInvoiceDate,jdbcType=DATE},
      </if>
      <if test="packageDeviceFeeWithTax != null">
        package_device_fee_with_tax = #{packageDeviceFeeWithTax,jdbcType=DECIMAL},
      </if>
      <if test="packageDeviceTax != null">
        package_device_tax = #{packageDeviceTax,jdbcType=DECIMAL},
      </if>
      <if test="packageDeviceInvoiceNumber != null">
        package_device_invoice_number = #{packageDeviceInvoiceNumber,jdbcType=VARCHAR},
      </if>
      <if test="packageDeviceReceiveStatus != null">
        package_device_receive_status = #{packageDeviceReceiveStatus,jdbcType=INTEGER},
      </if>
      <if test="packageInstallInvoiceStatus != null">
        package_install_invoice_status = #{packageInstallInvoiceStatus,jdbcType=INTEGER},
      </if>
      <if test="packageInstallInvoiceDate != null">
        package_install_invoice_date = #{packageInstallInvoiceDate,jdbcType=DATE},
      </if>
      <if test="packageInstallFeeWithTax != null">
        package_install_fee_with_tax = #{packageInstallFeeWithTax,jdbcType=DECIMAL},
      </if>
      <if test="packageInstallTax != null">
        package_install_tax = #{packageInstallTax,jdbcType=DECIMAL},
      </if>
      <if test="packageInstallInvoiceNumber != null">
        package_install_invoice_number = #{packageInstallInvoiceNumber,jdbcType=VARCHAR},
      </if>
      <if test="packageInstallReceiveStatus != null">
        package_install_receive_status = #{packageInstallReceiveStatus,jdbcType=INTEGER},
      </if>
      <if test="supplierReceiveInvoiceStatus != null">
        supplier_receive_invoice_status = #{supplierReceiveInvoiceStatus,jdbcType=INTEGER},
      </if>
      <if test="supplierInvoiceDate != null">
        supplier_invoice_date = #{supplierInvoiceDate,jdbcType=DATE},
      </if>
      <if test="supplierFeeWithTax != null">
        supplier_fee_with_tax = #{supplierFeeWithTax,jdbcType=DECIMAL},
      </if>
      <if test="supplierTax != null">
        supplier_tax = #{supplierTax,jdbcType=DECIMAL},
      </if>
      <if test="supplierInvoiceNumber != null">
        supplier_invoice_number = #{supplierInvoiceNumber,jdbcType=VARCHAR},
      </if>
      <if test="supplierPayStatus != null">
        supplier_pay_status = #{supplierPayStatus,jdbcType=INTEGER},
      </if>
      <if test="receiveInvoiceStatus != null">
        receive_invoice_status = #{receiveInvoiceStatus,jdbcType=INTEGER},
      </if>
      <if test="invoiceDate != null">
        invoice_date = #{invoiceDate,jdbcType=DATE},
      </if>
      <if test="feeWithTax != null">
        fee_with_tax = #{feeWithTax,jdbcType=DECIMAL},
      </if>
      <if test="tax != null">
        tax = #{tax,jdbcType=DECIMAL},
      </if>
      <if test="invoiceNumber != null">
        invoice_number = #{invoiceNumber,jdbcType=VARCHAR},
      </if>
      <if test="payStatus != null">
        pay_status = #{payStatus,jdbcType=INTEGER},
      </if>
      <if test="createTime != null">
        create_time = #{createTime,jdbcType=TIMESTAMP},
      </if>
      <if test="modifyTime != null">
        modify_time = #{modifyTime,jdbcType=TIMESTAMP},
      </if>
      <if test="isDel != null">
        is_del = #{isDel,jdbcType=INTEGER},
      </if>
      <if test="submitItem != null">
        submit_item = #{submitItem,jdbcType=INTEGER},
      </if>
    </set>
    where order_id = #{orderId,jdbcType=VARCHAR}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.boco.nbd.wios.manage.entity.settlement.po.Invoice">
    update t_invoice
    set additional_cost_invoice_status = #{additionalCostInvoiceStatus,jdbcType=INTEGER},
      additional_cost_invoice_date = #{additionalCostInvoiceDate,jdbcType=DATE},
      additional_cost_invoice_number = #{additionalCostInvoiceNumber,jdbcType=VARCHAR},
      package_device_invoice_status = #{packageDeviceInvoiceStatus,jdbcType=INTEGER},
      package_device_invoice_date = #{packageDeviceInvoiceDate,jdbcType=DATE},
      package_device_fee_with_tax = #{packageDeviceFeeWithTax,jdbcType=DECIMAL},
      package_device_tax = #{packageDeviceTax,jdbcType=DECIMAL},
      package_device_invoice_number = #{packageDeviceInvoiceNumber,jdbcType=VARCHAR},
      package_device_receive_status = #{packageDeviceReceiveStatus,jdbcType=INTEGER},
      package_install_invoice_status = #{packageInstallInvoiceStatus,jdbcType=INTEGER},
      package_install_invoice_date = #{packageInstallInvoiceDate,jdbcType=DATE},
      package_install_fee_with_tax = #{packageInstallFeeWithTax,jdbcType=DECIMAL},
      package_install_tax = #{packageInstallTax,jdbcType=DECIMAL},
      package_install_invoice_number = #{packageInstallInvoiceNumber,jdbcType=VARCHAR},
      package_install_receive_status = #{packageInstallReceiveStatus,jdbcType=INTEGER},
      supplier_receive_invoice_status = #{supplierReceiveInvoiceStatus,jdbcType=INTEGER},
      supplier_invoice_date = #{supplierInvoiceDate,jdbcType=DATE},
      supplier_fee_with_tax = #{supplierFeeWithTax,jdbcType=DECIMAL},
      supplier_tax = #{supplierTax,jdbcType=DECIMAL},
      supplier_invoice_number = #{supplierInvoiceNumber,jdbcType=VARCHAR},
      supplier_pay_status = #{supplierPayStatus,jdbcType=INTEGER},
      create_time = #{createTime,jdbcType=TIMESTAMP},
      modify_time = #{modifyTime,jdbcType=TIMESTAMP},
      is_del = #{isDel,jdbcType=INTEGER},
      submit_item = #{submitItem,jdbcType=INTEGER}
    where order_id = #{orderId,jdbcType=VARCHAR}
  </update>
</mapper>