From 743fc525d63e6590c31f4bd56d90b887da20b6f9 Mon Sep 17 00:00:00 2001
From: yuxc <653031404@qq.com>
Date: 星期三, 02 八月 2023 10:08:40 +0800
Subject: [PATCH] 1、处理了map为空返回null问题。 2、处理了查询分页问题。
---
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreAttrMappingServiceImpl.java | 62 +++++++++++++++++++++++--------
1 files changed, 46 insertions(+), 16 deletions(-)
diff --git a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreAttrMappingServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreAttrMappingServiceImpl.java
index 8764874..a933f28 100644
--- a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreAttrMappingServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreAttrMappingServiceImpl.java
@@ -4,22 +4,23 @@
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.CodeClassify;
+import com.vci.ubcs.code.feign.ICodeClassifyClient;
+import com.vci.ubcs.code.webservice.entity.*;
import com.vci.ubcs.code.webservice.mapper.DockingPreAttrMappingMapper;
-import com.vci.ubcs.code.webservice.service.IDockingPreAttrMappingService;
-import com.vci.ubcs.code.webservice.service.IDockingPreAttrRangeService;
-import com.vci.ubcs.code.webservice.service.IDockingPreMetaAttrService;
+import com.vci.ubcs.code.webservice.service.*;
+import com.vci.ubcs.code.webservice.vo.DokingAttributeSerchVO;
import com.vci.ubcs.code.webservice.wrapper.DockingPreAttrMappingWrapper;
import com.vci.ubcs.code.webservice.wrapper.DockingPreAttrRangeWrapper;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
-import com.vci.ubcs.code.webservice.entity.DockingPreAttrMapping;
-import com.vci.ubcs.code.webservice.entity.DockingPreAttrRange;
-import com.vci.ubcs.code.webservice.entity.DockingPreMetaAttr;
import com.vci.ubcs.code.webservice.vo.DockingPreAttrMappingVO;
import com.vci.ubcs.code.webservice.vo.DockingPreAttrRangeVO;
+import org.springblade.core.tool.api.R;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -37,13 +38,16 @@
@Service
public class DockingPreAttrMappingServiceImpl extends ServiceImpl<DockingPreAttrMappingMapper, DockingPreAttrMapping> implements IDockingPreAttrMappingService {
-
-
/***
* 闆嗗洟鍒嗙被灞炴�у睘鎬ф槧灏勯厤缃湇鍔�
*/
@Autowired(required = false)
private DockingPreAttrMappingMapper dockingPreAttrMappingMapper;
+ /***
+ * 涓绘暟鎹垎绫绘湇鍔�
+ */
+ @Autowired(required = true)
+ private ICodeClassifyClient codeClassifyClient;
/***
* 涓氬姟鏁版嵁灞炴�ф湇鍔�
@@ -63,8 +67,19 @@
private IDockingPreAttrRangeService dockingPreAttrRangeService;
+ /***
+ * 闆嗗洟鍒嗙被瑙嗗浘妯″瀷鏈嶅姟
+ */
+ @Autowired(required = false)
+ private IDockingPreViewModelService dockingPreViewModelService;
+ /***
+ * 闆嗗洟灞炴�ф湇鍔�
+ */
+ @Autowired(required = false)
+ @Lazy
+ private IDockingPreClassifyService dockingPreClassifyService;
/***
* 鏍规嵁涓绘暟鎹垎绫讳富閿幏鍙栧垎绫讳俊鎭厤缃�
@@ -76,31 +91,40 @@
VciBaseUtil.alertNotNull(codeClassifyId,"涓绘暟鎹垎绫讳富閿�");
VciBaseUtil.alertNotNull(sourceClassifyId,"闆嗗洟鍒嗙被涓婚敭");
//棣栧厛鑾峰彇鍒嗙被妯℃澘灞炴�э紝鐒跺悗涓庡睘鎬ч厤缃潗姣旇緝锛屼互闃茶鏈夊鍒犲睘鎬х殑鍙兘
+ DockingPreClassify dockingPreClassify=dockingPreClassifyService.getById(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));
+ Map<String,DockingPreViewModel> dockingPreViewModelMap=dockingPreViewModelList.stream().filter(cbo -> cbo != null).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getOid(), t -> t));
+ CodeClassify codeClassify= codeClassifyClient.getById(codeClassifyId);
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);
+ DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreAttrMapping);
}else{
DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreAttrMapping, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
dockingPreAttrMapping.setMetaListId(dockingPreMetaAttr.getOid());//灞炴�т富閿�
dockingPreAttrMapping.setSourceAttrKey(dockingPreMetaAttr.getEnglishName());//鑻辨枃鍚嶇О
dockingPreAttrMapping.setSourceAttrName(dockingPreMetaAttr.getChineseName());//涓枃鍚嶇О
dockingPreAttrMapping.setSourceClassifyId(dockingPreMetaAttr.getSourceClassifyId());//闆嗗洟鍒嗙被oid
- dockingPreAttrMapping.setSourceClassifyName("");//鍒嗙被鍚嶇О
+ DockingPreViewModel dockingPreViewModel=new DockingPreViewModel();
+ if(dockingPreViewModelMap.containsKey(dockingPreMetaAttr.getViewModelId())){
+ dockingPreViewModel=dockingPreViewModelMap.get(dockingPreMetaAttr.getViewModelId());
+ }
+ dockingPreAttrMapping.setSourceClassifyName(dockingPreClassify.getClassName());//鍒嗙被鍚嶇О
dockingPreAttrMapping.setViewModeId(dockingPreMetaAttr.getViewModelId());//妯″瀷瑙嗗浘id
- dockingPreAttrMapping.setViewModelName("");//鍒嗙被妯″瀷鍚嶇О
- dockingPreAttrMapping.setViewName("");//鍒嗙被妯″瀷鍚嶇О
-
+ dockingPreAttrMapping.setViewModelName(dockingPreViewModel.getName());//鍒嗙被妯″瀷鍚嶇О
+ dockingPreAttrMapping.setViewName(dockingPreViewModel.getViewName());//鍒嗙被妯″瀷鍚嶇О
+ dockingPreAttrMapping.setTargetClassifyId(codeClassifyId);
+ dockingPreAttrMapping.setTargetClassifyName(codeClassify.getName());
}
newDockingPreAttrMappingList.add(dockingPreAttrMapping);
});
- return dockingPreAttrMappingDO2VOS(dockingPreAttrMappings,false);
+ return dockingPreAttrMappingDO2VOS(newDockingPreAttrMappingList,false);
}
/***
@@ -191,14 +215,15 @@
/***
* 鏍规嵁涓绘暟鎹畂id妫�娴嬫槸鍚﹀睘鎬ф槧灏勯厤缃�
* @param targetClassifyId
+ * @param sourceClassifyId
* @return
* @throws Exception
*/
@Override
- public boolean checkHasConfigByTragetCodeclassifyId(String targetClassifyId){
+ public boolean checkHasConfigByTragetCodeclassifyId(String targetClassifyId,String sourceClassifyId){
Long count =0L;
try {
- count = dockingPreAttrMappingMapper.selectCount(Wrappers.<DockingPreAttrMapping>query().lambda().eq(DockingPreAttrMapping::getTargetClassifyId, targetClassifyId));
+ count = dockingPreAttrMappingMapper.selectCount(Wrappers.<DockingPreAttrMapping>query().lambda().eq(DockingPreAttrMapping::getTargetClassifyId, targetClassifyId).eq(DockingPreAttrMapping::getSourceClassifyId,sourceClassifyId));
}catch (Throwable e){
e.printStackTrace();;
} finally {
@@ -206,6 +231,11 @@
}
}
+ @Override
+ public R search(DokingAttributeSerchVO dokingAttributeSerchVO) {
+ return null;
+ }
+
/***
* 瀵硅薄杞崲
--
Gitblit v1.9.3