From f8c024b1c1de318a4de485e048d1044cd6dcaa53 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期六, 24 十月 2026 21:05:42 +0800
Subject: [PATCH] feat(search-new):  1.标准查新模块                    2.印章使用记录

---
 cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessMethodSearchNewServiceImpl.java |  317 ++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 266 insertions(+), 51 deletions(-)

diff --git a/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessMethodSearchNewServiceImpl.java b/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessMethodSearchNewServiceImpl.java
index c7f13bb..a167b12 100644
--- a/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessMethodSearchNewServiceImpl.java
+++ b/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessMethodSearchNewServiceImpl.java
@@ -20,10 +20,13 @@
 import com.ruoyi.process.dto.ProcessMethodSearchNewBackupsDto;
 import com.ruoyi.process.mapper.ProcessMethodSearchNewArchivedMapper;
 import com.ruoyi.process.mapper.ProcessMethodSearchNewBackupsMapper;
+import com.ruoyi.process.mapper.ProcessMethodSearchNewFileSeqMapper;
 import com.ruoyi.process.mapper.ProcessMethodSearchNewMapper;
+import com.ruoyi.process.mapper.ProcessMethodSearchNewHistoryMapper;
 import com.ruoyi.process.pojo.ProcessMethodSearchNew;
 import com.ruoyi.process.pojo.ProcessMethodSearchNewArchived;
 import com.ruoyi.process.pojo.ProcessMethodSearchNewBackups;
+import com.ruoyi.process.pojo.ProcessMethodSearchNewHistory;
 import com.ruoyi.process.service.ProcessMethodSearchNewBackupsService;
 import com.ruoyi.process.service.ProcessMethodSearchNewService;
 import org.springframework.beans.BeanUtils;
@@ -40,6 +43,8 @@
 import java.io.OutputStream;
 import java.net.URLEncoder;
 import java.time.LocalDateTime;
+import java.time.LocalDate;
+import java.time.ZoneId;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
 import java.util.List;
