From fd0287dfc1d5ab5c97f258d19757cafa29f7333c Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期五, 18 十月 2024 09:45:57 +0800
Subject: [PATCH] changeStatus回收方法调整
---
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/DockingPreAttrMappingServiceImpl.java | 64 ++++++++++++++++++++++++++-----
1 files changed, 53 insertions(+), 11 deletions(-)
diff --git a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/DockingPreAttrMappingServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/DockingPreAttrMappingServiceImpl.java
index 86a2b9b..7e47dc2 100644
--- a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/DockingPreAttrMappingServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/DockingPreAttrMappingServiceImpl.java
@@ -1,9 +1,11 @@
package com.vci.ubcs.code.applyjtcodeservice.service.impl;
+import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.vci.ubcs.code.applyjtcodeservice.vo.GroupAttrPoolMappingVO;
import com.vci.ubcs.code.entity.CodeClassify;
import com.vci.ubcs.code.feign.ICodeClassifyClient;
import com.vci.ubcs.code.applyjtcodeservice.entity.*;
@@ -18,16 +20,16 @@
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import com.vci.ubcs.code.applyjtcodeservice.vo.DockingPreAttrMappingVO;
import com.vci.ubcs.code.applyjtcodeservice.vo.DockingPreAttrRangeVO;
+import lombok.extern.slf4j.Slf4j;
import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.core.tool.utils.Func;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.stream.Collectors;
/***
@@ -36,6 +38,7 @@
* @date 2023-05-22
*/
@Service
+@Slf4j
public class DockingPreAttrMappingServiceImpl extends ServiceImpl<DockingPreAttrMappingMapper, DockingPreAttrMapping> implements IDockingPreAttrMappingService {
/***
@@ -43,6 +46,7 @@
*/
@Autowired(required = false)
private DockingPreAttrMappingMapper dockingPreAttrMappingMapper;
+
/***
* 涓绘暟鎹垎绫绘湇鍔�
*/
@@ -60,18 +64,17 @@
*/
@Autowired(required = false)
private IDockingPreMetaAttrService dockingPreMetaAttrService;
+
/***
* 灞炴�у彇鍊艰寖鍥存湇鍔�
*/
@Autowired(required = false)
private IDockingPreAttrRangeService dockingPreAttrRangeService;
-
/***
* 闆嗗洟鍒嗙被瑙嗗浘妯″瀷鏈嶅姟
*/
@Autowired(required = false)
-
private IDockingPreViewModelService dockingPreViewModelService;
/***
@@ -92,7 +95,7 @@
VciBaseUtil.alertNotNull(sourceClassifyId,"闆嗗洟鍒嗙被涓婚敭");
//棣栧厛鑾峰彇鍒嗙被妯℃澘灞炴�э紝鐒跺悗涓庡睘鎬ч厤缃潗姣旇緝锛屼互闃茶鏈夊鍒犲睘鎬х殑鍙兘
DockingPreClassify dockingPreClassify=dockingPreClassifyService.getById(sourceClassifyId);
- List<DockingPreMetaAttr> dockingPreMetaAttrList= dockingPreMetaAttrService.selectByWrapper(Wrappers.<DockingPreMetaAttr>query().lambda().eq(DockingPreMetaAttr::getSourceClassifyId,sourceClassifyId));
+ List<DockingPreMetaAttr> dockingPreMetaAttrList = dockingPreMetaAttrService.selectByWrapper(Wrappers.<DockingPreMetaAttr>query().lambda().eq(DockingPreMetaAttr::getSourceClassifyId,sourceClassifyId));
List<DockingPreAttrMapping> dockingPreAttrMappings=this.selectByWrapper(Wrappers.<DockingPreAttrMapping>query().lambda().eq(DockingPreAttrMapping::getSourceClassifyId, sourceClassifyId).eq(DockingPreAttrMapping::getTargetClassifyId, codeClassifyId));
Map<String/**灞炴�т富閿�**/, DockingPreAttrMapping> dockingPreAttrMappingMap = dockingPreAttrMappings.stream().filter(cbo -> cbo != null).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getMetaListId(), t -> t));
List<DockingPreViewModel> dockingPreViewModelList= dockingPreViewModelService.list(Wrappers.<DockingPreViewModel>query().lambda().eq(DockingPreViewModel::getSourceClassifyId,sourceClassifyId));
@@ -103,7 +106,7 @@
String attrOid=dockingPreMetaAttr.getOid();
DockingPreAttrMapping dockingPreAttrMapping=new DockingPreAttrMapping();
if(dockingPreAttrMappingMap.containsKey(attrOid)){
- dockingPreAttrMapping= dockingPreAttrMappingMap.get(attrOid);
+ dockingPreAttrMapping = dockingPreAttrMappingMap.get(attrOid);
DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreAttrMapping);
}else{
DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreAttrMapping, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
@@ -153,7 +156,7 @@
* 1.浼犻�掕繃鏉ョ殑鏈夊彲鑳戒富鏁版嵁妯℃澘鏂板灞炴�э紝杩欐牱鐨勯渶瑕佹坊鍔狅紝涔熸湁鍙兘鍒犻櫎鐨勫睘鎬э紝杩欐牱鐨勬槧灏勯渶瑕佸垹闄�
* 涔熸湁鏇存柊鐨勮繖鏍峰垯鏇存柊
*/
- List<DockingPreAttrMapping> newDockingPreAttrMapping=new ArrayList<>();
+ List<DockingPreAttrMapping> newDockingPreAttrMapping = new ArrayList<>();
List<String>appingConfigOidList=new ArrayList<>();
List<String>attrIdList=new ArrayList<>();
List<String> attributeOidList=new ArrayList<>();
@@ -236,13 +239,13 @@
return null;
}
-
/***
* 瀵硅薄杞崲
* @param dockingPreAttrMappings
* @return
*/
- private List<DockingPreAttrMappingVO> dockingPreAttrMappingDO2VOS(Collection<DockingPreAttrMapping> dockingPreAttrMappings,boolean contain) {
+ @Override
+ public List<DockingPreAttrMappingVO> dockingPreAttrMappingDO2VOS(Collection<DockingPreAttrMapping> dockingPreAttrMappings,boolean contain) {
List<DockingPreAttrMappingVO> dockingPreAttrMappingVOList=new ArrayList<>();
dockingPreAttrMappingVOList=DockingPreAttrMappingWrapper.build().entityVOs(dockingPreAttrMappings);
if(CollectionUtils.isEmpty(dockingPreAttrMappingVOList)){
@@ -256,4 +259,43 @@
return dockingPreAttrMappingVOList;
}
+ /**
+ * 闆嗗洟灞炴�ф睜鏄犲皠鏁版嵁鍚屾瀵奸泦鍥㈠睘鎬ф槧灏勭晫闈�
+ * @param groupAttrPoolMappings
+ * @return
+ */
+ @Override
+ public R syncGroupAttrMapping(List<GroupAttrPoolMapping> groupAttrPoolMappings) {
+ log.info("寮�濮嬮泦鍥㈠睘鎬ф睜鍚屾鍒伴泦鍥㈠睘鎬ф槧灏勯厤缃〃");
+ List<String> groupAttrKeys = groupAttrPoolMappings.stream().map(GroupAttrPoolMapping::getGroupAttrKey).collect(Collectors.toList());
+ List<DockingPreAttrMapping> dockingPreAttrMappings = dockingPreAttrMappingMapper.selectList(
+ Wrappers.<DockingPreAttrMapping>query()
+ .lambda().in(DockingPreAttrMapping::getSourceAttrKey,groupAttrKeys)
+ );
+ // 灞炴�ф槧灏勯厤缃〃涓笉瀛樺湪瑕佸悓姝ョ殑闆嗗洟灞炴��
+ if(Func.isEmpty(dockingPreAttrMappings)){
+ return R.fail(String.format("瑕佸悓姝ョ殑%s灞炴�э紝鍦ㄩ泦鍥㈠睘鎬ф槧灏勮〃涓笉瀛樺湪锛�", JSON.toJSONString(groupAttrKeys)));
+ }
+ log.info(String.format("杩欎簺%s闆嗗洟灞炴�ф鍦ㄥ線闆嗗洟灞炴�ф槧灏勮〃涓悓姝ャ��",JSON.toJSONString(groupAttrPoolMappings)));
+ Map<String, GroupAttrPoolMapping> syncTargetMap = new HashMap<>();
+ // 鍑嗗瑕佷慨鏀圭殑姣斿鍙傛暟
+ groupAttrPoolMappings.stream().forEach(item->{
+ syncTargetMap.put((item.getGroupAttrKey()+item.getGroupAttrName()).toLowerCase(Locale.ROOT),item);
+ });
+ List<DockingPreAttrMapping> newGroupAttrPoolMappings = new ArrayList<>();
+ //鏌ユ壘鍒版洿鏀瑰氨鏀瑰彉鏌ヨ鍑烘潵鐨勬暟鎹繘琛屼慨鏀广��
+ dockingPreAttrMappings.stream().forEach(item->{
+ GroupAttrPoolMapping groupAttrPoolMapping = syncTargetMap.get((item.getSourceAttrKey()+item.getSourceAttrName()).toLowerCase(Locale.ROOT));
+ if(Func.isNotEmpty(groupAttrPoolMapping)){
+ DockingPreAttrMapping dockingPreAttrMapping = BeanUtil.copy(item, DockingPreAttrMapping.class);
+ dockingPreAttrMapping.setTargetAttrKey(groupAttrPoolMapping.getCodeMetaAttrKey());
+ dockingPreAttrMapping.setTargetAttrName(groupAttrPoolMapping.getCodeMetaAttrName());
+ newGroupAttrPoolMappings.add(dockingPreAttrMapping);
+ }
+ });
+ boolean resBoolean = this.saveOrUpdateBatch(newGroupAttrPoolMappings);
+ log.info("闆嗗洟灞炴�ф睜鍚屾鍒伴泦鍥㈠睘鎬ф槧灏勯厤缃〃瀹屾垚锛�");
+ return resBoolean ? R.success("闆嗗洟灞炴�ф睜鍚屾鍒伴泦鍥㈠睘鎬ф槧灏勯厤缃〃鎴愬姛锛�"):R.fail("鍚屾杩囩▼涓紝淇敼闆嗗洟灞炴�ф槧灏勮〃鏃跺け璐ワ紒");
+ }
+
}
--
Gitblit v1.9.3