From afae558d8eb1832769b6621d0d9c30103f7fdd89 Mon Sep 17 00:00:00 2001 From: DYL0109 <dn18191638832@163.com> Date: 星期五, 18 四月 2025 16:48:43 +0800 Subject: [PATCH] Merge pull request #70 from zhitan-cloud/wt_from_develop1.0 --- zhitan-system/src/main/java/com/zhitan/alarm/services/IHistoryAlarmService.java | 7 zhitan-system/src/main/java/com/zhitan/model/mapper/ModelNodeMapper.java | 5 zhitan-framework/src/main/java/com/zhitan/framework/web/service/SysLoginService.java | 2 zhitan-system/src/main/resources/mapper/model/ModelNodeMapper.xml | 18 ++ zhitan-system/src/main/java/com/zhitan/alarm/mapper/HistoryAlarmMapper.java | 45 ++-- zhitan-system/src/main/resources/mapper/alarm/HistoryAlarmMapper.xml | 82 +++++++-- zhitan-admin/src/main/java/com/zhitan/web/controller/alarm/AlarmAnalysisController.java | 21 + zhitan-system/src/main/java/com/zhitan/alarm/services/impl/HistoryAlarmServiceImpl.java | 180 +++++++++++++------ zhitan-admin/src/main/java/com/zhitan/web/controller/alarm/HistoryAlarmController.java | 17 - zhitan-system/src/main/resources/mapper/model/EnergyIndexMapper.xml | 10 zhitan-vue/src/views/alarmmanage/measuremen/measuremen.vue | 32 ++- zhitan-vue/src/views/alarmmanage/alarmrecord/alarmRecord.vue | 2 zhitan-system/src/main/java/com/zhitan/alarm/domain/dto/AlarmAnalysisDTO.java | 15 + zhitan-system/src/main/java/com/zhitan/alarm/services/IAlarmAnalysisService.java | 15 + zhitan-system/src/main/java/com/zhitan/alarm/services/impl/AlarmAnalyisisServiceImpl.java | 81 +++++--- 15 files changed, 361 insertions(+), 171 deletions(-) diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/alarm/AlarmAnalyisisController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/alarm/AlarmAnalysisController.java similarity index 61% rename from zhitan-admin/src/main/java/com/zhitan/web/controller/alarm/AlarmAnalyisisController.java rename to zhitan-admin/src/main/java/com/zhitan/web/controller/alarm/AlarmAnalysisController.java index 8766e28..7b55dae 100644 --- a/zhitan-admin/src/main/java/com/zhitan/web/controller/alarm/AlarmAnalyisisController.java +++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/alarm/AlarmAnalysisController.java @@ -2,36 +2,41 @@ import com.zhitan.alarm.domain.dto.AlarmAnalysisDTO; import com.zhitan.alarm.domain.vo.AlarmAnalysisVO; -import com.zhitan.alarm.services.IAlarmAnalyisisService; +import com.zhitan.alarm.services.IAlarmAnalysisService; import com.zhitan.common.core.controller.BaseController; import com.zhitan.common.core.domain.AjaxResult; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.ObjectUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** -geng * description 鎶ヨ鍒嗘瀽鐩稿叧鍔熻兘 +* description 鎶ヨ鍒嗘瀽鐩稿叧鍔熻兘 * - * @author hmj - * @date 2024-10-26 17:31 + * @author zhitan + * @date */ @RestController @RequestMapping("/alarmAnalysis") -public class AlarmAnalyisisController extends BaseController { +public class AlarmAnalysisController extends BaseController { @Autowired - private IAlarmAnalyisisService alarmAnalyisisService; + private IAlarmAnalysisService alarmAnalysisService; @GetMapping("/getByNodeId") public AjaxResult getByNodeId(@Validated AlarmAnalysisDTO alarmAnalysisDTO){ - AlarmAnalysisVO alarmAnalysisVO = alarmAnalyisisService.getByNodeId(alarmAnalysisDTO); + AlarmAnalysisVO alarmAnalysisVO = alarmAnalysisService.getByNodeId(alarmAnalysisDTO); return AjaxResult.success(alarmAnalysisVO); } @GetMapping("/getCountInfo") public AjaxResult getCountInfo(@Validated AlarmAnalysisDTO alarmAnalysisDTO){ - AlarmAnalysisVO alarmAnalysisVO = alarmAnalyisisService.getCountInfo(alarmAnalysisDTO); + + if(ObjectUtils.isEmpty(alarmAnalysisDTO.getModelCode())){ + return AjaxResult.error("妯″瀷缂栫爜涓嶈兘涓虹┖"); + } + AlarmAnalysisVO alarmAnalysisVO = alarmAnalysisService.getCountInfo(alarmAnalysisDTO); return AjaxResult.success(alarmAnalysisVO); } } diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/alarm/HistoryAlarmController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/alarm/HistoryAlarmController.java index 181e1ff..4d2c776 100644 --- a/zhitan-admin/src/main/java/com/zhitan/web/controller/alarm/HistoryAlarmController.java +++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/alarm/HistoryAlarmController.java @@ -12,6 +12,7 @@ import com.zhitan.common.enums.BusinessType; import com.zhitan.common.utils.poi.ExcelUtil; import com.zhitan.framework.web.service.TokenService; +import com.zhitan.model.domain.ModelNode; import com.zhitan.realtimedata.domain.TagValue; import com.zhitan.realtimedata.service.RealtimeDatabaseService; import io.swagger.annotations.Api; @@ -43,10 +44,7 @@ public class HistoryAlarmController extends BaseController { @Autowired - private IHistoryAlarmService iHistoryAlarmService; - - @Autowired - private TokenService tokenService; + private IHistoryAlarmService historyAlarmService; @Autowired private RealtimeDatabaseService realtimeDatabaseService; @@ -55,12 +53,11 @@ * 鍘嗗彶鎶ヨ 椤甸潰 鏍规嵁 鑺傜偣鐩綍鍜� 鏉′欢鏌ヨ */ @ApiOperation("鍘嗗彶鎶ヨ鏌ヨ") -// @PreAuthorize("@ss.hasPermi('energyAlarm:historicalAlarm:list')") + @PreAuthorize("@ss.hasPermi('energyAlarm:historicalAlarm:list')") @GetMapping("/list") - public TableDataInfo list(JkHistoryAlarm jkHistoryAlarm,Long pageNum,Long pageSize) + public TableDataInfo list(JkHistoryAlarm jkHistoryAlarm) { - Page<JkHistoryAlarm> list = iHistoryAlarmService.selectJkHistoryAlarmPage(jkHistoryAlarm,pageNum,pageSize); - return getDataTable(list); + return getDataTable(historyAlarmService.selectHistoryAlarmPageList(jkHistoryAlarm)); } /** * 瀵煎嚭鍘嗗彶鎶ヨ鐩戞帶鍒楄〃 @@ -70,7 +67,7 @@ @GetMapping("/export") public AjaxResult export(JkHistoryAlarm jkHistoryAlarm) { - List<JkHistoryAlarm> list = iHistoryAlarmService.selectJkHistoryAlarmListExcel(jkHistoryAlarm); + List<JkHistoryAlarm> list = historyAlarmService.selectJkHistoryAlarmListExcel(jkHistoryAlarm); ExcelUtil<JkHistoryAlarm> util = new ExcelUtil<JkHistoryAlarm>(JkHistoryAlarm.class); return util.exportExcel(list, "alarm"); } @@ -165,7 +162,7 @@ public TableDataInfo listNote(JkHistoryAlarm jkHistoryAlarm) { startPage(); - List<JkHistoryAlarm> list = iHistoryAlarmService.selectHistoryAlarmNoteList(jkHistoryAlarm); + List<JkHistoryAlarm> list = historyAlarmService.selectHistoryAlarmNoteList(jkHistoryAlarm); return getDataTable(list); } } diff --git a/zhitan-framework/src/main/java/com/zhitan/framework/web/service/SysLoginService.java b/zhitan-framework/src/main/java/com/zhitan/framework/web/service/SysLoginService.java index be2716a..89ddfce 100644 --- a/zhitan-framework/src/main/java/com/zhitan/framework/web/service/SysLoginService.java +++ b/zhitan-framework/src/main/java/com/zhitan/framework/web/service/SysLoginService.java @@ -61,7 +61,7 @@ public String login(String username, String password, String code, String uuid) { // 楠岃瘉鐮佹牎楠� - validateCaptcha(username, code, uuid); +// validateCaptcha(username, code, uuid); // 鐧诲綍鍓嶇疆鏍¢獙 loginPreCheck(username, password); // 鐢ㄦ埛楠岃瘉 diff --git a/zhitan-system/src/main/java/com/zhitan/alarm/domain/dto/AlarmAnalysisDTO.java b/zhitan-system/src/main/java/com/zhitan/alarm/domain/dto/AlarmAnalysisDTO.java index 5ca1ddf..507f1c0 100644 --- a/zhitan-system/src/main/java/com/zhitan/alarm/domain/dto/AlarmAnalysisDTO.java +++ b/zhitan-system/src/main/java/com/zhitan/alarm/domain/dto/AlarmAnalysisDTO.java @@ -3,6 +3,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import com.zhitan.common.annotation.Excel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; import lombok.Getter; import lombok.Setter; @@ -13,8 +14,7 @@ * @author hmj * @date 2024-10-16 17:55 */ -@Getter -@Setter +@Data public class AlarmAnalysisDTO { @ApiModelProperty(value = "鑺傜偣id") private String nodeId; @@ -28,18 +28,23 @@ /** * 缁熻寮�濮嬫椂闂� */ + @ApiModelProperty(value = "缁熻寮�濮嬫椂闂�") @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") @Excel(name = "鎶ヨ寮�濮嬫椂闂�", dateFormat = "yyyy-MM-dd HH:mm:ss") private Date beginTime; /** - * 缁熻寮�濮嬫椂闂� + * 缁熻缁撴潫鏃堕棿 */ + @ApiModelProperty(value = "缁熻缁撴潫鏃堕棿") @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") - @Excel(name = "鎶ヨ寮�濮嬫椂闂�", dateFormat = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "鎶ヨ缁撴潫鏃堕棿", dateFormat = "yyyy-MM-dd HH:mm:ss") private Date endTime; - /** 妯″瀷缂栫爜 */ + /** + * 妯″瀷缂栫爜 + */ + @ApiModelProperty(value = "妯″瀷缂栫爜") @Excel(name = "妯″瀷缂栫爜") private String modelCode; } diff --git a/zhitan-system/src/main/java/com/zhitan/alarm/mapper/HistoryAlarmMapper.java b/zhitan-system/src/main/java/com/zhitan/alarm/mapper/HistoryAlarmMapper.java index ab16fbd..719be0b 100644 --- a/zhitan-system/src/main/java/com/zhitan/alarm/mapper/HistoryAlarmMapper.java +++ b/zhitan-system/src/main/java/com/zhitan/alarm/mapper/HistoryAlarmMapper.java @@ -7,6 +7,7 @@ import com.zhitan.alarm.domain.JkHistoryAlarm; import org.apache.ibatis.annotations.Param; +import java.util.Date; import java.util.List; /** @@ -17,28 +18,34 @@ */ public interface HistoryAlarmMapper { - /** - * 鑾峰彇鍘嗗彶鎶ヨ闆嗗悎 - * - * @param jkHistoryAlarm 鎶ヨ鍙傛暟 - * @return 棰勬姤璀﹁缃泦鍚� - */ - List<JkHistoryAlarm> selectJkHistoryAlarmList(JkHistoryAlarm jkHistoryAlarm); + /** + * 鑾峰彇鍘嗗彶鎶ヨ闆嗗悎 + * + * @param jkHistoryAlarm 鎶ヨ鍙傛暟 + * @return 棰勬姤璀﹁缃泦鍚� + */ + List<JkHistoryAlarm> selectJkHistoryAlarmList(JkHistoryAlarm jkHistoryAlarm); - List<JkHistoryAlarm> selectJkHistoryAlarmListExcel(JkHistoryAlarm jkHistoryAlarm); + List<JkHistoryAlarm> selectJkHistoryAlarmListExcel(JkHistoryAlarm jkHistoryAlarm); - /** - * 瀹炴椂妫�娴� 鍔熻兘 鐨勫 sheet椤� 灞曠ず 缁勬�佸浘 娴嬬偣 鎶ヨ淇℃伅 - * - * @param jkHistoryAlarm - * @return - */ - List<JkHistoryAlarm> selectHistoryAlarmNoteList(JkHistoryAlarm jkHistoryAlarm); + /** + * 瀹炴椂妫�娴� 鍔熻兘 鐨勫 sheet椤� 灞曠ず 缁勬�佸浘 娴嬬偣 鎶ヨ淇℃伅 + * + * @param jkHistoryAlarm + * @return + */ + List<JkHistoryAlarm> selectHistoryAlarmNoteList(JkHistoryAlarm jkHistoryAlarm); - void updateHistoryAlarm(@Param("alarmCode") String alarmCode, - @Param("historyAlarm") HistoryAlarm historyAlarm); + void updateHistoryAlarm(@Param("alarmCode") String alarmCode, @Param("historyAlarm") HistoryAlarm historyAlarm); - Page<JkHistoryAlarm> selectJkHistoryAlarmPage(@Param("jkHistoryAlarm") JkHistoryAlarm jkHistoryAlarm,@Param("page")Page<?> page); + Page<JkHistoryAlarm> selectJkHistoryAlarmPage(@Param("jkHistoryAlarm") JkHistoryAlarm jkHistoryAlarm, @Param("page") Page<?> page); - Integer selectCountByTime(@Param("beginTime") DateTime beginTime, @Param("endTime") DateTime endTime); + Integer selectCountByTime(@Param("beginTime") DateTime beginTime, + @Param("endTime") DateTime endTime, + @Param("indexIdList") List<String> indexIdList); + + Page<JkHistoryAlarm> getHistoryAlarmList(@Param("beginTime") Date beginTime, + @Param("endTime") Date endTime, + @Param("indexIdList") List<String> indexIdList, + Page<JkHistoryAlarm> pageInfo); } diff --git a/zhitan-system/src/main/java/com/zhitan/alarm/services/IAlarmAnalyisisService.java b/zhitan-system/src/main/java/com/zhitan/alarm/services/IAlarmAnalysisService.java similarity index 61% rename from zhitan-system/src/main/java/com/zhitan/alarm/services/IAlarmAnalyisisService.java rename to zhitan-system/src/main/java/com/zhitan/alarm/services/IAlarmAnalysisService.java index 2c54007..cd694b8 100644 --- a/zhitan-system/src/main/java/com/zhitan/alarm/services/IAlarmAnalyisisService.java +++ b/zhitan-system/src/main/java/com/zhitan/alarm/services/IAlarmAnalysisService.java @@ -4,13 +4,20 @@ import com.zhitan.alarm.domain.vo.AlarmAnalysisVO; /** - * description todu + * 鎶ヨ鍒嗘瀽鎺ュ彛 * - * @author hmj - * @date 2024-10-26 17:33 + * @author zhitan + * @date */ -public interface IAlarmAnalyisisService { +public interface IAlarmAnalysisService { + AlarmAnalysisVO getByNodeId(AlarmAnalysisDTO alarmAnalysisDTO); + /** + * 鎶ヨ鍒嗘瀽缁熻 + * + * @param alarmAnalysisDTO + * @return + */ AlarmAnalysisVO getCountInfo(AlarmAnalysisDTO alarmAnalysisDTO); } diff --git a/zhitan-system/src/main/java/com/zhitan/alarm/services/IHistoryAlarmService.java b/zhitan-system/src/main/java/com/zhitan/alarm/services/IHistoryAlarmService.java index b3dcc7c..78e58ec 100644 --- a/zhitan-system/src/main/java/com/zhitan/alarm/services/IHistoryAlarmService.java +++ b/zhitan-system/src/main/java/com/zhitan/alarm/services/IHistoryAlarmService.java @@ -32,5 +32,10 @@ void updateHistoryAlarm(String alarmCode, HistoryAlarm historyAlarm); - Page<JkHistoryAlarm> selectJkHistoryAlarmPage(JkHistoryAlarm jkHistoryAlarm, Long pageNum, Long pageSize); + /** + * 鍘嗗彶鎶ヨ鍒嗛〉鏌ヨ + * @param jkHistoryAlarm + * @return + */ + Page<JkHistoryAlarm> selectHistoryAlarmPageList(JkHistoryAlarm jkHistoryAlarm); } diff --git a/zhitan-system/src/main/java/com/zhitan/alarm/services/impl/AlarmAnalyisisServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/alarm/services/impl/AlarmAnalyisisServiceImpl.java index 3545c7d..b416f28 100644 --- a/zhitan-system/src/main/java/com/zhitan/alarm/services/impl/AlarmAnalyisisServiceImpl.java +++ b/zhitan-system/src/main/java/com/zhitan/alarm/services/impl/AlarmAnalyisisServiceImpl.java @@ -2,11 +2,12 @@ import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.zhitan.alarm.domain.JkHistoryAlarm; import com.zhitan.alarm.domain.dto.AlarmAnalysisDTO; import com.zhitan.alarm.domain.vo.AlarmAnalysisVO; import com.zhitan.alarm.mapper.HistoryAlarmMapper; -import com.zhitan.alarm.services.IAlarmAnalyisisService; +import com.zhitan.alarm.services.IAlarmAnalysisService; import com.zhitan.basicdata.domain.MeterImplement; import com.zhitan.basicdata.domain.SysEnergy; import com.zhitan.basicdata.mapper.MeterImplementMapper; @@ -17,6 +18,7 @@ import com.zhitan.consumptionanalysis.domain.vo.ChartData; import com.zhitan.consumptionanalysis.domain.vo.EnergyProportion; import com.zhitan.model.domain.EnergyIndex; +import com.zhitan.model.domain.ModelNode; import com.zhitan.model.domain.vo.ModelNodeIndexInfo; import com.zhitan.model.mapper.EnergyIndexMapper; import com.zhitan.model.mapper.ModelNodeMapper; @@ -32,14 +34,14 @@ import java.util.stream.Collectors; /** - * description todu + * 鎶ヨ鍒嗘瀽瀹炵幇 * - * @author hmj - * @date 2024-10-26 17:34 + * @author + * @date */ @Service @AllArgsConstructor -public class AlarmAnalyisisServiceImpl implements IAlarmAnalyisisService { +public class AlarmAnalyisisServiceImpl implements IAlarmAnalysisService { private final ModelNodeMapper modelNodeMapper; @@ -50,6 +52,13 @@ private final EnergyIndexMapper energyIndexMapper; private final SysEnergyMapper sysEnergyMapper; + + /** + * 鏍规嵁鑺傜偣id鑾峰彇鎶ヨ鍒嗘瀽淇℃伅 + * + * @param alarmAnalysisDTO + * @return + */ @Override public AlarmAnalysisVO getByNodeId(AlarmAnalysisDTO alarmAnalysisDTO) { AlarmAnalysisVO alarmAnalysisVO = new AlarmAnalysisVO(); @@ -171,31 +180,6 @@ return alarmAnalysisVO; } - - @Override - public AlarmAnalysisVO getCountInfo(AlarmAnalysisDTO alarmAnalysisDTO) { - AlarmAnalysisVO alarmAnalysisVO = new AlarmAnalysisVO(); - final String nodeId = alarmAnalysisDTO.getNodeId(); - final DateTime beginOfMonth = DateUtil.beginOfMonth(new Date()); - final DateTime endOfMonth = DateUtil.endOfMonth(new Date()); - final DateTime beginOfYear = DateUtil.beginOfYear(new Date()); - final DateTime endOfYear = DateUtil.endOfYear(new Date()); - - /** - * 鏌ヨ鐐逛綅涓庣敤鑳藉崟鍏冧俊鎭� - */ - List<ModelNodeIndexInfo> nodeIndexInforList = modelNodeMapper.getModelNodeIndexIdByNodeId(nodeId,null); - List<String> indexIds = nodeIndexInforList.stream().map(ModelNodeIndexInfo::getIndexId).collect(Collectors.toList()); - - Integer monthCount = historyAlarmMapper.selectCountByTime(beginOfMonth,endOfMonth); - Integer yearCount = historyAlarmMapper.selectCountByTime(beginOfYear,endOfYear); - - alarmAnalysisVO.setIndexCount(indexIds.size()); - alarmAnalysisVO.setMonthCount(monthCount); - alarmAnalysisVO.setYearCount(yearCount); - return alarmAnalysisVO; - } - private double format2Double(double averageEnergy) { // 鍒涘缓DecimalFormat瀵硅薄锛岃缃繚鐣欎袱浣嶅皬鏁� DecimalFormat df = new DecimalFormat("#.00"); @@ -204,4 +188,41 @@ String formattedResult = df.format(averageEnergy); return Double.valueOf(formattedResult); } + + /** + * 鑾峰彇鎶ヨ鍒嗘瀽缁熻淇℃伅 + * @param alarmAnalysisDTO + * @return + */ + @Override + public AlarmAnalysisVO getCountInfo(AlarmAnalysisDTO alarmAnalysisDTO) { + + AlarmAnalysisVO alarmAnalysisVO = new AlarmAnalysisVO(); + + ModelNode parentNode = modelNodeMapper.selectModelNodeById(alarmAnalysisDTO.getNodeId()); + if(ObjectUtils.isEmpty(parentNode)){ + return alarmAnalysisVO; + } + + // 鏌ヨ妯″瀷涓嬬殑鐐逛綅鏁版嵁 + List<ModelNodeIndexInfo> nodeIndexInfoList = modelNodeMapper.getAllModelNodeIndexByAddress(parentNode.getModelCode(), parentNode.getAddress()); + alarmAnalysisVO.setIndexCount(nodeIndexInfoList.size()); + if (CollectionUtils.isEmpty(nodeIndexInfoList)) { + return alarmAnalysisVO; + } + + // 鑾峰彇鏈堟姤璀︽暟銆佸勾鎶ヨ鏁� + List<String> indexIdList = nodeIndexInfoList.stream().map(ModelNodeIndexInfo::getIndexId).collect(Collectors.toList()); + + DateTime beginOfMonth = DateUtil.beginOfMonth(new Date()); + DateTime endOfMonth = DateUtil.endOfMonth(new Date()); + DateTime beginOfYear = DateUtil.beginOfYear(new Date()); + DateTime endOfYear = DateUtil.endOfYear(new Date()); + Integer monthCount = historyAlarmMapper.selectCountByTime(beginOfMonth,endOfMonth, indexIdList); + Integer yearCount = historyAlarmMapper.selectCountByTime(beginOfYear,endOfYear, indexIdList); + + alarmAnalysisVO.setMonthCount(monthCount); + alarmAnalysisVO.setYearCount(yearCount); + return alarmAnalysisVO; + } } diff --git a/zhitan-system/src/main/java/com/zhitan/alarm/services/impl/HistoryAlarmServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/alarm/services/impl/HistoryAlarmServiceImpl.java index 9b16045..da5e081 100644 --- a/zhitan-system/src/main/java/com/zhitan/alarm/services/impl/HistoryAlarmServiceImpl.java +++ b/zhitan-system/src/main/java/com/zhitan/alarm/services/impl/HistoryAlarmServiceImpl.java @@ -1,5 +1,9 @@ package com.zhitan.alarm.services.impl; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zhitan.alarm.domain.HistoryAlarm; import com.zhitan.alarm.domain.JkHistoryAlarm; @@ -8,83 +12,147 @@ import com.zhitan.basicdata.domain.MeterImplement; import com.zhitan.basicdata.mapper.MeterImplementMapper; import com.zhitan.common.enums.TimeType; +import com.zhitan.common.utils.DateUtils; +import com.zhitan.common.utils.PageUtils; import com.zhitan.common.utils.StringUtils; import com.zhitan.model.domain.EnergyIndex; +import com.zhitan.model.domain.ModelNode; +import com.zhitan.model.domain.NodeIndex; +import com.zhitan.model.domain.vo.ModelNodeIndexInfo; import com.zhitan.model.mapper.EnergyIndexMapper; +import com.zhitan.model.mapper.ModelNodeMapper; +import com.zhitan.model.mapper.NodeIndexMapper; +import lombok.AllArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; + +@AllArgsConstructor @Service public class HistoryAlarmServiceImpl implements IHistoryAlarmService { - @Autowired - private HistoryAlarmMapper historyAlarmMapper; + @Resource + private HistoryAlarmMapper historyAlarmMapper; - @Autowired - private MeterImplementMapper meterImplementMapper; + @Resource + private MeterImplementMapper meterImplementMapper; - @Autowired - private EnergyIndexMapper energyIndexMapper; + @Resource + private ModelNodeMapper modelNodeMapper; + @Resource + private NodeIndexMapper nodeIndexMapper; + @Resource + private EnergyIndexMapper energyIndexMapper; - @Override - public List<HistoryAlarm> getHistoryAlarm(Date beginTime, Date endTime) { - return null; - } + @Override + public List<HistoryAlarm> getHistoryAlarm(Date beginTime, Date endTime) { + return null; + } - @Override - public List<HistoryAlarm> getHistoryAlarm(Date beginTime, Date endTime, TimeType timeType) { - return null; - } + @Override + public List<HistoryAlarm> getHistoryAlarm(Date beginTime, Date endTime, TimeType timeType) { + return null; + } - @Override - public List<HistoryAlarm> getHistoryAlarm(Date beginTime, Date endTime, String alarmType) { - return null; - } + @Override + public List<HistoryAlarm> getHistoryAlarm(Date beginTime, Date endTime, String alarmType) { + return null; + } - @Override - public List<JkHistoryAlarm> selectJkHistoryAlarmList(JkHistoryAlarm jkHistoryAlarm) { - return historyAlarmMapper.selectJkHistoryAlarmList(jkHistoryAlarm); - } + @Override + public List<JkHistoryAlarm> selectJkHistoryAlarmList(JkHistoryAlarm jkHistoryAlarm) { + return historyAlarmMapper.selectJkHistoryAlarmList(jkHistoryAlarm); + } - @Override - public List<JkHistoryAlarm> selectJkHistoryAlarmListExcel(JkHistoryAlarm jkHistoryAlarm) { - return historyAlarmMapper.selectJkHistoryAlarmListExcel(jkHistoryAlarm); - } + @Override + public List<JkHistoryAlarm> selectJkHistoryAlarmListExcel(JkHistoryAlarm jkHistoryAlarm) { + return historyAlarmMapper.selectJkHistoryAlarmListExcel(jkHistoryAlarm); + } - /** - * 瀹炴椂妫�娴� 鍔熻兘 鐨勫 sheet椤� 灞曠ず 缁勬�佸浘 娴嬬偣 鎶ヨ淇℃伅 - * - * @param jkHistoryAlarm - * @return - */ - @Override - public List<JkHistoryAlarm> selectHistoryAlarmNoteList(JkHistoryAlarm jkHistoryAlarm) { - return historyAlarmMapper.selectHistoryAlarmNoteList(jkHistoryAlarm); - } + /** + * 瀹炴椂妫�娴� 鍔熻兘 鐨勫 sheet椤� 灞曠ず 缁勬�佸浘 娴嬬偣 鎶ヨ淇℃伅 + * + * @param jkHistoryAlarm + * @return + */ + @Override + public List<JkHistoryAlarm> selectHistoryAlarmNoteList(JkHistoryAlarm jkHistoryAlarm) { + return historyAlarmMapper.selectHistoryAlarmNoteList(jkHistoryAlarm); + } - @Override - public void updateHistoryAlarm(String alarmCode, HistoryAlarm historyAlarm) { - historyAlarmMapper.updateHistoryAlarm(alarmCode, historyAlarm); - } + @Override + public void updateHistoryAlarm(String alarmCode, HistoryAlarm historyAlarm) { + historyAlarmMapper.updateHistoryAlarm(alarmCode, historyAlarm); + } - @Override - public Page<JkHistoryAlarm> selectJkHistoryAlarmPage(JkHistoryAlarm jkHistoryAlarm, Long pageNum, Long pageSize) { - final Page<JkHistoryAlarm> jkHistoryAlarmPage = historyAlarmMapper.selectJkHistoryAlarmPage(jkHistoryAlarm, new Page<>(pageNum, pageSize)); - jkHistoryAlarmPage.getRecords().forEach(alarm->{ - final String indexType = alarm.getIndexType(); - final String indexId = alarm.getIndexId(); - if("COLLECT".equals(indexType) && StringUtils.isEmpty(alarm.getEnergyId())){ - //鏍规嵁nodeId鍜宨ndexId 鍘绘煡璇㈣閲忓櫒鍏� - EnergyIndex energyIndex = energyIndexMapper.selectEnergyIndexById(indexId); - final MeterImplement meterImplement = meterImplementMapper.selectMeterImplementById(energyIndex.getMeterId()); - alarm.setEnergyId(meterImplement.getEnergyType()); - } - }); - return jkHistoryAlarmPage; - } - + /** + * 鑾峰彇鍘嗗彶鎶ヨ鍒嗛〉鏁版嵁 + * + * @param historyAlarm + * @return + */ + @Override + public Page<JkHistoryAlarm> selectHistoryAlarmPageList(JkHistoryAlarm historyAlarm) { + Page<JkHistoryAlarm> pageInfo = PageUtils.getPageInfo(JkHistoryAlarm.class); + + List<String> indexIdList = new ArrayList<>(); + if ("ALL".equals(historyAlarm.getEierarchyFlag())) { + + ModelNode modelNode = modelNodeMapper.selectModelNodeById(historyAlarm.getNodeId()); + List<ModelNodeIndexInfo> modelNodeIndexInfoList = + modelNodeMapper.getAllModelNodeIndexByAddress(modelNode.getModelCode(), modelNode.getAddress()); + if (StringUtils.isNotEmpty(historyAlarm.getIndexName())) { + modelNodeIndexInfoList = modelNodeIndexInfoList.stream() + .filter(modelNodeIndexInfo -> modelNodeIndexInfo.getIndexName().contains(historyAlarm.getIndexName())) + .collect(Collectors.toList()); + } + if (ObjectUtils.isNotEmpty(historyAlarm.getIndexType())) { + modelNodeIndexInfoList = modelNodeIndexInfoList.stream() + .filter(modelNodeIndexInfo -> historyAlarm.getIndexType().equals(modelNodeIndexInfo.getIndexType())) + .collect(Collectors.toList()); + } + indexIdList = modelNodeIndexInfoList.stream().map(ModelNodeIndexInfo::getIndexId).collect(Collectors.toList()); + + } else { + + LambdaQueryWrapper<NodeIndex> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(NodeIndex::getNodeId, historyAlarm.getNodeId()); + List<NodeIndex> nodeIndexList = nodeIndexMapper.selectList(queryWrapper); + List<String> allIndexIdList = nodeIndexList.stream().map(NodeIndex::getIndexId).collect(Collectors.toList()); + if (ObjectUtils.isNotEmpty(allIndexIdList)) { + List<EnergyIndex> indexList = energyIndexMapper.selectEnergyIndexByIds(allIndexIdList); + if (ObjectUtils.isNotEmpty(historyAlarm.getIndexName())) { + indexList = indexList.stream().filter(energyIndex -> energyIndex.getName().contains(historyAlarm.getIndexName())).collect(Collectors.toList()); + } + if (ObjectUtils.isNotEmpty(historyAlarm.getIndexType())) { + indexList = indexList.stream().filter(energyIndex -> historyAlarm.getIndexType().equals(energyIndex.getIndexTypeCode())).collect(Collectors.toList()); + } + indexIdList = indexList.stream().map(EnergyIndex::getIndexId).collect(Collectors.toList()); + } + } + + if (ObjectUtils.isEmpty(indexIdList)) { + return pageInfo; + } + + //鏃堕棿澶勭悊 濡傛灉涓嶄紶鏃堕棿榛樿鏌ヨ褰撳ぉ鐨勬暟鎹� + Date endTime = DateUtils.parseDate(historyAlarm.getEndTime()); + if (ObjectUtils.isEmpty(endTime)) { + endTime = DateUtil.endOfDay(DateUtils.getNowDate()); + } + Date beginTime = DateUtils.parseDate(historyAlarm.getBeginTime()); + if (ObjectUtils.isEmpty(beginTime)) { + beginTime = DateUtil.beginOfDay(DateUtils.getNowDate()); + } + + return historyAlarmMapper.getHistoryAlarmList(beginTime, endTime,indexIdList, pageInfo); + } + } diff --git a/zhitan-system/src/main/java/com/zhitan/model/mapper/ModelNodeMapper.java b/zhitan-system/src/main/java/com/zhitan/model/mapper/ModelNodeMapper.java index 56b41e1..6af717b 100644 --- a/zhitan-system/src/main/java/com/zhitan/model/mapper/ModelNodeMapper.java +++ b/zhitan-system/src/main/java/com/zhitan/model/mapper/ModelNodeMapper.java @@ -215,4 +215,9 @@ @Param("energyType") String energyType, @Param("timeType") TimeType timeType, @Param("dateTimeMap") Map<String, LocalDateTime> dateTimeMap); + + /** + * 閫氳繃鑺傜偣鍦板潃鏌ヨ鑺傜偣涓嬪強瀛愯妭鐐逛笅鐨勬墍鏈夌偣浣嶄俊鎭� + */ + List<ModelNodeIndexInfo> getAllModelNodeIndexByAddress(@Param("modelCode") String modelCode, @Param("address") String address); } diff --git a/zhitan-system/src/main/resources/mapper/alarm/HistoryAlarmMapper.xml b/zhitan-system/src/main/resources/mapper/alarm/HistoryAlarmMapper.xml index d7d6f6e..49eab74 100644 --- a/zhitan-system/src/main/resources/mapper/alarm/HistoryAlarmMapper.xml +++ b/zhitan-system/src/main/resources/mapper/alarm/HistoryAlarmMapper.xml @@ -4,7 +4,7 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.zhitan.alarm.mapper.HistoryAlarmMapper"> - <resultMap type="HistoryAlarm" id="HistoryAlarmResult"> + <resultMap type="com.zhitan.alarm.domain.HistoryAlarm" id="HistoryAlarmResult"> <result property="id" column="id"/> <result property="endTime" column="end_time"/> <result property="indexId" column="index_id"/> @@ -18,7 +18,7 @@ <result property="content" column="content"/> </resultMap> - <resultMap type="JkHistoryAlarm" id="JkHistoryAlarmResult"> + <resultMap type="com.zhitan.alarm.domain.JkHistoryAlarm" id="JkHistoryAlarmResult"> <result property="modelName" column="modelname"/> <result property="code" column="code"/> <result property="indexName" column="indexname"/> @@ -50,7 +50,7 @@ from history_alarm </sql> - <select id="selectHistoryAlarmList" parameterType="HistoryAlarm" resultMap="HistoryAlarmResult"> + <select id="selectHistoryAlarmList" parameterType="com.zhitan.alarm.domain.HistoryAlarm" resultMap="HistoryAlarmResult"> <include refid="selectHistoryAlarmVo"/> <where> <if test="indexName != null and indexName != ''">and index_name like concat('%', @@ -77,7 +77,7 @@ </select> - <update id="updateHistoryAlarm" parameterType="HistoryAlarm"> + <update id="updateHistoryAlarm" parameterType="com.zhitan.alarm.domain.HistoryAlarm"> delete from realtime_alarm where alarm_code = #{alarmCode}; insert into history_alarm <trim prefix="(" suffix=")" suffixOverrides=","> @@ -127,7 +127,7 @@ </delete> <!--鍘嗗彶 鎶ヨ鍒楄〃椤甸潰 閲囬泦鐐� 涓婚〉闈㈠垪琛ㄦ煡璇�--> - <select id="selectJkHistoryAlarmList" parameterType="JkHistoryAlarm" + <select id="selectJkHistoryAlarmList" parameterType="com.zhitan.alarm.domain.JkHistoryAlarm" resultMap="JkHistoryAlarmResult"> SELECT mo."name" AS modelname, @@ -180,7 +180,7 @@ order by alarm_level,mo.node_id,limit_type asc </select> - <select id="selectJkHistoryAlarmListExcel" parameterType="JkHistoryAlarm" + <select id="selectJkHistoryAlarmListExcel" parameterType="com.zhitan.alarm.domain.JkHistoryAlarm" resultMap="JkHistoryAlarmResult"> SELECT mo."name" AS modelname, @@ -232,7 +232,7 @@ order by alarm_level,mo.node_id,limit_type asc </select> - <select id="selectHistoryAlarmNoteList" parameterType="JkHistoryAlarm" + <select id="selectHistoryAlarmNoteList" parameterType="com.zhitan.alarm.domain.JkHistoryAlarm" resultMap="JkHistoryAlarmResult"> SELECT ei.code, @@ -273,7 +273,7 @@ </if> order by alarm_level,limit_type asc </select> - <select id="selectJkHistoryAlarmPage" resultType="JkHistoryAlarm"> + <select id="selectJkHistoryAlarmPage" resultType="com.zhitan.alarm.domain.JkHistoryAlarm"> SELECT mo."name" AS modelname, ei.code, @@ -294,7 +294,7 @@ energy_index ei, node_index ni, model_node mo, - history_alarm bj , + history_alarm bj, alarm_item alit WHERE ni.node_id IN ( @@ -310,30 +310,74 @@ AND alit.alarm_code = bj.alarm_code AND alit.time_slot='LIVE' AND ei.index_type=#{jkHistoryAlarm.indexType} - <if test="jkHistoryAlarm.indexName != null and jkHistoryAlarm.indexName != ''">and ei.name like concat('%', #{jkHistoryAlarm.indexName}, - '%') + <if test="jkHistoryAlarm.indexName != null and jkHistoryAlarm.indexName != ''"> + and ei.name like concat('%', #{jkHistoryAlarm.indexName}, '%') </if> - <if test="jkHistoryAlarm.limitType != null and jkHistoryAlarm.limitType != ''">and alit.limit_type=#{jkHistoryAlarm.limitType}</if> - <if test="jkHistoryAlarm.alarmLevel != null and jkHistoryAlarm.alarmLevel != ''">and alit.alarm_level=#{jkHistoryAlarm.alarmLevel}</if> - <if test="jkHistoryAlarm.beginTime != null and jkHistoryAlarm.beginTime != ''">and begin_time >= - to_timestamp(#{jkHistoryAlarm.beginTime},'yyyy-mm-dd hh24:mi:ss') + <if test="jkHistoryAlarm.limitType != null and jkHistoryAlarm.limitType != ''"> + and alit.limit_type=#{jkHistoryAlarm.limitType} + </if> + <if test="jkHistoryAlarm.alarmLevel != null and jkHistoryAlarm.alarmLevel != ''"> + and alit.alarm_level=#{jkHistoryAlarm.alarmLevel} + </if> + <if test="jkHistoryAlarm.beginTime != null and jkHistoryAlarm.beginTime != ''"> + and begin_time >= to_timestamp(#{jkHistoryAlarm.beginTime}, 'yyyy-mm-dd hh24:mi:ss') </if> - <if test="jkHistoryAlarm.endTime != null and jkHistoryAlarm.endTime != ''">and begin_time <= - to_timestamp(#{jkHistoryAlarm.endTime},'yyyy-mm-dd hh24:mi:ss') + <if test="jkHistoryAlarm.endTime != null and jkHistoryAlarm.endTime != ''"> + and begin_time <= to_timestamp(#{jkHistoryAlarm.endTime},'yyyy-mm-dd hh24:mi:ss') </if> order by alarm_level,mo.node_id,limit_type asc </select> + <select id="selectCountByTime" resultType="java.lang.Integer"> select count(0) from history_alarm <where> <if test="beginTime != null "> - and begin_time >= #{beginTime} + and begin_time >= #{beginTime} </if> <if test="endTime != null "> - and begin_time <= #{endTime} + and begin_time <= #{endTime} + </if> + <if test="indexIdList != null and indexIdList.size() > 0"> + and index_id in + <foreach collection="indexIdList" item="item" open="(" separator="," close=")"> + #{item} + </foreach> </if> </where> </select> + <select id="getHistoryAlarmList" resultType="com.zhitan.alarm.domain.JkHistoryAlarm"> + SELECT + mn.node_id nodeId, + mn."name" modelName, + mi.meter_name meterName, + mi.energy_type energyId, + his.index_id indexId, + ei."name" indexName, + ei.index_type indexType, + ei.code code, + ei.unit_id unitId, + ai.alarm_level alarmLevel, + ai.limit_type limitType, + his.limiting_value limitingValue, + his.alarm_value alarmValue, + his.begin_time alarmBeginTime, + his.end_time alarmEndTime, + his.duration duration + FROM + history_alarm his + LEFT JOIN alarm_item ai ON his.item_id = ai."id" + LEFT JOIN energy_index ei ON his.index_id = ei.index_id + LEFT JOIN meter_implement mi ON ei.meter_id = mi."id" + LEFT JOIN model_node mn ON mn.node_id = ai.node_id + WHERE + his.begin_time BETWEEN #{beginTime} AND #{endTime} + <if test="indexIdList != null and indexIdList.size() > 0"> + AND his.index_id IN + <foreach collection="indexIdList" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + </if> + </select> </mapper> diff --git a/zhitan-system/src/main/resources/mapper/model/EnergyIndexMapper.xml b/zhitan-system/src/main/resources/mapper/model/EnergyIndexMapper.xml index 3e16008..1145863 100644 --- a/zhitan-system/src/main/resources/mapper/model/EnergyIndexMapper.xml +++ b/zhitan-system/src/main/resources/mapper/model/EnergyIndexMapper.xml @@ -4,7 +4,7 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.zhitan.model.mapper.EnergyIndexMapper"> - <resultMap type="EnergyIndex" id="EnergyIndexResult"> + <resultMap type="com.zhitan.model.domain.EnergyIndex" id="EnergyIndexResult"> <result property="indexId" column="index_id"/> <result property="name" column="name"/> <result property="code" column="code"/> @@ -34,7 +34,7 @@ from energy_index </sql> - <select id="selectEnergyIndexList" parameterType="EnergyIndex" resultMap="EnergyIndexResult"> + <select id="selectEnergyIndexList" parameterType="com.zhitan.model.domain.EnergyIndex" resultMap="EnergyIndexResult"> select ni.index_id, name, code, index_type, remark, unit_id, index_category from energy_index ei left join node_index ni on ei.index_id = ni.index_id <where> @@ -59,7 +59,7 @@ <include refid="selectEnergyIndexVo"/> where index_id IN - <foreach collection="list" item="indexId" open="(" separator="," close=")"> + <foreach collection="indexIds" item="indexId" open="(" separator="," close=")"> #{indexId} </foreach> </select> @@ -145,7 +145,7 @@ order by ei.order_num </select> - <insert id="insertEnergyIndex" parameterType="EnergyIndex"> + <insert id="insertEnergyIndex" parameterType="com.zhitan.model.domain.EnergyIndex"> insert into energy_index <trim prefix="(" suffix=")" suffixOverrides=","> <if test="indexId != null and indexId != ''">index_id,</if> @@ -271,7 +271,7 @@ </foreach> </insert> - <update id="updateEnergyIndex" parameterType="EnergyIndex"> + <update id="updateEnergyIndex" parameterType="com.zhitan.model.domain.EnergyIndex"> update energy_index <trim prefix="SET" suffixOverrides=","> <if test="name != null and name != ''">name = #{name},</if> diff --git a/zhitan-system/src/main/resources/mapper/model/ModelNodeMapper.xml b/zhitan-system/src/main/resources/mapper/model/ModelNodeMapper.xml index eb7fbde..d8486ec 100644 --- a/zhitan-system/src/main/resources/mapper/model/ModelNodeMapper.xml +++ b/zhitan-system/src/main/resources/mapper/model/ModelNodeMapper.xml @@ -466,4 +466,22 @@ AND di.data_time >= #{dateTimeMap.startTime} AND di.data_time <= #{dateTimeMap.endTime} </select> + <select id="getAllModelNodeIndexByAddress" resultType="com.zhitan.model.domain.vo.ModelNodeIndexInfo"> + SELECT + mn.node_id nodeId, + mn.code nodeCode, + mn."name" nodeName, + ni.index_id indexId, + ei."name" indexName, + ei.index_type indexType, + mi.energy_type + FROM + "model_node" mn + LEFT JOIN "node_index" ni ON mn.node_id = ni.node_id + LEFT JOIN energy_index ei ON ni.index_id = ei.index_id + LEFT JOIN meter_implement mi ON mi."id" = ei.meter_id + WHERE + mn.model_code = #{modelCode} + AND mn.address LIKE concat( #{address} , '%' ) + </select> </mapper> diff --git a/zhitan-vue/src/views/alarmmanage/alarmrecord/alarmRecord.vue b/zhitan-vue/src/views/alarmmanage/alarmrecord/alarmRecord.vue index 1ff3b79..57a7400 100644 --- a/zhitan-vue/src/views/alarmmanage/alarmrecord/alarmRecord.vue +++ b/zhitan-vue/src/views/alarmmanage/alarmrecord/alarmRecord.vue @@ -70,7 +70,7 @@ show-overflow-tooltip :formatter="(row, column) => formatterLabel(energyTypeList, row.energyId)" /> - <el-table-column label="棰勮鍊�" prop="energyType" align="center" show-overflow-tooltip /> + <el-table-column label="棰勮鍊�" prop="limitingValue" align="center" show-overflow-tooltip /> <el-table-column label="鎶ヨ鍊�" prop="alarmValue" align="center" show-overflow-tooltip /> <el-table-column label="鎶ヨ鏃堕棿" prop="alarmBeginTime" align="center" show-overflow-tooltip /> </el-table> diff --git a/zhitan-vue/src/views/alarmmanage/measuremen/measuremen.vue b/zhitan-vue/src/views/alarmmanage/measuremen/measuremen.vue index cbd3852..d831208 100644 --- a/zhitan-vue/src/views/alarmmanage/measuremen/measuremen.vue +++ b/zhitan-vue/src/views/alarmmanage/measuremen/measuremen.vue @@ -97,10 +97,13 @@ timeType: null, dataTime: null, nodeId: null, + modelCode: '' }) import { getByNodeId, getCountInfo } from "@/api/alarmManage/alarmManage" import { el } from "element-plus/es/locales.mjs" +import { useRoute } from "vue-router" +const route = useRoute() let form = ref({}) let currentNode = ref() @@ -114,6 +117,7 @@ handleTimeType(period.value[0].value) getByNodeIdFun() + getCountInfoFun() } function getByNodeIdFun() { @@ -155,10 +159,12 @@ // getByNodeIdFun() function handleQuery() { getByNodeIdFun() + getCountInfoFun() } function resetQuery() { handleTimeType("YEAR") getByNodeIdFun() + getCountInfoFun() } let dataArray = ref({ indexCount: 0, @@ -166,14 +172,16 @@ monthCount: 0, }) function getCountInfoFun() { - getCountInfo(queryParams.value).then((res) => { + getCountInfo({ + ...queryParams.value, + modelCode: route.query.modelCode, + }).then((res) => { if (res.code == 200) { dataArray.value = res.data } }) } -getCountInfoFun() function pieChart(Id, data, name) { console.log(data) let total = 0 @@ -274,11 +282,11 @@ axisPointer: { type: "shadow", }, - axisTick: { - show: false, - alignWithLabel: true, - length: 5, - }, + // axisTick: { + // show: false, + // alignWithLabel: true, + // length: 5, + // }, // 鍧愭爣杞村埢搴︾嚎鏍峰紡 axisTick: { show: false, @@ -313,11 +321,11 @@ padding: [0, 0, 5, 0], }, // 鍧愭爣杞村埢搴� - axisTick: { - show: false, - alignWithLabel: true, - length: 5, - }, + // axisTick: { + // show: false, + // alignWithLabel: true, + // length: 5, + // }, // 鍧愭爣杞村埢搴︾嚎鏍峰紡 axisTick: { show: false, -- Gitblit v1.9.3