设施模块(方阵、光伏板、光伏板桩点、光伏板立柱、光伏板支架、逆变器、箱变)相关增删改查接口

This commit is contained in:
lcj
2025-04-22 10:43:52 +08:00
parent 3a8538fc6a
commit a2c6bb7ba9
78 changed files with 6125 additions and 3 deletions

View File

@ -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攻击

View File

@ -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<FacBoxTransformerVo> 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<FacBoxTransformerVo> list = facBoxTransformerService.queryList(req);
ExcelUtil.exportExcel(list, "设施-箱变", FacBoxTransformerVo.class, response);
}
/**
* 获取设施-箱变详细信息
*
* @param id 主键
*/
@SaCheckPermission("facility:boxTransformer:query")
@GetMapping("/{id}")
public R<FacBoxTransformerVo> 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<Long> 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<Void> 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<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(facBoxTransformerService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@ -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<FacInverterVo> 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<FacInverterVo> list = facInverterService.queryList(req);
ExcelUtil.exportExcel(list, "设施-逆变器", FacInverterVo.class, response);
}
/**
* 获取设施-逆变器详细信息
*
* @param id 主键
*/
@SaCheckPermission("facility:inverter:query")
@GetMapping("/{id}")
public R<FacInverterVo> 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<Long> 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<Void> 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<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(facInverterService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@ -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<FacMatrixVo> 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<FacMatrixVo> list = facMatrixService.queryList(req);
ExcelUtil.exportExcel(list, "设施-方阵", FacMatrixVo.class, response);
}
/**
* 获取设施-方阵详细信息
*
* @param id 主键
*/
@SaCheckPermission("facility:matrix:query")
@GetMapping("/{id}")
public R<FacMatrixVo> 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<Long> 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<Void> 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<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(facMatrixService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@ -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<FacPhotovoltaicPanelColumnVo> 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<FacPhotovoltaicPanelColumnVo> list = facPhotovoltaicPanelColumnService.queryList(req);
ExcelUtil.exportExcel(list, "设施-光伏板立柱", FacPhotovoltaicPanelColumnVo.class, response);
}
/**
* 获取设施-光伏板立柱详细信息
*
* @param id 主键
*/
@SaCheckPermission("facility:photovoltaicPanelColumn:query")
@GetMapping("/{id}")
public R<FacPhotovoltaicPanelColumnVo> 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<Long> 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<Void> 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<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(facPhotovoltaicPanelColumnService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@ -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<FacPhotovoltaicPanelVo> 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<FacPhotovoltaicPanelVo> list = facPhotovoltaicPanelService.queryList(req);
ExcelUtil.exportExcel(list, "设施-光伏板", FacPhotovoltaicPanelVo.class, response);
}
/**
* 获取设施-光伏板详细信息
*
* @param id 主键
*/
@SaCheckPermission("facility:photovoltaicPanel:query")
@GetMapping("/{id}")
public R<FacPhotovoltaicPanelVo> 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<Long> 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<Void> 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<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(facPhotovoltaicPanelService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@ -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<Boolean> insertPartsByBatch(PhotovoltaicPanelPartsCreateReq req) {
return R.ok(photovoltaicPanelPartsService.insertPartsByBatch(req));
}
}

View File

@ -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<FacPhotovoltaicPanelPointVo> 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<FacPhotovoltaicPanelPointVo> list = facPhotovoltaicPanelPointService.queryList(req);
ExcelUtil.exportExcel(list, "设施-光伏板桩点", FacPhotovoltaicPanelPointVo.class, response);
}
/**
* 获取设施-光伏板桩点详细信息
*
* @param id 主键
*/
@SaCheckPermission("facility:photovoltaicPanelPoint:query")
@GetMapping("/{id}")
public R<FacPhotovoltaicPanelPointVo> 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<Long> 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<Void> 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<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(facPhotovoltaicPanelPointService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@ -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<FacPhotovoltaicPanelSupportVo> 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<FacPhotovoltaicPanelSupportVo> list = facPhotovoltaicPanelSupportService.queryList(req);
ExcelUtil.exportExcel(list, "设施-光伏板支架", FacPhotovoltaicPanelSupportVo.class, response);
}
/**
* 获取设施-光伏板支架详细信息
*
* @param id 主键
*/
@SaCheckPermission("facility:photovoltaicPanelSupport:query")
@GetMapping("/{id}")
public R<FacPhotovoltaicPanelSupportVo> 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<Long> 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<Void> 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<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(facPhotovoltaicPanelSupportService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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<String> positionList;
/**
* 完成状态0未完成 1完成
*/
private String status;
/**
* 完成类型1手动填报 2AI填报
*/
private String finishType;
/**
* 备注
*/
private String remark;
}

