From 1a8f2475c750637759704a4034f0dc680838b333 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Wed, 17 Aug 2022 11:51:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=88=E6=8A=A5=E6=95=B4=E5=90=88=E5=AF=BC?= =?UTF-8?q?=E5=87=BA--=E5=8F=91=E7=BB=99=E8=81=94=E7=B3=BB=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LawsMonthlyReportWriteEOServiceImpl.java | 41 ++++++++++++++++--- .../jero/modules/report/util/WordUtil.java | 28 +++++++++++-- 2 files changed, 59 insertions(+), 10 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java index dc389d037..f0dd7cfef 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java @@ -421,6 +421,9 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl lawsMonthlyReportWriteEOS = this.list(wrapper); + //法规联系人 + List loginUserList = getlawsContact(lawsMonthlyReportWriteEOS); + List lawsMonthlyReportIdList = lawsMonthlyReportWriteEOS.stream().map(LawsMonthlyReportWriteEO::getId).collect(Collectors.toList()); //新征求意见清单模板 @@ -471,7 +474,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl getlawsContact(List lawsMonthlyReportWriteEOS) { + List userIdList = lawsMonthlyReportWriteEOS.stream().map(LawsMonthlyReportWriteEO::getLawsContact).collect(Collectors.toList()); + //法规联系人 + List userIds = new ArrayList<>(); + for (String s : userIdList) { + if(StringUtils.isNotBlank(s)){ + if(s.contains(",")){ + userIds.addAll(Arrays.asList(s.split(","))); + }else{ + userIds.add(s); + } + } + } + List jsonObjects = sysBaseApi.queryUsersByIds(StringUtils.join(userIds, ",")); + List userList = new ArrayList<>(); + for (JSONObject jsonObject : jsonObjects) { + LoginUser loginUser = JSONObject.parseObject(jsonObject.toJSONString(), LoginUser.class); + userList.add(loginUser); + } + return userList; + } + /** *创建word文件 @@ -522,7 +547,8 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl lawsMonthlyReportWriteEOS, - List lawsMonthlyReportTitleTemplateEOS){ + List lawsMonthlyReportTitleTemplateEOS, + List loginUserList){ //一级菜单 List parentIdList = lawsMonthlyReportTitleTemplateEOS.stream().map(LawsMonthlyReportTitleTemplateEO::getParentId).distinct().collect(Collectors.toList()); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); @@ -591,13 +617,15 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl reportTitleOneList, String titleCN, XWPFDocument document, - String cut) { + String cut, + List loginUserList) { //数据字典 List sysDictItems = sysDictItemServiceImpl.selectItemsAll(); @@ -761,7 +790,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl sysDictItems, List categoryList, - String cut) { + String cut, + List loginUserList) { String technologyTerritory = lawsMonthlyReportWriteEO.getTechnologyTerritory();//技术领域 String applyCar = lawsMonthlyReportWriteEO.getApplyCar();//适用车型 String applyScope = lawsMonthlyReportWriteEO.getApplyScope();//适用范围 @@ -363,7 +364,8 @@ public class WordUtil { String contentEn = lawsMonthlyReportWriteEO.getContentEn();//主要内容英文 String workProgressCn = lawsMonthlyReportWriteEO.getWorkProgressCn();//NIO工作进展中文 String workProgressEn = lawsMonthlyReportWriteEO.getWorkProgressEn();//NIO工作进展英文 - String lawsContact = lawsMonthlyReportWriteEO.getLawsContact();//法规联系人 + String lawsContactTemp = lawsMonthlyReportWriteEO.getLawsContact();//法规联系人 + String lawsContact = getLawsContact(loginUserList, lawsContactTemp); String link = lawsMonthlyReportWriteEO.getLink();//链接 String technologyTerritoryName = ""; if(org.apache.commons.lang3.StringUtils.isNotBlank(technologyTerritory)){ @@ -679,5 +681,23 @@ public class WordUtil { tableRow.getCell(0).setText(fieldName); tableRow.getCell(1).setText(technologyTerritory); } + + private static String getLawsContact(List userList, String lawsContact) { + if(com.jero.modules.system.util.StringUtils.isNotBlank(lawsContact)){ + List collect = userList.stream().filter(e -> lawsContact.contains(e.getId())).collect(Collectors.toList()); + StringBuilder sb = new StringBuilder(); + for (String s : lawsContact.split(",")) { + List loginUserList = collect.stream().filter(e -> e.getId().equals(s)).collect(Collectors.toList()); + if(loginUserList.size() != 0){ + sb.append(loginUserList.get(0).getUsername()+","); + } + } + if(com.jero.modules.system.util.StringUtils.isNotBlank(sb)){ + String substring = sb.substring(0, sb.length() - 1); + return substring; + } + } + return null; + } }