首页 > 编程语言 >java 为解决导入部门名称是中文,部门名称转换成部门ID

java 为解决导入部门名称是中文,部门名称转换成部门ID

时间:2023-11-28 10:57:37浏览次数:33  
标签:Map java excel 部门 导入 名称 ID

一、业务实现:(Server层)

/**
     * 为解决导入部门名称是中文,部门名称转换成部门ID
     * key : 部门名称
     * value : 部门ID
     **/
    Map<String, Integer> getOrgNameToIdMapping();

二、业务层(SercerImpl)
/**
     * 为解决导入部门名称是中文,部门名称转换成部门ID
     * key : 部门名称
   * value : 部门ID **/ @Override public Map<String, Integer> getOrgNameToIdMapping() {
     // 从数据库中查询的部门集合,当然也可以加参数指定部门名称匹配ID List<Org> list = this.list(); Map<String, Integer> map = new HashMap<>(); if (StringUtils.isEmpty(list)) { return map; } list.forEach(dept -> { map.put(dept.getName(), dept.getId()); }); return map; }

 

三、在需要处理业务的地方调用,如:导入数据时

这里是个简单示例,希望对大家有所帮助

    //部门校验,部门名称转换部门ID
        Map<String, Integer> orgNameToIdMapping = orgApi.getOrgNameToIdMapping();
     //excel.getOrgName是导入时从Excel表格中读取的中文部门名称,如:研发部门 if (StringUtils.isNotEmpty(excel.getOrgName())) { if (!orgNameToIdMapping.containsKey(excel.getOrgName())) { throw new RuntimeException("部门名称不存在!"); } else {
          // 匹配研发部门ID Integer deptId = orgNameToIdMapping.get(excel.getOrgName()); if (deptId == null) { throw new RuntimeException("系统中未存在该部门编号!"); } else { excel.setOrgId(deptId); } } }

 

提示:该处理方式只对部门名称不存在重复可行,如果2个子级只存在相同部门,得换种方式处理

 

标签:Map,java,excel,部门,导入,名称,ID
From: https://www.cnblogs.com/springclout/p/17861361.html

相关文章

  • Java集合ArrayList,LinkedList,Vector的相同点与区别是什么?
    ✨前言✨本篇作为,java集合中ArrayList,LinkedList,Vector常用集合的分析概括,已便大家认识这三种集合的区别,和特点......
  • Android app兼容低版本Java环境
    原文地址:Androidapp兼容低版本Java环境-Stars-One的杂货小窝起因是修复一个Bug遇到的问题,找到了一个可以让app兼容低版本java的方法众所周知,Android版本更新后,其内置的JRE环境也随之更新了假如我们在app中用到了JDK8的特有的属性,而用户的手机设备系统还是比较低,而没......
  • Java 第三方链接请求工具
    importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONObject;importorg.apache.http.Consts;importorg.apache.http.HttpEntity;importorg.apache.http.HttpResponse;importorg.apache.http.NameValuePair;importorg.apache.http.client.entity.Url......
  • Java8使用并行流(ParallelStream)注意事项
    本文转载自简书:https://www.jianshu.com/p/51c1d4f1bf84著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 Java8并行流ParallelStream和Stream的区别就是支持并行执行,提高程序运行效率。但是如果使用不当可能会发生线程安全的问题。Demo如下:1publics......
  • 用java写一个抽奖程序
    需求分析1)实现三个基本功能:登录、注册、抽奖。2)登录:用户输入账号密码进行登录,输入账号后会匹配已注册的用户,若输入用户不存在则退出,密码有三次输入机会,登录成功后主界面会显示已登录用户的账号信息。3)注册:用户首先输入账号名称,系统查询此名称是否存在,如存在则请求用户换一个名称,......
  • Java 实现统一社会信用代码有效性校验
    一、调用工具类:importcom.yf.utils.StringUtils;importjava.util.HashMap;importjava.util.Map;/***统一社会信用代码有效性校验**@authorFengQing*@programruoyi-vue-file*@description*@date2023/09/11*/publicclassTyshxydmVerificationUtil......
  • C++ 获取网卡名称和IP地址
    描述这是获取网卡名称和IP地址的代码示例,参考自。原文描述得比较详细,感谢博主分享。原文代码中没有输出网卡的物理地址,下面的代码进行了补充,并在win10上运行正常。代码//#include<WinSock2.h>#include<Iphlpapi.h>#pragmacomment(lib,"Iphlpapi.lib")//需要添加Iphlpapi.lib......
  • Java 将JSON数组转成List对象集合
     一、从对象列表中提取并组装JSON字段的数据:(工具类)publicclassJsonMsgUtils<T>{/***从对象列表中提取并组装JSON字段的数据。**@paramlogs包含对象的列表*@paramtargetClass目标对象类型,表示JSON消息的结构......
  • Java并发编程:面向对象思想与并发编程思想的融合
    1.封装共享变量1.1识别可变化与不变的共享变量识别可变化与不可变化的共享变量。针对初始化后不再改变的变量,可以添加final修饰。不仅编译器编译更快,也对后续开发人员指明了变量属性,更防范了意想不到的修改行为。1.2针对可变化的共享变量,进行封装处理针对共享变量的访问,若......
  • Java实现并行功能
    Java8线程池异步处理-->针对小包大MyTask 类中的 compute() 方法首先检查任务的规模是否小于等于1。如果是,它直接返回任务的结果。否则,它将任务拆分成两个子任务(leftTask 和 rightTask),并使用 fork() 方法将它们提交到 ForkJoinPool 中执行。这里定义了一个名为 My......