View File

@ -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;
}

View File

@ -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<String> positionList;
/**
* 完成状态0未完成 1完成
*/
private String status;
/**
* 完成类型1手动填报 2AI填报
*/
private String finishType;
/**
* 备注
*/
private String remark;
}

View File

@ -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<String> positionList;
/**
* 完成状态0未完成 1完成
*/
private String status;
/**
* 完成类型1手动填报 2AI填报
*/
private String finishType;
/**
* 备注
*/
private String remark;
}

View File

@ -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;
}

View File

@ -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<String> positionList;
/**
* 完成状态0未完成 1完成
*/
private String status;
/**
* 完成类型1手动填报 2AI填报
*/
private String finishType;
/**
* 备注
*/
private String remark;
}

View File

@ -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<List<String>> positionList;
/**
* 备注
*/
private String remark;
}

View File

@ -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;
}

View File

@ -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<List<String>> positionList;
/**
* 备注
*/
private String remark;
}

View File

@ -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<List<String>> positionList;
/**
* 完成状态0未完成 1完成
*/
private String status;
/**
* 完成类型1手动填报 2AI填报
*/
private String finishType;
/**
* 备注
*/
private String remark;
}

View File

@ -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;
}

View File

@ -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<List<String>> positionList;
/**
* 完成状态0未完成 1完成
*/
private String status;
/**
* 完成类型1手动填报 2AI填报
*/
private String finishType;
/**
* 备注
*/
private String remark;
}

View File

@ -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<String> positionList;
/**
* 完成状态0未完成 1完成
*/
private String status;
/**
* 完成类型1手动填报 2AI填报
*/
private String finishType;
/**
* 备注
*/
private String remark;
}

View File

@ -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;
}

View File

@ -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<String> positionList;
/**
* 完成状态0未完成 1完成
*/
private String status;
/**
* 完成类型1手动填报 2AI填报
*/
private String finishType;
/**
* 备注
*/
private String remark;
}

View File

@ -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<String> positionList;
/**
* 完成状态0未完成 1完成
*/
private String status;
/**
* 完成类型1手动填报 2AI填报
*/
private String finishType;
/**
* 备注
*/
private String remark;
}

View File

@ -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<String> positionList;
/**
* 完成状态0未完成 1完成
*/
private String status;
/**
* 完成类型1手动填报 2AI填报
*/
private String finishType;
/**
* 备注
*/
private String remark;
}

View File

@ -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;
}

View File

@ -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<String> positionList;
/**
* 完成状态0未完成 1完成
*/
private String status;
/**
* 完成类型1手动填报 2AI填报
*/
private String finishType;
/**
* 备注
*/
private String remark;
}

View File

@ -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<String> positionList;
/**
* 完成状态0未完成 1完成
*/
private String status;
/**
* 完成类型1手动填报 2AI填报
*/
private String finishType;
/**
* 备注
*/
private String remark;
}

View File

@ -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;
}

View File

@ -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<String> positionList;
/**
* 完成状态0未完成 1完成
*/
private String status;
/**
* 完成类型1手动填报 2AI填报
*/
private String finishType;
/**
* 备注
*/
private String remark;
}

View File

@ -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<String> 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;
}

View File

@ -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<String> 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;
}

View File

@ -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<List<String>> positionList;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}

View File

@ -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<String> 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;
}

View File

@ -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<String> 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;
}

View File

@ -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<String> 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;
}

View File

@ -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<List<String>> 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;
}

View File

@ -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<FacBoxTransformer, FacBoxTransformerVo> {
}

View File

@ -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<FacInverter, FacInverterVo> {
}

View File

@ -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<FacMatrix, FacMatrixVo> {
}

View File

@ -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<FacPhotovoltaicPanelColumn, FacPhotovoltaicPanelColumnVo> {
}

View File

@ -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<FacPhotovoltaicPanel, FacPhotovoltaicPanelVo> {
}

View File

@ -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<FacPhotovoltaicPanelPoint, FacPhotovoltaicPanelPointVo> {
}

View File

