From ed48aa9f30a87c528f071d06bf6b59d7d15428e9 Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期一, 26 五月 2025 16:12:55 +0800
Subject: [PATCH] 点检报表后端

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOverallEquipmentEfficiencyMapper.xml |   68 ++++++++++++++++++++++++++++++----
 1 files changed, 60 insertions(+), 8 deletions(-)

diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOverallEquipmentEfficiencyMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOverallEquipmentEfficiencyMapper.xml
index e3eaa1c..d7f45f9 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOverallEquipmentEfficiencyMapper.xml
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOverallEquipmentEfficiencyMapper.xml
@@ -49,18 +49,70 @@
                     #{ id }
                 </foreach>
             </if>
-            <if test="mdcOverallEquipmentEfficiency.driveType != null and mdcOverallEquipmentEfficiency.driveType != ''">
-                AND t2.drive_type IN (#{ mdcOverallEquipmentEfficiency.driveType })
+            <if test="mdcOverallEquipmentEfficiency.driveTypeList != null and mdcOverallEquipmentEfficiency.driveTypeList.size() > 0 ">
+                AND t2.drive_type IN
+                <foreach collection="mdcOverallEquipmentEfficiency.driveTypeList" item="driveType" index="index" open="(" close=")" separator=",">
+                    #{ driveType }
+                </foreach>
             </if>
-            <if test="mdcOverallEquipmentEfficiency.deviceLevel != null and mdcOverallEquipmentEfficiency.deviceLevel != ''">
-                AND t2.device_level IN (#{ mdcOverallEquipmentEfficiency.deviceLevel })
+            <if test="mdcOverallEquipmentEfficiency.deviceLevelList != null and mdcOverallEquipmentEfficiency.deviceLevelList.size() > 0 ">
+                AND t2.device_level IN
+                <foreach collection="mdcOverallEquipmentEfficiency.deviceLevelList" item="deviceLevel" index="index" open="(" close=")" separator=",">
+                    #{ deviceLevel }
+                </foreach>
             </if>
-            <if test="mdcOverallEquipmentEfficiency.deviceCategory != null and mdcOverallEquipmentEfficiency.deviceCategory != ''">
-                AND t2.device_category IN (#{ mdcOverallEquipmentEfficiency.deviceCategory })
+            <if test="mdcOverallEquipmentEfficiency.deviceCategoryList != null and mdcOverallEquipmentEfficiency.deviceCategoryList.size() > 0 ">
+                AND t2.device_category IN
+                <foreach collection="mdcOverallEquipmentEfficiency.deviceCategoryList" item="deviceCategory" index="index" open="(" close=")" separator=",">
+                    #{ deviceCategory }
+                </foreach>
             </if>
-            <if test="mdcOverallEquipmentEfficiency.equipmentType != null and mdcOverallEquipmentEfficiency.equipmentType != ''">
-                AND t2.equipment_type IN (#{ mdcOverallEquipmentEfficiency.equipmentType })
+            <if test="mdcOverallEquipmentEfficiency.equipmentTypeList != null and mdcOverallEquipmentEfficiency.equipmentTypeList.size() > 0 ">
+                AND t2.equipment_type IN
+                <foreach collection="mdcOverallEquipmentEfficiency.equipmentTypeList" item="equipmentType" index="index" open="(" close=")" separator=",">
+                    #{ equipmentType }
+                </foreach>
             </if>
+            <if test="mdcOverallEquipmentEfficiency.deviceImportanceLevel != null and mdcOverallEquipmentEfficiency.deviceImportanceLevel != '' ">
+                AND t2.device_importance_level = #{mdcOverallEquipmentEfficiency.deviceImportanceLevel}
+            </if>
+            <if test="mdcOverallEquipmentEfficiency.max != null and mdcOverallEquipmentEfficiency.max != '' and mdcOverallEquipmentEfficiency.min != null and mdcOverallEquipmentEfficiency.min!= ''">
+                AND t1.overall_equipment_efficiency BETWEEN #{mdcOverallEquipmentEfficiency.min} AND #{mdcOverallEquipmentEfficiency.max}
+            </if>
+            AND t2.device_abnormal_status = 1
         </where>
     </select>
+
+
+    <select id="findOeeByDate" resultType="org.jeecg.modules.mdc.entity.MdcOverallEquipmentEfficiency">
+        SELECT
+            t1.*
+        FROM
+            mdc_overall_equipment_efficiency t1
+                LEFT JOIN mdc_equipment t2 ON t1.equipment_id = t2.equipment_id
+                LEFT JOIN mdc_production_equipment t3 ON t2.id = t3.equipment_id
+                LEFT JOIN mdc_production t4 ON t4.id = t3.production_id
+        WHERE
+            ( t4.id = #{productionId} OR t4.parent_id = #{productionId} )
+          AND t1.valid_date = #{date}
+    </select>
+
+    <select id="findAvgOee" resultType="java.math.BigDecimal">
+        SELECT
+            SUM( t1.overall_equipment_efficiency ) / COUNT ( t1.equipment_id ) oee
+        FROM
+            mdc_overall_equipment_efficiency t1
+                LEFT JOIN mdc_equipment t2 ON t1.equipment_id = t2.equipment_id
+                LEFT JOIN mdc_production_equipment t3 ON t2.id = t3.equipment_id
+                LEFT JOIN mdc_production t4 ON t4.id = t3.production_id
+        WHERE
+            ( t4.id = #{productionId} OR t4.parent_id = #{productionId} )
+          AND t1.valid_date = #{date}
+        <if test="equipmentTypeList != null and equipmentTypeList.size() > 0">
+            AND t2.equipment_type IN
+            <foreach collection="equipmentTypeList" item="equipmentType" index="index" open="(" close=")" separator=",">
+                #{equipmentType}
+            </foreach>
+        </if>
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3