Browse Source

修复排序问题

周浩 9 years ago
parent
commit
6039bb24e6

+ 1 - 1
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/basic/BasicMapper.xml

@@ -161,7 +161,7 @@
             <when test="sortField!=null and sortField.size()>0">
                 <foreach item="item" index="index" collection="sortField" open="" separator="," close="">
                     <if test="item in $fields">
-                        <if test="!fieldHasLen"> order by </if>${item}
+                        <if test="!fieldHasLen"> order by </if>${$tableName}.${item}
                         <bind name="fieldHasLen" value="true"/>
                     </if>
                 </foreach>

+ 5 - 3
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/form/FormMapper.xml

@@ -75,17 +75,19 @@
         <bind name="$tableName" value="'t2'"/>
         <!--定义表名-->
         select
-        <include refid="BasicMapper.buildSelectField"/>
         <!--动态生成要查询的字段-->
+        <include refid="BasicMapper.buildSelectField"/>
         from (
         select s_form.name,max(s_form.version) as version from s_form s_form
         <include refid="tableName"/>
         <where>
-            <include refid="BasicMapper.buildWhere"/>
             <!--动态查询条件-->
+            <include refid="BasicMapper.buildWhere"/>
         </where>
-        group by name ) t1
+        group by name) t1
         left join s_form t2 on t1.name=t2.name and t1.version =t2.version
+        <bind name="$tableName" value="'t2'"/>
+        <include refid="BasicMapper.buildSortField"/>
     </select>
 
     <select id="countLatestList" parameterType="org.hsweb.web.bean.common.QueryParam" resultType="int">

+ 1 - 1
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/basic/BasicMapper.xml

@@ -189,7 +189,7 @@
             <when test="sortField!=null and sortField.size()>0">
                 <foreach item="item" index="index" collection="sortField" open="" separator="," close="">
                     <if test="item in $fields">
-                        <if test="!fieldHasLen">order by</if>${item}
+                        <if test="!fieldHasLen">order by</if>${$tableName}.${item}
                         <bind name="fieldHasLen" value="true"/>
                     </if>
                 </foreach>

+ 2 - 0
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/form/FormMapper.xml

@@ -82,6 +82,8 @@
         </where>
         group by name ) t1
         left join s_form t2 on t1.name=t2.name and t1.version =t2.version
+        <bind name="$tableName" value="'t2'"/>
+        <include refid="BasicMapper.buildSortField"/>
     </select>
 
     <select id="countLatestList" parameterType="org.hsweb.web.bean.common.QueryParam" resultType="int">