From da59bd81334e7b4ddeaaa401f27c5b93797fde46 Mon Sep 17 00:00:00 2001
From: zhuo <2089219845@qq.com>
Date: 星期四, 20 二月 2025 10:36:18 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev
---
cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordVerifyServiceImpl.java | 158 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 158 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..de56b41
--- /dev/null
+++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordVerifyServiceImpl.java
@@ -0,0 +1,158 @@
+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) {
+ System.out.println("琛� " + (i + 1) + " 鐨勫垪鏁颁笉鍖归厤锛岃烦杩囪琛�");
+ 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