From 7f181b7740125e913a6a2d4494a39c2ec078a4d2 Mon Sep 17 00:00:00 2001 From: Coolkid Date: Thu, 25 Jan 2024 17:54:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=AD=97=E5=85=B8=E7=AE=A1?= =?UTF-8?q?=E7=90=86=EF=BC=8C=E6=91=84=E5=83=8F=E5=A4=B4=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xyt/entity/basedata/AddvcdSearch.java | 25 ++++ .../xyt/entity/basedata/StAddvcdTreeVo.java | 25 ++++ .../entity/basedata/StCameraAreaTreeVo.java | 1 + .../xyt/entity/basedata/StCameraAreaVo.java | 1 + .../xyt/entity/basedata/SysDictSearch.java | 1 + .../xyt/entity/basedata/SysDictVo.java | 1 + .../project/xyt/mapper/StAddvcdDMapper.java | 8 +- .../gunshi/project/xyt/model/StAddvcdD.java | 37 ++++-- .../project/xyt/model/StCameraAreaB.java | 3 + .../gunshi/project/xyt/model/StCameraB.java | 3 + .../com/gunshi/project/xyt/model/StDamB.java | 5 + .../com/gunshi/project/xyt/model/StEqptB.java | 5 + .../com/gunshi/project/xyt/model/StGateB.java | 3 + .../gunshi/project/xyt/model/StGateBFile.java | 2 + .../gunshi/project/xyt/model/StMoncrB.java | 2 + .../com/gunshi/project/xyt/model/StResB.java | 4 + .../project/xyt/model/StResFileRef.java | 2 + .../project/xyt/model/StResPersonRef.java | 2 + .../project/xyt/model/StResStcdRef.java | 2 + .../com/gunshi/project/xyt/model/StRvB.java | 2 + .../gunshi/project/xyt/model/StSpgPztb.java | 5 + .../gunshi/project/xyt/model/StSpgSpprmp.java | 5 + .../gunshi/project/xyt/model/StStbprpB.java | 2 + .../gunshi/project/xyt/model/StZvarlB.java | 3 + .../gunshi/project/xyt/model/SysDictB.java | 3 + .../project/xyt/service/StAdcdService.java | 116 ++++++++++++++++++ .../project/xyt/service/SysDictService.java | 2 - src/main/resources/mapper/StAddvcdDMapper.xml | 20 ++- .../xyt/service/StAdcdServiceTest.java | 42 +++++++ 29 files changed, 315 insertions(+), 17 deletions(-) create mode 100644 src/main/java/com/gunshi/project/xyt/entity/basedata/AddvcdSearch.java create mode 100644 src/main/java/com/gunshi/project/xyt/entity/basedata/StAddvcdTreeVo.java create mode 100644 src/main/java/com/gunshi/project/xyt/service/StAdcdService.java create mode 100644 src/test/java/com/gunshi/project/xyt/service/StAdcdServiceTest.java diff --git a/src/main/java/com/gunshi/project/xyt/entity/basedata/AddvcdSearch.java b/src/main/java/com/gunshi/project/xyt/entity/basedata/AddvcdSearch.java new file mode 100644 index 0000000..00a898a --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/entity/basedata/AddvcdSearch.java @@ -0,0 +1,25 @@ +package com.gunshi.project.xyt.entity.basedata; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author Sun Lejun + * @version 1.0 + * @date 2024/1/25 + */ + +@Data +@Schema(description = "行政区划查询对象") +public class AddvcdSearch implements Serializable { + @Schema(description="关键词:名称/编码") + private String keyword; + + @Schema(description="页码") + private int page=1; + + @Schema(description="每页条数") + private int pageSize=999; +} diff --git a/src/main/java/com/gunshi/project/xyt/entity/basedata/StAddvcdTreeVo.java b/src/main/java/com/gunshi/project/xyt/entity/basedata/StAddvcdTreeVo.java new file mode 100644 index 0000000..0478233 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/entity/basedata/StAddvcdTreeVo.java @@ -0,0 +1,25 @@ +package com.gunshi.project.xyt.entity.basedata; + +import com.google.common.collect.Lists; +import com.gunshi.project.xyt.model.StAddvcdD; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.util.List; + +/** + * @author Sun Lejun + * @version 1.0 + * @date 2024/1/25 + */ + +@EqualsAndHashCode(callSuper = true) +@Data +@ToString(callSuper = true) +@Schema(description = "行政区划树信息") +public class StAddvcdTreeVo extends StAddvcdD { + private String parentCode; + private List children = Lists.newArrayList(); +} diff --git a/src/main/java/com/gunshi/project/xyt/entity/basedata/StCameraAreaTreeVo.java b/src/main/java/com/gunshi/project/xyt/entity/basedata/StCameraAreaTreeVo.java index d48715a..a374aa8 100644 --- a/src/main/java/com/gunshi/project/xyt/entity/basedata/StCameraAreaTreeVo.java +++ b/src/main/java/com/gunshi/project/xyt/entity/basedata/StCameraAreaTreeVo.java @@ -19,6 +19,7 @@ import java.util.List; @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) +@Schema(description="视频点树信息") public class StCameraAreaTreeVo extends StCameraAreaB implements Serializable { @Schema(description="子对象") private List children = Lists.newArrayList(); diff --git a/src/main/java/com/gunshi/project/xyt/entity/basedata/StCameraAreaVo.java b/src/main/java/com/gunshi/project/xyt/entity/basedata/StCameraAreaVo.java index 1949196..bf263b0 100644 --- a/src/main/java/com/gunshi/project/xyt/entity/basedata/StCameraAreaVo.java +++ b/src/main/java/com/gunshi/project/xyt/entity/basedata/StCameraAreaVo.java @@ -17,6 +17,7 @@ import java.io.Serializable; @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Data +@Schema(description="视频点树信息") public class StCameraAreaVo extends StCameraAreaB implements Serializable { @Schema(description="上级区域名称") private String pidName; diff --git a/src/main/java/com/gunshi/project/xyt/entity/basedata/SysDictSearch.java b/src/main/java/com/gunshi/project/xyt/entity/basedata/SysDictSearch.java index dd182f1..edd6b27 100644 --- a/src/main/java/com/gunshi/project/xyt/entity/basedata/SysDictSearch.java +++ b/src/main/java/com/gunshi/project/xyt/entity/basedata/SysDictSearch.java @@ -10,6 +10,7 @@ import lombok.Data; */ @Data +@Schema(description="字典查询对象") public class SysDictSearch { @Schema(description="关键词:名称,编码") private String keyword; diff --git a/src/main/java/com/gunshi/project/xyt/entity/basedata/SysDictVo.java b/src/main/java/com/gunshi/project/xyt/entity/basedata/SysDictVo.java index 8ebd39a..2e191ca 100644 --- a/src/main/java/com/gunshi/project/xyt/entity/basedata/SysDictVo.java +++ b/src/main/java/com/gunshi/project/xyt/entity/basedata/SysDictVo.java @@ -19,6 +19,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) @Data @ToString(callSuper = true) +@Schema(description="系统字典表") public class SysDictVo extends SysDictB implements Serializable { @Schema(description="子类") private List children = Lists.newArrayList(); diff --git a/src/main/java/com/gunshi/project/xyt/mapper/StAddvcdDMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/StAddvcdDMapper.java index 8738b47..026e197 100644 --- a/src/main/java/com/gunshi/project/xyt/mapper/StAddvcdDMapper.java +++ b/src/main/java/com/gunshi/project/xyt/mapper/StAddvcdDMapper.java @@ -1,12 +1,18 @@ package com.gunshi.project.xyt.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.db.dao.IMapper; +import com.gunshi.project.xyt.entity.basedata.StAddvcdTreeVo; import com.gunshi.project.xyt.model.StAddvcdD; + import java.util.List; + import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @Mapper -public interface StAddvcdDMapper extends BaseMapper { +public interface StAddvcdDMapper extends IMapper { int batchInsert(@Param("list") List list); + + List queryTree(@Param("addvcd") String addvcd); } \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/StAddvcdD.java b/src/main/java/com/gunshi/project/xyt/model/StAddvcdD.java index b032f48..d75f607 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StAddvcdD.java +++ b/src/main/java/com/gunshi/project/xyt/model/StAddvcdD.java @@ -4,62 +4,77 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; - -import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; + +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; import lombok.Data; /** * 行政区划表 */ -@Schema(description="行政区划表") +@Schema(description = "行政区划表") @Data @TableName(value = "dbo.ST_ADDVCD_D") -public class StAddvcdD implements Serializable { +public class StAddvcdD { /** * 行政区划编码 15位到村组 */ @TableId(value = "ADDVCD", type = IdType.INPUT) - @Schema(description="行政区划编码 15位到村组") + @Schema(description = "行政区划编码 15位到村组") + @Size(max = 15, min = 15) + @NotBlank private String addvcd; /** * 行政区划名称 */ @TableField(value = "ADDVNM") - @Schema(description="行政区划名称") + @Schema(description = "行政区划名称") + @Size(max = 100) + @NotBlank private String addvnm; /** * 经度 */ @TableField(value = "LGTD") - @Schema(description="经度") + @Schema(description = "经度", requiredMode = Schema.RequiredMode.NOT_REQUIRED) private BigDecimal lgtd; /** * 纬度 */ @TableField(value = "LTTD") - @Schema(description="纬度") + @Schema(description = "纬度", requiredMode = Schema.RequiredMode.NOT_REQUIRED) private BigDecimal lttd; /** * 新建时间 */ @TableField(value = "CREATE_TM") - @Schema(description="新建时间") + @Schema(description = "新建时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date createTm; /** * 修改时间 */ @TableField(value = "TM") - @Schema(description="修改时间") + @Schema(description = "修改时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date tm; + /** + * 排序字段 + */ + @TableField(value = "SORT_ON") + @Schema(description = "排序字段", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private Integer sortOn; + public static final String COL_ADDVCD = "ADDVCD"; public static final String COL_ADDVNM = "ADDVNM"; @@ -71,4 +86,6 @@ public class StAddvcdD implements Serializable { public static final String COL_CREATE_TM = "CREATE_TM"; public static final String COL_TM = "TM"; + + public static final String COL_SORT_ON = "SORT_ON"; } \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/StCameraAreaB.java b/src/main/java/com/gunshi/project/xyt/model/StCameraAreaB.java index c0f4883..91bbf19 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StCameraAreaB.java +++ b/src/main/java/com/gunshi/project/xyt/model/StCameraAreaB.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.v3.oas.annotations.media.Schema; @@ -69,6 +70,7 @@ public class StCameraAreaB implements Serializable { */ @TableField(value = "CREATE_TM") @Schema(description=" 新增时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date createTm; /** @@ -76,6 +78,7 @@ public class StCameraAreaB implements Serializable { */ @TableField(value = "TM") @Schema(description="修改时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date tm; public static final String COL_CAM_AR_ID = "CAM_AR_ID"; diff --git a/src/main/java/com/gunshi/project/xyt/model/StCameraB.java b/src/main/java/com/gunshi/project/xyt/model/StCameraB.java index 615e11b..0e730cd 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StCameraB.java +++ b/src/main/java/com/gunshi/project/xyt/model/StCameraB.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.v3.oas.annotations.media.Schema; @@ -113,6 +114,7 @@ public class StCameraB implements Serializable { */ @TableField(value = "CREATE_TM") @Schema(description="新建时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date createTm; /** @@ -120,6 +122,7 @@ public class StCameraB implements Serializable { */ @TableField(value = "TM") @Schema(description="修改时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date tm; /** diff --git a/src/main/java/com/gunshi/project/xyt/model/StDamB.java b/src/main/java/com/gunshi/project/xyt/model/StDamB.java index c29e2e7..5433af5 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StDamB.java +++ b/src/main/java/com/gunshi/project/xyt/model/StDamB.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.v3.oas.annotations.media.Schema; @@ -147,6 +148,7 @@ public class StDamB implements Serializable { */ @TableField(value = "START_DATE") @Schema(description="开工时间") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date startDate; /** @@ -154,6 +156,7 @@ public class StDamB implements Serializable { */ @TableField(value = "COMP_DATE") @Schema(description="建成时间") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date compDate; /** @@ -204,6 +207,7 @@ public class StDamB implements Serializable { */ @TableField(value = "TM") @Schema(description="修改时间") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date tm; /** @@ -211,6 +215,7 @@ public class StDamB implements Serializable { */ @TableField(value = "LOW_GATE_TIME") @Schema(description="下闸蓄水时间") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date lowGateTime; public static final String COL_DAM_ID = "DAM_ID"; diff --git a/src/main/java/com/gunshi/project/xyt/model/StEqptB.java b/src/main/java/com/gunshi/project/xyt/model/StEqptB.java index 3f28345..c1fcfd5 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StEqptB.java +++ b/src/main/java/com/gunshi/project/xyt/model/StEqptB.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.v3.oas.annotations.media.Schema; @@ -132,6 +133,7 @@ public class StEqptB implements Serializable { */ @TableField(value = "COMP_DATE") @Schema(description="建成时间") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date compDate; /** @@ -139,6 +141,7 @@ public class StEqptB implements Serializable { */ @TableField(value = "UPDSER_DATE") @Schema(description="更新或维修时间") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date updserDate; /** @@ -188,6 +191,7 @@ public class StEqptB implements Serializable { */ @TableField(value = "COLL_DATE") @Schema(description="属性采集时间") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date collDate; /** @@ -195,6 +199,7 @@ public class StEqptB implements Serializable { */ @TableField(value = "UPD_DATE") @Schema(description="属性更新时间") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date updDate; /** diff --git a/src/main/java/com/gunshi/project/xyt/model/StGateB.java b/src/main/java/com/gunshi/project/xyt/model/StGateB.java index 08627b7..88b0fd3 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StGateB.java +++ b/src/main/java/com/gunshi/project/xyt/model/StGateB.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.v3.oas.annotations.media.Schema; @@ -97,6 +98,7 @@ public class StGateB implements Serializable { */ @TableField(value = "GATE_TM") @Schema(description="建成日期") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date gateTm; /** @@ -118,6 +120,7 @@ public class StGateB implements Serializable { */ @TableField(value = "TM") @Schema(description="修改时间") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date tm; public static final String COL_GATE_ID = "GATE_ID"; diff --git a/src/main/java/com/gunshi/project/xyt/model/StGateBFile.java b/src/main/java/com/gunshi/project/xyt/model/StGateBFile.java index 6393ee7..e8722a8 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StGateBFile.java +++ b/src/main/java/com/gunshi/project/xyt/model/StGateBFile.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.v3.oas.annotations.media.Schema; @@ -40,6 +41,7 @@ public class StGateBFile implements Serializable { */ @TableField(value = "TM") @Schema(description="时间戳") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date tm; /** diff --git a/src/main/java/com/gunshi/project/xyt/model/StMoncrB.java b/src/main/java/com/gunshi/project/xyt/model/StMoncrB.java index 85cd114..ac86bec 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StMoncrB.java +++ b/src/main/java/com/gunshi/project/xyt/model/StMoncrB.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.v3.oas.annotations.media.Schema; @@ -68,6 +69,7 @@ public class StMoncrB implements Serializable { */ @TableField(value = "TM") @Schema(description="时间戳") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date tm; public static final String COL_CR_ID = "CR_ID"; diff --git a/src/main/java/com/gunshi/project/xyt/model/StResB.java b/src/main/java/com/gunshi/project/xyt/model/StResB.java index 3eca03e..82929f2 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StResB.java +++ b/src/main/java/com/gunshi/project/xyt/model/StResB.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.v3.oas.annotations.media.Schema; @@ -201,6 +202,7 @@ public class StResB implements Serializable { */ @TableField(value = "START_DATE") @Schema(description="开工日期") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date startDate; /** @@ -208,6 +210,7 @@ public class StResB implements Serializable { */ @TableField(value = "COMP_DATE") @Schema(description="竣工日期") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date compDate; /** @@ -442,6 +445,7 @@ public class StResB implements Serializable { */ @TableField(value = "TM") @Schema(description="修改时间") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date tm; /** diff --git a/src/main/java/com/gunshi/project/xyt/model/StResFileRef.java b/src/main/java/com/gunshi/project/xyt/model/StResFileRef.java index ca9da37..44d37a7 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StResFileRef.java +++ b/src/main/java/com/gunshi/project/xyt/model/StResFileRef.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.v3.oas.annotations.media.Schema; @@ -62,6 +63,7 @@ public class StResFileRef implements Serializable { */ @TableField(value = "TM") @Schema(description="时间戳") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date tm; public static final String COL_ID = "ID"; diff --git a/src/main/java/com/gunshi/project/xyt/model/StResPersonRef.java b/src/main/java/com/gunshi/project/xyt/model/StResPersonRef.java index 2f68390..b028965 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StResPersonRef.java +++ b/src/main/java/com/gunshi/project/xyt/model/StResPersonRef.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.v3.oas.annotations.media.Schema; @@ -82,6 +83,7 @@ public class StResPersonRef implements Serializable { */ @TableField(value = "TM") @Schema(description="时间戳") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date tm; public static final String COL_ID = "ID"; diff --git a/src/main/java/com/gunshi/project/xyt/model/StResStcdRef.java b/src/main/java/com/gunshi/project/xyt/model/StResStcdRef.java index fe5301f..5ebbd6e 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StResStcdRef.java +++ b/src/main/java/com/gunshi/project/xyt/model/StResStcdRef.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.v3.oas.annotations.media.Schema; @@ -39,6 +40,7 @@ public class StResStcdRef implements Serializable { */ @TableField(value = "TM") @Schema(description="时间戳") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date tm; public static final String COL_RES_ID = "RES_ID"; diff --git a/src/main/java/com/gunshi/project/xyt/model/StRvB.java b/src/main/java/com/gunshi/project/xyt/model/StRvB.java index b586d21..3010e61 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StRvB.java +++ b/src/main/java/com/gunshi/project/xyt/model/StRvB.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.v3.oas.annotations.media.Schema; @@ -197,6 +198,7 @@ public class StRvB implements Serializable { */ @TableField(value = "TM") @Schema(description="时间戳") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date tm; public static final String COL_RV_ID = "RV_ID"; diff --git a/src/main/java/com/gunshi/project/xyt/model/StSpgPztb.java b/src/main/java/com/gunshi/project/xyt/model/StSpgPztb.java index a658248..590f604 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StSpgPztb.java +++ b/src/main/java/com/gunshi/project/xyt/model/StSpgPztb.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.v3.oas.annotations.media.Schema; @@ -89,6 +90,7 @@ public class StSpgPztb implements Serializable { */ @TableField(value = "LATEST_REPORTING_TIME") @Schema(description="最后数据同步时间") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date latestReportingTime; /** @@ -278,6 +280,7 @@ public class StSpgPztb implements Serializable { */ @TableField(value = "EMBEDDING_DATE") @Schema(description="埋设日期") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date embeddingDate; /** @@ -356,6 +359,7 @@ public class StSpgPztb implements Serializable { */ @TableField(value = "MODIFICATION_TIME") @Schema(description="修改时间") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date modificationTime; /** @@ -363,6 +367,7 @@ public class StSpgPztb implements Serializable { */ @TableField(value = "CREATION_TIME") @Schema(description="创建时间 日期") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date creationTime; /** diff --git a/src/main/java/com/gunshi/project/xyt/model/StSpgSpprmp.java b/src/main/java/com/gunshi/project/xyt/model/StSpgSpprmp.java index 975b7c9..c66be99 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StSpgSpprmp.java +++ b/src/main/java/com/gunshi/project/xyt/model/StSpgSpprmp.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.v3.oas.annotations.media.Schema; @@ -223,6 +224,7 @@ public class StSpgSpprmp implements Serializable { */ @TableField(value = "INSTALL_DATE") @Schema(description="安装日期 日期") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date installDate; /** @@ -237,6 +239,7 @@ public class StSpgSpprmp implements Serializable { */ @TableField(value = "MODIFICATION_TIME") @Schema(description="修改时间") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date modificationTime; /** @@ -244,6 +247,7 @@ public class StSpgSpprmp implements Serializable { */ @TableField(value = "LATEST_REPORTING_TIME") @Schema(description="最后上报时间") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date latestReportingTime; /** @@ -258,6 +262,7 @@ public class StSpgSpprmp implements Serializable { */ @TableField(value = "CREATE_TIME") @Schema(description="创建时间") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date createTime; /** diff --git a/src/main/java/com/gunshi/project/xyt/model/StStbprpB.java b/src/main/java/com/gunshi/project/xyt/model/StStbprpB.java index 1e3b02d..47ead49 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StStbprpB.java +++ b/src/main/java/com/gunshi/project/xyt/model/StStbprpB.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.v3.oas.annotations.media.Schema; @@ -207,6 +208,7 @@ public class StStbprpB implements Serializable { */ @TableField(value = "MODITIME") @Schema(description="时间戳") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date moditime; /** diff --git a/src/main/java/com/gunshi/project/xyt/model/StZvarlB.java b/src/main/java/com/gunshi/project/xyt/model/StZvarlB.java index 9004a62..7620421 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StZvarlB.java +++ b/src/main/java/com/gunshi/project/xyt/model/StZvarlB.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.v3.oas.annotations.media.Schema; @@ -47,6 +48,7 @@ public class StZvarlB implements Serializable { */ @TableField(value = "MSTM") @Schema(description="施测时间") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date mstm; /** @@ -75,6 +77,7 @@ public class StZvarlB implements Serializable { */ @TableField(value = "MODITIME") @Schema(description="时间戳") + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date moditime; public static final String COL_RES_ID = "RES_ID"; diff --git a/src/main/java/com/gunshi/project/xyt/model/SysDictB.java b/src/main/java/com/gunshi/project/xyt/model/SysDictB.java index f932942..06a1f02 100644 --- a/src/main/java/com/gunshi/project/xyt/model/SysDictB.java +++ b/src/main/java/com/gunshi/project/xyt/model/SysDictB.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.v3.oas.annotations.media.Schema; @@ -71,6 +72,7 @@ public class SysDictB implements Serializable { */ @TableField(value = "CREATE_TM") @Schema(description="创建时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date createTm; /** @@ -78,6 +80,7 @@ public class SysDictB implements Serializable { */ @TableField(value = "TM") @Schema(description="修改时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date tm; /** diff --git a/src/main/java/com/gunshi/project/xyt/service/StAdcdService.java b/src/main/java/com/gunshi/project/xyt/service/StAdcdService.java new file mode 100644 index 0000000..5c0f5b6 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/service/StAdcdService.java @@ -0,0 +1,116 @@ +package com.gunshi.project.xyt.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.google.common.collect.Lists; +import com.gunshi.db.dao.BaseOrderDao; +import com.gunshi.project.xyt.entity.basedata.AddvcdSearch; +import com.gunshi.project.xyt.entity.basedata.StAddvcdTreeVo; +import com.gunshi.project.xyt.mapper.StAddvcdDMapper; +import com.gunshi.project.xyt.model.StAddvcdD; +import com.gunshi.util.common.tree.TreeUtil; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +/** + * @author Sun Lejun + * @version 1.0 + * @date 2024/1/25 + */ + +@Service +public class StAdcdService extends BaseOrderDao { + //省行政区划 13位0 + private static final String ADDVCD_SH = "0000000000000"; + //市行政区划 11位0 + private static final String ADDVCD_SI = "00000000000"; + //区行政区划 9位0 + private static final String ADDVCD_QU = "000000000"; + //乡行政区划 6位0 + private static final String ADDVCD_XI = "000000"; + //镇行政区划 3位0 + private static final String ADDVCD_ZN = "000"; + + /** + * 根据编码查询区划 + * @param addcd 区划编码 + * @return 区划 + */ + public StAddvcdD queryByAddcd(String addcd) { + return this.getBaseMapper().selectById(addcd); + } + + public Page queryBySearch(AddvcdSearch addvcdSearch) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(StAddvcdD.COL_ADDVCD, addvcdSearch.getKeyword()); + queryWrapper.or(); + queryWrapper.like(StAddvcdD.COL_ADDVNM, addvcdSearch.getKeyword()); + queryWrapper.orderByAsc(StAddvcdD.COL_SORT_ON); + return super.page(new Page<>(addvcdSearch.getPage(), addvcdSearch.getPageSize()), queryWrapper); + } + + /** + * 查询行政区划下级(包含本级)树 + * @param addvcd 只匹配前面的位数 比如42就查询42开始的 + * @return 行政区划下级(包含本级)树 + */ + public List queryTree(String addvcd){ + List stAddvcdTreeVos = this.getBaseMapper().queryTree(addvcd); + if(CollectionUtils.isEmpty(stAddvcdTreeVos)){ + return Lists.newArrayList(); + } + stAddvcdTreeVos.forEach(t -> t.setParentCode(getParentAddvcd(t.getAddvcd()))); + String parentKey; + if(StringUtils.isBlank(addvcd)){ + parentKey = "/"; + } + if (addvcd.length() > 15) { + parentKey = addvcd.substring(0, 15); + } else { + parentKey = String.format("%1$-15s", addvcd).replace(' ', '0'); + } + + return TreeUtil.list2ListTree( + stAddvcdTreeVos, parentKey, + StAddvcdTreeVo::getAddvcd, StAddvcdTreeVo::getParentCode, StAddvcdTreeVo::setChildren, null); + } + + /** + * 重新排序 + * @param stAddvcdD 区划信息 + */ + private void resort(StAddvcdD stAddvcdD){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + super.updateOrder(queryWrapper, StAddvcdD::getSortOn, StAddvcdD::setSortOn, stAddvcdD, StAddvcdD::getAddvcd, t -> t.setTm(new Date())); + } + + public String getParentAddvcd(String addvcd){ + //省 + if(addvcd.endsWith(ADDVCD_SH)){ + return "/"; + } + //市 + if(addvcd.endsWith(ADDVCD_SI)){ + return addvcd.substring(0,2)+ADDVCD_SH; + } + //区 + if(addvcd.endsWith(ADDVCD_QU)){ + return addvcd.substring(0,4)+ADDVCD_SI; + } + //乡 + if(addvcd.endsWith(ADDVCD_XI)){ + return addvcd.substring(0,6)+ADDVCD_QU; + } + //镇 + if(addvcd.endsWith(ADDVCD_ZN)){ + return addvcd.substring(0,9)+ADDVCD_XI; + } + return addvcd.substring(0,12)+ADDVCD_ZN; + } + + +} diff --git a/src/main/java/com/gunshi/project/xyt/service/SysDictService.java b/src/main/java/com/gunshi/project/xyt/service/SysDictService.java index f0b7763..2b74f02 100644 --- a/src/main/java/com/gunshi/project/xyt/service/SysDictService.java +++ b/src/main/java/com/gunshi/project/xyt/service/SysDictService.java @@ -1,8 +1,6 @@ package com.gunshi.project.xyt.service; -import com.baomidou.dynamic.datasource.annotation.DSTransactional; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.OrderItem; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gunshi.db.dao.BaseOrderDao; diff --git a/src/main/resources/mapper/StAddvcdDMapper.xml b/src/main/resources/mapper/StAddvcdDMapper.xml index 9ebb1ba..564b415 100644 --- a/src/main/resources/mapper/StAddvcdDMapper.xml +++ b/src/main/resources/mapper/StAddvcdDMapper.xml @@ -10,20 +10,32 @@ + - ADDVCD, ADDVNM, LGTD, LTTD, CREATE_TM, TM + ADDVCD, ADDVNM, LGTD, LTTD, CREATE_TM, TM, SORT_ON insert into dbo.ST_ADDVCD_D - (ADDVCD, ADDVNM, LGTD, LTTD, CREATE_TM, TM) + (ADDVCD, ADDVNM, LGTD, LTTD, CREATE_TM, TM, SORT_ON) values (#{item.addvcd,jdbcType=VARCHAR}, #{item.addvnm,jdbcType=VARCHAR}, #{item.lgtd,jdbcType=DECIMAL}, - #{item.lttd,jdbcType=DECIMAL}, #{item.createTm,jdbcType=TIMESTAMP}, #{item.tm,jdbcType=TIMESTAMP} - ) + #{item.lttd,jdbcType=DECIMAL}, #{item.createTm,jdbcType=TIMESTAMP}, #{item.tm,jdbcType=TIMESTAMP}, + #{item.sortOn,jdbcType=INTEGER}) + + \ No newline at end of file diff --git a/src/test/java/com/gunshi/project/xyt/service/StAdcdServiceTest.java b/src/test/java/com/gunshi/project/xyt/service/StAdcdServiceTest.java new file mode 100644 index 0000000..ee9c9f5 --- /dev/null +++ b/src/test/java/com/gunshi/project/xyt/service/StAdcdServiceTest.java @@ -0,0 +1,42 @@ +package com.gunshi.project.xyt.service; + +import com.gunshi.project.xyt.Main; +import com.gunshi.project.xyt.entity.basedata.AddvcdSearch; +import lombok.extern.slf4j.Slf4j; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ContextConfiguration; +import ru.olegcherednik.jackson_utils.JacksonUtils; + +import static org.junit.jupiter.api.Assertions.*; + +@SpringBootTest +@ContextConfiguration(classes = Main.class) +@Slf4j +class StAdcdServiceTest { + @Autowired + private StAdcdService stAdcdService; + + @Test + void queryBySearch() { + AddvcdSearch addvcdSearch = new AddvcdSearch(); + addvcdSearch.setKeyword("麻城"); + log.info("{}", JacksonUtils.writeValue(stAdcdService.queryBySearch(addvcdSearch))); + } + + @Test + void test(){ + System.out.println(stAdcdService.getParentAddvcd("420000000000000")); + System.out.println(stAdcdService.getParentAddvcd("421100000000000")); + System.out.println(stAdcdService.getParentAddvcd("421212000000000")); + System.out.println(stAdcdService.getParentAddvcd("421312101000000")); + System.out.println(stAdcdService.getParentAddvcd("421413102101000")); + System.out.println(stAdcdService.getParentAddvcd("421514112201123")); + } + + @Test + void queryTree() { + log.info("{}", JacksonUtils.writeValue(stAdcdService.queryTree("421181"))); + } +} \ No newline at end of file