From c2933c68a7d4650a2309c59de3bdd10779f9d222 Mon Sep 17 00:00:00 2001 From: zengtao01 Date: Fri, 25 Jul 2025 20:56:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=9F=E5=9C=B0=E6=B5=81=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BusEnterRoadController.java | 114 +++++++++ .../controller/BusLandBlockController.java | 113 +++++++++ .../BusLandBlockUnitProjectController.java | 124 ++++++++++ .../BusLandTransferLedgerController.java | 122 ++++++++++ .../BusNonTransferLedgerController.java | 113 +++++++++ .../org/dromara/land/domain/BusEnterRoad.java | 71 ++++++ .../org/dromara/land/domain/BusLandBlock.java | 71 ++++++ .../land/domain/BusLandBlockUnitProject.java | 54 +++++ .../land/domain/BusLandTransferLedger.java | 113 +++++++++ .../land/domain/BusNonTransferLedger.java | 76 ++++++ .../land/domain/bo/BusEnterRoadBo.java | 73 ++++++ .../land/domain/bo/BusLandBlockBo.java | 78 +++++++ .../domain/bo/BusLandBlockUnitProjectBo.java | 47 ++++ .../domain/bo/BusLandTransferLedgerBo.java | 114 +++++++++ .../domain/bo/BusNonTransferLedgerBo.java | 77 +++++++ .../dromara/land/domain/bo/LandUnitBo.java | 18 ++ .../org/dromara/land/domain/bo/UnitBo.java | 23 ++ .../land/domain/vo/BusEnterRoadVo.java | 90 ++++++++ .../domain/vo/BusLandBlockUnitProjectVo.java | 53 +++++ .../land/domain/vo/BusLandBlockVo.java | 86 +++++++ .../domain/vo/BusLandTransferLedgerVo.java | 147 ++++++++++++ .../domain/vo/BusNonTransferLedgerVo.java | 103 +++++++++ .../land/mapper/BusEnterRoadMapper.java | 15 ++ .../land/mapper/BusLandBlockMapper.java | 15 ++ .../mapper/BusLandBlockUnitProjectMapper.java | 15 ++ .../mapper/BusLandTransferLedgerMapper.java | 15 ++ .../mapper/BusNonTransferLedgerMapper.java | 15 ++ .../land/service/IBusEnterRoadService.java | 73 ++++++ .../land/service/IBusLandBlockService.java | 73 ++++++ .../IBusLandBlockUnitProjectService.java | 85 +++++++ .../IBusLandTransferLedgerService.java | 77 +++++++ .../service/IBusNonTransferLedgerService.java | 68 ++++++ .../service/impl/BusEnterRoadServiceImpl.java | 171 ++++++++++++++ .../service/impl/BusLandBlockServiceImpl.java | 196 ++++++++++++++++ .../BusLandBlockUnitProjectServiceImpl.java | 164 +++++++++++++ .../BusLandTransferLedgerServiceImpl.java | 216 ++++++++++++++++++ .../impl/BusNonTransferLedgerServiceImpl.java | 176 ++++++++++++++ .../mapper/land/BusEnterRoadMapper.xml | 7 + .../mapper/land/BusLandBlockMapper.xml | 7 + .../land/BusLandBlockUnitProjectMapper.xml | 7 + .../land/BusLandTransferLedgerMapper.xml | 7 + .../land/BusNonTransferLedgerMapper.xml | 7 + 42 files changed, 3289 insertions(+) create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/controller/BusEnterRoadController.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/controller/BusLandBlockController.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/controller/BusLandBlockUnitProjectController.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/controller/BusLandTransferLedgerController.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/controller/BusNonTransferLedgerController.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/BusEnterRoad.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/BusLandBlock.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/BusLandBlockUnitProject.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/BusLandTransferLedger.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/BusNonTransferLedger.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/bo/BusEnterRoadBo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/bo/BusLandBlockBo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/bo/BusLandBlockUnitProjectBo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/bo/BusLandTransferLedgerBo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/bo/BusNonTransferLedgerBo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/bo/LandUnitBo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/bo/UnitBo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/vo/BusEnterRoadVo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/vo/BusLandBlockUnitProjectVo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/vo/BusLandBlockVo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/vo/BusLandTransferLedgerVo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/vo/BusNonTransferLedgerVo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/mapper/BusEnterRoadMapper.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/mapper/BusLandBlockMapper.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/mapper/BusLandBlockUnitProjectMapper.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/mapper/BusLandTransferLedgerMapper.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/mapper/BusNonTransferLedgerMapper.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/IBusEnterRoadService.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/IBusLandBlockService.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/IBusLandBlockUnitProjectService.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/IBusLandTransferLedgerService.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/IBusNonTransferLedgerService.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/impl/BusEnterRoadServiceImpl.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/impl/BusLandBlockServiceImpl.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/impl/BusLandBlockUnitProjectServiceImpl.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/impl/BusLandTransferLedgerServiceImpl.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/impl/BusNonTransferLedgerServiceImpl.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/land/BusEnterRoadMapper.xml create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/land/BusLandBlockMapper.xml create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/land/BusLandBlockUnitProjectMapper.xml create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/land/BusLandTransferLedgerMapper.xml create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/land/BusNonTransferLedgerMapper.xml diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/controller/BusEnterRoadController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/controller/BusEnterRoadController.java new file mode 100644 index 00000000..074f131d --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/controller/BusEnterRoadController.java @@ -0,0 +1,114 @@ +package org.dromara.land.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.land.domain.bo.BusEnterRoadBo; +import org.dromara.land.domain.vo.BusEnterRoadVo; +import org.dromara.land.service.IBusEnterRoadService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 进场道路信息 + * + * @author Lion Li + * @date 2025-07-25 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/land/enterRoad") +public class BusEnterRoadController extends BaseController { + + private final IBusEnterRoadService busEnterRoadService; + + /** + * 查询进场道路信息列表 + */ + @SaCheckPermission("land:enterRoad:list") + @GetMapping("/list") + public TableDataInfo list(BusEnterRoadBo bo, PageQuery pageQuery) { + return busEnterRoadService.queryPageList(bo, pageQuery); + } + + + /** + * 导出进场道路信息列表 + */ + @SaCheckPermission("land:enterRoad:export") + @Log(title = "进场道路信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(BusEnterRoadBo bo, HttpServletResponse response) { + List list = busEnterRoadService.queryList(bo); + ExcelUtil.exportExcel(list, "进场道路信息", BusEnterRoadVo.class, response); + } + + /** + * 获取进场道路信息详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("land:enterRoad:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(busEnterRoadService.queryById(id)); + } + + /** + * 新增进场道路信息 + */ + @SaCheckPermission("land:enterRoad:add") + @Log(title = "进场道路信息", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody BusEnterRoadBo bo) { + return toAjax(busEnterRoadService.insertByBo(bo)); + } + + /** + * 修改进场道路信息 + */ + @SaCheckPermission("land:enterRoad:edit") + @Log(title = "进场道路信息", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody BusEnterRoadBo bo) { + return toAjax(busEnterRoadService.updateByBo(bo)); + } + + /** + * 删除进场道路信息 + * + * @param ids 主键串 + */ + @SaCheckPermission("land:enterRoad:remove") + @Log(title = "进场道路信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(busEnterRoadService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/controller/BusLandBlockController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/controller/BusLandBlockController.java new file mode 100644 index 00000000..3c6905ad --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/controller/BusLandBlockController.java @@ -0,0 +1,113 @@ +package org.dromara.land.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.land.domain.bo.BusLandBlockBo; +import org.dromara.land.domain.vo.BusLandBlockVo; +import org.dromara.land.service.IBusLandBlockService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 地块信息 + * + * @author Lion Li + * @date 2025-07-25 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/land/landBlock") +public class BusLandBlockController extends BaseController { + + private final IBusLandBlockService busLandBlockService; + + /** + * 查询地块信息列表 + */ + @SaCheckPermission("land:landBlock:list") + @GetMapping("/list") + public TableDataInfo list(BusLandBlockBo bo, PageQuery pageQuery) { + return busLandBlockService.queryPageList(bo, pageQuery); + } + + /** + * 导出地块信息列表 + */ + @SaCheckPermission("land:landBlock:export") + @Log(title = "地块信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(BusLandBlockBo bo, HttpServletResponse response) { + List list = busLandBlockService.queryList(bo); + ExcelUtil.exportExcel(list, "地块信息", BusLandBlockVo.class, response); + } + + /** + * 获取地块信息详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("land:landBlock:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(busLandBlockService.queryById(id)); + } + + /** + * 新增地块信息 + */ + @SaCheckPermission("land:landBlock:add") + @Log(title = "地块信息", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody BusLandBlockBo bo) { + return toAjax(busLandBlockService.insertByBo(bo)); + } + + /** + * 修改地块信息 + */ + @SaCheckPermission("land:landBlock:edit") + @Log(title = "地块信息", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody BusLandBlockBo bo) { + return toAjax(busLandBlockService.updateByBo(bo)); + } + + /** + * 删除地块信息 + * + * @param ids 主键串 + */ + @SaCheckPermission("land:landBlock:remove") + @Log(title = "地块信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(busLandBlockService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/controller/BusLandBlockUnitProjectController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/controller/BusLandBlockUnitProjectController.java new file mode 100644 index 00000000..8477406e --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/controller/BusLandBlockUnitProjectController.java @@ -0,0 +1,124 @@ +package org.dromara.land.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.land.domain.bo.BusLandBlockUnitProjectBo; +import org.dromara.land.domain.bo.LandUnitBo; +import org.dromara.land.domain.vo.BusLandBlockUnitProjectVo; +import org.dromara.land.service.IBusLandBlockUnitProjectService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 地块与单位工程关联 + * + * @author Lion Li + * @date 2025-07-25 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/land/landBlockUnitProject") +public class BusLandBlockUnitProjectController extends BaseController { + + private final IBusLandBlockUnitProjectService busLandBlockUnitProjectService; + + /** + * 查询地块与单位工程关联列表 + */ + @SaCheckPermission("land:landBlockUnitProject:list") + @GetMapping("/list") + public TableDataInfo list(BusLandBlockUnitProjectBo bo, PageQuery pageQuery) { + return busLandBlockUnitProjectService.queryPageList(bo, pageQuery); + } + + /** + * 导出地块与单位工程关联列表 + */ + @SaCheckPermission("land:landBlockUnitProject:export") + @Log(title = "地块与单位工程关联", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(BusLandBlockUnitProjectBo bo, HttpServletResponse response) { + List list = busLandBlockUnitProjectService.queryList(bo); + ExcelUtil.exportExcel(list, "地块与单位工程关联", BusLandBlockUnitProjectVo.class, response); + } + + /** + * 获取地块与单位工程关联详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("land:landBlockUnitProject:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(busLandBlockUnitProjectService.queryById(id)); + } + + /** + * 新增地块与单位工程关联 + */ + @SaCheckPermission("land:landBlockUnitProject:add") + @Log(title = "地块与单位工程关联", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody BusLandBlockUnitProjectBo bo) { + return toAjax(busLandBlockUnitProjectService.insertByBo(bo)); + } + + /** + * 修改地块与单位工程关联 + */ + @SaCheckPermission("land:landBlockUnitProject:edit") + @Log(title = "地块与单位工程关联", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody BusLandBlockUnitProjectBo bo) { + return toAjax(busLandBlockUnitProjectService.updateByBo(bo)); + } + + /** + * 删除地块与单位工程关联 + * + * @param ids 主键串 + */ + @SaCheckPermission("land:landBlockUnitProject:remove") + @Log(title = "地块与单位工程关联", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(busLandBlockUnitProjectService.deleteWithValidByIds(List.of(ids), true)); + } + + + @SaCheckPermission("land:landBlockUnitProject:add") + @Log(title = "地块关联方阵", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping("/LandUnit") + public R add(@Validated(AddGroup.class) @RequestBody LandUnitBo bo) { + busLandBlockUnitProjectService.insertBatch(bo.getLandId(), bo.getUnitBoList()); + return toAjax(true); + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/controller/BusLandTransferLedgerController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/controller/BusLandTransferLedgerController.java new file mode 100644 index 00000000..58d15d53 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/controller/BusLandTransferLedgerController.java @@ -0,0 +1,122 @@ +package org.dromara.land.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.land.domain.bo.BusLandTransferLedgerBo; +import org.dromara.land.domain.vo.BusLandTransferLedgerVo; +import org.dromara.land.service.IBusLandTransferLedgerService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 项目土地流转台账 + * + * @author Lion Li + * @date 2025-07-25 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/land/landTransferLedger") +public class BusLandTransferLedgerController extends BaseController { + + private final IBusLandTransferLedgerService busLandTransferLedgerService; + + /** + * 查询项目土地流转台账列表 + */ + @SaCheckPermission("land:landTransferLedger:list") + @GetMapping("/list") + public TableDataInfo list(BusLandTransferLedgerBo bo, PageQuery pageQuery) { + return busLandTransferLedgerService.queryPageList(bo, pageQuery); + } + + /** + * 查询项目土地流转台账方阵列表 + */ + @SaCheckPermission("land:landTransferLedger:list") + @GetMapping("/listUnit") + public TableDataInfo listUnit(BusLandTransferLedgerBo bo, PageQuery pageQuery) { + return busLandTransferLedgerService.queryUnitPageList(bo, pageQuery); + } + + /** + * 导出项目土地流转台账列表 + */ + @SaCheckPermission("land:landTransferLedger:export") + @Log(title = "项目土地流转台账", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(BusLandTransferLedgerBo bo, HttpServletResponse response) { + List list = busLandTransferLedgerService.queryList(bo); + ExcelUtil.exportExcel(list, "项目土地流转台账", BusLandTransferLedgerVo.class, response); + } + + /** + * 获取项目土地流转台账详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("land:landTransferLedger:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(busLandTransferLedgerService.queryById(id)); + } + + /** + * 新增项目土地流转台账 + */ + @SaCheckPermission("land:landTransferLedger:add") + @Log(title = "项目土地流转台账", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody BusLandTransferLedgerBo bo) { + return toAjax(busLandTransferLedgerService.insertByBo(bo)); + } + + /** + * 修改项目土地流转台账 + */ + @SaCheckPermission("land:landTransferLedger:edit") + @Log(title = "项目土地流转台账", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody BusLandTransferLedgerBo bo) { + return toAjax(busLandTransferLedgerService.updateByBo(bo)); + } + + /** + * 删除项目土地流转台账 + * + * @param ids 主键串 + */ + @SaCheckPermission("land:landTransferLedger:remove") + @Log(title = "项目土地流转台账", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(busLandTransferLedgerService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/controller/BusNonTransferLedgerController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/controller/BusNonTransferLedgerController.java new file mode 100644 index 00000000..02b069cd --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/controller/BusNonTransferLedgerController.java @@ -0,0 +1,113 @@ +package org.dromara.land.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.land.domain.bo.BusNonTransferLedgerBo; +import org.dromara.land.domain.vo.BusNonTransferLedgerVo; +import org.dromara.land.service.IBusNonTransferLedgerService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 不流转台账 + * + * @author Lion Li + * @date 2025-07-25 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/land/nonTransferLedger") +public class BusNonTransferLedgerController extends BaseController { + + private final IBusNonTransferLedgerService busNonTransferLedgerService; + + /** + * 查询不流转台账列表 + */ + @SaCheckPermission("land:nonTransferLedger:list") + @GetMapping("/list") + public TableDataInfo list(BusNonTransferLedgerBo bo, PageQuery pageQuery) { + return busNonTransferLedgerService.queryPageList(bo, pageQuery); + } + + /** + * 导出不流转台账列表 + */ + @SaCheckPermission("land:nonTransferLedger:export") + @Log(title = "不流转台账", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(BusNonTransferLedgerBo bo, HttpServletResponse response) { + List list = busNonTransferLedgerService.queryList(bo); + ExcelUtil.exportExcel(list, "不流转台账", BusNonTransferLedgerVo.class, response); + } + + /** + * 获取不流转台账详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("land:nonTransferLedger:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(busNonTransferLedgerService.queryById(id)); + } + + /** + * 新增不流转台账 + */ + @SaCheckPermission("land:nonTransferLedger:add") + @Log(title = "不流转台账", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody BusNonTransferLedgerBo bo) { + return toAjax(busNonTransferLedgerService.insertByBo(bo)); + } + + /** + * 修改不流转台账 + */ + @SaCheckPermission("land:nonTransferLedger:edit") + @Log(title = "不流转台账", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody BusNonTransferLedgerBo bo) { + return toAjax(busNonTransferLedgerService.updateByBo(bo)); + } + + /** + * 删除不流转台账 + * + * @param ids 主键串 + */ + @SaCheckPermission("land:nonTransferLedger:remove") + @Log(title = "不流转台账", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(busNonTransferLedgerService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/BusEnterRoad.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/BusEnterRoad.java new file mode 100644 index 00000000..060c05a2 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/BusEnterRoad.java @@ -0,0 +1,71 @@ +package org.dromara.land.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 进场道路信息对象 bus_enter_road + * + * @author Lion Li + * @date 2025-07-25 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("bus_enter_road") +public class BusEnterRoad extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @TableId(value = "id") + private Long id; + + /** + * 项目ID + */ + private Long projectId; + + /** + * 道路编号 + */ + private String roadCode; + + /** + * 道路名称 + */ + private String roadName; + + /** + * 设计新建道路长度(米) + */ + private String designCreateLength; + + /** + * 设计改扩建长度(米) + */ + private String designUpdateLength; + + /** + * 需流转总长度(米) + */ + private String changeLength; + + /** + * 需要流转总面积 + */ + private String changeArea; + + /** + * 对应地块ID + */ + private Long landBlockId; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/BusLandBlock.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/BusLandBlock.java new file mode 100644 index 00000000..30d1e206 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/BusLandBlock.java @@ -0,0 +1,71 @@ +package org.dromara.land.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 地块信息对象 bus_land_block + * + * @author Lion Li + * @date 2025-07-25 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("bus_land_block") +public class BusLandBlock extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @TableId(value = "id") + private Long id; + + /** + * 项目ID + */ + private Long projectId; + + /** + * 地块编号 + */ + private String landCode; + + /** + * 地块名称 + */ + private String landName; + + /** + * 所属村委会 + */ + private String villageCommittee; + + /** + * 设计面积(亩) + */ + private String designArea; + + /** + * 地块数 + */ + private Long blockCount; + + /** + * 农户数 + */ + private Long farmerCount; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/BusLandBlockUnitProject.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/BusLandBlockUnitProject.java new file mode 100644 index 00000000..16add881 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/BusLandBlockUnitProject.java @@ -0,0 +1,54 @@ +package org.dromara.land.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 地块与单位工程关联对象 bus_land_block_unit_project + * + * @author Lion Li + * @date 2025-07-25 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("bus_land_block_unit_project") +public class BusLandBlockUnitProject extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @TableId(value = "id") + private Long id; + + /** + * 地块ID + */ + private Long landBlockId; + + /** + * 单位工程ID + */ + private Long unitProjectId; + + /** + * 单位工程名称 + */ + private String unitProjectName; + + /** + * 单位工程工区 + */ + private String unitProjectArea; + + /** + * 单位工程状态 + */ + private String unitProjectStatus; +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/BusLandTransferLedger.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/BusLandTransferLedger.java new file mode 100644 index 00000000..7a4066a2 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/BusLandTransferLedger.java @@ -0,0 +1,113 @@ +package org.dromara.land.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.io.Serial; + +/** + * 项目土地流转台账对象 bus_land_transfer_ledger + * + * @author Lion Li + * @date 2025-07-25 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("bus_land_transfer_ledger") +public class BusLandTransferLedger extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @TableId(value = "id") + private Long id; + + /** + * 项目ID + */ + private Long projectId; + + /** + * 土地类型 + */ + private String landType; + + /** + * 地块ID + */ + private Long landBlockId; + + /** + * 进场道路ID + */ + private Long enterRoadId; + + /** + * 设计面积 + */ + private String designArea; + + /** + * 责任人 + */ + private String responsiblePerson; + + /** + * 预计完成时间 + */ + private Date expectedFinishDate; + + /** + * 已流转面积 + */ + private String transferAea; + + /** + * 流转比例(百分比) + */ + private String transferRatio; + + /** + * 土地租金(元) + */ + private Long landRent; + + /** + * 青苗赔偿(元) + */ + private Long seedlingCompensation; + + /** + * 总金额(元) + */ + private Long totalAmount; + + /** + * 流转状态 + */ + private String transferStatus; + + /** + * 状态说明 + */ + private String statusDescription; + + /** + * 问题总结 + */ + private String issueSummary; + + /** + * 下一步策略 + */ + private String nextStrategy; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/BusNonTransferLedger.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/BusNonTransferLedger.java new file mode 100644 index 00000000..bace42cd --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/BusNonTransferLedger.java @@ -0,0 +1,76 @@ +package org.dromara.land.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 不流转台账对象 bus_non_transfer_ledger + * + * @author Lion Li + * @date 2025-07-25 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("bus_non_transfer_ledger") +public class BusNonTransferLedger extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @TableId(value = "id") + private Long id; + + /** + * 项目ID + */ + private Long projectId; + + /** + * 土地类型 + */ + private String landType; + + /** + * 地块ID + */ + private Long landBlockId; + + /** + * 进场道路ID + */ + private Long enterRoadId; + + /** + * 设计面积 + */ + private String designArea; + + /** + * 不签合同面积(亩) + */ + private String noContractArea; + + /** + * 不签合同原因 + */ + private String noContractReason; + + /** + * 不测量面积(亩) + */ + private String noSurveyArea; + + /** + * 不流转原因 + */ + private String nonTransferReason; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/bo/BusEnterRoadBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/bo/BusEnterRoadBo.java new file mode 100644 index 00000000..c81858dd --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/bo/BusEnterRoadBo.java @@ -0,0 +1,73 @@ +package org.dromara.land.domain.bo; + +import org.dromara.land.domain.BusEnterRoad; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +/** + * 进场道路信息业务对象 bus_enter_road + * + * @author Lion Li + * @date 2025-07-25 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = BusEnterRoad.class, reverseConvertGenerate = false) +public class BusEnterRoadBo extends BaseEntity { + + /** + * 主键ID + */ + @NotNull(message = "主键ID不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 项目ID + */ + @NotNull(message = "项目ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long projectId; + + /** + * 道路编号 + */ + @NotBlank(message = "道路编号不能为空", groups = { AddGroup.class, EditGroup.class }) + private String roadCode; + + /** + * 道路名称 + */ + @NotBlank(message = "道路名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String roadName; + + /** + * 设计新建道路长度(米) + */ + private String designCreateLength; + + /** + * 设计改扩建长度(米) + */ + private String designUpdateLength; + + /** + * 需流转总长度(米) + */ + private String changeLength; + + /** + * 需要流转总面积 + */ + private String changeArea; + + /** + * 对应地块ID + */ + private Long landBlockId; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/bo/BusLandBlockBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/bo/BusLandBlockBo.java new file mode 100644 index 00000000..34c1757f --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/bo/BusLandBlockBo.java @@ -0,0 +1,78 @@ +package org.dromara.land.domain.bo; + +import io.github.linpeilie.annotations.AutoMapper; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.land.domain.BusLandBlock; + +import java.util.List; + +/** + * 地块信息业务对象 bus_land_block + * + * @author Lion Li + * @date 2025-07-25 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = BusLandBlock.class, reverseConvertGenerate = false) +public class BusLandBlockBo extends BaseEntity { + + /** + * 主键ID + */ + @NotNull(message = "主键ID不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 项目ID + */ + @NotNull(message = "项目ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long projectId; + + /** + * 地块编号 + */ + private String landCode; + + /** + * 地块名称 + */ + @NotBlank(message = "地块名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String landName; + + /** + * 所属村委会 + */ + private String villageCommittee; + + /** + * 设计面积(亩) + */ + private String designArea; + + /** + * 地块数 + */ + private Long blockCount; + + /** + * 农户数 + */ + private Long farmerCount; + + /** + * 备注 + */ + private String remark; + + + private List unitBoList; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/bo/BusLandBlockUnitProjectBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/bo/BusLandBlockUnitProjectBo.java new file mode 100644 index 00000000..652bf4b7 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/bo/BusLandBlockUnitProjectBo.java @@ -0,0 +1,47 @@ +package org.dromara.land.domain.bo; + +import org.dromara.land.domain.BusLandBlockUnitProject; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +/** + * 地块与单位工程关联业务对象 bus_land_block_unit_project + * + * @author Lion Li + * @date 2025-07-25 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = BusLandBlockUnitProject.class, reverseConvertGenerate = false) +public class BusLandBlockUnitProjectBo extends BaseEntity { + + /** + * 主键ID + */ + @NotNull(message = "主键ID不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 地块ID + */ + @NotNull(message = "地块ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long landBlockId; + + /** + * 单位工程ID + */ + @NotNull(message = "单位工程ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long unitProjectId; + + /** + * 单位工程名称 + */ + private String unitProjectName; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/bo/BusLandTransferLedgerBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/bo/BusLandTransferLedgerBo.java new file mode 100644 index 00000000..8e01a6b2 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/bo/BusLandTransferLedgerBo.java @@ -0,0 +1,114 @@ +package org.dromara.land.domain.bo; + +import org.dromara.land.domain.BusLandTransferLedger; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +/** + * 项目土地流转台账业务对象 bus_land_transfer_ledger + * + * @author Lion Li + * @date 2025-07-25 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = BusLandTransferLedger.class, reverseConvertGenerate = false) +public class BusLandTransferLedgerBo extends BaseEntity { + + /** + * 主键ID + */ + @NotNull(message = "主键ID不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 项目ID + */ + @NotNull(message = "项目ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long projectId; + + /** + * 土地类型 + */ + @NotBlank(message = "土地类型不能为空", groups = { AddGroup.class, EditGroup.class }) + private String landType; + + /** + * 地块ID + */ + private Long landBlockId; + + /** + * 进场道路ID + */ + private Long enterRoadId; + + /** + * 设计面积 + */ + private String designArea; + + /** + * 责任人 + */ + private String responsiblePerson; + + /** + * 预计完成时间 + */ + private Date expectedFinishDate; + + /** + * 已流转面积 + */ + private String transferAea; + + /** + * 流转比例(百分比) + */ + private String transferRatio; + + /** + * 土地租金(元) + */ + private Long landRent; + + /** + * 青苗赔偿(元) + */ + private Long seedlingCompensation; + + /** + * 总金额(元) + */ + private Long totalAmount; + + /** + * 流转状态 + */ + private String transferStatus; + + /** + * 状态说明 + */ + private String statusDescription; + + /** + * 问题总结 + */ + private String issueSummary; + + /** + * 下一步策略 + */ + private String nextStrategy; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/bo/BusNonTransferLedgerBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/bo/BusNonTransferLedgerBo.java new file mode 100644 index 00000000..4e1255c2 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/bo/BusNonTransferLedgerBo.java @@ -0,0 +1,77 @@ +package org.dromara.land.domain.bo; + +import org.dromara.land.domain.BusNonTransferLedger; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +/** + * 不流转台账业务对象 bus_non_transfer_ledger + * + * @author Lion Li + * @date 2025-07-25 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = BusNonTransferLedger.class, reverseConvertGenerate = false) +public class BusNonTransferLedgerBo extends BaseEntity { + + /** + * 主键ID + */ + @NotNull(message = "主键ID不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 项目ID + */ + @NotNull(message = "项目ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long projectId; + + /** + * 土地类型 + */ + @NotBlank(message = "土地类型不能为空", groups = { AddGroup.class, EditGroup.class }) + private String landType; + + /** + * 地块ID + */ + private Long landBlockId; + + /** + * 进场道路ID + */ + private Long enterRoadId; + + /** + * 设计面积 + */ + private String designArea; + + /** + * 不签合同面积(亩) + */ + private String noContractArea; + + /** + * 不签合同原因 + */ + private String noContractReason; + + /** + * 不测量面积(亩) + */ + private String noSurveyArea; + + /** + * 不流转原因 + */ + private String nonTransferReason; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/bo/LandUnitBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/bo/LandUnitBo.java new file mode 100644 index 00000000..66ee83e5 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/bo/LandUnitBo.java @@ -0,0 +1,18 @@ +package org.dromara.land.domain.bo; + +import lombok.Data; + +import java.util.List; + +/** + * @author zt + * @description + * @since 2025/7/25 + */ +@Data +public class LandUnitBo { + + private Long landId; + + private List unitBoList; +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/bo/UnitBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/bo/UnitBo.java new file mode 100644 index 00000000..eb0ac794 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/bo/UnitBo.java @@ -0,0 +1,23 @@ +package org.dromara.land.domain.bo; + +import lombok.Data; + +/** + * @author zt + * @description + * @since 2025/7/25 + */ +@Data +public class UnitBo { + + /** + * 单位工程ID + */ + private Long unitProjectId; + + /** + * 单位工程名称 + */ + private String unitProjectName; + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/vo/BusEnterRoadVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/vo/BusEnterRoadVo.java new file mode 100644 index 00000000..5e594a9a --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/vo/BusEnterRoadVo.java @@ -0,0 +1,90 @@ +package org.dromara.land.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.land.domain.BusEnterRoad; + +import java.io.Serial; +import java.io.Serializable; + + + +/** + * 进场道路信息视图对象 bus_enter_road + * + * @author Lion Li + * @date 2025-07-25 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = BusEnterRoad.class) +public class BusEnterRoadVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ExcelProperty(value = "主键ID") + private Long id; + + /** + * 项目ID + */ + @ExcelProperty(value = "项目ID") + private Long projectId; + + /** + * 道路编号 + */ + @ExcelProperty(value = "道路编号") + private String roadCode; + + /** + * 道路名称 + */ + @ExcelProperty(value = "道路名称") + private String roadName; + + /** + * 设计新建道路长度(米) + */ + @ExcelProperty(value = "设计新建道路长度", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "米=") + private String designCreateLength; + + /** + * 设计改扩建长度(米) + */ + @ExcelProperty(value = "设计改扩建长度", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "米=") + private String designUpdateLength; + + /** + * 需流转总长度(米) + */ + @ExcelProperty(value = "需流转总长度", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "米=") + private String changeLength; + + /** + * 需要流转总面积 + */ + @ExcelProperty(value = "需要流转总面积") + private String changeArea; + + /** + * 对应地块ID + */ + @ExcelProperty(value = "对应地块ID") + private Long landBlockId; + + private String landName; + + private String unit; +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/vo/BusLandBlockUnitProjectVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/vo/BusLandBlockUnitProjectVo.java new file mode 100644 index 00000000..045a27ae --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/vo/BusLandBlockUnitProjectVo.java @@ -0,0 +1,53 @@ +package org.dromara.land.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.land.domain.BusLandBlockUnitProject; + +import java.io.Serial; +import java.io.Serializable; + + + +/** + * 地块与单位工程关联视图对象 bus_land_block_unit_project + * + * @author Lion Li + * @date 2025-07-25 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = BusLandBlockUnitProject.class) +public class BusLandBlockUnitProjectVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ExcelProperty(value = "主键ID") + private Long id; + + /** + * 地块ID + */ + @ExcelProperty(value = "地块ID") + private Long landBlockId; + + /** + * 单位工程ID + */ + @ExcelProperty(value = "单位工程ID") + private Long unitProjectId; + + /** + * 单位工程名称 + */ + @ExcelProperty(value = "单位工程名称") + private String unitProjectName; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/vo/BusLandBlockVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/vo/BusLandBlockVo.java new file mode 100644 index 00000000..2f8c48cb --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/vo/BusLandBlockVo.java @@ -0,0 +1,86 @@ +package org.dromara.land.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.land.domain.BusLandBlock; + +import java.io.Serial; +import java.io.Serializable; + + +/** + * 地块信息视图对象 bus_land_block + * + * @author Lion Li + * @date 2025-07-25 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = BusLandBlock.class) +public class BusLandBlockVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ExcelProperty(value = "主键ID") + private Long id; + + /** + * 项目ID + */ + @ExcelProperty(value = "项目ID") + private Long projectId; + + /** + * 地块编号 + */ + @ExcelProperty(value = "地块编号") + private String landCode; + + /** + * 地块名称 + */ + @ExcelProperty(value = "地块名称") + private String landName; + + /** + * 所属村委会 + */ + @ExcelProperty(value = "所属村委会") + private String villageCommittee; + + /** + * 设计面积(亩) + */ + @ExcelProperty(value = "设计面积", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "亩=") + private String designArea; + + /** + * 地块数 + */ + @ExcelProperty(value = "地块数") + private Long blockCount; + + /** + * 农户数 + */ + @ExcelProperty(value = "农户数") + private Long farmerCount; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + private String unit; + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/vo/BusLandTransferLedgerVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/vo/BusLandTransferLedgerVo.java new file mode 100644 index 00000000..58a419a3 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/vo/BusLandTransferLedgerVo.java @@ -0,0 +1,147 @@ +package org.dromara.land.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.land.domain.BusLandTransferLedger; +import org.dromara.land.domain.bo.UnitBo; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; +import java.util.List; + + +/** + * 项目土地流转台账视图对象 bus_land_transfer_ledger + * + * @author Lion Li + * @date 2025-07-25 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = BusLandTransferLedger.class) +public class BusLandTransferLedgerVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ExcelProperty(value = "主键ID") + private Long id; + + /** + * 项目ID + */ + @ExcelProperty(value = "项目ID") + private Long projectId; + + /** + * 土地类型 + */ + @ExcelProperty(value = "土地类型") + private String landType; + + /** + * 地块ID + */ + @ExcelProperty(value = "地块ID") + private Long landBlockId; + + /** + * 进场道路ID + */ + @ExcelProperty(value = "进场道路ID") + private Long enterRoadId; + + /** + * 设计面积 + */ + @ExcelProperty(value = "设计面积") + private String designArea; + + /** + * 责任人 + */ + @ExcelProperty(value = "责任人") + private String responsiblePerson; + + /** + * 预计完成时间 + */ + @ExcelProperty(value = "预计完成时间") + private Date expectedFinishDate; + + /** + * 已流转面积 + */ + @ExcelProperty(value = "已流转面积") + private String transferAea; + + /** + * 流转比例(百分比) + */ + @ExcelProperty(value = "流转比例", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "百=分比") + private String transferRatio; + + /** + * 土地租金(元) + */ + @ExcelProperty(value = "土地租金", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "元=") + private Long landRent; + + /** + * 青苗赔偿(元) + */ + @ExcelProperty(value = "青苗赔偿", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "元=") + private Long seedlingCompensation; + + /** + * 总金额(元) + */ + @ExcelProperty(value = "总金额", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "元=") + private Long totalAmount; + + /** + * 流转状态 + */ + @ExcelProperty(value = "流转状态") + private String transferStatus; + + /** + * 状态说明 + */ + @ExcelProperty(value = "状态说明") + private String statusDescription; + + /** + * 问题总结 + */ + @ExcelProperty(value = "问题总结") + private String issueSummary; + + /** + * 下一步策略 + */ + @ExcelProperty(value = "下一步策略") + private String nextStrategy; + + private String roadCode; + + private String roadName; + + private String landCode; + + private String landName; + + List unitBoList; +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/vo/BusNonTransferLedgerVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/vo/BusNonTransferLedgerVo.java new file mode 100644 index 00000000..627f3f29 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/vo/BusNonTransferLedgerVo.java @@ -0,0 +1,103 @@ +package org.dromara.land.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.land.domain.BusNonTransferLedger; + +import java.io.Serial; +import java.io.Serializable; + + + +/** + * 不流转台账视图对象 bus_non_transfer_ledger + * + * @author Lion Li + * @date 2025-07-25 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = BusNonTransferLedger.class) +public class BusNonTransferLedgerVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ExcelProperty(value = "主键ID") + private Long id; + + /** + * 项目ID + */ + @ExcelProperty(value = "项目ID") + private Long projectId; + + /** + * 土地类型 + */ + @ExcelProperty(value = "土地类型") + private String landType; + + /** + * 地块ID + */ + @ExcelProperty(value = "地块ID") + private Long landBlockId; + + /** + * 进场道路ID + */ + @ExcelProperty(value = "进场道路ID") + private Long enterRoadId; + + /** + * 设计面积 + */ + @ExcelProperty(value = "设计面积") + private String designArea; + + /** + * 不签合同面积(亩) + */ + @ExcelProperty(value = "不签合同面积", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "亩=") + private String noContractArea; + + /** + * 不签合同原因 + */ + @ExcelProperty(value = "不签合同原因") + private String noContractReason; + + /** + * 不测量面积(亩) + */ + @ExcelProperty(value = "不测量面积", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "亩=") + private String noSurveyArea; + + /** + * 不流转原因 + */ + @ExcelProperty(value = "不流转原因") + private String nonTransferReason; + + + private String roadCode; + + + private String roadName; + + + private String landCode; + + private String landName; + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/mapper/BusEnterRoadMapper.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/mapper/BusEnterRoadMapper.java new file mode 100644 index 00000000..52418b89 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/mapper/BusEnterRoadMapper.java @@ -0,0 +1,15 @@ +package org.dromara.land.mapper; + +import org.dromara.land.domain.BusEnterRoad; +import org.dromara.land.domain.vo.BusEnterRoadVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 进场道路信息Mapper接口 + * + * @author Lion Li + * @date 2025-07-25 + */ +public interface BusEnterRoadMapper extends BaseMapperPlus { + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/mapper/BusLandBlockMapper.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/mapper/BusLandBlockMapper.java new file mode 100644 index 00000000..ba38e495 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/mapper/BusLandBlockMapper.java @@ -0,0 +1,15 @@ +package org.dromara.land.mapper; + +import org.dromara.land.domain.BusLandBlock; +import org.dromara.land.domain.vo.BusLandBlockVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 地块信息Mapper接口 + * + * @author Lion Li + * @date 2025-07-25 + */ +public interface BusLandBlockMapper extends BaseMapperPlus { + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/mapper/BusLandBlockUnitProjectMapper.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/mapper/BusLandBlockUnitProjectMapper.java new file mode 100644 index 00000000..b89d6c25 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/mapper/BusLandBlockUnitProjectMapper.java @@ -0,0 +1,15 @@ +package org.dromara.land.mapper; + +import org.dromara.land.domain.BusLandBlockUnitProject; +import org.dromara.land.domain.vo.BusLandBlockUnitProjectVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 地块与单位工程关联Mapper接口 + * + * @author Lion Li + * @date 2025-07-25 + */ +public interface BusLandBlockUnitProjectMapper extends BaseMapperPlus { + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/mapper/BusLandTransferLedgerMapper.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/mapper/BusLandTransferLedgerMapper.java new file mode 100644 index 00000000..c80e8440 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/mapper/BusLandTransferLedgerMapper.java @@ -0,0 +1,15 @@ +package org.dromara.land.mapper; + +import org.dromara.land.domain.BusLandTransferLedger; +import org.dromara.land.domain.vo.BusLandTransferLedgerVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 项目土地流转台账Mapper接口 + * + * @author Lion Li + * @date 2025-07-25 + */ +public interface BusLandTransferLedgerMapper extends BaseMapperPlus { + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/mapper/BusNonTransferLedgerMapper.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/mapper/BusNonTransferLedgerMapper.java new file mode 100644 index 00000000..8139ae65 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/mapper/BusNonTransferLedgerMapper.java @@ -0,0 +1,15 @@ +package org.dromara.land.mapper; + +import org.dromara.land.domain.BusNonTransferLedger; +import org.dromara.land.domain.vo.BusNonTransferLedgerVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 不流转台账Mapper接口 + * + * @author Lion Li + * @date 2025-07-25 + */ +public interface BusNonTransferLedgerMapper extends BaseMapperPlus { + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/IBusEnterRoadService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/IBusEnterRoadService.java new file mode 100644 index 00000000..3f7fc9c2 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/IBusEnterRoadService.java @@ -0,0 +1,73 @@ +package org.dromara.land.service; + +import org.dromara.land.domain.vo.BusEnterRoadVo; +import org.dromara.land.domain.bo.BusEnterRoadBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 进场道路信息Service接口 + * + * @author Lion Li + * @date 2025-07-25 + */ +public interface IBusEnterRoadService { + + /** + * 查询进场道路信息 + * + * @param id 主键 + * @return 进场道路信息 + */ + BusEnterRoadVo queryById(Long id); + + /** + * 分页查询进场道路信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 进场道路信息分页列表 + */ + TableDataInfo queryPageList(BusEnterRoadBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的进场道路信息列表 + * + * @param bo 查询条件 + * @return 进场道路信息列表 + */ + List queryList(BusEnterRoadBo bo); + + /** + * 新增进场道路信息 + * + * @param bo 进场道路信息 + * @return 是否新增成功 + */ + Boolean insertByBo(BusEnterRoadBo bo); + + /** + * 修改进场道路信息 + * + * @param bo 进场道路信息 + * @return 是否修改成功 + */ + Boolean updateByBo(BusEnterRoadBo bo); + + /** + * 校验并批量删除进场道路信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 根据id查询列表 + */ + List queryListByIds(List ids); +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/IBusLandBlockService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/IBusLandBlockService.java new file mode 100644 index 00000000..3dbb44ac --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/IBusLandBlockService.java @@ -0,0 +1,73 @@ +package org.dromara.land.service; + +import org.dromara.land.domain.vo.BusLandBlockVo; +import org.dromara.land.domain.bo.BusLandBlockBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 地块信息Service接口 + * + * @author Lion Li + * @date 2025-07-25 + */ +public interface IBusLandBlockService { + + /** + * 查询地块信息 + * + * @param id 主键 + * @return 地块信息 + */ + BusLandBlockVo queryById(Long id); + + /** + * 分页查询地块信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 地块信息分页列表 + */ + TableDataInfo queryPageList(BusLandBlockBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的地块信息列表 + * + * @param bo 查询条件 + * @return 地块信息列表 + */ + List queryList(BusLandBlockBo bo); + + /** + * 新增地块信息 + * + * @param bo 地块信息 + * @return 是否新增成功 + */ + Boolean insertByBo(BusLandBlockBo bo); + + /** + * 修改地块信息 + * + * @param bo 地块信息 + * @return 是否修改成功 + */ + Boolean updateByBo(BusLandBlockBo bo); + + /** + * 校验并批量删除地块信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 根据ids批量查询 + */ + List queryListByIds(List ids,Boolean isNeedUnit); +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/IBusLandBlockUnitProjectService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/IBusLandBlockUnitProjectService.java new file mode 100644 index 00000000..5cbf0508 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/IBusLandBlockUnitProjectService.java @@ -0,0 +1,85 @@ +package org.dromara.land.service; + +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.land.domain.BusLandBlockUnitProject; +import org.dromara.land.domain.bo.BusLandBlockUnitProjectBo; +import org.dromara.land.domain.bo.UnitBo; +import org.dromara.land.domain.vo.BusLandBlockUnitProjectVo; + +import java.util.Collection; +import java.util.List; + +/** + * 地块与单位工程关联Service接口 + * + * @author Lion Li + * @date 2025-07-25 + */ +public interface IBusLandBlockUnitProjectService { + + /** + * 查询地块与单位工程关联 + * + * @param id 主键 + * @return 地块与单位工程关联 + */ + BusLandBlockUnitProjectVo queryById(Long id); + + /** + * 分页查询地块与单位工程关联列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 地块与单位工程关联分页列表 + */ + TableDataInfo queryPageList(BusLandBlockUnitProjectBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的地块与单位工程关联列表 + * + * @param bo 查询条件 + * @return 地块与单位工程关联列表 + */ + List queryList(BusLandBlockUnitProjectBo bo); + + /** + * 新增地块与单位工程关联 + * + * @param bo 地块与单位工程关联 + * @return 是否新增成功 + */ + Boolean insertByBo(BusLandBlockUnitProjectBo bo); + + /** + * 修改地块与单位工程关联 + * + * @param bo 地块与单位工程关联 + * @return 是否修改成功 + */ + Boolean updateByBo(BusLandBlockUnitProjectBo bo); + + /** + * 校验并批量删除地块与单位工程关联信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 关联方阵 + */ + void insertBatch(Long landId, List boList); + + /** + * 根据地块id删除关联信息 + */ + void deleteByLandIds(List< Long> landIds); + + /** + * 根据地块id查询关联信息 + */ + List queryListByLandIds(List< Long> landIds); +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/IBusLandTransferLedgerService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/IBusLandTransferLedgerService.java new file mode 100644 index 00000000..5aba1c97 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/IBusLandTransferLedgerService.java @@ -0,0 +1,77 @@ +package org.dromara.land.service; + +import org.dromara.land.domain.vo.BusLandTransferLedgerVo; +import org.dromara.land.domain.bo.BusLandTransferLedgerBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 项目土地流转台账Service接口 + * + * @author Lion Li + * @date 2025-07-25 + */ +public interface IBusLandTransferLedgerService { + + /** + * 查询项目土地流转台账 + * + * @param id 主键 + * @return 项目土地流转台账 + */ + BusLandTransferLedgerVo queryById(Long id); + + /** + * 分页查询项目土地流转台账列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 项目土地流转台账分页列表 + */ + TableDataInfo queryPageList(BusLandTransferLedgerBo bo, PageQuery pageQuery); + + /** + * 分页查询项目土地流转台账列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 项目土地流转台账分页列表 + */ + TableDataInfo queryUnitPageList(BusLandTransferLedgerBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的项目土地流转台账列表 + * + * @param bo 查询条件 + * @return 项目土地流转台账列表 + */ + List queryList(BusLandTransferLedgerBo bo); + + /** + * 新增项目土地流转台账 + * + * @param bo 项目土地流转台账 + * @return 是否新增成功 + */ + Boolean insertByBo(BusLandTransferLedgerBo bo); + + /** + * 修改项目土地流转台账 + * + * @param bo 项目土地流转台账 + * @return 是否修改成功 + */ + Boolean updateByBo(BusLandTransferLedgerBo bo); + + /** + * 校验并批量删除项目土地流转台账信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/IBusNonTransferLedgerService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/IBusNonTransferLedgerService.java new file mode 100644 index 00000000..bbd75170 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/IBusNonTransferLedgerService.java @@ -0,0 +1,68 @@ +package org.dromara.land.service; + +import org.dromara.land.domain.vo.BusNonTransferLedgerVo; +import org.dromara.land.domain.bo.BusNonTransferLedgerBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 不流转台账Service接口 + * + * @author Lion Li + * @date 2025-07-25 + */ +public interface IBusNonTransferLedgerService { + + /** + * 查询不流转台账 + * + * @param id 主键 + * @return 不流转台账 + */ + BusNonTransferLedgerVo queryById(Long id); + + /** + * 分页查询不流转台账列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 不流转台账分页列表 + */ + TableDataInfo queryPageList(BusNonTransferLedgerBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的不流转台账列表 + * + * @param bo 查询条件 + * @return 不流转台账列表 + */ + List queryList(BusNonTransferLedgerBo bo); + + /** + * 新增不流转台账 + * + * @param bo 不流转台账 + * @return 是否新增成功 + */ + Boolean insertByBo(BusNonTransferLedgerBo bo); + + /** + * 修改不流转台账 + * + * @param bo 不流转台账 + * @return 是否修改成功 + */ + Boolean updateByBo(BusNonTransferLedgerBo bo); + + /** + * 校验并批量删除不流转台账信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/impl/BusEnterRoadServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/impl/BusEnterRoadServiceImpl.java new file mode 100644 index 00000000..962155bc --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/impl/BusEnterRoadServiceImpl.java @@ -0,0 +1,171 @@ +package org.dromara.land.service.impl; + +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.utils.MapstructUtils; +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.land.domain.BusEnterRoad; +import org.dromara.land.domain.bo.BusEnterRoadBo; +import org.dromara.land.domain.vo.BusEnterRoadVo; +import org.dromara.land.domain.vo.BusLandBlockVo; +import org.dromara.land.mapper.BusEnterRoadMapper; +import org.dromara.land.service.IBusEnterRoadService; +import org.dromara.land.service.IBusLandBlockService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; +import java.util.Map; + +/** + * 进场道路信息Service业务层处理 + * + * @author Lion Li + * @date 2025-07-25 + */ +@RequiredArgsConstructor +@Service +public class BusEnterRoadServiceImpl implements IBusEnterRoadService { + + public static final String ENTER_ROAD_PREFIX = "TD-DL-"; + + private final BusEnterRoadMapper baseMapper; + + private final IBusLandBlockService iBusLandBlockService; + + /** + * 查询进场道路信息 + * + * @param id 主键 + * @return 进场道路信息 + */ + @Override + public BusEnterRoadVo queryById(Long id){ + BusEnterRoadVo busEnterRoadVo = baseMapper.selectVoById(id); + BusLandBlockVo busLandBlockVo = iBusLandBlockService.queryById(busEnterRoadVo.getLandBlockId()); + busEnterRoadVo.setLandName(busLandBlockVo.getLandName()); + busEnterRoadVo.setUnit(busLandBlockVo.getUnit()); + return baseMapper.selectVoById(id); + } + + /** + * 分页查询进场道路信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 进场道路信息分页列表 + */ + @Override + public TableDataInfo queryPageList(BusEnterRoadBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + List records = result.getRecords(); + + List ids = records.stream().map(BusEnterRoadVo::getLandBlockId).toList(); + if(CollectionUtil.isNotEmpty(ids)){ + List list = iBusLandBlockService.queryListByIds(ids,true); + records.forEach(vo -> { + BusLandBlockVo landBlock = list.stream().filter(item -> item.getId().equals(vo.getLandBlockId())).findFirst().orElse(null); + if(landBlock != null){ + vo.setLandName(landBlock.getLandName()); + vo.setUnit(landBlock.getUnit()); + } + }); + } + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的进场道路信息列表 + * + * @param bo 查询条件 + * @return 进场道路信息列表 + */ + @Override + public List queryList(BusEnterRoadBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(BusEnterRoadBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByAsc(BusEnterRoad::getId); + lqw.eq(bo.getProjectId() != null, BusEnterRoad::getProjectId, bo.getProjectId()); + lqw.eq(StringUtils.isNotBlank(bo.getRoadCode()), BusEnterRoad::getRoadCode, bo.getRoadCode()); + lqw.like(StringUtils.isNotBlank(bo.getRoadName()), BusEnterRoad::getRoadName, bo.getRoadName()); + lqw.eq(StringUtils.isNotBlank(bo.getDesignCreateLength()), BusEnterRoad::getDesignCreateLength, bo.getDesignCreateLength()); + lqw.eq(StringUtils.isNotBlank(bo.getDesignUpdateLength()), BusEnterRoad::getDesignUpdateLength, bo.getDesignUpdateLength()); + lqw.eq(StringUtils.isNotBlank(bo.getChangeLength()), BusEnterRoad::getChangeLength, bo.getChangeLength()); + lqw.eq(StringUtils.isNotBlank(bo.getChangeArea()), BusEnterRoad::getChangeArea, bo.getChangeArea()); + lqw.eq(bo.getLandBlockId() != null, BusEnterRoad::getLandBlockId, bo.getLandBlockId()); + return lqw; + } + + /** + * 新增进场道路信息 + * + * @param bo 进场道路信息 + * @return 是否新增成功 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(BusEnterRoadBo bo) { + BusEnterRoad add = MapstructUtils.convert(bo, BusEnterRoad.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + add.setRoadCode(ENTER_ROAD_PREFIX+add.getId()); + baseMapper.updateById(add); + return flag; + } + + /** + * 修改进场道路信息 + * + * @param bo 进场道路信息 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(BusEnterRoadBo bo) { + BusEnterRoad update = MapstructUtils.convert(bo, BusEnterRoad.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(BusEnterRoad entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除进场道路信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } + + @Override + public List queryListByIds(List ids) { + return baseMapper.selectVoList(Wrappers.lambdaQuery() + .in(BusEnterRoad::getId, ids)); + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/impl/BusLandBlockServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/impl/BusLandBlockServiceImpl.java new file mode 100644 index 00000000..791e2fbd --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/impl/BusLandBlockServiceImpl.java @@ -0,0 +1,196 @@ +package org.dromara.land.service.impl; + +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.utils.MapstructUtils; +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.land.domain.BusLandBlock; +import org.dromara.land.domain.BusLandBlockUnitProject; +import org.dromara.land.domain.bo.BusLandBlockBo; +import org.dromara.land.domain.vo.BusLandBlockVo; +import org.dromara.land.mapper.BusLandBlockMapper; +import org.dromara.land.service.IBusLandBlockService; +import org.dromara.land.service.IBusLandBlockUnitProjectService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 地块信息Service业务层处理 + * + * @author Lion Li + * @date 2025-07-25 + */ +@RequiredArgsConstructor +@Service +public class BusLandBlockServiceImpl implements IBusLandBlockService { + + + public static final String LAND_PREFIX = "TD-DK-"; + + private final BusLandBlockMapper baseMapper; + + private final IBusLandBlockUnitProjectService iBusLandBlockUnitProjectService; + + /** + * 查询地块信息 + * + * @param id 主键 + * @return 地块信息 + */ + @Override + public BusLandBlockVo queryById(Long id){ + BusLandBlockVo busLandBlockVo = baseMapper.selectVoById(id); + List list = iBusLandBlockUnitProjectService.queryListByLandIds(Collections.singletonList(id)); + if(CollectionUtil.isNotEmpty( list)){ + busLandBlockVo.setUnit(list.stream().map(BusLandBlockUnitProject::getUnitProjectName).collect(Collectors.joining(","))); + } + return busLandBlockVo; + } + + /** + * 分页查询地块信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 地块信息分页列表 + */ + @Override + public TableDataInfo queryPageList(BusLandBlockBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + List records = result.getRecords(); + if(CollectionUtil.isNotEmpty( records)){ + setUnit(records); + } + + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的地块信息列表 + * + * @param bo 查询条件 + * @return 地块信息列表 + */ + @Override + public List queryList(BusLandBlockBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(BusLandBlockBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByAsc(BusLandBlock::getId); + lqw.eq(bo.getProjectId() != null, BusLandBlock::getProjectId, bo.getProjectId()); + lqw.eq(StringUtils.isNotBlank(bo.getLandCode()), BusLandBlock::getLandCode, bo.getLandCode()); + lqw.like(StringUtils.isNotBlank(bo.getLandName()), BusLandBlock::getLandName, bo.getLandName()); + lqw.eq(StringUtils.isNotBlank(bo.getVillageCommittee()), BusLandBlock::getVillageCommittee, bo.getVillageCommittee()); + lqw.eq(StringUtils.isNotBlank(bo.getDesignArea()), BusLandBlock::getDesignArea, bo.getDesignArea()); + lqw.eq(bo.getBlockCount() != null, BusLandBlock::getBlockCount, bo.getBlockCount()); + lqw.eq(bo.getFarmerCount() != null, BusLandBlock::getFarmerCount, bo.getFarmerCount()); + return lqw; + } + + /** + * 新增地块信息 + * + * @param bo 地块信息 + * @return 是否新增成功 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(BusLandBlockBo bo) { + BusLandBlock add = MapstructUtils.convert(bo, BusLandBlock.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + add.setLandCode(LAND_PREFIX+add.getId()); + baseMapper.updateById(add); + + if(CollectionUtil.isNotEmpty(bo.getUnitBoList())){ + iBusLandBlockUnitProjectService.insertBatch(add.getId(),bo.getUnitBoList()); + } + return flag; + } + + /** + * 修改地块信息 + * + * @param bo 地块信息 + * @return 是否修改成功 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(BusLandBlockBo bo) { + BusLandBlock update = MapstructUtils.convert(bo, BusLandBlock.class); + validEntityBeforeSave(update); + + if(CollectionUtil.isNotEmpty(bo.getUnitBoList())){ + iBusLandBlockUnitProjectService.insertBatch(update.getId(),bo.getUnitBoList()); + } + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(BusLandBlock entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除地块信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + + iBusLandBlockUnitProjectService.deleteByLandIds( new ArrayList<>(ids)); + return baseMapper.deleteByIds(ids) > 0; + } + + @Override + public List queryListByIds(List ids,Boolean isNeedUnit) { + List busLandBlockVos = baseMapper.selectVoList(Wrappers.lambdaQuery() + .in(BusLandBlock::getId, ids)); + if(CollectionUtil.isNotEmpty(busLandBlockVos) && isNeedUnit){ + setUnit(busLandBlockVos); + } + return busLandBlockVos; + } + + /** + * 设置单位方程信息 + */ + public void setUnit(List list){ + List ids = list.stream().map(BusLandBlockVo::getId).toList(); + List UnitList = iBusLandBlockUnitProjectService.queryListByLandIds(ids); + list.forEach(vo -> { + List blockUnitProjects = UnitList.stream().filter(item -> item.getLandBlockId().equals(vo.getId())).toList(); + if(CollectionUtil.isNotEmpty( blockUnitProjects)){ + vo.setUnit(blockUnitProjects.stream().map(BusLandBlockUnitProject::getUnitProjectName).collect(Collectors.joining(","))); + } + }); + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/impl/BusLandBlockUnitProjectServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/impl/BusLandBlockUnitProjectServiceImpl.java new file mode 100644 index 00000000..e7f8eba4 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/impl/BusLandBlockUnitProjectServiceImpl.java @@ -0,0 +1,164 @@ +package org.dromara.land.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.utils.MapstructUtils; +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.land.domain.BusLandBlockUnitProject; +import org.dromara.land.domain.bo.BusLandBlockUnitProjectBo; +import org.dromara.land.domain.bo.UnitBo; +import org.dromara.land.domain.vo.BusLandBlockUnitProjectVo; +import org.dromara.land.mapper.BusLandBlockUnitProjectMapper; +import org.dromara.land.service.IBusLandBlockUnitProjectService; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Map; + +/** + * 地块与单位工程关联Service业务层处理 + * + * @author Lion Li + * @date 2025-07-25 + */ +@RequiredArgsConstructor +@Service +public class BusLandBlockUnitProjectServiceImpl implements IBusLandBlockUnitProjectService { + + private final BusLandBlockUnitProjectMapper baseMapper; + + /** + * 查询地块与单位工程关联 + * + * @param id 主键 + * @return 地块与单位工程关联 + */ + @Override + public BusLandBlockUnitProjectVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询地块与单位工程关联列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 地块与单位工程关联分页列表 + */ + @Override + public TableDataInfo queryPageList(BusLandBlockUnitProjectBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的地块与单位工程关联列表 + * + * @param bo 查询条件 + * @return 地块与单位工程关联列表 + */ + @Override + public List queryList(BusLandBlockUnitProjectBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(BusLandBlockUnitProjectBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByAsc(BusLandBlockUnitProject::getId); + lqw.eq(bo.getLandBlockId() != null, BusLandBlockUnitProject::getLandBlockId, bo.getLandBlockId()); + lqw.eq(bo.getUnitProjectId() != null, BusLandBlockUnitProject::getUnitProjectId, bo.getUnitProjectId()); + lqw.like(StringUtils.isNotBlank(bo.getUnitProjectName()), BusLandBlockUnitProject::getUnitProjectName, bo.getUnitProjectName()); + return lqw; + } + + /** + * 新增地块与单位工程关联 + * + * @param bo 地块与单位工程关联 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(BusLandBlockUnitProjectBo bo) { + BusLandBlockUnitProject add = MapstructUtils.convert(bo, BusLandBlockUnitProject.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改地块与单位工程关联 + * + * @param bo 地块与单位工程关联 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(BusLandBlockUnitProjectBo bo) { + BusLandBlockUnitProject update = MapstructUtils.convert(bo, BusLandBlockUnitProject.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(BusLandBlockUnitProject entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除地块与单位工程关联信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } + + @Override + public void insertBatch(Long landId, List boList) { + + deleteByLandIds(Collections.singletonList(landId)); + + List list = new ArrayList<>(); + for (UnitBo bo : boList) { + BusLandBlockUnitProject busLandBlockUnitProject = new BusLandBlockUnitProject(); + BeanUtils.copyProperties(bo, busLandBlockUnitProject); + busLandBlockUnitProject.setLandBlockId(landId); + list.add(busLandBlockUnitProject); + } + baseMapper.insertBatch(list); + } + + + @Override + public void deleteByLandIds(List landIds) { + baseMapper.delete(Wrappers.lambdaUpdate() + .in(BusLandBlockUnitProject::getLandBlockId, landIds)); + } + + @Override + public List queryListByLandIds(List landIds) { + return baseMapper.selectList(Wrappers.lambdaUpdate() + .in(BusLandBlockUnitProject::getLandBlockId, landIds)); + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/impl/BusLandTransferLedgerServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/impl/BusLandTransferLedgerServiceImpl.java new file mode 100644 index 00000000..a78c7d16 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/impl/BusLandTransferLedgerServiceImpl.java @@ -0,0 +1,216 @@ +package org.dromara.land.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.utils.MapstructUtils; +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.land.domain.BusLandBlockUnitProject; +import org.dromara.land.domain.BusLandTransferLedger; +import org.dromara.land.domain.bo.BusLandTransferLedgerBo; +import org.dromara.land.domain.bo.UnitBo; +import org.dromara.land.domain.vo.BusEnterRoadVo; +import org.dromara.land.domain.vo.BusLandBlockVo; +import org.dromara.land.domain.vo.BusLandTransferLedgerVo; +import org.dromara.land.mapper.BusLandTransferLedgerMapper; +import org.dromara.land.service.IBusEnterRoadService; +import org.dromara.land.service.IBusLandBlockService; +import org.dromara.land.service.IBusLandBlockUnitProjectService; +import org.dromara.land.service.IBusLandTransferLedgerService; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; + +/** + * 项目土地流转台账Service业务层处理 + * + * @author Lion Li + * @date 2025-07-25 + */ +@RequiredArgsConstructor +@Service +public class BusLandTransferLedgerServiceImpl implements IBusLandTransferLedgerService { + + private final BusLandTransferLedgerMapper baseMapper; + + private final IBusEnterRoadService iBusEnterRoadService; + + private final IBusLandBlockService iBusLandBlockService; + + private final IBusLandBlockUnitProjectService iBusLandBlockUnitProjectService; + + /** + * 查询项目土地流转台账 + * + * @param id 主键 + * @return 项目土地流转台账 + */ + @Override + public BusLandTransferLedgerVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询项目土地流转台账列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 项目土地流转台账分页列表 + */ + @Override + public TableDataInfo queryPageList(BusLandTransferLedgerBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + List records = result.getRecords(); + + List landIds = records.stream().map(BusLandTransferLedgerVo::getLandBlockId).toList(); + List roadIds = records.stream().map(BusLandTransferLedgerVo::getEnterRoadId).toList(); + + List landBlockList = new ArrayList<>(); + if(CollectionUtil.isNotEmpty(landIds)){ + landBlockList = iBusLandBlockService.queryListByIds(landIds,false); + } + + List roadList = new ArrayList<>(); + if(CollectionUtil.isNotEmpty(roadIds)){ + roadList = iBusEnterRoadService.queryListByIds(roadIds); + } + + for (BusLandTransferLedgerVo vo : records){ + BusLandBlockVo landBlock = landBlockList.stream().filter(item -> item.getId().equals(vo.getLandBlockId())).findFirst().orElse(null); + if(landBlock != null){ + vo.setLandCode(landBlock.getLandCode()); + vo.setLandName(landBlock.getLandName()); + } + BusEnterRoadVo enterRoad = roadList.stream().filter(item -> item.getId().equals(vo.getEnterRoadId())).findFirst().orElse(null); + if(enterRoad != null){ + vo.setRoadCode(enterRoad.getRoadCode()); + vo.setRoadName(enterRoad.getRoadName()); + } + } + + return TableDataInfo.build(result); + } + + @Override + public TableDataInfo queryUnitPageList(BusLandTransferLedgerBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + List records = result.getRecords(); + + List landIds = records.stream().map(BusLandTransferLedgerVo::getLandBlockId).toList(); + List landBlockList = new ArrayList<>(); + List list = new ArrayList<>(); + if(CollectionUtil.isNotEmpty(landIds)){ + landBlockList = iBusLandBlockService.queryListByIds(landIds,false); + list = iBusLandBlockUnitProjectService.queryListByLandIds(landIds); + } + for (BusLandTransferLedgerVo vo : records){ + List blockUnitProjects = list.stream().filter(item -> item.getLandBlockId().equals(vo.getLandBlockId())).toList(); + if(CollectionUtil.isNotEmpty( blockUnitProjects)){ + vo.setUnitBoList(BeanUtil.copyToList(blockUnitProjects, UnitBo.class)); + } + BusLandBlockVo landBlock = landBlockList.stream().filter(item -> item.getId().equals(vo.getLandBlockId())).findFirst().orElse(null); + if(landBlock != null){ + vo.setLandCode(landBlock.getLandCode()); + vo.setLandName(landBlock.getLandName()); + } + } + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的项目土地流转台账列表 + * + * @param bo 查询条件 + * @return 项目土地流转台账列表 + */ + @Override + public List queryList(BusLandTransferLedgerBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(BusLandTransferLedgerBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByAsc(BusLandTransferLedger::getId); + lqw.eq(bo.getProjectId() != null, BusLandTransferLedger::getProjectId, bo.getProjectId()); + lqw.eq(StringUtils.isNotBlank(bo.getLandType()), BusLandTransferLedger::getLandType, bo.getLandType()); + lqw.eq(bo.getLandBlockId() != null, BusLandTransferLedger::getLandBlockId, bo.getLandBlockId()); + lqw.eq(bo.getEnterRoadId() != null, BusLandTransferLedger::getEnterRoadId, bo.getEnterRoadId()); + lqw.eq(StringUtils.isNotBlank(bo.getDesignArea()), BusLandTransferLedger::getDesignArea, bo.getDesignArea()); + lqw.eq(StringUtils.isNotBlank(bo.getResponsiblePerson()), BusLandTransferLedger::getResponsiblePerson, bo.getResponsiblePerson()); + lqw.eq(bo.getExpectedFinishDate() != null, BusLandTransferLedger::getExpectedFinishDate, bo.getExpectedFinishDate()); + lqw.eq(StringUtils.isNotBlank(bo.getTransferAea()), BusLandTransferLedger::getTransferAea, bo.getTransferAea()); + lqw.eq(StringUtils.isNotBlank(bo.getTransferRatio()), BusLandTransferLedger::getTransferRatio, bo.getTransferRatio()); + lqw.eq(bo.getLandRent() != null, BusLandTransferLedger::getLandRent, bo.getLandRent()); + lqw.eq(bo.getSeedlingCompensation() != null, BusLandTransferLedger::getSeedlingCompensation, bo.getSeedlingCompensation()); + lqw.eq(bo.getTotalAmount() != null, BusLandTransferLedger::getTotalAmount, bo.getTotalAmount()); + lqw.eq(StringUtils.isNotBlank(bo.getTransferStatus()), BusLandTransferLedger::getTransferStatus, bo.getTransferStatus()); + lqw.eq(StringUtils.isNotBlank(bo.getStatusDescription()), BusLandTransferLedger::getStatusDescription, bo.getStatusDescription()); + lqw.eq(StringUtils.isNotBlank(bo.getIssueSummary()), BusLandTransferLedger::getIssueSummary, bo.getIssueSummary()); + lqw.eq(StringUtils.isNotBlank(bo.getNextStrategy()), BusLandTransferLedger::getNextStrategy, bo.getNextStrategy()); + return lqw; + } + + /** + * 新增项目土地流转台账 + * + * @param bo 项目土地流转台账 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(BusLandTransferLedgerBo bo) { + BusLandTransferLedger add = MapstructUtils.convert(bo, BusLandTransferLedger.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改项目土地流转台账 + * + * @param bo 项目土地流转台账 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(BusLandTransferLedgerBo bo) { + BusLandTransferLedger update = MapstructUtils.convert(bo, BusLandTransferLedger.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(BusLandTransferLedger entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除项目土地流转台账信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/impl/BusNonTransferLedgerServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/impl/BusNonTransferLedgerServiceImpl.java new file mode 100644 index 00000000..f7435faa --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/impl/BusNonTransferLedgerServiceImpl.java @@ -0,0 +1,176 @@ +package org.dromara.land.service.impl; + +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.utils.MapstructUtils; +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.land.domain.BusNonTransferLedger; +import org.dromara.land.domain.bo.BusNonTransferLedgerBo; +import org.dromara.land.domain.vo.BusEnterRoadVo; +import org.dromara.land.domain.vo.BusLandBlockVo; +import org.dromara.land.domain.vo.BusNonTransferLedgerVo; +import org.dromara.land.mapper.BusNonTransferLedgerMapper; +import org.dromara.land.service.IBusEnterRoadService; +import org.dromara.land.service.IBusLandBlockService; +import org.dromara.land.service.IBusNonTransferLedgerService; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; + +/** + * 不流转台账Service业务层处理 + * + * @author Lion Li + * @date 2025-07-25 + */ +@RequiredArgsConstructor +@Service +public class BusNonTransferLedgerServiceImpl implements IBusNonTransferLedgerService { + + private final BusNonTransferLedgerMapper baseMapper; + + private final IBusEnterRoadService iBusEnterRoadService; + + private final IBusLandBlockService iBusLandBlockService; + + /** + * 查询不流转台账 + * + * @param id 主键 + * @return 不流转台账 + */ + @Override + public BusNonTransferLedgerVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询不流转台账列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 不流转台账分页列表 + */ + @Override + public TableDataInfo queryPageList(BusNonTransferLedgerBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + + List records = result.getRecords(); + List landIds = records.stream().map(BusNonTransferLedgerVo::getLandBlockId).toList(); + List roadIds = records.stream().map(BusNonTransferLedgerVo::getEnterRoadId).toList(); + + List landBlockList = new ArrayList<>(); + if(CollectionUtil.isNotEmpty(landIds)){ + landBlockList = iBusLandBlockService.queryListByIds(landIds,false); + } + + List roadList = new ArrayList<>(); + if(CollectionUtil.isNotEmpty(roadIds)){ + roadList = iBusEnterRoadService.queryListByIds(roadIds); + } + + for (BusNonTransferLedgerVo vo : records){ + BusLandBlockVo landBlock = landBlockList.stream().filter(item -> item.getId().equals(vo.getLandBlockId())).findFirst().orElse(null); + if(landBlock != null){ + vo.setLandCode(landBlock.getLandCode()); + vo.setLandName(landBlock.getLandName()); + } + BusEnterRoadVo enterRoad = roadList.stream().filter(item -> item.getId().equals(vo.getEnterRoadId())).findFirst().orElse(null); + if(enterRoad != null){ + vo.setRoadCode(enterRoad.getRoadCode()); + vo.setRoadName(enterRoad.getRoadName()); + } + } + + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的不流转台账列表 + * + * @param bo 查询条件 + * @return 不流转台账列表 + */ + @Override + public List queryList(BusNonTransferLedgerBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(BusNonTransferLedgerBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByAsc(BusNonTransferLedger::getId); + lqw.eq(bo.getProjectId() != null, BusNonTransferLedger::getProjectId, bo.getProjectId()); + lqw.eq(StringUtils.isNotBlank(bo.getLandType()), BusNonTransferLedger::getLandType, bo.getLandType()); + lqw.eq(bo.getLandBlockId() != null, BusNonTransferLedger::getLandBlockId, bo.getLandBlockId()); + lqw.eq(bo.getEnterRoadId() != null, BusNonTransferLedger::getEnterRoadId, bo.getEnterRoadId()); + lqw.eq(StringUtils.isNotBlank(bo.getDesignArea()), BusNonTransferLedger::getDesignArea, bo.getDesignArea()); + lqw.eq(StringUtils.isNotBlank(bo.getNoContractArea()), BusNonTransferLedger::getNoContractArea, bo.getNoContractArea()); + lqw.eq(StringUtils.isNotBlank(bo.getNoContractReason()), BusNonTransferLedger::getNoContractReason, bo.getNoContractReason()); + lqw.eq(StringUtils.isNotBlank(bo.getNoSurveyArea()), BusNonTransferLedger::getNoSurveyArea, bo.getNoSurveyArea()); + lqw.eq(StringUtils.isNotBlank(bo.getNonTransferReason()), BusNonTransferLedger::getNonTransferReason, bo.getNonTransferReason()); + return lqw; + } + + /** + * 新增不流转台账 + * + * @param bo 不流转台账 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(BusNonTransferLedgerBo bo) { + BusNonTransferLedger add = MapstructUtils.convert(bo, BusNonTransferLedger.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改不流转台账 + * + * @param bo 不流转台账 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(BusNonTransferLedgerBo bo) { + BusNonTransferLedger update = MapstructUtils.convert(bo, BusNonTransferLedger.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(BusNonTransferLedger entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除不流转台账信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/land/BusEnterRoadMapper.xml b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/land/BusEnterRoadMapper.xml new file mode 100644 index 00000000..203f57d7 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/land/BusEnterRoadMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/land/BusLandBlockMapper.xml b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/land/BusLandBlockMapper.xml new file mode 100644 index 00000000..d9d4a612 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/land/BusLandBlockMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/land/BusLandBlockUnitProjectMapper.xml b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/land/BusLandBlockUnitProjectMapper.xml new file mode 100644 index 00000000..623aa15a --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/land/BusLandBlockUnitProjectMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/land/BusLandTransferLedgerMapper.xml b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/land/BusLandTransferLedgerMapper.xml new file mode 100644 index 00000000..bc6e08a7 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/land/BusLandTransferLedgerMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/land/BusNonTransferLedgerMapper.xml b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/land/BusNonTransferLedgerMapper.xml new file mode 100644 index 00000000..11190e09 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/land/BusNonTransferLedgerMapper.xml @@ -0,0 +1,7 @@ + + + + +