土地流转
This commit is contained in:
@ -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<BusEnterRoadVo> 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<BusEnterRoadVo> list = busEnterRoadService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "进场道路信息", BusEnterRoadVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取进场道路信息详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("land:enterRoad:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<BusEnterRoadVo> 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<Void> 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<Void> 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<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(busEnterRoadService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
}
|
@ -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<BusLandBlockVo> 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<BusLandBlockVo> list = busLandBlockService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "地块信息", BusLandBlockVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取地块信息详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("land:landBlock:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<BusLandBlockVo> 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<Void> 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<Void> 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<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(busLandBlockService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
}
|
@ -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<BusLandBlockUnitProjectVo> 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<BusLandBlockUnitProjectVo> list = busLandBlockUnitProjectService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "地块与单位工程关联", BusLandBlockUnitProjectVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取地块与单位工程关联详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("land:landBlockUnitProject:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<BusLandBlockUnitProjectVo> 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<Void> 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<Void> 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<Void> 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<Void> add(@Validated(AddGroup.class) @RequestBody LandUnitBo bo) {
|
||||
busLandBlockUnitProjectService.insertBatch(bo.getLandId(), bo.getUnitBoList());
|
||||
return toAjax(true);
|
||||
}
|
||||
}
|
@ -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<BusLandTransferLedgerVo> list(BusLandTransferLedgerBo bo, PageQuery pageQuery) {
|
||||
return busLandTransferLedgerService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询项目土地流转台账方阵列表
|
||||
*/
|
||||
@SaCheckPermission("land:landTransferLedger:list")
|
||||
@GetMapping("/listUnit")
|
||||
public TableDataInfo<BusLandTransferLedgerVo> 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<BusLandTransferLedgerVo> list = busLandTransferLedgerService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "项目土地流转台账", BusLandTransferLedgerVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取项目土地流转台账详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("land:landTransferLedger:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<BusLandTransferLedgerVo> 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<Void> 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<Void> 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<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(busLandTransferLedgerService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
}
|
@ -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<BusNonTransferLedgerVo> 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<BusNonTransferLedgerVo> list = busNonTransferLedgerService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "不流转台账", BusNonTransferLedgerVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取不流转台账详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("land:nonTransferLedger:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<BusNonTransferLedgerVo> 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<Void> 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<Void> 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<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(busNonTransferLedgerService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
}
|
@ -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;
|
||||
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
|
||||
}
|
@ -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;
|
||||
}
|
@ -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;
|
||||
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
|
||||
}
|
@ -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<UnitBo> unitBoList;
|
||||
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
package org.dromara.land.domain.bo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author zt
|
||||
* @description <description class purpose>
|
||||
* @since 2025/7/25
|
||||
*/
|
||||
@Data
|
||||
public class LandUnitBo {
|
||||
|
||||
private Long landId;
|
||||
|
||||
private List<UnitBo> unitBoList;
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
package org.dromara.land.domain.bo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author zt
|
||||
* @description <description class purpose>
|
||||
* @since 2025/7/25
|
||||
*/
|
||||
@Data
|
||||
public class UnitBo {
|
||||
|
||||
/**
|
||||
* 单位工程ID
|
||||
*/
|
||||
private Long unitProjectId;
|
||||
|
||||
/**
|
||||
* 单位工程名称
|
||||
*/
|
||||
private String unitProjectName;
|
||||
|
||||
}
|
@ -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;
|
||||
}
|
@ -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;
|
||||
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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<UnitBo> unitBoList;
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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<BusEnterRoad, BusEnterRoadVo> {
|
||||
|
||||
}
|
@ -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<BusLandBlock, BusLandBlockVo> {
|
||||
|
||||
}
|
@ -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<BusLandBlockUnitProject, BusLandBlockUnitProjectVo> {
|
||||
|
||||
}
|
@ -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<BusLandTransferLedger, BusLandTransferLedgerVo> {
|
||||
|
||||
}
|
@ -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<BusNonTransferLedger, BusNonTransferLedgerVo> {
|
||||
|
||||
}
|
@ -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<BusEnterRoadVo> queryPageList(BusEnterRoadBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询符合条件的进场道路信息列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 进场道路信息列表
|
||||
*/
|
||||
List<BusEnterRoadVo> 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<Long> ids, Boolean isValid);
|
||||
|
||||
/**
|
||||
* 根据id查询列表
|
||||
*/
|
||||
List<BusEnterRoadVo> queryListByIds(List<Long> ids);
|
||||
}
|
@ -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<BusLandBlockVo> queryPageList(BusLandBlockBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询符合条件的地块信息列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 地块信息列表
|
||||
*/
|
||||
List<BusLandBlockVo> 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<Long> ids, Boolean isValid);
|
||||
|
||||
/**
|
||||
* 根据ids批量查询
|
||||
*/
|
||||
List<BusLandBlockVo> queryListByIds(List<Long> ids,Boolean isNeedUnit);
|
||||
}
|
@ -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<BusLandBlockUnitProjectVo> queryPageList(BusLandBlockUnitProjectBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询符合条件的地块与单位工程关联列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 地块与单位工程关联列表
|
||||
*/
|
||||
List<BusLandBlockUnitProjectVo> 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<Long> ids, Boolean isValid);
|
||||
|
||||
/**
|
||||
* 关联方阵
|
||||
*/
|
||||
void insertBatch(Long landId, List<UnitBo> boList);
|
||||
|
||||
/**
|
||||
* 根据地块id删除关联信息
|
||||
*/
|
||||
void deleteByLandIds(List< Long> landIds);
|
||||
|
||||
/**
|
||||
* 根据地块id查询关联信息
|
||||
*/
|
||||
List<BusLandBlockUnitProject> queryListByLandIds(List< Long> landIds);
|
||||
}
|
@ -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<BusLandTransferLedgerVo> queryPageList(BusLandTransferLedgerBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 分页查询项目土地流转台账列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 项目土地流转台账分页列表
|
||||
*/
|
||||
TableDataInfo<BusLandTransferLedgerVo> queryUnitPageList(BusLandTransferLedgerBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询符合条件的项目土地流转台账列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 项目土地流转台账列表
|
||||
*/
|
||||
List<BusLandTransferLedgerVo> 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<Long> ids, Boolean isValid);
|
||||
}
|
@ -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<BusNonTransferLedgerVo> queryPageList(BusNonTransferLedgerBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询符合条件的不流转台账列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 不流转台账列表
|
||||
*/
|
||||
List<BusNonTransferLedgerVo> 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<Long> ids, Boolean isValid);
|
||||
}
|
@ -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<BusEnterRoadVo> queryPageList(BusEnterRoadBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<BusEnterRoad> lqw = buildQueryWrapper(bo);
|
||||
Page<BusEnterRoadVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
List<BusEnterRoadVo> records = result.getRecords();
|
||||
|
||||
List<Long> ids = records.stream().map(BusEnterRoadVo::getLandBlockId).toList();
|
||||
if(CollectionUtil.isNotEmpty(ids)){
|
||||
List<BusLandBlockVo> 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<BusEnterRoadVo> queryList(BusEnterRoadBo bo) {
|
||||
LambdaQueryWrapper<BusEnterRoad> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<BusEnterRoad> buildQueryWrapper(BusEnterRoadBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<BusEnterRoad> 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<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BusEnterRoadVo> queryListByIds(List<Long> ids) {
|
||||
return baseMapper.selectVoList(Wrappers.<BusEnterRoad>lambdaQuery()
|
||||
.in(BusEnterRoad::getId, ids));
|
||||
}
|
||||
}
|
@ -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<BusLandBlockUnitProject> 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<BusLandBlockVo> queryPageList(BusLandBlockBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<BusLandBlock> lqw = buildQueryWrapper(bo);
|
||||
Page<BusLandBlockVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
List<BusLandBlockVo> records = result.getRecords();
|
||||
if(CollectionUtil.isNotEmpty( records)){
|
||||
setUnit(records);
|
||||
}
|
||||
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的地块信息列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 地块信息列表
|
||||
*/
|
||||
@Override
|
||||
public List<BusLandBlockVo> queryList(BusLandBlockBo bo) {
|
||||
LambdaQueryWrapper<BusLandBlock> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<BusLandBlock> buildQueryWrapper(BusLandBlockBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<BusLandBlock> 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<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
|
||||
iBusLandBlockUnitProjectService.deleteByLandIds( new ArrayList<>(ids));
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BusLandBlockVo> queryListByIds(List<Long> ids,Boolean isNeedUnit) {
|
||||
List<BusLandBlockVo> busLandBlockVos = baseMapper.selectVoList(Wrappers.<BusLandBlock>lambdaQuery()
|
||||
.in(BusLandBlock::getId, ids));
|
||||
if(CollectionUtil.isNotEmpty(busLandBlockVos) && isNeedUnit){
|
||||
setUnit(busLandBlockVos);
|
||||
}
|
||||
return busLandBlockVos;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置单位方程信息
|
||||
*/
|
||||
public void setUnit(List<BusLandBlockVo> list){
|
||||
List<Long> ids = list.stream().map(BusLandBlockVo::getId).toList();
|
||||
List<BusLandBlockUnitProject> UnitList = iBusLandBlockUnitProjectService.queryListByLandIds(ids);
|
||||
list.forEach(vo -> {
|
||||
List<BusLandBlockUnitProject> 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(",")));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
@ -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<BusLandBlockUnitProjectVo> queryPageList(BusLandBlockUnitProjectBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<BusLandBlockUnitProject> lqw = buildQueryWrapper(bo);
|
||||
Page<BusLandBlockUnitProjectVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的地块与单位工程关联列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 地块与单位工程关联列表
|
||||
*/
|
||||
@Override
|
||||
public List<BusLandBlockUnitProjectVo> queryList(BusLandBlockUnitProjectBo bo) {
|
||||
LambdaQueryWrapper<BusLandBlockUnitProject> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<BusLandBlockUnitProject> buildQueryWrapper(BusLandBlockUnitProjectBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<BusLandBlockUnitProject> 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<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertBatch(Long landId, List<UnitBo> boList) {
|
||||
|
||||
deleteByLandIds(Collections.singletonList(landId));
|
||||
|
||||
List<BusLandBlockUnitProject> 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<Long> landIds) {
|
||||
baseMapper.delete(Wrappers.<BusLandBlockUnitProject>lambdaUpdate()
|
||||
.in(BusLandBlockUnitProject::getLandBlockId, landIds));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BusLandBlockUnitProject> queryListByLandIds(List<Long> landIds) {
|
||||
return baseMapper.selectList(Wrappers.<BusLandBlockUnitProject>lambdaUpdate()
|
||||
.in(BusLandBlockUnitProject::getLandBlockId, landIds));
|
||||
}
|
||||
}
|
@ -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<BusLandTransferLedgerVo> queryPageList(BusLandTransferLedgerBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<BusLandTransferLedger> lqw = buildQueryWrapper(bo);
|
||||
Page<BusLandTransferLedgerVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
List<BusLandTransferLedgerVo> records = result.getRecords();
|
||||
|
||||
List<Long> landIds = records.stream().map(BusLandTransferLedgerVo::getLandBlockId).toList();
|
||||
List<Long> roadIds = records.stream().map(BusLandTransferLedgerVo::getEnterRoadId).toList();
|
||||
|
||||
List<BusLandBlockVo> landBlockList = new ArrayList<>();
|
||||
if(CollectionUtil.isNotEmpty(landIds)){
|
||||
landBlockList = iBusLandBlockService.queryListByIds(landIds,false);
|
||||
}
|
||||
|
||||
List<BusEnterRoadVo> 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<BusLandTransferLedgerVo> queryUnitPageList(BusLandTransferLedgerBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<BusLandTransferLedger> lqw = buildQueryWrapper(bo);
|
||||
Page<BusLandTransferLedgerVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
List<BusLandTransferLedgerVo> records = result.getRecords();
|
||||
|
||||
List<Long> landIds = records.stream().map(BusLandTransferLedgerVo::getLandBlockId).toList();
|
||||
List<BusLandBlockVo> landBlockList = new ArrayList<>();
|
||||
List<BusLandBlockUnitProject> list = new ArrayList<>();
|
||||
if(CollectionUtil.isNotEmpty(landIds)){
|
||||
landBlockList = iBusLandBlockService.queryListByIds(landIds,false);
|
||||
list = iBusLandBlockUnitProjectService.queryListByLandIds(landIds);
|
||||
}
|
||||
for (BusLandTransferLedgerVo vo : records){
|
||||
List<BusLandBlockUnitProject> 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<BusLandTransferLedgerVo> queryList(BusLandTransferLedgerBo bo) {
|
||||
LambdaQueryWrapper<BusLandTransferLedger> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<BusLandTransferLedger> buildQueryWrapper(BusLandTransferLedgerBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<BusLandTransferLedger> 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<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
}
|
@ -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<BusNonTransferLedgerVo> queryPageList(BusNonTransferLedgerBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<BusNonTransferLedger> lqw = buildQueryWrapper(bo);
|
||||
Page<BusNonTransferLedgerVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
|
||||
List<BusNonTransferLedgerVo> records = result.getRecords();
|
||||
List<Long> landIds = records.stream().map(BusNonTransferLedgerVo::getLandBlockId).toList();
|
||||
List<Long> roadIds = records.stream().map(BusNonTransferLedgerVo::getEnterRoadId).toList();
|
||||
|
||||
List<BusLandBlockVo> landBlockList = new ArrayList<>();
|
||||
if(CollectionUtil.isNotEmpty(landIds)){
|
||||
landBlockList = iBusLandBlockService.queryListByIds(landIds,false);
|
||||
}
|
||||
|
||||
List<BusEnterRoadVo> 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<BusNonTransferLedgerVo> queryList(BusNonTransferLedgerBo bo) {
|
||||
LambdaQueryWrapper<BusNonTransferLedger> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<BusNonTransferLedger> buildQueryWrapper(BusNonTransferLedgerBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<BusNonTransferLedger> 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<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.dromara.land.mapper.BusEnterRoadMapper">
|
||||
|
||||
</mapper>
|
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.dromara.land.mapper.BusLandBlockMapper">
|
||||
|
||||
</mapper>
|
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.dromara.land.mapper.BusLandBlockUnitProjectMapper">
|
||||
|
||||
</mapper>
|
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.dromara.land.mapper.BusLandTransferLedgerMapper">
|
||||
|
||||
</mapper>
|
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.dromara.land.mapper.BusNonTransferLedgerMapper">
|
||||
|
||||
</mapper>
|
Reference in New Issue
Block a user