diff --git a/fastbee-admin/pom.xml b/fastbee-admin/pom.xml index fc8332f..a73d294 100644 --- a/fastbee-admin/pom.xml +++ b/fastbee-admin/pom.xml @@ -16,6 +16,12 @@ + + + org.springframework.boot + spring-boot-starter-test + test + diff --git a/fastbee-admin/src/main/resources/application.yml b/fastbee-admin/src/main/resources/application.yml index b4e96a3..9b96806 100644 --- a/fastbee-admin/src/main/resources/application.yml +++ b/fastbee-admin/src/main/resources/application.yml @@ -115,12 +115,16 @@ token: mybatis-plus: typeAliasesPackage: com.fastbee.**.domain # 搜索指定包别名 mapperLocations: classpath*:mapper/**/*Mapper.xml # 配置mapper的扫描,找到所有的mapper.xml映射文件 - configLocation: classpath:mybatis/mybatis-config.xml # 加载全局的配置文件 + configLocation: classpath:mybatis/mybatis-config.xml + # 加载全局的配置文件 global-config: db-config: id-type: ASSIGN_ID - logic-delete-value: 1 # 逻辑已删除值(默认为 1) + logic-delete-field: del_flag + logic-delete-value: 2 # 逻辑已删除值(默认为 1) logic-not-delete-value: 0 # 逻辑未删除值(默认为 0) + configuration: + log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl # PageHelper分页插件 pagehelper: diff --git a/fastbee-admin/src/main/resources/mybatis/mybatis-config.xml b/fastbee-admin/src/main/resources/mybatis/mybatis-config.xml index a46293b..79ff69f 100644 --- a/fastbee-admin/src/main/resources/mybatis/mybatis-config.xml +++ b/fastbee-admin/src/main/resources/mybatis/mybatis-config.xml @@ -12,7 +12,8 @@ - + + diff --git a/fastbee-common/src/main/java/com/fastbee/common/utils/file/MimeTypeUtils.java b/fastbee-common/src/main/java/com/fastbee/common/utils/file/MimeTypeUtils.java index bfbad86..c97cdb9 100644 --- a/fastbee-common/src/main/java/com/fastbee/common/utils/file/MimeTypeUtils.java +++ b/fastbee-common/src/main/java/com/fastbee/common/utils/file/MimeTypeUtils.java @@ -36,7 +36,10 @@ public class MimeTypeUtils // 视频格式 "mp4", "avi", "rmvb", // pdf - "pdf" }; + "pdf" , + //json + "json" + }; public static String getExtension(String prefix) { diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/gis/GLegendController.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/gis/GLegendController.java index 50e1063..0253897 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/data/controller/gis/GLegendController.java +++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/gis/GLegendController.java @@ -3,6 +3,7 @@ package com.fastbee.data.controller.gis; import java.util.List; import javax.servlet.http.HttpServletResponse; +import com.fastbee.ggroup.domain.GSites; import com.fastbee.ggroup.domain.dto.GLegendDto; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -108,4 +109,19 @@ public class GLegendController extends BaseController { return toAjax(gLegendService.deleteGLegendByIds(ids)); } + + /** + * 获取图例按照类别划分列表 + */ + @PreAuthorize("@ss.hasPermi('ggroup:legend:list')") + @GetMapping("/category-list") + @ApiOperation("获取图例按照类别划分列表") + public AjaxResult listByCategory(GLegend gLegend){ + return success(gLegendService.getLegendListByCategory()); + } + + + + + } diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/gis/GLegendTypeController.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/gis/GLegendTypeController.java index be49cee..897fbe2 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/data/controller/gis/GLegendTypeController.java +++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/gis/GLegendTypeController.java @@ -1,8 +1,13 @@ package com.fastbee.data.controller.gis; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import javax.servlet.http.HttpServletResponse; +import com.fastbee.ggroup.enums.GroupTagEnum; +import com.fastbee.ggroup.enums.SiteTypeCategoryEnum; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.security.access.prepost.PreAuthorize; @@ -51,60 +56,35 @@ public class GLegendTypeController extends BaseController return getDataTable(list); } - /** - * 导出图例类型列表 - */ - @ApiOperation("导出图例类型列表") - @PreAuthorize("@ss.hasPermi('ggroup:type:export')") - @PostMapping("/export") - public void export(HttpServletResponse response, GLegendType gLegendType) - { - List list = gLegendTypeService.selectGLegendTypeList(gLegendType); - ExcelUtil util = new ExcelUtil(GLegendType.class); - util.exportExcel(response, list, "图例类型数据"); - } - /** * 获取图例类型详细信息 */ - @PreAuthorize("@ss.hasPermi('ggroup:type:query')") + @PreAuthorize("@ss.hasPermi('ggroup:type:info')") @GetMapping(value = "/{id}") @ApiOperation("获取图例类型详细信息") public AjaxResult getInfo(@PathVariable("id") Long id) { return success(gLegendTypeService.selectGLegendTypeById(id)); } - /** - * 新增图例类型 + *获取图例的类别列表 */ - @PreAuthorize("@ss.hasPermi('ggroup:type:add')") - @PostMapping - @ApiOperation("新增图例类型") - public AjaxResult add(@RequestBody GLegendType gLegendType) + @PreAuthorize("@ss.hasPermi('ggroup:type:category')") + @GetMapping(value = "/category/list") + @ApiOperation("获取图例的类别列表") + public AjaxResult typeList() { - return toAjax(gLegendTypeService.insertGLegendType(gLegendType)); + List> labelList = new ArrayList<>(); + for (SiteTypeCategoryEnum categoryEnum : SiteTypeCategoryEnum.values()) { + Map map = new HashMap<>(); + map.put("name", categoryEnum.getName()); + labelList.add(map); + } + return AjaxResult.success(labelList); } - /** - * 修改图例类型 - */ - @PreAuthorize("@ss.hasPermi('ggroup:type:edit')") - @PutMapping - @ApiOperation("修改图例类型") - public AjaxResult edit(@RequestBody GLegendType gLegendType) - { - return toAjax(gLegendTypeService.updateGLegendType(gLegendType)); - } - /** - * 删除图例类型 - */ - @PreAuthorize("@ss.hasPermi('ggroup:type:remove')") - @DeleteMapping("/{ids}") - @ApiOperation("删除图例类型") - public AjaxResult remove(@PathVariable Long[] ids) - { - return toAjax(gLegendTypeService.deleteGLegendTypeByIds(ids)); - } + + + } diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/gis/GSiteInfoController.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/gis/GSiteInfoController.java new file mode 100644 index 0000000..3875993 --- /dev/null +++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/gis/GSiteInfoController.java @@ -0,0 +1,110 @@ +package com.fastbee.data.controller.gis; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.fastbee.common.annotation.Log; +import com.fastbee.common.core.controller.BaseController; +import com.fastbee.common.core.domain.AjaxResult; +import com.fastbee.common.enums.BusinessType; +import com.fastbee.ggroup.domain.GSiteInfo; +import com.fastbee.ggroup.service.IGSiteInfoService; +import com.fastbee.common.utils.poi.ExcelUtil; +import com.fastbee.common.core.page.TableDataInfo; + +/** + * 站点基础信息Controller + * + * @author kerwincui + * @date 2024-10-10 + */ +@RestController +@RequestMapping("/gis/site/info") +@Api(tags = "站点基础信息") +public class GSiteInfoController extends BaseController +{ + @Autowired + private IGSiteInfoService gSiteInfoService; + +/** + * 查询站点基础信息列表 + */ +@PreAuthorize("@ss.hasPermi('ggroup:info:list')") +@GetMapping("/list") +@ApiOperation("查询站点基础信息列表") + public TableDataInfo list(GSiteInfo gSiteInfo) + { + startPage(); + List list = gSiteInfoService.selectGSiteInfoList(gSiteInfo); + return getDataTable(list); + } + + /** + * 导出站点基础信息列表 + */ + @ApiOperation("导出站点基础信息列表") + @PreAuthorize("@ss.hasPermi('ggroup:info:export')") + @PostMapping("/export") + public void export(HttpServletResponse response, GSiteInfo gSiteInfo) + { + List list = gSiteInfoService.selectGSiteInfoList(gSiteInfo); + ExcelUtil util = new ExcelUtil(GSiteInfo.class); + util.exportExcel(response, list, "站点基础信息数据"); + } + + /** + * 获取站点基础信息详细信息 + */ + @PreAuthorize("@ss.hasPermi('ggroup:info:query')") + @GetMapping(value = "/{id}") + @ApiOperation("获取站点基础信息详细信息") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(gSiteInfoService.selectGSiteInfoById(id)); + } + + /** + * 新增站点基础信息 + */ + @PreAuthorize("@ss.hasPermi('ggroup:info:add')") + @PostMapping + @ApiOperation("新增站点基础信息") + public AjaxResult add(@RequestBody GSiteInfo gSiteInfo) + { + return toAjax(gSiteInfoService.insertGSiteInfo(gSiteInfo)); + } + + /** + * 修改站点基础信息 + */ + @PreAuthorize("@ss.hasPermi('ggroup:info:edit')") + @PutMapping + @ApiOperation("修改站点基础信息") + public AjaxResult edit(@RequestBody GSiteInfo gSiteInfo) + { + return toAjax(gSiteInfoService.updateGSiteInfo(gSiteInfo)); + } + + /** + * 删除站点基础信息 + */ + @PreAuthorize("@ss.hasPermi('ggroup:info:remove')") + @DeleteMapping("/{ids}") + @ApiOperation("删除站点基础信息") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(gSiteInfoService.deleteGSiteInfoByIds(ids)); + } +} diff --git a/fastbee-record/pom.xml b/fastbee-record/pom.xml index d02ecff..7f3bb20 100644 --- a/fastbee-record/pom.xml +++ b/fastbee-record/pom.xml @@ -106,11 +106,7 @@ 1.9.27 - - org.springframework.boot - spring-boot-starter-test - test - + diff --git a/fastbee-service/fastbee-ggroup-service/pom.xml b/fastbee-service/fastbee-ggroup-service/pom.xml index 9152049..9f074c5 100644 --- a/fastbee-service/fastbee-ggroup-service/pom.xml +++ b/fastbee-service/fastbee-ggroup-service/pom.xml @@ -25,5 +25,7 @@ + + \ No newline at end of file diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/GSiteInfo.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/GSiteInfo.java new file mode 100644 index 0000000..11ae0b4 --- /dev/null +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/GSiteInfo.java @@ -0,0 +1,125 @@ +package com.fastbee.ggroup.domain; + +import java.math.BigDecimal; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.fastbee.common.annotation.Excel; +import com.fastbee.common.core.domain.BaseEntity; + +/** + * 站点基础信息对象 g_site_info + * + * @author kerwincui + * @date 2024-10-10 + */ +@ApiModel(value = "GSiteInfo",description = "站点基础信息 g_site_info") +@Data +public class GSiteInfo extends BaseEntity + { +private static final long serialVersionUID = 1L; + + /** 站点ID,主键,自增长 */ + private Long id; + + /** 监测站点 */ + @Excel(name = "监测站点") + @ApiModelProperty("监测站点") + private String monitoringStation; + + /** 站点桩号 */ + @Excel(name = "站点桩号") + @ApiModelProperty("站点桩号") + private String pileNumber; + + /** 项目名称 */ + @Excel(name = "项目名称") + @ApiModelProperty("项目名称") + private String projectName; + + /** 建设年度 */ + @Excel(name = "建设年度") + @ApiModelProperty("建设年度") + private String constructionYear; + + /** 设备品牌 */ + @Excel(name = "设备品牌") + @ApiModelProperty("设备品牌") + private String equipmentBrand; + + /** 设备型号 */ + @Excel(name = "设备型号") + @ApiModelProperty("设备型号") + private String equipmentModel; + + /** 站点位置 */ + @Excel(name = "站点位置") + @ApiModelProperty("站点位置") + private String siteLocation; + + /** 站点坐标 */ + @Excel(name = "站点坐标") + @ApiModelProperty("站点坐标") + private String siteCoordinates; + + /** 经度 */ + @Excel(name = "经度") + @ApiModelProperty("经度") + private BigDecimal longitude; + + /** 纬度 */ + @Excel(name = "纬度") + @ApiModelProperty("纬度") + private BigDecimal latitude; + + /** 保护范围 */ + @Excel(name = "保护范围") + @ApiModelProperty("保护范围") + private String protectionScope; + + /** 保护范围备注 */ + @Excel(name = "保护范围备注") + @ApiModelProperty("保护范围备注") + private String protectionScopeRemarks; + + /** 故障报修 */ + @Excel(name = "故障报修") + @ApiModelProperty("故障报修") + private String faultReport; + + /** 管理人员 */ + @Excel(name = "管理人员") + @ApiModelProperty("管理人员") + private String manager; + + /** 管理者手机 */ + @Excel(name = "管理者手机") + @ApiModelProperty("管理者手机") + private String managerPhone; + + /** 站点实际图片URL */ + @Excel(name = "站点实际图片URL") + @ApiModelProperty("站点实际图片URL") + private String pictures; + + /** 行政区代码 */ + @Excel(name = "行政区代码") + @ApiModelProperty("行政区代码") + private String code; + + /** 备注 */ + @Excel(name = "备注") + @ApiModelProperty("备注") + private String remarks; + + /** 删除标志(0代表存在,2代表删除) */ + private Integer delFlag; + + /** 所属站点id */ + @Excel(name = "所属站点id") + @ApiModelProperty("所属站点id") + private Long siteId; + +} diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/GSites.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/GSites.java index 2c5cf72..686069a 100644 --- a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/GSites.java +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/GSites.java @@ -53,4 +53,5 @@ private static final long serialVersionUID = 1L; @ApiModelProperty("项目id") private Long projectId; + } diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/dto/GGroupSiteRelateDto.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/dto/GGroupSiteRelateDto.java index 24793bd..4c0fb52 100644 --- a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/dto/GGroupSiteRelateDto.java +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/dto/GGroupSiteRelateDto.java @@ -8,4 +8,5 @@ import java.util.List; public class GGroupSiteRelateDto { private List siteIds;//站点id列表 private Long parentId;//父节点id + private Long ProjectId;//项目id } diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/dto/GLegendCateGoryDto.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/dto/GLegendCateGoryDto.java new file mode 100644 index 0000000..8b25cad --- /dev/null +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/dto/GLegendCateGoryDto.java @@ -0,0 +1,20 @@ +package com.fastbee.ggroup.domain.dto; + +import com.fastbee.common.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class GLegendCateGoryDto { + /** 图标 */ + private String icon; + + /** 图标名称 */ + private String name; + + /** 图例类型名称 */ + private String typeName; + + /** 类别 */ + private String category; +} diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/dto/GSitesEditDto.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/dto/GSitesEditDto.java index 3b9105e..8b897df 100644 --- a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/dto/GSitesEditDto.java +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/dto/GSitesEditDto.java @@ -3,6 +3,8 @@ package com.fastbee.ggroup.domain.dto; import lombok.Data; +import java.io.Serializable; + /** * 站点编辑对象 g_sites * @@ -10,8 +12,7 @@ import lombok.Data; * @date 2024-09-29 */ @Data -public class GSitesEditDto - { +public class GSitesEditDto implements Serializable { private static final long serialVersionUID = 1L; private Long id;//站点id diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/enums/GroupTagEnum.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/enums/GroupTagEnum.java index 9bd9097..955d1ce 100644 --- a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/enums/GroupTagEnum.java +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/enums/GroupTagEnum.java @@ -1,5 +1,8 @@ package com.fastbee.ggroup.enums; +import lombok.Getter; + +@Getter public enum GroupTagEnum { RIVERS_LAKES(1, "江河湖泊"), WATER_CONSERVANCY_PROJECTS(2, "水利工程"), @@ -16,14 +19,6 @@ public enum GroupTagEnum { this.description = description; } - public int getCode() { - return code; - } - - public String getDescription() { - return description; - } - public static GroupTagEnum fromCode(int code) { for (GroupTagEnum tag : GroupTagEnum.values()) { if (tag.getCode() == code) { diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/enums/SiteTypeCategoryEnum.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/enums/SiteTypeCategoryEnum.java new file mode 100644 index 0000000..cb8f8b8 --- /dev/null +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/enums/SiteTypeCategoryEnum.java @@ -0,0 +1,35 @@ +package com.fastbee.ggroup.enums; + +import lombok.Getter; + +/** + * @author mi9688 + * @date 2024/10/09 17:00 + */ + +@Getter +public enum SiteTypeCategoryEnum { + //水利设施与管理 + WATER_MANAGEMENT("水利设施与管理"), + //检测站 + DETECTION_STATION("检测站"), + //公共设施 + PUBLIC_FACILITIES("公共设施"), + //报警事件 + ALARM_EVENT("报警事件"), + //其他 + OTHER("其他"); + + + private final String name; + SiteTypeCategoryEnum(String name){this.name = name;} + + public static SiteTypeCategoryEnum getEnum(String name){ + for(SiteTypeCategoryEnum siteTypeCategoryEnum : SiteTypeCategoryEnum.values()){ + if(siteTypeCategoryEnum.getName().equals(name)){ + return siteTypeCategoryEnum; + } + } + return null; + } +} diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/mapper/GSiteInfoMapper.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/mapper/GSiteInfoMapper.java new file mode 100644 index 0000000..5da367e --- /dev/null +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/mapper/GSiteInfoMapper.java @@ -0,0 +1,63 @@ +package com.fastbee.ggroup.mapper; + +import java.util.List; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.fastbee.ggroup.domain.GSiteInfo; + +/** + * 站点基础信息Mapper接口 + * + * @author kerwincui + * @date 2024-10-10 + */ +public interface GSiteInfoMapper extends BaseMapper +{ + /** + * 查询站点基础信息 + * + * @param id 站点基础信息主键 + * @return 站点基础信息 + */ + public GSiteInfo selectGSiteInfoById(Long id); + + /** + * 查询站点基础信息列表 + * + * @param gSiteInfo 站点基础信息 + * @return 站点基础信息集合 + */ + public List selectGSiteInfoList(GSiteInfo gSiteInfo); + + /** + * 新增站点基础信息 + * + * @param gSiteInfo 站点基础信息 + * @return 结果 + */ + public int insertGSiteInfo(GSiteInfo gSiteInfo); + + /** + * 修改站点基础信息 + * + * @param gSiteInfo 站点基础信息 + * @return 结果 + */ + public int updateGSiteInfo(GSiteInfo gSiteInfo); + + /** + * 删除站点基础信息 + * + * @param id 站点基础信息主键 + * @return 结果 + */ + public int deleteGSiteInfoById(Long id); + + /** + * 批量删除站点基础信息 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteGSiteInfoByIds(Long[] ids); +} diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/IGLegendService.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/IGLegendService.java index 729b295..9a5e456 100644 --- a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/IGLegendService.java +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/IGLegendService.java @@ -1,7 +1,10 @@ package com.fastbee.ggroup.service; import java.util.List; +import java.util.Map; + import com.fastbee.ggroup.domain.GLegend; +import com.fastbee.ggroup.domain.dto.GLegendCateGoryDto; import com.fastbee.ggroup.domain.dto.GLegendDto; /** @@ -59,4 +62,11 @@ public interface IGLegendService * @return 结果 */ public int deleteGLegendById(Long id); + + /** + * 获取不同类别图例列表 + */ + public List getLegendListByCategory(); + + } diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/IGLegendTypeService.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/IGLegendTypeService.java index 05a64ef..4f68fb9 100644 --- a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/IGLegendTypeService.java +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/IGLegendTypeService.java @@ -1,6 +1,8 @@ package com.fastbee.ggroup.service; import java.util.List; +import java.util.Map; + import com.fastbee.ggroup.domain.GLegendType; /** @@ -58,4 +60,6 @@ public interface IGLegendTypeService * @return 结果 */ public int deleteGLegendTypeById(Long id); + + } diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/IGSiteInfoService.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/IGSiteInfoService.java new file mode 100644 index 0000000..fbf1f72 --- /dev/null +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/IGSiteInfoService.java @@ -0,0 +1,61 @@ +package com.fastbee.ggroup.service; + +import java.util.List; +import com.fastbee.ggroup.domain.GSiteInfo; + +/** + * 站点基础信息Service接口 + * + * @author kerwincui + * @date 2024-10-10 + */ +public interface IGSiteInfoService +{ + /** + * 查询站点基础信息 + * + * @param id 站点基础信息主键 + * @return 站点基础信息 + */ + public GSiteInfo selectGSiteInfoById(Long id); + + /** + * 查询站点基础信息列表 + * + * @param gSiteInfo 站点基础信息 + * @return 站点基础信息集合 + */ + public List selectGSiteInfoList(GSiteInfo gSiteInfo); + + /** + * 新增站点基础信息 + * + * @param gSiteInfo 站点基础信息 + * @return 结果 + */ + public int insertGSiteInfo(GSiteInfo gSiteInfo); + + /** + * 修改站点基础信息 + * + * @param gSiteInfo 站点基础信息 + * @return 结果 + */ + public int updateGSiteInfo(GSiteInfo gSiteInfo); + + /** + * 批量删除站点基础信息 + * + * @param ids 需要删除的站点基础信息主键集合 + * @return 结果 + */ + public int deleteGSiteInfoByIds(Long[] ids); + + /** + * 删除站点基础信息信息 + * + * @param id 站点基础信息主键 + * @return 结果 + */ + public int deleteGSiteInfoById(Long id); +} diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GGroupsServiceImpl.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GGroupsServiceImpl.java index 85163d8..de516a5 100644 --- a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GGroupsServiceImpl.java +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GGroupsServiceImpl.java @@ -51,7 +51,6 @@ public class GGroupsServiceImpl implements IGGroupsService @Override public List selectGGroupsList(GGroups gGroups) { - List groups = gGroupsMapper.selectGGroupsList(gGroups); return buildTree(groups); } @@ -65,11 +64,9 @@ public class GGroupsServiceImpl implements IGGroupsService private List buildTree(List groups) { Map map = new HashMap<>(); List roots = new ArrayList<>(); - for (GGroups group : groups) { map.put(group.getId(), group); } - for (GGroups group : groups) { Long parentId = group.getParentId(); if (parentId == null || !map.containsKey(parentId)) { @@ -86,9 +83,6 @@ public class GGroupsServiceImpl implements IGGroupsService return roots; } - - - /** * 新增组 * diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GLegendServiceImpl.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GLegendServiceImpl.java index ac087a8..ae80990 100644 --- a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GLegendServiceImpl.java +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GLegendServiceImpl.java @@ -1,11 +1,18 @@ package com.fastbee.ggroup.service.impl; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + import com.fastbee.common.utils.DateUtils; import com.fastbee.ggroup.domain.GLegendType; +import com.fastbee.ggroup.domain.dto.GLegendCateGoryDto; import com.fastbee.ggroup.domain.dto.GLegendDto; -import com.github.yulichang.toolkit.JoinWrappers; import com.github.yulichang.wrapper.MPJLambdaWrapper; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.fastbee.ggroup.mapper.GLegendMapper; @@ -19,6 +26,7 @@ import com.fastbee.ggroup.service.IGLegendService; * @date 2024-10-08 */ @Service +@Slf4j public class GLegendServiceImpl implements IGLegendService { @Autowired @@ -45,14 +53,14 @@ public class GLegendServiceImpl implements IGLegendService @Override public List selectGLegendList(GLegend gLegend) { - MPJLambdaWrapper wrapper = new MPJLambdaWrapper() .select(GLegend::getId,GLegend::getIcon,GLegend::getType,GLegend::getName) .select(GLegendType::getTypeName,GLegendType::getCategory) .leftJoin(GLegendType.class,GLegendType::getId,GLegend::getType); - + if(StringUtils.isNotBlank(gLegend.getSearchValue())){ + wrapper.like(GLegend::getName,gLegend.getSearchValue()); + } return gLegendMapper.selectJoinList(GLegendDto.class,wrapper); -// return gLegendMapper.selectGLegendList(gLegend); } /** @@ -104,4 +112,32 @@ public class GLegendServiceImpl implements IGLegendService { return gLegendMapper.deleteGLegendById(id); } + + @Override + public List getLegendListByCategory() { + MPJLambdaWrapper wrapper = new MPJLambdaWrapper() + .select(GLegend::getIcon, GLegend::getName) + .select(GLegendType::getTypeName, GLegendType::getCategory) + .leftJoin(GLegendType.class, GLegendType::getId, GLegend::getType); + // 获取所有的 GLegendCateGoryDto 列表 + List gLegendCateGoryList = gLegendMapper.selectJoinList(GLegendCateGoryDto.class, wrapper); + // 按照类别分成多个list结集合 + gLegendCateGoryList.forEach(System.err::println); + Map> map = gLegendCateGoryList.stream() + .collect(Collectors.groupingBy(GLegendCateGoryDto::getCategory)); + System.err.println(map); + List> list=new ArrayList<>(); + // 循环这个map + for (Map.Entry> entry : map.entrySet()) { + System.err.println(entry.getKey() + " : " + entry.getValue()); + Map itemMap=new HashMap<>(); + itemMap.put("category",entry.getKey()); + itemMap.put("list",entry.getValue()); + list.add(itemMap); + } + + return list; + + } + } diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GLegendTypeServiceImpl.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GLegendTypeServiceImpl.java index 7033b6b..fe832ae 100644 --- a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GLegendTypeServiceImpl.java +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GLegendTypeServiceImpl.java @@ -1,7 +1,12 @@ package com.fastbee.ggroup.service.impl; +import java.util.Arrays; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + import com.fastbee.common.utils.DateUtils; +import com.fastbee.ggroup.enums.SiteTypeCategoryEnum; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.fastbee.ggroup.mapper.GLegendTypeMapper; @@ -93,4 +98,6 @@ public class GLegendTypeServiceImpl implements IGLegendTypeService { return gLegendTypeMapper.deleteGLegendTypeById(id); } + + } diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GSiteInfoServiceImpl.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GSiteInfoServiceImpl.java new file mode 100644 index 0000000..953be1d --- /dev/null +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GSiteInfoServiceImpl.java @@ -0,0 +1,96 @@ +package com.fastbee.ggroup.service.impl; + +import java.util.List; +import com.fastbee.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.fastbee.ggroup.mapper.GSiteInfoMapper; +import com.fastbee.ggroup.domain.GSiteInfo; +import com.fastbee.ggroup.service.IGSiteInfoService; + +/** + * 站点基础信息Service业务层处理 + * + * @author kerwincui + * @date 2024-10-10 + */ +@Service +public class GSiteInfoServiceImpl implements IGSiteInfoService +{ + @Autowired + private GSiteInfoMapper gSiteInfoMapper; + + /** + * 查询站点基础信息 + * + * @param id 站点基础信息主键 + * @return 站点基础信息 + */ + @Override + public GSiteInfo selectGSiteInfoById(Long id) + { + return gSiteInfoMapper.selectGSiteInfoById(id); + } + + /** + * 查询站点基础信息列表 + * + * @param gSiteInfo 站点基础信息 + * @return 站点基础信息 + */ + @Override + public List selectGSiteInfoList(GSiteInfo gSiteInfo) + { + return gSiteInfoMapper.selectGSiteInfoList(gSiteInfo); + } + + /** + * 新增站点基础信息 + * + * @param gSiteInfo 站点基础信息 + * @return 结果 + */ + @Override + public int insertGSiteInfo(GSiteInfo gSiteInfo) + { + gSiteInfo.setCreateTime(DateUtils.getNowDate()); + return gSiteInfoMapper.insertGSiteInfo(gSiteInfo); + } + + /** + * 修改站点基础信息 + * + * @param gSiteInfo 站点基础信息 + * @return 结果 + */ + @Override + public int updateGSiteInfo(GSiteInfo gSiteInfo) + { + gSiteInfo.setUpdateTime(DateUtils.getNowDate()); + return gSiteInfoMapper.updateGSiteInfo(gSiteInfo); + } + + /** + * 批量删除站点基础信息 + * + * @param ids 需要删除的站点基础信息主键 + * @return 结果 + */ + @Override + public int deleteGSiteInfoByIds(Long[] ids) + { + return gSiteInfoMapper.deleteGSiteInfoByIds(ids); + } + + /** + * 删除站点基础信息信息 + * + * @param id 站点基础信息主键 + * @return 结果 + */ + @Override + public int deleteGSiteInfoById(Long id) + { + return gSiteInfoMapper.deleteGSiteInfoById(id); + } +} diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GSitesServiceImpl.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GSitesServiceImpl.java index 6b12da9..5b67cdc 100644 --- a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GSitesServiceImpl.java +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GSitesServiceImpl.java @@ -3,7 +3,6 @@ package com.fastbee.ggroup.service.impl; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; - import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fastbee.common.exception.ServiceException; @@ -12,9 +11,6 @@ import com.fastbee.ggroup.domain.dto.GGroupSiteDto; import com.fastbee.ggroup.domain.dto.GGroupSiteRelateDto; import com.fastbee.ggroup.domain.dto.GSitesEditDto; import com.fastbee.ggroup.mapper.GSiteGroupsMapper; - -import com.github.yulichang.toolkit.JoinWrappers; -import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -60,7 +56,7 @@ public class GSitesServiceImpl extends ServiceImpl() .select(GSites::getId, GSites::getName, GSites::getIcon, GSites::getType) - .eq(GSites::getProjectId, 1) + .eq(GSites::getProjectId, gSites.getProjectId()) ); } @@ -75,16 +71,13 @@ public class GSitesServiceImpl extends ServiceImpl() + BeanUtils.copyProperties(gGroupSiteDto, gSites); + //是否存在同名站点 + GSites sameNameSite = gSitesMapper.selectOne(new LambdaQueryWrapper() .select(GSites::getName, GSites::getId) .eq(GSites::getName, gGroupSiteDto.getName().trim())); - if (gSites1 != null) { - throw new ServiceException("站点名称已存在!"); + if (Objects.isNull(sameNameSite )) { + throw new ServiceException("站点名称重复!"); } //插入站点表 int inserted = gSitesMapper.insert(gSites); @@ -102,22 +95,13 @@ public class GSitesServiceImpl extends ServiceImpl() + //是否存在同名站点 + GSites sameNameSite = gSitesMapper.selectOne(new LambdaQueryWrapper() .select(GSites::getName, GSites::getId) - .eq(GSites::getName, gSitesEditDto.getName().trim())); - - if (Objects.nonNull(gSites1)) { - throw new ServiceException("站点名称已存在!"); + .eq(GSites::getName, gSitesEditDto.getName().trim()) + .ne(GSites::getId, gSitesEditDto.getId())); + if (Objects.nonNull(sameNameSite)) { + throw new ServiceException("站点名称重复!"); } GSites sites = new GSites(); BeanUtils.copyProperties(gSitesEditDto, sites); @@ -144,20 +128,17 @@ public class GSitesServiceImpl extends ServiceImpl siteIds = gGroupSiteRelateDto.getSiteIds(); @@ -170,8 +151,8 @@ public class GSitesServiceImpl extends ServiceImpl { - item.setParentId(parentId); - item.setProjectId(1L); + item.setParentId(gGroupSiteRelateDto.getParentId()); + item.setProjectId(gGroupSiteRelateDto.getProjectId()); return item; }) .collect(Collectors.toList())); diff --git a/fastbee-service/fastbee-ggroup-service/src/main/resources/mapper/ggroup/GSiteInfoMapper.xml b/fastbee-service/fastbee-ggroup-service/src/main/resources/mapper/ggroup/GSiteInfoMapper.xml new file mode 100644 index 0000000..5f2da67 --- /dev/null +++ b/fastbee-service/fastbee-ggroup-service/src/main/resources/mapper/ggroup/GSiteInfoMapper.xml @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, monitoring_station, pile_number, project_name, construction_year, equipment_brand, equipment_model, site_location, site_coordinates, longitude, latitude, protection_scope, protection_scope_remarks, fault_report, manager, manager_phone, pictures, code, remarks, del_flag, create_time, create_by, update_time, update_by, site_id from g_site_info + + + + + + + + insert into g_site_info + + monitoring_station, + pile_number, + project_name, + construction_year, + equipment_brand, + equipment_model, + site_location, + site_coordinates, + longitude, + latitude, + protection_scope, + protection_scope_remarks, + fault_report, + manager, + manager_phone, + pictures, + code, + remarks, + del_flag, + create_time, + create_by, + update_time, + update_by, + site_id, + + + #{monitoringStation}, + #{pileNumber}, + #{projectName}, + #{constructionYear}, + #{equipmentBrand}, + #{equipmentModel}, + #{siteLocation}, + #{siteCoordinates}, + #{longitude}, + #{latitude}, + #{protectionScope}, + #{protectionScopeRemarks}, + #{faultReport}, + #{manager}, + #{managerPhone}, + #{pictures}, + #{code}, + #{remarks}, + #{delFlag}, + #{createTime}, + #{createBy}, + #{updateTime}, + #{updateBy}, + #{siteId}, + + + + + update g_site_info + + monitoring_station = #{monitoringStation}, + pile_number = #{pileNumber}, + project_name = #{projectName}, + construction_year = #{constructionYear}, + equipment_brand = #{equipmentBrand}, + equipment_model = #{equipmentModel}, + site_location = #{siteLocation}, + site_coordinates = #{siteCoordinates}, + longitude = #{longitude}, + latitude = #{latitude}, + protection_scope = #{protectionScope}, + protection_scope_remarks = #{protectionScopeRemarks}, + fault_report = #{faultReport}, + manager = #{manager}, + manager_phone = #{managerPhone}, + pictures = #{pictures}, + code = #{code}, + remarks = #{remarks}, + del_flag = #{delFlag}, + create_time = #{createTime}, + create_by = #{createBy}, + update_time = #{updateTime}, + update_by = #{updateBy}, + site_id = #{siteId}, + + where id = #{id} + + + + delete from g_site_info where id = #{id} + + + + delete from g_site_info where id in + + #{id} + + + \ No newline at end of file diff --git a/fastbee-service/fastbee-ggroup-service/src/main/resources/mapper/ggroup/GSitesMapper.xml b/fastbee-service/fastbee-ggroup-service/src/main/resources/mapper/ggroup/GSitesMapper.xml index 9f13a95..f78a05c 100644 --- a/fastbee-service/fastbee-ggroup-service/src/main/resources/mapper/ggroup/GSitesMapper.xml +++ b/fastbee-service/fastbee-ggroup-service/src/main/resources/mapper/ggroup/GSitesMapper.xml @@ -26,7 +26,9 @@ and name like concat('%', #{name}, '%') and icon = #{icon} and type = #{type} + and space = #{projectId} and space = #{space} + diff --git a/fastbee-service/fastbee-ggroup-service/src/test/java/Text.java b/fastbee-service/fastbee-ggroup-service/src/test/java/Text.java deleted file mode 100644 index f3cb0b7..0000000 --- a/fastbee-service/fastbee-ggroup-service/src/test/java/Text.java +++ /dev/null @@ -1,4 +0,0 @@ - -public class Text { - -} diff --git a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/timer/QxtrTask.java b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/timer/QxtrTask.java index f3e98bf..7f44150 100644 --- a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/timer/QxtrTask.java +++ b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/timer/QxtrTask.java @@ -54,7 +54,7 @@ public class QxtrTask { * 定时任务 新增太阳能设备 */ public void getSolarDeviceFromHttp() throws Exception { - log.info("定时任务,新增 太阳能设备 数据"); +// log.info("定时任务,新增 太阳能设备 数据"); Device device = new Device(); device.setProductId(Long.valueOf(SOLAR_DEVICE.getType())); List devices = iDeviceService.selectDeviceList(device); @@ -65,7 +65,7 @@ public class QxtrTask { * 定时任务 更新设备在线状态 */ public void updateDeviceStatus() throws Exception { - log.info("定时任务,更新设备在线状态"); +// log.info("定时任务,更新设备在线状态"); Device device = new Device(); ArrayList> resultList = new ArrayList<>(); device.setProductId(136L); @@ -92,7 +92,7 @@ public class QxtrTask { * 定时任务 流量计设备 */ public void getFlowMeterDeviceFromHttp() throws Exception { - log.info("定时任务,新增 流量计设备 数据"); +// log.info("定时任务,新增 流量计设备 数据"); Device device = new Device(); device.setProductId(Long.valueOf(FLOW_METER_DEVICE.getType())); List devices = iDeviceService.selectDeviceList(device); @@ -103,7 +103,7 @@ public class QxtrTask { * 定时任务 门锁控制设备 */ public void getDoorLockDeviceFromHttp() throws Exception { - log.info("定时任务,新增 门锁控制设备 数据"); +// log.info("定时任务,新增 门锁控制设备 数据"); Device device = new Device(); device.setProductId(Long.valueOf(DOOR_LOCK_DEVICE.getType())); List devices = iDeviceService.selectDeviceList(device); diff --git a/pom.xml b/pom.xml index 046c5cb..c1c246b 100644 --- a/pom.xml +++ b/pom.xml @@ -62,6 +62,12 @@ pom import + + + org.springframework.boot + spring-boot-starter-test + 2.5.14 +