From 7c0f82055e064831c9971aad068106241705030e Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期二, 04 三月 2025 11:20:07 +0800
Subject: [PATCH] update
---
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentAlarmServiceImpl.java | 6 ++
lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/UtilizationRateDto.java | 2
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentAlarmMapper.java | 11 +++
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentAlarmMapper.xml | 21 +++++++
lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcLargeScreenServiceImpl.java | 28 ++++++--
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentAlarmService.java | 3 +
lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/MdcLargeScreenService.java | 9 +++
lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/controller/MdcLargeScreenController.java | 13 +++
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcWorkshopInfoMapper.xml | 45 +++++++++------
lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/AlarmInfoDto.java | 30 ++++++++++
10 files changed, 139 insertions(+), 29 deletions(-)
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentAlarmMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentAlarmMapper.java
index 4bbcd26..96c1fcd 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentAlarmMapper.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentAlarmMapper.java
@@ -1,11 +1,22 @@
package org.jeecg.modules.mdc.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.mdc.entity.EquipmentAlarm;
+import org.jeecg.modules.screen.dto.AlarmInfoDto;
+
+import java.util.List;
/**
* @author: LiuS
* @create: 2023-04-12 16:39
*/
public interface EquipmentAlarmMapper extends BaseMapper<EquipmentAlarm> {
+ /**
+ * 鏍规嵁鎵瓔id鑾峰彇鎶ヨ淇℃伅
+ *
+ * @param productionId
+ * @return
+ */
+ List<AlarmInfoDto> getAlarmInfo(@Param("productionId") String productionId);
}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentAlarmMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentAlarmMapper.xml
new file mode 100644
index 0000000..f9681ee
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentAlarmMapper.xml
@@ -0,0 +1,21 @@
+<?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.EquipmentAlarmMapper">
+
+ <select id="getAlarmInfo" resultType="org.jeecg.modules.screen.dto.AlarmInfoDto">
+ SELECT TOP
+ 10 t1.EquipmentID equipmentId,
+ t1."collectTime" collectTime,
+ t1."AlarmNo" alarmNo
+ FROM
+ equipmentalarm t1
+ INNER JOIN mdc_equipment t2 ON t1.EquipmentID = t2.equipment_id
+ INNER JOIN mdc_production_equipment t3 ON t2.id = t3.equipment_id
+ INNER JOIN mdc_production t4 ON t3.production_id = t4.id
+ WHERE
+ t4.parent_id = #{productionId}
+ AND t1.AlarmNo != ''
+ ORDER BY
+ t1.collectTime DESC
+ </select>
+</mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcWorkshopInfoMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcWorkshopInfoMapper.xml
index 1473670..55a690c 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcWorkshopInfoMapper.xml
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcWorkshopInfoMapper.xml
@@ -4,27 +4,36 @@
<select id="getBigScreenInfo" resultType="org.jeecg.modules.mdc.dto.MdcBigScreenEquipmentDto">
+ WITH LatestEquipmentLog AS (
+ SELECT
+ EquipmentID,
+ MAX(CollectTime) AS maxgdtime
+ FROM
+ EquipmentLog
+ GROUP BY
+ EquipmentID
+ )
SELECT
- mew.id id,
- a.EquipmentID equipmentId,
- me.equipment_name equipmentName,
- me.equipment_type equipmentType,
- met.equipment_type_pictures equipmentImage,
- a.Oporation equipmentStatus,
- mew.coordinate_left coordinateLeft,
- mew.coordinate_top coordinateTop,
- mew.vw vw,
- mew.vh vh,
- me.id equId
+ mew.id AS id,
+ a.EquipmentID AS equipmentId,
+ me.equipment_name AS equipmentName,
+ me.equipment_type AS equipmentType,
+ met.equipment_type_pictures AS equipmentImage,
+ a.Oporation AS equipmentStatus,
+ mew.coordinate_left AS coordinateLeft,
+ mew.coordinate_top AS coordinateTop,
+ mew.vw AS vw,
+ mew.vh AS vh,
+ me.id AS equId
FROM
EquipmentLog a
- INNER JOIN ( SELECT EquipmentID, MAX ( CollectTime ) maxgdtime FROM EquipmentLog GROUP BY EquipmentID ) b ON a.EquipmentID= b.EquipmentID
- INNER JOIN mdc_workshop_equipment mew ON mew.equipment_id = a.EquipmentID
- INNER JOIN mdc_equipment me ON me.equipment_id = a.EquipmentID
- INNER JOIN mdc_equipment_type met ON me.equipment_type = met.equipment_type_name
- INNER JOIN mdc_workshop_info mwi ON mew.workshop_id = mwi.id
- AND a.CollectTime= b.maxgdtime
- AND mwi.production_id = #{ productionId }
+ INNER JOIN LatestEquipmentLog b ON a.EquipmentID = b.EquipmentID AND a.CollectTime = b.maxgdtime
+ INNER JOIN mdc_workshop_equipment mew ON mew.equipment_id = a.EquipmentID
+ INNER JOIN mdc_equipment me ON me.equipment_id = a.EquipmentID
+ INNER JOIN mdc_equipment_type met ON me.equipment_type = met.equipment_type_name
+ INNER JOIN mdc_workshop_info mwi ON mew.workshop_id = mwi.id
+ WHERE
+ mwi.production_id = #{productionId}
</select>
<select id="listByUser" resultType="org.jeecg.modules.mdc.entity.MdcWorkshopInfo">
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentAlarmService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentAlarmService.java
index 1b072fe..e4d9c6a 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentAlarmService.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentAlarmService.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.mdc.entity.EquipmentAlarm;
+import org.jeecg.modules.screen.dto.AlarmInfoDto;
import java.util.Date;
import java.util.List;
@@ -12,4 +13,6 @@
*/
public interface IEquipmentAlarmService extends IService<EquipmentAlarm> {
List<EquipmentAlarm> findEquipmentAlarmByDate(String equipmentId, Date startTime, Date endTime);
+
+ List<AlarmInfoDto> getAlarmInfo(String productionId);
}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentAlarmServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentAlarmServiceImpl.java
index aa11e2d..5720e28 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentAlarmServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentAlarmServiceImpl.java
@@ -5,6 +5,7 @@
import org.jeecg.modules.mdc.entity.EquipmentAlarm;
import org.jeecg.modules.mdc.mapper.EquipmentAlarmMapper;
import org.jeecg.modules.mdc.service.IEquipmentAlarmService;
+import org.jeecg.modules.screen.dto.AlarmInfoDto;
import org.springframework.stereotype.Service;
import java.util.Date;
@@ -22,4 +23,9 @@
.ge(EquipmentAlarm::getCollecttime, startTime).le(EquipmentAlarm::getCollecttime, endTime)
.eq(EquipmentAlarm::getEquipmentid, equipmentId).orderByDesc(EquipmentAlarm::getCollecttime));
}
+
+ @Override
+ public List<AlarmInfoDto> getAlarmInfo(String productionId) {
+ return this.baseMapper.getAlarmInfo(productionId);
+ }
}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/controller/MdcLargeScreenController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/controller/MdcLargeScreenController.java
index c1e8e28..5852dc8 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/controller/MdcLargeScreenController.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/controller/MdcLargeScreenController.java
@@ -4,6 +4,7 @@
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.screen.dto.AlarmInfoDto;
import org.jeecg.modules.screen.dto.EquipmentStatusOverview;
import org.jeecg.modules.screen.service.MdcLargeScreenService;
import org.springframework.web.bind.annotation.GetMapping;
@@ -11,6 +12,7 @@
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
+import java.util.List;
import java.util.Map;
/**
@@ -43,16 +45,23 @@
@ApiOperation(value = "澶у睆鐪嬫澘-鍛ㄥ埄鐢ㄧ巼瓒嬪娍", notes = "澶у睆鐪嬫澘-鍛ㄥ埄鐢ㄧ巼瓒嬪娍")
@GetMapping("/weekUtilizationTendency")
- public Result<?> weekUtilizationTendency(String productionId) {
+ public Result<Map<String, Object>> weekUtilizationTendency(String productionId) {
Map<String, Object> result = mdcLargeScreenService.weekUtilizationTendency(productionId);
return Result.OK(result);
}
@ApiOperation(value = "澶у睆鐪嬫澘-鏃ュ埄鐢ㄧ巼瓒嬪娍", notes = "澶у睆鐪嬫澘-鏃ュ埄鐢ㄧ巼瓒嬪娍")
@GetMapping("/dayUtilizationTendency")
- public Result<?> dayUtilizationTendency(String productionId) {
+ public Result<Map<String, Object>> dayUtilizationTendency(String productionId) {
Map<String, Object> result = mdcLargeScreenService.dayUtilizationTendency(productionId);
return Result.OK(result);
}
+ @ApiOperation(value = "澶у睆鐪嬫澘-璁惧鎶ヨ淇℃伅", notes = "澶у睆鐪嬫澘-璁惧鎶ヨ淇℃伅")
+ @GetMapping("/getAlarmInfo")
+ public Result<List<AlarmInfoDto>> getAlarmInfo(String productionId) {
+ List<AlarmInfoDto> result = mdcLargeScreenService.getAlarmInfo(productionId);
+ return Result.OK(result);
+ }
+
}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/AlarmInfoDto.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/AlarmInfoDto.java
new file mode 100644
index 0000000..62b1097
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/AlarmInfoDto.java
@@ -0,0 +1,30 @@
+package org.jeecg.modules.screen.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * @Author: Lius
+ * @CreateTime: 2025-03-04
+ * @Description:
+ */
+@Data
+@ApiModel(value = "鎶ヨ淇℃伅resp", description = "鎶ヨ淇℃伅resp")
+public class AlarmInfoDto {
+
+ @ApiModelProperty(value = "璁惧缂栧彿")
+ private String equipmentId;
+
+ @ApiModelProperty(value = "鎶ヨ鏃堕棿")
+ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date collectTime;
+
+ @ApiModelProperty(value = "鎶ヨ鍙�")
+ private String alarmNo;
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/UtilizationRateDto.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/UtilizationRateDto.java
index ccc3fb0..8f12613 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/UtilizationRateDto.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/UtilizationRateDto.java
@@ -30,6 +30,6 @@
* 鏈堝埄鐢ㄧ巼
*/
@ApiModelProperty(value = "鍒╃敤鐜囬泦鍚�")
- private List<UtilizationRate> utilizationMonthList;
+ private List<UtilizationRate> utilizationRateList;
}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/MdcLargeScreenService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/MdcLargeScreenService.java
index 140921c..8d768a5 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/MdcLargeScreenService.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/MdcLargeScreenService.java
@@ -1,7 +1,9 @@
package org.jeecg.modules.screen.service;
+import org.jeecg.modules.screen.dto.AlarmInfoDto;
import org.jeecg.modules.screen.dto.EquipmentStatusOverview;
+import java.util.List;
import java.util.Map;
/**
@@ -43,4 +45,11 @@
*/
Map<String, Object> dayUtilizationTendency(String productionId);
+ /**
+ * 璁惧鎶ヨ淇℃伅
+ *
+ * @param productionId
+ * @return
+ */
+ List<AlarmInfoDto> getAlarmInfo(String productionId);
}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcLargeScreenServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcLargeScreenServiceImpl.java
index 89c26e7..175df00 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcLargeScreenServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcLargeScreenServiceImpl.java
@@ -4,13 +4,11 @@
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.system.vo.DictModel;
import org.jeecg.modules.mdc.entity.MdcEquipmentMonitor;
+import org.jeecg.modules.mdc.service.IEquipmentAlarmService;
import org.jeecg.modules.mdc.service.IMdcEquipmentService;
import org.jeecg.modules.mdc.service.IMdcEquipmentStatisticalInfoService;
import org.jeecg.modules.mdc.util.DateUtils;
-import org.jeecg.modules.screen.dto.EquipmentStatusOverview;
-import org.jeecg.modules.screen.dto.UtilizationDayDto;
-import org.jeecg.modules.screen.dto.UtilizationRate;
-import org.jeecg.modules.screen.dto.UtilizationRateDto;
+import org.jeecg.modules.screen.dto.*;
import org.jeecg.modules.screen.service.MdcLargeScreenService;
import org.jeecg.modules.system.entity.MdcProduction;
import org.jeecg.modules.system.service.IMdcProductionService;
@@ -42,6 +40,9 @@
@Resource
private IMdcEquipmentStatisticalInfoService mdcEquipmentStatisticalInfoService;
+
+ @Resource
+ private IEquipmentAlarmService equipmentAlarmService;
/**
* 璁惧鐘舵�佹儏鍐�
@@ -165,7 +166,7 @@
return utilizationMonth;
})
.collect(Collectors.toList());
- utilizationRateDto.setUtilizationMonthList(utilizationRates);
+ utilizationRateDto.setUtilizationRateList(utilizationRates);
utilizationMonthDtoList.add(utilizationRateDto);
}
//璁$畻鎬诲巶鐨勫埄鐢ㄧ巼
@@ -180,7 +181,7 @@
return utilizationMonth;
})
.collect(Collectors.toList());
- utilizationRateDto.setUtilizationMonthList(utilizationRates);
+ utilizationRateDto.setUtilizationRateList(utilizationRates);
utilizationMonthDtoList.add(utilizationRateDto);
result.put("dataList", utilizationMonthDtoList);
return result;
@@ -220,6 +221,17 @@
}
/**
+ * 璁惧鎶ヨ淇℃伅
+ *
+ * @param productionId
+ * @return
+ */
+ @Override
+ public List<AlarmInfoDto> getAlarmInfo(String productionId) {
+ return equipmentAlarmService.getAlarmInfo(productionId);
+ }
+
+ /**
* 鍒涘缓瀛愮敓浜х殑鏈堝害鍒╃敤鐜� DTO
*/
private UtilizationRateDto createUtilizationMonthDto(MdcProduction mdcProduction, List<String[]> dateLists) {
@@ -228,7 +240,7 @@
utilizationMonthDto.setProductionName(mdcProduction.getProductionName());
List<UtilizationRate> utilizationMonthList = calculateUtilizationRates(mdcProduction.getId(), dateLists);
- utilizationMonthDto.setUtilizationMonthList(utilizationMonthList);
+ utilizationMonthDto.setUtilizationRateList(utilizationMonthList);
return utilizationMonthDto;
}
@@ -241,7 +253,7 @@
utilizationMonthDto.setProductionName("鎬诲巶");
List<UtilizationRate> utilizationMonthList = calculateUtilizationRatesTotal(productionId, dateLists);
- utilizationMonthDto.setUtilizationMonthList(utilizationMonthList);
+ utilizationMonthDto.setUtilizationRateList(utilizationMonthList);
return utilizationMonthDto;
}
--
Gitblit v1.9.3