<?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.zy.asrs.mapper.OrderMapper"> 
 | 
  
 | 
    <!-- 通用查询映射结果 --> 
 | 
    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.Order"> 
 | 
        <id column="id" property="id" /> 
 | 
        <result column="uuid" property="uuid" /> 
 | 
        <result column="order_no" property="orderNo" /> 
 | 
        <result column="order_time" property="orderTime" /> 
 | 
        <result column="doc_type" property="docType" /> 
 | 
        <result column="item_id" property="itemId" /> 
 | 
        <result column="item_name" property="itemName" /> 
 | 
        <result column="allot_item_id" property="allotItemId" /> 
 | 
        <result column="def_number" property="defNumber" /> 
 | 
        <result column="number" property="number" /> 
 | 
        <result column="cstmr" property="cstmr" /> 
 | 
        <result column="cstmr_name" property="cstmrName" /> 
 | 
        <result column="tel" property="tel" /> 
 | 
        <result column="oper_memb" property="operMemb" /> 
 | 
        <result column="total_fee" property="totalFee" /> 
 | 
        <result column="discount" property="discount" /> 
 | 
        <result column="discount_fee" property="discountFee" /> 
 | 
        <result column="other_fee" property="otherFee" /> 
 | 
        <result column="act_fee" property="actFee" /> 
 | 
        <result column="pay_type" property="payType" /> 
 | 
        <result column="salesman" property="salesman" /> 
 | 
        <result column="account_day" property="accountDay" /> 
 | 
        <result column="post_fee_type" property="postFeeType" /> 
 | 
        <result column="post_fee" property="postFee" /> 
 | 
        <result column="pay_time" property="payTime" /> 
 | 
        <result column="send_time" property="sendTime" /> 
 | 
        <result column="ship_name" property="shipName" /> 
 | 
        <result column="ship_code" property="shipCode" /> 
 | 
        <result column="settle" property="settle" /> 
 | 
        <result column="status" property="status" /> 
 | 
        <result column="create_by" property="createBy" /> 
 | 
        <result column="create_time" property="createTime" /> 
 | 
        <result column="update_by" property="updateBy" /> 
 | 
        <result column="update_time" property="updateTime" /> 
 | 
        <result column="memo" property="memo" /> 
 | 
  
 | 
    </resultMap> 
 | 
  
 | 
    <update id="updateSettle"> 
 | 
        update man_order 
 | 
        set settle = #{settle} 
 | 
        ,update_time = getdate() 
 | 
        <if test="userId != null"> 
 | 
            ,update_by = #{userId} 
 | 
        </if> 
 | 
        where 1=1 
 | 
        and id = #{orderId} 
 | 
    </update> 
 | 
    <update id="updateSettleTo1"> 
 | 
        UPDATE man_order set settle = 1 WHERE order_no = #{orderNo} 
 | 
    </update> 
 | 
    <select id="checkDetlWorkQtyLess0" resultType="integer"> 
 | 
        select count(*) FROM man_order_detl WHERE order_no = #{orderNo} and (work_qty > 0 or qty > 0) 
 | 
    </select> 
 | 
  
 | 
    <select id="selectComplete" resultMap="BaseResultMap"> 
 | 
        select top 5 * 
 | 
        from man_order 
 | 
        where 1=1 
 | 
        and settle = 4 
 | 
        and status = 1 
 | 
        order by update_time asc 
 | 
    </select> 
 | 
    <select id="selectInOrOutOrders" resultMap="BaseResultMap"> 
 | 
        SELECT * FROM man_order o left join man_doc_type d on o.doc_type = d.doc_id WHERE d.pakin = #{flag} and o.settle in (1,2) 
 | 
    </select> 
 | 
  
 | 
    <select id="selectToBeHistoryOrder" resultMap="BaseResultMap"> 
 | 
        select * 
 | 
        from man_order 
 | 
        where 1=1 
 | 
          and settle = #{settle} 
 | 
        order by create_time asc 
 | 
    </select> 
 | 
    <select id="selectAllorderNo" resultType="com.zy.asrs.entity.OrderListDTO"> 
 | 
        select order_no from man_order 
 | 
    </select> 
 | 
    <sql id="orderSql"> 
 | 
        <if test="orderNo != null and orderNo!='' "> 
 | 
            and order_no like '%' + #{orderNo} + '%' 
 | 
        </if> 
 | 
    </sql> 
 | 
    <select id="getOrderAll" resultMap="BaseResultMap"> 
 | 
        select t.row,order_all.* from 
 | 
            ( 
 | 
            select 
 | 
            ROW_NUMBER() over (order by order_time desc) as row,id 
 | 
            FROM order_all 
 | 
            WHERE 1=1 
 | 
            <include refid="orderSql"></include> 
 | 
            GROUP BY id,order_time 
 | 
            ) t 
 | 
            LEFT JOIN order_all ON t.id = order_all.id 
 | 
            where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) 
 | 
    </select> 
 | 
    <select id="getOrderAllCount" resultType="java.lang.Long"> 
 | 
        select SUM(1) from 
 | 
            ( 
 | 
                select 
 | 
                    ROW_NUMBER() over (order by sum(1) desc) as row, 
 | 
                        id 
 | 
                FROM order_all 
 | 
                WHERE 1=1 
 | 
                <include refid="orderSql"></include> 
 | 
                GROUP BY id 
 | 
            ) t 
 | 
                LEFT JOIN order_all ON t.id = order_all.id 
 | 
    </select> 
 | 
  
 | 
  
 | 
    <insert id="addToLogTable"> 
 | 
        INSERT INTO man_order_log SELECT * FROM man_order WHERE id = #{id} 
 | 
    </insert> 
 | 
  
 | 
</mapper> 
 |