@@ -55,12 +60,19 @@
 @Transactional(rollbackFor = Exception.class)
 public class ProcessMethodSearchNewServiceImpl extends ServiceImpl<ProcessMethodSearchNewMapper, ProcessMethodSearchNew> implements ProcessMethodSearchNewService {
 
+    private static final ZoneId CHINA_ZONE = ZoneId.of("Asia/Shanghai");
+    private static final DateTimeFormatter FILE_DATE = DateTimeFormatter.BASIC_ISO_DATE;
+
     @Resource
     private ProcessMethodSearchNewArchivedMapper processMethodSearchNewArchivedMapper;
     @Resource
     private ProcessMethodSearchNewBackupsService processMethodSearchNewBackupsService;
     @Resource
     private ProcessMethodSearchNewBackupsMapper processMethodSearchNewBackupsMapper;
+    @Resource
+    private ProcessMethodSearchNewHistoryMapper processMethodSearchNewHistoryMapper;
+    @Resource
+    private ProcessMethodSearchNewFileSeqMapper processMethodSearchNewFileSeqMapper;
 
     /**
      * 鏂板鏍囧噯鏌ユ柊
@@ -71,15 +83,26 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public boolean addMethodSearchNew(List<ProcessMethodSearchNew> processMethodSearchNewList) {
+        if (processMethodSearchNewList == null || processMethodSearchNewList.isEmpty()) {
+            throw new ErrorException("璇峰~鍐欐爣鍑嗘煡鏂拌褰�");
+        }
+        Integer userId = SecurityUtils.getUserId().intValue();
         for (ProcessMethodSearchNew processMethodSearchNew : processMethodSearchNewList) {
+            validateSearchRecord(processMethodSearchNew);
             processMethodSearchNew.setIsNewStandard(1);
             processMethodSearchNew.setIsAutoArchived(0);
             processMethodSearchNew.setStandardMethodId(null);
             processMethodSearchNew.setCurrentAutoStandardId(null);
             processMethodSearchNew.setAutoArchivedTime(null);
+            processMethodSearchNew.setSearchNewUserId(userId);
+            processMethodSearchNew.setRemark(toLegacyRemark(processMethodSearchNew.getSearchNewResult()));
+            if (!Integer.valueOf(3).equals(processMethodSearchNew.getSearchNewSource())) {
+                processMethodSearchNew.setSearchNewWebsite(null);
+            }
+            this.save(processMethodSearchNew);
+            insertHistory(processMethodSearchNew, userId);
+            handleSearchResult(processMethodSearchNew);
         }
-        // 鏂板
-        this.saveBatch(processMethodSearchNewList);
         return true;
     }
 
@@ -90,19 +113,56 @@
             throw new ErrorException("鏍囧噯鏌ユ柊璁板綍涓嶅瓨鍦�");
         }
         if (Integer.valueOf(1).equals(old.getIsAutoArchived())) {
-            throw new ErrorException("鑷姩褰掓。璁板綍涓嶅厑璁镐慨鏀�");
+            throw new ErrorException("宸插綊妗f爣鍑嗕笉鑳界户缁煡鏂�");
         }
-        return update(Wrappers.<ProcessMethodSearchNew>lambdaUpdate()
+        processMethodSearchNew.setMethodName(old.getMethodName());
+        processMethodSearchNew.setStandardNo(old.getStandardNo());
+        processMethodSearchNew.setFileNo(old.getFileNo());
+        processMethodSearchNew.setStandardMethodId(old.getStandardMethodId());
+        validateSearchRecord(processMethodSearchNew);
+        Integer userId = SecurityUtils.getUserId().intValue();
+        boolean updated = update(Wrappers.<ProcessMethodSearchNew>lambdaUpdate()
                 .eq(ProcessMethodSearchNew::getMethodSearchNewId, old.getMethodSearchNewId())
-                .set(ProcessMethodSearchNew::getVerifyId, processMethodSearchNew.getVerifyId())
-                .set(ProcessMethodSearchNew::getMethodName, processMethodSearchNew.getMethodName())
-                .set(ProcessMethodSearchNew::getStandardNo, processMethodSearchNew.getStandardNo())
-                .set(ProcessMethodSearchNew::getFileNo, processMethodSearchNew.getFileNo())
                 .set(ProcessMethodSearchNew::getNewMethodName, processMethodSearchNew.getNewMethodName())
                 .set(ProcessMethodSearchNew::getNewStandardNo, processMethodSearchNew.getNewStandardNo())
                 .set(ProcessMethodSearchNew::getSearchNewSource, processMethodSearchNew.getSearchNewSource())
-                .set(ProcessMethodSearchNew::getRemark, processMethodSearchNew.getRemark())
+                .set(ProcessMethodSearchNew::getSearchNewTime, processMethodSearchNew.getSearchNewTime())
+                .set(ProcessMethodSearchNew::getNextSearchDatePersisted,
+                        processMethodSearchNew.getNextSearchDatePersisted())
+                .set(ProcessMethodSearchNew::getSearchNewResult, processMethodSearchNew.getSearchNewResult())
+                .set(ProcessMethodSearchNew::getSearchNewUserId, userId)
+                .set(ProcessMethodSearchNew::getSearchNewWebsite,
+                        Integer.valueOf(3).equals(processMethodSearchNew.getSearchNewSource())
+                                ? processMethodSearchNew.getSearchNewWebsite() : null)
+                .set(ProcessMethodSearchNew::getRemark, toLegacyRemark(processMethodSearchNew.getSearchNewResult()))
                 .set(ProcessMethodSearchNew::getIsNewStandard, 1));
+        if (updated) {
+            ProcessMethodSearchNew latest = getById(old.getMethodSearchNewId());
+            insertHistory(latest, userId);
+            handleSearchResult(latest);
+        }
+        return updated;
+    }
+
+    @Override
+    public boolean delMethodSearchNew(Integer methodSearchNewId) {
+        if (methodSearchNewId == null) {
+            throw new ErrorException("缂哄皯鏍囧噯鏌ユ柊璁板綍id");
+        }
+        ProcessMethodSearchNew old = getById(methodSearchNewId);
+        if (old == null) {
+            throw new ErrorException("鏍囧噯鏌ユ柊璁板綍涓嶅瓨鍦�");
+        }
+        if (Integer.valueOf(1).equals(old.getIsAutoArchived())) {
+            throw new ErrorException("宸插綊妗f爣鍑嗕笉鑳藉垹闄�");
+        }
+        Long historyCount = processMethodSearchNewHistoryMapper.selectCount(
+                Wrappers.<ProcessMethodSearchNewHistory>lambdaQuery()
+                        .eq(ProcessMethodSearchNewHistory::getMethodSearchNewId, methodSearchNewId));
+        if (historyCount != null && historyCount > 0) {
+            throw new ErrorException("璇ユ爣鍑嗗凡鏈夋煡鏂拌褰曪紝涓嶅厑璁稿垹闄�");
+        }
+        return removeById(methodSearchNewId);
     }
 
     /**
@@ -117,13 +177,152 @@
         String endDate = processMethodSearchNew.getEndDate();
         processMethodSearchNew.setBeginDate(null);
         processMethodSearchNew.setEndDate(null);
-        return baseMapper.pageMethodSearchNew(page, QueryWrappers.queryWrappers(processMethodSearchNew), beginDate, endDate);
+        IPage<ProcessMethodSearchNew> result = baseMapper.pageMethodSearchNew(
+                page, QueryWrappers.queryWrappers(processMethodSearchNew), beginDate, endDate);
+        LocalDate today = LocalDate.now(CHINA_ZONE);
+        result.getRecords().forEach(item -> {
+            LocalDate nextDate = item.getNextSearchDate();
+            if (nextDate == null) {
+                item.setSearchDueStatus("寰呴娆℃煡鏂�");
+            } else if (today.isAfter(nextDate)) {
+                item.setSearchDueStatus("宸查�炬湡");
+            } else if (today.isEqual(nextDate)) {
+                item.setSearchDueStatus("浠婃棩鍒版湡");
+            } else {
+                item.setSearchDueStatus("鏈埌鏈�");
+            }
+        });
+        return result;
     }
 
     @Override
-    public IPage<ProcessMethodSearchNew> pageAutoArchived(Page page, ProcessMethodSearchNew processMethodSearchNew) {
-        processMethodSearchNew.setIsAutoArchived(null);
-        return baseMapper.pageAutoArchived(page, QueryWrappers.queryWrappers(processMethodSearchNew));
+    public List<ProcessMethodSearchNewHistory> listSearchNewHistory(Integer methodSearchNewId) {
+        if (methodSearchNewId == null) {
+            throw new ErrorException("缂哄皯鏍囧噯鏌ユ柊璁板綍id");
+        }
+        if (getById(methodSearchNewId) == null) {
+            throw new ErrorException("鏍囧噯鏌ユ柊璁板綍涓嶅瓨鍦�");
+        }
+        return processMethodSearchNewHistoryMapper.selectByMainId(methodSearchNewId);
+    }
+
+    @Override
+    public IPage<ProcessMethodSearchNewHistory> pageSearchNewHistory(Page<ProcessMethodSearchNewHistory> page,
+                                                                      String standardNo) {
+        return processMethodSearchNewHistoryMapper.pageAll(page,
+                StringUtils.isBlank(standardNo) ? null : standardNo.trim());
+    }
+
+    private void validateSearchRecord(ProcessMethodSearchNew row) {
+        if (row == null) {
+            throw new ErrorException("璇峰~鍐欐爣鍑嗘煡鏂拌褰�");
+        }
+        if (StringUtils.isBlank(row.getMethodName()) || StringUtils.isBlank(row.getStandardNo())
+                || StringUtils.isBlank(row.getFileNo())) {
+            throw new ErrorException("璇峰~鍐欐爣鍑嗗悕绉般�佹爣鍑嗗彿鍜屾枃浠剁紪鍙�");
+        }
+        if (row.getSearchNewTime() == null) {
+            throw new ErrorException("璇烽�夋嫨鏌ユ柊鏃ユ湡");
+        }
+        row.setSearchNewTime(row.getSearchNewTime().toLocalDate().atStartOfDay());
+        if (!"鐜拌鏈夋晥".equals(row.getSearchNewResult())
+                && !"宸蹭慨璁�/鏈夋柊鐗堟湰鏇夸唬".equals(row.getSearchNewResult())
+                && !"搴熸锛堟棤鏇夸唬锛�".equals(row.getSearchNewResult())
+                && !"鍗冲皢瀹炴柦".equals(row.getSearchNewResult())) {
+            throw new ErrorException("璇烽�夋嫨鏈夋晥鐨勬煡鏂扮粨鏋�");
+        }
+        Integer source = row.getSearchNewSource();
+        if (source == null || source < 3 || source > 8) {
+            throw new ErrorException("璇烽�夋嫨鏈夋晥鐨勬煡鏂拌褰曟潵婧�");
+        }
+        if ("宸蹭慨璁�/鏈夋柊鐗堟湰鏇夸唬".equals(row.getSearchNewResult())
+                && (StringUtils.isBlank(row.getNewMethodName()) || StringUtils.isBlank(row.getNewStandardNo()))) {
+            throw new ErrorException("鏌ユ柊缁撴灉涓哄凡淇/鏈夋柊鐗堟湰鏇夸唬鏃讹紝璇峰~鍐欐柊鏍囧噯鍚嶇О鍜屾柊鏍囧噯鍙�");
+        }
+        if (!"宸蹭慨璁�/鏈夋柊鐗堟湰鏇夸唬".equals(row.getSearchNewResult())) {
+            row.setNewMethodName(null);
+            row.setNewStandardNo(null);
+        }
+        if (!Integer.valueOf(3).equals(source)) {
+            row.setSearchNewWebsite(null);
+        }
+        if ("宸蹭慨璁�/鏈夋柊鐗堟湰鏇夸唬".equals(row.getSearchNewResult())
+                || "搴熸锛堟棤鏇夸唬锛�".equals(row.getSearchNewResult())) {
+            row.setNextSearchDate(null);
+        } else if (row.getNextSearchDate() == null) {
+            row.setNextSearchDate(row.getSearchNewTime().toLocalDate().plusMonths(3));
+        }
+        row.setNextSearchDatePersisted(row.getNextSearchDate());
+    }
+
+    private Integer toLegacyRemark(String result) {
+        if ("搴熸锛堟棤鏇夸唬锛�".equals(result)) return 0;
+        if ("宸蹭慨璁�/鏈夋柊鐗堟湰鏇夸唬".equals(result)) return 1;
+        return null;
+    }
+
+    private void insertHistory(ProcessMethodSearchNew row, Integer userId) {
+        ProcessMethodSearchNewHistory history = new ProcessMethodSearchNewHistory();
+        history.setMethodSearchNewId(row.getMethodSearchNewId());
+        history.setStandardMethodId(row.getStandardMethodId());
+        history.setMethodName(row.getMethodName());
+        history.setStandardNo(row.getStandardNo());
+        history.setFileNo(row.getFileNo());
+        history.setSearchNewDate(row.getSearchNewTime().toLocalDate());
+        history.setNextSearchDate(row.getNextSearchDatePersisted());
+        history.setSearchNewResult(row.getSearchNewResult());
+        history.setSearchNewSource(row.getSearchNewSource());
+        history.setSearchNewWebsite(row.getSearchNewWebsite());
+        history.setNewMethodName(row.getNewMethodName());
+        history.setNewStandardNo(row.getNewStandardNo());
+        history.setSearchNewUserId(userId);
+        history.setCreateTime(LocalDateTime.now(CHINA_ZONE));
+        processMethodSearchNewHistoryMapper.insert(history);
+    }
+
+    /** 鏃ф爣鍑嗗彧淇濈暀鍦ㄦ煡鏂拌褰曪紱鏈夋柊鐗堟椂鍒涘缓鏂扮殑涓诲垪琛ㄨ褰曘�� */
+    private void handleSearchResult(ProcessMethodSearchNew oldStandard) {
+        String result = oldStandard.getSearchNewResult();
+        if (!"搴熸锛堟棤鏇夸唬锛�".equals(result) && !"宸蹭慨璁�/鏈夋柊鐗堟湰鏇夸唬".equals(result)) {
+            return;
+        }
+
+        LocalDateTime now = LocalDateTime.now(CHINA_ZONE);
+        update(Wrappers.<ProcessMethodSearchNew>lambdaUpdate()
+                .eq(ProcessMethodSearchNew::getMethodSearchNewId, oldStandard.getMethodSearchNewId())
+                .set(ProcessMethodSearchNew::getIsNewStandard, 0)
+                .set(ProcessMethodSearchNew::getIsAutoArchived, 1)
+                .set(ProcessMethodSearchNew::getCurrentAutoStandardId, null)
+                .set(ProcessMethodSearchNew::getAutoArchivedTime, now));
+
+        if (!"宸蹭慨璁�/鏈夋柊鐗堟湰鏇夸唬".equals(result)) {
+            return;
+        }
+        if (count(Wrappers.<ProcessMethodSearchNew>lambdaQuery()
+                .eq(ProcessMethodSearchNew::getStandardNo, oldStandard.getNewStandardNo())
+                .eq(ProcessMethodSearchNew::getIsAutoArchived, 0)) > 0) {
+            return;
+        }
+
+        ProcessMethodSearchNew replacement = new ProcessMethodSearchNew();
+        replacement.setMethodName(oldStandard.getNewMethodName());
+        replacement.setStandardNo(oldStandard.getNewStandardNo());
+        replacement.setFileNo(nextFileNo(now.toLocalDate()));
+        replacement.setIsNewStandard(1);
+        replacement.setStandardMethodId(oldStandard.getStandardMethodId());
+        replacement.setCurrentAutoStandardId(oldStandard.getCurrentAutoStandardId());
+        replacement.setIsAutoArchived(0);
+        save(replacement);
+    }
+
+    private String nextFileNo(LocalDate date) {
+        String prefix = date.format(FILE_DATE);
+        processMethodSearchNewFileSeqMapper.insertIfAbsent(date);
+        Integer stored = processMethodSearchNewFileSeqMapper.selectForUpdate(date);
+        Integer existing = processMethodSearchNewFileSeqMapper.selectMaxExisting(prefix);
+        int next = Math.max(stored == null ? 0 : stored, existing == null ? 0 : existing) + 1;
+        processMethodSearchNewFileSeqMapper.updateValue(date, next);
+        return prefix + String.format("%03d", next);
     }
 
     /**
@@ -153,33 +352,40 @@
         for (ProcessMethodSearchNewBackups methodSearchNew : methodSearchNewBackups) {
             ProcessMethodSearchNewBackupsDto searchNewBackupsDto = new ProcessMethodSearchNewBackupsDto();
             BeanUtils.copyProperties(methodSearchNew, searchNewBackupsDto);
-            // 鏄惁鏄窡鏂版爣鍑�
-            if (methodSearchNew.getIsNewStandard().equals(1)) {
-                searchNewBackupsDto.setIsNewStandardString("鏄�");
-            } else {
-                searchNewBackupsDto.setIsNewStandardString("鍚�");
-            }
-
-            // 澶囨敞
-            if (methodSearchNew.getRemark() != null) {
-                if (methodSearchNew.getRemark().equals(1)) {
-                    searchNewBackupsDto.setRemarkString("鏇挎崲");
-                } else {
-                    searchNewBackupsDto.setRemarkString("浣滃簾");
-                }
-            }
+            searchNewBackupsDto.setSearchNewDateString(methodSearchNew.getSearchNewTime() == null
+                    ? null : methodSearchNew.getSearchNewTime().format(timeFormatter));
+            searchNewBackupsDto.setSearchNewResultString(methodSearchNew.getSearchNewResult());
             if (methodSearchNew.getSearchNewSource() != null) switch (methodSearchNew.getSearchNewSource()) {
                 case 0:
-                    searchNewBackupsDto.setStandardNet("鈭�");
+                    searchNewBackupsDto.setOther("鈭�");
+                    searchNewBackupsDto.setOtherWebsite("鏍囧噯缃戯紙鍘嗗彶鏉ユ簮锛�");
                     break;
                 case 1:
-                    searchNewBackupsDto.setInformationOffices("鈭�");
+                    searchNewBackupsDto.setOther("鈭�");
+                    searchNewBackupsDto.setOtherWebsite("濮旀墭鎯呮姤鎵�锛堝巻鍙叉潵婧愶級");
                     break;
                 case 2:
-                    searchNewBackupsDto.setStandardBookstore("鈭�");
+                    searchNewBackupsDto.setOther("鈭�");
+                    searchNewBackupsDto.setOtherWebsite("鏍囧噯涔﹀簵锛堝巻鍙叉潵婧愶級");
+                    break;
+                case 4:
+                    searchNewBackupsDto.setStandardizationAdministration("鈭�");
+                    break;
+                case 5:
+                    searchNewBackupsDto.setMarketRegulation("鈭�");
+                    break;
+                case 6:
+                    searchNewBackupsDto.setNationalStandardInfo("鈭�");
+                    break;
+                case 7:
+                    searchNewBackupsDto.setNationalStandardFullText("鈭�");
+                    break;
+                case 8:
+                    searchNewBackupsDto.setIndustryStandard("鈭�");
                     break;
                 case 3:
                     searchNewBackupsDto.setOther("鈭�");
+                    searchNewBackupsDto.setOtherWebsite(methodSearchNew.getSearchNewWebsite());
                     break;
             }
             searchNewBackupsDto.setIndex(index);
@@ -246,7 +452,7 @@
             response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
             response.setCharacterEncoding("utf-8");
             String fileName = URLEncoder.encode(
-                    "鍘熸潗鏂欐娴嬩俊鎭鍑�", "UTF-8");
+                    "鏍囧噯鏌ユ柊璁板綍", "UTF-8");
             response.setHeader("Content-disposition",
                     "attachment;filename=" + fileName + ".xlsx");
         } catch (Exception e) {
@@ -289,31 +495,39 @@
             List<ProcessMethodSearchNew> collect = searchNewDtoList.stream().map(searchNewDto -> {
                 ProcessMethodSearchNew searchNew = new ProcessMethodSearchNew();
                 BeanUtils.copyProperties(searchNewDto, searchNew);
-                searchNew.setIsNewStandard(1);
-                searchNew.setIsAutoArchived(0);
+                if (StringUtils.isNotBlank(searchNewDto.getSearchNewDateString())) {
+                    String dateText = searchNewDto.getSearchNewDateString().trim();
+                    searchNew.setSearchNewTime(LocalDate.parse(dateText.substring(0, Math.min(10, dateText.length()))).atStartOfDay());
+                }
+                searchNew.setSearchNewResult(searchNewDto.getSearchNewResultString());
+                int sourceCount = 0;
+                if (StringUtils.isNotBlank(searchNewDto.getStandardizationAdministration())) sourceCount++;
+                if (StringUtils.isNotBlank(searchNewDto.getMarketRegulation())) sourceCount++;
+                if (StringUtils.isNotBlank(searchNewDto.getNationalStandardInfo())) sourceCount++;
+                if (StringUtils.isNotBlank(searchNewDto.getNationalStandardFullText())) sourceCount++;
+                if (StringUtils.isNotBlank(searchNewDto.getIndustryStandard())) sourceCount++;
+                if (StringUtils.isNotBlank(searchNewDto.getOther())) sourceCount++;
+                if (sourceCount != 1) {
+                    throw new ErrorException("鏍囧噯鍙�" + searchNew.getStandardNo() + "蹇呴』涓斿彧鑳介�夋嫨涓�涓煡鏂版潵婧�");
+                }
                 // 鏌ユ柊璁板綍
-                if (StringUtils.isNotBlank(searchNewDto.getStandardNet())) {
-                    searchNew.setSearchNewSource(0);
-                } else if (StringUtils.isNotBlank(searchNewDto.getInformationOffices())) {
-                    searchNew.setSearchNewSource(1);
-                } else if (StringUtils.isNotBlank(searchNewDto.getStandardBookstore())) {
-                    searchNew.setSearchNewSource(2);
+                if (StringUtils.isNotBlank(searchNewDto.getStandardizationAdministration())) {
+                    searchNew.setSearchNewSource(4);
+                } else if (StringUtils.isNotBlank(searchNewDto.getMarketRegulation())) {
+                    searchNew.setSearchNewSource(5);
+                } else if (StringUtils.isNotBlank(searchNewDto.getNationalStandardInfo())) {
+                    searchNew.setSearchNewSource(6);
+                } else if (StringUtils.isNotBlank(searchNewDto.getNationalStandardFullText())) {
+                    searchNew.setSearchNewSource(7);
+                } else if (StringUtils.isNotBlank(searchNewDto.getIndustryStandard())) {
+                    searchNew.setSearchNewSource(8);
                 } else if (StringUtils.isNotBlank(searchNewDto.getOther())) {
                     searchNew.setSearchNewSource(3);
+                    searchNew.setSearchNewWebsite(searchNewDto.getOtherWebsite());
                 }
-
-                // 澶囨敞
-                if (StringUtils.isNotBlank(searchNewDto.getRemarkString())) {
-                    if (searchNewDto.getRemarkString().equals("鏇挎崲")) {
-                        searchNew.setRemark(1);
-                    } else if (searchNewDto.getRemarkString().equals("浣滃簾")) {
-                        searchNew.setRemark(0);
-                    }
-                }
-
                 return searchNew;
             }).collect(Collectors.toList());
-            this.saveBatch(collect);
+            addMethodSearchNew(collect);
 
         } catch (IOException e) {
             throw new RuntimeException(e);
@@ -342,6 +556,7 @@
         List<ProcessMethodSearchNewBackups> methodSearchNewBackups = searchNewList.stream().map(processMethodSearchNew -> {
             ProcessMethodSearchNewBackups backups = new ProcessMethodSearchNewBackups();
             BeanUtils.copyProperties(processMethodSearchNew, backups);
+            backups.setNextSearchDate(processMethodSearchNew.getNextSearchDatePersisted());
             backups.setIsNewStandard(0);
             backups.setArchivedId(archived.getArchivedId());
             return backups;

--
Gitblit v1.9.3