From 23855599412c4d61b38d78f0f3abd3430a48b5b1 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期三, 25 六月 2025 11:51:38 +0800 Subject: [PATCH] Merge branch 'mdc_hyjs_master' --- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml | 281 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 281 insertions(+), 0 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 new file mode 100644 index 0000000..d7c9488 --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml @@ -0,0 +1,281 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="org.jeecg.modules.mdc.mapper.MdcEfficiencyReportMapper"> + + <!--鏌ヨ鍒╃敤鐜囨暟鎹�--> + <select id="efficiencyList" resultType="org.jeecg.modules.mdc.dto.MdcEfficiencyDto"> + SELECT + t2.equipment_id equipmentId, + t2.equipment_name equipmentName, + t2.equipment_type equipmentType, + t1.the_date theDate, + t1.process_long processLong, + t1.process_long / 86400 utilizationRate, + CASE + WHEN t1.open_long > 0 THEN + t1.process_long / t1.open_long ELSE 0 + END startRate, + t1.open_long / 86400 openRate, + t1.open_long openLong, + t1.wait_long waitLong, + t1.close_long closeLong, + COALESCE(t3.fault_long, 0) faultLong, + COALESCE(t3.fault_rate, 0) faultRate, + COALESCE(t3.remove_fault_run_long, 0) removeFaultRunLong + FROM + mdc_equipment t2 + LEFT JOIN mdc_equipment_statistical_info t1 ON t1.equipment_id = t2.equipment_id + LEFT JOIN mdc_equipment_fault_info t3 ON t2.equipment_id = t3.equipment_id AND t1.the_date = t3.the_date + 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.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> + ORDER BY t1.the_date + </select> + + <!--鏌ヨ寮�鍔ㄧ巼鏁版嵁--> + <select id="efficiencyPOList" resultType="org.jeecg.modules.mdc.dto.MdcEfficiencyDto"> + SELECT + t2.equipment_id equipmentId, + t2.equipment_name equipmentName, + t2.equipment_type equipmentType, + t1.the_date theDate, + t1.process_long processLong, + CASE + WHEN t1.open_long > 0 THEN + t1.process_long / t1.open_long ELSE 0 + END utilizationRate, + CASE + WHEN t1.open_long > 0 THEN + t1.process_long / t1.open_long ELSE 0 + END startRate, + t1.open_long / 86400 openRate, + t1.open_long openLong, + t1.wait_long waitLong, + t1.close_long closeLong + FROM + mdc_equipment t2 + LEFT JOIN mdc_equipment_statistical_info t1 ON t1.equipment_id = t2.equipment_id + 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.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> + ORDER BY t1.the_date + </select> + + <!--寰楀埌鎵�鏈夌彮娆℃暟鎹箣鍜�--> + <select id="efficiencyShiftSumList" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentStatisticalShiftInfo"> + SELECT + t2.equipment_id equipmentId, + t2.equipment_name equipmentName, + t2.equipment_type equipmentType, + t1.the_date theDate, + t1.shift_id shiftId, + t1.shift_sub_id shiftSubId, + SUM ( t1.process_long ) processLong, + SUM ( t1.open_long ) openLong, + SUM ( t1.wait_long ) waitLong, + 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 <= #{ 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=","> + #{ id } + </foreach> + </if> + <if test="vo.shiftId != null and vo.shiftId != ''"> + AND t1.shift_id = #{ vo.shiftId } + </if> + <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> + </where> + GROUP BY + t2.equipment_id, + t2.equipment_name, + t2.equipment_type, + t1.the_date, + t1.shift_id, + t1.shift_sub_id + 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> + 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> + + <select id="equipmentEfficiencyAnalyze" resultType="org.jeecg.modules.mdc.dto.EquipmentEfficiencyAnalyzeDto"> + SELECT + t3.equipment_name, + t1.utilization_rate AS utilizationRate, + t2.utilization_rate AS shiftUtilizationRate, + t1.remove_fault_rate AS amendUtilizationRate + FROM + mdc_equipment_statistical_info_month t1 + LEFT JOIN mdc_equipment_statistical_shift_info_month t2 ON t1.the_month = t2.the_month AND t2.shift_type = 1 + AND t1.equipment_id = t2.equipment_id + LEFT JOIN mdc_equipment t3 ON t3.equipment_id = t1.equipment_id + WHERE + t1.equipment_id IN + <foreach collection="equipmentIdList" item="id" index="index" open="(" close=")" separator=","> + #{id} + </foreach> + AND t1.the_month = #{month} + ORDER BY + t1.utilization_rate DESC + </select> + + <select id="teamEquipmentEfficiencyAnalyze" resultType="org.jeecg.modules.mdc.dto.TeamEquEffDto"> + SELECT + t3.team_code AS teamCode, + t1.utilization_rate AS utilizationRate, + t2.utilization_rate AS shiftUtilizationRate, + t1.remove_fault_rate AS amendUtilizationRate + FROM + mdc_equipment_statistical_info_month t1 + LEFT JOIN mdc_equipment_statistical_shift_info_month t2 ON t1.the_month = t2.the_month AND t2.shift_type = 1 + AND t1.equipment_id = t2.equipment_id + LEFT JOIN mdc_equipment t3 ON t3.equipment_id = t1.equipment_id + WHERE + t1.equipment_id IN + <foreach collection="equipmentIdList" item="id" index="index" open="(" close=")" separator=","> + #{id} + </foreach> + AND t1.the_month = #{month} + </select> + + <select id="comprehensiveRateAnalyze" resultType="org.jeecg.modules.mdc.dto.ComRateDto"> + SELECT + t1.the_month AS theMonth, + AVG ( t1.utilization_rate ) AS utilizationRate, + AVG ( t2.utilization_rate ) AS shiftUtilizationRate, + AVG ( t1.remove_fault_rate ) AS amendUtilizationRate, + SUM ( t1.process_long ) AS processLong + FROM + mdc_equipment_statistical_info_month t1 + LEFT JOIN mdc_equipment_statistical_shift_info_month t2 ON t1.the_month = t2.the_month + AND t1.equipment_id = t2.equipment_id + AND t2.shift_type = 1 + LEFT JOIN mdc_equipment t3 ON t3.equipment_id = t1.equipment_id + WHERE + t1.equipment_id IN + <foreach collection="equipmentIdList" item="id" index="index" open="(" close=")" separator=","> + #{id} + </foreach> + AND t1.the_month BETWEEN #{start} AND #{end} + GROUP BY + t1.the_month + ORDER BY + t1.the_month + </select> + + <select id="comprehensiveShiftRateAnalyze" resultType="org.jeecg.modules.mdc.dto.ComShiftRateDto"> + SELECT + t1.the_month AS theMonth, + t1.shift_sub AS shiftSub, + t2.shift_sub_name AS shiftSubName, + AVG ( t1.utilization_rate ) AS utilizationRate + FROM + mdc_equipment_statistical_shift_info_month t1 + LEFT JOIN mdc_shift_sub t2 ON t1.shift_sub = t2.id + WHERE + t2.shift_id = #{shiftId} + AND t1.equipment_id IN + <foreach collection="equipmentIdList" item="id" index="index" open="(" close=")" separator=","> + #{id} + </foreach> + AND t1.the_month BETWEEN #{start} AND #{end} + AND t1.shift_type = 2 + GROUP BY + t1.the_month, + t1.shift_sub, + t2.shift_sub_name + </select> +</mapper> \ No newline at end of file -- Gitblit v1.9.3