@ -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<FacPhotovoltaicPanelSupport, FacPhotovoltaicPanelSupportVo> {
}

View File

@ -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<FacBoxTransformer> {
/**
* 查询设施-箱变
*
* @param id 主键
* @return 设施-箱变
*/
FacBoxTransformerVo queryById(Long id);
/**
* 分页查询设施-箱变列表
*
* @param req 查询条件
* @param pageQuery 分页参数
* @return 设施-箱变分页列表
*/
TableDataInfo<FacBoxTransformerVo> queryPageList(BoxTransformerQueryReq req, PageQuery pageQuery);
/**
* 查询符合条件的设施-箱变列表
*
* @param req 查询条件
* @return 设施-箱变列表
*/
List<FacBoxTransformerVo> 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<Long> ids, Boolean isValid);
/**
* 获取设施-箱变视图对象
*
* @param boxTransformer 设施-箱变对象
* @return 设施-箱变视图对象
*/
FacBoxTransformerVo getVo(FacBoxTransformer boxTransformer);
/**
* 获取设施-箱变查询条件封装
*
* @param req 查询条件
* @return 查询条件封装
*/
LambdaQueryWrapper<FacBoxTransformer> buildQueryWrapper(BoxTransformerQueryReq req);
/**
* 获取设施-箱变分页对象视图
*
* @param boxTransformerPage 设施-箱变分页对象
* @return 设施-箱变分页对象视图
*/
Page<FacBoxTransformerVo> getVoPage(Page<FacBoxTransformer> boxTransformerPage);
}

View File

@ -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<FacInverter> {
/**
* 查询设施-逆变器
*
* @param id 主键
* @return 设施-逆变器
*/
FacInverterVo queryById(Long id);
/**
* 分页查询设施-逆变器列表
*
* @param req 查询条件
* @param pageQuery 分页参数
* @return 设施-逆变器分页列表
*/
TableDataInfo<FacInverterVo> queryPageList(InverterQueryReq req, PageQuery pageQuery);
/**
* 查询符合条件的设施-逆变器列表
*
* @param req 查询条件
* @return 设施-逆变器列表
*/
List<FacInverterVo> 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<Long> ids, Boolean isValid);
/**
* 获取设施-逆变器视图对象
*
* @param inverter 设施-逆变器对象
* @return 设施-逆变器视图对象
*/
FacInverterVo getVo(FacInverter inverter);
/**
* 获取设施-逆变器查询条件封装
*
* @param req 查询条件
* @return 查询条件封装
*/
LambdaQueryWrapper<FacInverter> buildQueryWrapper(InverterQueryReq req);
/**
* 获取设施-逆变器分页对象视图
*
* @param inverterPage 设施-逆变器分页对象
* @return 设施-逆变器分页对象视图
*/
Page<FacInverterVo> getVoPage(Page<FacInverter> inverterPage);
}

View File

@ -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<FacMatrix> {
/**
* 查询设施-方阵
*
* @param id 主键
* @return 设施-方阵
*/
FacMatrixVo queryById(Long id);
/**
* 分页查询设施-方阵列表
*
* @param req 查询条件
* @param pageQuery 分页参数
* @return 设施-方阵分页列表
*/
TableDataInfo<FacMatrixVo> queryPageList(MatrixQueryReq req, PageQuery pageQuery);
/**
* 查询符合条件的设施-方阵列表
*
* @param req 查询条件
* @return 设施-方阵列表
*/
List<FacMatrixVo> 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<Long> ids, Boolean isValid);
/**
* 获取设施-方阵视图对象
*
* @param matrix 设施-方阵对象
* @return 设施-方阵视图对象
*/
FacMatrixVo getVo(FacMatrix matrix);
/**
* 获取设施-方阵查询条件封装
*
* @param req 查询条件
* @return 查询条件封装
*/
LambdaQueryWrapper<FacMatrix> buildQueryWrapper(MatrixQueryReq req);
/**
* 获取设施-方阵分页对象视图
*
* @param matrixPage 设施-方阵分页对象
* @return 设施-方阵分页对象视图
*/
Page<FacMatrixVo> getVoPage(Page<FacMatrix> matrixPage);
}

View File

