From 098adb4af949ffd4c5a6eb08be036255456b1367 Mon Sep 17 00:00:00 2001 From: mashuai Date: Wed, 23 Oct 2024 19:01:00 +0800 Subject: [PATCH 01/13] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E7=B1=BB=E5=AE=9A?= =?UTF-8?q?=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../purchase/config/RemoteConfig.java | 52 +++++++++++-------- .../service/impl/PurchaseBindServiceImpl.java | 50 +++++++++++++++--- .../impl/PurchaseStorageServiceImpl.java | 49 ++++++++++++++--- 3 files changed, 112 insertions(+), 39 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/config/RemoteConfig.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/config/RemoteConfig.java index acb4ae9a..123435fa 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/config/RemoteConfig.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/config/RemoteConfig.java @@ -1,6 +1,7 @@ package com.bonus.material.purchase.config; import com.bonus.common.core.constant.SecurityConstants; +import com.bonus.common.core.utils.StringUtils; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.system.api.RemoteDictDataService; import com.bonus.system.api.RemoteUserService; @@ -12,6 +13,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import javax.annotation.Resource; +import java.util.Collections; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -35,10 +37,12 @@ public class RemoteConfig { /** * 获取字典值 * @param dictType - * @param dictLabel * @return */ - public String getDictValue(String dictType, String dictLabel) { + public Map getDictValue(String dictType) { + if (StringUtils.isBlank(dictType)) { + return Collections.emptyMap(); + } try { Map dictMap = new LinkedHashMap<>(); AjaxResult ajaxResult = remoteDictDataService.dictType(dictType, SecurityConstants.INNER); @@ -55,37 +59,39 @@ public class RemoteConfig { dictMap = dataList.stream() .collect(Collectors.toMap(SysDictData::getDictValue, SysDictData::getDictLabel)); } - return dictMap.get(dictLabel); + return dictMap; } catch (Exception e) { log.error("远程调用查询字典键值失败:", e.getMessage()); } - return null; + return Collections.emptyMap(); } /** * 获取用户名 - * @param userId + * @param userIds * @return */ - public String getUserName(String userId) { - try { - String userName = ""; - AjaxResult ajaxResult = remoteUserService.getInfo(Long.parseLong(userId), SecurityConstants.INNER); - if (ajaxResult.isSuccess()) { - // ajaxResult.get("data") 返回的是 LinkedHashMap - LinkedHashMap rawDataList = (LinkedHashMap) ajaxResult.get("data"); - ObjectMapper objectMapper = new ObjectMapper(); - objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - if (rawDataList != null) { - SysUser sysUser = objectMapper.convertValue(rawDataList, SysUser.class); - userName = sysUser.getNickName(); - } - } - return userName; - } catch (IllegalArgumentException e) { - log.error("远程调用查询用户名失败:", e.getMessage()); + public Map getUserName(Long[] userIds) { + if (userIds == null || userIds.length == 0) { + return Collections.emptyMap(); } - return null; + try { + AjaxResult ajaxResult = remoteUserService.getUsers(userIds, SecurityConstants.INNER); + // 假设 ajaxResult.get("data") 返回的是 List + List rawData = (List) ajaxResult.get("data"); + ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + List dataList = rawData.stream() + .map(rawDatum -> objectMapper.convertValue(rawDatum, SysUser.class)) + .collect(Collectors.toList()); + // 创建一个以 createBy 为键,nickName 为值的映射 + Map nickNameMap = dataList.stream() + .collect(Collectors.toMap(SysUser::getUserId, SysUser::getNickName)); + return nickNameMap; + } catch (Exception e) { + e.printStackTrace(); + } + return Collections.emptyMap(); } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java index 6a12044d..90606956 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java @@ -6,6 +6,7 @@ import com.bonus.common.biz.config.QrCodeUtils; import com.bonus.common.biz.constant.MaterialConstants; import com.bonus.common.biz.enums.HttpCodeEnum; import com.bonus.common.core.utils.DateUtils; +import com.bonus.common.core.utils.StringUtils; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.security.utils.SecurityUtils; import com.bonus.material.purchase.config.RemoteConfig; @@ -14,6 +15,7 @@ import com.bonus.material.purchase.mapper.PurchaseBindMapper; import com.bonus.material.purchase.service.IPurchaseBindService; import com.bonus.material.purchase.vo.PurchaseVo; import com.bonus.material.task.mapper.TmTaskMapper; +import com.bonus.system.api.RemoteUserService; import com.google.zxing.WriterException; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; @@ -83,12 +85,39 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService { * @param list */ private void extracted(List list) { - for (PurchaseVo purchaseVo : list) { - String userName = remoteConfig.getUserName(purchaseVo.getCreateBy()); - purchaseVo.setCreateBy(userName == null ? "" : userName); - String dictValue = remoteConfig.getDictValue("purchase_task_status", purchaseVo.getStatus().toString()); - purchaseVo.setStatusName(dictValue == null ? "" : dictValue); - } + Long[] array = list.stream() + // 提取 createBy 字段 + .map(PurchaseVo::getCreateBy) + .map(createBy -> { + try { + // 转换为 Long + return Long.parseLong(createBy); + } catch (NumberFormatException e) { + // 处理转换失败的情况,可以返回 null + return null; + } + }) + // 过滤掉 null 值 + .filter(value -> value != null) + .toArray(Long[]::new);// 转换为 Long[] 数组 + Map nickNameMap = remoteConfig.getUserName(array); + Map labelMap = remoteConfig.getDictValue("purchase_task_status"); + // 更新 list 中每个 PurchaseVo 对象的 name 字段 + list.forEach(purchaseVo -> { + // 更新 createBy 为 nickName + String createBy = purchaseVo.getCreateBy(); + if (StringUtils.isNotBlank(createBy)) { + Long createById = Long.parseLong(createBy); + String nickName = nickNameMap.get(createById); + purchaseVo.setCreateBy(nickName != null ? nickName : createBy); // 设置为 nickName 或原值 + } + // 更新状态名称 + Integer status = purchaseVo.getStatus(); + if (status != null) { + String dictValue = labelMap.get(status.toString()); + purchaseVo.setStatusName(dictValue); + } + }); } /** @@ -114,10 +143,15 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService { @Override public List getDetails(PurchaseDto dto) { List list = purchaseBindMapper.getDetails(dto); + Map labelMap = remoteConfig.getDictValue("purchase_task_status"); if (CollectionUtils.isNotEmpty(list)) { for (PurchaseVo purchaseVo : list) { - String name = remoteConfig.getDictValue("purchase_task_status", purchaseVo.getStatus().toString()); - purchaseVo.setStatusName(name == null ? "" : name); + // 更新状态名称 + Integer status = purchaseVo.getStatus(); + if (status != null) { + String dictValue = labelMap.get(status.toString()); + purchaseVo.setStatusName(dictValue); + } } } return list; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseStorageServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseStorageServiceImpl.java index 87933f85..e895c1e3 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseStorageServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseStorageServiceImpl.java @@ -3,6 +3,7 @@ package com.bonus.material.purchase.service.impl; import com.alibaba.nacos.common.utils.CollectionUtils; import com.bonus.common.biz.constant.MaterialConstants; import com.bonus.common.biz.enums.HttpCodeEnum; +import com.bonus.common.core.utils.StringUtils; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.material.ma.mapper.MachineMapper; import com.bonus.material.purchase.config.RemoteConfig; @@ -64,12 +65,39 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService { * @param list */ private void extracted(List list) { - for (PurchaseVo purchaseVo : list) { - String userName = remoteConfig.getUserName(purchaseVo.getCreateBy()); - purchaseVo.setCreateBy(userName == null ? "" : userName); - String dictValue = remoteConfig.getDictValue("purchase_task_status", purchaseVo.getStatus().toString()); - purchaseVo.setStatusName(dictValue == null ? "" : dictValue); - } + Long[] array = list.stream() + // 提取 createBy 字段 + .map(PurchaseVo::getCreateBy) + .map(createBy -> { + try { + // 转换为 Long + return Long.parseLong(createBy); + } catch (NumberFormatException e) { + // 处理转换失败的情况,可以返回 null + return null; + } + }) + // 过滤掉 null 值 + .filter(value -> value != null) + .toArray(Long[]::new);// 转换为 Long[] 数组 + Map nickNameMap = remoteConfig.getUserName(array); + Map labelMap = remoteConfig.getDictValue("purchase_task_status"); + // 更新 list 中每个 PurchaseVo 对象的 name 字段 + list.forEach(purchaseVo -> { + // 更新 createBy 为 nickName + String createBy = purchaseVo.getCreateBy(); + if (StringUtils.isNotBlank(createBy)) { + Long createById = Long.parseLong(createBy); + String nickName = nickNameMap.get(createById); + purchaseVo.setCreateBy(nickName != null ? nickName : createBy); // 设置为 nickName 或原值 + } + // 更新状态名称 + Integer status = purchaseVo.getStatus(); + if (status != null) { + String dictValue = labelMap.get(status.toString()); + purchaseVo.setStatusName(dictValue); + } + }); } /** @@ -80,10 +108,15 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService { @Override public List getDetails(PurchaseDto dto) { List list = purchaseBindMapper.getDetails(dto); + Map labelMap = remoteConfig.getDictValue("purchase_task_status"); if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)) { for (PurchaseVo purchaseVo : list) { - String name = remoteConfig.getDictValue("purchase_task_status", purchaseVo.getStatus().toString()); - purchaseVo.setStatusName(name == null ? "" : name); + // 更新状态名称 + Integer status = purchaseVo.getStatus(); + if (status != null) { + String dictValue = labelMap.get(status.toString()); + purchaseVo.setStatusName(dictValue); + } } } return list; From d099d92758e993acaf7a1b0beb5f3a6ac7bee9ee Mon Sep 17 00:00:00 2001 From: mashuai Date: Wed, 23 Oct 2024 19:02:45 +0800 Subject: [PATCH 02/13] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E7=B1=BB=E5=AE=9A?= =?UTF-8?q?=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../purchase/config/RemoteConfig.java | 97 ------------------- .../service/impl/PurchaseBindServiceImpl.java | 2 - .../impl/PurchaseStorageServiceImpl.java | 1 - 3 files changed, 100 deletions(-) delete mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/config/RemoteConfig.java diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/config/RemoteConfig.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/config/RemoteConfig.java deleted file mode 100644 index 123435fa..00000000 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/config/RemoteConfig.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.bonus.material.purchase.config; - -import com.bonus.common.core.constant.SecurityConstants; -import com.bonus.common.core.utils.StringUtils; -import com.bonus.common.core.web.domain.AjaxResult; -import com.bonus.system.api.RemoteDictDataService; -import com.bonus.system.api.RemoteUserService; -import com.bonus.system.api.domain.SysDictData; -import com.bonus.system.api.domain.SysUser; -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.ObjectMapper; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Component; - -import javax.annotation.Resource; -import java.util.Collections; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -/** - * 远程调用查询键值配置类 - * @Author ma_sh - * @create 2024/10/23 16:51 - */ -@Component -@Slf4j -public class RemoteConfig { - - @Resource - private RemoteDictDataService remoteDictDataService; - - @Resource - private RemoteUserService remoteUserService; - - /** - * 获取字典值 - * @param dictType - * @return - */ - public Map getDictValue(String dictType) { - if (StringUtils.isBlank(dictType)) { - return Collections.emptyMap(); - } - try { - Map dictMap = new LinkedHashMap<>(); - AjaxResult ajaxResult = remoteDictDataService.dictType(dictType, SecurityConstants.INNER); - if (ajaxResult.isSuccess()) { - // 假设 ajaxResult.get("data") 返回的是 List - List rawData = (List) ajaxResult.get("data"); - ObjectMapper objectMapper = new ObjectMapper(); - objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - // 将 rawData 转换为 SysDictData 列表 - List dataList = rawData.stream() - .map(rawDatum -> objectMapper.convertValue(rawDatum, SysDictData.class)) - .collect(Collectors.toList()); - // 使用 Map 存储字典数据以提高查找速度 - dictMap = dataList.stream() - .collect(Collectors.toMap(SysDictData::getDictValue, SysDictData::getDictLabel)); - } - return dictMap; - } catch (Exception e) { - log.error("远程调用查询字典键值失败:", e.getMessage()); - } - return Collections.emptyMap(); - } - - /** - * 获取用户名 - * @param userIds - * @return - */ - public Map getUserName(Long[] userIds) { - if (userIds == null || userIds.length == 0) { - return Collections.emptyMap(); - } - try { - AjaxResult ajaxResult = remoteUserService.getUsers(userIds, SecurityConstants.INNER); - // 假设 ajaxResult.get("data") 返回的是 List - List rawData = (List) ajaxResult.get("data"); - ObjectMapper objectMapper = new ObjectMapper(); - objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - List dataList = rawData.stream() - .map(rawDatum -> objectMapper.convertValue(rawDatum, SysUser.class)) - .collect(Collectors.toList()); - // 创建一个以 createBy 为键,nickName 为值的映射 - Map nickNameMap = dataList.stream() - .collect(Collectors.toMap(SysUser::getUserId, SysUser::getNickName)); - return nickNameMap; - } catch (Exception e) { - e.printStackTrace(); - } - return Collections.emptyMap(); - } -} - diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java index 90606956..08c100c5 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java @@ -9,13 +9,11 @@ import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.utils.StringUtils; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.security.utils.SecurityUtils; -import com.bonus.material.purchase.config.RemoteConfig; import com.bonus.material.purchase.dto.PurchaseDto; import com.bonus.material.purchase.mapper.PurchaseBindMapper; import com.bonus.material.purchase.service.IPurchaseBindService; import com.bonus.material.purchase.vo.PurchaseVo; import com.bonus.material.task.mapper.TmTaskMapper; -import com.bonus.system.api.RemoteUserService; import com.google.zxing.WriterException; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseStorageServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseStorageServiceImpl.java index e895c1e3..67d0826a 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseStorageServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseStorageServiceImpl.java @@ -6,7 +6,6 @@ import com.bonus.common.biz.enums.HttpCodeEnum; import com.bonus.common.core.utils.StringUtils; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.material.ma.mapper.MachineMapper; -import com.bonus.material.purchase.config.RemoteConfig; import com.bonus.material.purchase.dto.PurchaseDto; import com.bonus.material.purchase.mapper.PurchaseBindMapper; import com.bonus.material.purchase.mapper.PurchaseStorageMapper; From 253b671b25d5f464d63f9a8aa1c3763ff6d53045 Mon Sep 17 00:00:00 2001 From: mashuai Date: Wed, 23 Oct 2024 19:10:07 +0800 Subject: [PATCH 03/13] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E7=B1=BB=E5=AE=9A?= =?UTF-8?q?=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../purchase/config/RemoteConfig.java | 96 +++++++++++++++++++ .../service/impl/PurchaseBindServiceImpl.java | 1 + .../impl/PurchaseStorageServiceImpl.java | 1 + 3 files changed, 98 insertions(+) create mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/config/RemoteConfig.java diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/config/RemoteConfig.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/config/RemoteConfig.java new file mode 100644 index 00000000..3d574732 --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/config/RemoteConfig.java @@ -0,0 +1,96 @@ +package com.bonus.material.purchase.config; + +import com.bonus.common.core.constant.SecurityConstants; +import com.bonus.common.core.utils.StringUtils; +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.system.api.RemoteDictDataService; +import com.bonus.system.api.RemoteUserService; +import com.bonus.system.api.domain.SysDictData; +import com.bonus.system.api.domain.SysUser; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @Author ma_sh + * @create 2024/10/23 19:06 + */ +@Component +@Slf4j +public class RemoteConfig { + + @Resource + private RemoteDictDataService remoteDictDataService; + + @Resource + private RemoteUserService remoteUserService; + + /** + * 获取字典值 + * @param dictType + * @return + */ + public Map getDictValue(String dictType) { + if (StringUtils.isBlank(dictType)) { + return Collections.emptyMap(); + } + try { + Map dictMap = new LinkedHashMap<>(); + AjaxResult ajaxResult = remoteDictDataService.dictType(dictType, SecurityConstants.INNER); + if (ajaxResult.isSuccess()) { + // 假设 ajaxResult.get("data") 返回的是 List + List rawData = (List) ajaxResult.get("data"); + ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + // 将 rawData 转换为 SysDictData 列表 + List dataList = rawData.stream() + .map(rawDatum -> objectMapper.convertValue(rawDatum, SysDictData.class)) + .collect(Collectors.toList()); + // 使用 Map 存储字典数据以提高查找速度 + dictMap = dataList.stream() + .collect(Collectors.toMap(SysDictData::getDictValue, SysDictData::getDictLabel)); + } + return dictMap; + } catch (Exception e) { + log.error("远程调用查询字典键值失败:", e.getMessage()); + } + return Collections.emptyMap(); + } + + /** + * 获取用户名 + * @param userIds + * @return + */ + public Map getUserName(Long[] userIds) { + if (userIds == null || userIds.length == 0) { + return Collections.emptyMap(); + } + try { + AjaxResult ajaxResult = remoteUserService.getUsers(userIds, SecurityConstants.INNER); + // 假设 ajaxResult.get("data") 返回的是 List + List rawData = (List) ajaxResult.get("data"); + ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + List dataList = rawData.stream() + .map(rawDatum -> objectMapper.convertValue(rawDatum, SysUser.class)) + .collect(Collectors.toList()); + // 创建一个以 createBy 为键,nickName 为值的映射 + Map nickNameMap = dataList.stream() + .collect(Collectors.toMap(SysUser::getUserId, SysUser::getNickName)); + return nickNameMap; + } catch (Exception e) { + log.error("远程调用查询用户名失败:", e.getMessage()); + } + return Collections.emptyMap(); + } +} + diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java index 08c100c5..31c1e722 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java @@ -9,6 +9,7 @@ import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.utils.StringUtils; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.security.utils.SecurityUtils; +import com.bonus.material.purchase.config.RemoteConfig; import com.bonus.material.purchase.dto.PurchaseDto; import com.bonus.material.purchase.mapper.PurchaseBindMapper; import com.bonus.material.purchase.service.IPurchaseBindService; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseStorageServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseStorageServiceImpl.java index 67d0826a..e895c1e3 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseStorageServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseStorageServiceImpl.java @@ -6,6 +6,7 @@ import com.bonus.common.biz.enums.HttpCodeEnum; import com.bonus.common.core.utils.StringUtils; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.material.ma.mapper.MachineMapper; +import com.bonus.material.purchase.config.RemoteConfig; import com.bonus.material.purchase.dto.PurchaseDto; import com.bonus.material.purchase.mapper.PurchaseBindMapper; import com.bonus.material.purchase.mapper.PurchaseStorageMapper; From 5d7116b4f0430d89ac446d513e5c6ee60e66b6c0 Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 24 Oct 2024 13:17:43 +0800 Subject: [PATCH 04/13] =?UTF-8?q?=E5=8D=95=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/material/basic/domain/BmUnit.java | 5 +- .../basic/service/impl/BmUnitServiceImpl.java | 74 ++++++++++--------- 2 files changed, 44 insertions(+), 35 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnit.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnit.java index b161223f..95504979 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnit.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnit.java @@ -46,11 +46,14 @@ public class BmUnit extends BaseEntity private String typeName; /** 所属分公司 */ - @Excel(name = "所属分公司") @ApiModelProperty(value = "所属分公司") @NotBlank(message = "所属分公司不能为空") private Long deptId; + @Excel(name = "所属分公司") + @ApiModelProperty(value = "所属分公司名称") + private String deptName; + /** 联系人 */ @Excel(name = "联系人") @ApiModelProperty(value = "联系人") diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitServiceImpl.java index 497ed2c1..7f629d37 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitServiceImpl.java @@ -4,7 +4,6 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Objects; -import java.util.stream.Collectors; import cn.hutool.core.util.PhoneUtil; import com.alibaba.nacos.common.utils.CollectionUtils; @@ -14,8 +13,10 @@ import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.utils.StringUtils; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.security.utils.SecurityUtils; +import com.bonus.material.purchase.config.RemoteConfig; +import com.bonus.system.api.RemoteDeptService; import com.bonus.system.api.RemoteDictDataService; -import com.bonus.system.api.domain.SysDictData; +import com.bonus.system.api.domain.SysDept; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; @@ -41,7 +42,11 @@ public class BmUnitServiceImpl implements IBmUnitService private BmUnitMapper bmUnitMapper; @Resource - private RemoteDictDataService remoteDictDataService; + private RemoteConfig remoteConfig; + + @Resource + private RemoteDeptService remoteDeptService; + /** * 查询往来单位管理 @@ -52,7 +57,9 @@ public class BmUnitServiceImpl implements IBmUnitService @Override public BmUnit selectBmUnitByUnitId(Long unitId) { - return bmUnitMapper.selectBmUnitByUnitId(unitId); + BmUnit unit = bmUnitMapper.selectBmUnitByUnitId(unitId); + extracted(unit); + return unit; } /** @@ -65,43 +72,42 @@ public class BmUnitServiceImpl implements IBmUnitService public List selectBmUnitList(BmUnit bmUnit) { List bmUnitList = bmUnitMapper.selectBmUnitList(bmUnit); - extracted(bmUnitList); + if (CollectionUtils.isNotEmpty(bmUnitList)) { + bmUnitList.forEach(item -> { + extracted(item); + }); + } return bmUnitList; } - private void extracted(List bmUnitList) { - try { - AjaxResult ajaxResult = remoteDictDataService.dictType("bm_unit_type", SecurityConstants.INNER); - if (ajaxResult.isSuccess()) { - // 假设 ajaxResult.get("data") 返回的是 List - List rawData = (List) ajaxResult.get("data"); - ObjectMapper objectMapper = new ObjectMapper(); - objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - // 将 rawData 转换为 SysDictData 列表 - List dataList = rawData.stream() - .map(rawDatum -> objectMapper.convertValue(rawDatum, SysDictData.class)) - .collect(Collectors.toList()); - // 使用 Map 存储字典数据以提高查找速度 - Map dictMap = dataList.stream() - .collect(Collectors.toMap(SysDictData::getDictValue, SysDictData::getDictLabel)); - if (CollectionUtils.isNotEmpty(bmUnitList)) { - for (BmUnit unit : bmUnitList) { - if (unit.getUnitId() != null) { - //根据单位id去人员绑定中查询是否绑定,赋值绑定状态 - unit.setIsBind(bmUnitMapper.selectBmUnitPersonByUnitId(unit.getUnitId()) > 0 ? 1 : 0); - } - String typeName = dictMap.get(unit.getTypeId().toString()); - if (typeName != null) { - unit.setTypeName(typeName); - } - } - } + /** + * 方法抽取 + * @param unit + */ + private void extracted(BmUnit unit) { + Map labelMap = remoteConfig.getDictValue("bm_unit_type"); + if (unit.getUnitId() != null) { + //根据单位id去人员绑定中查询是否绑定,赋值绑定状态 + unit.setIsBind(bmUnitMapper.selectBmUnitPersonByUnitId(unit.getUnitId()) > 0 ? 1 : 0); + } + if (unit.getTypeId() != null) { + unit.setTypeName(labelMap.get(unit.getTypeId().toString()) == null ? "" : labelMap.get(unit.getTypeId().toString())); + } + AjaxResult ajaxResult = remoteDeptService.getInfo(unit.getDeptId(), SecurityConstants.INNER); + //健壮性判断 + if (ajaxResult.isSuccess()) { + // ajaxResult.get("data") 返回的是 LinkedHashMap + LinkedHashMap rawDataList = (LinkedHashMap) ajaxResult.get("data"); + ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + if (rawDataList != null) { + SysDept sysDept = objectMapper.convertValue(rawDataList, SysDept.class); + unit.setDeptName(sysDept.getDeptName() == null ? "" : sysDept.getDeptName()); } - } catch (Exception e) { - log.error("远程服务调用查询失败:", e.getMessage()); } } + /** * 新增往来单位管理 * From 95decb8895c74485eac2c9f18dc9b6e3a58a3dd9 Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 24 Oct 2024 13:52:27 +0800 Subject: [PATCH 05/13] =?UTF-8?q?=E5=8D=95=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bonus/material/basic/controller/BmUnitController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java index 1e5c4ac5..41e93c72 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java @@ -113,7 +113,7 @@ public class BmUnitController extends BaseController @PreventRepeatSubmit @RequiresPermissions("basic:unit:remove") @SysLog(title = "往来单位管理", businessType = OperaType.DELETE, logType = 1,module = "仓储管理->删除往来单位管理") - @DeleteMapping("/{unitIds}") + @DeleteMapping("/{unitId}") public AjaxResult remove(@PathVariable Long unitId) { return bmUnitService.deleteBmUnitByUnitId(unitId); From bf47ea3891e2da298e41dac097d882c2c7b05c65 Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 24 Oct 2024 13:53:24 +0800 Subject: [PATCH 06/13] =?UTF-8?q?=E5=8D=95=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bonus/material/basic/controller/BmUnitController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java index 41e93c72..46a90f8d 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java @@ -114,7 +114,7 @@ public class BmUnitController extends BaseController @RequiresPermissions("basic:unit:remove") @SysLog(title = "往来单位管理", businessType = OperaType.DELETE, logType = 1,module = "仓储管理->删除往来单位管理") @DeleteMapping("/{unitId}") - public AjaxResult remove(@PathVariable Long unitId) + public AjaxResult remove(@PathVariable("unitId") Long unitId) { return bmUnitService.deleteBmUnitByUnitId(unitId); } From 35a29fab8c0721f36fd4e645e91da36fe388ab21 Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 24 Oct 2024 15:05:21 +0800 Subject: [PATCH 07/13] =?UTF-8?q?=E5=8D=95=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/BmProjectServiceImpl.java | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmProjectServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmProjectServiceImpl.java index dc5397f7..2b63fa07 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmProjectServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmProjectServiceImpl.java @@ -25,6 +25,8 @@ import com.bonus.material.basic.service.IBmProjectService; import javax.annotation.Resource; +import static com.bonus.common.biz.constant.MaterialConstants.*; + /** * 标段工程管理Service业务层处理 @@ -88,11 +90,61 @@ public class BmProjectServiceImpl implements IBmProjectService if (CollectionUtils.isNotEmpty(list)) { list.forEach(item -> { extractedImpUnit(item); + extracted(item); }); } return list; } + /** + * 方法抽取 + * @param item + */ + private void extracted(BmProject item) { + if (item.getProTypeId() != null) { + if (ZERO_CONSTANT.equals(item.getProTypeId())) { + item.setProType("线路工程"); + } else if (ONE_CONSTANT.equals(item.getProTypeId())) { + item.setProType("变电工程"); + } else if (TWO_CONSTANT.equals(item.getProTypeId())) { + item.setProType("业务工程"); + } else if (THREE_CONSTANT.equals(item.getProTypeId())) { + item.setProType("其他工程"); + } else { + item.setProType("未知工程类型"); + } + } + if (item.getProNature() != null) { + if (ZERO_CONSTANT.equals(item.getProNature())) { + item.setProNature("基建"); + } else if (ONE_CONSTANT.equals(item.getProNature())) { + item.setProNature("用户工程"); + } else if (TWO_CONSTANT.equals(item.getProNature())){ + item.setProNature("技修大改"); + } else if (THREE_CONSTANT.equals(item.getProNature())) { + item.setProNature("其他"); + } else { + item.setProNature("未知工程性质"); + } + } + if (item.getProStatus() != null) { + if (ZERO_CONSTANT.equals(item.getProStatus())) { + item.setProStatus("开工准备"); + } else if (ONE_CONSTANT.equals(item.getProStatus())) { + item.setProStatus("在建"); + } else if (TWO_CONSTANT.equals(item.getProStatus())){ + item.setProStatus("停工"); + } else if (THREE_CONSTANT.equals(item.getProStatus())){ + item.setProStatus("完工未竣工"); + } else if (FOUR_CONSTANT.equals(item.getProStatus())) { + item.setProStatus("竣工"); + } else { + item.setProStatus("未知工程状态"); + } + } + item.setIsMatchI8(StringUtils.isNotEmpty(item.getExternalId()) ? "匹配" : "不匹配"); + } + /** * 新增标段工程管理 * From 74a12d689e6a174be0ecf7fe84cc342c4e247398 Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 24 Oct 2024 15:12:01 +0800 Subject: [PATCH 08/13] =?UTF-8?q?=E5=8D=95=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/material/basic/service/impl/BmProjectServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmProjectServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmProjectServiceImpl.java index 2b63fa07..99b91c3c 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmProjectServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmProjectServiceImpl.java @@ -55,6 +55,7 @@ public class BmProjectServiceImpl implements IBmProjectService { BmProject project = bmProjectMapper.selectBmProjectByProId(proId); extractedImpUnit(project); + extracted(project); return project; } From 1648e6a51f1f6c4f218a13ca9a262d2fb95e7c3c Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 24 Oct 2024 15:21:58 +0800 Subject: [PATCH 09/13] =?UTF-8?q?=E5=8D=95=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/controller/BmProjectController.java | 2 +- .../service/impl/BmProjectServiceImpl.java | 26 +++++++++---------- .../impl/PurchaseStorageServiceImpl.java | 8 +++--- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmProjectController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmProjectController.java index 8b72da08..ee31f32b 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmProjectController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmProjectController.java @@ -46,7 +46,7 @@ public class BmProjectController extends BaseController * 查询标段工程管理列表 */ @ApiOperation(value = "查询标段工程管理列表") - @RequiresPermissions("basic:project:list") + //@RequiresPermissions("basic:project:list") @GetMapping("/list") public TableDataInfo list(BmProject bmProject) { diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmProjectServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmProjectServiceImpl.java index 99b91c3c..1a220de9 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmProjectServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmProjectServiceImpl.java @@ -103,41 +103,41 @@ public class BmProjectServiceImpl implements IBmProjectService */ private void extracted(BmProject item) { if (item.getProTypeId() != null) { - if (ZERO_CONSTANT.equals(item.getProTypeId())) { + if (ZERO_CONSTANT.equals(Integer.valueOf(item.getProTypeId()))) { item.setProType("线路工程"); - } else if (ONE_CONSTANT.equals(item.getProTypeId())) { + } else if (ONE_CONSTANT.equals(Integer.valueOf(item.getProTypeId()))) { item.setProType("变电工程"); - } else if (TWO_CONSTANT.equals(item.getProTypeId())) { + } else if (TWO_CONSTANT.equals(Integer.valueOf(item.getProTypeId()))) { item.setProType("业务工程"); - } else if (THREE_CONSTANT.equals(item.getProTypeId())) { + } else if (THREE_CONSTANT.equals(Integer.valueOf(item.getProTypeId()))) { item.setProType("其他工程"); } else { item.setProType("未知工程类型"); } } if (item.getProNature() != null) { - if (ZERO_CONSTANT.equals(item.getProNature())) { + if (ZERO_CONSTANT.equals(Integer.valueOf(item.getProNature()))) { item.setProNature("基建"); - } else if (ONE_CONSTANT.equals(item.getProNature())) { + } else if (ONE_CONSTANT.equals(Integer.valueOf(item.getProNature()))) { item.setProNature("用户工程"); - } else if (TWO_CONSTANT.equals(item.getProNature())){ + } else if (TWO_CONSTANT.equals(Integer.valueOf(item.getProNature()))){ item.setProNature("技修大改"); - } else if (THREE_CONSTANT.equals(item.getProNature())) { + } else if (THREE_CONSTANT.equals(Integer.valueOf(item.getProNature()))) { item.setProNature("其他"); } else { item.setProNature("未知工程性质"); } } if (item.getProStatus() != null) { - if (ZERO_CONSTANT.equals(item.getProStatus())) { + if (ZERO_CONSTANT.equals(Integer.valueOf(item.getProStatus()))) { item.setProStatus("开工准备"); - } else if (ONE_CONSTANT.equals(item.getProStatus())) { + } else if (ONE_CONSTANT.equals(Integer.valueOf(item.getProStatus()))) { item.setProStatus("在建"); - } else if (TWO_CONSTANT.equals(item.getProStatus())){ + } else if (TWO_CONSTANT.equals(Integer.valueOf(item.getProStatus()))){ item.setProStatus("停工"); - } else if (THREE_CONSTANT.equals(item.getProStatus())){ + } else if (THREE_CONSTANT.equals(Integer.valueOf(item.getProStatus()))){ item.setProStatus("完工未竣工"); - } else if (FOUR_CONSTANT.equals(item.getProStatus())) { + } else if (FOUR_CONSTANT.equals(Integer.valueOf(item.getProStatus()))) { item.setProStatus("竣工"); } else { item.setProStatus("未知工程状态"); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseStorageServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseStorageServiceImpl.java index e895c1e3..30cca06a 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseStorageServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseStorageServiceImpl.java @@ -253,9 +253,9 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService { */ private int updatePurchaseInfoAndDetails(PurchaseVo detail, int purchaseId) { int result = purchaseStorageMapper.updateStatusById(MaterialConstants.FIVE_CONSTANT, purchaseId); - if (ZERO_CONSTANT.equals(detail.getManageType())) { + if (ZERO_CONSTANT.equals(Integer.valueOf(detail.getManageType()))) { result += purchaseStorageMapper.insertMachine(detail); - } else if (ONE_CONSTANT.equals(detail.getManageType())) { + } else if (ONE_CONSTANT.equals(Integer.valueOf(detail.getManageType()))) { result += purchaseStorageMapper.updateStorageNum(detail.getBindNum(), detail.getTypeId()); } return result + purchaseStorageMapper.updateNum(detail.getPurchaseId(), detail.getBindNum()); @@ -297,9 +297,9 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService { .mapToInt(detail -> { int result = purchaseStorageMapper.updateNum(detail.getPurchaseId(), detail.getBindNum()); result += purchaseStorageMapper.updateStatusById(MaterialConstants.FIVE_CONSTANT, Integer.parseInt(detail.getPurchaseId())); - if (ZERO_CONSTANT.equals(detail.getManageType())) { + if (ZERO_CONSTANT.equals(Integer.valueOf(detail.getManageType()))) { result += purchaseStorageMapper.insertMachine(detail); - } else if (ONE_CONSTANT.equals(detail.getManageType())) { + } else if (ONE_CONSTANT.equals(Integer.valueOf(detail.getManageType()))) { result += purchaseStorageMapper.updateStorageNum(detail.getBindNum(), detail.getTypeId()); } return result; From 0b32de19b356ee6767205eb078ab395318fadeed Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 24 Oct 2024 15:40:10 +0800 Subject: [PATCH 10/13] =?UTF-8?q?=E5=8D=95=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/bonus/material/basic/domain/BmProject.java | 5 ++++- .../material/basic/service/impl/BmProjectServiceImpl.java | 7 +++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmProject.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmProject.java index b11e7c2f..3b119202 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmProject.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmProject.java @@ -48,10 +48,13 @@ public class BmProject extends BaseEntity private String proTypeId; @ApiModelProperty(value = "实施单位") - @Excel(name = "实施单位") @NotBlank(message = "实施单位不能为空") private String impUnit; + @ApiModelProperty(value = "实施单位") + @Excel(name = "实施单位") + private String impUnitName; + @ApiModelProperty(value = "工程类型") @Excel(name = "工程类型") @NotBlank(message = "工程类型不能为空") diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmProjectServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmProjectServiceImpl.java index 1a220de9..b3b13e46 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmProjectServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmProjectServiceImpl.java @@ -55,10 +55,13 @@ public class BmProjectServiceImpl implements IBmProjectService { BmProject project = bmProjectMapper.selectBmProjectByProId(proId); extractedImpUnit(project); - extracted(project); return project; } + /** + * 实施单位方法抽取 + * @param project + */ private void extractedImpUnit(BmProject project) { try { AjaxResult ajaxResult = remoteDeptService.getInfo(Long.parseLong(project.getImpUnit()), SecurityConstants.INNER); @@ -70,7 +73,7 @@ public class BmProjectServiceImpl implements IBmProjectService objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); if (rawDataList != null) { SysDept sysDept = objectMapper.convertValue(rawDataList, SysDept.class); - project.setImpUnit(sysDept.getDeptName() == null ? "" : sysDept.getDeptName()); + project.setImpUnitName(sysDept.getDeptName() == null ? "" : sysDept.getDeptName()); } } } catch (NumberFormatException e) { From 70640139b24cb0270b8e82bcd128d037408c57b2 Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 24 Oct 2024 16:40:25 +0800 Subject: [PATCH 11/13] =?UTF-8?q?=E5=8D=95=E4=BD=8D=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/controller/BmProjectController.java | 2 +- .../material/basic/domain/BmProject.java | 4 +-- .../basic/service/impl/BmUnitServiceImpl.java | 25 ++++++++++++++++++- .../service/impl/PurchaseBindServiceImpl.java | 5 ++-- 4 files changed, 30 insertions(+), 6 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmProjectController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmProjectController.java index ee31f32b..8b72da08 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmProjectController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmProjectController.java @@ -46,7 +46,7 @@ public class BmProjectController extends BaseController * 查询标段工程管理列表 */ @ApiOperation(value = "查询标段工程管理列表") - //@RequiresPermissions("basic:project:list") + @RequiresPermissions("basic:project:list") @GetMapping("/list") public TableDataInfo list(BmProject bmProject) { diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmProject.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmProject.java index 3b119202..16850f99 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmProject.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmProject.java @@ -60,8 +60,8 @@ public class BmProject extends BaseEntity @NotBlank(message = "工程类型不能为空") private String proType; - @ApiModelProperty(value = "工程编码") - @Excel(name = "i8工程编码") + @ApiModelProperty(value = "工程编号") + @Excel(name = "工程编号") @Size(max=60, message = "工程编号长度不能超过60") private String proCode; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitServiceImpl.java index 7f629d37..608b5201 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitServiceImpl.java @@ -15,7 +15,6 @@ import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.security.utils.SecurityUtils; import com.bonus.material.purchase.config.RemoteConfig; import com.bonus.system.api.RemoteDeptService; -import com.bonus.system.api.RemoteDictDataService; import com.bonus.system.api.domain.SysDept; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; @@ -72,8 +71,32 @@ public class BmUnitServiceImpl implements IBmUnitService public List selectBmUnitList(BmUnit bmUnit) { List bmUnitList = bmUnitMapper.selectBmUnitList(bmUnit); + Long[] array = bmUnitList.stream() + // 提取 createBy 字段 + .map(BmUnit::getCreateBy) + .map(createBy -> { + try { + // 转换为 Long + return Long.parseLong(createBy); + } catch (NumberFormatException e) { + // 处理转换失败的情况,可以返回 null + return null; + } + }) + // 过滤掉 null 值 + .filter(value -> value != null) + // 转换为 Long[] 数组 + .toArray(Long[]::new); + Map nickNameMap = remoteConfig.getUserName(array); if (CollectionUtils.isNotEmpty(bmUnitList)) { bmUnitList.forEach(item -> { + // 更新 createBy 为 nickName + String createBy = item.getCreateBy(); + if (StringUtils.isNotBlank(createBy)) { + Long createById = Long.parseLong(createBy); + String nickName = nickNameMap.get(createById); + item.setCreateBy(nickName != null ? nickName : createBy); + } extracted(item); }); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java index 31c1e722..3f1a864b 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java @@ -98,7 +98,8 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService { }) // 过滤掉 null 值 .filter(value -> value != null) - .toArray(Long[]::new);// 转换为 Long[] 数组 + // 转换为 Long[] 数组 + .toArray(Long[]::new); Map nickNameMap = remoteConfig.getUserName(array); Map labelMap = remoteConfig.getDictValue("purchase_task_status"); // 更新 list 中每个 PurchaseVo 对象的 name 字段 @@ -108,7 +109,7 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService { if (StringUtils.isNotBlank(createBy)) { Long createById = Long.parseLong(createBy); String nickName = nickNameMap.get(createById); - purchaseVo.setCreateBy(nickName != null ? nickName : createBy); // 设置为 nickName 或原值 + purchaseVo.setCreateBy(nickName != null ? nickName : createBy); } // 更新状态名称 Integer status = purchaseVo.getStatus(); From 0451872a7de8c05f3ce1c4cd6fa834c1c5b71c81 Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 24 Oct 2024 17:15:26 +0800 Subject: [PATCH 12/13] =?UTF-8?q?=E5=8D=95=E4=BD=8D=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/controller/BmUnitController.java | 2 +- .../controller/BmUnitPersonController.java | 24 ++++++-- .../bonus/material/basic/domain/BmUnit.java | 6 ++ .../material/basic/domain/BmUnitPerson.java | 10 +--- .../basic/mapper/BmUnitPersonMapper.java | 9 ++- .../basic/service/IBmUnitPersonService.java | 9 +++ .../service/impl/BmUnitPersonServiceImpl.java | 60 +++++++++++++++++-- .../basic/service/impl/BmUnitServiceImpl.java | 24 -------- .../material/basic/BmUnitPersonMapper.xml | 24 ++++++++ 9 files changed, 123 insertions(+), 45 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java index 46a90f8d..4c17163c 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitController.java @@ -45,7 +45,7 @@ public class BmUnitController extends BaseController * 查询往来单位管理列表 */ @ApiOperation(value = "查询往来单位管理列表") - //@RequiresPermissions("basic:unit:list") + @RequiresPermissions("basic:unit:list") @GetMapping("/list") public TableDataInfo list(BmUnit bmUnit) { diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitPersonController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitPersonController.java index 77bd96d0..128bf3d7 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitPersonController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitPersonController.java @@ -1,16 +1,13 @@ package com.bonus.material.basic.controller; +import com.bonus.common.core.web.page.TableDataInfo; import com.bonus.common.log.enums.OperaType; +import com.bonus.material.basic.domain.BmUnit; import com.bonus.material.common.annotation.PreventRepeatSubmit; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import com.bonus.common.log.annotation.SysLog; import com.bonus.common.security.annotation.RequiresPermissions; import com.bonus.material.basic.domain.BmUnitPerson; @@ -18,6 +15,8 @@ import com.bonus.material.basic.service.IBmUnitPersonService; import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.domain.AjaxResult; +import java.util.List; + /** * 往来单位管理Controller * @@ -32,6 +31,19 @@ public class BmUnitPersonController extends BaseController @Autowired private IBmUnitPersonService bmUnitPersonService; + /** + * 查询往来单位管理列表 + */ + @ApiOperation(value = "查询往来单位管理列表") + @RequiresPermissions("basic:person:list") + @GetMapping("/list") + public TableDataInfo list(BmUnitPerson bmUnitPerson) + { + startPage(); + List list = bmUnitPersonService.selectBmUnitList(bmUnitPerson); + return getDataTable(list); + } + /** * 绑定往来单位人员列表 */ diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnit.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnit.java index 95504979..ff9f6f92 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnit.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnit.java @@ -74,5 +74,11 @@ public class BmUnit extends BaseEntity */ private Integer isBind; + @ApiModelProperty(value = "绑定人员id") + private Long userId; + + @ApiModelProperty(value = "绑定人员名称") + private String userName; + } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnitPerson.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnitPerson.java index 12075193..618ed227 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnitPerson.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/BmUnitPerson.java @@ -1,6 +1,5 @@ package com.bonus.material.basic.domain; -import com.bonus.common.core.annotation.Excel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.ToString; @@ -32,17 +31,14 @@ public class BmUnitPerson extends BaseEntity private Long unitId; /** 用户ID */ - @Excel(name = "用户ID") @ApiModelProperty(value = "用户ID") private Long userId; /** 数据所属组织 */ - @Excel(name = "数据所属组织") @ApiModelProperty(value = "数据所属组织") private String companyId; - /** - * 二级树标识 1代表查询二级树 - */ - private Integer isTree; + /** 单位类型名称 */ + @ApiModelProperty(value = "单位类型名称") + private String unitName; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitPersonMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitPersonMapper.java index c5e2a817..fd2a8bce 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitPersonMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmUnitPersonMapper.java @@ -2,7 +2,7 @@ package com.bonus.material.basic.mapper; import java.util.List; -import com.bonus.common.biz.domain.TreeNode; +import com.bonus.material.basic.domain.BmUnit; import com.bonus.material.basic.domain.BmUnitPerson; /** @@ -29,4 +29,11 @@ public interface BmUnitPersonMapper * @return 结果 */ public int deleteBmUnitPersonByID(Long unitId); + + /** + * 查询往来单位管理列表 + * @param bmUnitPerson + * @return + */ + List selectBmUnitList(BmUnitPerson bmUnitPerson); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmUnitPersonService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmUnitPersonService.java index 07f202ca..d693b9da 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmUnitPersonService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/IBmUnitPersonService.java @@ -1,8 +1,11 @@ package com.bonus.material.basic.service; import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.material.basic.domain.BmUnit; import com.bonus.material.basic.domain.BmUnitPerson; +import java.util.List; + /** * 往来单位管理Service接口 * @@ -28,4 +31,10 @@ public interface IBmUnitPersonService */ public AjaxResult deleteBmUnitPersonByID(Long unitId); + /** + * 查询绑定的往来单位列表 + * @param bmUnitPerson + * @return + */ + List selectBmUnitList(BmUnitPerson bmUnitPerson); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitPersonServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitPersonServiceImpl.java index 2ded4d81..71f41b26 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitPersonServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitPersonServiceImpl.java @@ -1,19 +1,21 @@ package com.bonus.material.basic.service.impl; -import java.util.*; - import com.alibaba.nacos.common.utils.CollectionUtils; -import com.bonus.common.biz.domain.TreeBuild; -import com.bonus.common.biz.domain.TreeNode; import com.bonus.common.biz.enums.HttpCodeEnum; import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.web.domain.AjaxResult; -import org.springframework.beans.factory.annotation.Autowired; +import com.bonus.material.basic.domain.BmUnit; +import com.bonus.material.basic.mapper.BmUnitMapper; +import com.bonus.material.purchase.config.RemoteConfig; import org.springframework.stereotype.Service; import com.bonus.material.basic.mapper.BmUnitPersonMapper; import com.bonus.material.basic.domain.BmUnitPerson; import com.bonus.material.basic.service.IBmUnitPersonService; +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + /** * 往来单位管理Service业务层处理 * @@ -23,9 +25,15 @@ import com.bonus.material.basic.service.IBmUnitPersonService; @Service public class BmUnitPersonServiceImpl implements IBmUnitPersonService { - @Autowired + @Resource private BmUnitPersonMapper bmUnitPersonMapper; + @Resource + private RemoteConfig remoteConfig; + + @Resource + private BmUnitMapper bmUnitMapper; + /** * 新增往来单位管理 * @@ -65,4 +73,44 @@ public class BmUnitPersonServiceImpl implements IBmUnitPersonService return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); } + /** + * 查询关联单位列表 + * @param bmUnitPerson + * @return + */ + @Override + public List selectBmUnitList(BmUnitPerson bmUnitPerson) { + List bmUnitList = bmUnitPersonMapper.selectBmUnitList(bmUnitPerson); + Long[] array = bmUnitList.stream() + // 提取 createBy 字段 + .map(BmUnit::getUserId) + .map(createBy -> { + try { + // 转换为 Long + return createBy; + } catch (NumberFormatException e) { + // 处理转换失败的情况,可以返回 null + return null; + } + }) + // 过滤掉 null 值 + .filter(value -> value != null) + // 转换为 Long[] 数组 + .toArray(Long[]::new); + Map nickNameMap = remoteConfig.getUserName(array); + if (CollectionUtils.isNotEmpty(bmUnitList)) { + bmUnitList.forEach(item -> { + Long userId = item.getUserId(); + if (userId != null) { + String nickName = nickNameMap.get(userId); + item.setUserName(nickName != null ? nickName : " "); + } + if (item.getUnitId() != null) { + //根据单位id去人员绑定中查询是否绑定,赋值绑定状态 + item.setIsBind(bmUnitMapper.selectBmUnitPersonByUnitId(item.getUnitId()) > 0 ? 1 : 0); + } + }); + } + return bmUnitList; + } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitServiceImpl.java index 608b5201..e9059edc 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitServiceImpl.java @@ -71,32 +71,8 @@ public class BmUnitServiceImpl implements IBmUnitService public List selectBmUnitList(BmUnit bmUnit) { List bmUnitList = bmUnitMapper.selectBmUnitList(bmUnit); - Long[] array = bmUnitList.stream() - // 提取 createBy 字段 - .map(BmUnit::getCreateBy) - .map(createBy -> { - try { - // 转换为 Long - return Long.parseLong(createBy); - } catch (NumberFormatException e) { - // 处理转换失败的情况,可以返回 null - return null; - } - }) - // 过滤掉 null 值 - .filter(value -> value != null) - // 转换为 Long[] 数组 - .toArray(Long[]::new); - Map nickNameMap = remoteConfig.getUserName(array); if (CollectionUtils.isNotEmpty(bmUnitList)) { bmUnitList.forEach(item -> { - // 更新 createBy 为 nickName - String createBy = item.getCreateBy(); - if (StringUtils.isNotBlank(createBy)) { - Long createById = Long.parseLong(createBy); - String nickName = nickNameMap.get(createById); - item.setCreateBy(nickName != null ? nickName : createBy); - } extracted(item); }); } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitPersonMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitPersonMapper.xml index 8a34fa12..333994fa 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitPersonMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmUnitPersonMapper.xml @@ -24,4 +24,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" delete from bm_unit_person where unit_id = #{unitId} + + \ No newline at end of file From cdcbcdf7a7ff4ac7e8a2ff83e9464d1893b7e6ff Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 24 Oct 2024 17:26:53 +0800 Subject: [PATCH 13/13] =?UTF-8?q?=E5=8D=95=E4=BD=8D=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BmUnitPersonController.java | 4 +- .../service/impl/BmUnitPersonServiceImpl.java | 37 +++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitPersonController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitPersonController.java index 128bf3d7..609b2390 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitPersonController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/BmUnitPersonController.java @@ -32,9 +32,9 @@ public class BmUnitPersonController extends BaseController private IBmUnitPersonService bmUnitPersonService; /** - * 查询往来单位管理列表 + * 查询往来单位绑定管理列表 */ - @ApiOperation(value = "查询往来单位管理列表") + @ApiOperation(value = "查询往来单位绑定管理列表") @RequiresPermissions("basic:person:list") @GetMapping("/list") public TableDataInfo list(BmUnitPerson bmUnitPerson) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitPersonServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitPersonServiceImpl.java index 71f41b26..1c08e06b 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitPersonServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmUnitPersonServiceImpl.java @@ -2,17 +2,23 @@ package com.bonus.material.basic.service.impl; import com.alibaba.nacos.common.utils.CollectionUtils; import com.bonus.common.biz.enums.HttpCodeEnum; +import com.bonus.common.core.constant.SecurityConstants; import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.material.basic.domain.BmUnit; import com.bonus.material.basic.mapper.BmUnitMapper; import com.bonus.material.purchase.config.RemoteConfig; +import com.bonus.system.api.RemoteDeptService; +import com.bonus.system.api.domain.SysDept; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.stereotype.Service; import com.bonus.material.basic.mapper.BmUnitPersonMapper; import com.bonus.material.basic.domain.BmUnitPerson; import com.bonus.material.basic.service.IBmUnitPersonService; import javax.annotation.Resource; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -34,6 +40,9 @@ public class BmUnitPersonServiceImpl implements IBmUnitPersonService @Resource private BmUnitMapper bmUnitMapper; + @Resource + private RemoteDeptService remoteDeptService; + /** * 新增往来单位管理 * @@ -109,8 +118,36 @@ public class BmUnitPersonServiceImpl implements IBmUnitPersonService //根据单位id去人员绑定中查询是否绑定,赋值绑定状态 item.setIsBind(bmUnitMapper.selectBmUnitPersonByUnitId(item.getUnitId()) > 0 ? 1 : 0); } + extracted(item); }); } return bmUnitList; } + + /** + * 方法抽取 + * @param unit + */ + private void extracted(BmUnit unit) { + Map labelMap = remoteConfig.getDictValue("bm_unit_type"); + if (unit.getUnitId() != null) { + //根据单位id去人员绑定中查询是否绑定,赋值绑定状态 + unit.setIsBind(bmUnitMapper.selectBmUnitPersonByUnitId(unit.getUnitId()) > 0 ? 1 : 0); + } + if (unit.getTypeId() != null) { + unit.setTypeName(labelMap.get(unit.getTypeId().toString()) == null ? "" : labelMap.get(unit.getTypeId().toString())); + } + AjaxResult ajaxResult = remoteDeptService.getInfo(unit.getDeptId(), SecurityConstants.INNER); + //健壮性判断 + if (ajaxResult.isSuccess()) { + // ajaxResult.get("data") 返回的是 LinkedHashMap + LinkedHashMap rawDataList = (LinkedHashMap) ajaxResult.get("data"); + ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + if (rawDataList != null) { + SysDept sysDept = objectMapper.convertValue(rawDataList, SysDept.class); + unit.setDeptName(sysDept.getDeptName() == null ? "" : sysDept.getDeptName()); + } + } + } }