廖井涛
2024-07-11 e55a701f5d4807a84eecc6aff5f69e35e9ee6af4
north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml
@@ -24,6 +24,7 @@
                            remarks,
                            bend_radius,
                            edging_type,
                            arch_rise,
                            weight,
                            perimeter,
                            other_columns
@@ -49,6 +50,7 @@
            #{orderDetail.remarks},
            #{orderDetail.bendRadius},
            #{orderDetail.edgingType},
            #{orderDetail.archRise},
            #{orderDetail.weight},
            #{orderDetail.perimeter},
            #{orderDetail.otherColumns}
@@ -726,22 +728,91 @@
    </select>
    <select id="exportOrderProductSummary"  >
        SELECT
            *,
            a.create_time as createTime,
            d.type_name as level_one,
            e.type_name as level_two
        from order_detail as a
        SELECT a.id,
               a.order_id,
               a.order_number,
               a.building_number,
               a.product_id,
               a.product_name,
               a.price,
               sum(a.quantity) as quantity,
               a.gross_amount,
               a.width,
               a.height,
               a.shape,
               sum(a.area) as area,
               sum(a.gross_area) as gross_area,
               sum(a.compute_area) as compute_area,
               sum(a.compute_gross_area) as compute_gross_area,
               a.processing_note,
               a.remarks,
               a.bend_radius,
               a.edging_type,
               a.weight,
               a.perimeter,
               a.other_columns,
               a.warehouse_num,
               a.delivery_num,
               a.return_num,
               a.state,
               b.id,
               b.order_id,
               b.project,
               b.customer_id,
               b.customer_name,
               b.order_type,
               b.order_classify,
               b.icon,
               b.pack_type,
               b.delivery_date,
               b.batch,
               b.calculate_type,
               b.salesman_id,
               b.salesman,
               b.al_type,
               b.money,
               b.contract_id,
               b.customer_batch,
               b.contacts,
               b.contact_number,
               b.delivery_address,
               b.other_money,
               b.other_money_remarks,
               b.processing_note,
               b.other_remarks,
               b.area,
               b.quantity,
               b.perimeter,
               b.verifier_id,
               b.verifier,
               b.creator_id,
               b.creator,
               b.create_order,
               b.process_review,
               b.order_review,
               b.production_order,
               b.processing_card,
               b.warehousing,
               b.delivery,
               b.create_time,
               b.update_time,
               d.type_name as level_one,
               e.type_name as level_two,
               f.customer_abbreviation
        from sd.order_detail as a
                 left join sd.`order` as b
                           on b.order_id = a.order_id
                 left join sd.customer as f
                           on f.id = b.customer_id
                 left join sd.product as c
                           on c.id = a.product_id
                 left join sd.basic_glass_type as d
                           on d.type_id = c.type_id
                 left join sd.basic_glass_type as e
                           on e.type_id = d.belong
        where  date(a.create_time)>=#{dates[0]} and date(a.create_time) &lt;= #{dates[1]}
        group by b.order_id,a.product_id
        where date(a.create_time) >= #{dates[0]}
          and date(a.create_time) &lt;= #{dates[1]}
        group by b.order_id, a.product_id
        order by b.order_id desc
    </select>
    
@@ -762,5 +833,52 @@
        group by a.glass_child,a.child_width,a.child_height
    </select>
    <select id="getOrderProductDistinctById">
        select
            (a.product_id) as 'productId',
                    a.product_name as 'productName',
                    a.order_number as 'orderNumber'
        from order_detail as a
        where a.order_id = #{orderId}
        group by a.product_id
    </select>
    <select id="getOrderProductDistinctByIds">
        select
        (a.product_id) as 'productId',
        a.product_name as 'productName',
        a.order_number as 'orderNumber'
        from order_detail as a
        where a.order_id = #{orderId} and a.product_id IN
        <foreach item="item" index="index" collection="productId" open="(" separator="," close=")">
            #{item}
        </foreach>
        group by a.product_id
    </select>
    <select id="getOrderProductByProductId">
        select
            *
        from order_detail as a
        where a.order_id = #{orderId}
        and a.product_id = #{productId}
        order by id;
    </select>
    <select id="getOrderProductByProductIds">
        select *
        from sd.order_detail od
                 left join sd.product_detail pd on od.product_id = pd.prod_id
        where od.order_id = #{orderId} and od.product_id=#{productId}
          and pd.detail_type = 'glass'
        group by od.product_id,pd.detail
    </select>
</mapper>