@ -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<FacPhotovoltaicPanelColumn> {
/**
* 查询设施-光伏板立柱
*
* @param id 主键
* @return 设施-光伏板立柱
*/
FacPhotovoltaicPanelColumnVo queryById(Long id);
/**
* 分页查询设施-光伏板立柱列表
*
* @param req 查询条件
* @param pageQuery 分页参数
* @return 设施-光伏板立柱分页列表
*/
TableDataInfo<FacPhotovoltaicPanelColumnVo> queryPageList(PhotovoltaicPanelColumnQueryReq req, PageQuery pageQuery);
/**
* 查询符合条件的设施-光伏板立柱列表
*
* @param req 查询条件
* @return 设施-光伏板立柱列表
*/
List<FacPhotovoltaicPanelColumnVo> 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<Long> ids, Boolean isValid);
/**
* 获取设施-光伏板立柱视图对象
*
* @param photovoltaicPanelColumn 设施-光伏板立柱对象
* @return 设施-光伏板立柱视图对象
*/
FacPhotovoltaicPanelColumnVo getVo(FacPhotovoltaicPanelColumn photovoltaicPanelColumn);
/**
* 获取设施-光伏板立柱查询条件封装
*
* @param req 查询条件
* @return 查询条件封装
*/
LambdaQueryWrapper<FacPhotovoltaicPanelColumn> buildQueryWrapper(PhotovoltaicPanelColumnQueryReq req);
/**
* 获取设施-光伏板立柱分页对象视图
*
* @param photovoltaicPanelColumnPage 设施-光伏板立柱分页对象
* @return 设施-光伏板立柱分页对象视图
*/
Page<FacPhotovoltaicPanelColumnVo> getVoPage(Page<FacPhotovoltaicPanelColumn> photovoltaicPanelColumnPage);
}

View File

@ -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);
}

View File

@ -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<FacPhotovoltaicPanelPoint> {
/**
* 查询设施-光伏板桩点
*
* @param id 主键
* @return 设施-光伏板桩点
*/
FacPhotovoltaicPanelPointVo queryById(Long id);
/**
* 分页查询设施-光伏板桩点列表
*
* @param req 查询条件
* @param pageQuery 分页参数
* @return 设施-光伏板桩点分页列表
*/
TableDataInfo<FacPhotovoltaicPanelPointVo> queryPageList(PhotovoltaicPanelPointQueryReq req, PageQuery pageQuery);
/**
* 查询符合条件的设施-光伏板桩点列表
*
* @param req 查询条件
* @return 设施-光伏板桩点列表
*/
List<FacPhotovoltaicPanelPointVo> 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<Long> ids, Boolean isValid);
/**
* 获取设施-光伏板桩点视图对象
*
* @param photovoltaicPanelPoint 设施-光伏板桩点对象
* @return 设施-光伏板桩点视图对象
*/
FacPhotovoltaicPanelPointVo getVo(FacPhotovoltaicPanelPoint photovoltaicPanelPoint);
/**
* 获取设施-光伏板桩点查询条件封装
*
* @param req 查询条件
* @return 查询条件封装
*/
LambdaQueryWrapper<FacPhotovoltaicPanelPoint> buildQueryWrapper(PhotovoltaicPanelPointQueryReq req);
/**
* 获取设施-光伏板桩点分页对象视图
*
* @param photovoltaicPanelPointPage 设施-光伏板桩点分页对象
* @return 设施-光伏板桩点分页对象视图
*/
Page<FacPhotovoltaicPanelPointVo> getVoPage(Page<FacPhotovoltaicPanelPoint> photovoltaicPanelPointPage);
}

View File

@ -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<FacPhotovoltaicPanel> {
/**
* 查询设施-光伏板
*
* @param id 主键
* @return 设施-光伏板
*/
FacPhotovoltaicPanelVo queryById(Long id);
/**
* 分页查询设施-光伏板列表
*
* @param req 查询条件
* @param pageQuery 分页参数
* @return 设施-光伏板分页列表
*/
TableDataInfo<FacPhotovoltaicPanelVo> queryPageList(PhotovoltaicPanelQueryReq req, PageQuery pageQuery);
/**
* 查询符合条件的设施-光伏板列表
*
* @param req 查询条件
* @return 设施-光伏板列表
*/
List<FacPhotovoltaicPanelVo> 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<Long> ids, Boolean isValid);
/**
* 获取设施-光伏板视图对象
*
* @param photovoltaicPanel 设施-光伏板对象
* @return 设施-光伏板视图对象
*/
FacPhotovoltaicPanelVo getVo(FacPhotovoltaicPanel photovoltaicPanel);
/**
* 获取设施-光伏板查询条件封装
*
* @param req 查询条件
* @return 查询条件封装
*/
LambdaQueryWrapper<FacPhotovoltaicPanel> buildQueryWrapper(PhotovoltaicPanelQueryReq req);
/**
* 获取设施-光伏板分页对象视图
*
* @param photovoltaicPanelPage 设施-光伏板分页对象
* @return 设施-光伏板分页对象视图
*/
Page<FacPhotovoltaicPanelVo> getVoPage(Page<FacPhotovoltaicPanel> photovoltaicPanelPage);
}

