From 5772b5fc838068fa3a8969ccb70508e3c3f24ad2 Mon Sep 17 00:00:00 2001 From: zt Date: Tue, 26 Aug 2025 21:05:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/service/SaPermissionImpl.java | 18 +++---- .../dromara/common/sse/dto/SseMessageDto.java | 11 ++-- .../listener/redis/SseMessageDbListener.java | 2 +- .../controller/DesVolumeFileController.java | 1 + .../BusLandTransferLedgerController.java | 9 ++++ .../vo/BusLandTransferLedgerCountVo.java | 53 +++++++++++++++++++ .../IBusLandTransferLedgerService.java | 9 ++++ .../BusLandTransferLedgerServiceImpl.java | 32 +++++++++++ .../MatMaterialReceiveController.java | 15 ++++++ .../controller/system/SysUserController.java | 2 +- .../BusTenderPlanLimitListController.java | 2 +- 11 files changed, 137 insertions(+), 17 deletions(-) create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/vo/BusLandTransferLedgerCountVo.java diff --git a/xinnengyuan/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/service/SaPermissionImpl.java b/xinnengyuan/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/service/SaPermissionImpl.java index 88b0b150..62150a83 100644 --- a/xinnengyuan/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/service/SaPermissionImpl.java +++ b/xinnengyuan/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/service/SaPermissionImpl.java @@ -21,15 +21,15 @@ public class SaPermissionImpl implements StpInterface { */ @Override public List getPermissionList(Object loginId, String loginType) { -// LoginUser loginUser = LoginHelper.getLoginUser(); -// UserType userType = UserType.getUserType(loginUser.getUserType()); -// if (userType == UserType.SYS_USER) { -// return new ArrayList<>(loginUser.getMenuPermission()); -// } else if (userType == UserType.APP_USER) { -// // 其他端 自行根据业务编写 -// } -// return new ArrayList<>(); - return Collections.singletonList("*"); + LoginUser loginUser = LoginHelper.getLoginUser(); + UserType userType = UserType.getUserType(loginUser.getUserType()); + if (userType == UserType.SYS_USER) { + return new ArrayList<>(loginUser.getMenuPermission()); + } else if (userType == UserType.APP_USER) { + // 其他端 自行根据业务编写 + } + return new ArrayList<>(); +// return Collections.singletonList("*"); } /** diff --git a/xinnengyuan/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/dto/SseMessageDto.java b/xinnengyuan/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/dto/SseMessageDto.java index fa457b05..9f18b86c 100644 --- a/xinnengyuan/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/dto/SseMessageDto.java +++ b/xinnengyuan/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/dto/SseMessageDto.java @@ -14,10 +14,6 @@ import java.util.List; @Data public class SseMessageDto implements Serializable { - - - - @Serial private static final long serialVersionUID = 1L; @@ -37,8 +33,13 @@ public class SseMessageDto implements Serializable { private String route; /** - * 详情 + * 项目id */ private Long projectId; + /** + * 是否记录 + */ + private Boolean isRecord = true; + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/common/utils/listener/redis/SseMessageDbListener.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/common/utils/listener/redis/SseMessageDbListener.java index 096c72fe..3e4562e3 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/common/utils/listener/redis/SseMessageDbListener.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/common/utils/listener/redis/SseMessageDbListener.java @@ -30,7 +30,7 @@ public class SseMessageDbListener implements ApplicationRunner, Ordered { public void run(ApplicationArguments args) throws Exception { sseEmitterManager.subscribeMessage((message) -> { log.info("SSE主题订阅收到消息session keys={} message={}", message.getUserIds(), message.getMessage()); - if (CollUtil.isNotEmpty(message.getUserIds())) { + if (CollUtil.isNotEmpty(message.getUserIds()) && message.getIsRecord()) { ArrayList noticeList = new ArrayList<>(); for (Long key : message.getUserIds()) { MsgNotice notice = new MsgNotice(); diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesVolumeFileController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesVolumeFileController.java index d96c30ca..9066bc7e 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesVolumeFileController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesVolumeFileController.java @@ -94,6 +94,7 @@ public class DesVolumeFileController extends BaseController { } + @GetMapping("/joinList") public TableDataInfo joinList(DesVolumeFileBo bo, PageQuery pageQuery) { return desVolumeFileService.queryJoinPageList(bo, pageQuery); diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/controller/BusLandTransferLedgerController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/controller/BusLandTransferLedgerController.java index 58d15d53..7bd5fa02 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/controller/BusLandTransferLedgerController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/controller/BusLandTransferLedgerController.java @@ -16,6 +16,7 @@ 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.BusLandTransferLedgerCountVo; import org.dromara.land.domain.vo.BusLandTransferLedgerVo; import org.dromara.land.service.IBusLandTransferLedgerService; import org.springframework.validation.annotation.Validated; @@ -119,4 +120,12 @@ public class BusLandTransferLedgerController extends BaseController { @PathVariable Long[] ids) { return toAjax(busLandTransferLedgerService.deleteWithValidByIds(List.of(ids), true)); } + + + @SaCheckPermission("land:landTransferLedger:list") + @GetMapping("/count/{projectId}") + public R count(@NotNull(message = "项目不能为空") + @PathVariable Long projectId) { + return R.ok(busLandTransferLedgerService.countByProjectId(projectId)); + } } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/vo/BusLandTransferLedgerCountVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/vo/BusLandTransferLedgerCountVo.java new file mode 100644 index 00000000..f5dfca0c --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/domain/vo/BusLandTransferLedgerCountVo.java @@ -0,0 +1,53 @@ +package org.dromara.land.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import org.dromara.common.translation.annotation.Translation; +import org.dromara.common.translation.constant.TransConstant; +import org.dromara.land.domain.BusLandTransferLedger; +import org.dromara.land.domain.bo.UnitBo; + +import java.io.Serial; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDate; +import java.util.List; + + +/** + * 项目土地流转台账视图对象 bus_land_transfer_ledger + * + * @author Lion Li + * @date 2025-07-25 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = BusLandTransferLedger.class) +public class BusLandTransferLedgerCountVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 设计面积 + */ + private BigDecimal designArea = BigDecimal.ZERO; + + + /** + * 已流转面积 + */ + private BigDecimal transferAea= BigDecimal.ZERO; + + + /** + * 土地租金(元) + */ + private BigDecimal landRent= BigDecimal.ZERO; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/IBusLandTransferLedgerService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/IBusLandTransferLedgerService.java index 34a7664e..3c018165 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/IBusLandTransferLedgerService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/IBusLandTransferLedgerService.java @@ -1,11 +1,14 @@ package org.dromara.land.service; import com.baomidou.mybatisplus.extension.service.IService; +import jakarta.validation.constraints.NotNull; import org.dromara.land.domain.BusLandTransferLedger; +import org.dromara.land.domain.vo.BusLandTransferLedgerCountVo; 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 org.springframework.web.bind.annotation.PathVariable; import java.util.Collection; import java.util.List; @@ -76,4 +79,10 @@ public interface IBusLandTransferLedgerService extends IService ids, Boolean isValid); + + + /** + * 统计项目土地流转台账信息 + */ + BusLandTransferLedgerCountVo countByProjectId(Long projectId); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/impl/BusLandTransferLedgerServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/impl/BusLandTransferLedgerServiceImpl.java index ca6a5d0c..c2bca6af 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/impl/BusLandTransferLedgerServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/land/service/impl/BusLandTransferLedgerServiceImpl.java @@ -17,6 +17,7 @@ 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.BusLandTransferLedgerCountVo; import org.dromara.land.domain.vo.BusLandTransferLedgerVo; import org.dromara.land.mapper.BusLandTransferLedgerMapper; import org.dromara.land.service.IBusEnterRoadService; @@ -25,6 +26,7 @@ import org.dromara.land.service.IBusLandBlockUnitProjectService; import org.dromara.land.service.IBusLandTransferLedgerService; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.*; /** @@ -189,6 +191,9 @@ public class BusLandTransferLedgerServiceImpl extends ServiceImpl 0; } @@ -214,4 +219,31 @@ public class BusLandTransferLedgerServiceImpl extends ServiceImpl 0; } + + @Override + public BusLandTransferLedgerCountVo countByProjectId(Long projectId) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + + lqw.eq(BusLandTransferLedger::getProjectId,projectId); + lqw.in(BusLandTransferLedger::getTransferStatus, Arrays.asList("0","1")); + + List list = list(lqw); + BusLandTransferLedgerCountVo busLandTransferLedgerCountVo = new BusLandTransferLedgerCountVo(); + if(list != null && !list.isEmpty()){ + BigDecimal reduce = list.stream().filter(vo -> vo.getDesignArea() != null).map(BusLandTransferLedger::getDesignArea) + .reduce(BigDecimal.ZERO, BigDecimal::add); + busLandTransferLedgerCountVo.setDesignArea(reduce); + BigDecimal reduce1 = list.stream().filter(vo -> vo.getTransferAea() != null).map(BusLandTransferLedger::getTransferAea) + .reduce(BigDecimal.ZERO, BigDecimal::add); + busLandTransferLedgerCountVo.setTransferAea(reduce1); + + BigDecimal reduce2 = list.stream().filter(vo -> vo.getLandRent() != null).map(BusLandTransferLedger::getLandRent) + .reduce(BigDecimal.ZERO, BigDecimal::add); + + busLandTransferLedgerCountVo.setLandRent(reduce2); + + } + + return busLandTransferLedgerCountVo; + } } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/controller/MatMaterialReceiveController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/controller/MatMaterialReceiveController.java index f342701a..cd57e07e 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/controller/MatMaterialReceiveController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/controller/MatMaterialReceiveController.java @@ -12,6 +12,9 @@ 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.ctr.domain.bo.CtrExpensesContractBo; +import org.dromara.ctr.domain.vo.CtrExpensesContractVo; +import org.dromara.ctr.service.ICtrExpensesContractService; import org.dromara.materials.domain.dto.materialreceive.MatMaterialReceiveCreateReq; import org.dromara.materials.domain.dto.materialreceive.MatMaterialReceiveQueryReq; import org.dromara.materials.domain.dto.materialreceive.MatMaterialReceiveUpdateReq; @@ -35,6 +38,8 @@ public class MatMaterialReceiveController extends BaseController { @Resource private IMatMaterialReceiveService matMaterialReceiveService; + @Resource + private ICtrExpensesContractService ctrExpensesContractService; /** * 查询物料接收单列表 @@ -102,4 +107,14 @@ public class MatMaterialReceiveController extends BaseController { @PathVariable Long[] ids) { return toAjax(matMaterialReceiveService.deleteByIds(List.of(ids))); } + + + /** + * 支出合同列表 + */ + @SaCheckPermission("materials:materialReceive:add") + @GetMapping("/ctrList") + public TableDataInfo list(CtrExpensesContractBo bo, PageQuery pageQuery) { + return ctrExpensesContractService.queryPageList(bo, pageQuery); + } } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java index b467b2fa..a5fb8450 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java @@ -61,7 +61,7 @@ public class SysUserController extends BaseController { /** * 获取用户列表 */ - @SaCheckPermission("system:user:list") +// @SaCheckPermission("system:user:list") @GetMapping("/list") public TableDataInfo list(SysUserBo user, PageQuery pageQuery) { return userService.selectPageUserList(user, pageQuery); diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/tender/controller/BusTenderPlanLimitListController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/tender/controller/BusTenderPlanLimitListController.java index 454af696..760eb591 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/tender/controller/BusTenderPlanLimitListController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/tender/controller/BusTenderPlanLimitListController.java @@ -130,7 +130,7 @@ public class BusTenderPlanLimitListController extends BaseController { /** * 修改限价一览 */ - @SaCheckPermission("tender:tenderPlanLimitList:edit") + @SaCheckPermission("tender:tenderPlanLimitList ") @Log(title = "限价一览", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping()