From 87243ed04fd6faff651a89796c15a3164c756822 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Clyd=E2=80=9D?= <“lyd@datametatech.com”> Date: Fri, 21 Mar 2025 15:31:44 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E6=B0=B4=E8=B4=A8=E6=A3=80=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/system/SysXzqhController.java | 5 +- .../kms/system/service/SysXzqhService.java | 76 ++++++++++++++++++- .../ReservoirOverviewDataController.java | 30 +++++++- .../kms/yg/df/domain/dto/RoleJudgeDto.java | 24 ++++++ .../com/kms/yg/sk/dto/GateOpeningDownDto.java | 33 ++++++++ .../com/kms/yg/sk/dto/GateOpeningDto.java | 16 ++++ .../kms/yg/sk/dto/WaterDetectionDownDto.java | 34 +++++++++ .../com/kms/yg/sk/dto/WaterDetectionDto.java | 16 ++++ 8 files changed, 228 insertions(+), 6 deletions(-) create mode 100644 shuili-system/src/main/java/com/kms/yg/df/domain/dto/RoleJudgeDto.java create mode 100644 shuili-system/src/main/java/com/kms/yg/sk/dto/GateOpeningDownDto.java create mode 100644 shuili-system/src/main/java/com/kms/yg/sk/dto/GateOpeningDto.java create mode 100644 shuili-system/src/main/java/com/kms/yg/sk/dto/WaterDetectionDownDto.java create mode 100644 shuili-system/src/main/java/com/kms/yg/sk/dto/WaterDetectionDto.java diff --git a/shuili-admin/src/main/java/com/kms/web/controller/system/SysXzqhController.java b/shuili-admin/src/main/java/com/kms/web/controller/system/SysXzqhController.java index 3df9f237..83640c39 100644 --- a/shuili-admin/src/main/java/com/kms/web/controller/system/SysXzqhController.java +++ b/shuili-admin/src/main/java/com/kms/web/controller/system/SysXzqhController.java @@ -8,6 +8,7 @@ import com.kms.common.utils.UserUtils; import com.kms.system.domain.SysXzqh; import com.kms.system.service.SysDeptService; import com.kms.system.service.SysXzqhService; +import com.kms.yg.df.domain.dto.RoleJudgeDto; import com.shuili.common.annotation.Log; import com.shuili.common.core.controller.BaseController; import com.shuili.common.core.domain.AjaxResult; @@ -91,7 +92,7 @@ public class SysXzqhController extends BaseController { // } else { // return AjaxResult.success(xzqh); // } -// } +// }RoleJudgeDto roleDeptDistrictCode = SysXzqhService.getRoleDeptDistrictCode(); @GetMapping("/common") @ApiOperation("通用行政区划") @@ -102,11 +103,9 @@ public class SysXzqhController extends BaseController { SysDept sysDept = sysDeptService.getById(deptId); String xzqhId = sysDept.getXzqhId(); SysXzqh xzqh = sysXzqhService.getById(xzqhId); - String userName = user.getUserName(); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.likeRight("XZQHDM", getQuery(xzqh.getXzqhdm())) .in("LAYER", xzqh.getLayer()); - List list = sysXzqhService.list(queryWrapper); return AjaxResult.success(list); } else { diff --git a/shuili-system/src/main/java/com/kms/system/service/SysXzqhService.java b/shuili-system/src/main/java/com/kms/system/service/SysXzqhService.java index 1453bd77..d90b558f 100644 --- a/shuili-system/src/main/java/com/kms/system/service/SysXzqhService.java +++ b/shuili-system/src/main/java/com/kms/system/service/SysXzqhService.java @@ -1,17 +1,27 @@ package com.kms.system.service; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.kms.common.utils.UserUtils; +import com.kms.system.domain.SysRoleDept; +import com.kms.system.domain.SysUserRole; import com.kms.system.domain.SysXzqh; -import com.kms.system.mapper.SysXzqhMapper; +import com.kms.system.mapper.*; +import com.kms.yg.df.domain.BsSgcDfManateam; +import com.kms.yg.df.domain.dto.RoleJudgeDto; +import com.kms.yg.df.service.BsSgcDfManateamService; import com.shuili.common.core.domain.entity.SysDept; +import com.shuili.common.core.domain.entity.SysRole; import com.shuili.common.core.domain.entity.SysUser; import com.shuili.common.core.service.BaseService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.function.Function; import java.util.stream.Collectors; @@ -29,7 +39,69 @@ public class SysXzqhService extends BaseService { private SysXzqhMapper sysXzqhMapper; @Autowired - private SysDeptService sysDeptService; + private static SysDeptService sysDeptService; + + @Autowired + private static SysRoleService sysRoleService; + + @Autowired + private static SysUserRoleService sysUserRoleService; + + @Autowired + private static BsSgcDfManateamService bsSgcDfManateamService; + + /** + * 获取当前用户部门所属行政区划 + * 如果当前登录用户角色编码属于(YW00143、YW00129、YW00164)则返回当前用户部门的行政区划代码 + *如果当前登录用户角色编码属于(YW00352/YW00402)中,则通过当前用户手机号去BS_SGC_DF_MANATEAM(数据库表)找到他在工程对象代码进行数据过滤; + * @return String + */ + public static RoleJudgeDto getRoleDeptDistrictCode() { + RoleJudgeDto dto=new RoleJudgeDto(); + SysUser user = UserUtils.getUser(); + List sysUserRoles = sysUserRoleService.list(new LambdaQueryWrapper().eq(SysUserRole::getUserId, user.getId())); + if (!CollectionUtils.isEmpty(sysUserRoles)) { + List roleIds = sysUserRoles.stream() + .map(SysUserRole::getRoleId) + .filter(roleId -> !StringUtils.isEmpty(roleId)) + .collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(roleIds)) { + List sysRoleIds = sysRoleService.list(new LambdaQueryWrapper() + .in(SysRole::getId, roleIds) + ); + if (!CollectionUtils.isEmpty(sysRoleIds)) { + List roleCodes = sysRoleIds.stream() + .map(SysRole::getRoleKey) + .collect(Collectors.toList()); + if (roleCodes.contains("YW00143") + || roleCodes.contains("YW00129") + || roleCodes.contains("YW00164")) { + SysDept sysDept = sysDeptService.getById(user.getDeptId()); + if (!Objects.isNull(sysDept)) { + dto.setXzqhId(StringUtils.isEmpty(sysDept.getXzqhId()) + ? null:sysDept.getXzqhId()); + return dto; + } + } + if (roleCodes.contains("YW00352") + || roleCodes.contains("YW00402")) { + BsSgcDfManateam bsSgcDfManateam = bsSgcDfManateamService + .getById(new LambdaQueryWrapper() + .eq(!StringUtils.isEmpty(user.getPhonenumber()),BsSgcDfManateam::getPhone, user.getPhonenumber()) + .orderByDesc(BsSgcDfManateam::getCreateTime) + .last(" limit 1 ") + ); + if (!Objects.isNull(bsSgcDfManateam)) { + dto.setDikeCode(StringUtils.isEmpty(bsSgcDfManateam.getDikeCode()) + ? null:bsSgcDfManateam.getDikeCode()); + return dto; + } + } + } + } + } + return dto; + } public Map get(List adcd) { diff --git a/shuili-system/src/main/java/com/kms/yg/cz/controller/ReservoirOverviewDataController.java b/shuili-system/src/main/java/com/kms/yg/cz/controller/ReservoirOverviewDataController.java index 42372181..0fb7121e 100644 --- a/shuili-system/src/main/java/com/kms/yg/cz/controller/ReservoirOverviewDataController.java +++ b/shuili-system/src/main/java/com/kms/yg/cz/controller/ReservoirOverviewDataController.java @@ -1,7 +1,10 @@ package com.kms.yg.cz.controller; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.kms.yg.cz.dto.MonitorQueDto; import com.kms.yg.cz.service.MonitorService; -import com.kms.yg.sk.dto.AttResTaskViewDto; +import com.kms.yg.sk.dto.*; import com.kms.yxgh.base.Response; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; @@ -29,4 +32,29 @@ public class ReservoirOverviewDataController { return Response.ok(monitorService.getPreview(dto)); } + @PostMapping("/water-check-list") + @ApiOperation("水质检查列表") + public IPage waterLst(@RequestBody MonitorQueDto dto) { + return new Page<>(); + } + + @PostMapping("/water-check-down") + @ApiOperation("水质检查下拉") + public Response waterDown(@RequestBody MonitorQueDto dto) { + return Response.ok(); + } + + @PostMapping("/gate-opening-list") + @ApiOperation("闸门开度列表") + public IPage gateList(@RequestBody MonitorQueDto dto) { + return new Page<>(); + } + + @PostMapping("/gate-opening-down") + @ApiOperation("闸门开度下拉") + public Response gateDown(@RequestBody MonitorQueDto dto) { + return Response.ok(); + } + + } diff --git a/shuili-system/src/main/java/com/kms/yg/df/domain/dto/RoleJudgeDto.java b/shuili-system/src/main/java/com/kms/yg/df/domain/dto/RoleJudgeDto.java new file mode 100644 index 00000000..bd0dd44d --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yg/df/domain/dto/RoleJudgeDto.java @@ -0,0 +1,24 @@ +package com.kms.yg.df.domain.dto; + +import com.shuili.common.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author lyd + * @company 数元科技有限公司 + * @create 2025-03-19 9:02 + */ + +@Data +@ApiModel("用户控制权判断") +public class RoleJudgeDto { + + @ApiModelProperty("行政区划id") + private String xzqhId; + + @ApiModelProperty("工程code") + private String dikeCode; + +} diff --git a/shuili-system/src/main/java/com/kms/yg/sk/dto/GateOpeningDownDto.java b/shuili-system/src/main/java/com/kms/yg/sk/dto/GateOpeningDownDto.java new file mode 100644 index 00000000..7d865f65 --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yg/sk/dto/GateOpeningDownDto.java @@ -0,0 +1,33 @@ +package com.kms.yg.sk.dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author lyd + * @company 数元科技有限公司 + * @create 2025-03-19 9:02 + */ + +@Data +@ApiModel("闸门开度下拉") +public class GateOpeningDownDto { + + @ApiModelProperty("水闸开度下拉") + private List list; + + + @Data + public static class GateOpeningDownDtoItem { + + @ApiModelProperty("水闸名称") + private String wagaName; + + @ApiModelProperty("水闸code") + private String wagacODE; + + } + +} diff --git a/shuili-system/src/main/java/com/kms/yg/sk/dto/GateOpeningDto.java b/shuili-system/src/main/java/com/kms/yg/sk/dto/GateOpeningDto.java new file mode 100644 index 00000000..efa73855 --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yg/sk/dto/GateOpeningDto.java @@ -0,0 +1,16 @@ +package com.kms.yg.sk.dto; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author lyd + * @company 数元科技有限公司 + * @create 2025-03-19 9:02 + */ + +@Data +@ApiModel("闸门开度") +public class GateOpeningDto { + + +} diff --git a/shuili-system/src/main/java/com/kms/yg/sk/dto/WaterDetectionDownDto.java b/shuili-system/src/main/java/com/kms/yg/sk/dto/WaterDetectionDownDto.java new file mode 100644 index 00000000..0ad3348d --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yg/sk/dto/WaterDetectionDownDto.java @@ -0,0 +1,34 @@ +package com.kms.yg.sk.dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author lyd + * @company 数元科技有限公司 + * @create 2025-03-19 9:02 + */ + +@Data +@ApiModel("水质检查列表下拉") +public class WaterDetectionDownDto { + + @ApiModelProperty("水闸开度下拉") + private List list; + + + @Data + public static class StationDtoItem { + + @ApiModelProperty("测站名称") + private String stationName; + + @ApiModelProperty("测站code") + private String stationCode; + + } + + +} diff --git a/shuili-system/src/main/java/com/kms/yg/sk/dto/WaterDetectionDto.java b/shuili-system/src/main/java/com/kms/yg/sk/dto/WaterDetectionDto.java new file mode 100644 index 00000000..f9f56a4b --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yg/sk/dto/WaterDetectionDto.java @@ -0,0 +1,16 @@ +package com.kms.yg.sk.dto; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author lyd + * @company 数元科技有限公司 + * @create 2025-03-19 9:02 + */ + +@Data +@ApiModel("水质检查列表") +public class WaterDetectionDto { + + +}