View File

@ -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<FacPhotovoltaicPanelSupport> {
/**
* 查询设施-光伏板支架
*
* @param id 主键
* @return 设施-光伏板支架
*/
FacPhotovoltaicPanelSupportVo queryById(Long id);
/**
* 分页查询设施-光伏板支架列表
*
* @param req 查询条件
* @param pageQuery 分页参数
* @return 设施-光伏板支架分页列表
*/
TableDataInfo<FacPhotovoltaicPanelSupportVo> queryPageList(PhotovoltaicPanelSupportQueryReq req, PageQuery pageQuery);
/**
* 查询符合条件的设施-光伏板支架列表
*
* @param req 查询条件
* @return 设施-光伏板支架列表
*/
List<FacPhotovoltaicPanelSupportVo> 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<Long> ids, Boolean isValid);
/**
* 获取设施-光伏板支架视图对象
*
* @param photovoltaicPanelSupport 设施-光伏板支架对象
* @return 设施-光伏板支架视图对象
*/
FacPhotovoltaicPanelSupportVo getVo(FacPhotovoltaicPanelSupport photovoltaicPanelSupport);
/**
* 获取设施-光伏板支架查询条件封装
*
* @param req 查询条件
* @return 查询条件封装
*/
LambdaQueryWrapper<FacPhotovoltaicPanelSupport> buildQueryWrapper(PhotovoltaicPanelSupportQueryReq req);
/**
* 获取设施-光伏板支架分页对象视图
*
* @param photovoltaicPanelSupportPage 设施-光伏板支架分页对象
* @return 设施-光伏板支架分页对象视图
*/
Page<FacPhotovoltaicPanelSupportVo> getVoPage(Page<FacPhotovoltaicPanelSupport> photovoltaicPanelSupportPage);
}

View File

@ -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<FacBoxTransformerMapper, FacBoxTransformer>
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<FacBoxTransformerVo> queryPageList(BoxTransformerQueryReq req, PageQuery pageQuery) {
Page<FacBoxTransformer> result = this.page(pageQuery.build(), this.buildQueryWrapper(req));
return TableDataInfo.build(this.getVoPage(result));
}
/**
* 查询符合条件的设施-箱变列表
*
* @param req 查询条件
* @return 设施-箱变列表
*/
@Override
public List<FacBoxTransformerVo> queryList(BoxTransformerQueryReq req) {
List<FacBoxTransformer> 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<String> 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<String> 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<Long> 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<String> positionList = JSONUtil.toList(positions, String.class);
boxTransformerVo.setPositionList(positionList);
}
return boxTransformerVo;
}
/**
* 获取设施-箱变查询条件封装
*
* @param req 查询条件
* @return 查询条件封装
*/
@Override
public LambdaQueryWrapper<FacBoxTransformer> buildQueryWrapper(BoxTransformerQueryReq req) {
LambdaQueryWrapper<FacBoxTransformer> 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<FacBoxTransformerVo> getVoPage(Page<FacBoxTransformer> boxTransformerPage) {
List<FacBoxTransformer> boxTransformerList = boxTransformerPage.getRecords();
Page<FacBoxTransformerVo> boxTransformerVoPage = new Page<>(
boxTransformerPage.getCurrent(),
boxTransformerPage.getSize(),
boxTransformerPage.getTotal());
if (CollUtil.isEmpty(boxTransformerList)) {
return boxTransformerVoPage;
}
List<FacBoxTransformerVo> boxTransformerVoList = boxTransformerList.stream().map(this::getVo).toList();
boxTransformerVoPage.setRecords(boxTransformerVoList);
return boxTransformerVoPage;
}
}

View File

