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