liyg 2 år sedan
förälder
incheckning
b826687dad
1 ändrade filer med 16 tillägg och 19 borttagningar
  1. 16 19
      src/main/resources/com/steerinfo/dil/mapper/UniversalMapper.xml

+ 16 - 19
src/main/resources/com/steerinfo/dil/mapper/UniversalMapper.xml

@@ -349,24 +349,30 @@
         FETCH NEXT 10 ROWS ONLY
     </select>
     <select id="getCapacityTypeByLike" resultType="java.util.Map">
-        select  DISTINCT * from(
+        select * from(
         select
         RCT.CAPACITY_TYPE_ID "capacityTypeId",
         RCT.CAPACITY_TYPE_NAME "capacityTypeName",
         RCT.CAPACITY_TYPE_ID "id",
         RCT.CAPACITY_TYPE_ID "value",
         RCT.CAPACITY_TYPE_NAME "label",
-        RCT.CAPACITY_TYPE_NAME "text"
+        RCT.CAPACITY_TYPE_NAME "text",
         RCT .CAPACITY_MAX_LOAD "capacityMaxLoad",
-        '[' || listagg (RCFT .FUEL_TYPE_ID, ',') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) || ']'  "fuelTypeIds",
-        listagg (RFT .FUEL_TYPE_NAME, '/') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID)  "fuelTypes"
+        '[' || listagg (RCFT .FUEL_TYPE_ID, ',') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) || ']' "fuelTypeIds",
+        listagg (RFT .FUEL_TYPE_NAME, '/') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) "fuelTypes"
         from RMS_CAPACITY_TYPE RCT
         LEFT JOIN RMS_CAPACITY_FUEL_TYPE RCFT ON RCFT.CAPACITY_TYPE_ID = RCT .CAPACITY_TYPE_ID
         LEFT JOIN RMS_FUEL_TYPE RFT ON RFT .FUEL_TYPE_ID = RCFT.FUEL_TYPE_ID
-        where RCT.DELETED=0
+        <where>
+            RCT.DELETED=0
+            <if test="index!=null and index!=''">
+                AND REGEXP_LIKE(RCT.CAPACITY_TYPE_NAME, #{index})
+            </if>
+        </where>
         GROUP BY RCT .CAPACITY_TYPE_ID,RCT.CAPACITY_TYPE_NAME,RCT .CAPACITY_MAX_LOAD
-
-        <if test="id!=null and id.size>0 and !(index!=null and index!='')">
+        FETCH NEXT 10 ROWS ONLY
+        )
+        <if test="id!=null and id.size>0">
         UNION
             select
             RCT.CAPACITY_TYPE_ID "capacityTypeId",
@@ -374,28 +380,19 @@
             RCT.CAPACITY_TYPE_ID "id",
             RCT.CAPACITY_TYPE_ID "value",
             RCT.CAPACITY_TYPE_NAME "label",
-            RCT.CAPACITY_TYPE_NAME "text"
+            RCT.CAPACITY_TYPE_NAME "text",
             RCT .CAPACITY_MAX_LOAD "capacityMaxLoad",
             '[' || listagg (RCFT .FUEL_TYPE_ID, ',') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) || ']'  "fuelTypeIds",
             listagg (RFT .FUEL_TYPE_NAME, '/') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID)  "fuelTypes"
             from RMS_CAPACITY_TYPE RCT
             LEFT JOIN RMS_CAPACITY_FUEL_TYPE RCFT ON RCFT.CAPACITY_TYPE_ID = RCT .CAPACITY_TYPE_ID
             LEFT JOIN RMS_FUEL_TYPE RFT ON RFT .FUEL_TYPE_ID = RCFT.FUEL_TYPE_ID
-            where RCT.DELETED=0
-            GROUP BY RCT .CAPACITY_TYPE_ID,RCT.CAPACITY_TYPE_NAME,RCT .CAPACITY_MAX_LOAD
-            WHERE "id" in
+            WHERE RCT.CAPACITY_TYPE_ID in
             <foreach collection="id" item="item"  open="(" close=")" separator="," >
                 #{item}
             </foreach>
+            GROUP BY RCT .CAPACITY_TYPE_ID,RCT.CAPACITY_TYPE_NAME,RCT .CAPACITY_MAX_LOAD
         </if>
-        )
-        <where>
-            <if test="index!=null and index!=''">
-                AND REGEXP_LIKE("label", #{index})
-            </if>
-        </where>
-        FETCH NEXT 10 ROWS ONLY
-
     </select>
     <select id="getLineByLike" resultType="java.util.Map">
         select * from(