@ -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<FacInverterMapper, FacInverter>
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<FacInverterVo> queryPageList(InverterQueryReq req, PageQuery pageQuery) {
Page<FacInverter> result = this.page(pageQuery.build(), this.buildQueryWrapper(req));
return TableDataInfo.build(this.getVoPage(result));
}
/**
* 查询符合条件的设施-逆变器列表
*
* @param req 查询条件
* @return 设施-逆变器列表
*/
@Override
public List<FacInverterVo> queryList(InverterQueryReq req) {
List<FacInverter> 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<String> 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<String> 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<Long> 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<String> positionList = JSONUtil.toList(positions, String.class);
inverterVo.setPositionList(positionList);
}
return inverterVo;
}
/**
* 获取设施-逆变器查询条件封装
*
* @param req 查询条件
* @return 查询条件封装
*/
@Override
public LambdaQueryWrapper<FacInverter> buildQueryWrapper(InverterQueryReq req) {
LambdaQueryWrapper<FacInverter> 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<FacInverterVo> getVoPage(Page<FacInverter> inverterPage) {
List<FacInverter> inverterList = inverterPage.getRecords();
Page<FacInverterVo> inverterVoPage = new Page<>(
inverterPage.getCurrent(),
inverterPage.getSize(),
inverterPage.getTotal());
if (CollUtil.isEmpty(inverterList)) {
return inverterVoPage;
}
List<FacInverterVo> inverterVoList = inverterList.stream().map(this::getVo).toList();
inverterVoPage.setRecords(inverterVoList);
return inverterVoPage;
}
}

View File

@ -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<FacMatrixMapper, FacMatrix> 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<FacMatrixVo> queryPageList(MatrixQueryReq req, PageQuery pageQuery) {
Page<FacMatrix> result = this.page(pageQuery.build(), this.buildQueryWrapper(req));
return TableDataInfo.build(this.getVoPage(result));
}
/**
* 查询符合条件的设施-方阵列表
*
* @param req 查询条件
* @return 设施-方阵列表
*/
@Override
public List<FacMatrixVo> queryList(MatrixQueryReq req) {
List<FacMatrix> 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<List<String>> 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<List<String>> 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<Long> 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<List<String>> positionList = new ArrayList<>();
List<String> 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<FacMatrix> buildQueryWrapper(MatrixQueryReq req) {
LambdaQueryWrapper<FacMatrix> 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<FacMatrixVo> getVoPage(Page<FacMatrix> matrixPage) {
List<FacMatrix> matrixList = matrixPage.getRecords();
Page<FacMatrixVo> matrixVoPage = new Page<>(
matrixPage.getCurrent(),
matrixPage.getSize(),
matrixPage.getTotal());
if (CollUtil.isEmpty(matrixList)) {
return matrixVoPage;
}
List<FacMatrixVo> matrixVoList = matrixList.stream().map(this::getVo).toList();
matrixVoPage.setRecords(matrixVoList);
return matrixVoPage;
}
}

View File

@ -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<FacPhotovoltaicPanelColumnMapper, FacPhotovoltaicPanelColumn>
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<FacPhotovoltaicPanelColumnVo> queryPageList(PhotovoltaicPanelColumnQueryReq req, PageQuery pageQuery) {
Page<FacPhotovoltaicPanelColumn> result = this.page(pageQuery.build(), this.buildQueryWrapper(req));
return TableDataInfo.build(this.getVoPage(result));
}
/**
* 查询符合条件的设施-光伏板立柱列表
*
* @param req 查询条件
* @return 设施-光伏板立柱列表
*/
@Override
public List<FacPhotovoltaicPanelColumnVo> queryList(PhotovoltaicPanelColumnQueryReq req) {
List<FacPhotovoltaicPanelColumn> 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<String> 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<String> 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<Long> 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<String> positionList = JSONUtil.toList(positions, String.class);
photovoltaicPanelColumnVo.setPositionList(positionList);
}
return photovoltaicPanelColumnVo;
}
/**
* 获取设施-光伏板立柱查询条件封装
*
* @param req 查询条件
* @return 查询条件封装
*/
@Override
public LambdaQueryWrapper<FacPhotovoltaicPanelColumn> buildQueryWrapper(PhotovoltaicPanelColumnQueryReq req) {
LambdaQueryWrapper<FacPhotovoltaicPanelColumn> 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<FacPhotovoltaicPanelColumnVo> getVoPage(Page<FacPhotovoltaicPanelColumn> photovoltaicPanelColumnPage) {
List<FacPhotovoltaicPanelColumn> photovoltaicPanelColumnList = photovoltaicPanelColumnPage.getRecords();
Page<FacPhotovoltaicPanelColumnVo> photovoltaicPanelColumnVoPage = new Page<>(
photovoltaicPanelColumnPage.getCurrent(),
photovoltaicPanelColumnPage.getSize(),
photovoltaicPanelColumnPage.getTotal());
if (CollUtil.isEmpty(photovoltaicPanelColumnList)) {
return photovoltaicPanelColumnVoPage;
}
List<FacPhotovoltaicPanelColumnVo> photovoltaicPanelColumnVoList = photovoltaicPanelColumnList.stream().map(this::getVo).toList();
photovoltaicPanelColumnVoPage.setRecords(photovoltaicPanelColumnVoList);
return photovoltaicPanelColumnVoPage;
}
}

