From 155f1866b46f764fe0c48538190f391151288c8b Mon Sep 17 00:00:00 2001 From: rcx <3084692334@qq.com> Date: Fri, 28 Aug 2026 18:01:44 +0800 Subject: [PATCH] =?UTF-8?q?feat(system):=E5=BA=93=E5=8C=BA=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=96=B0=E5=A2=9E=E5=BA=93=E5=8C=BA=E9=9D=A2=E7=A7=AF?= =?UTF-8?q?=E5=90=88=E8=AE=A1=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3=20?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=20GET=20/storageSectionApi/sumStorageRegion?= =?UTF-8?q?=EF=BC=8C=E4=B8=8E=E5=BA=93=E5=8C=BA=E5=88=97=E8=A1=A8=20/list?= =?UTF-8?q?=20=E7=9B=B8=E5=90=8C=E7=AD=9B=E9=80=89=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?=E5=8F=8A=E7=BB=84=E7=BB=87=E6=95=B0=E6=8D=AE=E6=9D=83=E9=99=90?= =?UTF-8?q?=EF=BC=8C=20SQL=20=E7=AB=AF=20IFNULL(SUM(storage=5Fregion),0)?= =?UTF-8?q?=20=E8=BF=94=E5=9B=9E=E9=9D=A2=E7=A7=AF=E5=90=88=E8=AE=A1(?= =?UTF-8?q?=E5=B9=B3=E6=96=B9=E7=B1=B3)=EF=BC=8C=E6=97=A0=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E8=BF=94=E5=9B=9E0=EF=BC=9B=20=E6=8A=BD=E5=8F=96=20qu?= =?UTF-8?q?eryList=20=E6=95=B0=E6=8D=AE=E6=9D=83=E9=99=90=E4=B8=BA=20apply?= =?UTF-8?q?QueryDataPermission=20=E4=BE=9B=E5=88=97=E8=A1=A8=E4=B8=8E?= =?UTF-8?q?=E5=90=88=E8=AE=A1=E5=85=B1=E7=94=A8=EF=BC=8C/list=20=E8=A1=8C?= =?UTF-8?q?=E4=B8=BA=E4=B8=8D=E5=8F=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StorageSectionApplicationService.java | 25 +++++++++++++++++-- .../facade/IStorageSectionService.java | 6 +++++ .../mapper/StorageSectionMapper.java | 6 +++++ .../persistence/StorageSectionImpl.java | 10 ++++++++ .../service/StorageSectionDomainService.java | 8 ++++++ .../storageSection/StorageSectionApi.java | 12 +++++++++ .../storageSection/StorageSectionMapper.xml | 8 ++++++ 7 files changed, 73 insertions(+), 2 deletions(-) diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/storageSection/StorageSectionApplicationService.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/storageSection/StorageSectionApplicationService.java index 0a17bb062..83cfb1af9 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/storageSection/StorageSectionApplicationService.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/storageSection/StorageSectionApplicationService.java @@ -21,6 +21,7 @@ import com.mhd.system.service.ISysDictTypeService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.List; /** * 库区ApplicationService @@ -42,11 +43,32 @@ public class StorageSectionApplicationService { */ public List queryList(StorageSectionDO storageSectionDO) { + //设置查询数据权限 + applyQueryDataPermission(storageSectionDO); + return storageSectionDomainService.queryList(storageSectionDO); + } + + /** + * 库区面积合计:与 /list 相同的数据权限和筛选条件,SQL 直接 SUM(库区面积), + * 保证合计数与列表中各行库区面积之和一致 + */ + public BigDecimal sumStorageRegion(StorageSectionDO storageSectionDO) { + //与 /list 共用同一数据权限,保证合计与列表口径一致 + applyQueryDataPermission(storageSectionDO); + return storageSectionDomainService.sumStorageRegion(storageSectionDO); + } + + /** + * @description 设置查询数据权限(queryList 与 sumStorageRegion 共用) + * @author ZhouGY + * @param storageSectionDO + */ + private void applyQueryDataPermission(StorageSectionDO storageSectionDO) { LoginUser loginUser = SecurityUtils.getLoginUser(); if (loginUser != null && loginUser.getUserPo() != null) { Long userOrganizationId = loginUser.getUserPo().getOrganizationId(); Long frontendOrganizationId = storageSectionDO.getOrganizationId(); // 前端传递的 organizationId - + // 数据权限:根据 organizationId 来设置查询权限 // 当前登录用户的 organizationId 为 2827 时,可查全部组织数据;其他组织只能查自己 if (userOrganizationId != null && userOrganizationId == 2827L) { @@ -91,7 +113,6 @@ public class StorageSectionApplicationService { } } } - return storageSectionDomainService.queryList(storageSectionDO); } diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/storageSection/repository/facade/IStorageSectionService.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/storageSection/repository/facade/IStorageSectionService.java index 925dfb501..2d26a4299 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/storageSection/repository/facade/IStorageSectionService.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/storageSection/repository/facade/IStorageSectionService.java @@ -5,6 +5,7 @@ import com.mhd.basic.domain.storageSection.entity.StorageSection; import com.mhd.basic.domain.storageSection.repository.po.StorageSectionPO; import com.mhd.basic.domain.storageSection.repository.todo.StorageSectionDO; +import java.math.BigDecimal; import java.util.List; /** @@ -20,6 +21,11 @@ public interface IStorageSectionService extends IService */ public List queryList(StorageSectionDO storageSectionDO); + /** + * 库区面积合计(与 queryList 相同筛选条件) + */ + public BigDecimal sumStorageRegion(StorageSectionDO storageSectionDO); + /** * 新增库区 */ diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/storageSection/repository/mapper/StorageSectionMapper.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/storageSection/repository/mapper/StorageSectionMapper.java index 46153810f..82196f40e 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/storageSection/repository/mapper/StorageSectionMapper.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/storageSection/repository/mapper/StorageSectionMapper.java @@ -1,5 +1,6 @@ package com.mhd.basic.domain.storageSection.repository.mapper; +import java.math.BigDecimal; import java.util.List; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.mhd.basic.domain.storageSection.entity.StorageSection; @@ -19,4 +20,9 @@ public interface StorageSectionMapper extends BaseMapper */ public List queryList(StorageSectionDO storageSectionDO); + /** + * 库区面积合计(与 queryList 相同筛选条件) + */ + public BigDecimal sumStorageRegion(StorageSectionDO storageSectionDO); + } diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/storageSection/repository/persistence/StorageSectionImpl.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/storageSection/repository/persistence/StorageSectionImpl.java index 2f6e3fcfb..5f1f0baae 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/storageSection/repository/persistence/StorageSectionImpl.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/storageSection/repository/persistence/StorageSectionImpl.java @@ -10,6 +10,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @@ -33,6 +34,15 @@ public class StorageSectionImpl extends ServiceImpl order by a.storage_name asc, a.create_time desc + + + \ No newline at end of file