From 4f3a98f19143865cdc1de4791e8a95d96bd40c65 Mon Sep 17 00:00:00 2001 From: maven <2163098428@qq.com> Date: 星期五, 01 八月 2025 13:27:59 +0800 Subject: [PATCH] yys 密码已重置 --- cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonCommunicationAbilityServiceImpl.java | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 114 insertions(+), 0 deletions(-) diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonCommunicationAbilityServiceImpl.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonCommunicationAbilityServiceImpl.java new file mode 100644 index 0000000..c532a7d --- /dev/null +++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonCommunicationAbilityServiceImpl.java @@ -0,0 +1,114 @@ +package com.ruoyi.personnel.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.config.ConfigureBuilder; +import com.ruoyi.common.core.domain.entity.User; +import com.ruoyi.personnel.dto.PersonCommunicationAbilityDto; +import com.ruoyi.personnel.mapper.PersonCommunicationAbilityMapper; +import com.ruoyi.personnel.pojo.PersonCommunicationAbility; +import com.ruoyi.personnel.service.PersonCommunicationAbilityService; +import com.ruoyi.system.mapper.UserMapper; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.stream.Collectors; + +/** + * <p> + * 娌熼�氳兘鍔� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author + * @since 2024-10-09 12:00:57 + */ +@Service +public class PersonCommunicationAbilityServiceImpl extends ServiceImpl<PersonCommunicationAbilityMapper, PersonCommunicationAbility> implements PersonCommunicationAbilityService { + + @Resource + private UserMapper userMapper; + + @Override + public IPage<PersonCommunicationAbilityDto> personPersonCommunicationAbilityPage(Page page, Integer departLimsId, Integer userId, String userName) { + IPage<PersonCommunicationAbilityDto> personCommunicationAbilityDtoIPage = baseMapper.personPersonCommunicationAbilityPage(page, departLimsId, userId, userName); + List<PersonCommunicationAbilityDto> collect = personCommunicationAbilityDtoIPage.getRecords().stream().map(personCommunicationAbilityDto -> { + if (ObjectUtils.isNotEmpty(personCommunicationAbilityDto.getUserId())) { + List<String> account = new ArrayList<>(); + List<String> name = new ArrayList<>(); + for (String s : personCommunicationAbilityDto.getUserId().split(",")) { + User user = userMapper.selectById(Integer.parseInt(s)); + account.add(user.getAccount()); + name.add(user.getName()); + } + personCommunicationAbilityDto.setAccount(account.stream().collect(Collectors.joining(","))); + personCommunicationAbilityDto.setUserName(name.stream().collect(Collectors.joining(","))); + } + return personCommunicationAbilityDto; // 杩欓噷鍙互瀵硅繑鍥炵殑鏁版嵁杩涜澶勭悊锛屽娣诲姞涓�浜涙柊鐨勫睘鎬ф垨杞崲绛夈�� + }).collect(Collectors.toList()); + personCommunicationAbilityDtoIPage.setRecords(collect); + return personCommunicationAbilityDtoIPage; + } + + @Override + public void exportPersonCommunicationAbility(Integer id, HttpServletResponse response) throws Exception { + PersonCommunicationAbility personCommunicationAbility = baseMapper.selectById(id); + //娌熼�氫汉 + String collect = " "; + if (ObjectUtils.isNotEmpty(personCommunicationAbility.getUserId())) { + List<String> name = new ArrayList<>(); + for (String s : personCommunicationAbility.getUserId().split(",")) { + User user = userMapper.selectById(Integer.parseInt(s)); + name.add(user.getName()); + } + collect = name.stream().collect(Collectors.joining(",")); + } + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�"); + + //鏃堕棿 + String communicationTime = ""; + if (ObjectUtils.isNotEmpty(personCommunicationAbility.getCommunicationTime())) { + communicationTime = personCommunicationAbility.getCommunicationTime().format(formatter); + } + + InputStream inputStream = this.getClass().getResourceAsStream("/static/communication-deal.docx"); + ConfigureBuilder builder = Configure.builder(); + builder.useSpringEL(true); + String finalCollect = collect; + String finalCommunicationTime = communicationTime; + XWPFTemplate template = XWPFTemplate.compile(inputStream, builder.build()).render( + new HashMap<String, Object>() {{ + put("userName", finalCollect); + put("communicationTime", finalCommunicationTime); + put("communicationPlace", personCommunicationAbility.getCommunicationPlace()); + put("communicationContent", personCommunicationAbility.getCommunicationContent()); + }}); + + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + "娌熼�氳褰�", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + inputStream.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } +} -- Gitblit v1.9.3