View File

@ -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<String> 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("支架名称重复");
}
}
}

View File

@ -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<FacPhotovoltaicPanelPointMapper, FacPhotovoltaicPanelPoint>
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<FacPhotovoltaicPanelPointVo> queryPageList(PhotovoltaicPanelPointQueryReq req, PageQuery pageQuery) {
Page<FacPhotovoltaicPanelPoint> result = this.page(pageQuery.build(), this.buildQueryWrapper(req));
return TableDataInfo.build(this.getVoPage(result));
}
/**
* 查询符合条件的设施-光伏板桩点列表
*
* @param req 查询条件
* @return 设施-光伏板桩点列表
*/
@Override
public List<FacPhotovoltaicPanelPointVo> queryList(PhotovoltaicPanelPointQueryReq req) {
List<FacPhotovoltaicPanelPoint> 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<String> 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<String> 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<Long> 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<String> positionList = JSONUtil.toList(positions, String.class);
photovoltaicPanelPointVo.setPositionList(positionList);
}
return photovoltaicPanelPointVo;
}
/**
* 获取设施-光伏板桩点查询条件封装
*
* @param req 查询条件
* @return 查询条件封装
*/
@Override
public LambdaQueryWrapper<FacPhotovoltaicPanelPoint> buildQueryWrapper(PhotovoltaicPanelPointQueryReq req) {
LambdaQueryWrapper<FacPhotovoltaicPanelPoint> 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<FacPhotovoltaicPanelPointVo> getVoPage(Page<FacPhotovoltaicPanelPoint> photovoltaicPanelPointPage) {
List<FacPhotovoltaicPanelPoint> photovoltaicPanelPointList = photovoltaicPanelPointPage.getRecords();
Page<FacPhotovoltaicPanelPointVo> photovoltaicPanelPointVoPage = new Page<>(
photovoltaicPanelPointPage.getCurrent(),
photovoltaicPanelPointPage.getSize(),
photovoltaicPanelPointPage.getTotal());
if (CollUtil.isEmpty(photovoltaicPanelPointList)) {
return photovoltaicPanelPointVoPage;
}
List<FacPhotovoltaicPanelPointVo> photovoltaicPanelPointVoList = photovoltaicPanelPointList.stream().map(this::getVo).toList();
photovoltaicPanelPointVoPage.setRecords(photovoltaicPanelPointVoList);
return photovoltaicPanelPointVoPage;
}
}

View File

