diff --git a/db/upgrade20250227.sql b/db/upgrade20250305.sql similarity index 80% rename from db/upgrade20250227.sql rename to db/upgrade20250305.sql index e991d58..41a1c53 100644 --- a/db/upgrade20250227.sql +++ b/db/upgrade20250305.sql @@ -15,3 +15,8 @@ CREATE TABLE `ied_dl_record` ( KEY `idxDev` (`dev_id`,`d_time`), KEY `idxConfig` (`config_id`,`d_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +ALTER TABLE `n_sensor` +ADD COLUMN `order_num` INT NULL AFTER `icd_id`, +ADD INDEX `idxOrd` (`order_num` ASC), +ADD INDEX `idxZsb` (`zsb_id` ASC, `order_num` ASC); \ No newline at end of file diff --git a/src/main/java/com/xydl/cac/entity/NSensor.java b/src/main/java/com/xydl/cac/entity/NSensor.java index 4098936..3a097a9 100644 --- a/src/main/java/com/xydl/cac/entity/NSensor.java +++ b/src/main/java/com/xydl/cac/entity/NSensor.java @@ -64,6 +64,10 @@ public class NSensor { @ApiModelProperty("关联icd表中的id") private Integer icdId; + @Column(name = "order_num") + @ApiModelProperty("排序编号") + private Integer orderNum; + @ApiModelProperty("主设备名称") @Transient private String zsbName; diff --git a/src/main/java/com/xydl/cac/service/impl/NSensorServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/NSensorServiceImpl.java index bdb38ee..d7e8806 100644 --- a/src/main/java/com/xydl/cac/service/impl/NSensorServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/NSensorServiceImpl.java @@ -60,6 +60,7 @@ public class NSensorServiceImpl implements NSensorService { if (typeId != null) { predicate.getExpressions().add(builder.equal(root.get("typeId"), typeId)); } + query.orderBy(builder.asc(root.get("orderNum"))); return predicate; }; List list = repository.findAll(specification); diff --git a/src/main/java/com/xydl/cac/service/impl/ParamBindServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/ParamBindServiceImpl.java index a68673d..aae0bee 100644 --- a/src/main/java/com/xydl/cac/service/impl/ParamBindServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/ParamBindServiceImpl.java @@ -12,11 +12,13 @@ import com.xydl.cac.service.ModevTypeService; import com.xydl.cac.service.ParamBindService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.springframework.data.jpa.domain.Specification; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; +import javax.persistence.criteria.Predicate; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -82,7 +84,12 @@ public class ParamBindServiceImpl implements ParamBindService { for (Zsb zsb : zsbList) { zsbMap.put(zsb.getId(), zsb); } - List sensorList = sensorRepository.findAll(); + Specification specification = (root, query, builder) -> { + Predicate predicate = builder.conjunction(); + query.orderBy(builder.asc(root.get("orderNum"))); + return predicate; + }; + List sensorList = sensorRepository.findAll(specification); // 每一个放入上一层 for (NSensor sensor : sensorList) {