<?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.goafanti.common.dao.TOrderNewMapper">
  <resultMap id="BaseResultMap" type="com.goafanti.common.model.TOrderNew">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Fri May 15 10:33:54 CST 2020.
    -->
    <id column="order_no" jdbcType="VARCHAR" property="orderNo" />
    <result column="order_type" jdbcType="INTEGER" property="orderType" />
    <result column="creater" jdbcType="VARCHAR" property="creater" />
    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
    <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
    <result column="buyer_id" jdbcType="VARCHAR" property="buyerId" />
    <result column="first_amount" jdbcType="DECIMAL" property="firstAmount" />
    <result column="total_amount" jdbcType="DECIMAL" property="totalAmount" />
    <result column="settlement_amount" jdbcType="DECIMAL" property="settlementAmount" />
    <result column="refund_amount" jdbcType="DECIMAL" property="refundAmount" />
    <result column="order_status" jdbcType="INTEGER" property="orderStatus" />
    <result column="liquidation_status" jdbcType="INTEGER" property="liquidationStatus" />
    <result column="process_status" jdbcType="INTEGER" property="processStatus" />
    <result column="project_status" jdbcType="INTEGER" property="projectStatus" />
    <result column="approval" jdbcType="INTEGER" property="approval" />
    <result column="order_remarks" jdbcType="VARCHAR" property="orderRemarks" />
    <result column="delete_sign" jdbcType="INTEGER" property="deleteSign" />
    <result column="salesman_id" jdbcType="VARCHAR" property="salesmanId" />
    <result column="finance_id" jdbcType="VARCHAR" property="financeId" />
    <result column="technician_id" jdbcType="VARCHAR" property="technicianId" />
    <result column="sign_time" jdbcType="DATE" property="signTime" />
    <result column="settlement_time" jdbcType="DATE" property="settlementTime" />
    <result column="contract_no" jdbcType="VARCHAR" property="contractNo" />
    <result column="contract_type" jdbcType="VARCHAR" property="contractType" />
    <result column="contacts" jdbcType="VARCHAR" property="contacts" />
    <result column="contact_mobile" jdbcType="VARCHAR" property="contactMobile" />
    <result column="legal_person" jdbcType="VARCHAR" property="legalPerson" />
    <result column="legal_person_tel" jdbcType="VARCHAR" property="legalPersonTel" />
    <result column="proof_count" jdbcType="REAL" property="proofCount" />
    <result column="proof_aid" jdbcType="VARCHAR" property="proofAid" />
    <result column="proof_time" jdbcType="TIMESTAMP" property="proofTime" />
    <result column="proof_status" jdbcType="INTEGER" property="proofStatus" />
    <result column="order_dep" jdbcType="VARCHAR" property="orderDep" />
    <result column="outsource" jdbcType="INTEGER" property="outsource" />
    <result column="additional_order" jdbcType="VARCHAR" property="additionalOrder" />
    <result column="primary_order" jdbcType="VARCHAR" property="primaryOrder" />
    <result column="old_salesman_id" jdbcType="VARCHAR" property="oldSalesmanId" />
    <result column="back_status" jdbcType="INTEGER" property="backStatus" />
  </resultMap>
  <resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.goafanti.common.model.TOrderNewWithBLOBs">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Fri May 15 10:33:54 CST 2020.
    -->
    <result column="contract_picture_url" jdbcType="LONGVARCHAR" property="contractPictureUrl" />
    <result column="agreement_url" jdbcType="LONGVARCHAR" property="agreementUrl" />
  </resultMap>
  <sql id="Example_Where_Clause">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Fri May 15 10:33:54 CST 2020.
    -->
    <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">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Fri May 15 10:33:54 CST 2020.
    -->
    <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">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Fri May 15 10:33:54 CST 2020.
    -->
    order_no, order_type, creater, create_time, update_time, buyer_id, first_amount, 
    total_amount, settlement_amount, refund_amount, order_status, liquidation_status, 
    process_status, project_status, approval, order_remarks, delete_sign, salesman_id, 
    finance_id, technician_id, sign_time, settlement_time, contract_no, contract_type, 
    contacts, contact_mobile, legal_person, legal_person_tel, proof_count, proof_aid, 
    proof_time, proof_status, order_dep, outsource, additional_order, primary_order, 
    old_salesman_id, back_status
  </sql>
  <sql id="Blob_Column_List">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Fri May 15 10:33:54 CST 2020.
    -->
    contract_picture_url, agreement_url
  </sql>
  <select id="selectByExampleWithBLOBs" parameterType="com.goafanti.common.model.TOrderNewExample" resultMap="ResultMapWithBLOBs">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Fri May 15 10:33:54 CST 2020.
    -->
    select
    <if test="distinct">
      distinct
    </if>
    <include refid="Base_Column_List" />
    ,
    <include refid="Blob_Column_List" />
    from t_order_new
    <if test="_parameter != null">
      <include refid="Example_Where_Clause" />
    </if>
    <if test="orderByClause != null">
      order by ${orderByClause}
    </if>
  </select>
  <select id="selectByExample" parameterType="com.goafanti.common.model.TOrderNewExample" resultMap="BaseResultMap">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Fri May 15 10:33:54 CST 2020.
    -->
    select
    <if test="distinct">
      distinct
    </if>
    <include refid="Base_Column_List" />
    from t_order_new
    <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="ResultMapWithBLOBs">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Fri May 15 10:33:54 CST 2020.
    -->
    select 
    <include refid="Base_Column_List" />
    ,
    <include refid="Blob_Column_List" />
    from t_order_new
    where order_no = #{orderNo,jdbcType=VARCHAR}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Fri May 15 10:33:54 CST 2020.
    -->
    delete from t_order_new
    where order_no = #{orderNo,jdbcType=VARCHAR}
  </delete>
  <delete id="deleteByExample" parameterType="com.goafanti.common.model.TOrderNewExample">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Fri May 15 10:33:54 CST 2020.
    -->
    delete from t_order_new
    <if test="_parameter != null">
      <include refid="Example_Where_Clause" />
    </if>
  </delete>
  <insert id="insert" parameterType="com.goafanti.common.model.TOrderNewWithBLOBs">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Fri May 15 10:33:54 CST 2020.
    -->
    insert into t_order_new (order_no, order_type, creater, 
      create_time, update_time, buyer_id, 
      first_amount, total_amount, settlement_amount, 
      refund_amount, order_status, liquidation_status, 
      process_status, project_status, approval, 
      order_remarks, delete_sign, salesman_id, 
      finance_id, technician_id, sign_time, 
      settlement_time, contract_no, contract_type, 
      contacts, contact_mobile, legal_person, 
      legal_person_tel, proof_count, proof_aid, 
      proof_time, proof_status, order_dep, 
      outsource, additional_order, primary_order, 
      old_salesman_id, back_status, contract_picture_url, 
      agreement_url)
    values (#{orderNo,jdbcType=VARCHAR}, #{orderType,jdbcType=INTEGER}, #{creater,jdbcType=VARCHAR}, 
      #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, #{buyerId,jdbcType=VARCHAR}, 
      #{firstAmount,jdbcType=DECIMAL}, #{totalAmount,jdbcType=DECIMAL}, #{settlementAmount,jdbcType=DECIMAL}, 
      #{refundAmount,jdbcType=DECIMAL}, #{orderStatus,jdbcType=INTEGER}, #{liquidationStatus,jdbcType=INTEGER}, 
      #{processStatus,jdbcType=INTEGER}, #{projectStatus,jdbcType=INTEGER}, #{approval,jdbcType=INTEGER}, 
      #{orderRemarks,jdbcType=VARCHAR}, #{deleteSign,jdbcType=INTEGER}, #{salesmanId,jdbcType=VARCHAR}, 
      #{financeId,jdbcType=VARCHAR}, #{technicianId,jdbcType=VARCHAR}, #{signTime,jdbcType=DATE}, 
      #{settlementTime,jdbcType=DATE}, #{contractNo,jdbcType=VARCHAR}, #{contractType,jdbcType=VARCHAR}, 
      #{contacts,jdbcType=VARCHAR}, #{contactMobile,jdbcType=VARCHAR}, #{legalPerson,jdbcType=VARCHAR}, 
      #{legalPersonTel,jdbcType=VARCHAR}, #{proofCount,jdbcType=REAL}, #{proofAid,jdbcType=VARCHAR}, 
      #{proofTime,jdbcType=TIMESTAMP}, #{proofStatus,jdbcType=INTEGER}, #{orderDep,jdbcType=VARCHAR}, 
      #{outsource,jdbcType=INTEGER}, #{additionalOrder,jdbcType=VARCHAR}, #{primaryOrder,jdbcType=VARCHAR}, 
      #{oldSalesmanId,jdbcType=VARCHAR}, #{backStatus,jdbcType=INTEGER}, #{contractPictureUrl,jdbcType=LONGVARCHAR}, 
      #{agreementUrl,jdbcType=LONGVARCHAR})
  </insert>
  <insert id="insertSelective" parameterType="com.goafanti.common.model.TOrderNewWithBLOBs">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Fri May 15 10:33:54 CST 2020.
    -->
    insert into t_order_new
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="orderNo != null">
        order_no,
      </if>
      <if test="orderType != null">
        order_type,
      </if>
      <if test="creater != null">
        creater,
      </if>
      <if test="createTime != null">
        create_time,
      </if>
      <if test="updateTime != null">
        update_time,
      </if>
      <if test="buyerId != null">
        buyer_id,
      </if>
      <if test="firstAmount != null">
        first_amount,
      </if>
      <if test="totalAmount != null">
        total_amount,
      </if>
      <if test="settlementAmount != null">
        settlement_amount,
      </if>
      <if test="refundAmount != null">
        refund_amount,
      </if>
      <if test="orderStatus != null">
        order_status,
      </if>
      <if test="liquidationStatus != null">
        liquidation_status,
      </if>
      <if test="processStatus != null">
        process_status,
      </if>
      <if test="projectStatus != null">
        project_status,
      </if>
      <if test="approval != null">
        approval,
      </if>
      <if test="orderRemarks != null">
        order_remarks,
      </if>
      <if test="deleteSign != null">
        delete_sign,
      </if>
      <if test="salesmanId != null">
        salesman_id,
      </if>
      <if test="financeId != null">
        finance_id,
      </if>
      <if test="technicianId != null">
        technician_id,
      </if>
      <if test="signTime != null">
        sign_time,
      </if>
      <if test="settlementTime != null">
        settlement_time,
      </if>
      <if test="contractNo != null">
        contract_no,
      </if>
      <if test="contractType != null">
        contract_type,
      </if>
      <if test="contacts != null">
        contacts,
      </if>
      <if test="contactMobile != null">
        contact_mobile,
      </if>
      <if test="legalPerson != null">
        legal_person,
      </if>
      <if test="legalPersonTel != null">
        legal_person_tel,
      </if>
      <if test="proofCount != null">
        proof_count,
      </if>
      <if test="proofAid != null">
        proof_aid,
      </if>
      <if test="proofTime != null">
        proof_time,
      </if>
      <if test="proofStatus != null">
        proof_status,
      </if>
      <if test="orderDep != null">
        order_dep,
      </if>
      <if test="outsource != null">
        outsource,
      </if>
      <if test="additionalOrder != null">
        additional_order,
      </if>
      <if test="primaryOrder != null">
        primary_order,
      </if>
      <if test="oldSalesmanId != null">
        old_salesman_id,
      </if>
      <if test="backStatus != null">
        back_status,
      </if>
      <if test="contractPictureUrl != null">
        contract_picture_url,
      </if>
      <if test="agreementUrl != null">
        agreement_url,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="orderNo != null">
        #{orderNo,jdbcType=VARCHAR},
      </if>
      <if test="orderType != null">
        #{orderType,jdbcType=INTEGER},
      </if>
      <if test="creater != null">
        #{creater,jdbcType=VARCHAR},
      </if>
      <if test="createTime != null">
        #{createTime,jdbcType=TIMESTAMP},
      </if>
      <if test="updateTime != null">
        #{updateTime,jdbcType=TIMESTAMP},
      </if>
      <if test="buyerId != null">
        #{buyerId,jdbcType=VARCHAR},
      </if>
      <if test="firstAmount != null">
        #{firstAmount,jdbcType=DECIMAL},
      </if>
      <if test="totalAmount != null">
        #{totalAmount,jdbcType=DECIMAL},
      </if>
      <if test="settlementAmount != null">
        #{settlementAmount,jdbcType=DECIMAL},
      </if>
      <if test="refundAmount != null">
        #{refundAmount,jdbcType=DECIMAL},
      </if>
      <if test="orderStatus != null">
        #{orderStatus,jdbcType=INTEGER},
      </if>
      <if test="liquidationStatus != null">
        #{liquidationStatus,jdbcType=INTEGER},
      </if>
      <if test="processStatus != null">
        #{processStatus,jdbcType=INTEGER},
      </if>
      <if test="projectStatus != null">
        #{projectStatus,jdbcType=INTEGER},
      </if>
      <if test="approval != null">
        #{approval,jdbcType=INTEGER},
      </if>
      <if test="orderRemarks != null">
        #{orderRemarks,jdbcType=VARCHAR},
      </if>
      <if test="deleteSign != null">
        #{deleteSign,jdbcType=INTEGER},
      </if>
      <if test="salesmanId != null">
        #{salesmanId,jdbcType=VARCHAR},
      </if>
      <if test="financeId != null">
        #{financeId,jdbcType=VARCHAR},
      </if>
      <if test="technicianId != null">
        #{technicianId,jdbcType=VARCHAR},
      </if>
      <if test="signTime != null">
        #{signTime,jdbcType=DATE},
      </if>
      <if test="settlementTime != null">
        #{settlementTime,jdbcType=DATE},
      </if>
      <if test="contractNo != null">
        #{contractNo,jdbcType=VARCHAR},
      </if>
      <if test="contractType != null">
        #{contractType,jdbcType=VARCHAR},
      </if>
      <if test="contacts != null">
        #{contacts,jdbcType=VARCHAR},
      </if>
      <if test="contactMobile != null">
        #{contactMobile,jdbcType=VARCHAR},
      </if>
      <if test="legalPerson != null">
        #{legalPerson,jdbcType=VARCHAR},
      </if>
      <if test="legalPersonTel != null">
        #{legalPersonTel,jdbcType=VARCHAR},
      </if>
      <if test="proofCount != null">
        #{proofCount,jdbcType=REAL},
      </if>
      <if test="proofAid != null">
        #{proofAid,jdbcType=VARCHAR},
      </if>
      <if test="proofTime != null">
        #{proofTime,jdbcType=TIMESTAMP},
      </if>
      <if test="proofStatus != null">
        #{proofStatus,jdbcType=INTEGER},
      </if>
      <if test="orderDep != null">
        #{orderDep,jdbcType=VARCHAR},
      </if>
      <if test="outsource != null">
        #{outsource,jdbcType=INTEGER},
      </if>
      <if test="additionalOrder != null">
        #{additionalOrder,jdbcType=VARCHAR},
      </if>
      <if test="primaryOrder != null">
        #{primaryOrder,jdbcType=VARCHAR},
      </if>
      <if test="oldSalesmanId != null">
        #{oldSalesmanId,jdbcType=VARCHAR},
      </if>
      <if test="backStatus != null">
        #{backStatus,jdbcType=INTEGER},
      </if>
      <if test="contractPictureUrl != null">
        #{contractPictureUrl,jdbcType=LONGVARCHAR},
      </if>
      <if test="agreementUrl != null">
        #{agreementUrl,jdbcType=LONGVARCHAR},
      </if>
    </trim>
  </insert>
  <select id="countByExample" parameterType="com.goafanti.common.model.TOrderNewExample" resultType="java.lang.Long">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Fri May 15 10:33:54 CST 2020.
    -->
    select count(*) from t_order_new
    <if test="_parameter != null">
      <include refid="Example_Where_Clause" />
    </if>
  </select>
  <update id="updateByExampleSelective" parameterType="map">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Fri May 15 10:33:54 CST 2020.
    -->
    update t_order_new
    <set>
      <if test="record.orderNo != null">
        order_no = #{record.orderNo,jdbcType=VARCHAR},
      </if>
      <if test="record.orderType != null">
        order_type = #{record.orderType,jdbcType=INTEGER},
      </if>
      <if test="record.creater != null">
        creater = #{record.creater,jdbcType=VARCHAR},
      </if>
      <if test="record.createTime != null">
        create_time = #{record.createTime,jdbcType=TIMESTAMP},
      </if>
      <if test="record.updateTime != null">
        update_time = #{record.updateTime,jdbcType=TIMESTAMP},
      </if>
      <if test="record.buyerId != null">
        buyer_id = #{record.buyerId,jdbcType=VARCHAR},
      </if>
      <if test="record.firstAmount != null">
        first_amount = #{record.firstAmount,jdbcType=DECIMAL},
      </if>
      <if test="record.totalAmount != null">
        total_amount = #{record.totalAmount,jdbcType=DECIMAL},
      </if>
      <if test="record.settlementAmount != null">
        settlement_amount = #{record.settlementAmount,jdbcType=DECIMAL},
      </if>
      <if test="record.refundAmount != null">
        refund_amount = #{record.refundAmount,jdbcType=DECIMAL},
      </if>
      <if test="record.orderStatus != null">
        order_status = #{record.orderStatus,jdbcType=INTEGER},
      </if>
      <if test="record.liquidationStatus != null">
        liquidation_status = #{record.liquidationStatus,jdbcType=INTEGER},
      </if>
      <if test="record.processStatus != null">
        process_status = #{record.processStatus,jdbcType=INTEGER},
      </if>
      <if test="record.projectStatus != null">
        project_status = #{record.projectStatus,jdbcType=INTEGER},
      </if>
      <if test="record.approval != null">
        approval = #{record.approval,jdbcType=INTEGER},
      </if>
      <if test="record.orderRemarks != null">
        order_remarks = #{record.orderRemarks,jdbcType=VARCHAR},
      </if>
      <if test="record.deleteSign != null">
        delete_sign = #{record.deleteSign,jdbcType=INTEGER},
      </if>
      <if test="record.salesmanId != null">
        salesman_id = #{record.salesmanId,jdbcType=VARCHAR},
      </if>
      <if test="record.financeId != null">
        finance_id = #{record.financeId,jdbcType=VARCHAR},
      </if>
      <if test="record.technicianId != null">
        technician_id = #{record.technicianId,jdbcType=VARCHAR},
      </if>
      <if test="record.signTime != null">
        sign_time = #{record.signTime,jdbcType=DATE},
      </if>
      <if test="record.settlementTime != null">
        settlement_time = #{record.settlementTime,jdbcType=DATE},
      </if>
      <if test="record.contractNo != null">
        contract_no = #{record.contractNo,jdbcType=VARCHAR},
      </if>
      <if test="record.contractType != null">
        contract_type = #{record.contractType,jdbcType=VARCHAR},
      </if>
      <if test="record.contacts != null">
        contacts = #{record.contacts,jdbcType=VARCHAR},
      </if>
      <if test="record.contactMobile != null">
        contact_mobile = #{record.contactMobile,jdbcType=VARCHAR},
      </if>
      <if test="record.legalPerson != null">
        legal_person = #{record.legalPerson,jdbcType=VARCHAR},
      </if>
      <if test="record.legalPersonTel != null">
        legal_person_tel = #{record.legalPersonTel,jdbcType=VARCHAR},
      </if>
      <if test="record.proofCount != null">
        proof_count = #{record.proofCount,jdbcType=REAL},
      </if>
      <if test="record.proofAid != null">
        proof_aid = #{record.proofAid,jdbcType=VARCHAR},
      </if>
      <if test="record.proofTime != null">
        proof_time = #{record.proofTime,jdbcType=TIMESTAMP},
      </if>
      <if test="record.proofStatus != null">
        proof_status = #{record.proofStatus,jdbcType=INTEGER},
      </if>
      <if test="record.orderDep != null">
        order_dep = #{record.orderDep,jdbcType=VARCHAR},
      </if>
      <if test="record.outsource != null">
        outsource = #{record.outsource,jdbcType=INTEGER},
      </if>
      <if test="record.additionalOrder != null">
        additional_order = #{record.additionalOrder,jdbcType=VARCHAR},
      </if>
      <if test="record.primaryOrder != null">
        primary_order = #{record.primaryOrder,jdbcType=VARCHAR},
      </if>
      <if test="record.oldSalesmanId != null">
        old_salesman_id = #{record.oldSalesmanId,jdbcType=VARCHAR},
      </if>
      <if test="record.backStatus != null">
        back_status = #{record.backStatus,jdbcType=INTEGER},
      </if>
      <if test="record.contractPictureUrl != null">
        contract_picture_url = #{record.contractPictureUrl,jdbcType=LONGVARCHAR},
      </if>
      <if test="record.agreementUrl != null">
        agreement_url = #{record.agreementUrl,jdbcType=LONGVARCHAR},
      </if>
    </set>
    <if test="_parameter != null">
      <include refid="Update_By_Example_Where_Clause" />
    </if>
  </update>
  <update id="updateByExampleWithBLOBs" parameterType="map">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Fri May 15 10:33:54 CST 2020.
    -->
    update t_order_new
    set order_no = #{record.orderNo,jdbcType=VARCHAR},
      order_type = #{record.orderType,jdbcType=INTEGER},
      creater = #{record.creater,jdbcType=VARCHAR},
      create_time = #{record.createTime,jdbcType=TIMESTAMP},
      update_time = #{record.updateTime,jdbcType=TIMESTAMP},
      buyer_id = #{record.buyerId,jdbcType=VARCHAR},
      first_amount = #{record.firstAmount,jdbcType=DECIMAL},
      total_amount = #{record.totalAmount,jdbcType=DECIMAL},
      settlement_amount = #{record.settlementAmount,jdbcType=DECIMAL},
      refund_amount = #{record.refundAmount,jdbcType=DECIMAL},
      order_status = #{record.orderStatus,jdbcType=INTEGER},
      liquidation_status = #{record.liquidationStatus,jdbcType=INTEGER},
      process_status = #{record.processStatus,jdbcType=INTEGER},
      project_status = #{record.projectStatus,jdbcType=INTEGER},
      approval = #{record.approval,jdbcType=INTEGER},
      order_remarks = #{record.orderRemarks,jdbcType=VARCHAR},
      delete_sign = #{record.deleteSign,jdbcType=INTEGER},
      salesman_id = #{record.salesmanId,jdbcType=VARCHAR},
      finance_id = #{record.financeId,jdbcType=VARCHAR},
      technician_id = #{record.technicianId,jdbcType=VARCHAR},
      sign_time = #{record.signTime,jdbcType=DATE},
      settlement_time = #{record.settlementTime,jdbcType=DATE},
      contract_no = #{record.contractNo,jdbcType=VARCHAR},
      contract_type = #{record.contractType,jdbcType=VARCHAR},
      contacts = #{record.contacts,jdbcType=VARCHAR},
      contact_mobile = #{record.contactMobile,jdbcType=VARCHAR},
      legal_person = #{record.legalPerson,jdbcType=VARCHAR},
      legal_person_tel = #{record.legalPersonTel,jdbcType=VARCHAR},
      proof_count = #{record.proofCount,jdbcType=REAL},
      proof_aid = #{record.proofAid,jdbcType=VARCHAR},
      proof_time = #{record.proofTime,jdbcType=TIMESTAMP},
      proof_status = #{record.proofStatus,jdbcType=INTEGER},
      order_dep = #{record.orderDep,jdbcType=VARCHAR},
      outsource = #{record.outsource,jdbcType=INTEGER},
      additional_order = #{record.additionalOrder,jdbcType=VARCHAR},
      primary_order = #{record.primaryOrder,jdbcType=VARCHAR},
      old_salesman_id = #{record.oldSalesmanId,jdbcType=VARCHAR},
      back_status = #{record.backStatus,jdbcType=INTEGER},
      contract_picture_url = #{record.contractPictureUrl,jdbcType=LONGVARCHAR},
      agreement_url = #{record.agreementUrl,jdbcType=LONGVARCHAR}
    <if test="_parameter != null">
      <include refid="Update_By_Example_Where_Clause" />
    </if>
  </update>
  <update id="updateByExample" parameterType="map">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Fri May 15 10:33:54 CST 2020.
    -->
    update t_order_new
    set order_no = #{record.orderNo,jdbcType=VARCHAR},
      order_type = #{record.orderType,jdbcType=INTEGER},
      creater = #{record.creater,jdbcType=VARCHAR},
      create_time = #{record.createTime,jdbcType=TIMESTAMP},
      update_time = #{record.updateTime,jdbcType=TIMESTAMP},
      buyer_id = #{record.buyerId,jdbcType=VARCHAR},
      first_amount = #{record.firstAmount,jdbcType=DECIMAL},
      total_amount = #{record.totalAmount,jdbcType=DECIMAL},
      settlement_amount = #{record.settlementAmount,jdbcType=DECIMAL},
      refund_amount = #{record.refundAmount,jdbcType=DECIMAL},
      order_status = #{record.orderStatus,jdbcType=INTEGER},
      liquidation_status = #{record.liquidationStatus,jdbcType=INTEGER},
      process_status = #{record.processStatus,jdbcType=INTEGER},
      project_status = #{record.projectStatus,jdbcType=INTEGER},
      approval = #{record.approval,jdbcType=INTEGER},
      order_remarks = #{record.orderRemarks,jdbcType=VARCHAR},
      delete_sign = #{record.deleteSign,jdbcType=INTEGER},
      salesman_id = #{record.salesmanId,jdbcType=VARCHAR},
      finance_id = #{record.financeId,jdbcType=VARCHAR},
      technician_id = #{record.technicianId,jdbcType=VARCHAR},
      sign_time = #{record.signTime,jdbcType=DATE},
      settlement_time = #{record.settlementTime,jdbcType=DATE},
      contract_no = #{record.contractNo,jdbcType=VARCHAR},
      contract_type = #{record.contractType,jdbcType=VARCHAR},
      contacts = #{record.contacts,jdbcType=VARCHAR},
      contact_mobile = #{record.contactMobile,jdbcType=VARCHAR},
      legal_person = #{record.legalPerson,jdbcType=VARCHAR},
      legal_person_tel = #{record.legalPersonTel,jdbcType=VARCHAR},
      proof_count = #{record.proofCount,jdbcType=REAL},
      proof_aid = #{record.proofAid,jdbcType=VARCHAR},
      proof_time = #{record.proofTime,jdbcType=TIMESTAMP},
      proof_status = #{record.proofStatus,jdbcType=INTEGER},
      order_dep = #{record.orderDep,jdbcType=VARCHAR},
      outsource = #{record.outsource,jdbcType=INTEGER},
      additional_order = #{record.additionalOrder,jdbcType=VARCHAR},
      primary_order = #{record.primaryOrder,jdbcType=VARCHAR},
      old_salesman_id = #{record.oldSalesmanId,jdbcType=VARCHAR},
      back_status = #{record.backStatus,jdbcType=INTEGER}
    <if test="_parameter != null">
      <include refid="Update_By_Example_Where_Clause" />
    </if>
  </update>
  <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.TOrderNewWithBLOBs">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Fri May 15 10:33:54 CST 2020.
    -->
    update t_order_new
    <set>
      <if test="orderType != null">
        order_type = #{orderType,jdbcType=INTEGER},
      </if>
      <if test="creater != null">
        creater = #{creater,jdbcType=VARCHAR},
      </if>
      <if test="createTime != null">
        create_time = #{createTime,jdbcType=TIMESTAMP},
      </if>
      <if test="updateTime != null">
        update_time = #{updateTime,jdbcType=TIMESTAMP},
      </if>
      <if test="buyerId != null">
        buyer_id = #{buyerId,jdbcType=VARCHAR},
      </if>
      <if test="firstAmount != null">
        first_amount = #{firstAmount,jdbcType=DECIMAL},
      </if>
      <if test="totalAmount != null">
        total_amount = #{totalAmount,jdbcType=DECIMAL},
      </if>
      <if test="settlementAmount != null">
        settlement_amount = #{settlementAmount,jdbcType=DECIMAL},
      </if>
      <if test="refundAmount != null">
        refund_amount = #{refundAmount,jdbcType=DECIMAL},
      </if>
      <if test="orderStatus != null">
        order_status = #{orderStatus,jdbcType=INTEGER},
      </if>
      <if test="liquidationStatus != null">
        liquidation_status = #{liquidationStatus,jdbcType=INTEGER},
      </if>
      <if test="processStatus != null">
        process_status = #{processStatus,jdbcType=INTEGER},
      </if>
      <if test="projectStatus != null">
        project_status = #{projectStatus,jdbcType=INTEGER},
      </if>
      <if test="approval != null">
        approval = #{approval,jdbcType=INTEGER},
      </if>
      <if test="orderRemarks != null">
        order_remarks = #{orderRemarks,jdbcType=VARCHAR},
      </if>
      <if test="deleteSign != null">
        delete_sign = #{deleteSign,jdbcType=INTEGER},
      </if>
      <if test="salesmanId != null">
        salesman_id = #{salesmanId,jdbcType=VARCHAR},
      </if>
      <if test="financeId != null">
        finance_id = #{financeId,jdbcType=VARCHAR},
      </if>
      <if test="technicianId != null">
        technician_id = #{technicianId,jdbcType=VARCHAR},
      </if>
      <if test="signTime != null">
        sign_time = #{signTime,jdbcType=DATE},
      </if>
      <if test="settlementTime != null">
        settlement_time = #{settlementTime,jdbcType=DATE},
      </if>
      <if test="contractNo != null">
        contract_no = #{contractNo,jdbcType=VARCHAR},
      </if>
      <if test="contractType != null">
        contract_type = #{contractType,jdbcType=VARCHAR},
      </if>
      <if test="contacts != null">
        contacts = #{contacts,jdbcType=VARCHAR},
      </if>
      <if test="contactMobile != null">
        contact_mobile = #{contactMobile,jdbcType=VARCHAR},
      </if>
      <if test="legalPerson != null">
        legal_person = #{legalPerson,jdbcType=VARCHAR},
      </if>
      <if test="legalPersonTel != null">
        legal_person_tel = #{legalPersonTel,jdbcType=VARCHAR},
      </if>
      <if test="proofCount != null">
        proof_count = #{proofCount,jdbcType=REAL},
      </if>
      <if test="proofAid != null">
        proof_aid = #{proofAid,jdbcType=VARCHAR},
      </if>
      <if test="proofTime != null">
        proof_time = #{proofTime,jdbcType=TIMESTAMP},
      </if>
      <if test="proofStatus != null">
        proof_status = #{proofStatus,jdbcType=INTEGER},
      </if>
      <if test="orderDep != null">
        order_dep = #{orderDep,jdbcType=VARCHAR},
      </if>
      <if test="outsource != null">
        outsource = #{outsource,jdbcType=INTEGER},
      </if>
      <if test="additionalOrder != null">
        additional_order = #{additionalOrder,jdbcType=VARCHAR},
      </if>
      <if test="primaryOrder != null">
        primary_order = #{primaryOrder,jdbcType=VARCHAR},
      </if>
      <if test="oldSalesmanId != null">
        old_salesman_id = #{oldSalesmanId,jdbcType=VARCHAR},
      </if>
      <if test="backStatus != null">
        back_status = #{backStatus,jdbcType=INTEGER},
      </if>
      <if test="contractPictureUrl != null">
        contract_picture_url = #{contractPictureUrl,jdbcType=LONGVARCHAR},
      </if>
      <if test="agreementUrl != null">
        agreement_url = #{agreementUrl,jdbcType=LONGVARCHAR},
      </if>
    </set>
    where order_no = #{orderNo,jdbcType=VARCHAR}
  </update>
  <update id="updateByPrimaryKeyWithBLOBs" parameterType="com.goafanti.common.model.TOrderNewWithBLOBs">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Fri May 15 10:33:54 CST 2020.
    -->
    update t_order_new
    set order_type = #{orderType,jdbcType=INTEGER},
      creater = #{creater,jdbcType=VARCHAR},
      create_time = #{createTime,jdbcType=TIMESTAMP},
      update_time = #{updateTime,jdbcType=TIMESTAMP},
      buyer_id = #{buyerId,jdbcType=VARCHAR},
      first_amount = #{firstAmount,jdbcType=DECIMAL},
      total_amount = #{totalAmount,jdbcType=DECIMAL},
      settlement_amount = #{settlementAmount,jdbcType=DECIMAL},
      refund_amount = #{refundAmount,jdbcType=DECIMAL},
      order_status = #{orderStatus,jdbcType=INTEGER},
      liquidation_status = #{liquidationStatus,jdbcType=INTEGER},
      process_status = #{processStatus,jdbcType=INTEGER},
      project_status = #{projectStatus,jdbcType=INTEGER},
      approval = #{approval,jdbcType=INTEGER},
      order_remarks = #{orderRemarks,jdbcType=VARCHAR},
      delete_sign = #{deleteSign,jdbcType=INTEGER},
      salesman_id = #{salesmanId,jdbcType=VARCHAR},
      finance_id = #{financeId,jdbcType=VARCHAR},
      technician_id = #{technicianId,jdbcType=VARCHAR},
      sign_time = #{signTime,jdbcType=DATE},
      settlement_time = #{settlementTime,jdbcType=DATE},
      contract_no = #{contractNo,jdbcType=VARCHAR},
      contract_type = #{contractType,jdbcType=VARCHAR},
      contacts = #{contacts,jdbcType=VARCHAR},
      contact_mobile = #{contactMobile,jdbcType=VARCHAR},
      legal_person = #{legalPerson,jdbcType=VARCHAR},
      legal_person_tel = #{legalPersonTel,jdbcType=VARCHAR},
      proof_count = #{proofCount,jdbcType=REAL},
      proof_aid = #{proofAid,jdbcType=VARCHAR},
      proof_time = #{proofTime,jdbcType=TIMESTAMP},
      proof_status = #{proofStatus,jdbcType=INTEGER},
      order_dep = #{orderDep,jdbcType=VARCHAR},
      outsource = #{outsource,jdbcType=INTEGER},
      additional_order = #{additionalOrder,jdbcType=VARCHAR},
      primary_order = #{primaryOrder,jdbcType=VARCHAR},
      old_salesman_id = #{oldSalesmanId,jdbcType=VARCHAR},
      back_status = #{backStatus,jdbcType=INTEGER},
      contract_picture_url = #{contractPictureUrl,jdbcType=LONGVARCHAR},
      agreement_url = #{agreementUrl,jdbcType=LONGVARCHAR}
    where order_no = #{orderNo,jdbcType=VARCHAR}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.goafanti.common.model.TOrderNew">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Fri May 15 10:33:54 CST 2020.
    -->
    update t_order_new
    set order_type = #{orderType,jdbcType=INTEGER},
      creater = #{creater,jdbcType=VARCHAR},
      create_time = #{createTime,jdbcType=TIMESTAMP},
      update_time = #{updateTime,jdbcType=TIMESTAMP},
      buyer_id = #{buyerId,jdbcType=VARCHAR},
      first_amount = #{firstAmount,jdbcType=DECIMAL},
      total_amount = #{totalAmount,jdbcType=DECIMAL},
      settlement_amount = #{settlementAmount,jdbcType=DECIMAL},
      refund_amount = #{refundAmount,jdbcType=DECIMAL},
      order_status = #{orderStatus,jdbcType=INTEGER},
      liquidation_status = #{liquidationStatus,jdbcType=INTEGER},
      process_status = #{processStatus,jdbcType=INTEGER},
      project_status = #{projectStatus,jdbcType=INTEGER},
      approval = #{approval,jdbcType=INTEGER},
      order_remarks = #{orderRemarks,jdbcType=VARCHAR},
      delete_sign = #{deleteSign,jdbcType=INTEGER},
      salesman_id = #{salesmanId,jdbcType=VARCHAR},
      finance_id = #{financeId,jdbcType=VARCHAR},
      technician_id = #{technicianId,jdbcType=VARCHAR},
      sign_time = #{signTime,jdbcType=DATE},
      settlement_time = #{settlementTime,jdbcType=DATE},
      contract_no = #{contractNo,jdbcType=VARCHAR},
      contract_type = #{contractType,jdbcType=VARCHAR},
      contacts = #{contacts,jdbcType=VARCHAR},
      contact_mobile = #{contactMobile,jdbcType=VARCHAR},
      legal_person = #{legalPerson,jdbcType=VARCHAR},
      legal_person_tel = #{legalPersonTel,jdbcType=VARCHAR},
      proof_count = #{proofCount,jdbcType=REAL},
      proof_aid = #{proofAid,jdbcType=VARCHAR},
      proof_time = #{proofTime,jdbcType=TIMESTAMP},
      proof_status = #{proofStatus,jdbcType=INTEGER},
      order_dep = #{orderDep,jdbcType=VARCHAR},
      outsource = #{outsource,jdbcType=INTEGER},
      additional_order = #{additionalOrder,jdbcType=VARCHAR},
      primary_order = #{primaryOrder,jdbcType=VARCHAR},
      old_salesman_id = #{oldSalesmanId,jdbcType=VARCHAR},
      back_status = #{backStatus,jdbcType=INTEGER}
    where order_no = #{orderNo,jdbcType=VARCHAR}
  </update>
  
   <!-- 查看所有待财务管理员分配的订单数据 -->
  <select id="getAllUnassignedListOrder" parameterType="Map" resultType="com.goafanti.order.bo.OrderListBo">
  		  select o.order_no as orderNo, o.order_type orderType, o.create_time as createTime, o.process_status as processStatus,
  	o.sign_time as signTime, u.nickname as buyerName,o.total_amount signTotalAmount, o.approval , a.name sellerName
  	,liquidation_status,o.finance_id as financeId,contract_no as contractNo,d.name as departmentName,e.name as outsourceName
  	from t_order_new o left join `user` u on o.buyer_id = u.id left join admin a on o.salesman_id = a.id
  	left join department d on o.order_dep=d.id left join (select order_no,max(name)as name from outsource_organization group by order_no) e
  	 on o.order_no=e.order_no  left join t_order_outsource f on f.order_no=o.order_no where delete_sign != 1 
  	and approval in (0,2) 
  	<if test="o.outsource != null">
  	and o.outsource=#{o.outsource,jdbcType=INTEGER}
  	</if>
  	<if test="o.outsource == 1">
  	and f.refund_status=1
  	</if>
  	
  	<if test="o.processStatus == 2">
  	and process_status = 2 
  	</if>
  	<if test="o.processStatus == 3">
  	and process_status &gt;= 2 and process_status &lt; 7
  	</if>
  	<if test="o.departmentId != null and o.departmentId != &quot;&quot;">
  	and o.order_dep= #{o.departmentId,jdbcType=VARCHAR}
  	</if>
  	<if test="o.orderNo != null and o.orderNo != &quot;&quot;">
  	and o.order_no = #{o.orderNo,jdbcType=VARCHAR}
  	</if>
  	<if test="o.financeId != null and o.financeId != &quot;&quot;">
  	and o.finance_id = #{o.financeId,jdbcType=VARCHAR}
  	</if>
  	<if test="o.contractNo != null and o.contractNo != &quot;&quot;">
  	and o.contract_no like CONCAT('%',#{o.contractNo,jdbcType=VARCHAR},'%')
  	</if>
  	
  	<if test="o.buyerName != null and o.buyerName != &quot;&quot;">
  	<bind name="n" value="'%' + o.buyerName + '%'" />
  	and u.nickname  like #{n,jdbcType=VARCHAR}
  	</if>
  	<if test="o.startTime != null and o.startTime != &quot;&quot; and o.endTime != null and o.endTime != &quot;&quot;">
  	<bind name="a" value="o.startTime + ' 00:00:00'" />
  	<bind name="b" value="o.endTime + ' 23:59:59'" />
  	and o.create_time between #{a,jdbcType=VARCHAR} and #{b,jdbcType=VARCHAR}
  	</if>
  	order by o.process_status,o.create_time desc
	<if test="page_sql != null">
		${page_sql}
	</if>
  </select>
  <select id="getAllUnassignedCountOrder" parameterType="Map" resultType="java.lang.Integer">
  select count(*) from t_order_new o left join `user` u on o.buyer_id = u.id left join admin a on o.salesman_id = a.id
  	left join t_order_outsource f on f.order_no=o.order_no where delete_sign != 1  and approval in (0,2) 
	<if test="o.outsource != null">
  	and o.outsource=#{o.outsource,jdbcType=INTEGER}
  	</if>
  	<if test="o.outsource == 1">
  	and f.refund_status=1
  	</if>
  	<if test="o.processStatus == 2">
  	and process_status = 2 
  	</if>
  	<if test="o.processStatus == 3">
  	and process_status &gt; 2 and process_status &lt; 7
  	</if>
  	<if test="o.departmentId != null and o.departmentId != &quot;&quot;">
  	and o.order_dep= #{o.departmentId,jdbcType=VARCHAR}
  	</if>
  	<if test="o.orderNo != null and o.orderNo != &quot;&quot;">
  	and o.order_no = #{o.orderNo,jdbcType=VARCHAR}
  	</if>
  	<if test="o.financeId != null and o.financeId != &quot;&quot;">
  	and o.finance_id = #{o.financeId,jdbcType=VARCHAR}
  	</if>
  	<if test="o.contractNo != null and o.contractNo != &quot;&quot;">
  	and o.contract_no like CONCAT('%',#{o.contractNo,jdbcType=VARCHAR},'%')
  	</if>
  	<if test="o.buyerName != null and o.buyerName != &quot;&quot;">
  	<bind name="n" value="'%' + o.buyerName + '%'" />
  	and u.nickname  like #{n,jdbcType=VARCHAR}
  	</if>
  	<if test="o.startTime != null and o.startTime != &quot;&quot; and o.endTime != null and o.endTime != &quot;&quot;">
  	<bind name="a" value="o.startTime + ' 00:00:00'" />
  	<bind name="b" value="o.endTime + ' 23:59:59'" />
  	and o.create_time between #{a,jdbcType=VARCHAR} and #{b,jdbcType=VARCHAR}
  	</if>
  </select>
  <!-- 查看某订单状态是否符合要求 -->
  <select id="getCountByIdAndStatus" parameterType="com.goafanti.common.model.TOrderNew" resultType="java.lang.Integer">
  		select count(*) from t_order_new 
  		where order_no = #{orderNo,jdbcType=VARCHAR}
  	  <if test="orderType != null">
       and order_type = #{orderType,jdbcType=INTEGER}
      </if>
      <if test="creater != null">
       and creater = #{creater,jdbcType=VARCHAR}
      </if>
      <if test="buyerId != null">
       and buyer_id = #{buyerId,jdbcType=VARCHAR}
      </if>
      <if test="firstAmount != null">
       and first_amount = #{firstAmount,jdbcType=DECIMAL}
      </if>
      <if test="totalAmount != null">
       and total_amount = #{totalAmount,jdbcType=DECIMAL}
      </if>
      <if test="settlementAmount != null">
       and settlement_amount = #{settlementAmount,jdbcType=DECIMAL}
      </if>
      <if test="orderStatus != null">
       and order_status = #{orderStatus,jdbcType=INTEGER}
      </if>
      <if test="liquidationStatus == 1">
       and liquidation_status between 1 and 2 
      </if>
      <if test="processStatus != null">
       and process_status = #{processStatus,jdbcType=INTEGER}
      </if>
      <if test="projectStatus != null">
       and project_status = #{projectStatus,jdbcType=INTEGER}
      </if>
      <if test="approval != null">
       and approval = #{approval,jdbcType=INTEGER}
      </if>
      <if test="orderRemarks != null">
       and order_remarks = #{orderRemarks,jdbcType=VARCHAR}
      </if>
      <if test="deleteSign != null">
       and delete_sign = #{deleteSign,jdbcType=INTEGER}
      </if>
      <if test="salesmanId != null">
       and salesman_id = #{salesmanId,jdbcType=VARCHAR}
      </if>
      <if test="financeId != null">
       and finance_id = #{financeId,jdbcType=VARCHAR}
      </if>
      <if test="technicianId != null">
       and technician_id = #{technicianId,jdbcType=VARCHAR}
      </if>
      <if test="contractNo != null">
       and contract_no = #{contractNo,jdbcType=VARCHAR}
      </if>
      <if test="contractType != null">
       and contract_type = #{contractType,jdbcType=VARCHAR}
      </if>
      <if test="contacts != null">
       and contacts = #{contacts,jdbcType=VARCHAR}
      </if>
      <if test="contactMobile != null">
       and contact_mobile = #{contactMobile,jdbcType=VARCHAR}
      </if>
      <if test="legalPerson != null">
       and legal_person = #{legalPerson,jdbcType=VARCHAR}
      </if>
      <if test="legalPersonTel != null">
       and legal_person_tel = #{legalPersonTel,jdbcType=VARCHAR}
      </if>
  </select>
  <!-- 财务专员查看需要待收款的数据 -->
  <select id="financeList" parameterType="Map" resultType="com.goafanti.order.bo.OrderListBo">
 select o.order_no as orderNo, o.sign_time as signTime, u.nickname as buyerName, o.order_status as orderStatus,a.finance_name financeName,
	a.cost_amount costAmount,a.payment_amount paymentAmount,o.process_status as processStatus, o.settlement_amount as actuallyTotalAmount, 
	o.contract_no as contractNo, o.approval, o.back_status backStatus,a.salesman_name as sellerName, o.salesman_id as sellerId,
	o.buyer_id as buyerId, o.liquidation_status as liquidationStatus ,too.amount outsourceAmount, o.first_amount as signFirstPayment,
	o.total_amount as signTotalAmount, date_format(o.create_time, '%Y-%m-%d %H:%i:%s') as createTime, too.company_name as outsourceName,
	0 as companyId, d.name as departmentName, a.final_receivables finalReceivables ,a.invoice_amount invoiceAmount ,
	date_format(a.`final_Receivables_time`, '%Y-%m-%d %H:%i:%s')finalReceivablesTime,a.order_receivables orderReceivables,a.order_arrears orderArrears
	from t_order_new o left join department d on o.order_dep = d.id left join `user` u on o.buyer_id = u.id left join t_order_mid a on o.order_no=a.order_no 
	left join (select * from  t_order_outsource where type=0) too on o.order_no=too.order_no where delete_sign != 1 and approval !=3 and outsource=   #{o.outsource,jdbcType=INTEGER}	
  	 	<if test="o.processStatus == 3">
	  	and o.process_status = #{o.processStatus,jdbcType=INTEGER}
	  	</if>
	  	<if test="o.processStatus == 4">
	  	and o.process_status &gt;= #{o.processStatus,jdbcType=INTEGER}
	  	</if>
	  	<if test="o.processStatus == 9">
	  	and o.back_status = 3
	  	</if>
	  	<if test="fids != null and fids.size() &gt; 0">
	  	and d.finance_id in 
	   <foreach close=")" collection="fids" index="" item="item" open="(" separator=",">
       		#{item}
     	</foreach>
		</if>
  		<if test="o.orderStatus != null and o.orderStatus != &quot;&quot;">
	  	and (o.order_status =  #{o.orderStatus,jdbcType=INTEGER} or o.back_status=3)
	  	</if>
  		<if test="o.departmentId != null and o.departmentId != &quot;&quot;">
	  	and o.order_dep = #{o.departmentId,jdbcType=INTEGER}
	  	</if>
	  	<if test="o.contractNo != null and o.contractNo != &quot;&quot;">
  		and o.contract_no like CONCAT('%',#{o.contractNo,jdbcType=VARCHAR},'%')
  		</if>
  		<if test="o.liquidationStatus != null">
	  	and o.liquidation_status = #{o.liquidationStatus,jdbcType=INTEGER}
	  	</if>
	  	<if test="o.amountStatus == 0">
	  	and o.total_amount &lt; 10
	  	</if>
	  	<if test="o.amountStatus == 1">
	  	and o.total_amount between 10 and 20
	  	</if>
	  	<if test="o.amountStatus == 2">
	  	and o.total_amount between 20 and 30
	  	</if>
	  	<if test="o.amountStatus == 3">
	  	and o.total_amount between 30 and 40
	  	</if>
	  	<if test="o.amountStatus == 4">
	  	and o.total_amount  &gt; 40
	  	</if>
  		<if test="o.orderNo != null and o.orderNo != &quot;&quot;">
	  	and o.order_no = #{o.orderNo,jdbcType=VARCHAR}
	  	</if>
	  	<if test="o.buyerName != null and o.buyerName != &quot;&quot;">
	  	<bind name="n" value="'%' + o.buyerName + '%'" />
	  	and u.nickname  like #{n,jdbcType=VARCHAR}
	  	</if>
	  	<if test="o.startTime != null and o.startTime != &quot;&quot; and o.endTime != null and o.endTime != &quot;&quot;">
	  	<bind name="a" value="o.startTime + ' 00:00:00'" />
	  	<bind name="b" value="o.endTime + ' 23:59:59'" />
	  	and o.create_time between #{a,jdbcType=VARCHAR} and #{b,jdbcType=VARCHAR}
	  	</if>
	  	<if test="o.startFinalReceivablesTime != null and o.startFinalReceivablesTime != &quot;&quot; and o.endFinalReceivablesTime != null and o.endFinalReceivablesTime != &quot;&quot;">
	  	<bind name="c" value="o.startFinalReceivablesTime + ' 00:00:00'" />
	  	<bind name="d" value="o.endFinalReceivablesTime + ' 23:59:59'" />
	  	and a.final_Receivables_time between #{c,jdbcType=VARCHAR} and #{d,jdbcType=VARCHAR}
	  	</if>
	  	order by o.liquidation_status, o.sign_time desc
	  	<if test="page_sql != null">
			${page_sql}
		</if>
  </select>
  <select id="financeCount" parameterType="Map" resultType="java.lang.Integer">
 select count(*) from t_order_new o left join `user` u on o.buyer_id = u.id  
left join department d on o.order_dep = d.id   left join t_order_mid a on o.order_no=a.order_no
 where delete_sign != 1 and approval !=3 and outsource=  #{o.outsource,jdbcType=INTEGER}
  	 	<if test="o.processStatus == 3">
	  	and o.process_status = #{o.processStatus,jdbcType=INTEGER}
	  	</if>
	  	<if test="o.processStatus == 4">
	  	and o.process_status &gt;= #{o.processStatus,jdbcType=INTEGER}
	  	</if>
	  	<if test="o.processStatus == 9">
	  	and o.back_status = 3
	  	</if>
	  	<if test="fids != null and fids.size() &gt; 0">
	  	and d.finance_id in 
	   <foreach close=")" collection="fids" index="" item="item" open="(" separator=",">
       		#{item}
     	</foreach>
		</if>
  		<if test="o.orderStatus != null and o.orderStatus != &quot;&quot;">
	  	and (o.order_status =  #{o.orderStatus,jdbcType=INTEGER} or o.back_status=3)
	  	</if>
  		<if test="o.departmentId != null and o.departmentId != &quot;&quot;">
	  	and o.order_dep = #{o.departmentId,jdbcType=INTEGER}
	  	</if>
	  	<if test="o.contractNo != null and o.contractNo != &quot;&quot;">
  		and o.contract_no like CONCAT('%',#{o.contractNo,jdbcType=VARCHAR},'%')
  		</if>
  		<if test="o.liquidationStatus != null">
	  	and o.liquidation_status = #{o.liquidationStatus,jdbcType=INTEGER}
	  	</if>
	  	<if test="o.amountStatus == 0">
	  	and o.total_amount &lt; 10
	  	</if>
	  	<if test="o.amountStatus == 1">
	  	and o.total_amount between 10 and 20
	  	</if>
	  	<if test="o.amountStatus == 2">
	  	and o.total_amount between 20 and 30
	  	</if>
	  	<if test="o.amountStatus == 3">
	  	and o.total_amount between 30 and 40
	  	</if>
	  	<if test="o.amountStatus == 4">
	  	and o.total_amount  &gt; 40
	  	</if>
  		<if test="o.orderNo != null and o.orderNo != &quot;&quot;">
	  	and o.order_no = #{o.orderNo,jdbcType=VARCHAR}
	  	</if>
	  	<if test="o.buyerName != null and o.buyerName != &quot;&quot;">
	  	<bind name="n" value="'%' + o.buyerName + '%'" />
	  	and u.nickname  like #{n,jdbcType=VARCHAR}
	  	</if>
	  	<if test="o.startTime != null and o.startTime != &quot;&quot; and o.endTime != null and o.endTime != &quot;&quot;">
	  	<bind name="a" value="o.startTime + ' 00:00:00'" />
	  	<bind name="b" value="o.endTime + ' 23:59:59'" />
	  	and o.create_time between #{a,jdbcType=VARCHAR} and #{b,jdbcType=VARCHAR}
	  	</if>
	  	<if test="o.startFinalReceivablesTime != null and o.startFinalReceivablesTime != &quot;&quot; and o.endFinalReceivablesTime != null and o.endFinalReceivablesTime != &quot;&quot;">
	  	<bind name="c" value="o.startFinalReceivablesTime + ' 00:00:00'" />
	  	<bind name="d" value="o.endFinalReceivablesTime + ' 23:59:59'" />
	  	and a.final_Receivables_time between #{c,jdbcType=VARCHAR} and #{d,jdbcType=VARCHAR}
	  	</if>
  </select>
  <!-- 通过订单编号获得订单的负责人(营销员) -->
  <select id="getSaleIdByOno" parameterType="java.lang.String" resultType="com.goafanti.order.bo.TOrderNewBo">
  	select salesman_id as salesmanId, a.name as salesmanName, a.email ,u.nickname as userName
  	from t_order_new o
  		left join admin a on o.salesman_id = a.id 
  		left join `user` u on u.id = o.buyer_id
  		where order_no = #{_parameter,jdbcType=VARCHAR}
  </select>
  <select id="selectOrderNewListByPage" resultType="com.goafanti.order.bo.TOrderNewBo">
  	select a.order_no as orderNo,a.create_time as createTime, date_format(a.sign_time,'%Y-%m-%d' ) as signDate,
  	a.contract_no as contractNo, b.nickname as userName ,a.process_status as processStatus,a.total_amount as totalAmount,
  	a.order_status as orderStatus, a.liquidation_status as liquidationStatus,a.approval,c.salesman_name as salesmanName,
  	dep.name as depName,c.finance_name as financeName,c.invoice_amount invoiceAmount,a.settlement_amount settlementAmount
  	<if test="specially == 2">
  	,f.name as initiateName ,e.reason ,date_format(e.create_time,'%Y-%m-%d' ) as backDate,e.id as backId
  	</if>
  	<if test="specially == 4">
  	,f.name as consultantName,a.settlement_amount as settlementAmount,if(isnull(g.order_no)=0,1,0) ischange
  	</if>
  	from t_order_new a  left join `user` b on a.buyer_id=b.id left join t_order_mid c on a.order_no=c.order_no
  	left join department dep on a.order_dep=dep.id
  	<if test="specially == 2">
	left join (select * from t_order_back a where back_status=0) e on a.order_no=e.order_no
  	left join admin f on e.initiate=f.id
  	</if>
  	<if test="specially == 4">
  	left join (select min(id)id,order_no from t_order_task where main=1 group by order_no) ex on ex.order_no=a.order_no
	left join t_order_task  e on e.id = ex.id
  	left join admin f on e.task_receiver=f.id
  	left join (select order_no from new_order_change group by order_no)g on a.order_no=g.order_no
  	</if>
  	where a.delete_sign !=1
  	<if test="outsource != null">
  	and a.outsource= #{outsource,jdbcType=INTEGER}
  	</if>
  	<if test="specially == 0">
  	and a.order_status not in(3,5,6,7) and a.approval !=3
  	and a.salesman_id = #{aid,jdbcType=VARCHAR}
  	</if>
  	<if test="specially == 1">
  	and a.process_status = 1  and a.order_status = 1
  	and a.order_dep in
  	<foreach close=")" collection="deps" item="deps" open="(" separator=",">
	 #{deps.id}
  	</foreach>
  	</if>
  	<if test="specially == 2">
  	and a.order_status in(3,5) 
  	and a.salesman_id = #{aid,jdbcType=VARCHAR}
  	</if>
  	<if test="specially == 3">
  	 and  a.order_status=2 and a.process_status != 99 
  	<if test="approval ==0">
  	and a.approval &gt; 0
  	</if>
  	<if test="approval ==1">
  	and a.process_status = 7
  	and a.approval = 1
  	</if>
  	<if test="approval ==2">
  	and a.approval &gt; 1
  	</if>
  	</if>
  	<if test="specially == 4">
  	and a.process_status in (4,5,6,99)
  	and a.order_status not in(5,7)
  	</if>
  	<if test="specially == 5">
  	and a.order_dep in
  	<foreach close=")" collection="deps" item="deps" open="(" separator=",">
	 #{deps.id}
  	</foreach>
  	</if>
  	<if test="distribution == 0">
  	and a.process_status &lt; 5
  	</if>
  	<if test="distribution == 1">
  	and a.process_status = 5
  	</if>
  	<if test="distribution == 2">
  	and a.process_status = 6
  	</if>
  	<if test="name != null">
  	and b.nickname like CONCAT('%',#{name,jdbcType=VARCHAR},'%')
  	</if>
  	<if test="orderNo != null"> 
  	and a.order_no like CONCAT('%',#{orderNo,jdbcType=VARCHAR},'%') 
  	</if>
  	<if test="contractNo != null">
  	and a.contract_no like CONCAT('%',#{contractNo,jdbcType=VARCHAR},'%')
  	</if>
  	<if test="liquidationStatus != null">
  	and a.liquidation_status = #{liquidationStatus,jdbcType=INTEGER}
  	</if>
  	<if test="amountStatus == 0">
  	and a.total_amount &lt; 10
  	</if>
  	<if test="amountStatus == 1">
  	and a.total_amount between 10 and 20
  	</if>
  	<if test="amountStatus == 2">
  	and a.total_amount between 20 and 30
  	</if>
  	<if test="amountStatus == 3">
  	and a.total_amount between 30 and 40
  	</if>
  	<if test="amountStatus == 4">
  	and a.total_amount  &gt; 40
  	</if>
  	<if test="depId != null">
  	and a.order_dep = #{depId,jdbcType=VARCHAR}
  	</if>
  	<if test="starTime !=null and endTime !=null">
  	and a.create_time between #{starTime,jdbcType=VARCHAR} and #{endTime,jdbcType=VARCHAR}
  	</if>
  	order by
  	<if test="specially == 3">
  	a.approval,
  	</if> 
  	<if test="specially == 4">
  	a.process_status,
  	</if>
  	<if test="specially != 4">
  	a.order_status,
  	</if>
  	a.create_time 
  	<if test="specially != 4">
  	desc
  	</if>
  	<if test="page_sql!=null">
	${page_sql}
	</if>
  </select>
  
   <select id="selectOrderNewListCount" resultType="java.lang.Integer">
  	select count(*)
  	from t_order_new a  left join `user` b on a.buyer_id=b.id left join t_order_mid c on a.order_no=c.order_no
  	left join department dep on a.order_dep=dep.id
  	where a.delete_sign !=1
    <if test="outsource != null">
  	and a.outsource= #{outsource,jdbcType=INTEGER}
  	</if>
  	<if test="specially == 0">
  	and a.order_status not in(3,5,6,7) and a.approval !=3
  	and a.salesman_id = #{aid,jdbcType=VARCHAR}
  	</if>
  	<if test="specially == 1">
  	and a.process_status = 1  and a.order_status = 1
  	<!-- and c.department_id in (#{deps,jdbcType=VARCHAR}) -->
  	and a.order_dep in
  	<foreach close=")" collection="deps" item="deps" open="(" separator=",">
	 #{deps.id}
  	</foreach>
  	</if>
  	<if test="specially == 2">
  	and a.order_status in(3,5) 
  	and a.salesman_id = #{aid,jdbcType=VARCHAR}
  	</if>
  	<if test="specially == 3">
  	 and  a.order_status=2 and a.process_status != 99 
  	<if test="approval ==0">
  	and a.approval &gt; 0
  	</if>
  	<if test="approval ==1">
  	and a.process_status = 7
  	and a.approval = 1
  	</if>
  	<if test="approval ==2">
  	and a.approval &gt; 1
  	</if>
  	</if>
  	<if test="specially == 4">
  	and a.process_status in (4,5,6,99)
  	and a.order_status not in(5,7)
  	</if>
  	<if test="specially == 5">
  	and a.order_dep in
  	<foreach close=")" collection="deps" item="deps" open="(" separator=",">
	 #{deps.id}
  	</foreach>
  	</if>
  	<if test="distribution == 0">
  	and a.process_status &lt; 5
  	</if>
  	<if test="distribution == 1">
  	and a.process_status = 5
  	</if>
  	<if test="distribution == 2">
  	and a.process_status = 6
  	</if>
  	<if test="name != null">
  	and b.nickname like CONCAT('%',#{name,jdbcType=VARCHAR},'%')
  	</if>
  	<if test="orderNo != null"> 
  	and a.order_no like CONCAT('%',#{orderNo,jdbcType=VARCHAR},'%') 
  	</if>
  	<if test="contractNo != null">
  	and a.contract_no like CONCAT('%',#{contractNo,jdbcType=VARCHAR},'%')
  	</if>
  	<if test="liquidationStatus != null">
  	and a.liquidation_status = #{liquidationStatus,jdbcType=INTEGER}
  	</if>
  	<if test="amountStatus == 0">
  	and a.total_amount &lt; 10
  	</if>
  	<if test="amountStatus == 1">
  	and a.total_amount between 10 and 20
  	</if>
  	<if test="amountStatus == 2">
  	and a.total_amount between 20 and 30
  	</if>
  	<if test="amountStatus == 3">
  	and a.total_amount between 30 and 40
  	</if>
  	<if test="amountStatus == 4">
  	and a.total_amount  &gt; 40
  	</if>
  	<if test="depId != null">
  	and a.order_dep = #{depId,jdbcType=VARCHAR}
  	</if>
  	<if test="starTime !=null and endTime !=null">
  	and a.create_time between #{starTime,jdbcType=VARCHAR} and #{endTime,jdbcType=VARCHAR}
  	</if>
  </select>
  
  <select id="selectDunOrderNewListByPage" resultType="com.goafanti.order.bo.outOrderDunListBo">
    	select a.id, b.contract_no contractNo,a.order_no as orderNo,c.nickname as userName,tm.salesman_name as salesmanName,b.project_status projectStatus,
	b.total_amount as totalAmount,b.liquidation_status as liquidationStatus,b.settlement_amount as settlementAmount,a.money as accountsReceivable,
	if((b.total_amount-b.settlement_amount) &lt; 1,0,(b.total_amount-b.settlement_amount)) as uncollectedAmount,b.order_status as orderStatus,
	date_format(a.start_time, '%Y-%m-%d') as startDate,dep.name as depName,date_format(b.sign_time,'%Y-%m-%d') as signDate,
	<if test="newStatus == 0 ">
	a.dun_subject as dunSubject,a.dun_status dunStatus
	from t_order_dun a  
	</if>
	<if test="newStatus == 1 ">
	a.project_type projectType,a.status dunStatus, a.dun_type dunType,a.appropriation_ratio appropriationRatio,
	e.set_up_amount setUpAmount,date_format(a.customize_time,'%Y-%m-%d') customizeTimes, a.customize_name customizeName
	from new_order_dun a left join t_order_task e on a.tid=e.id 
	</if>
	left join t_order_new b on a.order_no=b.order_no left join `user` c on b.buyer_id=c.id 
	left join t_order_mid tm on b.order_no=tm.order_no left join department dep on b.order_dep=dep.id
	where  b.delete_sign != 1
	<if test="shiroType == 1 and fid !=null">
  	 and tm.finance_id= #{fid,jdbcType=VARCHAR}
  	</if>
  	<if test="shiroType == 2 and fid !=null">
  	 and tm.finance_id in (select id from admin where superior_id= #{fid,jdbcType=VARCHAR})
  	</if>
    <if test="name != null">
  	and c.nickname like CONCAT('%',#{name,jdbcType=VARCHAR},'%')
  	</if>
  	<if test="adminName != null">
  	and tm.salesman_name  like CONCAT('%',#{adminName,jdbcType=VARCHAR},'%')
  	</if>
  	<if test="orderNo != null">
  	and a.order_no like CONCAT('%',#{orderNo,jdbcType=VARCHAR},'%') 
  	</if>
  	<if test="depId != null">
  	and b.order_dep= #{depId,jdbcType=VARCHAR}
  	</if>
  	<if test="aid != null">
  	and b.salesman_id= #{aid,jdbcType=VARCHAR}
  	</if>
  	<if test="starTime !=null and endTime !=null">
  	and b.sign_time between #{starTime,jdbcType=VARCHAR} and #{endTime,jdbcType=VARCHAR}
  	</if>
  	order by b.sign_time desc,b.create_time desc
  	<if test="page_sql!=null">
			${page_sql}
	</if>
  </select>
  
   <select id="selectDunOrderNewListCount" resultType="java.lang.Integer">
  	select 
		count(*)
	<if test="newStatus == 0 ">
	from t_order_dun a  
	</if>
	<if test="newStatus == 1 ">
	from new_order_dun a left join t_order_task e on a.tid=e.id 
	</if>
	left join t_order_new b on a.order_no=b.order_no left join `user` c on b.buyer_id=c.id 
	left join t_order_mid tm on b.order_no=tm.order_no
	where  b.delete_sign != 1
	<if test="shiroType == 1 and fid !=null">
  	 and tm.finance_id= #{fid,jdbcType=VARCHAR}
  	</if>
  	<if test="shiroType == 2 and fid !=null">
  	 and tm.finance_id in (select id from admin where superior_id= #{fid,jdbcType=VARCHAR})
  	</if>
    <if test="name != null">
  	and c.nickname like CONCAT('%',#{name,jdbcType=VARCHAR},'%')
  	</if>
  	<if test="adminName != null">
  	and salesman_name  like CONCAT('%',#{adminName,jdbcType=VARCHAR},'%')
  	</if>
  	<if test="orderNo != null">
  	and a.order_no like CONCAT('%',#{orderNo,jdbcType=VARCHAR},'%') 
  	</if>
  	<if test="depId != null">
  	and b.order_dep= #{depId,jdbcType=VARCHAR}
  	</if>
  	<if test="aid != null">
  	and b.salesman_id= #{aid,jdbcType=VARCHAR}
  	</if>
  	<if test="starTime !=null and endTime !=null">
  	and b.sign_time between #{starTime,jdbcType=VARCHAR} and #{endTime,jdbcType=VARCHAR}
  	</if>
  </select>
  
  <select id="getOrderNewDetail" parameterType="java.lang.String" resultType="com.goafanti.order.bo.TOrderNewBo">
  select 
    a.order_no as orderNo, a.order_type as orderType, a.creater, a.create_time as createTime,a.update_time as updateTime, a.buyer_id as buyerId,
    a.first_amount as firstAmount,a.total_amount as totalAmount, a.settlement_amount as settlementAmount, order_status as orderStatus,
    a.liquidation_status as liquidationStatus, a.process_status as processStatus, a.project_status as projectStatus, a.approval,
    a.order_remarks as orderRemarks, a.delete_sign as deleteSign, a.salesman_id as salesmanId, a.finance_id as financeId, technician_id as technicianId, 
    a.sign_time as signTime, a.settlement_time as settlementTime, a.contract_no as contractNo, a.contract_type as contractType, a.contacts,
    a.contact_mobile as contactMobile, a.legal_person as legalPerson, a.legal_person_tel as legalPersonTel, a.proof_count as proofCount,
    a.proof_aid as proofAid,contract_picture_url as contractPictureUrl, c.name as salesmanName,dep.name as depName,d.name as financeName,
    c.contact_mobile as salesmanMobile,d.contact_mobile as financeMobile,b.nickname as userName ,e.back_status as backStatus,f.name as initiateName,
    e.reason,date_format(e.create_time,'%Y-%m-%d') as backDate,a.buyer_id as uid,a.order_dep as orderDep, g.location_province as locationProvince,
    g.location_city as locationCity,g.location_area locationArea,g.postal_address postalAddress,outsource,a.primary_order primaryOrder,a.agreement_url agreementUrl,
    h.name NowFinance,h.contact_mobile NowFinanceMobile,a.additional_order additionalOrder,i.name as oldSalesmanName, i.contact_mobile oldSalesmanMobile
    from t_order_new a 
    left join `user` b on a.buyer_id=b.id 
    left join admin i on a.old_salesman_id=i.id
    left join admin c on a.salesman_id=c.id 
    left join department dep on a.order_dep=dep.id 
    left join admin d on a.finance_id=d.id
    left join admin h on dep.finance_id=h.id 
    left join (select * from t_order_back a where back_status=0) e on a.order_no=e.order_no
  	left join admin f on e.initiate=f.id 
  	left join organization_identity g on a.buyer_id=g.uid
    where a.order_no = #{orderNo,jdbcType=VARCHAR}
  </select>
  
  
  
   <select id="selectOrderRefundListByPage" resultType="com.goafanti.order.bo.TOrderRefundBo">
  	select a.id, date_format(a.create_time,'%Y-%m-%d') as createDate,a.order_no as orderNo,
    c.nickname as userName,b.order_status as orderStatus,a.refund_status as refundStatus,
    a.reason,b.liquidation_status as liquidationStatus
    from t_order_refund a left join t_order_new b on a.order_no=b.order_no
    left join `user` c on b.buyer_id=c.id 
    where  b.delete_sign != 1 
    <if test="name != null">
  	and c.nickname like CONCAT('%',#{name,jdbcType=VARCHAR},'%')
  	</if>
  	<if test="aid != null">
  	and a.initiate = #{aid,jdbcType=VARCHAR}
  	</if>
  	<if test="orderNo != null">
  	and a.order_no = #{orderNo,jdbcType=VARCHAR}
  	</if>
  	<if test="starTime !=null and endTime !=null">
  	and a.create_time between #{starTime,jdbcType=VARCHAR} and #{endTime,jdbcType=VARCHAR}
  	</if>
  	order by a.create_time desc
  	<if test="page_sql!=null">
			${page_sql}
	</if>
  </select>
  
   <select id="selectOrderRefundListCount" resultType="java.lang.Integer">
  	select 
		count(*)
  	 from t_order_refund a left join t_order_new b on a.order_no=b.order_no
    left join `user` c on b.buyer_id=c.id 
    where  b.delete_sign != 1 
    <if test="name != null">
  	and c.nickname like CONCAT('%',#{name,jdbcType=VARCHAR},'%')
  	</if>
  	<if test="aid != null">
  	and a.initiate = #{aid,jdbcType=VARCHAR}
  	</if>
  	<if test="orderNo != null">
  	and a.order_no = #{orderNo,jdbcType=VARCHAR}
  	</if>
  	<if test="starTime !=null and endTime !=null">
  	and a.create_time between #{starTime,jdbcType=VARCHAR} and #{endTime,jdbcType=VARCHAR}
  	</if>
  </select>
  
  <!-- 财务同意退款邮件通知需要的数据  -->
  <select id="agreeEmailData" parameterType="java.lang.Integer" resultType="com.goafanti.order.bo.TOrderNewBo">
  	select u.nickname as userName, r.order_no as orderNo, o.order_status as orderStatus, o.salesman_id as salesmanId, o.technician_id as technicianId,
  		concat(a.email,"," , ifnull(t.email,"")) as email , concat(a.name,"," , ifnull(t.name,"")) as salesmanName
  		from t_order_refund r
  		left join t_order_new o on r.order_no = o.order_no
  		left join admin a on a.id = o.salesman_id
  		left join admin t on t.id = o.technician_id
  		left join `user` u on u.id = o.buyer_id
  		where r.id = #{id,jdbcType=INTEGER}
  </select>
  <select id="orderRefundDetail" resultType="com.goafanti.order.bo.OrderRefundDetailBo">
  	select a.id,date_format(a.create_time,'%Y-%m-%d') as createDate ,a.order_no as orderNo,
     b.order_status as orderStatus,a.refund_status as refundStatus, a.application_url as applicationUrl,
     a.contract_url as contractUrl,a.reason,b.liquidation_status as liquidationStatus
     from t_order_refund a 
     left join t_order_new b  on a.order_no=b.order_no
     where a.id= #{id,jdbcType=INTEGER}
  </select>
  <update id="updateFinance" parameterType="string">
  update t_order_new set finance_id= #{newFinance,jdbcType=VARCHAR}
	where order_no in	
	<foreach close=")" collection="orderNos" item="orderNo" open="(" separator=",">
	 #{orderNo}
  	</foreach> 
	and finance_id= #{aid,jdbcType=VARCHAR}
  </update>
  <select id="checkContractNo" resultType="java.lang.Integer">
  	select count(contract_no) from t_order_new
	where contract_no= #{0}
  </select>	
  
  <select id="countTotalAndActually" parameterType="Map" resultType="java.util.Map">
	   select sum(o.settlement_amount) actuallyTotalAmount,sum(o.total_amount) signTotalAmount from t_order_new o 
  left join department d   on o.order_dep=d.id left join `user` u on o.buyer_id = u.id  left join t_order_mid a on o.order_no=a.order_no
  where o.delete_sign != 1  and (o.approval = 0 or o.approval = 2) and outsource=  #{o.outsource,jdbcType=INTEGER}
  	 	<if test="o.processStatus == 3">
	  	and o.process_status = #{o.processStatus,jdbcType=INTEGER}
	  	</if>
	  	<if test="o.processStatus == 4">
	  	and o.process_status &gt;= #{o.processStatus,jdbcType=INTEGER}
	  	</if>
	  	<if test="o.processStatus == 9">
	  	and o.back_status = 3
	  	</if>
	  	<if test="fids != null and fids.size() &gt; 0">
	  	and d.finance_id in 
	   <foreach close=")" collection="fids" index="" item="item" open="(" separator=",">
       		#{item}
     	</foreach>
		</if>
  		<if test="o.orderStatus != null and o.orderStatus != &quot;&quot;">
	  	and (o.order_status =  #{o.orderStatus,jdbcType=INTEGER} or o.back_status=3)
	  	</if>
  		<if test="o.departmentId != null and o.departmentId != &quot;&quot;">
	  	and o.order_dep = #{o.departmentId,jdbcType=INTEGER}
	  	</if>
	  	<if test="o.contractNo != null and o.contractNo != &quot;&quot;">
  		and o.contract_no like CONCAT('%',#{o.contractNo,jdbcType=VARCHAR},'%')
  		</if>
  		<if test="o.liquidationStatus != null">
	  	and o.liquidation_status = #{o.liquidationStatus,jdbcType=INTEGER}
	  	</if>
	  	<if test="o.amountStatus == 0">
	  	and o.total_amount &lt; 10
	  	</if>
	  	<if test="o.amountStatus == 1">
	  	and o.total_amount between 10 and 20
	  	</if>
	  	<if test="o.amountStatus == 2">
	  	and o.total_amount between 20 and 30
	  	</if>
	  	<if test="o.amountStatus == 3">
	  	and o.total_amount between 30 and 40
	  	</if>
	  	<if test="o.amountStatus == 4">
	  	and o.total_amount  &gt; 40
	  	</if>
  		<if test="o.orderNo != null and o.orderNo != &quot;&quot;">
	  	and o.order_no = #{o.orderNo,jdbcType=VARCHAR}
	  	</if>
	  	<if test="o.buyerName != null and o.buyerName != &quot;&quot;">
	  	<bind name="n" value="'%' + o.buyerName + '%'" />
	  	and u.nickname  like #{n,jdbcType=VARCHAR}
	  	</if>
	  	<if test="o.startTime != null and o.startTime != &quot;&quot; and o.endTime != null and o.endTime != &quot;&quot;">
	  	<bind name="a" value="o.startTime + ' 00:00:00'" />
	  	<bind name="b" value="o.endTime + ' 23:59:59'" />
	  	and o.create_time between #{a,jdbcType=VARCHAR} and #{b,jdbcType=VARCHAR}
	  	</if>
	  	<if test="o.startFinalReceivablesTime != null and o.startFinalReceivablesTime != &quot;&quot; and o.endFinalReceivablesTime != null and o.endFinalReceivablesTime != &quot;&quot;">
	  	<bind name="c" value="o.startFinalReceivablesTime + ' 00:00:00'" />
	  	<bind name="d" value="o.endFinalReceivablesTime + ' 23:59:59'" />
	  	and a.final_Receivables_time between #{c,jdbcType=VARCHAR} and #{d,jdbcType=VARCHAR}
	  	</if>								
	  	</select>	
	  	
	  	<select id="getLastPayment" resultType="com.goafanti.common.model.TOrderBillNew">
  	select date_format(create_time, '%Y-%m-%d %H:%i:%s') createTimes,transaction_amount transactionAmount from t_order_bill_new
	where order_no= #{orderNo}
	order by create_time desc limit 1;
  </select>
  <update id="updateSalesmanId">
  	update t_order_new set salesman_id= #{transferId},old_salesman_id= #{aid}
	where delete_sign !=1 and salesman_id= #{aid}
  </update>
  
  <select id="selectUsedOrderByOrder" resultType="com.goafanti.order.bo.TOrderNewBo">
  	  select 
    a.order_no as orderNo, a.order_type as orderType, a.creater, a.create_time as createTime,a.update_time as updateTime, a.buyer_id as buyerId,
    a.first_amount as firstAmount,a.total_amount as totalAmount, a.settlement_amount as settlementAmount, order_status as orderStatus,
    a.liquidation_status as liquidationStatus, a.process_status as processStatus, a.project_status as projectStatus, a.approval,
    a.order_remarks as orderRemarks, a.delete_sign as deleteSign, a.salesman_id as salesmanId, a.finance_id as financeId, technician_id as technicianId, 
    a.sign_time as signTime, a.settlement_time as settlementTime, a.contract_no as contractNo, a.contract_type as contractType, a.contacts,
    a.contact_mobile as contactMobile, a.legal_person as legalPerson, a.legal_person_tel as legalPersonTel, a.proof_count as proofCount,
    a.proof_aid as proofAid,contract_picture_url as contractPictureUrl, c.name as salesmanName,dep.name as depName,d.name as financeName,
    c.contact_mobile as salesmanMobile,d.contact_mobile as financeMobile,b.nickname as userName ,e.back_status as backStatus,f.name as initiateName,
    e.reason,date_format(e.create_time,'%Y-%m-%d') as backDate,a.buyer_id as uid,a.order_dep as orderDep, g.location_province as locationProvince,
    g.location_city as locationCity,g.location_area locationArea,g.postal_address postalAddress,outsource,a.primary_order primaryOrder,
    h.name NowFinance,h.contact_mobile NowFinanceMobile,a.additional_order additionalOrder,i.name as oldSalesmanName, i.contact_mobile oldSalesmanMobile
    from new_order_change noc left join t_order_new a on noc.used_order=a.order_no left join `user` b on a.buyer_id=b.id left join admin i on a.old_salesman_id=i.id
    left join admin c on a.salesman_id=c.id left join department dep on a.order_dep=dep.id left join admin d on a.finance_id=d.id
    left join admin h on dep.finance_id=h.id left join (select * from t_order_back a where back_status=0) e on a.order_no=e.order_no
  	left join admin f on e.initiate=f.id left join organization_identity g on a.buyer_id=g.uid
  	where noc.order_no= #{orderNo} order by noc.create_time
  </select>
  
  <update id="updaterefund" parameterType="com.goafanti.common.model.TOrderNew">
  	update t_order_new set settlement_amount=settlement_amount-#{refundAmount,jdbcType=DECIMAL},
  	refund_amount=#{refundAmount,jdbcType=DECIMAL}	where order_no=#{orderNo}
  </update>
  
  <select id="selectArrearsDunListByPage" resultType="com.goafanti.order.bo.OutArrearsDunListBo">
select a.id, b.contract_no contractNo,a.order_no as orderNo,c.nickname as userName,tm.salesman_name as salesmanName,
   	b.project_status projectStatus, b.total_amount as totalAmount,b.liquidation_status as liquidationStatus,a.`type`,
   	b.settlement_amount as settlementAmount, a.order_receivables orderReceivables,a.order_arrears as orderArrears,
   	b.order_status as orderStatus, date_format(a.start_time, '%Y-%m-%d %H:%i:%s') as startDate,dep.name as depName,
   	date_format(b.sign_time,'%Y-%m-%d') as signDate,a.dun_status dunStatus  from t_arrears_dun a 
   	left join t_order_new b on a.order_no=b.order_no left join `user` c on b.buyer_id=c.id 
	left join t_order_mid tm on b.order_no=tm.order_no left join department dep on b.order_dep=dep.id
	where  b.delete_sign != 1 and dun_status in (1,2,3)
	<if test="shiroType == 1 and fid !=null">
  	 and tm.finance_id= #{fid,jdbcType=VARCHAR}
  	</if>
  	<if test="shiroType == 2 and fid !=null">
  	 and tm.finance_id in (select id from admin where superior_id= #{fid,jdbcType=VARCHAR})
  	</if>
    <if test="name != null">
  	and c.nickname like CONCAT('%',#{name,jdbcType=VARCHAR},'%')
  	</if>
  	<if test="adminName != null">
  	and tm.salesman_name  like CONCAT('%',#{adminName,jdbcType=VARCHAR},'%')
  	</if>
  	<if test="orderNo != null">
  	and a.order_no like CONCAT('%',#{orderNo,jdbcType=VARCHAR},'%') 
  	</if>
  	<if test="depId != null">
  	and b.order_dep= #{depId,jdbcType=VARCHAR}
  	</if>
  	<if test="aid != null">
  	and b.salesman_id= #{aid,jdbcType=VARCHAR}
  	</if>
  	<if test="starTime !=null and endTime !=null">
  	and b.sign_time between #{starTime,jdbcType=VARCHAR} and #{endTime,jdbcType=VARCHAR}
  	</if>
  	<if test="tStarTime !=null and tEndTime !=null">
  	and a.start_time between #{tStarTime,jdbcType=VARCHAR} and #{tEndTime,jdbcType=VARCHAR}
  	</if>
  	order by dun_status,a.start_time desc
  	<if test="page_sql!=null">
			${page_sql}
	</if>
  </select>
  <select id="selectArrearsDunListByCount" resultType="java.lang.Integer">
  select count(*) from t_arrears_dun a 
   	left join t_order_new b on a.order_no=b.order_no left join `user` c on b.buyer_id=c.id 
	left join t_order_mid tm on b.order_no=tm.order_no left join department dep on b.order_dep=dep.id
	where  b.delete_sign != 1 and dun_status in (1,2,3)
	<if test="shiroType == 1 and fid !=null">
  	 and tm.finance_id= #{fid,jdbcType=VARCHAR}
  	</if>
  	<if test="shiroType == 2 and fid !=null">
  	 and tm.finance_id in (select id from admin where superior_id= #{fid,jdbcType=VARCHAR})
  	</if>
    <if test="name != null">
  	and c.nickname like CONCAT('%',#{name,jdbcType=VARCHAR},'%')
  	</if>
  	<if test="adminName != null">
  	and tm.salesman_name  like CONCAT('%',#{adminName,jdbcType=VARCHAR},'%')
  	</if>
  	<if test="orderNo != null">
  	and a.order_no like CONCAT('%',#{orderNo,jdbcType=VARCHAR},'%') 
  	</if>
  	<if test="depId != null">
  	and b.order_dep= #{depId,jdbcType=VARCHAR}
  	</if>
  	<if test="aid != null">
  	and b.salesman_id= #{aid,jdbcType=VARCHAR}
  	</if>
  	<if test="starTime !=null and endTime !=null">
  	and b.sign_time between #{starTime,jdbcType=VARCHAR} and #{endTime,jdbcType=VARCHAR}
  	</if>
   <if test="tStarTime !=null and tEndTime !=null">
  	and a.start_time between #{tStarTime,jdbcType=VARCHAR} and #{tEndTime,jdbcType=VARCHAR}
  	</if>
  </select>
</mapper>