From 6cc7d86db8dcef2f74bd2ded5f141c5d8bb3b56b Mon Sep 17 00:00:00 2001
From: fujunling <2984387807@qq.com>
Date: 星期四, 25 五月 2023 14:31:37 +0800
Subject: [PATCH] 删除setting文件
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreAttrMappingServiceImpl.java | 180 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 179 insertions(+), 1 deletions(-)
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreAttrMappingServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreAttrMappingServiceImpl.java
index a188fc8..2bff19f 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreAttrMappingServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingPreAttrMappingServiceImpl.java
@@ -1,9 +1,187 @@
package com.vci.ubcs.code.service.impl;
-
+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.entity.DockingPreAttrMapping;
+import com.vci.ubcs.code.entity.DockingPreAttrRange;
+import com.vci.ubcs.code.entity.DockingPreMetaAttr;
import com.vci.ubcs.code.mapper.DockingPreAttrMappingMapper;
import com.vci.ubcs.code.service.IDockingPreAttrMappingService;
+import com.vci.ubcs.code.service.IDockingPreAttrRangeService;
+import com.vci.ubcs.code.service.IDockingPreMetaAttrService;
+import com.vci.ubcs.code.vo.pagemodel.DockingPreAttrMappingVO;
+import com.vci.ubcs.code.vo.pagemodel.DockingPreAttrRangeVO;
+import com.vci.ubcs.code.wrapper.DockingPreAttrMappingWrapper;
+import com.vci.ubcs.code.wrapper.DockingPreAttrRangeWrapper;
+import com.vci.ubcs.starter.exception.VciBaseException;
+import org.springframework.beans.factory.annotation.Autowired;
+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.stream.Collectors;
+
+/***
+ *闆嗗洟灞炴�ф槧灏勬湇鍔�
+ * @author xiejun
+ * @date 2023-05-22
+ */
+@Service
public class DockingPreAttrMappingServiceImpl extends ServiceImpl<DockingPreAttrMappingMapper, DockingPreAttrMapping> implements IDockingPreAttrMappingService {
+ /***
+ * 闆嗗洟鍒嗙被灞炴�у睘鎬ф槧灏勯厤缃湇鍔�
+ */
+ @Autowired(required = false)
+ DockingPreAttrMappingMapper dockingPreAttrMappingMapper;
+ /***
+ * 闆嗗洟灞炴�ф湇鍔�
+ */
+ @Autowired(required = false)
+ IDockingPreMetaAttrService dockingPreMetaAttrService;
+ /***
+ * 灞炴�у彇鍊艰寖鍥存湇鍔�
+ */
+ @Autowired(required = false)
+ IDockingPreAttrRangeService dockingPreAttrRangeService;
+ /***
+ * 鏍规嵁涓绘暟鎹垎绫讳富閿幏鍙栧垎绫讳俊鎭厤缃�
+ * @param codeClassifyId
+ * @return
+ */
+ @Override
+ public List<DockingPreAttrMappingVO> getdockingAttrMappingsByCodeclassId(String codeClassifyId) {
+ //棣栧厛鑾峰彇鍒嗙被妯℃澘灞炴�э紝鐒跺悗涓庡睘鎬ч厤缃潗姣旇緝锛屼互闃茶鏈夊鍒犲睘鎬х殑鍙兘
+ List<DockingPreMetaAttr> dockingPreMetaAttrList= dockingPreMetaAttrService.selectByWrapper(Wrappers.<DockingPreMetaAttr>query().lambda().eq(DockingPreMetaAttr::getSourceClassifyId,codeClassifyId));
+ List<DockingPreAttrMapping> dockingPreAttrMappings=this.selectByWrapper(Wrappers.<DockingPreAttrMapping>query().lambda().eq(DockingPreAttrMapping::getSourceClassifyId, codeClassifyId));
+ Map<String/**灞炴�т富閿�**/, DockingPreAttrMapping> dockingPreAttrMappingMap = dockingPreAttrMappings.stream().filter(cbo -> cbo != null).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getMetaListId(), t -> t));
+
+ List<DockingPreAttrMapping> newDockingPreAttrMappingList=new ArrayList<>();
+ dockingPreMetaAttrList.stream().forEach(dockingPreMetaAttr -> {
+ String attrOid=dockingPreMetaAttr.getOid();
+ DockingPreAttrMapping dockingPreAttrMapping=new DockingPreAttrMapping();
+ if(dockingPreAttrMappingMap.containsKey(attrOid)){
+ dockingPreAttrMapping= dockingPreAttrMappingMap.get(attrOid);
+ }else{
+ dockingPreAttrMapping.setMetaListId(dockingPreMetaAttr.getOid());//灞炴�т富閿�
+ dockingPreAttrMapping.setSourceAttrKey(dockingPreMetaAttr.getEnglishName());//鑻辨枃鍚嶇О
+ dockingPreAttrMapping.setSourceAttrName(dockingPreMetaAttr.getChineseName());//涓枃鍚嶇О
+ dockingPreAttrMapping.setSourceClassifyId(dockingPreMetaAttr.getSourceClassifyId());//闆嗗洟鍒嗙被oid
+ dockingPreAttrMapping.setSourceClassifyName("");//鍒嗙被鍚嶇О
+ dockingPreAttrMapping.setViewModeId(dockingPreMetaAttr.getViewModelId());//妯″瀷瑙嗗浘id
+ dockingPreAttrMapping.setViewModelName("");//鍒嗙被妯″瀷鍚嶇О
+ dockingPreAttrMapping.setViewName("");//鍒嗙被妯″瀷鍚嶇О
+
+ }
+ newDockingPreAttrMappingList.add(dockingPreAttrMapping);
+ });
+ return dockingPreAttrMappingDO2VOS(dockingPreAttrMappings,false);
+ }
+
+ /***
+ * 鏋勯�犲櫒鏌ヨ鏂瑰紡
+ * @param wrapper 鏌ヨ灏佽鍣�
+ * @return
+ */
+ @Override
+ public List<DockingPreAttrMapping> selectByWrapper(Wrapper wrapper) {
+ return dockingPreAttrMappingMapper.selectList(wrapper);
+ }
+
+ /****
+ * 闆嗗洟灞炴�ф槧灏勯厤缃繚瀛�
+ * @param dockingPreAttrMappingVOList
+ * @return
+ * @throws VciBaseException
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public List<DockingPreAttrMappingVO> batchAddSave(List<DockingPreAttrMappingVO> dockingPreAttrMappingVOList) throws Exception {
+ if(org.springframework.util.CollectionUtils.isEmpty(dockingPreAttrMappingVOList)){
+ return new ArrayList<>();
+ }
+ /**
+ * 1.浼犻�掕繃鏉ョ殑鏈夊彲鑳戒富鏁版嵁妯℃澘鏂板灞炴�э紝杩欐牱鐨勯渶瑕佹坊鍔狅紝涔熸湁鍙兘鍒犻櫎鐨勫睘鎬э紝杩欐牱鐨勬槧灏勯渶瑕佸垹闄�
+ * 涔熸湁鏇存柊鐨勮繖鏍峰垯鏇存柊
+ */
+ List<DockingPreAttrMapping> newDockingPreAttrMapping=new ArrayList<>();
+ List<String>appingConfigOidList=new ArrayList<>();
+ List<String>attrIdList=new ArrayList<>();
+ List<String> attributeOidList=new ArrayList<>();
+ List<DockingPreAttrRange> newDockingPreAttrRangeList=new ArrayList<>();
+ List<DockingPreAttrRangeVO> newDockingPreAttrRangeVOList=new ArrayList<>();
+ dockingPreAttrMappingVOList.stream().forEach(dockingPreAttrMappingVO -> {
+ List<DockingPreAttrRangeVO>dockingPreAttrRangeVOList=dockingPreAttrMappingVO.getDockingPreAttrRangeVoList();
+ appingConfigOidList.add(dockingPreAttrMappingVO.getOid());
+ if(!CollectionUtils.isEmpty(dockingPreAttrRangeVOList)) {
+ attrIdList.add(dockingPreAttrMappingVO.getMetaListId());
+ newDockingPreAttrRangeVOList.addAll(dockingPreAttrRangeVOList);
+ }
+ });
+ //灏嗗睘鎬у彇鍊艰寖鍥磋浆鎴愭暟鎹寔涔呭眰瀵硅薄
+ newDockingPreAttrRangeList=DockingPreAttrRangeWrapper.build().voentitys(newDockingPreAttrRangeVOList);
+ //灏嗗睘鎬ф槧灏勯厤缃俊鎭浆鎹负闇�瑕佹暟鎹寔涔呭眰淇濆瓨鐨勫璞�
+ newDockingPreAttrMapping=DockingPreAttrMappingWrapper.build().voentitys(dockingPreAttrMappingVOList);
+
+ List<DockingPreAttrRange> oldDockingPreAttrRangeList=new ArrayList<>();
+ if(!org.springframework.util.CollectionUtils.isEmpty(attrIdList)) {
+ //鑾峰彇瀛樺湪鐨勫睘鎬у彇鍊艰寖鍥�.
+ oldDockingPreAttrRangeList = dockingPreAttrRangeService.selectByWrapper(Wrappers.<DockingPreAttrRange>query().lambda().in(DockingPreAttrRange::getMetaListId,attrIdList));
+ }
+ //鑾峰彇瀛樺湪鐨勫睘鎬ф槧灏�.
+ List<DockingPreAttrMapping> oldDataAttrMapping = dockingPreAttrMappingMapper.selectList(Wrappers.<DockingPreAttrMapping>query().lambda().in(DockingPreAttrMapping::getOid,appingConfigOidList));
+
+ Map<String/**oid**/,DockingPreAttrMapping/**灞炴�у璞�**/> allSaveAttrMappingMap = newDockingPreAttrMapping.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t,(o1, o2)->o2));
+ Map<String/**oid**/,DockingPreAttrMapping/**瀵硅薄**/> oldAttrMappingMap =oldDataAttrMapping.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t,(o1, o2)->o2));
+ //闇�瑕佸垹闄ょ殑灞炴�ф槧灏�
+ List<String> deleteIdList=new ArrayList<>();
+ oldDataAttrMapping.stream().forEach(cbo -> {
+ String oid =cbo.getOid();
+ if(!allSaveAttrMappingMap.containsKey(oid)){
+ deleteIdList.add(oid);
+ }
+ });
+ this.removeBatchByIds(deleteIdList);//鍒犻櫎宸茬粡涓㈡帀鐨�
+ this.saveOrUpdateBatch(newDockingPreAttrMapping);//娣诲姞鏇存柊鏂扮殑閰嶇疆淇℃伅
+
+ //鍙栧�艰寖鍥村鐞�
+ if(!CollectionUtils.isEmpty(newDockingPreAttrRangeList)) {
+ Map<String/**oid**/, DockingPreAttrRange/**灞炴�у璞�**/> allSaveAttrAttrRangeDOMap =newDockingPreAttrRangeList.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t, (o1, o2) -> o2));
+ Map<String/**oid**/, DockingPreAttrRange/**瀵硅薄**/> oldSaveAttrAttrRangeDOMap = oldDockingPreAttrRangeList.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t, (o1, o2) -> o2));
+
+ //闇�瑕佸垹闄ょ殑灞炴�у彇鍊艰寖鍥�
+ List<String> deleteRangeIdList = new ArrayList<>();
+ oldDockingPreAttrRangeList.stream().forEach(cbo -> {
+ String oid = cbo.getOid();
+ if (!allSaveAttrAttrRangeDOMap.containsKey(oid)) {
+ deleteRangeIdList.add(oid);
+ }
+ });
+ dockingPreAttrRangeService.removeBatchByIds(deleteIdList);//鍒犻櫎宸茬粡涓㈡帀鐨�
+ dockingPreAttrRangeService.saveOrUpdateBatch(newDockingPreAttrRangeList);//娣诲姞鏇存柊鏂扮殑閰嶇疆淇℃伅
+ }
+ return dockingPreAttrMappingVOList;
+ }
+
+ /***
+ * 瀵硅薄杞崲
+ * @param dockingPreAttrMappings
+ * @return
+ */
+ private List<DockingPreAttrMappingVO> dockingPreAttrMappingDO2VOS(Collection<DockingPreAttrMapping> dockingPreAttrMappings,boolean contain) {
+ List<DockingPreAttrMappingVO> dockingPreAttrMappingVOList=new ArrayList<>();
+ dockingPreAttrMappingVOList=DockingPreAttrMappingWrapper.build().entityVOs(dockingPreAttrMappings);
+ if(CollectionUtils.isEmpty(dockingPreAttrMappingVOList)){
+ dockingPreAttrMappingVOList.stream().distinct().forEach(dockingPreAttrMappingVO -> {
+ if(contain) {
+ List<DockingPreAttrRangeVO> dockingPreAttrRangeVOList= dockingPreAttrRangeService.getDockingPreAttrRangesByMetaId(dockingPreAttrMappingVO.getMetaListId());
+ dockingPreAttrMappingVO.setDockingPreAttrRangeVoList(dockingPreAttrRangeVOList);
+ }
+ });
+ }
+ return dockingPreAttrMappingVOList;
+ }
}
--
Gitblit v1.9.3