ZengTao
2025-11-29 4dc1abb37aec033fdbd09d290c6f62d082ba774a
hangzhoumesParent/common/servicebase/src/main/resources/mapper/OrderMapper.xml
@@ -152,4 +152,34 @@
          and a.process = "中空"
          and (b.quantity - b.termination_quantity) > reporting_work_num
    </select>
    <select id="queryInterlayerByERP" resultType="com.mes.order.entity.dto.InterlayerDTO">
        WITH flow_order AS (
            SELECT ORDER_ID, ORDER_NUMBER
            FROM pp.flow_card
            WHERE process_id = #{flowCardId}
            ORDER BY  ORDER_NUMBER /* 添加适当的排序字段,确保结果确定性 */
            LIMIT 1
        ),
             product_ids AS (
                 SELECT od.PRODUCT_ID
                 FROM sd.order_detail od
                          inner JOIN flow_order fo ON od.ORDER_id = fo.ORDER_ID AND od.ORDER_NUMBER = fo.ORDER_NUMBER
             ),
             ranked AS (
                 SELECT
                     detail_type,
                     LAG(glass_sort) OVER (PARTITION BY prod_id ORDER BY sort_num) AS prev_sort,
                     LEAD(glass_sort) OVER (PARTITION BY prod_id ORDER BY sort_num) AS next_sort
                 FROM sd.product_detail
                 WHERE prod_id IN (SELECT PRODUCT_ID FROM product_ids)
             )
        SELECT
            prev_sort,
            next_sort
        FROM ranked
        where detail_type = 'Interlayer'
    </select>
</mapper>