feat(qo): 新增物料查询排序字段支持
- QmsQcMaterialSearchQO中增加sortField和sortOrder字段 - 根据sortField动态选择排序字段,支持多种物料相关字段排序 - 支持sortOrder指定升序或降序,默认降序排序 - QmsQcMaterialMapper.xml中修改SQL实现根据请求参数动态排序 - 默认排序仍为物料编号倒序,兼容无排序参数情况
This commit is contained in:
parent
260e533cc0
commit
b06c07dc6c
|
|
@ -34,4 +34,15 @@ public class QmsQcMaterialSearchQO extends PageQO {
|
||||||
* 物料名称(模糊匹配)
|
* 物料名称(模糊匹配)
|
||||||
*/
|
*/
|
||||||
private String materialName;
|
private String materialName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 排序字段(对应 QmsQcMaterialVO 中的字段名,如 materialNo、createTime 等)
|
||||||
|
* 为空时默认按物料编号倒序
|
||||||
|
*/
|
||||||
|
private String sortField;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 排序类型:asc=升序,desc=降序,默认 desc
|
||||||
|
*/
|
||||||
|
private String sortOrder;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,36 @@
|
||||||
AND material_name ilike concat('%', #{request.materialName}, '%')
|
AND material_name ilike concat('%', #{request.materialName}, '%')
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
ORDER BY material_no DESC
|
ORDER BY
|
||||||
|
<choose>
|
||||||
|
<when test="request.sortField != null and request.sortField != ''">
|
||||||
|
<choose>
|
||||||
|
<when test="request.sortField == 'id'">id</when>
|
||||||
|
<when test="request.sortField == 'materialNo'">material_no</when>
|
||||||
|
<when test="request.sortField == 'materialDesc'">material_desc</when>
|
||||||
|
<when test="request.sortField == 'materialDescIsUpgrade'">material_desc_is_upgrade</when>
|
||||||
|
<when test="request.sortField == 'materialCategoryCode'">material_category_code</when>
|
||||||
|
<when test="request.sortField == 'materialCategoryCodePathName'">material_category_code_path_name</when>
|
||||||
|
<when test="request.sortField == 'drawingNo'">drawing_no</when>
|
||||||
|
<when test="request.sortField == 'drawingNoVer'">drawing_no_ver</when>
|
||||||
|
<when test="request.sortField == 'materialName'">material_name</when>
|
||||||
|
<when test="request.sortField == 'materialTexture'">material_texture</when>
|
||||||
|
<when test="request.sortField == 'materialSpecifications'">material_specifications</when>
|
||||||
|
<when test="request.sortField == 'isStandardMaintained'">is_standard_maintained</when>
|
||||||
|
<when test="request.sortField == 'createdType'">created_type</when>
|
||||||
|
<when test="request.sortField == 'createByName'">create_by_name</when>
|
||||||
|
<when test="request.sortField == 'createTime'">create_time</when>
|
||||||
|
<when test="request.sortField == 'updateByName'">update_by_name</when>
|
||||||
|
<when test="request.sortField == 'updateTime'">update_time</when>
|
||||||
|
<otherwise>material_no</otherwise>
|
||||||
|
</choose>
|
||||||
|
<choose>
|
||||||
|
<when test="request.sortOrder != null and request.sortOrder.equalsIgnoreCase('asc')">ASC</when>
|
||||||
|
<otherwise>DESC</otherwise>
|
||||||
|
</choose>
|
||||||
|
</when>
|
||||||
|
<otherwise>material_no DESC</otherwise>
|
||||||
|
</choose>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
|
@ -94,7 +123,36 @@
|
||||||
AND material_name ilike concat('%', #{request.materialName}, '%')
|
AND material_name ilike concat('%', #{request.materialName}, '%')
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
ORDER BY material_no DESC
|
ORDER BY
|
||||||
|
<choose>
|
||||||
|
<when test="request.sortField != null and request.sortField != ''">
|
||||||
|
<choose>
|
||||||
|
<when test="request.sortField == 'id'">id</when>
|
||||||
|
<when test="request.sortField == 'materialNo'">material_no</when>
|
||||||
|
<when test="request.sortField == 'materialDesc'">material_desc</when>
|
||||||
|
<when test="request.sortField == 'materialDescIsUpgrade'">material_desc_is_upgrade</when>
|
||||||
|
<when test="request.sortField == 'materialCategoryCode'">material_category_code</when>
|
||||||
|
<when test="request.sortField == 'materialCategoryCodePathName'">material_category_code_path_name</when>
|
||||||
|
<when test="request.sortField == 'drawingNo'">drawing_no</when>
|
||||||
|
<when test="request.sortField == 'drawingNoVer'">drawing_no_ver</when>
|
||||||
|
<when test="request.sortField == 'materialName'">material_name</when>
|
||||||
|
<when test="request.sortField == 'materialTexture'">material_texture</when>
|
||||||
|
<when test="request.sortField == 'materialSpecifications'">material_specifications</when>
|
||||||
|
<when test="request.sortField == 'isStandardMaintained'">is_standard_maintained</when>
|
||||||
|
<when test="request.sortField == 'createdType'">created_type</when>
|
||||||
|
<when test="request.sortField == 'createByName'">create_by_name</when>
|
||||||
|
<when test="request.sortField == 'createTime'">create_time</when>
|
||||||
|
<when test="request.sortField == 'updateByName'">update_by_name</when>
|
||||||
|
<when test="request.sortField == 'updateTime'">update_time</when>
|
||||||
|
<otherwise>material_no</otherwise>
|
||||||
|
</choose>
|
||||||
|
<choose>
|
||||||
|
<when test="request.sortOrder != null and request.sortOrder.equalsIgnoreCase('asc')">ASC</when>
|
||||||
|
<otherwise>DESC</otherwise>
|
||||||
|
</choose>
|
||||||
|
</when>
|
||||||
|
<otherwise>material_no DESC</otherwise>
|
||||||
|
</choose>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue