From b73ce601d06fdc028e1b34a7bdca4099a6f43c91 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期三, 02 七月 2025 21:16:17 +0800
Subject: [PATCH] art:二保、HF编码维护-设计修改
---
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 114 insertions(+), 3 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 e85db73..fbf4917 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 <= #{ vo.endTime }
AND t1.the_date >= #{ 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 <= #{ vo.endTime }
AND t1.the_date >= #{ 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,13 +113,14 @@
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
<where>
- AND t1.the_date <= #{ endTime }
- AND t1.the_date >= #{ startTime }
+ AND t1.the_date <= #{ vo.endTime }
+ AND t1.the_date >= #{ vo.startTime }
<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=",">
@@ -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,66 @@
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.driveTypeList != null and vo.driveTypeList .size() > 0 ">
+ AND me.drive_type IN
+ <foreach collection="vo.driveTypeList" item="driveType" index="index" open="(" close=")" separator=",">
+ #{ driveType }
+ </foreach>
+ </if>
+ <if test="vo.equipmentTypeList != null and vo.equipmentTypeList.size() > 0 ">
+ AND me.equipment_type IN
+ <foreach collection="vo.equipmentTypeList" item="equipmentType" index="index" open="(" close=")" separator=",">
+ #{ equipmentType }
+ </foreach>
+ </if>
+ <if test="vo.deviceLevelList != null and vo.deviceLevelList.size() > 0 ">
+ AND me.device_level IN
+ <foreach collection="vo.deviceLevelList" item="deviceLevel" index="index" open="(" close=")" separator=",">
+ #{ deviceLevel }
+ </foreach>
+ </if>
+ <if test="vo.deviceCategoryList != null and vo.deviceCategoryList.size() > 0 ">
+ AND me.device_category IN
+ <foreach collection="vo.deviceCategoryList" item="deviceCategory" index="index" open="(" close=")" separator=",">
+ #{ deviceCategory }
+ </foreach>
+ </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 >= #{ date }
+ ORDER BY the_date ASC
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.3