chenlu
2024-12-12 515025ffd3ace6f7382f9a853d3aba50f191c8d0
north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml
@@ -10,29 +10,65 @@
        from
            sd.`order` as o
        where
            o.quantity=#{order.quantity} and o.area=#{order.area} and o.project=#{order.project} and o.customer_id=#{order.customerId}
            o.quantity=#{order.quantity} and o.area=#{order.area} and trim(o.project)=trim(#{order.project}) and o.customer_id=#{order.customerId}
    </select>
    <select id="selectMaxOrderId">
        select
           ifnull(SUBSTR(max(order_id) from 9),0)
           ifnull(SUBSTR(max(right(order_id,8)) from 7),0)
        from
            `order` as a
        where
            date(a.create_time) = curdate()
        order by id desc,order_id   desc limit  1
        /*order by order_id desc,order_id   desc limit  1*/
    </select>
    <select id="selectMaxOrderIdByMonth">
        select
            ifnull(SUBSTR(order_id from 7),0)
            ifnull(SUBSTR(max(right(order_id,8)) from 5),0)
        from
            `order` as a
        where
            date(a.create_time)  BETWEEN DATE_FORMAT(DATE(NOW()), '%Y-%m-01') AND DATE(NOW())
        order by id desc    limit  1
    </select>
    <select id="selectMaxOrderIdByYear">
       select
           ifnull(SUBSTR(max(right(order_id,8)) from 3),0)
        from
            `order` as a
        where
            year(a.create_time)  = year(now())
            and a.id>400
    </select>
    <select id="selectOrderIdMin">
        select count(*) from sd.`order` where SUBSTR(order_id,3,11)>#{substringInt}
    </select>
    <select id="selectOrderIdIs">
        select count(*) from sd.`order` where SUBSTR(order_id,3,11)=#{substringInt}
    </select>
    <select id="selectOrderIdDay">
        select count(*) from sd.`order` where order_id=#{oldOrderId} and SUBSTR(#{oldOrderId},9,2)=01
    </select>
    <select id="selectOrderIdMonth">
        select count(*) from sd.`order` where order_id=#{oldOrderId} and SUBSTR(#{oldOrderId},7,4)=0001
    </select>
    <select id="selectOrderIdYear">
        select count(*) from sd.`order` where order_id=#{oldOrderId} and SUBSTR(#{oldOrderId},5,2)=000001
    </select>
    <select id="selectOrderId">
        select * from sd.`order` where order_id=#{orderId}
    </select>
    <update id="updateOrderId">
        update sd.`order` set order_id=#{newOrderId} where order_id=#{oldOrderId}
    </update>
    <update id="updateOrderParameter">
        update `order` o
@@ -114,6 +150,14 @@
           <if test="order.salesman != null and order.salesman != ''">
               and o.salesman REGEXP #{order.salesman}
           </if>
            <if test="order.creator != null and order.creator != ''">
                and o.creator REGEXP #{order.creator}
            </if>
            <if test="order.verifier != null and order.verifier != ''">
                and o.verifier REGEXP #{order.verifier}
            </if>
           <if test="order.perimeter != null and order.perimeter != ''">
               and o.perimeter REGEXP #{order.perimeter}
@@ -203,6 +247,14 @@
                and o.salesman REGEXP #{order.salesman}
            </if>
            <if test="order.creator != null and order.creator != ''">
                and o.creator REGEXP #{order.creator}
            </if>
            <if test="order.verifier != null and order.verifier != ''">
                and o.verifier REGEXP #{order.verifier}
            </if>
            <if test="order.perimeter != null and order.perimeter != ''">
                and o.perimeter REGEXP #{order.perimeter}
            </if>
@@ -261,7 +313,7 @@
    </update>
    <update id="updateMoney">
        update `order` set money = #{order.money},calculate_type = #{order.calculateType} where order_id = #{order.orderId}
        update `order` set money = #{order.money},calculate_type = #{order.calculateType},other_money=#{order.otherMoney} where order_id = #{order.orderId}
    </update>
    <update id="cancelOrder">
@@ -283,4 +335,15 @@
            o.order_id = #{orderId}
    </update>
    <select id="selectDifferentSize">
    select a.order_number,count(a.order_number),a.order_id from(select order_id,order_number
    from sd.order_glass_detail ogd
    where ogd.order_id = #{orderId}
    group by ogd.order_number,ogd.child_height,child_width)
    as a
    group by a.order_number
    having count(a.order_number) > 1
    </select>
</mapper>