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-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentIssueRecycleServiceImpl.java | 202 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 202 insertions(+), 0 deletions(-) diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentIssueRecycleServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentIssueRecycleServiceImpl.java new file mode 100644 index 0000000..6963261 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentIssueRecycleServiceImpl.java @@ -0,0 +1,202 @@ +package com.ruoyi.manage.service.impl; + +import cn.hutool.core.lang.UUID; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + + +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.manage.dto.ManageDocumentIssueRecycleDto; +import com.ruoyi.manage.mapper.ManageDocumentIssueRecycleMapper; +import com.ruoyi.manage.mapper.ManageRecordCheckMapper; +import com.ruoyi.manage.mapper.ManageRecordIssueRecycleMapper; +import com.ruoyi.manage.pojo.ManageDocumentIssueRecycle; +import com.ruoyi.manage.pojo.ManageRecordCheck; +import com.ruoyi.manage.pojo.ManageRecordIssueRecycle; +import com.ruoyi.manage.service.ManageDocumentIssueRecycleService; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.IOException; +import java.net.URLEncoder; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * <p> + * 鏂囦欢鍙戞斁鍥炴敹 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author + * @since 2024-11-09 09:18:24 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class ManageDocumentIssueRecycleServiceImpl extends ServiceImpl<ManageDocumentIssueRecycleMapper, ManageDocumentIssueRecycle> implements ManageDocumentIssueRecycleService { + + @Resource + private ManageDocumentIssueRecycleMapper manageDocumentIssueRecycleMapper; + + + + @Value("${wordUrl}") + private String wordUrl; + + @Resource + private ManageRecordCheckMapper manageRecordCheckMapper; + + @Resource + private ManageRecordIssueRecycleMapper manageRecordIssueRecycleMapper; + + @Override + public IPage<ManageDocumentIssueRecycleDto> pageManageDocumentIssueRecycle(Page page, ManageDocumentIssueRecycleDto manageDocumentIssueRecycleDto) { + return manageDocumentIssueRecycleMapper.pageManageDocumentIssueRecycle(page, QueryWrappers.queryWrappers(manageDocumentIssueRecycleDto)); + } + + @Override + public ManageDocumentIssueRecycleDto getManageDocumentIssueRecycle(Long id) { + return manageDocumentIssueRecycleMapper.getManageDocumentIssueRecycle(id); + } + + @Override + public void exportManageDocumentIssueRecycle(ManageDocumentIssueRecycleDto manageDocumentIssueRecycleDto, HttpServletResponse response)throws Exception { + List<ManageDocumentIssueRecycleDto> data = manageDocumentIssueRecycleMapper.pageManageDocumentIssueRecycle(new Page(-1, -1), QueryWrappers.queryWrappers(manageDocumentIssueRecycleDto)).getRecords(); + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding("UTF-8"); + String fileName = URLEncoder.encode("鏂囦欢鍙戞斁鍥炴敹瀵煎嚭", "UTF-8"); + response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); + try { + // 鏂板缓ExcelWriter + ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build(); + WriteSheet mainSheet = EasyExcel.writerSheet(0, "鏂囦欢鍙戞斁鍥炴敹瀵煎嚭").head(ManageDocumentIssueRecycleDto.class).build(); + excelWriter.write(data, mainSheet); + // 鍏抽棴娴� + excelWriter.finish(); + } catch (IOException e) { + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } + + @Override + public int checkManageDocumentIssueRecycle(Integer id, String documentState) { + ManageDocumentIssueRecycle manageDocumentIssueRecycle = manageDocumentIssueRecycleMapper.selectById(id); + manageDocumentIssueRecycle.setDocumentState(documentState); + /*鏂板8.4鐨勬枃浠跺鎵硅褰�*/ + ManageRecordCheck manageRecordCheck = new ManageRecordCheck(); + manageRecordCheck.setDocumentCode(manageDocumentIssueRecycle.getDocumentCode()); + manageRecordCheck.setDocumentName(manageDocumentIssueRecycle.getName()); + manageRecordCheck.setDocumentVersion(manageDocumentIssueRecycle.getVersion()); + manageRecordCheck.setCheckUser(manageDocumentIssueRecycle.getReceiveUser()); + manageRecordCheck.setCheckState(documentState); + manageRecordCheckMapper.insert(manageRecordCheck); + return manageDocumentIssueRecycleMapper.updateById(manageDocumentIssueRecycle); + } + + @Override + public int addManageDocumentIssueRecycle(ManageDocumentIssueRecycle manageDocumentIssueRecycle) { + manageDocumentIssueRecycle.setDocumentState("寰呭鏍�"); + if (ObjectUtils.isNotEmpty(manageDocumentIssueRecycle.getFile())){ + String urlString; + String pathName; + String path; + MultipartFile file = manageDocumentIssueRecycle.getFile(); + //涓婁紶鏂版枃浠� + path = wordUrl; + try { + File realpath = new File(path); + if (!realpath.exists()) { + realpath.mkdirs(); + } + pathName = UUID.randomUUID() + "_" + file.getOriginalFilename(); + urlString = realpath + "/" + pathName; + file.transferTo(new File(urlString)); + } catch (Exception e) { + e.printStackTrace(); + System.err.println("闄勪欢涓婁紶閿欒"); + return 0; + } + manageDocumentIssueRecycle.setUrl(pathName); + } + /*鏂板8.3鐨勫彂鏀句笌鍥炴敹璁板綍*/ + ManageRecordIssueRecycle manageRecordIssueRecycle = new ManageRecordIssueRecycle(); + manageRecordIssueRecycle.setDocumentCode(manageDocumentIssueRecycle.getDocumentCode()); + manageRecordIssueRecycle.setDocumentName(manageDocumentIssueRecycle.getName()); + manageRecordIssueRecycle.setDocumentVersion(manageDocumentIssueRecycle.getVersion()); + manageRecordIssueRecycle.setReceiveUser(manageDocumentIssueRecycle.getIssueUser()); + manageRecordIssueRecycle.setReceiveDate(manageDocumentIssueRecycle.getIssueDate()); + manageRecordIssueRecycleMapper.insert(manageRecordIssueRecycle); + return manageDocumentIssueRecycleMapper.insert(manageDocumentIssueRecycle); + } + + @Override + public int doManageDocumentIssueRecycle(ManageDocumentIssueRecycle manageDocumentIssueRecycle) { + ManageDocumentIssueRecycle documentIssueRecycle = manageDocumentIssueRecycleMapper.selectById(manageDocumentIssueRecycle.getId()); + //鍒よ鏄惁鏄洖鏀� + if (ObjectUtils.isNotEmpty(manageDocumentIssueRecycle.getRecycleUser())){ + /*鏂板8.3鐨勫彂鏀句笌鍥炴敹璁板綍*/ + ManageRecordIssueRecycle manageRecordIssueRecycle = manageRecordIssueRecycleMapper.selectOne(Wrappers.<ManageRecordIssueRecycle>lambdaQuery() + .eq(ManageRecordIssueRecycle::getDocumentCode, documentIssueRecycle.getDocumentCode()) + .eq(ManageRecordIssueRecycle::getDocumentName, documentIssueRecycle.getName()) + .eq(ManageRecordIssueRecycle::getDocumentVersion, documentIssueRecycle.getVersion()) + .eq(ManageRecordIssueRecycle::getReceiveUser, documentIssueRecycle.getIssueUser()) + .eq(ManageRecordIssueRecycle::getReceiveDate, documentIssueRecycle.getIssueDate())); + manageRecordIssueRecycle.setSignedUser(manageDocumentIssueRecycle.getRecycleUser()); + manageRecordIssueRecycle.setSignedDate(manageDocumentIssueRecycle.getRecycleDate()); + manageRecordIssueRecycleMapper.updateById(manageRecordIssueRecycle); + } + if (ObjectUtils.isNotEmpty(manageDocumentIssueRecycle.getFile())) { + if (ObjectUtils.isNotEmpty(documentIssueRecycle.getUrl())) { + // 鍒犻櫎鏃ф枃浠� + File oldFile = new File(wordUrl + "/" + documentIssueRecycle.getUrl()); + oldFile.delete(); + } + //涓婁紶鏂版枃浠� + String urlString; + String pathName; + String path; + MultipartFile file = manageDocumentIssueRecycle.getFile(); + path = wordUrl; + try { + File realpath = new File(path); + if (!realpath.exists()) { + realpath.mkdirs(); + } + pathName = UUID.randomUUID() + "_" + file.getOriginalFilename(); + urlString = realpath + "/" + pathName; + file.transferTo(new File(urlString)); + manageDocumentIssueRecycle.setUrl(pathName); + } catch (Exception e) { + e.printStackTrace(); + System.err.println("闄勪欢涓婁紶閿欒"); + return 0; + } + } + return manageDocumentIssueRecycleMapper.updateById(manageDocumentIssueRecycle); + } + + @Override + public int delManageDocumentIssueRecycle(Long id) { + ManageDocumentIssueRecycle documentIssueRecycle = manageDocumentIssueRecycleMapper.selectById(id); + manageRecordIssueRecycleMapper.delete(Wrappers.<ManageRecordIssueRecycle>lambdaQuery() + .eq(ManageRecordIssueRecycle::getDocumentCode, documentIssueRecycle.getDocumentCode()) + .eq(ManageRecordIssueRecycle::getDocumentName, documentIssueRecycle.getName()) + .eq(ManageRecordIssueRecycle::getDocumentVersion, documentIssueRecycle.getVersion()) + .eq(ManageRecordIssueRecycle::getReceiveUser, documentIssueRecycle.getIssueUser()) + .eq(ManageRecordIssueRecycle::getReceiveDate, documentIssueRecycle.getIssueDate())); + return manageDocumentIssueRecycleMapper.deleteById(id); + } +} -- Gitblit v1.9.3