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/ManageRecordVerifyServiceImpl.java | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 157 insertions(+), 0 deletions(-) diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordVerifyServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordVerifyServiceImpl.java new file mode 100644 index 0000000..2f18ecf --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordVerifyServiceImpl.java @@ -0,0 +1,157 @@ +package com.ruoyi.manage.service.impl; + +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.framework.exception.ErrorException; +import com.ruoyi.manage.mapper.ManageRecordTotalMapper; +import com.ruoyi.manage.mapper.ManageRecordVerifyMapper; +import com.ruoyi.manage.pojo.ManageRecordTotal; +import com.ruoyi.manage.pojo.ManageRecordVerify; +import com.ruoyi.manage.service.ManageRecordVerifyService; + +import org.apache.poi.xwpf.usermodel.XWPFDocument; +import org.apache.poi.xwpf.usermodel.XWPFTable; +import org.apache.poi.xwpf.usermodel.XWPFTableRow; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.io.InputStream; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * <p> + * 澶栨潵鏂囦欢纭璁板綍 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author + * @since 2024-11-12 10:29:44 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class ManageRecordVerifyServiceImpl extends ServiceImpl<ManageRecordVerifyMapper, ManageRecordVerify> implements ManageRecordVerifyService { + + @Resource + private ManageRecordVerifyMapper manageRecordVerifyMapper; + + @Resource + private ManageRecordTotalMapper manageRecordTotalMapper; + + @Override + public IPage<ManageRecordVerify> pageManageRecordVerify(Page page, ManageRecordVerify manageRecordVerify) { + if (ObjectUtils.isEmpty(manageRecordVerify.getManageRecordTotalId())) { + //鑾峰彇褰撳墠骞翠唤 + LocalDate currentDate = LocalDate.now(); + // 瀹氫箟鏃ユ湡鏍煎紡 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy"); + // 鏍煎紡鍖栧綋鍓嶆棩鏈� + String currentMonth = currentDate.format(formatter); + //鏌ヨ鍘嗗彶 + ManageRecordTotal manageRecordTotal = manageRecordTotalMapper.selectOne(Wrappers.<ManageRecordTotal>lambdaQuery().eq(ManageRecordTotal::getYear, currentMonth)); + manageRecordVerify.setManageRecordTotalId(manageRecordTotal.getId()); + } + return manageRecordVerifyMapper.pageManageRecordVerify(page, QueryWrappers.queryWrappers(manageRecordVerify)); + } + + @Override + public int addManageRecordVerify(ManageRecordVerify manageRecordVerify) { + //鑾峰彇褰撳墠骞翠唤 + LocalDate currentDate = LocalDate.now(); + // 瀹氫箟鏃ユ湡鏍煎紡 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy"); + // 鏍煎紡鍖栧綋鍓嶆棩鏈� + String currentMonth = currentDate.format(formatter); + ManageRecordTotal manageRecordTotal = manageRecordTotalMapper.selectOne(Wrappers.<ManageRecordTotal>lambdaQuery().eq(ManageRecordTotal::getYear, currentMonth)); + manageRecordVerify.setManageRecordTotalId(manageRecordTotal.getId()); + manageRecordVerifyMapper.insert(manageRecordVerify); + manageRecordTotal.setTotalNum(1 + manageRecordTotal.getTotalNum()); + return manageRecordTotalMapper.updateById(manageRecordTotal); + } + + @Override + public int delManageRecordVerify(Integer id) { + ManageRecordVerify manageRecordVerify = manageRecordVerifyMapper.selectById(id); + manageRecordVerifyMapper.deleteById(id); + ManageRecordTotal manageRecordTotal = manageRecordTotalMapper.selectById(manageRecordVerify.getManageRecordTotalId()); + manageRecordTotal.setTotalNum(manageRecordTotal.getTotalNum() - 1); + return manageRecordTotalMapper.updateById(manageRecordTotal); + } + + @Override + public int exportManageRecordVerify(MultipartFile file) { + List<ManageRecordVerify> manageRecordVerifyList = new ArrayList<>(); + DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + //鑾峰彇褰撳墠骞翠唤 + LocalDate currentDate = LocalDate.now(); + // 瀹氫箟鏃ユ湡鏍煎紡 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy"); + // 鏍煎紡鍖栧綋鍓嶆棩鏈� + String currentMonth = currentDate.format(formatter); + ManageRecordTotal manageRecordTotal = manageRecordTotalMapper.selectOne(Wrappers.<ManageRecordTotal>lambdaQuery().eq(ManageRecordTotal::getYear, currentMonth)); + try { + InputStream inputStream = file.getInputStream(); + XWPFDocument document = new XWPFDocument(inputStream); + List<XWPFTable> tables = document.getTables(); + if (tables.isEmpty()) { + throw new ErrorException("鏂囨。涓病鏈夎〃鏍�"); + } + + for (XWPFTable table : tables) { + List<XWPFTableRow> rows = table.getRows(); + if (rows.size() <= 1) { + throw new ErrorException("琛ㄦ牸娌℃湁鏁版嵁琛�"); + } + for (int i = 1; i < rows.size(); i++) { // 浠庣浜岃寮�濮嬶紝璺宠繃琛ㄥご + XWPFTableRow row = rows.get(i); + if (row.getTableCells().size() != 8) { + continue; + } + if (ObjectUtils.isNotEmpty(row.getCell(1).getText())) { + ManageRecordVerify manageRecordVerify = new ManageRecordVerify(); + manageRecordVerify.setDocumentName(row.getCell(1).getText()); + manageRecordVerify.setDocumentCode(row.getCell(2).getText()); + manageRecordVerify.setStandardName(row.getCell(3).getText()); + manageRecordVerify.setStandardCode(row.getCell(4).getText()); + try { + manageRecordVerify.setEffectiveDate(LocalDate.parse(row.getCell(5).getText(), dateTimeFormatter)); + } catch (Exception e) { + manageRecordVerify.setEffectiveDate(null); + } + try { + manageRecordVerify.setCancelDate(LocalDate.parse(row.getCell(6).getText(), dateTimeFormatter)); + } catch (Exception e) { + manageRecordVerify.setCancelDate(null); + } + manageRecordVerify.setNote(row.getCell(7).getText()); + manageRecordVerify.setManageRecordTotalId(manageRecordTotal.getId()); + if (manageRecordVerifyMapper.selectCount(Wrappers.<ManageRecordVerify>lambdaQuery() + .eq(ManageRecordVerify::getDocumentCode, manageRecordVerify.getDocumentCode()) + .eq(ManageRecordVerify::getDocumentName, manageRecordVerify.getDocumentName()) + .eq(ManageRecordVerify::getStandardName, manageRecordVerify.getStandardName()) + .eq(ManageRecordVerify::getStandardCode, manageRecordVerify.getStandardCode()) + .eq(ManageRecordVerify::getManageRecordTotalId, manageRecordVerify.getManageRecordTotalId())) <= 0) { + manageRecordVerifyList.add(manageRecordVerify); + } + } + } + } + saveBatch(manageRecordVerifyList); + } catch (IOException e) { + e.printStackTrace(); + } + return 0; + } +} -- Gitblit v1.9.3