chenlu
2025-11-24 1e31f9f7fe6f04236e97f72c0df3ce051d5f867e
north-glass-erp/src/main/resources/mapper/sd/ProductMapper.xml
@@ -44,7 +44,7 @@
        left join basic_glass_type bgt on bgt.type_id = a.type_id
        <where>
            <if test="glassTypeId != null and glassTypeId != ''">
                and a.type_id like concat('%',#{glassTypeId},'%')
                and a.type_id = #{glassTypeId}
            </if>
            <if test="product.id != null and product.id != ''">
                and a.id like concat('%',#{product.id},'%')
@@ -64,12 +64,27 @@
            <if test="product.creator != null and product.creator != ''">
                and a.creator like concat('%',#{product.creator},'%')
            </if>
            <if test="product.state != null">
                and a.state = #{product.state}
            </if>
            <if test="product.createTime != null and product.createTime != ''">
                and date(a.create_time) like concat('%',#{product.createTime},'%')
            </if>
            <if test="product.remarks != null and product.remarks != ''">
                and a.remarks like concat('%',#{product.remarks},'%')
            </if>
        </where>
        order by id desc
        order by
        <if test="orderBy == null ">
            id desc
        </if>
        <if test="orderBy == 'desc'">
            ${field} desc
        </if>
        <if test="orderBy == 'asc'">
            ${field}
        </if>
        limit #{offset},#{pageSize}
        ;
    </select>
@@ -109,14 +124,32 @@
            <if test="product.createTime != null and product.createTime != ''">
                and date(a.create_time) regexp #{product.createTime}
            </if>
            <if test="product.remarks != null and product.remarks != ''">
                and a.remarks like concat('%',#{product.remarks},'%')
            </if>
            <if test="product.state != null">
                and a.state = #{product.state}
            </if>
            <if test="product.productAbbreviation != null and product.productAbbreviation != ''">
                and a.product_abbreviation like concat('%',#{product.productAbbreviation},'%')
            </if>
        </where>
        order by a.id desc
        limit #{offset},#{pageSize}
        ;
        limit #{offset},#{pageSize};
    </select>
    
    <update id="updateProductStateById">
        update product set state = #{state} where id = #{id}
    </update>
    <select id="getGlassThickness">
        select sum(REPLACE(JSON_UNQUOTE(JSON_EXTRACT(separation, '$.thickness')),'mm',''))
        from product_detail as a
        where a.prod_id = #{productId}
        and a.id &lt;= (select b.id
                        from product_detail as b
                        where b.prod_id = #{productId} and b.glass_sort = #{technologyNumber})
    </select>
</mapper>