From 63576edde8906f70241b7757551a7f9758b6c7b1 Mon Sep 17 00:00:00 2001 From: qiaoqinzheng Date: Thu, 11 Jan 2024 18:26:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A2=E6=B5=8B=E5=99=A8=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/properties/DetectorIdFormat.java | 28 +++++++ .../entity/configuration/GardsDetectors.java | 8 -- .../modules/base/enums/DetectorStatus.java | 12 +++ .../mapper/xml/GardsDetectorsMapper.xml | 8 +- .../impl/GardsDetectorsServiceImpl.java | 78 ++++++++----------- 5 files changed, 78 insertions(+), 56 deletions(-) create mode 100644 jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/enums/DetectorStatus.java diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/common/properties/DetectorIdFormat.java b/jeecg-boot-base-core/src/main/java/org/jeecg/common/properties/DetectorIdFormat.java index 835897aa..bcca18cf 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/common/properties/DetectorIdFormat.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/common/properties/DetectorIdFormat.java @@ -1,11 +1,15 @@ package org.jeecg.common.properties; +import cn.hutool.core.util.NumberUtil; +import cn.hutool.core.util.StrUtil; import io.swagger.models.auth.In; import lombok.Data; import org.apache.commons.lang3.StringUtils; import org.jeecg.common.constant.StringConstant; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; + +import java.util.HashMap; import java.util.Map; @Data @@ -46,6 +50,30 @@ public class DetectorIdFormat { return detectorId; } + public Integer detectorCodeToId(String detectorCode){ + if (!StrUtil.contains(detectorCode, StrUtil.UNDERLINE)) + return null; + String[] split = StrUtil.split(detectorCode, StrUtil.UNDERLINE); + String prefix = split[0]; + String suffix = split[1]; + // 根据台站code即prefix解析出Id的前半部分 + prefix = StrUtil.sub(prefix, 2, prefix.length()); + for (Map.Entry entry : suffixMap.entrySet()) { + String key = entry.getKey(); + String value = entry.getValue(); + if (!StrUtil.contains(prefix, key)) + continue; + prefix = StrUtil.replace(prefix, key, value); + } + if (!NumberUtil.isNumber(prefix)) + return null; + // 根据探测器序号即suffix解析出Id的后半部分 + if (!NumberUtil.isNumber(suffix)) + return null; + suffix = String.format("%02d", Integer.valueOf(suffix)); + return Integer.valueOf(prefix + suffix); + } + /** * 格式化探测器id解析出台站id * @param detectorCode diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/configuration/GardsDetectors.java b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/configuration/GardsDetectors.java index 288ecd1e..1f57ae83 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/configuration/GardsDetectors.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/configuration/GardsDetectors.java @@ -5,12 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; -import org.jeecg.config.valid.InsertGroup; -import org.jeecg.config.valid.UpdateGroup; import org.springframework.format.annotation.DateTimeFormat; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; import java.io.Serializable; import java.util.Date; @@ -22,14 +18,12 @@ public class GardsDetectors implements Serializable { * 探测器id */ @TableId(value = "DETECTOR_ID") - @NotNull(message = "不能为空", groups = {InsertGroup.class, UpdateGroup.class}) private Integer detectorId; /** * 探测器编码 */ @TableField(value = "DETECTOR_CODE") - @NotBlank(message = "不能为空", groups = {InsertGroup.class, UpdateGroup.class}) private String detectorCode; /** @@ -100,7 +94,6 @@ public class GardsDetectors implements Serializable { * 操作时间 */ @TableField(value = "MODDATE") - @NotNull(message = "不能为空", groups = {InsertGroup.class, UpdateGroup.class}) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date moddate; @@ -110,5 +103,4 @@ public class GardsDetectors implements Serializable { */ @TableField(value = "STATION_ID") private Integer stationId; - } diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/enums/DetectorStatus.java b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/enums/DetectorStatus.java new file mode 100644 index 00000000..6f48c888 --- /dev/null +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/enums/DetectorStatus.java @@ -0,0 +1,12 @@ +package org.jeecg.modules.base.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum DetectorStatus { + ON("Operating"), OFF("Unoperating"); + + private final String value; +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/GardsDetectorsMapper.xml b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/GardsDetectorsMapper.xml index 3f9d5ecb..80c8407a 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/GardsDetectorsMapper.xml +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/GardsDetectorsMapper.xml @@ -23,16 +23,16 @@ CONFIGURATION.GARDS_DETECTORS - and DETECTOR_CODE like CONCAT('%',#{gardsDetectors.detectorCode},'%') + DETECTOR_CODE LIKE CONCAT(CONCAT('%', #{gardsDetectors.detectorCode}), '%') - and TYPE = #{gardsDetectors.type} + AND TYPE = #{gardsDetectors.type} - and RTRIM(STATUS, ' ') = #{gardsDetectors.status} + AND RTRIM(STATUS, ' ') = #{gardsDetectors.status} - order by DETECTOR_ID asc + Order By DETECTOR_ID ASC