From 52a0bf7637b725f0b6bf18a03962b0636f7074fb Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 22 十二月 2023 18:14:40 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java |   87 +++++++++++++++++++++----------------------
 1 files changed, 43 insertions(+), 44 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
index 15fb59d..53af4ce 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java
@@ -94,63 +94,59 @@
      * @return 缁撴灉
      */
     @Override
-    public int insertPatArchive(PatArchive patArchive) {
+    public Integer insertPatArchive(PatArchive patArchive) {
         patArchive.setCreateTime(DateUtils.getNowDate());
         List<PatArchive> patArchives = new ArrayList<>();
         patArchives.add(patArchive);
-        return patArchiveMapper.insertPatArchive(patArchives);
+        patArchiveMapper.insertPatArchive(patArchives);
+        if (CollectionUtils.isNotEmpty(patArchives)) {
+            patArchives.get(0).getPatid();
+            log.info("鎮h�卛d涓�: {}", patArchives.get(0).getPatid());
+            return patArchives.get(0).getPatid().intValue();
+        }
+        return null;
     }
 
     /**
-     * 淇敼鎮h�呮。妗�
+     * 鏂板鎴栦慨鏀规偅鑰呮。淇℃伅
      *
-     * @param patArchive 鎮h�呮。妗�
+     * @param patArchiveVO 鏂板鎴栦慨鏀规偅鑰呮。淇℃伅
      * @return 缁撴灉
      */
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public Boolean updatePatArchive(PatArchive patArchive) {
-        patArchive.setUpdateTime(DateUtils.getNowDate());
+    public Boolean saveOrUpdatePatInfo(PatArchiveVO patArchiveVO) {
+        //閫氳繃isoperation鏉ュ垽鏂槸鍚︽柊澧�
+        PatArchive patArchive = DtoConversionUtils.sourceToTarget(patArchiveVO, PatArchive.class);
+        if (patArchiveVO.getIsoperation() != null && patArchiveVO.getIsoperation() == 1) {
+            //鏂板
+            List<PatArchive> patArchives = new ArrayList<>();
+            patArchive.setUpdateTime(DateUtils.getNowDate());
+            patArchives.add(patArchive);
+            patArchiveMapper.insertPatArchive(patArchives);
+        } else if (patArchiveVO.getIsoperation() != null && patArchiveVO.getIsoperation() == 2) {
+            //淇敼
+            patArchiveMapper.updatePatArchive(patArchive);
+        }
 
-        for (String tagName : patArchive.getTagList()) {
-            BaseTag baseTag = new BaseTag();
-            baseTag.setTagname(tagName);
-            List<BaseTag> baseTags = baseTagMapper.selectBaseTagList(baseTag);
-
-            if (CollectionUtils.isEmpty(baseTags)) {
-                baseTag = new BaseTag();
-                baseTag.setTagcategoryid(1L);
-                baseTag.setTagname(tagName);
-                baseTag.setOrgid(null);
-                baseTag.setDelFlag("0");
-                baseTag.setCreateBy(null);
-                baseTag.setCreateTime(new Date());
-                baseTag.setCreateBy(null);
-                baseTag.setCreateTime(new Date());
-                baseTagMapper.insertBaseTag(baseTag);
-                //鐒跺悗鍐嶅線pat_archivetag琛ㄤ腑鏂板
-            } else {
-                //濡傛灉鍦╞asetag涓瓨鍦�,鍒欐牴鎹畉agid鍜宲atid鍘籶at_archivetag琛ㄤ腑鏌ヨ鏄惁瀛樺湪
-                baseTag = baseTags.get(0);
-                PatArchivetag patArchivetag = new PatArchivetag();
-                patArchivetag.setPatid(patArchive.getPatid());
-                patArchivetag.setTagid(baseTag.getTagid());
-                List<PatArchivetag> patArchivetags = patArchivetagMapper.selectPatArchivetagAndBaseTagList(patArchivetag);
-                if (CollectionUtils.isNotEmpty(patArchivetags)) {
-                    //濡傛灉瀛樺湪锛宑ontinue;
-                    continue;
-                } else {
-                    //濡傛灉涓嶅瓨鍦紝鍒欏垯pat_archivetag涓柊澧�
-                    // 鏂板鎮h�呮。妗堟爣绛�
+        if (CollectionUtils.isNotEmpty(patArchiveVO.getTagList())) {
+            //澶勭悊鏍囩锛堟柊澧炪�佸垹闄わ級
+            for (PatArchivetag patArchivetag : patArchiveVO.getTagList()) {
+                if (patArchivetag.getIsoperation() != null && patArchivetag.getIsoperation() == 1) {
+                    //鏂板
+                    patArchivetag.setUpdateBy(null);
+                    patArchivetag.setCreateTime(new Date());
+                    patArchivetag.setPatid(patArchive.getPatid());
+                    patArchivetagMapper.insertPatArchivetag(patArchivetag);
+                } else if (patArchivetag.getIsoperation() != null && patArchivetag.getIsoperation() == 3) {
+                    patArchivetag.setDelFlag("1");
+                    //鍒犻櫎
+                    log.info("鏍囩鐨刬d涓猴細{}", patArchivetag.getTagid());
+                    patArchivetagMapper.deletePatArchivetagById(patArchivetag);
                 }
             }
-            PatArchivetag patArchivetag = DtoConversionUtils.sourceToTarget(baseTag, PatArchivetag.class);
-            patArchivetag.setUpdateBy(null);
-            patArchivetag.setCreateTime(new Date());
-            patArchivetag.setPatid(patArchive.getPatid());
-            patArchivetagMapper.insertPatArchivetag(patArchivetag);
+
         }
-        patArchiveMapper.updatePatArchive(patArchive);
         return true;
     }
 
@@ -486,7 +482,7 @@
         //瀵规暟鎹繘琛屽皝瑁�
         for (List<PatArchive> list : listMap.values()) {
             PatArchive patArchive1 = new PatArchive();
-            Set<String> stringList = new HashSet<>();
+            Set<PatArchivetag> stringList = new HashSet<>();
             for (int i = 0; i < list.size(); i++) {
                 if (i == 0) {
                     patArchive1 = DtoConversionUtils.sourceToTarget(list.get(0), PatArchive.class);
@@ -494,7 +490,10 @@
                     patArchive1.setTag("");
                 }
                 //灏嗘煡鍑虹殑tag锛屾斁鍒皃atArchive1閲岀殑TagList涓�
-                stringList.add(list.get(i).getTag());
+                PatArchivetag patArchivetag = new PatArchivetag();
+                patArchivetag.setTagname(list.get(i).getTag());
+                patArchivetag.setTagid(list.get(i).getTagid());
+                stringList.add(patArchivetag);
             }
             patArchive1.setTagList(stringList.stream().collect(Collectors.toList()));
             patArchives.add(patArchive1);

--
Gitblit v1.9.3