huang
2025-10-22 78d73df2f8e0c6855d65eb1f2c6df08e0f99bab1
hangzhoumesParent/common/servicebase/src/main/resources/mapper/UpPattenUsageMapper.xml
@@ -14,17 +14,29 @@
        <result column="group_number" property="groupNumber"/>
    </resultMap>
    <select id="queryRawGlassByEngineeringId" resultMap="baseMap">
        SET @prev_width := NULL;
        SET @prev_height := NULL;
        SET @counter := 0;
        SELECT t.*,
               @counter := IF(@prev_width = width and @prev_height = height, @counter, @counter + 1) AS group_number,
               @prev_width := width,
               @prev_height := height
        FROM up_patten_usage t
        where t.engineering_id = #{engineeringId}
          and t.state = 0
        ORDER BY t.layout_sequence
        SELECT
            t.*,
            t.group_number
        FROM (
                 SELECT
                     upu.*,
                     -- 计算组号
                     @counter := IF(@prev_width = upu.width AND @prev_height = upu.height,
                                    @counter,
                                    @counter + 1) AS group_number,
                     -- 变量赋值
                     @prev_width := upu.width,
                     @prev_height := upu.height
                 FROM
                     up_patten_usage upu,
                     -- 关键:用虚拟表初始化变量,替代单独的SET语句
                     (SELECT @prev_width := NULL, @prev_height := NULL, @counter := 0) AS init_var
                 WHERE
                     upu.engineering_id = #{engineeringId}
                   AND upu.state = 0
                 ORDER BY
                     upu.layout_sequence
             ) AS t
    </select>
    <select id="queryFinishByEngineering" resultType="java.lang.Integer">
        SELECT id