diff --git a/RuoYi-Vue-Plus/ruoyi-admin/src/main/resources/application.yml b/RuoYi-Vue-Plus/ruoyi-admin/src/main/resources/application.yml index d3c96139..e68ae3f1 100644 --- a/RuoYi-Vue-Plus/ruoyi-admin/src/main/resources/application.yml +++ b/RuoYi-Vue-Plus/ruoyi-admin/src/main/resources/application.yml @@ -224,9 +224,11 @@ springdoc: packages-to-scan: org.dromara.safety - group: 7.质量模块 packages-to-scan: org.dromara.quality - - group: 8.代码生成模块 + - group: 8.设施模块 + packages-to-scan: org.dromara.facility + - group: 9.代码生成模块 packages-to-scan: org.dromara.generator - - group: 9.工作流模块 + - group: 10.工作流模块 packages-to-scan: org.dromara.workflow # 防止XSS攻击 diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/controller/FacBoxTransformerController.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/controller/FacBoxTransformerController.java new file mode 100644 index 00000000..b9512965 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/controller/FacBoxTransformerController.java @@ -0,0 +1,109 @@ +package org.dromara.facility.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.web.core.BaseController; +import org.dromara.facility.domain.req.boxtransformer.BoxTransformerCreateReq; +import org.dromara.facility.domain.req.boxtransformer.BoxTransformerQueryReq; +import org.dromara.facility.domain.req.boxtransformer.BoxTransformerUpdateReq; +import org.dromara.facility.domain.vo.FacBoxTransformerVo; +import org.dromara.facility.service.IFacBoxTransformerService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 设施-箱变 + * + * @author lcj + * @date 2025-04-21 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/facility/boxTransformer") +public class FacBoxTransformerController extends BaseController { + + private final IFacBoxTransformerService facBoxTransformerService; + + /** + * 查询设施-箱变列表 + */ + @SaCheckPermission("facility:boxTransformer:list") + @GetMapping("/list") + public TableDataInfo list(BoxTransformerQueryReq req, PageQuery pageQuery) { + return facBoxTransformerService.queryPageList(req, pageQuery); + } + + /** + * 导出设施-箱变列表 + */ + @SaCheckPermission("facility:boxTransformer:export") + @Log(title = "设施-箱变", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(BoxTransformerQueryReq req, HttpServletResponse response) { + List list = facBoxTransformerService.queryList(req); + ExcelUtil.exportExcel(list, "设施-箱变", FacBoxTransformerVo.class, response); + } + + /** + * 获取设施-箱变详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("facility:boxTransformer:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(facBoxTransformerService.queryById(id)); + } + + /** + * 新增设施-箱变 + */ + @SaCheckPermission("facility:boxTransformer:add") + @Log(title = "设施-箱变", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody BoxTransformerCreateReq req) { + return R.ok(facBoxTransformerService.insertByBo(req)); + } + + /** + * 修改设施-箱变 + */ + @SaCheckPermission("facility:boxTransformer:edit") + @Log(title = "设施-箱变", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody BoxTransformerUpdateReq req) { + return toAjax(facBoxTransformerService.updateByBo(req)); + } + + /** + * 删除设施-箱变 + * + * @param ids 主键串 + */ + @SaCheckPermission("facility:boxTransformer:remove") + @Log(title = "设施-箱变", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(facBoxTransformerService.deleteWithValidByIds(List.of(ids), true)); + } + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/controller/FacInverterController.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/controller/FacInverterController.java new file mode 100644 index 00000000..a762bb63 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/controller/FacInverterController.java @@ -0,0 +1,109 @@ +package org.dromara.facility.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.web.core.BaseController; +import org.dromara.facility.domain.req.inverter.InverterCreateReq; +import org.dromara.facility.domain.req.inverter.InverterQueryReq; +import org.dromara.facility.domain.req.inverter.InverterUpdateReq; +import org.dromara.facility.domain.vo.FacInverterVo; +import org.dromara.facility.service.IFacInverterService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 设施-逆变器 + * + * @author lcj + * @date 2025-04-21 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/facility/inverter") +public class FacInverterController extends BaseController { + + private final IFacInverterService facInverterService; + + /** + * 查询设施-逆变器列表 + */ + @SaCheckPermission("facility:inverter:list") + @GetMapping("/list") + public TableDataInfo list(InverterQueryReq req, PageQuery pageQuery) { + return facInverterService.queryPageList(req, pageQuery); + } + + /** + * 导出设施-逆变器列表 + */ + @SaCheckPermission("facility:inverter:export") + @Log(title = "设施-逆变器", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(InverterQueryReq req, HttpServletResponse response) { + List list = facInverterService.queryList(req); + ExcelUtil.exportExcel(list, "设施-逆变器", FacInverterVo.class, response); + } + + /** + * 获取设施-逆变器详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("facility:inverter:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(facInverterService.queryById(id)); + } + + /** + * 新增设施-逆变器 + */ + @SaCheckPermission("facility:inverter:add") + @Log(title = "设施-逆变器", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody InverterCreateReq req) { + return R.ok(facInverterService.insertByBo(req)); + } + + /** + * 修改设施-逆变器 + */ + @SaCheckPermission("facility:inverter:edit") + @Log(title = "设施-逆变器", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody InverterUpdateReq req) { + return toAjax(facInverterService.updateByBo(req)); + } + + /** + * 删除设施-逆变器 + * + * @param ids 主键串 + */ + @SaCheckPermission("facility:inverter:remove") + @Log(title = "设施-逆变器", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(facInverterService.deleteWithValidByIds(List.of(ids), true)); + } + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/controller/FacMatrixController.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/controller/FacMatrixController.java new file mode 100644 index 00000000..3e946e64 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/controller/FacMatrixController.java @@ -0,0 +1,109 @@ +package org.dromara.facility.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.web.core.BaseController; +import org.dromara.facility.domain.req.matrix.MatrixCreateReq; +import org.dromara.facility.domain.req.matrix.MatrixQueryReq; +import org.dromara.facility.domain.req.matrix.MatrixUpdateReq; +import org.dromara.facility.domain.vo.FacMatrixVo; +import org.dromara.facility.service.IFacMatrixService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 设施-方阵 + * + * @author lcj + * @date 2025-04-21 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/facility/matrix") +public class FacMatrixController extends BaseController { + + private final IFacMatrixService facMatrixService; + + /** + * 查询设施-方阵列表 + */ + @SaCheckPermission("facility:matrix:list") + @GetMapping("/list") + public TableDataInfo list(MatrixQueryReq req, PageQuery pageQuery) { + return facMatrixService.queryPageList(req, pageQuery); + } + + /** + * 导出设施-方阵列表 + */ + @SaCheckPermission("facility:matrix:export") + @Log(title = "设施-方阵", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(MatrixQueryReq req, HttpServletResponse response) { + List list = facMatrixService.queryList(req); + ExcelUtil.exportExcel(list, "设施-方阵", FacMatrixVo.class, response); + } + + /** + * 获取设施-方阵详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("facility:matrix:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(facMatrixService.queryById(id)); + } + + /** + * 新增设施-方阵 + */ + @SaCheckPermission("facility:matrix:add") + @Log(title = "设施-方阵", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody MatrixCreateReq req) { + return R.ok(facMatrixService.insertByBo(req)); + } + + /** + * 修改设施-方阵 + */ + @SaCheckPermission("facility:matrix:edit") + @Log(title = "设施-方阵", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody MatrixUpdateReq req) { + return toAjax(facMatrixService.updateByBo(req)); + } + + /** + * 删除设施-方阵 + * + * @param ids 主键串 + */ + @SaCheckPermission("facility:matrix:remove") + @Log(title = "设施-方阵", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(facMatrixService.deleteWithValidByIds(List.of(ids), true)); + } + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/controller/FacPhotovoltaicPanelColumnController.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/controller/FacPhotovoltaicPanelColumnController.java new file mode 100644 index 00000000..4a64e916 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/controller/FacPhotovoltaicPanelColumnController.java @@ -0,0 +1,108 @@ +package org.dromara.facility.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.web.core.BaseController; +import org.dromara.facility.domain.req.photovoltaicpanelcolumn.PhotovoltaicPanelColumnCreateReq; +import org.dromara.facility.domain.req.photovoltaicpanelcolumn.PhotovoltaicPanelColumnQueryReq; +import org.dromara.facility.domain.req.photovoltaicpanelcolumn.PhotovoltaicPanelColumnUpdateReq; +import org.dromara.facility.domain.vo.FacPhotovoltaicPanelColumnVo; +import org.dromara.facility.service.IFacPhotovoltaicPanelColumnService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 设施-光伏板立柱 + * + * @author lcj + * @date 2025-04-21 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/facility/photovoltaicPanelColumn") +public class FacPhotovoltaicPanelColumnController extends BaseController { + + private final IFacPhotovoltaicPanelColumnService facPhotovoltaicPanelColumnService; + + /** + * 查询设施-光伏板立柱列表 + */ + @SaCheckPermission("facility:photovoltaicPanelColumn:list") + @GetMapping("/list") + public TableDataInfo list(PhotovoltaicPanelColumnQueryReq req, PageQuery pageQuery) { + return facPhotovoltaicPanelColumnService.queryPageList(req, pageQuery); + } + + /** + * 导出设施-光伏板立柱列表 + */ + @SaCheckPermission("facility:photovoltaicPanelColumn:export") + @Log(title = "设施-光伏板立柱", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(PhotovoltaicPanelColumnQueryReq req, HttpServletResponse response) { + List list = facPhotovoltaicPanelColumnService.queryList(req); + ExcelUtil.exportExcel(list, "设施-光伏板立柱", FacPhotovoltaicPanelColumnVo.class, response); + } + + /** + * 获取设施-光伏板立柱详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("facility:photovoltaicPanelColumn:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(facPhotovoltaicPanelColumnService.queryById(id)); + } + + /** + * 新增设施-光伏板立柱 + */ + @SaCheckPermission("facility:photovoltaicPanelColumn:add") + @Log(title = "设施-光伏板立柱", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody PhotovoltaicPanelColumnCreateReq req) { + return R.ok(facPhotovoltaicPanelColumnService.insertByBo(req)); + } + + /** + * 修改设施-光伏板立柱 + */ + @SaCheckPermission("facility:photovoltaicPanelColumn:edit") + @Log(title = "设施-光伏板立柱", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody PhotovoltaicPanelColumnUpdateReq req) { + return toAjax(facPhotovoltaicPanelColumnService.updateByBo(req)); + } + + /** + * 删除设施-光伏板立柱 + * + * @param ids 主键串 + */ + @SaCheckPermission("facility:photovoltaicPanelColumn:remove") + @Log(title = "设施-光伏板立柱", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(facPhotovoltaicPanelColumnService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/controller/FacPhotovoltaicPanelController.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/controller/FacPhotovoltaicPanelController.java new file mode 100644 index 00000000..4b43564f --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/controller/FacPhotovoltaicPanelController.java @@ -0,0 +1,108 @@ +package org.dromara.facility.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.web.core.BaseController; +import org.dromara.facility.domain.req.photovoltaicpanel.PhotovoltaicPanelCreateReq; +import org.dromara.facility.domain.req.photovoltaicpanel.PhotovoltaicPanelQueryReq; +import org.dromara.facility.domain.req.photovoltaicpanel.PhotovoltaicPanelUpdateReq; +import org.dromara.facility.domain.vo.FacPhotovoltaicPanelVo; +import org.dromara.facility.service.IFacPhotovoltaicPanelService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 设施-光伏板 + * + * @author lcj + * @date 2025-04-21 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/facility/photovoltaicPanel") +public class FacPhotovoltaicPanelController extends BaseController { + + private final IFacPhotovoltaicPanelService facPhotovoltaicPanelService; + + /** + * 查询设施-光伏板列表 + */ + @SaCheckPermission("facility:photovoltaicPanel:list") + @GetMapping("/list") + public TableDataInfo list(PhotovoltaicPanelQueryReq req, PageQuery pageQuery) { + return facPhotovoltaicPanelService.queryPageList(req, pageQuery); + } + + /** + * 导出设施-光伏板列表 + */ + @SaCheckPermission("facility:photovoltaicPanel:export") + @Log(title = "设施-光伏板", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(PhotovoltaicPanelQueryReq req, HttpServletResponse response) { + List list = facPhotovoltaicPanelService.queryList(req); + ExcelUtil.exportExcel(list, "设施-光伏板", FacPhotovoltaicPanelVo.class, response); + } + + /** + * 获取设施-光伏板详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("facility:photovoltaicPanel:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(facPhotovoltaicPanelService.queryById(id)); + } + + /** + * 新增设施-光伏板 + */ + @SaCheckPermission("facility:photovoltaicPanel:add") + @Log(title = "设施-光伏板", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody PhotovoltaicPanelCreateReq req) { + return R.ok(facPhotovoltaicPanelService.insertByBo(req)); + } + + /** + * 修改设施-光伏板 + */ + @SaCheckPermission("facility:photovoltaicPanel:edit") + @Log(title = "设施-光伏板", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody PhotovoltaicPanelUpdateReq req) { + return toAjax(facPhotovoltaicPanelService.updateByBo(req)); + } + + /** + * 删除设施-光伏板 + * + * @param ids 主键串 + */ + @SaCheckPermission("facility:photovoltaicPanel:remove") + @Log(title = "设施-光伏板", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(facPhotovoltaicPanelService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/controller/FacPhotovoltaicPanelPartsController.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/controller/FacPhotovoltaicPanelPartsController.java new file mode 100644 index 00000000..24bbdf32 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/controller/FacPhotovoltaicPanelPartsController.java @@ -0,0 +1,36 @@ +package org.dromara.facility.controller; + +import jakarta.annotation.Resource; +import org.dromara.common.core.domain.R; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.facility.domain.req.photovoltaicpanelparts.PhotovoltaicPanelPartsCreateReq; +import org.dromara.facility.service.IFacPhotovoltaicPanelPartsService; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author lcj + * @date 2025/4/21 16:33 + */ + +@RestController +@RequestMapping("/facility/photovoltaicPanelPoint/parts") +public class FacPhotovoltaicPanelPartsController { + + @Resource + private IFacPhotovoltaicPanelPartsService photovoltaicPanelPartsService; + + /** + * 新增设施-光伏板桩点、立柱、支架 + */ + @Log(title = "设施-光伏板(桩点、立柱、支架)", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R insertPartsByBatch(PhotovoltaicPanelPartsCreateReq req) { + return R.ok(photovoltaicPanelPartsService.insertPartsByBatch(req)); + } + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/controller/FacPhotovoltaicPanelPointController.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/controller/FacPhotovoltaicPanelPointController.java new file mode 100644 index 00000000..e7686f4f --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/controller/FacPhotovoltaicPanelPointController.java @@ -0,0 +1,108 @@ +package org.dromara.facility.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.web.core.BaseController; +import org.dromara.facility.domain.req.photovoltaicpanelpoint.PhotovoltaicPanelPointCreateReq; +import org.dromara.facility.domain.req.photovoltaicpanelpoint.PhotovoltaicPanelPointQueryReq; +import org.dromara.facility.domain.req.photovoltaicpanelpoint.PhotovoltaicPanelPointUpdateReq; +import org.dromara.facility.domain.vo.FacPhotovoltaicPanelPointVo; +import org.dromara.facility.service.IFacPhotovoltaicPanelPointService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 设施-光伏板桩点 + * + * @author lcj + * @date 2025-04-21 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/facility/photovoltaicPanelPoint") +public class FacPhotovoltaicPanelPointController extends BaseController { + + private final IFacPhotovoltaicPanelPointService facPhotovoltaicPanelPointService; + + /** + * 查询设施-光伏板桩点列表 + */ + @SaCheckPermission("facility:photovoltaicPanelPoint:list") + @GetMapping("/list") + public TableDataInfo list(PhotovoltaicPanelPointQueryReq req, PageQuery pageQuery) { + return facPhotovoltaicPanelPointService.queryPageList(req, pageQuery); + } + + /** + * 导出设施-光伏板桩点列表 + */ + @SaCheckPermission("facility:photovoltaicPanelPoint:export") + @Log(title = "设施-光伏板桩点", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(PhotovoltaicPanelPointQueryReq req, HttpServletResponse response) { + List list = facPhotovoltaicPanelPointService.queryList(req); + ExcelUtil.exportExcel(list, "设施-光伏板桩点", FacPhotovoltaicPanelPointVo.class, response); + } + + /** + * 获取设施-光伏板桩点详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("facility:photovoltaicPanelPoint:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(facPhotovoltaicPanelPointService.queryById(id)); + } + + /** + * 新增设施-光伏板桩点 + */ + @SaCheckPermission("facility:photovoltaicPanelPoint:add") + @Log(title = "设施-光伏板桩点", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody PhotovoltaicPanelPointCreateReq req) { + return R.ok(facPhotovoltaicPanelPointService.insertByBo(req)); + } + + /** + * 修改设施-光伏板桩点 + */ + @SaCheckPermission("facility:photovoltaicPanelPoint:edit") + @Log(title = "设施-光伏板桩点", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody PhotovoltaicPanelPointUpdateReq req) { + return toAjax(facPhotovoltaicPanelPointService.updateByBo(req)); + } + + /** + * 删除设施-光伏板桩点 + * + * @param ids 主键串 + */ + @SaCheckPermission("facility:photovoltaicPanelPoint:remove") + @Log(title = "设施-光伏板桩点", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(facPhotovoltaicPanelPointService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/controller/FacPhotovoltaicPanelSupportController.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/controller/FacPhotovoltaicPanelSupportController.java new file mode 100644 index 00000000..ca159764 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/controller/FacPhotovoltaicPanelSupportController.java @@ -0,0 +1,108 @@ +package org.dromara.facility.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.web.core.BaseController; +import org.dromara.facility.domain.req.photovoltaicpanelsupport.PhotovoltaicPanelSupportCreateReq; +import org.dromara.facility.domain.req.photovoltaicpanelsupport.PhotovoltaicPanelSupportQueryReq; +import org.dromara.facility.domain.req.photovoltaicpanelsupport.PhotovoltaicPanelSupportUpdateReq; +import org.dromara.facility.domain.vo.FacPhotovoltaicPanelSupportVo; +import org.dromara.facility.service.IFacPhotovoltaicPanelSupportService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 设施-光伏板支架 + * + * @author lcj + * @date 2025-04-21 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/facility/photovoltaicPanelSupport") +public class FacPhotovoltaicPanelSupportController extends BaseController { + + private final IFacPhotovoltaicPanelSupportService facPhotovoltaicPanelSupportService; + + /** + * 查询设施-光伏板支架列表 + */ + @SaCheckPermission("facility:photovoltaicPanelSupport:list") + @GetMapping("/list") + public TableDataInfo list(PhotovoltaicPanelSupportQueryReq req, PageQuery pageQuery) { + return facPhotovoltaicPanelSupportService.queryPageList(req, pageQuery); + } + + /** + * 导出设施-光伏板支架列表 + */ + @SaCheckPermission("facility:photovoltaicPanelSupport:export") + @Log(title = "设施-光伏板支架", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(PhotovoltaicPanelSupportQueryReq req, HttpServletResponse response) { + List list = facPhotovoltaicPanelSupportService.queryList(req); + ExcelUtil.exportExcel(list, "设施-光伏板支架", FacPhotovoltaicPanelSupportVo.class, response); + } + + /** + * 获取设施-光伏板支架详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("facility:photovoltaicPanelSupport:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(facPhotovoltaicPanelSupportService.queryById(id)); + } + + /** + * 新增设施-光伏板支架 + */ + @SaCheckPermission("facility:photovoltaicPanelSupport:add") + @Log(title = "设施-光伏板支架", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody PhotovoltaicPanelSupportCreateReq req) { + return R.ok(facPhotovoltaicPanelSupportService.insertByBo(req)); + } + + /** + * 修改设施-光伏板支架 + */ + @SaCheckPermission("facility:photovoltaicPanelSupport:edit") + @Log(title = "设施-光伏板支架", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody PhotovoltaicPanelSupportUpdateReq req) { + return toAjax(facPhotovoltaicPanelSupportService.updateByBo(req)); + } + + /** + * 删除设施-光伏板支架 + * + * @param ids 主键串 + */ + @SaCheckPermission("facility:photovoltaicPanelSupport:remove") + @Log(title = "设施-光伏板支架", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(facPhotovoltaicPanelSupportService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/FacBoxTransformer.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/FacBoxTransformer.java new file mode 100644 index 00000000..4a2c5410 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/FacBoxTransformer.java @@ -0,0 +1,79 @@ +package org.dromara.facility.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.mybatis.core.domain.BaseEntity; + +import java.io.Serial; +import java.util.Date; + +/** + * 设施-箱变对象 fac_box_transformer + * + * @author lcj + * @date 2025-04-21 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("fac_box_transformer") +public class FacBoxTransformer extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id") + private Long id; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵id + */ + private Long matrixId; + + /** + * 箱变名称 + */ + private String name; + + /** + * 箱变位置 + */ + private String positions; + + /** + * 完成状态(0未完成 1完成) + */ + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + private String finishType; + + /** + * 备注 + */ + private String remark; + + /** + * 删除时间 + */ + private Date deletedAt; + + /** + * 是否删除(0正常 1删除) + */ + @TableLogic + private Long isDelete; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/FacInverter.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/FacInverter.java new file mode 100644 index 00000000..6091ad43 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/FacInverter.java @@ -0,0 +1,79 @@ +package org.dromara.facility.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.mybatis.core.domain.BaseEntity; + +import java.io.Serial; +import java.util.Date; + +/** + * 设施-逆变器对象 fac_inverter + * + * @author lcj + * @date 2025-04-21 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("fac_inverter") +public class FacInverter extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id") + private Long id; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵id + */ + private Long matrixId; + + /** + * 逆变器名称 + */ + private String name; + + /** + * 逆变器位置 + */ + private String positions; + + /** + * 完成状态(0未完成 1完成) + */ + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + private String finishType; + + /** + * 备注 + */ + private String remark; + + /** + * 删除时间 + */ + private Date deletedAt; + + /** + * 是否删除(0正常 1删除) + */ + @TableLogic + private Long isDelete; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/FacMatrix.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/FacMatrix.java new file mode 100644 index 00000000..c9689f4d --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/FacMatrix.java @@ -0,0 +1,64 @@ +package org.dromara.facility.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.mybatis.core.domain.BaseEntity; + +import java.io.Serial; +import java.util.Date; + +/** + * 设施-方阵对象 fac_matrix + * + * @author lcj + * @date 2025-04-21 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("fac_matrix") +public class FacMatrix extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id") + private Long id; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵名称 + */ + private String matrixName; + + /** + * 方阵位置 + */ + private String positions; + + /** + * 备注 + */ + private String remark; + + /** + * 删除时间 + */ + private Date deletedAt; + + /** + * 是否删除(0正常 1删除) + */ + @TableLogic + private Long isDelete; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/FacPhotovoltaicPanel.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/FacPhotovoltaicPanel.java new file mode 100644 index 00000000..d9b421e1 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/FacPhotovoltaicPanel.java @@ -0,0 +1,79 @@ +package org.dromara.facility.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.mybatis.core.domain.BaseEntity; + +import java.io.Serial; +import java.util.Date; + +/** + * 设施-光伏板对象 fac_photovoltaic_panel + * + * @author lcj + * @date 2025-04-21 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("fac_photovoltaic_panel") +public class FacPhotovoltaicPanel extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id") + private Long id; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵id + */ + private Long matrixId; + + /** + * 光伏板名称 + */ + private String name; + + /** + * 光伏板位置 + */ + private String positions; + + /** + * 完成状态(0未完成 1完成) + */ + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + private String finishType; + + /** + * 备注 + */ + private String remark; + + /** + * 删除时间 + */ + private Date deletedAt; + + /** + * 是否删除(0正常 1删除) + */ + @TableLogic + private Long isDelete; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/FacPhotovoltaicPanelColumn.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/FacPhotovoltaicPanelColumn.java new file mode 100644 index 00000000..8d835135 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/FacPhotovoltaicPanelColumn.java @@ -0,0 +1,79 @@ +package org.dromara.facility.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.mybatis.core.domain.BaseEntity; + +import java.io.Serial; +import java.util.Date; + +/** + * 设施-光伏板立柱对象 fac_photovoltaic_panel_column + * + * @author lcj + * @date 2025-04-21 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("fac_photovoltaic_panel_column") +public class FacPhotovoltaicPanelColumn extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id") + private Long id; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵id + */ + private Long matrixId; + + /** + * 光伏板立柱名称 + */ + private String name; + + /** + * 光伏板立柱位置 + */ + private String positions; + + /** + * 完成状态(0未完成 1完成) + */ + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + private String finishType; + + /** + * 备注 + */ + private String remark; + + /** + * 删除时间 + */ + private Date deletedAt; + + /** + * 是否删除(0正常 1删除) + */ + @TableLogic + private Long isDelete; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/FacPhotovoltaicPanelPoint.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/FacPhotovoltaicPanelPoint.java new file mode 100644 index 00000000..3628187e --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/FacPhotovoltaicPanelPoint.java @@ -0,0 +1,79 @@ +package org.dromara.facility.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.mybatis.core.domain.BaseEntity; + +import java.io.Serial; +import java.util.Date; + +/** + * 设施-光伏板桩点对象 fac_photovoltaic_panel_point + * + * @author lcj + * @date 2025-04-21 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("fac_photovoltaic_panel_point") +public class FacPhotovoltaicPanelPoint extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id") + private Long id; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵id + */ + private Long matrixId; + + /** + * 光伏板桩点名称 + */ + private String name; + + /** + * 光伏板桩点位置 + */ + private String positions; + + /** + * 完成状态(0未完成 1完成) + */ + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + private String finishType; + + /** + * 备注 + */ + private String remark; + + /** + * 删除时间 + */ + private Date deletedAt; + + /** + * 是否删除(0正常 1删除) + */ + @TableLogic + private Long isDelete; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/FacPhotovoltaicPanelSupport.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/FacPhotovoltaicPanelSupport.java new file mode 100644 index 00000000..105be76d --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/FacPhotovoltaicPanelSupport.java @@ -0,0 +1,79 @@ +package org.dromara.facility.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.mybatis.core.domain.BaseEntity; + +import java.io.Serial; +import java.util.Date; + +/** + * 设施-光伏板支架对象 fac_photovoltaic_panel_support + * + * @author lcj + * @date 2025-04-21 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("fac_photovoltaic_panel_support") +public class FacPhotovoltaicPanelSupport extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id") + private Long id; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵id + */ + private Long matrixId; + + /** + * 光伏板支架名称 + */ + private String name; + + /** + * 光伏板支架位置 + */ + private String positions; + + /** + * 完成状态(0未完成 1完成) + */ + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + private String finishType; + + /** + * 备注 + */ + private String remark; + + /** + * 删除时间 + */ + private Date deletedAt; + + /** + * 是否删除(0正常 1删除) + */ + @TableLogic + private Long isDelete; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/boxtransformer/BoxTransformerCreateReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/boxtransformer/BoxTransformerCreateReq.java new file mode 100644 index 00000000..9cda70da --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/boxtransformer/BoxTransformerCreateReq.java @@ -0,0 +1,54 @@ +package org.dromara.facility.domain.req.boxtransformer; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + +/** + * @author lcj + * @date 2025/4/21 16:54 + */ +@Data +public class BoxTransformerCreateReq implements Serializable { + + @Serial + private static final long serialVersionUID = 4380175902468104569L; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵id + */ + private Long matrixId; + + /** + * 箱变名称 + */ + private String name; + + /** + * 箱变位置 + */ + private List positionList; + + /** + * 完成状态(0未完成 1完成) + */ + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + private String finishType; + + /** + * 备注 + */ + private String remark; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/boxtransformer/BoxTransformerQueryReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/boxtransformer/BoxTransformerQueryReq.java new file mode 100644 index 00000000..fc78a0db --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/boxtransformer/BoxTransformerQueryReq.java @@ -0,0 +1,43 @@ +package org.dromara.facility.domain.req.boxtransformer; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** + * @author lcj + * @date 2025/4/21 17:20 + */ +@Data +public class BoxTransformerQueryReq implements Serializable { + + @Serial + private static final long serialVersionUID = -1963080752094759008L; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵id + */ + private Long matrixId; + + /** + * 箱变名称 + */ + private String name; + + /** + * 完成状态(0未完成 1完成) + */ + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + private String finishType; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/boxtransformer/BoxTransformerUpdateReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/boxtransformer/BoxTransformerUpdateReq.java new file mode 100644 index 00000000..46bbde12 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/boxtransformer/BoxTransformerUpdateReq.java @@ -0,0 +1,59 @@ +package org.dromara.facility.domain.req.boxtransformer; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + +/** + * @author lcj + * @date 2025/4/21 17:20 + */ +@Data +public class BoxTransformerUpdateReq implements Serializable { + + @Serial + private static final long serialVersionUID = -7030781044685790507L; + + /** + * 主键 + */ + private Long id; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵id + */ + private Long matrixId; + + /** + * 箱变名称 + */ + private String name; + + /** + * 箱变位置 + */ + private List positionList; + + /** + * 完成状态(0未完成 1完成) + */ + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + private String finishType; + + /** + * 备注 + */ + private String remark; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/inverter/InverterCreateReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/inverter/InverterCreateReq.java new file mode 100644 index 00000000..2a19943c --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/inverter/InverterCreateReq.java @@ -0,0 +1,54 @@ +package org.dromara.facility.domain.req.inverter; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + +/** + * @author lcj + * @date 2025/4/21 17:57 + */ +@Data +public class InverterCreateReq implements Serializable { + + @Serial + private static final long serialVersionUID = 1722660769314535318L; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵id + */ + private Long matrixId; + + /** + * 逆变器名称 + */ + private String name; + + /** + * 逆变器位置 + */ + private List positionList; + + /** + * 完成状态(0未完成 1完成) + */ + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + private String finishType; + + /** + * 备注 + */ + private String remark; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/inverter/InverterQueryReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/inverter/InverterQueryReq.java new file mode 100644 index 00000000..eb1a2582 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/inverter/InverterQueryReq.java @@ -0,0 +1,43 @@ +package org.dromara.facility.domain.req.inverter; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** + * @author lcj + * @date 2025/4/21 17:57 + */ +@Data +public class InverterQueryReq implements Serializable { + + @Serial + private static final long serialVersionUID = 6022414407700545902L; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵id + */ + private Long matrixId; + + /** + * 逆变器名称 + */ + private String name; + + /** + * 完成状态(0未完成 1完成) + */ + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + private String finishType; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/inverter/InverterUpdateReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/inverter/InverterUpdateReq.java new file mode 100644 index 00000000..4d89308c --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/inverter/InverterUpdateReq.java @@ -0,0 +1,59 @@ +package org.dromara.facility.domain.req.inverter; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + +/** + * @author lcj + * @date 2025/4/21 17:58 + */ +@Data +public class InverterUpdateReq implements Serializable { + + @Serial + private static final long serialVersionUID = 8042273364046693533L; + + /** + * 主键 + */ + private Long id; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵id + */ + private Long matrixId; + + /** + * 逆变器名称 + */ + private String name; + + /** + * 逆变器位置 + */ + private List positionList; + + /** + * 完成状态(0未完成 1完成) + */ + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + private String finishType; + + /** + * 备注 + */ + private String remark; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/matrix/MatrixCreateReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/matrix/MatrixCreateReq.java new file mode 100644 index 00000000..82c14712 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/matrix/MatrixCreateReq.java @@ -0,0 +1,39 @@ +package org.dromara.facility.domain.req.matrix; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + +/** + * @author lcj + * @date 2025/4/21 14:55 + */ +@Data +public class MatrixCreateReq implements Serializable { + + @Serial + private static final long serialVersionUID = -9094117932741747339L; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵名称 + */ + private String matrixName; + + /** + * 方阵位置 + */ + private List> positionList; + + /** + * 备注 + */ + private String remark; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/matrix/MatrixQueryReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/matrix/MatrixQueryReq.java new file mode 100644 index 00000000..f7d6154e --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/matrix/MatrixQueryReq.java @@ -0,0 +1,28 @@ +package org.dromara.facility.domain.req.matrix; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** + * @author lcj + * @date 2025/4/21 14:58 + */ +@Data +public class MatrixQueryReq implements Serializable { + + @Serial + private static final long serialVersionUID = -6595145503602439606L; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵名称 + */ + private String matrixName; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/matrix/MatrixUpdateReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/matrix/MatrixUpdateReq.java new file mode 100644 index 00000000..97960199 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/matrix/MatrixUpdateReq.java @@ -0,0 +1,44 @@ +package org.dromara.facility.domain.req.matrix; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + +/** + * @author lcj + * @date 2025/4/21 14:57 + */ +@Data +public class MatrixUpdateReq implements Serializable { + + @Serial + private static final long serialVersionUID = 384644288316208875L; + + /** + * 主键 + */ + private Long id; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵名称 + */ + private String matrixName; + + /** + * 方阵位置 + */ + private List> positionList; + + /** + * 备注 + */ + private String remark; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanel/PhotovoltaicPanelCreateReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanel/PhotovoltaicPanelCreateReq.java new file mode 100644 index 00000000..c56b8e8c --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanel/PhotovoltaicPanelCreateReq.java @@ -0,0 +1,54 @@ +package org.dromara.facility.domain.req.photovoltaicpanel; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + +/** + * @author lcj + * @date 2025/4/21 14:00 + */ +@Data +public class PhotovoltaicPanelCreateReq implements Serializable { + + @Serial + private static final long serialVersionUID = -6155515510030793296L; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵id + */ + private Long matrixId; + + /** + * 光伏板名称 + */ + private String name; + + /** + * 光伏板位置 + */ + private List> positionList; + + /** + * 完成状态(0未完成 1完成) + */ + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + private String finishType; + + /** + * 备注 + */ + private String remark; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanel/PhotovoltaicPanelQueryReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanel/PhotovoltaicPanelQueryReq.java new file mode 100644 index 00000000..8f7b98c7 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanel/PhotovoltaicPanelQueryReq.java @@ -0,0 +1,43 @@ +package org.dromara.facility.domain.req.photovoltaicpanel; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** + * @author lcj + * @date 2025/4/21 14:02 + */ +@Data +public class PhotovoltaicPanelQueryReq implements Serializable { + + @Serial + private static final long serialVersionUID = 4450293360698837635L; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵id + */ + private Long matrixId; + + /** + * 光伏板名称 + */ + private String name; + + /** + * 完成状态(0未完成 1完成) + */ + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + private String finishType; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanel/PhotovoltaicPanelUpdateReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanel/PhotovoltaicPanelUpdateReq.java new file mode 100644 index 00000000..ae9a1d80 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanel/PhotovoltaicPanelUpdateReq.java @@ -0,0 +1,59 @@ +package org.dromara.facility.domain.req.photovoltaicpanel; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + +/** + * @author lcj + * @date 2025/4/21 14:03 + */ +@Data +public class PhotovoltaicPanelUpdateReq implements Serializable { + + @Serial + private static final long serialVersionUID = -7179168647795418115L; + + /** + * 主键 + */ + private Long id; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵id + */ + private Long matrixId; + + /** + * 光伏板名称 + */ + private String name; + + /** + * 光伏板位置 + */ + private List> positionList; + + /** + * 完成状态(0未完成 1完成) + */ + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + private String finishType; + + /** + * 备注 + */ + private String remark; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelcolumn/PhotovoltaicPanelColumnCreateReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelcolumn/PhotovoltaicPanelColumnCreateReq.java new file mode 100644 index 00000000..db93cb3b --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelcolumn/PhotovoltaicPanelColumnCreateReq.java @@ -0,0 +1,54 @@ +package org.dromara.facility.domain.req.photovoltaicpanelcolumn; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + +/** + * @author lcj + * @date 2025/4/22 9:50 + */ +@Data +public class PhotovoltaicPanelColumnCreateReq implements Serializable { + + @Serial + private static final long serialVersionUID = 5783638527565322237L; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵id + */ + private Long matrixId; + + /** + * 光伏板立柱名称 + */ + private String name; + + /** + * 光伏板立柱位置 + */ + private List positionList; + + /** + * 完成状态(0未完成 1完成) + */ + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + private String finishType; + + /** + * 备注 + */ + private String remark; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelcolumn/PhotovoltaicPanelColumnQueryReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelcolumn/PhotovoltaicPanelColumnQueryReq.java new file mode 100644 index 00000000..7d54bcac --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelcolumn/PhotovoltaicPanelColumnQueryReq.java @@ -0,0 +1,43 @@ +package org.dromara.facility.domain.req.photovoltaicpanelcolumn; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** + * @author lcj + * @date 2025/4/22 9:51 + */ +@Data +public class PhotovoltaicPanelColumnQueryReq implements Serializable { + + @Serial + private static final long serialVersionUID = -4288306372664325906L; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵id + */ + private Long matrixId; + + /** + * 光伏板立柱名称 + */ + private String name; + + /** + * 完成状态(0未完成 1完成) + */ + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + private String finishType; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelcolumn/PhotovoltaicPanelColumnUpdateReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelcolumn/PhotovoltaicPanelColumnUpdateReq.java new file mode 100644 index 00000000..e0e1ed5a --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelcolumn/PhotovoltaicPanelColumnUpdateReq.java @@ -0,0 +1,59 @@ +package org.dromara.facility.domain.req.photovoltaicpanelcolumn; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + +/** + * @author lcj + * @date 2025/4/22 9:50 + */ +@Data +public class PhotovoltaicPanelColumnUpdateReq implements Serializable { + + @Serial + private static final long serialVersionUID = 6489049981734037038L; + + /** + * 主键 + */ + private Long id; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵id + */ + private Long matrixId; + + /** + * 光伏板立柱名称 + */ + private String name; + + /** + * 光伏板立柱位置 + */ + private List positionList; + + /** + * 完成状态(0未完成 1完成) + */ + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + private String finishType; + + /** + * 备注 + */ + private String remark; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelparts/PhotovoltaicPanelPartsCreateReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelparts/PhotovoltaicPanelPartsCreateReq.java new file mode 100644 index 00000000..523aff35 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelparts/PhotovoltaicPanelPartsCreateReq.java @@ -0,0 +1,54 @@ +package org.dromara.facility.domain.req.photovoltaicpanelparts; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + +/** + * @author lcj + * @date 2025/4/21 15:45 + */ +@Data +public class PhotovoltaicPanelPartsCreateReq implements Serializable { + + @Serial + private static final long serialVersionUID = -584396159753737769L; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵id + */ + private Long matrixId; + + /** + * 光伏板(桩点、立柱、支架)名称 + */ + private String name; + + /** + * 光伏板(桩点、立柱、支架)位置 + */ + private List positionList; + + /** + * 完成状态(0未完成 1完成) + */ + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + private String finishType; + + /** + * 备注 + */ + private String remark; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelpoint/PhotovoltaicPanelPointCreateReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelpoint/PhotovoltaicPanelPointCreateReq.java new file mode 100644 index 00000000..13ff6e81 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelpoint/PhotovoltaicPanelPointCreateReq.java @@ -0,0 +1,54 @@ +package org.dromara.facility.domain.req.photovoltaicpanelpoint; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + +/** + * @author lcj + * @date 2025/4/22 9:48 + */ +@Data +public class PhotovoltaicPanelPointCreateReq implements Serializable { + + @Serial + private static final long serialVersionUID = -8316395563268976925L; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵id + */ + private Long matrixId; + + /** + * 光伏板桩点名称 + */ + private String name; + + /** + * 光伏板桩点位置 + */ + private List positionList; + + /** + * 完成状态(0未完成 1完成) + */ + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + private String finishType; + + /** + * 备注 + */ + private String remark; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelpoint/PhotovoltaicPanelPointQueryReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelpoint/PhotovoltaicPanelPointQueryReq.java new file mode 100644 index 00000000..0d2fba65 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelpoint/PhotovoltaicPanelPointQueryReq.java @@ -0,0 +1,43 @@ +package org.dromara.facility.domain.req.photovoltaicpanelpoint; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** + * @author lcj + * @date 2025/4/22 9:48 + */ +@Data +public class PhotovoltaicPanelPointQueryReq implements Serializable { + + @Serial + private static final long serialVersionUID = 5325875051802738981L; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵id + */ + private Long matrixId; + + /** + * 光伏板桩点名称 + */ + private String name; + + /** + * 完成状态(0未完成 1完成) + */ + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + private String finishType; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelpoint/PhotovoltaicPanelPointUpdateReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelpoint/PhotovoltaicPanelPointUpdateReq.java new file mode 100644 index 00000000..4b432678 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelpoint/PhotovoltaicPanelPointUpdateReq.java @@ -0,0 +1,59 @@ +package org.dromara.facility.domain.req.photovoltaicpanelpoint; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + +/** + * @author lcj + * @date 2025/4/22 9:48 + */ +@Data +public class PhotovoltaicPanelPointUpdateReq implements Serializable { + + @Serial + private static final long serialVersionUID = -6060380651961899938L; + + /** + * 主键 + */ + private Long id; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵id + */ + private Long matrixId; + + /** + * 光伏板桩点名称 + */ + private String name; + + /** + * 光伏板桩点位置 + */ + private List positionList; + + /** + * 完成状态(0未完成 1完成) + */ + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + private String finishType; + + /** + * 备注 + */ + private String remark; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelsupport/PhotovoltaicPanelSupportCreateReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelsupport/PhotovoltaicPanelSupportCreateReq.java new file mode 100644 index 00000000..54ba230a --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelsupport/PhotovoltaicPanelSupportCreateReq.java @@ -0,0 +1,54 @@ +package org.dromara.facility.domain.req.photovoltaicpanelsupport; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + +/** + * @author lcj + * @date 2025/4/22 9:40 + */ +@Data +public class PhotovoltaicPanelSupportCreateReq implements Serializable { + + @Serial + private static final long serialVersionUID = 2859712819532622700L; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵id + */ + private Long matrixId; + + /** + * 光伏板支架名称 + */ + private String name; + + /** + * 光伏板支架位置 + */ + private List positionList; + + /** + * 完成状态(0未完成 1完成) + */ + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + private String finishType; + + /** + * 备注 + */ + private String remark; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelsupport/PhotovoltaicPanelSupportQueryReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelsupport/PhotovoltaicPanelSupportQueryReq.java new file mode 100644 index 00000000..c0ee9cf3 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelsupport/PhotovoltaicPanelSupportQueryReq.java @@ -0,0 +1,43 @@ +package org.dromara.facility.domain.req.photovoltaicpanelsupport; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** + * @author lcj + * @date 2025/4/22 9:43 + */ +@Data +public class PhotovoltaicPanelSupportQueryReq implements Serializable { + + @Serial + private static final long serialVersionUID = 6204782404060432065L; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵id + */ + private Long matrixId; + + /** + * 光伏板支架名称 + */ + private String name; + + /** + * 完成状态(0未完成 1完成) + */ + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + private String finishType; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelsupport/PhotovoltaicPanelSupportUpdateReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelsupport/PhotovoltaicPanelSupportUpdateReq.java new file mode 100644 index 00000000..db9997e8 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/req/photovoltaicpanelsupport/PhotovoltaicPanelSupportUpdateReq.java @@ -0,0 +1,59 @@ +package org.dromara.facility.domain.req.photovoltaicpanelsupport; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + +/** + * @author lcj + * @date 2025/4/22 9:40 + */ +@Data +public class PhotovoltaicPanelSupportUpdateReq implements Serializable { + + @Serial + private static final long serialVersionUID = 2466440719288904185L; + + /** + * 主键 + */ + private Long id; + + /** + * 项目id + */ + private Long projectId; + + /** + * 方阵id + */ + private Long matrixId; + + /** + * 光伏板支架名称 + */ + private String name; + + /** + * 光伏板支架位置 + */ + private List positionList; + + /** + * 完成状态(0未完成 1完成) + */ + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + private String finishType; + + /** + * 备注 + */ + private String remark; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/vo/FacBoxTransformerVo.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/vo/FacBoxTransformerVo.java new file mode 100644 index 00000000..37b7625e --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/vo/FacBoxTransformerVo.java @@ -0,0 +1,86 @@ +package org.dromara.facility.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import org.dromara.facility.domain.FacBoxTransformer; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + + +/** + * 设施-箱变视图对象 fac_box_transformer + * + * @author lcj + * @date 2025-04-21 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = FacBoxTransformer.class) +public class FacBoxTransformerVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ExcelProperty(value = "主键") + private Long id; + + /** + * 项目id + */ + @ExcelProperty(value = "项目id") + private Long projectId; + + /** + * 方阵id + */ + @ExcelProperty(value = "方阵id") + private Long matrixId; + + /** + * 箱变名称 + */ + @ExcelProperty(value = "箱变名称") + private String name; + + /** + * 箱变位置 + */ + @ExcelProperty(value = "箱变位置") + private String positions; + + /** + * 箱变位置 + */ + private List positionList; + + /** + * 完成状态(0未完成 1完成) + */ + @ExcelProperty(value = "完成状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "0=未完成,1=完成") + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + @ExcelProperty(value = "完成类型", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "1=手动填报,2=AI填报") + private String finishType; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/vo/FacInverterVo.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/vo/FacInverterVo.java new file mode 100644 index 00000000..99ca98e0 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/vo/FacInverterVo.java @@ -0,0 +1,86 @@ +package org.dromara.facility.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import org.dromara.facility.domain.FacInverter; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + + +/** + * 设施-逆变器视图对象 fac_inverter + * + * @author lcj + * @date 2025-04-21 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = FacInverter.class) +public class FacInverterVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ExcelProperty(value = "主键") + private Long id; + + /** + * 项目id + */ + @ExcelProperty(value = "项目id") + private Long projectId; + + /** + * 方阵id + */ + @ExcelProperty(value = "方阵id") + private Long matrixId; + + /** + * 逆变器名称 + */ + @ExcelProperty(value = "逆变器名称") + private String name; + + /** + * 逆变器位置 + */ + @ExcelProperty(value = "逆变器位置") + private String positions; + + /** + * 逆变器位置 + */ + private List positionList; + + /** + * 完成状态(0未完成 1完成) + */ + @ExcelProperty(value = "完成状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "0=未完成,1=完成") + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + @ExcelProperty(value = "完成类型", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "1=手动填报,2=AI填报") + private String finishType; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/vo/FacMatrixVo.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/vo/FacMatrixVo.java new file mode 100644 index 00000000..660e7517 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/vo/FacMatrixVo.java @@ -0,0 +1,64 @@ +package org.dromara.facility.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import org.dromara.facility.domain.FacMatrix; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + + +/** + * 设施-方阵视图对象 fac_matrix + * + * @author lcj + * @date 2025-04-21 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = FacMatrix.class) +public class FacMatrixVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ExcelProperty(value = "主键") + private Long id; + + /** + * 项目id + */ + @ExcelProperty(value = "项目id") + private Long projectId; + + /** + * 方阵名称 + */ + @ExcelProperty(value = "方阵名称") + private String matrixName; + + /** + * 方阵位置 + */ + @ExcelProperty(value = "方阵位置") + private String positions; + + /** + * 方阵位置 + */ + private List> positionList; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/vo/FacPhotovoltaicPanelColumnVo.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/vo/FacPhotovoltaicPanelColumnVo.java new file mode 100644 index 00000000..eb0b84c2 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/vo/FacPhotovoltaicPanelColumnVo.java @@ -0,0 +1,86 @@ +package org.dromara.facility.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import org.dromara.facility.domain.FacPhotovoltaicPanelColumn; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + + +/** + * 设施-光伏板立柱视图对象 fac_photovoltaic_panel_column + * + * @author lcj + * @date 2025-04-21 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = FacPhotovoltaicPanelColumn.class) +public class FacPhotovoltaicPanelColumnVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ExcelProperty(value = "主键") + private Long id; + + /** + * 项目id + */ + @ExcelProperty(value = "项目id") + private Long projectId; + + /** + * 方阵id + */ + @ExcelProperty(value = "方阵id") + private Long matrixId; + + /** + * 光伏板立柱名称 + */ + @ExcelProperty(value = "光伏板立柱名称") + private String name; + + /** + * 光伏板立柱位置 + */ + @ExcelProperty(value = "光伏板立柱位置") + private String positions; + + /** + * 光伏板立柱位置 + */ + private List positionList; + + /** + * 完成状态(0未完成 1完成) + */ + @ExcelProperty(value = "完成状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "0=未完成,1=完成") + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + @ExcelProperty(value = "完成类型", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "1=手动填报,2=AI填报") + private String finishType; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/vo/FacPhotovoltaicPanelPointVo.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/vo/FacPhotovoltaicPanelPointVo.java new file mode 100644 index 00000000..565628b6 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/vo/FacPhotovoltaicPanelPointVo.java @@ -0,0 +1,86 @@ +package org.dromara.facility.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import org.dromara.facility.domain.FacPhotovoltaicPanelPoint; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + + +/** + * 设施-光伏板桩点视图对象 fac_photovoltaic_panel_point + * + * @author lcj + * @date 2025-04-21 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = FacPhotovoltaicPanelPoint.class) +public class FacPhotovoltaicPanelPointVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ExcelProperty(value = "主键") + private Long id; + + /** + * 项目id + */ + @ExcelProperty(value = "项目id") + private Long projectId; + + /** + * 方阵id + */ + @ExcelProperty(value = "方阵id") + private Long matrixId; + + /** + * 光伏板桩点名称 + */ + @ExcelProperty(value = "光伏板桩点名称") + private String name; + + /** + * 光伏板桩点位置 + */ + @ExcelProperty(value = "光伏板桩点位置") + private String positions; + + /** + * 光伏板桩点位置 + */ + private List positionList; + + /** + * 完成状态(0未完成 1完成) + */ + @ExcelProperty(value = "完成状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "0=未完成,1=完成") + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + @ExcelProperty(value = "完成类型", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "1=手动填报,2=AI填报") + private String finishType; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/vo/FacPhotovoltaicPanelSupportVo.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/vo/FacPhotovoltaicPanelSupportVo.java new file mode 100644 index 00000000..4873a0b1 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/vo/FacPhotovoltaicPanelSupportVo.java @@ -0,0 +1,86 @@ +package org.dromara.facility.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import org.dromara.facility.domain.FacPhotovoltaicPanelSupport; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + + +/** + * 设施-光伏板支架视图对象 fac_photovoltaic_panel_support + * + * @author lcj + * @date 2025-04-21 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = FacPhotovoltaicPanelSupport.class) +public class FacPhotovoltaicPanelSupportVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ExcelProperty(value = "主键") + private Long id; + + /** + * 项目id + */ + @ExcelProperty(value = "项目id") + private Long projectId; + + /** + * 方阵id + */ + @ExcelProperty(value = "方阵id") + private Long matrixId; + + /** + * 光伏板支架名称 + */ + @ExcelProperty(value = "光伏板支架名称") + private String name; + + /** + * 光伏板支架位置 + */ + @ExcelProperty(value = "光伏板支架位置") + private String positions; + + /** + * 光伏板支架位置 + */ + private List positionList; + + /** + * 完成状态(0未完成 1完成) + */ + @ExcelProperty(value = "完成状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "0=未完成,1=完成") + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + @ExcelProperty(value = "完成类型", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "1=手动填报,2=AI填报") + private String finishType; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/vo/FacPhotovoltaicPanelVo.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/vo/FacPhotovoltaicPanelVo.java new file mode 100644 index 00000000..b9bd6136 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/domain/vo/FacPhotovoltaicPanelVo.java @@ -0,0 +1,86 @@ +package org.dromara.facility.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import org.dromara.facility.domain.FacPhotovoltaicPanel; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + + +/** + * 设施-光伏板视图对象 fac_photovoltaic_panel + * + * @author lcj + * @date 2025-04-21 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = FacPhotovoltaicPanel.class) +public class FacPhotovoltaicPanelVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ExcelProperty(value = "主键") + private Long id; + + /** + * 项目id + */ + @ExcelProperty(value = "项目id") + private Long projectId; + + /** + * 方阵id + */ + @ExcelProperty(value = "方阵id") + private Long matrixId; + + /** + * 光伏板名称 + */ + @ExcelProperty(value = "光伏板名称") + private String name; + + /** + * 光伏板位置 + */ + @ExcelProperty(value = "光伏板位置") + private String positions; + + /** + * 光伏板位置 + */ + private List> positionList; + + /** + * 完成状态(0未完成 1完成) + */ + @ExcelProperty(value = "完成状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "0=未完成,1=完成") + private String status; + + /** + * 完成类型(1手动填报 2AI填报) + */ + @ExcelProperty(value = "完成类型", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "1=手动填报,2=AI填报") + private String finishType; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/mapper/FacBoxTransformerMapper.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/mapper/FacBoxTransformerMapper.java new file mode 100644 index 00000000..4702464a --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/mapper/FacBoxTransformerMapper.java @@ -0,0 +1,15 @@ +package org.dromara.facility.mapper; + +import org.dromara.facility.domain.FacBoxTransformer; +import org.dromara.facility.domain.vo.FacBoxTransformerVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 设施-箱变Mapper接口 + * + * @author lcj + * @date 2025-04-21 + */ +public interface FacBoxTransformerMapper extends BaseMapperPlus { + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/mapper/FacInverterMapper.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/mapper/FacInverterMapper.java new file mode 100644 index 00000000..e0f0bb12 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/mapper/FacInverterMapper.java @@ -0,0 +1,15 @@ +package org.dromara.facility.mapper; + +import org.dromara.facility.domain.FacInverter; +import org.dromara.facility.domain.vo.FacInverterVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 设施-逆变器Mapper接口 + * + * @author lcj + * @date 2025-04-21 + */ +public interface FacInverterMapper extends BaseMapperPlus { + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/mapper/FacMatrixMapper.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/mapper/FacMatrixMapper.java new file mode 100644 index 00000000..8b86459a --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/mapper/FacMatrixMapper.java @@ -0,0 +1,15 @@ +package org.dromara.facility.mapper; + +import org.dromara.facility.domain.FacMatrix; +import org.dromara.facility.domain.vo.FacMatrixVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 设施-方阵Mapper接口 + * + * @author lcj + * @date 2025-04-21 + */ +public interface FacMatrixMapper extends BaseMapperPlus { + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/mapper/FacPhotovoltaicPanelColumnMapper.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/mapper/FacPhotovoltaicPanelColumnMapper.java new file mode 100644 index 00000000..dd358fa7 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/mapper/FacPhotovoltaicPanelColumnMapper.java @@ -0,0 +1,15 @@ +package org.dromara.facility.mapper; + +import org.dromara.facility.domain.FacPhotovoltaicPanelColumn; +import org.dromara.facility.domain.vo.FacPhotovoltaicPanelColumnVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 设施-光伏板立柱Mapper接口 + * + * @author lcj + * @date 2025-04-21 + */ +public interface FacPhotovoltaicPanelColumnMapper extends BaseMapperPlus { + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/mapper/FacPhotovoltaicPanelMapper.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/mapper/FacPhotovoltaicPanelMapper.java new file mode 100644 index 00000000..cdfb0711 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/mapper/FacPhotovoltaicPanelMapper.java @@ -0,0 +1,15 @@ +package org.dromara.facility.mapper; + +import org.dromara.facility.domain.FacPhotovoltaicPanel; +import org.dromara.facility.domain.vo.FacPhotovoltaicPanelVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 设施-光伏板Mapper接口 + * + * @author lcj + * @date 2025-04-21 + */ +public interface FacPhotovoltaicPanelMapper extends BaseMapperPlus { + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/mapper/FacPhotovoltaicPanelPointMapper.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/mapper/FacPhotovoltaicPanelPointMapper.java new file mode 100644 index 00000000..72476092 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/mapper/FacPhotovoltaicPanelPointMapper.java @@ -0,0 +1,15 @@ +package org.dromara.facility.mapper; + +import org.dromara.facility.domain.FacPhotovoltaicPanelPoint; +import org.dromara.facility.domain.vo.FacPhotovoltaicPanelPointVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 设施-光伏板桩点Mapper接口 + * + * @author lcj + * @date 2025-04-21 + */ +public interface FacPhotovoltaicPanelPointMapper extends BaseMapperPlus { + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/mapper/FacPhotovoltaicPanelSupportMapper.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/mapper/FacPhotovoltaicPanelSupportMapper.java new file mode 100644 index 00000000..48605c1f --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/mapper/FacPhotovoltaicPanelSupportMapper.java @@ -0,0 +1,15 @@ +package org.dromara.facility.mapper; + +import org.dromara.facility.domain.FacPhotovoltaicPanelSupport; +import org.dromara.facility.domain.vo.FacPhotovoltaicPanelSupportVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 设施-光伏板支架Mapper接口 + * + * @author lcj + * @date 2025-04-21 + */ +public interface FacPhotovoltaicPanelSupportMapper extends BaseMapperPlus { + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacBoxTransformerService.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacBoxTransformerService.java new file mode 100644 index 00000000..bc0c960e --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacBoxTransformerService.java @@ -0,0 +1,99 @@ +package org.dromara.facility.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.facility.domain.FacBoxTransformer; +import org.dromara.facility.domain.req.boxtransformer.BoxTransformerCreateReq; +import org.dromara.facility.domain.req.boxtransformer.BoxTransformerQueryReq; +import org.dromara.facility.domain.req.boxtransformer.BoxTransformerUpdateReq; +import org.dromara.facility.domain.vo.FacBoxTransformerVo; + +import java.util.Collection; +import java.util.List; + +/** + * 设施-箱变Service接口 + * + * @author lcj + * @date 2025-04-21 + */ +public interface IFacBoxTransformerService extends IService { + + /** + * 查询设施-箱变 + * + * @param id 主键 + * @return 设施-箱变 + */ + FacBoxTransformerVo queryById(Long id); + + /** + * 分页查询设施-箱变列表 + * + * @param req 查询条件 + * @param pageQuery 分页参数 + * @return 设施-箱变分页列表 + */ + TableDataInfo queryPageList(BoxTransformerQueryReq req, PageQuery pageQuery); + + /** + * 查询符合条件的设施-箱变列表 + * + * @param req 查询条件 + * @return 设施-箱变列表 + */ + List queryList(BoxTransformerQueryReq req); + + /** + * 新增设施-箱变 + * + * @param req 设施-箱变 + * @return 新增箱变id + */ + Long insertByBo(BoxTransformerCreateReq req); + + /** + * 修改设施-箱变 + * + * @param req 设施-箱变 + * @return 是否修改成功 + */ + Boolean updateByBo(BoxTransformerUpdateReq req); + + /** + * 校验并批量删除设施-箱变信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 获取设施-箱变视图对象 + * + * @param boxTransformer 设施-箱变对象 + * @return 设施-箱变视图对象 + */ + FacBoxTransformerVo getVo(FacBoxTransformer boxTransformer); + + /** + * 获取设施-箱变查询条件封装 + * + * @param req 查询条件 + * @return 查询条件封装 + */ + LambdaQueryWrapper buildQueryWrapper(BoxTransformerQueryReq req); + + /** + * 获取设施-箱变分页对象视图 + * + * @param boxTransformerPage 设施-箱变分页对象 + * @return 设施-箱变分页对象视图 + */ + Page getVoPage(Page boxTransformerPage); + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacInverterService.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacInverterService.java new file mode 100644 index 00000000..adf8b41b --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacInverterService.java @@ -0,0 +1,99 @@ +package org.dromara.facility.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.facility.domain.FacInverter; +import org.dromara.facility.domain.req.inverter.InverterCreateReq; +import org.dromara.facility.domain.req.inverter.InverterQueryReq; +import org.dromara.facility.domain.req.inverter.InverterUpdateReq; +import org.dromara.facility.domain.vo.FacInverterVo; + +import java.util.Collection; +import java.util.List; + +/** + * 设施-逆变器Service接口 + * + * @author lcj + * @date 2025-04-21 + */ +public interface IFacInverterService extends IService { + + /** + * 查询设施-逆变器 + * + * @param id 主键 + * @return 设施-逆变器 + */ + FacInverterVo queryById(Long id); + + /** + * 分页查询设施-逆变器列表 + * + * @param req 查询条件 + * @param pageQuery 分页参数 + * @return 设施-逆变器分页列表 + */ + TableDataInfo queryPageList(InverterQueryReq req, PageQuery pageQuery); + + /** + * 查询符合条件的设施-逆变器列表 + * + * @param req 查询条件 + * @return 设施-逆变器列表 + */ + List queryList(InverterQueryReq req); + + /** + * 新增设施-逆变器 + * + * @param req 设施-逆变器 + * @return 新增逆变器id + */ + Long insertByBo(InverterCreateReq req); + + /** + * 修改设施-逆变器 + * + * @param req 设施-逆变器 + * @return 是否修改成功 + */ + Boolean updateByBo(InverterUpdateReq req); + + /** + * 校验并批量删除设施-逆变器信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 获取设施-逆变器视图对象 + * + * @param inverter 设施-逆变器对象 + * @return 设施-逆变器视图对象 + */ + FacInverterVo getVo(FacInverter inverter); + + /** + * 获取设施-逆变器查询条件封装 + * + * @param req 查询条件 + * @return 查询条件封装 + */ + LambdaQueryWrapper buildQueryWrapper(InverterQueryReq req); + + /** + * 获取设施-逆变器分页对象视图 + * + * @param inverterPage 设施-逆变器分页对象 + * @return 设施-逆变器分页对象视图 + */ + Page getVoPage(Page inverterPage); + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacMatrixService.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacMatrixService.java new file mode 100644 index 00000000..0e48e415 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacMatrixService.java @@ -0,0 +1,99 @@ +package org.dromara.facility.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.facility.domain.FacMatrix; +import org.dromara.facility.domain.req.matrix.MatrixCreateReq; +import org.dromara.facility.domain.req.matrix.MatrixQueryReq; +import org.dromara.facility.domain.req.matrix.MatrixUpdateReq; +import org.dromara.facility.domain.vo.FacMatrixVo; + +import java.util.Collection; +import java.util.List; + +/** + * 设施-方阵Service接口 + * + * @author lcj + * @date 2025-04-21 + */ +public interface IFacMatrixService extends IService { + + /** + * 查询设施-方阵 + * + * @param id 主键 + * @return 设施-方阵 + */ + FacMatrixVo queryById(Long id); + + /** + * 分页查询设施-方阵列表 + * + * @param req 查询条件 + * @param pageQuery 分页参数 + * @return 设施-方阵分页列表 + */ + TableDataInfo queryPageList(MatrixQueryReq req, PageQuery pageQuery); + + /** + * 查询符合条件的设施-方阵列表 + * + * @param req 查询条件 + * @return 设施-方阵列表 + */ + List queryList(MatrixQueryReq req); + + /** + * 新增设施-方阵 + * + * @param req 设施-方阵 + * @return 新增方阵id + */ + Long insertByBo(MatrixCreateReq req); + + /** + * 修改设施-方阵 + * + * @param req 设施-方阵 + * @return 是否修改成功 + */ + Boolean updateByBo(MatrixUpdateReq req); + + /** + * 校验并批量删除设施-方阵信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 获取设施-方阵视图对象 + * + * @param matrix 设施-方阵对象 + * @return 设施-方阵视图对象 + */ + FacMatrixVo getVo(FacMatrix matrix); + + /** + * 获取设施-方阵查询条件封装 + * + * @param req 查询条件 + * @return 查询条件封装 + */ + LambdaQueryWrapper buildQueryWrapper(MatrixQueryReq req); + + /** + * 获取设施-方阵分页对象视图 + * + * @param matrixPage 设施-方阵分页对象 + * @return 设施-方阵分页对象视图 + */ + Page getVoPage(Page matrixPage); + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelColumnService.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelColumnService.java new file mode 100644 index 00000000..e3f5615e --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelColumnService.java @@ -0,0 +1,99 @@ +package org.dromara.facility.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.facility.domain.FacPhotovoltaicPanelColumn; +import org.dromara.facility.domain.req.photovoltaicpanelcolumn.PhotovoltaicPanelColumnCreateReq; +import org.dromara.facility.domain.req.photovoltaicpanelcolumn.PhotovoltaicPanelColumnQueryReq; +import org.dromara.facility.domain.req.photovoltaicpanelcolumn.PhotovoltaicPanelColumnUpdateReq; +import org.dromara.facility.domain.vo.FacPhotovoltaicPanelColumnVo; + +import java.util.Collection; +import java.util.List; + +/** + * 设施-光伏板立柱Service接口 + * + * @author lcj + * @date 2025-04-21 + */ +public interface IFacPhotovoltaicPanelColumnService extends IService { + + /** + * 查询设施-光伏板立柱 + * + * @param id 主键 + * @return 设施-光伏板立柱 + */ + FacPhotovoltaicPanelColumnVo queryById(Long id); + + /** + * 分页查询设施-光伏板立柱列表 + * + * @param req 查询条件 + * @param pageQuery 分页参数 + * @return 设施-光伏板立柱分页列表 + */ + TableDataInfo queryPageList(PhotovoltaicPanelColumnQueryReq req, PageQuery pageQuery); + + /** + * 查询符合条件的设施-光伏板立柱列表 + * + * @param req 查询条件 + * @return 设施-光伏板立柱列表 + */ + List queryList(PhotovoltaicPanelColumnQueryReq req); + + /** + * 新增设施-光伏板立柱 + * + * @param req 设施-光伏板立柱 + * @return 新增光伏板立柱id + */ + Long insertByBo(PhotovoltaicPanelColumnCreateReq req); + + /** + * 修改设施-光伏板立柱 + * + * @param req 设施-光伏板立柱 + * @return 是否修改成功 + */ + Boolean updateByBo(PhotovoltaicPanelColumnUpdateReq req); + + /** + * 校验并批量删除设施-光伏板立柱信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 获取设施-光伏板立柱视图对象 + * + * @param photovoltaicPanelColumn 设施-光伏板立柱对象 + * @return 设施-光伏板立柱视图对象 + */ + FacPhotovoltaicPanelColumnVo getVo(FacPhotovoltaicPanelColumn photovoltaicPanelColumn); + + /** + * 获取设施-光伏板立柱查询条件封装 + * + * @param req 查询条件 + * @return 查询条件封装 + */ + LambdaQueryWrapper buildQueryWrapper(PhotovoltaicPanelColumnQueryReq req); + + /** + * 获取设施-光伏板立柱分页对象视图 + * + * @param photovoltaicPanelColumnPage 设施-光伏板立柱分页对象 + * @return 设施-光伏板立柱分页对象视图 + */ + Page getVoPage(Page photovoltaicPanelColumnPage); + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelPartsService.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelPartsService.java new file mode 100644 index 00000000..27c0746a --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelPartsService.java @@ -0,0 +1,21 @@ +package org.dromara.facility.service; + +import org.dromara.facility.domain.req.photovoltaicpanelparts.PhotovoltaicPanelPartsCreateReq; + +/** + * 设施-光伏板(桩点、立柱、支架)Service接口 + * + * @author lcj + * @date 2025-04-21 + */ +public interface IFacPhotovoltaicPanelPartsService { + + /** + * 批量新增设施-光伏板(桩点、立柱、支架) + * + * @param req 设施-光伏板(桩点、立柱、支架) + * @return 是否新增成功 + */ + Boolean insertPartsByBatch(PhotovoltaicPanelPartsCreateReq req); + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelPointService.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelPointService.java new file mode 100644 index 00000000..10241c05 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelPointService.java @@ -0,0 +1,99 @@ +package org.dromara.facility.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.facility.domain.FacPhotovoltaicPanelPoint; +import org.dromara.facility.domain.req.photovoltaicpanelpoint.PhotovoltaicPanelPointCreateReq; +import org.dromara.facility.domain.req.photovoltaicpanelpoint.PhotovoltaicPanelPointQueryReq; +import org.dromara.facility.domain.req.photovoltaicpanelpoint.PhotovoltaicPanelPointUpdateReq; +import org.dromara.facility.domain.vo.FacPhotovoltaicPanelPointVo; + +import java.util.Collection; +import java.util.List; + +/** + * 设施-光伏板桩点Service接口 + * + * @author lcj + * @date 2025-04-21 + */ +public interface IFacPhotovoltaicPanelPointService extends IService { + + /** + * 查询设施-光伏板桩点 + * + * @param id 主键 + * @return 设施-光伏板桩点 + */ + FacPhotovoltaicPanelPointVo queryById(Long id); + + /** + * 分页查询设施-光伏板桩点列表 + * + * @param req 查询条件 + * @param pageQuery 分页参数 + * @return 设施-光伏板桩点分页列表 + */ + TableDataInfo queryPageList(PhotovoltaicPanelPointQueryReq req, PageQuery pageQuery); + + /** + * 查询符合条件的设施-光伏板桩点列表 + * + * @param req 查询条件 + * @return 设施-光伏板桩点列表 + */ + List queryList(PhotovoltaicPanelPointQueryReq req); + + /** + * 新增设施-光伏板桩点 + * + * @param req 设施-光伏板桩点 + * @return 新增光伏板桩点id + */ + Long insertByBo(PhotovoltaicPanelPointCreateReq req); + + /** + * 修改设施-光伏板桩点 + * + * @param req 设施-光伏板桩点 + * @return 是否修改成功 + */ + Boolean updateByBo(PhotovoltaicPanelPointUpdateReq req); + + /** + * 校验并批量删除设施-光伏板桩点信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 获取设施-光伏板桩点视图对象 + * + * @param photovoltaicPanelPoint 设施-光伏板桩点对象 + * @return 设施-光伏板桩点视图对象 + */ + FacPhotovoltaicPanelPointVo getVo(FacPhotovoltaicPanelPoint photovoltaicPanelPoint); + + /** + * 获取设施-光伏板桩点查询条件封装 + * + * @param req 查询条件 + * @return 查询条件封装 + */ + LambdaQueryWrapper buildQueryWrapper(PhotovoltaicPanelPointQueryReq req); + + /** + * 获取设施-光伏板桩点分页对象视图 + * + * @param photovoltaicPanelPointPage 设施-光伏板桩点分页对象 + * @return 设施-光伏板桩点分页对象视图 + */ + Page getVoPage(Page photovoltaicPanelPointPage); + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelService.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelService.java new file mode 100644 index 00000000..5459f52a --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelService.java @@ -0,0 +1,99 @@ +package org.dromara.facility.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.facility.domain.FacPhotovoltaicPanel; +import org.dromara.facility.domain.req.photovoltaicpanel.PhotovoltaicPanelCreateReq; +import org.dromara.facility.domain.req.photovoltaicpanel.PhotovoltaicPanelQueryReq; +import org.dromara.facility.domain.req.photovoltaicpanel.PhotovoltaicPanelUpdateReq; +import org.dromara.facility.domain.vo.FacPhotovoltaicPanelVo; + +import java.util.Collection; +import java.util.List; + +/** + * 设施-光伏板Service接口 + * + * @author lcj + * @date 2025-04-21 + */ +public interface IFacPhotovoltaicPanelService extends IService { + + /** + * 查询设施-光伏板 + * + * @param id 主键 + * @return 设施-光伏板 + */ + FacPhotovoltaicPanelVo queryById(Long id); + + /** + * 分页查询设施-光伏板列表 + * + * @param req 查询条件 + * @param pageQuery 分页参数 + * @return 设施-光伏板分页列表 + */ + TableDataInfo queryPageList(PhotovoltaicPanelQueryReq req, PageQuery pageQuery); + + /** + * 查询符合条件的设施-光伏板列表 + * + * @param req 查询条件 + * @return 设施-光伏板列表 + */ + List queryList(PhotovoltaicPanelQueryReq req); + + /** + * 新增设施-光伏板 + * + * @param req 设施-光伏板 + * @return 新增光伏板id + */ + Long insertByBo(PhotovoltaicPanelCreateReq req); + + /** + * 修改设施-光伏板 + * + * @param req 设施-光伏板 + * @return 是否修改成功 + */ + Boolean updateByBo(PhotovoltaicPanelUpdateReq req); + + /** + * 校验并批量删除设施-光伏板信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 获取设施-光伏板视图对象 + * + * @param photovoltaicPanel 设施-光伏板对象 + * @return 设施-光伏板视图对象 + */ + FacPhotovoltaicPanelVo getVo(FacPhotovoltaicPanel photovoltaicPanel); + + /** + * 获取设施-光伏板查询条件封装 + * + * @param req 查询条件 + * @return 查询条件封装 + */ + LambdaQueryWrapper buildQueryWrapper(PhotovoltaicPanelQueryReq req); + + /** + * 获取设施-光伏板分页对象视图 + * + * @param photovoltaicPanelPage 设施-光伏板分页对象 + * @return 设施-光伏板分页对象视图 + */ + Page getVoPage(Page photovoltaicPanelPage); + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelSupportService.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelSupportService.java new file mode 100644 index 00000000..895792a3 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelSupportService.java @@ -0,0 +1,99 @@ +package org.dromara.facility.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.facility.domain.FacPhotovoltaicPanelSupport; +import org.dromara.facility.domain.req.photovoltaicpanelsupport.PhotovoltaicPanelSupportCreateReq; +import org.dromara.facility.domain.req.photovoltaicpanelsupport.PhotovoltaicPanelSupportQueryReq; +import org.dromara.facility.domain.req.photovoltaicpanelsupport.PhotovoltaicPanelSupportUpdateReq; +import org.dromara.facility.domain.vo.FacPhotovoltaicPanelSupportVo; + +import java.util.Collection; +import java.util.List; + +/** + * 设施-光伏板支架Service接口 + * + * @author lcj + * @date 2025-04-21 + */ +public interface IFacPhotovoltaicPanelSupportService extends IService { + + /** + * 查询设施-光伏板支架 + * + * @param id 主键 + * @return 设施-光伏板支架 + */ + FacPhotovoltaicPanelSupportVo queryById(Long id); + + /** + * 分页查询设施-光伏板支架列表 + * + * @param req 查询条件 + * @param pageQuery 分页参数 + * @return 设施-光伏板支架分页列表 + */ + TableDataInfo queryPageList(PhotovoltaicPanelSupportQueryReq req, PageQuery pageQuery); + + /** + * 查询符合条件的设施-光伏板支架列表 + * + * @param req 查询条件 + * @return 设施-光伏板支架列表 + */ + List queryList(PhotovoltaicPanelSupportQueryReq req); + + /** + * 新增设施-光伏板支架 + * + * @param req 设施-光伏板支架 + * @return 新增光伏板支架id + */ + Long insertByBo(PhotovoltaicPanelSupportCreateReq req); + + /** + * 修改设施-光伏板支架 + * + * @param req 设施-光伏板支架 + * @return 是否修改成功 + */ + Boolean updateByBo(PhotovoltaicPanelSupportUpdateReq req); + + /** + * 校验并批量删除设施-光伏板支架信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 获取设施-光伏板支架视图对象 + * + * @param photovoltaicPanelSupport 设施-光伏板支架对象 + * @return 设施-光伏板支架视图对象 + */ + FacPhotovoltaicPanelSupportVo getVo(FacPhotovoltaicPanelSupport photovoltaicPanelSupport); + + /** + * 获取设施-光伏板支架查询条件封装 + * + * @param req 查询条件 + * @return 查询条件封装 + */ + LambdaQueryWrapper buildQueryWrapper(PhotovoltaicPanelSupportQueryReq req); + + /** + * 获取设施-光伏板支架分页对象视图 + * + * @param photovoltaicPanelSupportPage 设施-光伏板支架分页对象 + * @return 设施-光伏板支架分页对象视图 + */ + Page getVoPage(Page photovoltaicPanelSupportPage); + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacBoxTransformerServiceImpl.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacBoxTransformerServiceImpl.java new file mode 100644 index 00000000..f88fa945 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacBoxTransformerServiceImpl.java @@ -0,0 +1,274 @@ +package org.dromara.facility.service.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.json.JSONUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jakarta.annotation.Resource; +import org.dromara.common.core.constant.HttpStatus; +import org.dromara.common.core.exception.ServiceException; +import org.dromara.common.core.utils.ObjectUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.facility.domain.FacBoxTransformer; +import org.dromara.facility.domain.req.boxtransformer.BoxTransformerCreateReq; +import org.dromara.facility.domain.req.boxtransformer.BoxTransformerQueryReq; +import org.dromara.facility.domain.req.boxtransformer.BoxTransformerUpdateReq; +import org.dromara.facility.domain.vo.FacBoxTransformerVo; +import org.dromara.facility.mapper.FacBoxTransformerMapper; +import org.dromara.facility.service.IFacBoxTransformerService; +import org.dromara.facility.service.IFacMatrixService; +import org.dromara.project.service.IBusProjectService; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +/** + * 设施-箱变Service业务层处理 + * + * @author lcj + * @date 2025-04-21 + */ +@Service +public class FacBoxTransformerServiceImpl extends ServiceImpl + implements IFacBoxTransformerService { + + @Resource + private IBusProjectService projectService; + + @Resource + private IFacMatrixService matrixService; + + /** + * 查询设施-箱变 + * + * @param id 主键 + * @return 设施-箱变 + */ + @Override + public FacBoxTransformerVo queryById(Long id) { + FacBoxTransformer boxTransformer = this.getById(id); + if (boxTransformer == null) { + throw new ServiceException("查询箱变失败,数据不存在", HttpStatus.NOT_FOUND); + } + return this.getVo(boxTransformer); + } + + /** + * 分页查询设施-箱变列表 + * + * @param req 查询条件 + * @param pageQuery 分页参数 + * @return 设施-箱变分页列表 + */ + @Override + public TableDataInfo queryPageList(BoxTransformerQueryReq req, PageQuery pageQuery) { + Page result = this.page(pageQuery.build(), this.buildQueryWrapper(req)); + return TableDataInfo.build(this.getVoPage(result)); + } + + /** + * 查询符合条件的设施-箱变列表 + * + * @param req 查询条件 + * @return 设施-箱变列表 + */ + @Override + public List queryList(BoxTransformerQueryReq req) { + List boxTransformerList = this.list(this.buildQueryWrapper(req)); + return boxTransformerList.stream().map(this::getVo).toList(); + } + + /** + * 新增设施-箱变 + * + * @param req 设施-箱变 + * @return 新增箱变id + */ + @Override + public Long insertByBo(BoxTransformerCreateReq req) { + // 将实体类和 DTO 进行转换 + FacBoxTransformer boxTransformer = new FacBoxTransformer(); + BeanUtils.copyProperties(req, boxTransformer); + // 将位置信息转换为 JSON 字符串 + List positionList = req.getPositionList(); + if (ObjectUtils.isNotEmpty(positionList)) { + String positionStr = JSONUtil.toJsonStr(positionList); + boxTransformer.setPositions(positionStr); + } + // 数据校验 + validEntityBeforeSave(boxTransformer, true); + // 判断是否存在同名箱变 + Long count = this.lambdaQuery() + .eq(FacBoxTransformer::getProjectId, boxTransformer.getProjectId()) + .eq(FacBoxTransformer::getName, boxTransformer.getName()) + .count(); + if (count > 0) { + throw new ServiceException("该项目已存在同名箱变", HttpStatus.CONFLICT); + } + // 操作数据库 + boolean save = this.save(boxTransformer); + if (!save) { + throw new ServiceException("新增箱变失败,数据库异常", HttpStatus.ERROR); + } + return boxTransformer.getId(); + } + + /** + * 修改设施-箱变 + * + * @param req 设施-箱变 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(BoxTransformerUpdateReq req) { + // 将实体类和 DTO 进行转换 + FacBoxTransformer boxTransformer = new FacBoxTransformer(); + BeanUtils.copyProperties(req, boxTransformer); + // 将位置信息转换为 JSON 字符串 + List positionList = req.getPositionList(); + if (ObjectUtils.isNotEmpty(positionList)) { + String positionStr = JSONUtil.toJsonStr(positionList); + boxTransformer.setPositions(positionStr); + } + // 数据校验 + validEntityBeforeSave(boxTransformer, false); + // 判断是否存在 + FacBoxTransformer oldBoxTransformer = this.getById(boxTransformer.getId()); + if (oldBoxTransformer == null) { + throw new ServiceException("修改箱变失败,数据不存在", HttpStatus.NOT_FOUND); + } + // 判断是否修改名称 + if (!oldBoxTransformer.getName().equals(boxTransformer.getName())) { + Long count = this.lambdaQuery() + .eq(FacBoxTransformer::getProjectId, boxTransformer.getProjectId()) + .eq(FacBoxTransformer::getName, boxTransformer.getName()) + .count(); + if (count > 0) { + throw new ServiceException("该项目已存在同名箱变", HttpStatus.CONFLICT); + } + } + // 操作数据库 + boolean update = this.updateById(boxTransformer); + if (!update) { + throw new ServiceException("修改箱变失败,数据库异常", HttpStatus.ERROR); + } + return true; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(FacBoxTransformer entity, Boolean create) { + // TODO 做一些数据校验,如唯一约束 + Long projectId = entity.getProjectId(); + Long matrixId = entity.getMatrixId(); + if (create) { + if (projectId == null) { + throw new ServiceException("项目id不能为空", HttpStatus.BAD_REQUEST); + } + if (matrixId == null) { + throw new ServiceException("方阵id不能为空", HttpStatus.BAD_REQUEST); + } + } + if (projectId != null && projectService.getById(projectId) == null) { + throw new ServiceException("对应项目不存在", HttpStatus.NOT_FOUND); + } + if (matrixId != null && matrixService.getById(matrixId) == null) { + throw new ServiceException("对应方阵不存在", HttpStatus.NOT_FOUND); + } + } + + /** + * 校验并批量删除设施-箱变信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if (isValid) { + //TODO 做一些业务上的校验,判断是否需要校验 + } + return this.removeBatchByIds(ids); + } + + /** + * 获取设施-箱变视图对象 + * + * @param boxTransformer 设施-箱变对象 + * @return 设施-箱变视图对象 + */ + @Override + public FacBoxTransformerVo getVo(FacBoxTransformer boxTransformer) { + // 对象转封装类 + FacBoxTransformerVo boxTransformerVo = new FacBoxTransformerVo(); + if (boxTransformer == null) { + return boxTransformerVo; + } + BeanUtils.copyProperties(boxTransformer, boxTransformerVo); + // 将 JSON 字符串转化为 List + String positions = boxTransformer.getPositions(); + if (StringUtils.isNotBlank(positions)) { + List positionList = JSONUtil.toList(positions, String.class); + boxTransformerVo.setPositionList(positionList); + } + return boxTransformerVo; + } + + /** + * 获取设施-箱变查询条件封装 + * + * @param req 查询条件 + * @return 查询条件封装 + */ + @Override + public LambdaQueryWrapper buildQueryWrapper(BoxTransformerQueryReq req) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + if (req == null) { + return lqw; + } + Long projectId = req.getProjectId(); + Long matrixId = req.getMatrixId(); + String name = req.getName(); + String status = req.getStatus(); + String finishType = req.getFinishType(); + // 模糊查询 + lqw.like(StringUtils.isNotBlank(name), FacBoxTransformer::getName, name); + // 精确查询 + lqw.eq(ObjectUtils.isNotEmpty(projectId), FacBoxTransformer::getProjectId, projectId); + lqw.eq(ObjectUtils.isNotEmpty(matrixId), FacBoxTransformer::getMatrixId, matrixId); + lqw.eq(StringUtils.isNotBlank(status), FacBoxTransformer::getStatus, status); + lqw.eq(StringUtils.isNotBlank(finishType), FacBoxTransformer::getFinishType, finishType); + return lqw; + } + + /** + * 获取设施-箱变分页对象视图 + * + * @param boxTransformerPage 设施-箱变分页对象 + * @return 设施-箱变分页对象视图 + */ + @Override + public Page getVoPage(Page boxTransformerPage) { + List boxTransformerList = boxTransformerPage.getRecords(); + Page boxTransformerVoPage = new Page<>( + boxTransformerPage.getCurrent(), + boxTransformerPage.getSize(), + boxTransformerPage.getTotal()); + if (CollUtil.isEmpty(boxTransformerList)) { + return boxTransformerVoPage; + } + List boxTransformerVoList = boxTransformerList.stream().map(this::getVo).toList(); + boxTransformerVoPage.setRecords(boxTransformerVoList); + return boxTransformerVoPage; + } + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacInverterServiceImpl.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacInverterServiceImpl.java new file mode 100644 index 00000000..b60eb57c --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacInverterServiceImpl.java @@ -0,0 +1,274 @@ +package org.dromara.facility.service.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.json.JSONUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jakarta.annotation.Resource; +import org.dromara.common.core.constant.HttpStatus; +import org.dromara.common.core.exception.ServiceException; +import org.dromara.common.core.utils.ObjectUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.facility.domain.FacInverter; +import org.dromara.facility.domain.req.inverter.InverterCreateReq; +import org.dromara.facility.domain.req.inverter.InverterQueryReq; +import org.dromara.facility.domain.req.inverter.InverterUpdateReq; +import org.dromara.facility.domain.vo.FacInverterVo; +import org.dromara.facility.mapper.FacInverterMapper; +import org.dromara.facility.service.IFacInverterService; +import org.dromara.facility.service.IFacMatrixService; +import org.dromara.project.service.IBusProjectService; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +/** + * 设施-逆变器Service业务层处理 + * + * @author lcj + * @date 2025-04-21 + */ +@Service +public class FacInverterServiceImpl extends ServiceImpl + implements IFacInverterService { + + @Resource + private IBusProjectService projectService; + + @Resource + private IFacMatrixService matrixService; + + /** + * 查询设施-逆变器 + * + * @param id 主键 + * @return 设施-逆变器 + */ + @Override + public FacInverterVo queryById(Long id) { + FacInverter inverter = this.getById(id); + if (inverter == null) { + throw new ServiceException("查询逆变器失败,数据不存在", HttpStatus.NOT_FOUND); + } + return this.getVo(inverter); + } + + /** + * 分页查询设施-逆变器列表 + * + * @param req 查询条件 + * @param pageQuery 分页参数 + * @return 设施-逆变器分页列表 + */ + @Override + public TableDataInfo queryPageList(InverterQueryReq req, PageQuery pageQuery) { + Page result = this.page(pageQuery.build(), this.buildQueryWrapper(req)); + return TableDataInfo.build(this.getVoPage(result)); + } + + /** + * 查询符合条件的设施-逆变器列表 + * + * @param req 查询条件 + * @return 设施-逆变器列表 + */ + @Override + public List queryList(InverterQueryReq req) { + List inverterList = this.list(this.buildQueryWrapper(req)); + return inverterList.stream().map(this::getVo).toList(); + } + + /** + * 新增设施-逆变器 + * + * @param req 设施-逆变器 + * @return 新增逆变器id + */ + @Override + public Long insertByBo(InverterCreateReq req) { + // 将实体类和 DTO 进行转换 + FacInverter inverter = new FacInverter(); + BeanUtils.copyProperties(req, inverter); + // 将位置信息转换为 JSON 字符串 + List positionList = req.getPositionList(); + if (ObjectUtils.isNotEmpty(positionList)) { + String positionStr = JSONUtil.toJsonStr(positionList); + inverter.setPositions(positionStr); + } + // 数据校验 + validEntityBeforeSave(inverter, true); + // 判断是否存在同名逆变器 + Long count = this.lambdaQuery() + .eq(FacInverter::getProjectId, inverter.getProjectId()) + .eq(FacInverter::getName, inverter.getName()) + .count(); + if (count > 0) { + throw new ServiceException("该项目已存在同名逆变器", HttpStatus.CONFLICT); + } + // 操作数据库 + boolean save = this.save(inverter); + if (!save) { + throw new ServiceException("新增逆变器失败,数据库异常", HttpStatus.ERROR); + } + return inverter.getId(); + } + + /** + * 修改设施-逆变器 + * + * @param req 设施-逆变器 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(InverterUpdateReq req) { + // 将实体类和 DTO 进行转换 + FacInverter inverter = new FacInverter(); + BeanUtils.copyProperties(req, inverter); + // 将位置信息转换为 JSON 字符串 + List positionList = req.getPositionList(); + if (ObjectUtils.isNotEmpty(positionList)) { + String positionStr = JSONUtil.toJsonStr(positionList); + inverter.setPositions(positionStr); + } + // 数据校验 + validEntityBeforeSave(inverter, false); + // 判断是否存在 + FacInverter oldInverter = this.getById(inverter.getId()); + if (oldInverter == null) { + throw new ServiceException("修改逆变器失败,数据不存在", HttpStatus.NOT_FOUND); + } + // 判断是否修改名称 + if (!oldInverter.getName().equals(inverter.getName())) { + Long count = this.lambdaQuery() + .eq(FacInverter::getProjectId, inverter.getProjectId()) + .eq(FacInverter::getName, inverter.getName()) + .count(); + if (count > 0) { + throw new ServiceException("该项目已存在同名逆变器", HttpStatus.CONFLICT); + } + } + // 操作数据库 + boolean update = this.updateById(inverter); + if (!update) { + throw new ServiceException("修改逆变器失败,数据库异常", HttpStatus.ERROR); + } + return true; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(FacInverter entity, Boolean create) { + // TODO 做一些数据校验,如唯一约束 + Long projectId = entity.getProjectId(); + Long matrixId = entity.getMatrixId(); + if (create) { + if (projectId == null) { + throw new ServiceException("项目id不能为空", HttpStatus.BAD_REQUEST); + } + if (matrixId == null) { + throw new ServiceException("方阵id不能为空", HttpStatus.BAD_REQUEST); + } + } + if (projectId != null && projectService.getById(projectId) == null) { + throw new ServiceException("对应项目不存在", HttpStatus.NOT_FOUND); + } + if (matrixId != null && matrixService.getById(matrixId) == null) { + throw new ServiceException("对应方阵不存在", HttpStatus.NOT_FOUND); + } + } + + /** + * 校验并批量删除设施-逆变器信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if (isValid) { + //TODO 做一些业务上的校验,判断是否需要校验 + } + return this.removeBatchByIds(ids); + } + + /** + * 获取设施-逆变器视图对象 + * + * @param inverter 设施-逆变器对象 + * @return 设施-逆变器视图对象 + */ + @Override + public FacInverterVo getVo(FacInverter inverter) { + // 对象转封装类 + FacInverterVo inverterVo = new FacInverterVo(); + if (inverter == null) { + return inverterVo; + } + BeanUtils.copyProperties(inverter, inverterVo); + // 将 JSON 字符串转化为 List + String positions = inverter.getPositions(); + if (StringUtils.isNotBlank(positions)) { + List positionList = JSONUtil.toList(positions, String.class); + inverterVo.setPositionList(positionList); + } + return inverterVo; + } + + /** + * 获取设施-逆变器查询条件封装 + * + * @param req 查询条件 + * @return 查询条件封装 + */ + @Override + public LambdaQueryWrapper buildQueryWrapper(InverterQueryReq req) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + if (req == null) { + return lqw; + } + Long projectId = req.getProjectId(); + Long matrixId = req.getMatrixId(); + String name = req.getName(); + String status = req.getStatus(); + String finishType = req.getFinishType(); + // 模糊查询 + lqw.like(StringUtils.isNotBlank(name), FacInverter::getName, name); + // 精确查询 + lqw.eq(ObjectUtils.isNotEmpty(projectId), FacInverter::getProjectId, projectId); + lqw.eq(ObjectUtils.isNotEmpty(matrixId), FacInverter::getMatrixId, matrixId); + lqw.eq(StringUtils.isNotBlank(status), FacInverter::getStatus, status); + lqw.eq(StringUtils.isNotBlank(finishType), FacInverter::getFinishType, finishType); + return lqw; + } + + /** + * 获取设施-逆变器分页对象视图 + * + * @param inverterPage 设施-逆变器分页对象 + * @return 设施-逆变器分页对象视图 + */ + @Override + public Page getVoPage(Page inverterPage) { + List inverterList = inverterPage.getRecords(); + Page inverterVoPage = new Page<>( + inverterPage.getCurrent(), + inverterPage.getSize(), + inverterPage.getTotal()); + if (CollUtil.isEmpty(inverterList)) { + return inverterVoPage; + } + List inverterVoList = inverterList.stream().map(this::getVo).toList(); + inverterVoPage.setRecords(inverterVoList); + return inverterVoPage; + } + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacMatrixServiceImpl.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacMatrixServiceImpl.java new file mode 100644 index 00000000..dddb8949 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacMatrixServiceImpl.java @@ -0,0 +1,261 @@ +package org.dromara.facility.service.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.json.JSONUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jakarta.annotation.Resource; +import org.dromara.common.core.constant.HttpStatus; +import org.dromara.common.core.exception.ServiceException; +import org.dromara.common.core.utils.ObjectUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.facility.domain.FacMatrix; +import org.dromara.facility.domain.req.matrix.MatrixCreateReq; +import org.dromara.facility.domain.req.matrix.MatrixQueryReq; +import org.dromara.facility.domain.req.matrix.MatrixUpdateReq; +import org.dromara.facility.domain.vo.FacMatrixVo; +import org.dromara.facility.mapper.FacMatrixMapper; +import org.dromara.facility.service.IFacMatrixService; +import org.dromara.project.service.IBusProjectService; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +/** + * 设施-方阵Service业务层处理 + * + * @author lcj + * @date 2025-04-21 + */ +@Service +public class FacMatrixServiceImpl extends ServiceImpl implements IFacMatrixService { + + @Resource + private IBusProjectService projectService; + + /** + * 查询设施-方阵 + * + * @param id 主键 + * @return 设施-方阵 + */ + @Override + public FacMatrixVo queryById(Long id) { + FacMatrix matrix = this.getById(id); + if (matrix == null) { + throw new ServiceException("查询方阵失败,数据不存在", HttpStatus.NOT_FOUND); + } + return this.getVo(matrix); + } + + /** + * 分页查询设施-方阵列表 + * + * @param req 查询条件 + * @param pageQuery 分页参数 + * @return 设施-方阵分页列表 + */ + @Override + public TableDataInfo queryPageList(MatrixQueryReq req, PageQuery pageQuery) { + Page result = this.page(pageQuery.build(), this.buildQueryWrapper(req)); + return TableDataInfo.build(this.getVoPage(result)); + } + + /** + * 查询符合条件的设施-方阵列表 + * + * @param req 查询条件 + * @return 设施-方阵列表 + */ + @Override + public List queryList(MatrixQueryReq req) { + List matrixList = this.list(this.buildQueryWrapper(req)); + return matrixList.stream().map(this::getVo).toList(); + } + + /** + * 新增设施-方阵 + * + * @param req 设施-方阵 + * @return 新增方阵id + */ + @Override + public Long insertByBo(MatrixCreateReq req) { + // 将实体类和 DTO 进行转换 + FacMatrix matrix = new FacMatrix(); + BeanUtils.copyProperties(req, matrix); + // 将位置信息转换为 JSON 字符串 + List> positionList = req.getPositionList(); + if (ObjectUtils.isNotEmpty(positionList)) { + String positionStr = JSONUtil.toJsonStr(positionList); + matrix.setPositions(positionStr); + } + // 数据校验 + validEntityBeforeSave(matrix, true); + // 判断是否存在同名方阵 + Long count = this.lambdaQuery() + .eq(FacMatrix::getProjectId, matrix.getProjectId()) + .eq(FacMatrix::getMatrixName, matrix.getMatrixName()) + .count(); + if (count > 0) { + throw new ServiceException("该项目已存在同名方阵", HttpStatus.CONFLICT); + } + // 操作数据库 + boolean save = this.save(matrix); + if (!save) { + throw new ServiceException("新增方阵失败,数据库异常", HttpStatus.ERROR); + } + return matrix.getId(); + } + + /** + * 修改设施-方阵 + * + * @param req 设施-方阵 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(MatrixUpdateReq req) { + // 将实体类和 DTO 进行转换 + FacMatrix matrix = new FacMatrix(); + BeanUtils.copyProperties(req, matrix); + // 将位置信息转换为 JSON 字符串 + List> positionList = req.getPositionList(); + if (ObjectUtils.isNotEmpty(positionList)) { + String positionStr = JSONUtil.toJsonStr(positionList); + matrix.setPositions(positionStr); + } + // 数据校验 + validEntityBeforeSave(matrix, false); + // 判断是否存在 + FacMatrix oldMatrix = this.getById(matrix.getId()); + if (oldMatrix == null) { + throw new ServiceException("修改方阵失败,数据不存在", HttpStatus.NOT_FOUND); + } + // 判断是否修改名称 + if (!oldMatrix.getMatrixName().equals(matrix.getMatrixName())) { + Long count = this.lambdaQuery() + .eq(FacMatrix::getProjectId, matrix.getProjectId()) + .eq(FacMatrix::getMatrixName, matrix.getMatrixName()) + .count(); + if (count > 0) { + throw new ServiceException("该项目已存在同名方阵", HttpStatus.CONFLICT); + } + } + // 操作数据库 + boolean update = this.updateById(matrix); + if (!update) { + throw new ServiceException("修改方阵失败,数据库异常", HttpStatus.ERROR); + } + return true; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(FacMatrix entity, Boolean create) { + // TODO 做一些数据校验,如唯一约束 + Long projectId = entity.getProjectId(); + if (create) { + if (projectId == null) { + throw new ServiceException("项目id不能为空", HttpStatus.BAD_REQUEST); + } + } + if (projectId != null && projectService.getById(projectId) == null) { + throw new ServiceException("对应项目不存在", HttpStatus.NOT_FOUND); + } + } + + /** + * 校验并批量删除设施-方阵信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if (isValid) { + //TODO 做一些业务上的校验,判断是否需要校验 + } + return this.removeBatchByIds(ids); + } + + /** + * 获取设施-方阵视图对象 + * + * @param matrix 设施-方阵对象 + * @return 设施-方阵视图对象 + */ + @Override + public FacMatrixVo getVo(FacMatrix matrix) { + // 对象转封装类 + FacMatrixVo matrixVo = new FacMatrixVo(); + if (matrix == null) { + return matrixVo; + } + BeanUtils.copyProperties(matrix, matrixVo); + // 将 JSON 字符串转化为 List + String positions = matrix.getPositions(); + if (StringUtils.isNotBlank(positions)) { + List> positionList = new ArrayList<>(); + List arr = JSONUtil.toList(positions, String.class); + for (String s : arr) { + positionList.add(JSONUtil.toList(s, String.class)); + } + matrixVo.setPositionList(positionList); + } + return matrixVo; + } + + /** + * 获取设施-方阵查询条件封装 + * + * @param req 查询条件 + * @return 查询条件封装 + */ + @Override + public LambdaQueryWrapper buildQueryWrapper(MatrixQueryReq req) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + if (req == null) { + return lqw; + } + Long projectId = req.getProjectId(); + String matrixName = req.getMatrixName(); + // 模糊查询 + lqw.like(StringUtils.isNotBlank(matrixName), FacMatrix::getMatrixName, matrixName); + // 精确查询 + lqw.eq(ObjectUtils.isNotEmpty(projectId), FacMatrix::getProjectId, projectId); + return lqw; + } + + /** + * 获取设施-方阵分页对象视图 + * + * @param matrixPage 设施-方阵分页对象 + * @return 设施-方阵分页对象视图 + */ + @Override + public Page getVoPage(Page matrixPage) { + List matrixList = matrixPage.getRecords(); + Page matrixVoPage = new Page<>( + matrixPage.getCurrent(), + matrixPage.getSize(), + matrixPage.getTotal()); + if (CollUtil.isEmpty(matrixList)) { + return matrixVoPage; + } + List matrixVoList = matrixList.stream().map(this::getVo).toList(); + matrixVoPage.setRecords(matrixVoList); + return matrixVoPage; + } + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacPhotovoltaicPanelColumnServiceImpl.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacPhotovoltaicPanelColumnServiceImpl.java new file mode 100644 index 00000000..7d8273f6 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacPhotovoltaicPanelColumnServiceImpl.java @@ -0,0 +1,274 @@ +package org.dromara.facility.service.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.json.JSONUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jakarta.annotation.Resource; +import org.dromara.common.core.constant.HttpStatus; +import org.dromara.common.core.exception.ServiceException; +import org.dromara.common.core.utils.ObjectUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.facility.domain.FacPhotovoltaicPanelColumn; +import org.dromara.facility.domain.req.photovoltaicpanelcolumn.PhotovoltaicPanelColumnCreateReq; +import org.dromara.facility.domain.req.photovoltaicpanelcolumn.PhotovoltaicPanelColumnQueryReq; +import org.dromara.facility.domain.req.photovoltaicpanelcolumn.PhotovoltaicPanelColumnUpdateReq; +import org.dromara.facility.domain.vo.FacPhotovoltaicPanelColumnVo; +import org.dromara.facility.mapper.FacPhotovoltaicPanelColumnMapper; +import org.dromara.facility.service.IFacMatrixService; +import org.dromara.facility.service.IFacPhotovoltaicPanelColumnService; +import org.dromara.project.service.IBusProjectService; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +/** + * 设施-光伏板立柱Service业务层处理 + * + * @author lcj + * @date 2025-04-21 + */ +@Service +public class FacPhotovoltaicPanelColumnServiceImpl extends ServiceImpl + implements IFacPhotovoltaicPanelColumnService { + + @Resource + private IBusProjectService projectService; + + @Resource + private IFacMatrixService matrixService; + + /** + * 查询设施-光伏板立柱 + * + * @param id 主键 + * @return 设施-光伏板立柱 + */ + @Override + public FacPhotovoltaicPanelColumnVo queryById(Long id) { + FacPhotovoltaicPanelColumn photovoltaicPanelColumn = this.getById(id); + if (photovoltaicPanelColumn == null) { + throw new ServiceException("查询光伏板立柱失败,数据不存在", HttpStatus.NOT_FOUND); + } + return this.getVo(photovoltaicPanelColumn); + } + + /** + * 分页查询设施-光伏板立柱列表 + * + * @param req 查询条件 + * @param pageQuery 分页参数 + * @return 设施-光伏板立柱分页列表 + */ + @Override + public TableDataInfo queryPageList(PhotovoltaicPanelColumnQueryReq req, PageQuery pageQuery) { + Page result = this.page(pageQuery.build(), this.buildQueryWrapper(req)); + return TableDataInfo.build(this.getVoPage(result)); + } + + /** + * 查询符合条件的设施-光伏板立柱列表 + * + * @param req 查询条件 + * @return 设施-光伏板立柱列表 + */ + @Override + public List queryList(PhotovoltaicPanelColumnQueryReq req) { + List photovoltaicPanelColumnList = this.list(this.buildQueryWrapper(req)); + return photovoltaicPanelColumnList.stream().map(this::getVo).toList(); + } + + /** + * 新增设施-光伏板立柱 + * + * @param req 设施-光伏板立柱 + * @return 新增光伏板立柱id + */ + @Override + public Long insertByBo(PhotovoltaicPanelColumnCreateReq req) { + // 将实体类和 DTO 进行转换 + FacPhotovoltaicPanelColumn photovoltaicPanelColumn = new FacPhotovoltaicPanelColumn(); + BeanUtils.copyProperties(req, photovoltaicPanelColumn); + // 将位置信息转换为 JSON 字符串 + List positionList = req.getPositionList(); + if (ObjectUtils.isNotEmpty(positionList)) { + String positionStr = JSONUtil.toJsonStr(positionList); + photovoltaicPanelColumn.setPositions(positionStr); + } + // 数据校验 + validEntityBeforeSave(photovoltaicPanelColumn, true); + // 判断是否存在同名光伏板立柱 + Long count = this.lambdaQuery() + .eq(FacPhotovoltaicPanelColumn::getProjectId, photovoltaicPanelColumn.getProjectId()) + .eq(FacPhotovoltaicPanelColumn::getName, photovoltaicPanelColumn.getName()) + .count(); + if (count > 0) { + throw new ServiceException("该项目已存在同名光伏板立柱", HttpStatus.CONFLICT); + } + // 操作数据库 + boolean save = this.save(photovoltaicPanelColumn); + if (!save) { + throw new ServiceException("新增光伏板立柱失败,数据库异常", HttpStatus.ERROR); + } + return photovoltaicPanelColumn.getId(); + } + + /** + * 修改设施-光伏板立柱 + * + * @param req 设施-光伏板立柱 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(PhotovoltaicPanelColumnUpdateReq req) { + // 将实体类和 DTO 进行转换 + FacPhotovoltaicPanelColumn photovoltaicPanelColumn = new FacPhotovoltaicPanelColumn(); + BeanUtils.copyProperties(req, photovoltaicPanelColumn); + // 将位置信息转换为 JSON 字符串 + List positionList = req.getPositionList(); + if (ObjectUtils.isNotEmpty(positionList)) { + String positionStr = JSONUtil.toJsonStr(positionList); + photovoltaicPanelColumn.setPositions(positionStr); + } + // 数据校验 + validEntityBeforeSave(photovoltaicPanelColumn, false); + // 判断是否存在 + FacPhotovoltaicPanelColumn oldPhotovoltaicPanelColumn = this.getById(photovoltaicPanelColumn.getId()); + if (oldPhotovoltaicPanelColumn == null) { + throw new ServiceException("修改光伏板立柱失败,数据不存在", HttpStatus.NOT_FOUND); + } + // 判断是否修改名称 + if (!oldPhotovoltaicPanelColumn.getName().equals(photovoltaicPanelColumn.getName())) { + Long count = this.lambdaQuery() + .eq(FacPhotovoltaicPanelColumn::getProjectId, photovoltaicPanelColumn.getProjectId()) + .eq(FacPhotovoltaicPanelColumn::getName, photovoltaicPanelColumn.getName()) + .count(); + if (count > 0) { + throw new ServiceException("该项目已存在同名光伏板立柱", HttpStatus.CONFLICT); + } + } + // 操作数据库 + boolean update = this.updateById(photovoltaicPanelColumn); + if (!update) { + throw new ServiceException("修改光伏板立柱失败,数据库异常", HttpStatus.ERROR); + } + return true; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(FacPhotovoltaicPanelColumn entity, Boolean create) { + // TODO 做一些数据校验,如唯一约束 + Long projectId = entity.getProjectId(); + Long matrixId = entity.getMatrixId(); + if (create) { + if (projectId == null) { + throw new ServiceException("项目id不能为空", HttpStatus.BAD_REQUEST); + } + if (matrixId == null) { + throw new ServiceException("方阵id不能为空", HttpStatus.BAD_REQUEST); + } + } + if (projectId != null && projectService.getById(projectId) == null) { + throw new ServiceException("对应项目不存在", HttpStatus.NOT_FOUND); + } + if (matrixId != null && matrixService.getById(matrixId) == null) { + throw new ServiceException("对应方阵不存在", HttpStatus.NOT_FOUND); + } + } + + /** + * 校验并批量删除设施-光伏板立柱信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if (isValid) { + //TODO 做一些业务上的校验,判断是否需要校验 + } + return this.removeBatchByIds(ids); + } + + /** + * 获取设施-光伏板立柱视图对象 + * + * @param photovoltaicPanelColumn 设施-光伏板立柱对象 + * @return 设施-光伏板立柱视图对象 + */ + @Override + public FacPhotovoltaicPanelColumnVo getVo(FacPhotovoltaicPanelColumn photovoltaicPanelColumn) { + // 对象转封装类 + FacPhotovoltaicPanelColumnVo photovoltaicPanelColumnVo = new FacPhotovoltaicPanelColumnVo(); + if (photovoltaicPanelColumn == null) { + return photovoltaicPanelColumnVo; + } + BeanUtils.copyProperties(photovoltaicPanelColumn, photovoltaicPanelColumnVo); + // 将 JSON 字符串转化为 List + String positions = photovoltaicPanelColumn.getPositions(); + if (StringUtils.isNotBlank(positions)) { + List positionList = JSONUtil.toList(positions, String.class); + photovoltaicPanelColumnVo.setPositionList(positionList); + } + return photovoltaicPanelColumnVo; + } + + /** + * 获取设施-光伏板立柱查询条件封装 + * + * @param req 查询条件 + * @return 查询条件封装 + */ + @Override + public LambdaQueryWrapper buildQueryWrapper(PhotovoltaicPanelColumnQueryReq req) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + if (req == null) { + return lqw; + } + Long projectId = req.getProjectId(); + Long matrixId = req.getMatrixId(); + String name = req.getName(); + String status = req.getStatus(); + String finishType = req.getFinishType(); + // 模糊查询 + lqw.like(StringUtils.isNotBlank(name), FacPhotovoltaicPanelColumn::getName, name); + // 精确查询 + lqw.eq(ObjectUtils.isNotEmpty(projectId), FacPhotovoltaicPanelColumn::getProjectId, projectId); + lqw.eq(ObjectUtils.isNotEmpty(matrixId), FacPhotovoltaicPanelColumn::getMatrixId, matrixId); + lqw.eq(StringUtils.isNotBlank(status), FacPhotovoltaicPanelColumn::getStatus, status); + lqw.eq(StringUtils.isNotBlank(finishType), FacPhotovoltaicPanelColumn::getFinishType, finishType); + return lqw; + } + + /** + * 获取设施-光伏板立柱分页对象视图 + * + * @param photovoltaicPanelColumnPage 设施-光伏板立柱分页对象 + * @return 设施-光伏板立柱分页对象视图 + */ + @Override + public Page getVoPage(Page photovoltaicPanelColumnPage) { + List photovoltaicPanelColumnList = photovoltaicPanelColumnPage.getRecords(); + Page photovoltaicPanelColumnVoPage = new Page<>( + photovoltaicPanelColumnPage.getCurrent(), + photovoltaicPanelColumnPage.getSize(), + photovoltaicPanelColumnPage.getTotal()); + if (CollUtil.isEmpty(photovoltaicPanelColumnList)) { + return photovoltaicPanelColumnVoPage; + } + List photovoltaicPanelColumnVoList = photovoltaicPanelColumnList.stream().map(this::getVo).toList(); + photovoltaicPanelColumnVoPage.setRecords(photovoltaicPanelColumnVoList); + return photovoltaicPanelColumnVoPage; + } + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacPhotovoltaicPanelPartsServiceImpl.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacPhotovoltaicPanelPartsServiceImpl.java new file mode 100644 index 00000000..139e2fd5 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacPhotovoltaicPanelPartsServiceImpl.java @@ -0,0 +1,128 @@ +package org.dromara.facility.service.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.json.JSONUtil; +import jakarta.annotation.Resource; +import org.dromara.common.core.constant.HttpStatus; +import org.dromara.common.core.exception.ServiceException; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.facility.domain.FacPhotovoltaicPanelColumn; +import org.dromara.facility.domain.FacPhotovoltaicPanelPoint; +import org.dromara.facility.domain.FacPhotovoltaicPanelSupport; +import org.dromara.facility.domain.req.photovoltaicpanelparts.PhotovoltaicPanelPartsCreateReq; +import org.dromara.facility.service.*; +import org.dromara.project.service.IBusProjectService; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * @author lcj + * @date 2025/4/21 15:53 + */ +@Service +public class FacPhotovoltaicPanelPartsServiceImpl implements IFacPhotovoltaicPanelPartsService { + + @Resource + private IBusProjectService projectService; + + @Resource + private IFacMatrixService matrixService; + + @Resource + private IFacPhotovoltaicPanelPointService photovoltaicPanelPointService; + + @Resource + private IFacPhotovoltaicPanelColumnService photovoltaicPanelColumnService; + + @Resource + private IFacPhotovoltaicPanelSupportService photovoltaicPanelSupportService; + + /** + * 批量新增设施-光伏板(桩点、立柱、支架) + * + * @param req 设施-光伏板(桩点、立柱、支架) + * @return 是否新增成功 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertPartsByBatch(PhotovoltaicPanelPartsCreateReq req) { + // 参数校验 + Long projectId = req.getProjectId(); + if (projectId == null || projectService.getById(projectId) == null) { + throw new ServiceException("项目信息不存在", HttpStatus.NOT_FOUND); + } + Long matrixId = req.getMatrixId(); + if (matrixId == null || matrixService.getById(matrixId) == null) { + throw new ServiceException("方阵信息不存在", HttpStatus.NOT_FOUND); + } + // 数据校验 + this.validName(projectId, req.getName()); + // 将实体类和 DTO 进行转换 + FacPhotovoltaicPanelPoint photovoltaicPanelPoint = new FacPhotovoltaicPanelPoint(); + BeanUtils.copyProperties(req, photovoltaicPanelPoint); + FacPhotovoltaicPanelColumn photovoltaicPanelColumn = new FacPhotovoltaicPanelColumn(); + BeanUtils.copyProperties(req, photovoltaicPanelColumn); + FacPhotovoltaicPanelSupport photovoltaicPanelSupport = new FacPhotovoltaicPanelSupport(); + BeanUtils.copyProperties(req, photovoltaicPanelSupport); + // 填充默认值 + List positionList = req.getPositionList(); + if (CollUtil.isNotEmpty(positionList)) { + String jsonStr = JSONUtil.toJsonStr(positionList); + photovoltaicPanelPoint.setPositions(jsonStr); + photovoltaicPanelColumn.setPositions(jsonStr); + photovoltaicPanelSupport.setPositions(jsonStr); + } + // 插入数据 + boolean pointSave = photovoltaicPanelPointService.save(photovoltaicPanelPoint); + if (!pointSave) { + throw new ServiceException("桩点信息插入失败", HttpStatus.ERROR); + } + boolean columnSave = photovoltaicPanelColumnService.save(photovoltaicPanelColumn); + if (!columnSave) { + throw new ServiceException("立柱信息插入失败", HttpStatus.ERROR); + } + boolean supportSave = photovoltaicPanelSupportService.save(photovoltaicPanelSupport); + if (!supportSave) { + throw new ServiceException("支架信息插入失败", HttpStatus.ERROR); + } + return true; + } + + /** + * 校验名称是否重复 + * + * @param projectId 项目ID + * @param name 名称 + */ + private void validName(Long projectId, String name) { + if (StringUtils.isBlank(name)) { + throw new ServiceException("桩点、立柱、支架名称不能为空"); + } + // 参数校验 + Long pointCount = photovoltaicPanelPointService.lambdaQuery() + .eq(FacPhotovoltaicPanelPoint::getProjectId, projectId) + .eq(FacPhotovoltaicPanelPoint::getName, name) + .count(); + if (pointCount > 0) { + throw new ServiceException("桩点名称重复"); + } + Long columnCount = photovoltaicPanelColumnService.lambdaQuery() + .eq(FacPhotovoltaicPanelColumn::getProjectId, projectId) + .eq(FacPhotovoltaicPanelColumn::getName, name) + .count(); + if (columnCount > 0) { + throw new ServiceException("立柱名称重复"); + } + Long supportCount = photovoltaicPanelSupportService.lambdaQuery() + .eq(FacPhotovoltaicPanelSupport::getProjectId, projectId) + .eq(FacPhotovoltaicPanelSupport::getName, name) + .count(); + if (supportCount > 0) { + throw new ServiceException("支架名称重复"); + } + } + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacPhotovoltaicPanelPointServiceImpl.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacPhotovoltaicPanelPointServiceImpl.java new file mode 100644 index 00000000..ae781d93 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacPhotovoltaicPanelPointServiceImpl.java @@ -0,0 +1,274 @@ +package org.dromara.facility.service.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.json.JSONUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jakarta.annotation.Resource; +import org.dromara.common.core.constant.HttpStatus; +import org.dromara.common.core.exception.ServiceException; +import org.dromara.common.core.utils.ObjectUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.facility.domain.FacPhotovoltaicPanelPoint; +import org.dromara.facility.domain.req.photovoltaicpanelpoint.PhotovoltaicPanelPointCreateReq; +import org.dromara.facility.domain.req.photovoltaicpanelpoint.PhotovoltaicPanelPointQueryReq; +import org.dromara.facility.domain.req.photovoltaicpanelpoint.PhotovoltaicPanelPointUpdateReq; +import org.dromara.facility.domain.vo.FacPhotovoltaicPanelPointVo; +import org.dromara.facility.mapper.FacPhotovoltaicPanelPointMapper; +import org.dromara.facility.service.IFacMatrixService; +import org.dromara.facility.service.IFacPhotovoltaicPanelPointService; +import org.dromara.project.service.IBusProjectService; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +/** + * 设施-光伏板桩点Service业务层处理 + * + * @author lcj + * @date 2025-04-21 + */ +@Service +public class FacPhotovoltaicPanelPointServiceImpl extends ServiceImpl + implements IFacPhotovoltaicPanelPointService { + + @Resource + private IBusProjectService projectService; + + @Resource + private IFacMatrixService matrixService; + + /** + * 查询设施-光伏板桩点 + * + * @param id 主键 + * @return 设施-光伏板桩点 + */ + @Override + public FacPhotovoltaicPanelPointVo queryById(Long id) { + FacPhotovoltaicPanelPoint photovoltaicPanelPoint = this.getById(id); + if (photovoltaicPanelPoint == null) { + throw new ServiceException("查询光伏板桩点失败,数据不存在", HttpStatus.NOT_FOUND); + } + return this.getVo(photovoltaicPanelPoint); + } + + /** + * 分页查询设施-光伏板桩点列表 + * + * @param req 查询条件 + * @param pageQuery 分页参数 + * @return 设施-光伏板桩点分页列表 + */ + @Override + public TableDataInfo queryPageList(PhotovoltaicPanelPointQueryReq req, PageQuery pageQuery) { + Page result = this.page(pageQuery.build(), this.buildQueryWrapper(req)); + return TableDataInfo.build(this.getVoPage(result)); + } + + /** + * 查询符合条件的设施-光伏板桩点列表 + * + * @param req 查询条件 + * @return 设施-光伏板桩点列表 + */ + @Override + public List queryList(PhotovoltaicPanelPointQueryReq req) { + List photovoltaicPanelPointList = this.list(this.buildQueryWrapper(req)); + return photovoltaicPanelPointList.stream().map(this::getVo).toList(); + } + + /** + * 新增设施-光伏板桩点 + * + * @param req 设施-光伏板桩点 + * @return 新增光伏板桩点id + */ + @Override + public Long insertByBo(PhotovoltaicPanelPointCreateReq req) { + // 将实体类和 DTO 进行转换 + FacPhotovoltaicPanelPoint photovoltaicPanelPoint = new FacPhotovoltaicPanelPoint(); + BeanUtils.copyProperties(req, photovoltaicPanelPoint); + // 将位置信息转换为 JSON 字符串 + List positionList = req.getPositionList(); + if (ObjectUtils.isNotEmpty(positionList)) { + String positionStr = JSONUtil.toJsonStr(positionList); + photovoltaicPanelPoint.setPositions(positionStr); + } + // 数据校验 + validEntityBeforeSave(photovoltaicPanelPoint, true); + // 判断是否存在同名光伏板桩点 + Long count = this.lambdaQuery() + .eq(FacPhotovoltaicPanelPoint::getProjectId, photovoltaicPanelPoint.getProjectId()) + .eq(FacPhotovoltaicPanelPoint::getName, photovoltaicPanelPoint.getName()) + .count(); + if (count > 0) { + throw new ServiceException("该项目已存在同名光伏板桩点", HttpStatus.CONFLICT); + } + // 操作数据库 + boolean save = this.save(photovoltaicPanelPoint); + if (!save) { + throw new ServiceException("新增光伏板桩点失败,数据库异常", HttpStatus.ERROR); + } + return photovoltaicPanelPoint.getId(); + } + + /** + * 修改设施-光伏板桩点 + * + * @param req 设施-光伏板桩点 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(PhotovoltaicPanelPointUpdateReq req) { + // 将实体类和 DTO 进行转换 + FacPhotovoltaicPanelPoint photovoltaicPanelPoint = new FacPhotovoltaicPanelPoint(); + BeanUtils.copyProperties(req, photovoltaicPanelPoint); + // 将位置信息转换为 JSON 字符串 + List positionList = req.getPositionList(); + if (ObjectUtils.isNotEmpty(positionList)) { + String positionStr = JSONUtil.toJsonStr(positionList); + photovoltaicPanelPoint.setPositions(positionStr); + } + // 数据校验 + validEntityBeforeSave(photovoltaicPanelPoint, false); + // 判断是否存在 + FacPhotovoltaicPanelPoint oldPhotovoltaicPanelPoint = this.getById(photovoltaicPanelPoint.getId()); + if (oldPhotovoltaicPanelPoint == null) { + throw new ServiceException("修改光伏板桩点失败,数据不存在", HttpStatus.NOT_FOUND); + } + // 判断是否修改名称 + if (!oldPhotovoltaicPanelPoint.getName().equals(photovoltaicPanelPoint.getName())) { + Long count = this.lambdaQuery() + .eq(FacPhotovoltaicPanelPoint::getProjectId, photovoltaicPanelPoint.getProjectId()) + .eq(FacPhotovoltaicPanelPoint::getName, photovoltaicPanelPoint.getName()) + .count(); + if (count > 0) { + throw new ServiceException("该项目已存在同名光伏板桩点", HttpStatus.CONFLICT); + } + } + // 操作数据库 + boolean update = this.updateById(photovoltaicPanelPoint); + if (!update) { + throw new ServiceException("修改光伏板桩点失败,数据库异常", HttpStatus.ERROR); + } + return true; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(FacPhotovoltaicPanelPoint entity, Boolean create) { + // TODO 做一些数据校验,如唯一约束 + Long projectId = entity.getProjectId(); + Long matrixId = entity.getMatrixId(); + if (create) { + if (projectId == null) { + throw new ServiceException("项目id不能为空", HttpStatus.BAD_REQUEST); + } + if (matrixId == null) { + throw new ServiceException("方阵id不能为空", HttpStatus.BAD_REQUEST); + } + } + if (projectId != null && projectService.getById(projectId) == null) { + throw new ServiceException("对应项目不存在", HttpStatus.NOT_FOUND); + } + if (matrixId != null && matrixService.getById(matrixId) == null) { + throw new ServiceException("对应方阵不存在", HttpStatus.NOT_FOUND); + } + } + + /** + * 校验并批量删除设施-光伏板桩点信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if (isValid) { + //TODO 做一些业务上的校验,判断是否需要校验 + } + return this.removeBatchByIds(ids); + } + + /** + * 获取设施-光伏板桩点视图对象 + * + * @param photovoltaicPanelPoint 设施-光伏板桩点对象 + * @return 设施-光伏板桩点视图对象 + */ + @Override + public FacPhotovoltaicPanelPointVo getVo(FacPhotovoltaicPanelPoint photovoltaicPanelPoint) { + // 对象转封装类 + FacPhotovoltaicPanelPointVo photovoltaicPanelPointVo = new FacPhotovoltaicPanelPointVo(); + if (photovoltaicPanelPoint == null) { + return photovoltaicPanelPointVo; + } + BeanUtils.copyProperties(photovoltaicPanelPoint, photovoltaicPanelPointVo); + // 将 JSON 字符串转化为 List + String positions = photovoltaicPanelPoint.getPositions(); + if (StringUtils.isNotBlank(positions)) { + List positionList = JSONUtil.toList(positions, String.class); + photovoltaicPanelPointVo.setPositionList(positionList); + } + return photovoltaicPanelPointVo; + } + + /** + * 获取设施-光伏板桩点查询条件封装 + * + * @param req 查询条件 + * @return 查询条件封装 + */ + @Override + public LambdaQueryWrapper buildQueryWrapper(PhotovoltaicPanelPointQueryReq req) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + if (req == null) { + return lqw; + } + Long projectId = req.getProjectId(); + Long matrixId = req.getMatrixId(); + String name = req.getName(); + String status = req.getStatus(); + String finishType = req.getFinishType(); + // 模糊查询 + lqw.like(StringUtils.isNotBlank(name), FacPhotovoltaicPanelPoint::getName, name); + // 精确查询 + lqw.eq(ObjectUtils.isNotEmpty(projectId), FacPhotovoltaicPanelPoint::getProjectId, projectId); + lqw.eq(ObjectUtils.isNotEmpty(matrixId), FacPhotovoltaicPanelPoint::getMatrixId, matrixId); + lqw.eq(StringUtils.isNotBlank(status), FacPhotovoltaicPanelPoint::getStatus, status); + lqw.eq(StringUtils.isNotBlank(finishType), FacPhotovoltaicPanelPoint::getFinishType, finishType); + return lqw; + } + + /** + * 获取设施-光伏板桩点分页对象视图 + * + * @param photovoltaicPanelPointPage 设施-光伏板桩点分页对象 + * @return 设施-光伏板桩点分页对象视图 + */ + @Override + public Page getVoPage(Page photovoltaicPanelPointPage) { + List photovoltaicPanelPointList = photovoltaicPanelPointPage.getRecords(); + Page photovoltaicPanelPointVoPage = new Page<>( + photovoltaicPanelPointPage.getCurrent(), + photovoltaicPanelPointPage.getSize(), + photovoltaicPanelPointPage.getTotal()); + if (CollUtil.isEmpty(photovoltaicPanelPointList)) { + return photovoltaicPanelPointVoPage; + } + List photovoltaicPanelPointVoList = photovoltaicPanelPointList.stream().map(this::getVo).toList(); + photovoltaicPanelPointVoPage.setRecords(photovoltaicPanelPointVoList); + return photovoltaicPanelPointVoPage; + } + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacPhotovoltaicPanelServiceImpl.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacPhotovoltaicPanelServiceImpl.java new file mode 100644 index 00000000..9d11017f --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacPhotovoltaicPanelServiceImpl.java @@ -0,0 +1,279 @@ +package org.dromara.facility.service.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.json.JSONUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jakarta.annotation.Resource; +import org.dromara.common.core.constant.HttpStatus; +import org.dromara.common.core.exception.ServiceException; +import org.dromara.common.core.utils.ObjectUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.facility.domain.FacPhotovoltaicPanel; +import org.dromara.facility.domain.req.photovoltaicpanel.PhotovoltaicPanelCreateReq; +import org.dromara.facility.domain.req.photovoltaicpanel.PhotovoltaicPanelQueryReq; +import org.dromara.facility.domain.req.photovoltaicpanel.PhotovoltaicPanelUpdateReq; +import org.dromara.facility.domain.vo.FacPhotovoltaicPanelVo; +import org.dromara.facility.mapper.FacPhotovoltaicPanelMapper; +import org.dromara.facility.service.IFacMatrixService; +import org.dromara.facility.service.IFacPhotovoltaicPanelService; +import org.dromara.project.service.IBusProjectService; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +/** + * 设施-光伏板Service业务层处理 + * + * @author lcj + * @date 2025-04-21 + */ +@Service +public class FacPhotovoltaicPanelServiceImpl extends ServiceImpl + implements IFacPhotovoltaicPanelService { + + @Resource + private IBusProjectService projectService; + + @Resource + private IFacMatrixService matrixService; + + /** + * 查询设施-光伏板 + * + * @param id 主键 + * @return 设施-光伏板 + */ + @Override + public FacPhotovoltaicPanelVo queryById(Long id) { + FacPhotovoltaicPanel photovoltaicPanel = this.getById(id); + if (photovoltaicPanel == null) { + throw new ServiceException("查询光伏板失败,数据不存在", HttpStatus.NOT_FOUND); + } + return this.getVo(photovoltaicPanel); + } + + /** + * 分页查询设施-光伏板列表 + * + * @param req 查询条件 + * @param pageQuery 分页参数 + * @return 设施-光伏板分页列表 + */ + @Override + public TableDataInfo queryPageList(PhotovoltaicPanelQueryReq req, PageQuery pageQuery) { + Page result = this.page(pageQuery.build(), this.buildQueryWrapper(req)); + return TableDataInfo.build(this.getVoPage(result)); + } + + /** + * 查询符合条件的设施-光伏板列表 + * + * @param req 查询条件 + * @return 设施-光伏板列表 + */ + @Override + public List queryList(PhotovoltaicPanelQueryReq req) { + List photovoltaicPanelList = this.list(this.buildQueryWrapper(req)); + return photovoltaicPanelList.stream().map(this::getVo).toList(); + } + + /** + * 新增设施-光伏板 + * + * @param req 设施-光伏板 + * @return 新增光伏板id + */ + @Override + public Long insertByBo(PhotovoltaicPanelCreateReq req) { + // 将实体类和 DTO 进行转换 + FacPhotovoltaicPanel photovoltaicPanel = new FacPhotovoltaicPanel(); + BeanUtils.copyProperties(req, photovoltaicPanel); + // 将位置信息转换为 JSON 字符串 + List> positionList = req.getPositionList(); + if (ObjectUtils.isNotEmpty(positionList)) { + String positionStr = JSONUtil.toJsonStr(positionList); + photovoltaicPanel.setPositions(positionStr); + } + // 数据校验 + validEntityBeforeSave(photovoltaicPanel, true); + // 判断是否存在同名光伏板 + Long count = this.lambdaQuery() + .eq(FacPhotovoltaicPanel::getProjectId, photovoltaicPanel.getProjectId()) + .eq(FacPhotovoltaicPanel::getName, photovoltaicPanel.getName()) + .count(); + if (count > 0) { + throw new ServiceException("该项目已存在同名光伏板", HttpStatus.CONFLICT); + } + // 操作数据库 + boolean save = this.save(photovoltaicPanel); + if (!save) { + throw new ServiceException("新增光伏板失败,数据库异常", HttpStatus.ERROR); + } + return photovoltaicPanel.getId(); + } + + /** + * 修改设施-光伏板 + * + * @param req 设施-光伏板 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(PhotovoltaicPanelUpdateReq req) { + // 将实体类和 DTO 进行转换 + FacPhotovoltaicPanel photovoltaicPanel = new FacPhotovoltaicPanel(); + BeanUtils.copyProperties(req, photovoltaicPanel); + // 将位置信息转换为 JSON 字符串 + List> positionList = req.getPositionList(); + if (ObjectUtils.isNotEmpty(positionList)) { + String positionStr = JSONUtil.toJsonStr(positionList); + photovoltaicPanel.setPositions(positionStr); + } + // 数据校验 + validEntityBeforeSave(photovoltaicPanel, false); + // 判断是否存在 + FacPhotovoltaicPanel oldPhotovoltaicPanel = this.getById(photovoltaicPanel.getId()); + if (oldPhotovoltaicPanel == null) { + throw new ServiceException("修改光伏板失败,数据不存在", HttpStatus.NOT_FOUND); + } + // 判断是否修改名称 + if (!oldPhotovoltaicPanel.getName().equals(photovoltaicPanel.getName())) { + Long count = this.lambdaQuery() + .eq(FacPhotovoltaicPanel::getProjectId, photovoltaicPanel.getProjectId()) + .eq(FacPhotovoltaicPanel::getName, photovoltaicPanel.getName()) + .count(); + if (count > 0) { + throw new ServiceException("该项目已存在同名光伏板", HttpStatus.CONFLICT); + } + } + // 操作数据库 + boolean update = this.updateById(photovoltaicPanel); + if (!update) { + throw new ServiceException("修改光伏板失败,数据库异常", HttpStatus.ERROR); + } + return true; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(FacPhotovoltaicPanel entity, Boolean create) { + // TODO 做一些数据校验,如唯一约束 + Long projectId = entity.getProjectId(); + Long matrixId = entity.getMatrixId(); + if (create) { + if (projectId == null) { + throw new ServiceException("项目id不能为空", HttpStatus.BAD_REQUEST); + } + if (matrixId == null) { + throw new ServiceException("方阵id不能为空", HttpStatus.BAD_REQUEST); + } + } + if (projectId != null && projectService.getById(projectId) == null) { + throw new ServiceException("对应项目不存在", HttpStatus.NOT_FOUND); + } + if (matrixId != null && matrixService.getById(matrixId) == null) { + throw new ServiceException("对应方阵不存在", HttpStatus.NOT_FOUND); + } + } + + /** + * 校验并批量删除设施-光伏板信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if (isValid) { + //TODO 做一些业务上的校验,判断是否需要校验 + } + return this.removeBatchByIds(ids); + } + + /** + * 获取设施-光伏板视图对象 + * + * @param photovoltaicPanel 设施-光伏板对象 + * @return 设施-光伏板视图对象 + */ + @Override + public FacPhotovoltaicPanelVo getVo(FacPhotovoltaicPanel photovoltaicPanel) { + // 对象转封装类 + FacPhotovoltaicPanelVo photovoltaicPanelVo = new FacPhotovoltaicPanelVo(); + if (photovoltaicPanel == null) { + return photovoltaicPanelVo; + } + BeanUtils.copyProperties(photovoltaicPanel, photovoltaicPanelVo); + // 将 JSON 字符串转化为 List + String positions = photovoltaicPanel.getPositions(); + if (StringUtils.isNotBlank(positions)) { + List> positionList = new ArrayList<>(); + List arr = JSONUtil.toList(positions, String.class); + for (String s : arr) { + positionList.add(JSONUtil.toList(s, String.class)); + } + photovoltaicPanelVo.setPositionList(positionList); + } + return photovoltaicPanelVo; + } + + /** + * 获取设施-光伏板查询条件封装 + * + * @param req 查询条件 + * @return 查询条件封装 + */ + @Override + public LambdaQueryWrapper buildQueryWrapper(PhotovoltaicPanelQueryReq req) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + if (req == null) { + return lqw; + } + Long projectId = req.getProjectId(); + Long matrixId = req.getMatrixId(); + String name = req.getName(); + String status = req.getStatus(); + String finishType = req.getFinishType(); + // 模糊查询 + lqw.like(StringUtils.isNotBlank(name), FacPhotovoltaicPanel::getName, name); + // 精确查询 + lqw.eq(ObjectUtils.isNotEmpty(projectId), FacPhotovoltaicPanel::getProjectId, projectId); + lqw.eq(ObjectUtils.isNotEmpty(matrixId), FacPhotovoltaicPanel::getMatrixId, matrixId); + lqw.eq(StringUtils.isNotBlank(status), FacPhotovoltaicPanel::getStatus, status); + lqw.eq(StringUtils.isNotBlank(finishType), FacPhotovoltaicPanel::getFinishType, finishType); + return lqw; + } + + /** + * 获取设施-光伏板分页对象视图 + * + * @param photovoltaicPanelPage 设施-光伏板分页对象 + * @return 设施-光伏板分页对象视图 + */ + @Override + public Page getVoPage(Page photovoltaicPanelPage) { + List photovoltaicPanelList = photovoltaicPanelPage.getRecords(); + Page photovoltaicPanelVoPage = new Page<>( + photovoltaicPanelPage.getCurrent(), + photovoltaicPanelPage.getSize(), + photovoltaicPanelPage.getTotal()); + if (CollUtil.isEmpty(photovoltaicPanelList)) { + return photovoltaicPanelVoPage; + } + List photovoltaicPanelVoList = photovoltaicPanelList.stream().map(this::getVo).toList(); + photovoltaicPanelVoPage.setRecords(photovoltaicPanelVoList); + return photovoltaicPanelVoPage; + } + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacPhotovoltaicPanelSupportServiceImpl.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacPhotovoltaicPanelSupportServiceImpl.java new file mode 100644 index 00000000..a2841c90 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacPhotovoltaicPanelSupportServiceImpl.java @@ -0,0 +1,274 @@ +package org.dromara.facility.service.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.json.JSONUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jakarta.annotation.Resource; +import org.dromara.common.core.constant.HttpStatus; +import org.dromara.common.core.exception.ServiceException; +import org.dromara.common.core.utils.ObjectUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.facility.domain.FacPhotovoltaicPanelSupport; +import org.dromara.facility.domain.req.photovoltaicpanelsupport.PhotovoltaicPanelSupportCreateReq; +import org.dromara.facility.domain.req.photovoltaicpanelsupport.PhotovoltaicPanelSupportQueryReq; +import org.dromara.facility.domain.req.photovoltaicpanelsupport.PhotovoltaicPanelSupportUpdateReq; +import org.dromara.facility.domain.vo.FacPhotovoltaicPanelSupportVo; +import org.dromara.facility.mapper.FacPhotovoltaicPanelSupportMapper; +import org.dromara.facility.service.IFacMatrixService; +import org.dromara.facility.service.IFacPhotovoltaicPanelSupportService; +import org.dromara.project.service.IBusProjectService; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +/** + * 设施-光伏板支架Service业务层处理 + * + * @author lcj + * @date 2025-04-21 + */ +@Service +public class FacPhotovoltaicPanelSupportServiceImpl extends ServiceImpl + implements IFacPhotovoltaicPanelSupportService { + + @Resource + private IBusProjectService projectService; + + @Resource + private IFacMatrixService matrixService; + + /** + * 查询设施-光伏板支架 + * + * @param id 主键 + * @return 设施-光伏板支架 + */ + @Override + public FacPhotovoltaicPanelSupportVo queryById(Long id) { + FacPhotovoltaicPanelSupport photovoltaicPanelSupport = this.getById(id); + if (photovoltaicPanelSupport == null) { + throw new ServiceException("查询光伏板支架失败,数据不存在", HttpStatus.NOT_FOUND); + } + return this.getVo(photovoltaicPanelSupport); + } + + /** + * 分页查询设施-光伏板支架列表 + * + * @param req 查询条件 + * @param pageQuery 分页参数 + * @return 设施-光伏板支架分页列表 + */ + @Override + public TableDataInfo queryPageList(PhotovoltaicPanelSupportQueryReq req, PageQuery pageQuery) { + Page result = this.page(pageQuery.build(), this.buildQueryWrapper(req)); + return TableDataInfo.build(this.getVoPage(result)); + } + + /** + * 查询符合条件的设施-光伏板支架列表 + * + * @param req 查询条件 + * @return 设施-光伏板支架列表 + */ + @Override + public List queryList(PhotovoltaicPanelSupportQueryReq req) { + List photovoltaicPanelSupportList = this.list(this.buildQueryWrapper(req)); + return photovoltaicPanelSupportList.stream().map(this::getVo).toList(); + } + + /** + * 新增设施-光伏板支架 + * + * @param req 设施-光伏板支架 + * @return 新增光伏板支架id + */ + @Override + public Long insertByBo(PhotovoltaicPanelSupportCreateReq req) { + // 将实体类和 DTO 进行转换 + FacPhotovoltaicPanelSupport photovoltaicPanelSupport = new FacPhotovoltaicPanelSupport(); + BeanUtils.copyProperties(req, photovoltaicPanelSupport); + // 将位置信息转换为 JSON 字符串 + List positionList = req.getPositionList(); + if (ObjectUtils.isNotEmpty(positionList)) { + String positionStr = JSONUtil.toJsonStr(positionList); + photovoltaicPanelSupport.setPositions(positionStr); + } + // 数据校验 + validEntityBeforeSave(photovoltaicPanelSupport, true); + // 判断是否存在同名光伏板支架 + Long count = this.lambdaQuery() + .eq(FacPhotovoltaicPanelSupport::getProjectId, photovoltaicPanelSupport.getProjectId()) + .eq(FacPhotovoltaicPanelSupport::getName, photovoltaicPanelSupport.getName()) + .count(); + if (count > 0) { + throw new ServiceException("该项目已存在同名光伏板支架", HttpStatus.CONFLICT); + } + // 操作数据库 + boolean save = this.save(photovoltaicPanelSupport); + if (!save) { + throw new ServiceException("新增光伏板支架失败,数据库异常", HttpStatus.ERROR); + } + return photovoltaicPanelSupport.getId(); + } + + /** + * 修改设施-光伏板支架 + * + * @param req 设施-光伏板支架 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(PhotovoltaicPanelSupportUpdateReq req) { + // 将实体类和 DTO 进行转换 + FacPhotovoltaicPanelSupport photovoltaicPanelSupport = new FacPhotovoltaicPanelSupport(); + BeanUtils.copyProperties(req, photovoltaicPanelSupport); + // 将位置信息转换为 JSON 字符串 + List positionList = req.getPositionList(); + if (ObjectUtils.isNotEmpty(positionList)) { + String positionStr = JSONUtil.toJsonStr(positionList); + photovoltaicPanelSupport.setPositions(positionStr); + } + // 数据校验 + validEntityBeforeSave(photovoltaicPanelSupport, false); + // 判断是否存在 + FacPhotovoltaicPanelSupport oldPhotovoltaicPanelSupport = this.getById(photovoltaicPanelSupport.getId()); + if (oldPhotovoltaicPanelSupport == null) { + throw new ServiceException("修改光伏板支架失败,数据不存在", HttpStatus.NOT_FOUND); + } + // 判断是否修改名称 + if (!oldPhotovoltaicPanelSupport.getName().equals(photovoltaicPanelSupport.getName())) { + Long count = this.lambdaQuery() + .eq(FacPhotovoltaicPanelSupport::getProjectId, photovoltaicPanelSupport.getProjectId()) + .eq(FacPhotovoltaicPanelSupport::getName, photovoltaicPanelSupport.getName()) + .count(); + if (count > 0) { + throw new ServiceException("该项目已存在同名光伏板支架", HttpStatus.CONFLICT); + } + } + // 操作数据库 + boolean update = this.updateById(photovoltaicPanelSupport); + if (!update) { + throw new ServiceException("修改光伏板支架失败,数据库异常", HttpStatus.ERROR); + } + return true; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(FacPhotovoltaicPanelSupport entity, Boolean create) { + // TODO 做一些数据校验,如唯一约束 + Long projectId = entity.getProjectId(); + Long matrixId = entity.getMatrixId(); + if (create) { + if (projectId == null) { + throw new ServiceException("项目id不能为空", HttpStatus.BAD_REQUEST); + } + if (matrixId == null) { + throw new ServiceException("方阵id不能为空", HttpStatus.BAD_REQUEST); + } + } + if (projectId != null && projectService.getById(projectId) == null) { + throw new ServiceException("对应项目不存在", HttpStatus.NOT_FOUND); + } + if (matrixId != null && matrixService.getById(matrixId) == null) { + throw new ServiceException("对应方阵不存在", HttpStatus.NOT_FOUND); + } + } + + /** + * 校验并批量删除设施-光伏板支架信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if (isValid) { + //TODO 做一些业务上的校验,判断是否需要校验 + } + return this.removeBatchByIds(ids); + } + + /** + * 获取设施-光伏板支架视图对象 + * + * @param photovoltaicPanelSupport 设施-光伏板支架对象 + * @return 设施-光伏板支架视图对象 + */ + @Override + public FacPhotovoltaicPanelSupportVo getVo(FacPhotovoltaicPanelSupport photovoltaicPanelSupport) { + // 对象转封装类 + FacPhotovoltaicPanelSupportVo photovoltaicPanelSupportVo = new FacPhotovoltaicPanelSupportVo(); + if (photovoltaicPanelSupport == null) { + return photovoltaicPanelSupportVo; + } + BeanUtils.copyProperties(photovoltaicPanelSupport, photovoltaicPanelSupportVo); + // 将 JSON 字符串转化为 List + String positions = photovoltaicPanelSupport.getPositions(); + if (StringUtils.isNotBlank(positions)) { + List positionList = JSONUtil.toList(positions, String.class); + photovoltaicPanelSupportVo.setPositionList(positionList); + } + return photovoltaicPanelSupportVo; + } + + /** + * 获取设施-光伏板支架查询条件封装 + * + * @param req 查询条件 + * @return 查询条件封装 + */ + @Override + public LambdaQueryWrapper buildQueryWrapper(PhotovoltaicPanelSupportQueryReq req) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + if (req == null) { + return lqw; + } + Long projectId = req.getProjectId(); + Long matrixId = req.getMatrixId(); + String name = req.getName(); + String status = req.getStatus(); + String finishType = req.getFinishType(); + // 模糊查询 + lqw.like(StringUtils.isNotBlank(name), FacPhotovoltaicPanelSupport::getName, name); + // 精确查询 + lqw.eq(ObjectUtils.isNotEmpty(projectId), FacPhotovoltaicPanelSupport::getProjectId, projectId); + lqw.eq(ObjectUtils.isNotEmpty(matrixId), FacPhotovoltaicPanelSupport::getMatrixId, matrixId); + lqw.eq(StringUtils.isNotBlank(status), FacPhotovoltaicPanelSupport::getStatus, status); + lqw.eq(StringUtils.isNotBlank(finishType), FacPhotovoltaicPanelSupport::getFinishType, finishType); + return lqw; + } + + /** + * 获取设施-光伏板支架分页对象视图 + * + * @param photovoltaicPanelSupportPage 设施-光伏板支架分页对象 + * @return 设施-光伏板支架分页对象视图 + */ + @Override + public Page getVoPage(Page photovoltaicPanelSupportPage) { + List photovoltaicPanelSupportList = photovoltaicPanelSupportPage.getRecords(); + Page photovoltaicPanelSupportVoPage = new Page<>( + photovoltaicPanelSupportPage.getCurrent(), + photovoltaicPanelSupportPage.getSize(), + photovoltaicPanelSupportPage.getTotal()); + if (CollUtil.isEmpty(photovoltaicPanelSupportList)) { + return photovoltaicPanelSupportVoPage; + } + List photovoltaicPanelSupportVoList = photovoltaicPanelSupportList.stream().map(this::getVo).toList(); + photovoltaicPanelSupportVoPage.setRecords(photovoltaicPanelSupportVoList); + return photovoltaicPanelSupportVoPage; + } + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/BusProjectController.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/BusProjectController.java index 91fda396..eb98ff84 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/BusProjectController.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/BusProjectController.java @@ -1,6 +1,8 @@ package org.dromara.project.controller; import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; @@ -26,6 +28,11 @@ import org.dromara.project.service.IBusProjectService; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.List; /** @@ -120,4 +127,15 @@ public class BusProjectController extends BaseController { @PathVariable Long[] ids) { return toAjax(projectService.deleteWithValidByIds(List.of(ids), true)); } + + @GetMapping("/json") + public R test() throws IOException { + // 1. 指定文件相对于 classpath 的路径 + Path path = Paths.get(System.getProperty("user.dir"), "geo.json"); + + // 2. 把文件内容读成字节数组,再转成字符串 + String json = Files.readString(path, StandardCharsets.UTF_8); + JSONObject json1 = JSONUtil.parseObj(json); + return R.ok(json1); + } } diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/controller/BusDocumentSafetyMeetingController.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/controller/BusDocumentSafetyMeetingController.java index 63aeff23..c468e6d6 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/controller/BusDocumentSafetyMeetingController.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/controller/BusDocumentSafetyMeetingController.java @@ -85,7 +85,7 @@ public class BusDocumentSafetyMeetingController extends BaseController { @Log(title = "安全会议纪要", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping("/file") - public R addFile(@RequestPart("file") MultipartFile file, @RequestBody DocumentSafetyMeetingCreateFileReq req) { + public R addFile(@RequestPart("file") MultipartFile file, DocumentSafetyMeetingCreateFileReq req) { return R.ok(busDocumentSafetyMeetingService.insertByFile(file, req)); } diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/facility/FacBoxTransformerMapper.xml b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/facility/FacBoxTransformerMapper.xml new file mode 100644 index 00000000..e82d38ea --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/facility/FacBoxTransformerMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/facility/FacInverterMapper.xml b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/facility/FacInverterMapper.xml new file mode 100644 index 00000000..a5e9c598 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/facility/FacInverterMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/facility/FacMatrixMapper.xml b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/facility/FacMatrixMapper.xml new file mode 100644 index 00000000..fba2f9b5 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/facility/FacMatrixMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/facility/FacPhotovoltaicPanelColumnMapper.xml b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/facility/FacPhotovoltaicPanelColumnMapper.xml new file mode 100644 index 00000000..5974251a --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/facility/FacPhotovoltaicPanelColumnMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/facility/FacPhotovoltaicPanelMapper.xml b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/facility/FacPhotovoltaicPanelMapper.xml new file mode 100644 index 00000000..f4661f3b --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/facility/FacPhotovoltaicPanelMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/facility/FacPhotovoltaicPanelPointMapper.xml b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/facility/FacPhotovoltaicPanelPointMapper.xml new file mode 100644 index 00000000..121e2296 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/facility/FacPhotovoltaicPanelPointMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/facility/FacPhotovoltaicPanelSupportMapper.xml b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/facility/FacPhotovoltaicPanelSupportMapper.xml new file mode 100644 index 00000000..4d5278ad --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/facility/FacPhotovoltaicPanelSupportMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/RuoYi-Vue-Plus/script/sql/xinnengyuan.sql b/RuoYi-Vue-Plus/script/sql/xinnengyuan.sql index 4a7dd444..15d58174 100644 --- a/RuoYi-Vue-Plus/script/sql/xinnengyuan.sql +++ b/RuoYi-Vue-Plus/script/sql/xinnengyuan.sql @@ -742,3 +742,185 @@ CREATE TABLE `bus_quality_construction_log` PRIMARY KEY (`id`) USING BTREE, INDEX `idx_project_id` (`project_id` ASC) USING BTREE ) comment = '质量-施工日志' COLLATE = utf8mb4_unicode_ci; + +DROP TABLE IF EXISTS `app_user`; +CREATE TABLE `app_user` +( + `id` bigint not null auto_increment comment 'app用户id', + `user_account` varchar(30) not null comment '用户账号', + `user_type` varchar(10) null comment '用户类型', + `phone` varchar(11) null comment '手机号码', + `password` varchar(100) null comment '密码', + `status` char(1) null default '0' comment '帐号状态(0正常 1停用)', + `login_ip` varchar(128) null comment '最后登录IP', + `login_date` datetime null comment '最后登录时间', + `remark` varchar(512) null comment '备注', + `create_time` datetime default CURRENT_TIMESTAMP null comment '创建时间', + `update_time` datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '更新时间', + `deleted_at` datetime null comment '删除时间', + `is_delete` tinyint(4) default 0 not null comment '是否删除(0正常 1删除)', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `idx_user_account` (`user_account` ASC) USING BTREE, + UNIQUE INDEX `idx_phone` (`phone` ASC) USING BTREE +) comment = 'app用户表' COLLATE = utf8mb4_unicode_ci; + +DROP TABLE IF EXISTS `user_relevancy`; +CREATE TABLE `user_relevancy` +( + `id` bigint not null auto_increment comment '主键', + `app_id` bigint null comment 'app用户id', + `web_id` bigint null comment 'web用户id', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_app_id` (`app_id` ASC) USING BTREE, + INDEX `idx_web_id` (`web_id` ASC) USING BTREE +) comment = '用户关联表' COLLATE = utf8mb4_unicode_ci; + +DROP TABLE IF EXISTS `fac_matrix`; +CREATE TABLE `fac_matrix` +( + `id` bigint not null auto_increment comment '主键', + `project_id` bigint not null comment '项目id', + `matrix_name` varchar(100) not null comment '方阵名称', + `positions` text null comment '方阵位置', + `remark` varchar(512) null comment '备注', + `create_by` varchar(64) null comment '创建者', + `update_by` varchar(64) null comment '更新者', + `create_time` datetime default CURRENT_TIMESTAMP null comment '创建时间', + `update_time` datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '更新时间', + `deleted_at` datetime null comment '删除时间', + `is_delete` tinyint(4) default 0 not null comment '是否删除(0正常 1删除)', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_project_id` (`project_id` ASC) USING BTREE comment '项目id' +) comment = '设施-方阵' COLLATE = utf8mb4_unicode_ci; + +DROP TABLE IF EXISTS `fac_photovoltaic_panel`; +CREATE TABLE `fac_photovoltaic_panel` +( + `id` bigint not null auto_increment comment '主键', + `project_id` bigint not null comment '项目id', + `matrix_id` bigint not null comment '方阵id', + `name` varchar(100) not null comment '光伏板名称', + `positions` text null comment '光伏板位置', + `status` char(1) default 0 not null comment '完成状态(0未完成 1完成)', + `finish_type` char(1) null comment '完成类型(1手动填报 2AI填报)', + `remark` varchar(512) null comment '备注', + `create_by` varchar(64) null comment '创建者', + `update_by` varchar(64) null comment '更新者', + `create_time` datetime default CURRENT_TIMESTAMP null comment '创建时间', + `update_time` datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '更新时间', + `deleted_at` datetime null comment '删除时间', + `is_delete` tinyint(4) default 0 not null comment '是否删除(0正常 1删除)', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_project_id` (`project_id` ASC) USING BTREE, + INDEX `idx_matrix_id` (`matrix_id` ASC) USING BTREE +) comment = '设施-光伏板' COLLATE = utf8mb4_unicode_ci; + +DROP TABLE IF EXISTS `fac_photovoltaic_panel_point`; +CREATE TABLE `fac_photovoltaic_panel_point` +( + `id` bigint not null auto_increment comment '主键', + `project_id` bigint not null comment '项目id', + `matrix_id` bigint not null comment '方阵id', + `name` varchar(100) not null comment '光伏板桩点名称', + `positions` text null comment '光伏板桩点位置', + `status` char(1) default 0 not null comment '完成状态(0未完成 1完成)', + `finish_type` char(1) null comment '完成类型(1手动填报 2AI填报)', + `remark` varchar(512) null comment '备注', + `create_by` varchar(64) null comment '创建者', + `update_by` varchar(64) null comment '更新者', + `create_time` datetime default CURRENT_TIMESTAMP null comment '创建时间', + `update_time` datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '更新时间', + `deleted_at` datetime null comment '删除时间', + `is_delete` tinyint(4) default 0 not null comment '是否删除(0正常 1删除)', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_project_id` (`project_id` ASC) USING BTREE, + INDEX `idx_matrix_id` (`matrix_id` ASC) USING BTREE +) comment = '设施-光伏板桩点' COLLATE = utf8mb4_unicode_ci; + +DROP TABLE IF EXISTS `fac_photovoltaic_panel_column`; +CREATE TABLE `fac_photovoltaic_panel_column` +( + `id` bigint not null auto_increment comment '主键', + `project_id` bigint not null comment '项目id', + `matrix_id` bigint not null comment '方阵id', + `name` varchar(100) not null comment '光伏板立柱名称', + `positions` text null comment '光伏板立柱位置', + `status` char(1) default 0 not null comment '完成状态(0未完成 1完成)', + `finish_type` char(1) null comment '完成类型(1手动填报 2AI填报)', + `remark` varchar(512) null comment '备注', + `create_by` varchar(64) null comment '创建者', + `update_by` varchar(64) null comment '更新者', + `create_time` datetime default CURRENT_TIMESTAMP null comment '创建时间', + `update_time` datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '更新时间', + `deleted_at` datetime null comment '删除时间', + `is_delete` tinyint(4) default 0 not null comment '是否删除(0正常 1删除)', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_project_id` (`project_id` ASC) USING BTREE, + INDEX `idx_matrix_id` (`matrix_id` ASC) USING BTREE +) comment = '设施-光伏板立柱' COLLATE = utf8mb4_unicode_ci; + +DROP TABLE IF EXISTS `fac_photovoltaic_panel_support`; +CREATE TABLE `fac_photovoltaic_panel_support` +( + `id` bigint not null auto_increment comment '主键', + `project_id` bigint not null comment '项目id', + `matrix_id` bigint not null comment '方阵id', + `name` varchar(100) not null comment '光伏板支架名称', + `positions` text null comment '光伏板支架位置', + `status` char(1) default 0 not null comment '完成状态(0未完成 1完成)', + `finish_type` char(1) null comment '完成类型(1手动填报 2AI填报)', + `remark` varchar(512) null comment '备注', + `create_by` varchar(64) null comment '创建者', + `update_by` varchar(64) null comment '更新者', + `create_time` datetime default CURRENT_TIMESTAMP null comment '创建时间', + `update_time` datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '更新时间', + `deleted_at` datetime null comment '删除时间', + `is_delete` tinyint(4) default 0 not null comment '是否删除(0正常 1删除)', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_project_id` (`project_id` ASC) USING BTREE, + INDEX `idx_matrix_id` (`matrix_id` ASC) USING BTREE +) comment = '设施-光伏板支架' COLLATE = utf8mb4_unicode_ci; + +DROP TABLE IF EXISTS `fac_inverter`; +CREATE TABLE `fac_inverter` +( + `id` bigint not null auto_increment comment '主键', + `project_id` bigint not null comment '项目id', + `matrix_id` bigint not null comment '方阵id', + `name` varchar(100) not null comment '逆变器名称', + `positions` text null comment '逆变器位置', + `status` char(1) default 0 not null comment '完成状态(0未完成 1完成)', + `finish_type` char(1) null comment '完成类型(1手动填报 2AI填报)', + `remark` varchar(512) null comment '备注', + `create_by` varchar(64) null comment '创建者', + `update_by` varchar(64) null comment '更新者', + `create_time` datetime default CURRENT_TIMESTAMP null comment '创建时间', + `update_time` datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '更新时间', + `deleted_at` datetime null comment '删除时间', + `is_delete` tinyint(4) default 0 not null comment '是否删除(0正常 1删除)', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_project_id` (`project_id` ASC) USING BTREE, + INDEX `idx_matrix_id` (`matrix_id` ASC) USING BTREE +) comment = '设施-逆变器' COLLATE = utf8mb4_unicode_ci; + +DROP TABLE IF EXISTS `fac_box_transformer`; +CREATE TABLE `fac_box_transformer` +( + `id` bigint not null auto_increment comment '主键', + `project_id` bigint not null comment '项目id', + `matrix_id` bigint not null comment '方阵id', + `name` varchar(100) not null comment '箱变名称', + `positions` text null comment '箱变位置', + `status` char(1) default 0 not null comment '完成状态(0未完成 1完成)', + `finish_type` char(1) null comment '完成类型(1手动填报 2AI填报)', + `remark` varchar(512) null comment '备注', + `create_by` varchar(64) null comment '创建者', + `update_by` varchar(64) null comment '更新者', + `create_time` datetime default CURRENT_TIMESTAMP null comment '创建时间', + `update_time` datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '更新时间', + `deleted_at` datetime null comment '删除时间', + `is_delete` tinyint(4) default 0 not null comment '是否删除(0正常 1删除)', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_project_id` (`project_id` ASC) USING BTREE, + INDEX `idx_matrix_id` (`matrix_id` ASC) USING BTREE +) comment = '设施-箱变' COLLATE = utf8mb4_unicode_ci;