From e65c0249b66ffd1a4f96752a0f4a86f4f2e01314 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期三, 05 三月 2025 14:00:10 +0800
Subject: [PATCH] 利用率分析页面添加筛选条件

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml |  101 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 100 insertions(+), 1 deletions(-)

diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml
index 9c855df..5ba9404 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml
@@ -25,12 +25,28 @@
         WHERE
             t1.the_date &lt;= #{ vo.endTime }
             AND t1.the_date &gt;= #{ vo.startTime }
+        <if test="vo.equipmentType != null and vo.equipmentType != '' ">
+            AND t2.equipment_type = #{ vo.equipmentType }
+        </if>
+        <if test="vo.driveType != null and vo.driveType != '' ">
+            AND t2.drive_type = #{ vo.driveType }
+        </if>
+        <if test="vo.deviceLevel != null and vo.deviceLevel != '' ">
+            AND t2.device_level = #{vo.deviceLevel}
+        </if>
+        <if test="vo.deviceCategory != null and vo.deviceCategory != '' ">
+            AND t2.device_category = #{vo.deviceCategory}
+        </if>
+        <if test="vo.deviceImportanceLevel != null and vo.deviceImportanceLevel != '' ">
+            AND t2.device_importance_level = #{vo.deviceImportanceLevel}
+        </if>
         <if test="vo.equipmentIdList != null and vo.equipmentIdList.size() > 0 ">
             AND t2.equipment_id IN
             <foreach collection="vo.equipmentIdList" item="id" index="index" open="(" close=")" separator=",">
                 #{ id }
             </foreach>
         </if>
+        AND t2.device_abnormal_status = 1
         ORDER BY t1.the_date
     </select>
 
@@ -60,12 +76,28 @@
         WHERE
             t1.the_date &lt;= #{ vo.endTime }
             AND t1.the_date &gt;= #{ vo.startTime }
+        <if test="vo.equipmentType != null and vo.equipmentType != '' ">
+            AND t2.equipment_type = #{ vo.equipmentType }
+        </if>
+        <if test="vo.driveType != null and vo.driveType != '' ">
+            AND t2.drive_type = #{ vo.driveType }
+        </if>
+        <if test="vo.deviceLevel != null and vo.deviceLevel != '' ">
+            AND t2.device_level = #{vo.deviceLevel}
+        </if>
+        <if test="vo.deviceCategory != null and vo.deviceCategory != '' ">
+            AND t2.device_category = #{vo.deviceCategory}
+        </if>
+        <if test="vo.deviceImportanceLevel != null and vo.deviceImportanceLevel != '' ">
+            AND t2.device_importance_level = #{vo.deviceImportanceLevel}
+        </if>
         <if test="vo.equipmentIdList != null and vo.equipmentIdList.size() > 0 ">
             AND t2.equipment_id IN
             <foreach collection="vo.equipmentIdList" item="id" index="index" open="(" close=")" separator=",">
                 #{ id }
             </foreach>
         </if>
+        AND t2.device_abnormal_status = 1
         ORDER BY t1.the_date
     </select>
 
@@ -81,7 +113,8 @@
             SUM ( t1.process_long ) processLong,
             SUM ( t1.open_long ) openLong,
             SUM ( t1.wait_long ) waitLong,
-            SUM ( t1.close_long ) closeLong
+            SUM ( t1.close_long ) closeLong,
+            sum ( t1.total_long ) totalLong
         FROM
             mdc_equipment t2
             LEFT JOIN mdc_equipment_statistical_shift_info t1 ON t1.equipment_id = t2.equipment_id
@@ -100,6 +133,22 @@
             <if test="vo.shiftSubId != null and vo.shiftSubId != ''">
                 AND t1.shift_sub_id = #{ vo.shiftSubId }
             </if>
+            <if test="vo.equipmentType != null and vo.equipmentType != '' ">
+                AND t2.equipment_type = #{ vo.equipmentType }
+            </if>
+            <if test="vo.driveType != null and vo.driveType != '' ">
+                AND t2.drive_type = #{ vo.driveType }
+            </if>
+            <if test="vo.deviceLevel != null and vo.deviceLevel != '' ">
+                AND t2.device_level = #{vo.deviceLevel}
+            </if>
+            <if test="vo.deviceCategory != null and vo.deviceCategory != '' ">
+                AND t2.device_category = #{vo.deviceCategory}
+            </if>
+            <if test="vo.deviceImportanceLevel != null and vo.deviceImportanceLevel != '' ">
+                AND t2.device_importance_level = #{vo.deviceImportanceLevel}
+            </if>
+            AND t2.device_abnormal_status = 1
         </where>
         GROUP BY
             t2.equipment_id,
@@ -111,4 +160,54 @@
         ORDER BY
             t1.the_date
     </select>
+
+    <!--鏌ヨ鍘熷鏁版嵁-->
+    <select id="comparativeAnalysis" resultType="org.jeecg.modules.mdc.dto.MdcComAnaDto">
+        SELECT
+            mesi.equipment_id equipmentId,
+            SUM ( mesi.open_long ) openLong,
+            SUM ( mesi.close_long ) closeLong,
+            SUM ( mesi.wait_long ) waitLong,
+            SUM ( mesi.process_long ) processLong
+        FROM
+            mdc_equipment_statistical_info mesi
+            LEFT JOIN mdc_equipment me ON mesi.equipment_id = me.equipment_id
+        <where>
+            <if test="vo.equipmentIdList != null and vo.equipmentIdList.size() > 0 ">
+                AND mesi.equipment_id IN
+                <foreach collection="vo.equipmentIdList" item="id" index="index" open="(" close=")" separator=",">
+                    #{ id }
+                </foreach>
+            </if>
+            <if test="vo.driveType != null and vo.driveType != null">
+                AND me.drive_type = #{ vo.driveType }
+            </if>
+            <if test="vo.equipmentType != null and vo.equipmentType != '' ">
+                AND me.equipment_type = #{ vo.equipmentType }
+            </if>
+            <if test="vo.deviceLevel != null and vo.deviceLevel != '' ">
+                AND me.device_level = #{vo.deviceLevel}
+            </if>
+            <if test="vo.deviceCategory != null and vo.deviceCategory != '' ">
+                AND me.device_category = #{vo.deviceCategory}
+            </if>
+            <if test="vo.deviceImportanceLevel != null and vo.deviceImportanceLevel != '' ">
+                AND me.device_importance_level = #{vo.deviceImportanceLevel}
+            </if>
+            AND mesi.the_date BETWEEN #{ vo.startTime } AND #{ vo.endTime }
+        </where>
+        GROUP BY
+            mesi.equipment_id
+    </select>
+
+
+    <select id="getEfficiencyRate" resultType="java.math.BigDecimal">
+        SELECT
+            process_long
+        FROM
+            mdc_equipment_statistical_info
+        WHERE
+            equipment_id = #{ equipmentId } AND the_date &gt;= #{ date }
+        ORDER BY the_date ASC
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3