@ -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<FacPhotovoltaicPanelMapper, FacPhotovoltaicPanel>
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<FacPhotovoltaicPanelVo> queryPageList(PhotovoltaicPanelQueryReq req, PageQuery pageQuery) {
Page<FacPhotovoltaicPanel> result = this.page(pageQuery.build(), this.buildQueryWrapper(req));
return TableDataInfo.build(this.getVoPage(result));
}
/**
* 查询符合条件的设施-光伏板列表
*
* @param req 查询条件
* @return 设施-光伏板列表
*/
@Override
public List<FacPhotovoltaicPanelVo> queryList(PhotovoltaicPanelQueryReq req) {
List<FacPhotovoltaicPanel> 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<List<String>> 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<List<String>> 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<Long> 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<List<String>> positionList = new ArrayList<>();
List<String> 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<FacPhotovoltaicPanel> buildQueryWrapper(PhotovoltaicPanelQueryReq req) {
LambdaQueryWrapper<FacPhotovoltaicPanel> 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<FacPhotovoltaicPanelVo> getVoPage(Page<FacPhotovoltaicPanel> photovoltaicPanelPage) {
List<FacPhotovoltaicPanel> photovoltaicPanelList = photovoltaicPanelPage.getRecords();
Page<FacPhotovoltaicPanelVo> photovoltaicPanelVoPage = new Page<>(
photovoltaicPanelPage.getCurrent(),
photovoltaicPanelPage.getSize(),
photovoltaicPanelPage.getTotal());
if (CollUtil.isEmpty(photovoltaicPanelList)) {
return photovoltaicPanelVoPage;
}
List<FacPhotovoltaicPanelVo> photovoltaicPanelVoList = photovoltaicPanelList.stream().map(this::getVo).toList();
photovoltaicPanelVoPage.setRecords(photovoltaicPanelVoList);
return photovoltaicPanelVoPage;
}
}

View File

@ -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<FacPhotovoltaicPanelSupportMapper, FacPhotovoltaicPanelSupport>
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<FacPhotovoltaicPanelSupportVo> queryPageList(PhotovoltaicPanelSupportQueryReq req, PageQuery pageQuery) {
Page<FacPhotovoltaicPanelSupport> result = this.page(pageQuery.build(), this.buildQueryWrapper(req));
return TableDataInfo.build(this.getVoPage(result));
}
/**
* 查询符合条件的设施-光伏板支架列表
*
* @param req 查询条件
* @return 设施-光伏板支架列表
*/
@Override
public List<FacPhotovoltaicPanelSupportVo> queryList(PhotovoltaicPanelSupportQueryReq req) {
List<FacPhotovoltaicPanelSupport> 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<String> 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<String> 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<Long> 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<String> positionList = JSONUtil.toList(positions, String.class);
photovoltaicPanelSupportVo.setPositionList(positionList);
}
return photovoltaicPanelSupportVo;
}
/**
* 获取设施-光伏板支架查询条件封装
*
* @param req 查询条件
* @return 查询条件封装
*/
@Override
public LambdaQueryWrapper<FacPhotovoltaicPanelSupport> buildQueryWrapper(PhotovoltaicPanelSupportQueryReq req) {
LambdaQueryWrapper<FacPhotovoltaicPanelSupport> 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<FacPhotovoltaicPanelSupportVo> getVoPage(Page<FacPhotovoltaicPanelSupport> photovoltaicPanelSupportPage) {
List<FacPhotovoltaicPanelSupport> photovoltaicPanelSupportList = photovoltaicPanelSupportPage.getRecords();
Page<FacPhotovoltaicPanelSupportVo> photovoltaicPanelSupportVoPage = new Page<>(
photovoltaicPanelSupportPage.getCurrent(),
photovoltaicPanelSupportPage.getSize(),
photovoltaicPanelSupportPage.getTotal());
if (CollUtil.isEmpty(photovoltaicPanelSupportList)) {
return photovoltaicPanelSupportVoPage;
}
List<FacPhotovoltaicPanelSupportVo> photovoltaicPanelSupportVoList = photovoltaicPanelSupportList.stream().map(this::getVo).toList();
photovoltaicPanelSupportVoPage.setRecords(photovoltaicPanelSupportVoList);
return photovoltaicPanelSupportVoPage;
}
}

View File

@ -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<JSONObject> 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);
}
}

View File

@ -85,7 +85,7 @@ public class BusDocumentSafetyMeetingController extends BaseController {
@Log(title = "安全会议纪要", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping("/file")
public R<Long> addFile(@RequestPart("file") MultipartFile file, @RequestBody DocumentSafetyMeetingCreateFileReq req) {
public R<Long> addFile(@RequestPart("file") MultipartFile file, DocumentSafetyMeetingCreateFileReq req) {
return R.ok(busDocumentSafetyMeetingService.insertByFile(file, req));
}

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.facility.mapper.FacBoxTransformerMapper">
</mapper>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.facility.mapper.FacInverterMapper">
</mapper>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.facility.mapper.FacMatrixMapper">
</mapper>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.facility.mapper.FacPhotovoltaicPanelColumnMapper">
</mapper>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.facility.mapper.FacPhotovoltaicPanelMapper">
</mapper>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.facility.mapper.FacPhotovoltaicPanelPointMapper">
</mapper>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.facility.mapper.FacPhotovoltaicPanelSupportMapper">
</mapper>

View File

@ -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;