Ver Fonte

+ 大屏接口研发,《源》

chen.cheng há 11 meses atrás
pai
commit
1e8fec0fda

+ 23 - 7
ems-cloud/ems-modules/ems-server/src/main/resources/mapper/ems/AdmEmsElecBoxEqptIndexMapper.xml

@@ -19,18 +19,34 @@
 
 
     <select id="selectAdmEmsElecBoxEqptLatestIndex" parameterType="com.ruoyi.ems.domain.AdmEmsElecBoxEqptIndex"
     <select id="selectAdmEmsElecBoxEqptLatestIndex" parameterType="com.ruoyi.ems.domain.AdmEmsElecBoxEqptIndex"
             resultMap="AdmEmsElecBoxEqptIndexResult">
             resultMap="AdmEmsElecBoxEqptIndexResult">
-        WITH rowIndex AS (SELECT *, ROW_NUMBER() over ( PARTITION BY eqpt_code ORDER BY TIME DESC ) AS rowNum
-                          FROM `adm_ems_elec_box_eqpt_index`
-                          WHERE box_code = #{boxCode})
         SELECT
         SELECT
             latestIndex.*,
             latestIndex.*,
             elecEqpt.eqpt_spec,
             elecEqpt.eqpt_spec,
             elecEqpt.rated_current
             elecEqpt.rated_current
         FROM
         FROM
-            rowIndex latestIndex
-                INNER JOIN adm_box_elec_eqpt elecEqpt ON latestIndex.eqpt_code = elecEqpt.eqpt_code
-        WHERE
-            rowNum =1
+            (SELECT
+                 a.*
+             FROM
+                 `adm_ems_elec_box_eqpt_index` a
+                     JOIN
+                 (SELECT
+                      eqpt_code,
+                      MAX(id) AS id
+                  FROM
+                      `adm_ems_elec_box_eqpt_index`
+                  WHERE
+                      box_code = #{boxCode}
+                  GROUP BY
+                      eqpt_code) latestTime
+                 ON
+                     a.eqpt_code = latestTime.eqpt_code AND a.id = latestTime.id
+             WHERE
+                 a.box_code = #{boxCode}
+            ) latestIndex
+                JOIN
+            adm_box_elec_eqpt elecEqpt
+            ON
+                latestIndex.eqpt_code = elecEqpt.eqpt_code;
     </select>
     </select>
 
 
 
 

+ 10 - 5
ems-cloud/ems-modules/ems-server/src/main/resources/mapper/ems/AdmEmsElecBoxIndexMapper.xml

@@ -44,12 +44,17 @@
     </select>
     </select>
     <select id="selectElecBoxLatestIndexByBoxCode" parameterType="String"
     <select id="selectElecBoxLatestIndexByBoxCode" parameterType="String"
             resultType="com.ruoyi.ems.domain.AdmEmsElecBoxIndex">
             resultType="com.ruoyi.ems.domain.AdmEmsElecBoxIndex">
-        WITH rowIndex AS (SELECT *, ROW_NUMBER() over ( PARTITION BY box_code ORDER BY TIME DESC ) AS rowNum
-                          FROM adm_ems_elec_box_index
-                          WHERE box_code = #{boxCode})
         SELECT *
         SELECT *
-        FROM rowIndex latestIndex
-        WHERE rowNum = 1
+        FROM (SELECT a.*
+              FROM adm_ems_elec_box_index a
+                       JOIN (SELECT box_code,
+                                    MAX(id) AS max_id
+                             FROM adm_ems_elec_box_index
+                             WHERE box_code = #{boxCode}
+                             GROUP BY box_code) latestId
+                            ON
+                                a.box_code = latestId.box_code AND a.id = latestId.max_id
+              WHERE a.box_code = #{boxCode}) latestIndex;
     </select>
     </select>
 
 
     <insert id="insertAdmEmsElecBoxIndex" parameterType="com.ruoyi.ems.domain.AdmEmsElecBoxIndex"
     <insert id="insertAdmEmsElecBoxIndex" parameterType="com.ruoyi.ems.domain.AdmEmsElecBoxIndex"