chenlu
2025-10-30 174cc2a8aa52f00334e0e9a3a0ea91b2e3e7acd3
north-glass-erp/src/main/resources/mapper/sd/ProductMapper.xml
@@ -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>