From 8887422e04d93e8ab4b6d9a5c071eb6c64778995 Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期一, 02 二月 2026 13:34:36 +0800
Subject: [PATCH] 光电站点改为智能站点
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/BasContainer.java | 133 +++++++++++++++++++++++++++++--------------
1 files changed, 89 insertions(+), 44 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/BasContainer.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/BasContainer.java
index 65ac662..25b5b78 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/BasContainer.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/BasContainer.java
@@ -6,15 +6,16 @@
import java.util.Date;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.vincent.rsf.server.manager.utils.AreasDeserializer;
+import com.vincent.rsf.server.manager.utils.AreasSerializer;
+import com.vincent.rsf.server.manager.utils.AreasTypeHandler;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.vincent.rsf.server.system.entity.DictData;
import com.vincent.rsf.server.system.service.DictDataService;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.vincent.rsf.framework.common.Cools;
@@ -22,11 +23,14 @@
import com.vincent.rsf.server.system.service.UserService;
import com.vincent.rsf.server.system.entity.User;
import java.io.Serializable;
-import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.ArrayList;
+import java.util.stream.Collectors;
@Data
@Accessors(chain = true)
-@TableName("man_bas_container")
+@TableName(value = "man_bas_container", autoResultMap = true)
public class BasContainer implements Serializable {
private static final long serialVersionUID = 1L;
@@ -34,10 +38,9 @@
/**
* id
*/
- @ApiModelProperty(value= "id")
+ @ApiModelProperty(value = "id")
@TableId(value = "id", type = IdType.AUTO)
private Long id;
-
@ApiModelProperty("鍞竴缂栫爜")
private String code;
@@ -45,77 +48,82 @@
/**
* 瀹瑰櫒绫诲瀷
*/
- @ApiModelProperty(value= "瀹瑰櫒绫诲瀷")
+ @ApiModelProperty(value = "瀹瑰櫒绫诲瀷")
private Long containerType;
/**
* 瀹瑰櫒鏉$爜绫诲瀷
*/
- @ApiModelProperty(value= "瀹瑰櫒鏉$爜绫诲瀷")
+ @ApiModelProperty(value = "瀹瑰櫒鏉$爜绫诲瀷")
private String codeType;
/**
- * 鍙叆搴撳尯
+ * 鍙叆搴撳尯锛堝寘鍚帓搴忎俊鎭級
+ * 鏍煎紡: [{"id": 1, "sort": 1}, {"id": 2, "sort": 2}]
*/
- @ApiModelProperty(value= "鍙叆搴撳尯")
- private String areas;
+ @ApiModelProperty(value = "鍙叆搴撳尯锛堝寘鍚帓搴忎俊鎭級")
+ @TableField(typeHandler = AreasTypeHandler.class)
+ @JsonDeserialize(using = AreasDeserializer.class)
+ @JsonSerialize(using = AreasSerializer.class)
+ private List<Map<String, Object>> areas;
/**
- * 鏄惁鍒犻櫎 1: 鏄� 0: 鍚�
+ * 鏄惁鍒犻櫎 1: 鏄� 0: 鍚�
*/
- @ApiModelProperty(value= "鏄惁鍒犻櫎 1: 鏄� 0: 鍚� ")
+ @ApiModelProperty(value = "鏄惁鍒犻櫎 1: 鏄� 0: 鍚� ")
private Integer deleted;
/**
* 鐘舵��
*/
- @ApiModelProperty(value= "鐘舵��")
+ @ApiModelProperty(value = "鐘舵��")
private Integer status;
/**
* 绉熸埛
*/
- @ApiModelProperty(value= "绉熸埛")
+ @ApiModelProperty(value = "绉熸埛")
private Integer tenantId;
/**
* 娣诲姞浜哄憳
*/
- @ApiModelProperty(value= "娣诲姞浜哄憳")
+ @ApiModelProperty(value = "娣诲姞浜哄憳")
private Long createBy;
/**
* 娣诲姞鏃堕棿
*/
- @ApiModelProperty(value= "娣诲姞鏃堕棿")
- @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty(value = "娣诲姞鏃堕棿")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* 淇敼浜哄憳
*/
- @ApiModelProperty(value= "淇敼浜哄憳")
+ @ApiModelProperty(value = "淇敼浜哄憳")
private Long updateBy;
/**
* 淇敼鏃堕棿
*/
- @ApiModelProperty(value= "淇敼鏃堕棿")
- @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty(value = "淇敼鏃堕棿")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/**
* 澶囨敞
*/
- @ApiModelProperty(value= "澶囨敞")
+ @ApiModelProperty(value = "澶囨敞")
private String memo;
- @TableField(exist = false)
- private Long[] areaIds;
- public BasContainer() {}
- public BasContainer(Long containerType,String codeType,String areas,Integer deleted,Integer status,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) {
+ public BasContainer() {
+ }
+
+ public BasContainer(Long containerType, String codeType, List<Map<String, Object>> areas, Integer deleted, Integer status,
+ Integer tenantId, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo) {
this.containerType = containerType;
this.codeType = codeType;
this.areas = areas;
@@ -150,51 +158,50 @@
DictDataService service = SpringUtils.getBean(DictDataService.class);
DictData dictData = service.getOne(new LambdaQueryWrapper<DictData>()
.eq(DictData::getDictTypeCode, "sys_container_type")
- .eq(DictData::getValue, this.containerType)
- );
- if (!Cools.isEmpty(dictData)){
+ .eq(DictData::getValue, this.containerType));
+ if (!Cools.isEmpty(dictData)) {
return String.valueOf(dictData.getLabel());
}
return "";
}
- public String getCreateBy$(){
+ public String getCreateBy$() {
UserService service = SpringUtils.getBean(UserService.class);
User user = service.getById(this.createBy);
- if (!Cools.isEmpty(user)){
+ if (!Cools.isEmpty(user)) {
return String.valueOf(user.getNickname());
}
return null;
}
- public String getCreateTime$(){
- if (Cools.isEmpty(this.createTime)){
+ public String getCreateTime$() {
+ if (Cools.isEmpty(this.createTime)) {
return "";
}
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
}
- public String getUpdateBy$(){
+ public String getUpdateBy$() {
UserService service = SpringUtils.getBean(UserService.class);
User user = service.getById(this.updateBy);
- if (!Cools.isEmpty(user)){
+ if (!Cools.isEmpty(user)) {
return String.valueOf(user.getNickname());
}
return null;
}
- public String getUpdateTime$(){
- if (Cools.isEmpty(this.updateTime)){
+ public String getUpdateTime$() {
+ if (Cools.isEmpty(this.updateTime)) {
return "";
}
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
}
-
-
- public Boolean getStatusBool(){
- if (null == this.status){ return null; }
- switch (this.status){
+ public Boolean getStatusBool() {
+ if (null == this.status) {
+ return null;
+ }
+ switch (this.status) {
case 1:
return true;
case 0:
@@ -204,4 +211,42 @@
}
}
+ /**
+ * 鑾峰彇鎺掑簭鍚庣殑搴撳尯ID鍒楄〃锛堝悜鍚庡吋瀹规柟娉曪級
+ * @return 鎺掑簭鍚庣殑搴撳尯ID鍒楄〃
+ */
+ public List<Integer> getAreasIds() {
+ if (Cools.isEmpty(this.areas)) {
+ return new ArrayList<>();
+ }
+ return this.areas.stream()
+ .sorted((a, b) -> {
+ Integer sortA = a.get("sort") != null ? ((Number) a.get("sort")).intValue() : Integer.MAX_VALUE;
+ Integer sortB = b.get("sort") != null ? ((Number) b.get("sort")).intValue() : Integer.MAX_VALUE;
+ return sortA.compareTo(sortB);
+ })
+ .map(area -> {
+ Object id = area.get("id");
+ if (id instanceof Number) {
+ return ((Number) id).intValue();
+ }
+ return null;
+ })
+ .filter(id -> id != null)
+ .collect(Collectors.toList());
+ }
+
+ /**
+ * 瀵筧reas鎸塻ort瀛楁杩涜鎺掑簭
+ */
+ public void sortAreas() {
+ if (this.areas != null && !this.areas.isEmpty()) {
+ this.areas.sort((a, b) -> {
+ Integer sortA = a.get("sort") != null ? ((Number) a.get("sort")).intValue() : Integer.MAX_VALUE;
+ Integer sortB = b.get("sort") != null ? ((Number) b.get("sort")).intValue() : Integer.MAX_VALUE;
+ return sortA.compareTo(sortB);
+ });
+ }
+ }
+
}
--
Gitblit v1.9.1