From 7fa07718de92093c6315c5cb37bbc8dd7cdafa3c Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 25 十二月 2024 10:28:43 +0800
Subject: [PATCH] 考核积分修改、点位导出修改

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java |   56 ++++++++++++++++++++++++++------------------------------
 1 files changed, 26 insertions(+), 30 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
index 77e4435..c20dd0c 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
@@ -201,7 +201,11 @@
         Assert.notNull(entity, "璁板綍涓嶅瓨鍦�");
         YwPointVO vo = YwPointVO.getVoByEntity(entity, null);
         if (Objects.nonNull(entity.getDeptId())) {
-            vo.setDeptIds(sysDeptMapper.selectParents(entity.getDeptId()));
+            //TODO:鏂规硶寰呭畬鍠� 绠�鍗曞鐞�
+            List<Long> deptIds = sysDeptMapper.selectParents(entity.getDeptId());
+            deptIds.remove(deptIds.size()-1);
+            deptIds.add(entity.getDeptId());
+            vo.setDeptIds(deptIds);
         }
         return Result.ok().data(vo);
     }
@@ -436,40 +440,32 @@
         }
         //鏍规嵁label_value鍜宺ef_id鍒ゆ柇鏄惁鏄悓涓�鏁版嵁
         for (PointExport pointExport : dataList) {
-            //寰楀埌excel涓姩鎬佸垪鍚嶄綔涓簁ey鐨刴ap
-            Map<String, DynamicColumnVO> exportMap = pointExport.getDynamicData().stream().collect(Collectors.toMap(DynamicColumnVO::getLabelValue, Function.identity()));
-            //鏌ュ嚭鏁版嵁搴撲腑杩欎釜鐐逛綅鐨勫姩鎬佸垪
-            List<DynamicColumnVO> dynamicColumnVOS = dynamicVOMap.get(pointExport.getId());
-            if (!CollectionUtils.isEmpty(dynamicColumnVOS)) {
-                //閬嶅巻鏁版嵁搴撲腑杩欎釜鐐逛綅鐨勫姩鎬佸垪锛屽苟鏍规嵁鍔ㄦ�佸垪鍚嶆壘鍑篹xcel涓殑鍊�
-                for (DynamicColumnVO vo : dynamicColumnVOS) {
-                    DynamicColumnVO dynamicColumnVO = exportMap.get(vo.getLabelValue());
-                    //瀛樺湪璇存槑excel鏈夎繖涓暟鎹紝灏嗘暟鎹簱杩欎釜鏁版嵁鐨勫�兼敼涓篹xcel鐨勫��
-                    if (dynamicColumnVO.getColumnValue() != null) {
-                        DynamicColumnValue entity = new DynamicColumnValue();
-                        entity.setColumnValue(dynamicColumnVO.getColumnValue());
-                        entity.setDynamicColumnId(vo.getId());
-                        entity.setRefId(vo.getRefId());
-                        entity.setId(vo.getValueId());
-                        updateList.add(entity);
+            //鏁版嵁搴撲腑鐨勫姩鎬佸垪
+            List<DynamicColumnVO> dynamicColumnVOS = dynamicVOMap.getOrDefault(pointExport.getId(), Collections.emptyList());
+            Map<String, DynamicColumnVO> databaseMap = dynamicColumnVOS.stream()
+                    .collect(Collectors.toMap(DynamicColumnVO::getLabelValue, Function.identity()));
 
+            for (DynamicColumnVO excelVo : pointExport.getDynamicData()) {
+                String labelValue = excelVo.getLabelValue();
+                DynamicColumnVO databaseVo = databaseMap.get(labelValue);
+                //濡傛灉excel鍊间笉涓虹┖鍒ゅ畾涓烘柊澧炴垨淇敼
+                if (excelVo.getColumnValue() != null) {
+                    Integer dynamicId = dictionary.get(labelValue);
+                    DynamicColumnValue entity = new DynamicColumnValue();
+                    entity.setColumnValue(excelVo.getColumnValue());
+                    entity.setRefId(pointExport.getId());
+                    //鏁版嵁搴撴壘涓嶅埌涓烘柊澧炲惁鍒欎负淇敼
+                    if (databaseVo != null) {
+                        entity.setDynamicColumnId(databaseVo.getId());
+                        entity.setId(databaseVo.getValueId());
+                        updateList.add(entity);
                     } else {
-                        //涓嶅瓨鍦ㄥ垯鍙栨秷鏍囩锛屽垹闄�
-                        deleteList.add(vo.getValueId());
-                    }
-                }
-            } else {
-                //鏁版嵁搴撻噷鏌ヤ笉鍒癳xcel閲岄潰鐨勮繖涓偣浣嶅姩鎬佸垪锛屽叏涓烘柊澧�
-                List<DynamicColumnVO> dynamicData = pointExport.getDynamicData();
-                for (DynamicColumnVO excelData : dynamicData) {
-                    if (excelData.getColumnValue() != null) {
-                        Integer dynamicId = dictionary.get(excelData.getLabelValue());
-                        DynamicColumnValue entity = new DynamicColumnValue();
-                        entity.setColumnValue(excelData.getColumnValue());
                         entity.setDynamicColumnId(dynamicId);
-                        entity.setRefId(pointExport.getId());
                         insertList.add(entity);
                     }
+                } else if (databaseVo != null) {
+                    //excel閲屼负绌轰絾鏄暟鎹簱瀛樺湪 鍒犻櫎
+                    deleteList.add(databaseVo.getValueId());
                 }
             }
         }

--
Gitblit v1.8.0