From c4699433a541d5436499276da8c869d9cd88963a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E4=B9=BE=E7=BF=94?= Date: Thu, 16 Apr 2026 17:31:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A7=BD=E6=B6=B2=E6=8E=92=E6=94=BE=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E5=AF=BC=E5=85=A5=E4=BD=BF=E7=94=A8=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E5=AF=BC=E5=85=A5=EF=BC=8C=E6=8F=92=E5=85=A5?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=95=B0=E6=8D=AE=E6=97=B6=E9=9C=80=E5=AF=B9?= =?UTF-8?q?=E5=BA=94id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../springblade/system/feign/IUserClient.java | 10 +++ .../controller/BsDischargeRecController.java | 4 +- .../service/IBsDischargeRecService.java | 2 + .../impl/BsDischargeRecServiceImpl.java | 64 +++++++++++++++++++ .../springblade/system/feign/UserClient.java | 6 ++ .../system/service/IUserService.java | 2 + .../system/service/impl/UserServiceImpl.java | 6 ++ 7 files changed, 93 insertions(+), 1 deletion(-) diff --git a/blade-service-api/blade-user-api/src/main/java/org/springblade/system/feign/IUserClient.java b/blade-service-api/blade-user-api/src/main/java/org/springblade/system/feign/IUserClient.java index 6699ba41..5daa809d 100644 --- a/blade-service-api/blade-user-api/src/main/java/org/springblade/system/feign/IUserClient.java +++ b/blade-service-api/blade-user-api/src/main/java/org/springblade/system/feign/IUserClient.java @@ -67,6 +67,7 @@ public interface IUserClient { String UN_SELECTUSER_LIST = API_PREFIX + "/unuser-list"; String SELECTUSER_LIST = API_PREFIX + "/unuser-listByName"; String SELECTUSER_LIST_NO_LIKE = API_PREFIX + "/unuser-listByNameNolike"; + String USER_BY_ROLE = API_PREFIX + "/user_by_role"; @GetMapping(USER_LIST) @@ -208,4 +209,13 @@ public interface IUserClient { */ @GetMapping(USER_BY_ACCOUNT_V2) R userByAccountV2(@RequestParam("account") String account); + + /** + * 根据角色获取用户信息 + * + * @param account 用户账号 + * @return + */ + @GetMapping(USER_BY_ROLE) + List userByRole(@RequestParam("account") String account); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsDischargeRecController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsDischargeRecController.java index d8d08dde..eb143beb 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsDischargeRecController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsDischargeRecController.java @@ -195,7 +195,9 @@ public class BsDischargeRecController extends BladeController { List importList = ExcelUtil.read( file, 0, 1, BsDischargeRecEntity.class ); - return R.status(bsDischargeRecService.saveBatch(importList)); + //return R.status(bsDischargeRecService.saveBatch(importList)); + bsDischargeRecService.save(importList); + return R.success(); } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/IBsDischargeRecService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/IBsDischargeRecService.java index 7a5a75cc..084fb1b7 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/IBsDischargeRecService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/IBsDischargeRecService.java @@ -59,4 +59,6 @@ public interface IBsDischargeRecService extends BaseService exportBsDischargeRec(Wrapper queryWrapper); + void save(List importList); + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsDischargeRecServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsDischargeRecServiceImpl.java index 678049a7..a5ee32ef 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsDischargeRecServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsDischargeRecServiceImpl.java @@ -26,17 +26,30 @@ package org.springblade.desk.energy.service.impl; +import cn.hutool.core.util.StrUtil; +import jakarta.annotation.Resource; import org.apache.commons.lang3.StringUtils; +import org.springblade.core.tool.api.R; +import org.springblade.desk.basic.pojo.entity.TeamSet; +import org.springblade.desk.basic.service.ITeamSetService; import org.springblade.desk.energy.excel.BsDischargeRecExcel; import org.springblade.desk.energy.mapper.BsDischargeRecMapper; import org.springblade.desk.energy.pojo.entity.BsDischargeRecEntity; import org.springblade.desk.energy.pojo.vo.BsDischargeRecVO; import org.springblade.desk.energy.service.IBsDischargeRecService; +import org.springblade.system.feign.IDictClient; +import org.springblade.system.feign.IUserClient; +import org.springblade.system.pojo.entity.Dict; +import org.springblade.system.pojo.entity.User; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseServiceImpl; + import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; /** * 槽液排放记录表 服务实现类 @@ -46,6 +59,12 @@ import java.util.List; */ @Service public class BsDischargeRecServiceImpl extends BaseServiceImpl implements IBsDischargeRecService { + @Resource + IDictClient dictClient; + @Resource + ITeamSetService iTeamSetService; + @Resource + IUserClient userClient; @Override public IPage selectBsDischargeRecPage(IPage page, BsDischargeRecVO bsDischargeRec) { @@ -66,4 +85,49 @@ public class BsDischargeRecServiceImpl extends BaseServiceImpl importList) { + //报废槽液类型 + Map dictBizMap; + try { + R> scrapTankSolType = dictClient.getList("ScrapTankSolType"); + dictBizMap = scrapTankSolType.getData().stream().collect(Collectors.toMap(Dict::getDictValue, Dict::getDictKey,(k1,k2)->k2)); + } catch (Exception e) { + throw new ArithmeticException("报废槽液类型获取失败"); + } + //排放班组 + List list = iTeamSetService.list(); + Map teamSetMap = list.stream().collect(Collectors.toMap(TeamSet::getTsName, TeamSet::getTsCode,(k1,k2)->k2)); + //http://localhost:2888/api/blade-system/user/page?status=1¤t=1&size=10000000&deptId=&roleId=2008432609730281474 + //水处理工 + Map userMap; + try { + List users = userClient.userByRole("2008432609730281474"); + userMap = users.stream().collect(Collectors.toMap(User::getRealName, User::getId,(k1,k2)->k2)); + } catch (Exception e) { + throw new ArithmeticException("水处理工获取失败"); + } + importList.forEach(s -> { + String wasteType = dictBizMap.getOrDefault(s.getWasteType(), null); + if (StrUtil.isEmpty(wasteType)) { + throw new ArithmeticException("报废槽液类型:" + s.getWasteType() + "获取失败,请重新填入"); + } + s.setWasteType(wasteType); + + String teamSet = teamSetMap.getOrDefault(s.getBsTeamSet(), null); + if (Objects.isNull(teamSet)) { + throw new ArithmeticException("排放班组:" + s.getBsTeamSet() + "获取失败,请重新填入"); + } + s.setBsTeamSet(teamSet); + + Long user = userMap.getOrDefault(s.getHandleMan(), null); + if (Objects.isNull(user)) { + throw new ArithmeticException("水处理工:" + s.getHandleMan() + "获取失败,请重新填入"); + } + s.setHandleMan(user.toString()); + }); + + saveBatch(importList); + } + } diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/feign/UserClient.java b/blade-service/blade-system/src/main/java/org/springblade/system/feign/UserClient.java index b1b94026..7de6c608 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/feign/UserClient.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/feign/UserClient.java @@ -174,4 +174,10 @@ public class UserClient implements IUserClient { public R userByAccountV2(String account) { return R.data(service.userByAccountV2(account)); } + + @Override + @GetMapping(USER_BY_ROLE) + public List userByRole(String roleId) { + return service.userByRole(roleId); + } } diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/service/IUserService.java b/blade-service/blade-system/src/main/java/org/springblade/system/service/IUserService.java index 30115651..7718007a 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/service/IUserService.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/service/IUserService.java @@ -318,4 +318,6 @@ public interface IUserService extends BaseService { * @return */ User userByAccountV2(String tenantId); + + List userByRole(String roleId); } diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/UserServiceImpl.java b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/UserServiceImpl.java index b6d8d204..8c66c79c 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/UserServiceImpl.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/UserServiceImpl.java @@ -621,4 +621,10 @@ public class UserServiceImpl extends BaseServiceImpl implement public User userByAccountV2( String account) { return baseMapper.selectOne(Wrappers.query().lambda().eq(User::getAccount, account).eq(User::getIsDeleted, BladeConstant.DB_NOT_DELETED)); } + + @Override + public List userByRole(String roleId) { + return list(Wrappers.lambdaQuery(User.class) + .like(User::getRoleId, roleId)); + } }