From a41d81627be8b9bd8294762e540d931ae75588a5 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 17 四月 2024 10:32:16 +0800
Subject: [PATCH] 集团属性池映射界面代码完善
---
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/pom.xml | 6 +++
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/IGroupAttrPoolMappingService.java | 8 ++++
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java | 1
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/BtmTypeController.java | 1
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupAttrPoolMappingServiceImpl.java | 68 +++++++++++++++++++++++++++-------
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/BtmTypeAttributeWrapper.java | 2 +
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/controller/GroupAttrPoolMappingController.java | 14 ++++++-
7 files changed, 82 insertions(+), 18 deletions(-)
diff --git a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/pom.xml b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/pom.xml
index ac37aeb..e1857e2 100644
--- a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/pom.xml
+++ b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/pom.xml
@@ -45,6 +45,12 @@
<version>3.0.1.RELEASE</version>
<scope>compile</scope>
</dependency>
+ <dependency>
+ <groupId>com.vci.ubcs</groupId>
+ <artifactId>ubcs-omd-api</artifactId>
+ <version>3.0.1.RELEASE</version>
+ <scope>compile</scope>
+ </dependency>
</dependencies>
<build>
diff --git a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/controller/GroupAttrPoolMappingController.java b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/controller/GroupAttrPoolMappingController.java
index 63b4f77..43eef8d 100644
--- a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/controller/GroupAttrPoolMappingController.java
+++ b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/controller/GroupAttrPoolMappingController.java
@@ -1,11 +1,11 @@
package com.vci.ubcs.code.applyjtcodeservice.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.vci.ubcs.code.applyjtcodeservice.entity.DockingPreMetaAttr;
-import com.vci.ubcs.code.applyjtcodeservice.entity.GroupAttrPoolMapping;
import com.vci.ubcs.code.applyjtcodeservice.service.IGroupAttrPoolMappingService;
import com.vci.ubcs.code.applyjtcodeservice.vo.GroupAttrPoolMappingVO;
+import com.vci.ubcs.omd.entity.Enum;
+import com.vci.ubcs.omd.vo.EnumVO;
import com.vci.ubcs.starter.web.pagemodel.BladeQueryObject;
import io.swagger.annotations.Api;
import lombok.AllArgsConstructor;
@@ -80,4 +80,14 @@
return R.status(groupAttrPoolMappingService.saveDistinctGroupAttr(dockingPreMetaAttrList));
}
+ /**
+ * 鏍规嵁鍒嗙被OID鑾峰彇鍒版ā鏉垮啀鏍规嵁灞炴�d鑾峰彇鍒版ā鏉夸笅鐨勫睘鎬d鐨別num鍊硷紝鐒跺悗鏌ヨ鍑烘灇涓�
+ * @param groupAttrPoolMappingVO
+ * @return
+ */
+ @PostMapping("/getEnumAttrByClsOIdAndAttrId")
+ public R<List<EnumVO>> getEnumAttrByClsOIdAndAttrId(@RequestBody GroupAttrPoolMappingVO groupAttrPoolMappingVO) throws ServiceException {
+ return R.data(groupAttrPoolMappingService.getEnumAttrByClsOIdAndAttrId(groupAttrPoolMappingVO));
+ }
+
}
diff --git a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/IGroupAttrPoolMappingService.java b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/IGroupAttrPoolMappingService.java
index 36d3a5d..90f8de1 100644
--- a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/IGroupAttrPoolMappingService.java
+++ b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/IGroupAttrPoolMappingService.java
@@ -5,6 +5,7 @@
import com.vci.ubcs.code.applyjtcodeservice.entity.DockingPreMetaAttr;
import com.vci.ubcs.code.applyjtcodeservice.entity.GroupAttrPoolMapping;
import com.vci.ubcs.code.applyjtcodeservice.vo.GroupAttrPoolMappingVO;
+import com.vci.ubcs.omd.vo.EnumVO;
import com.vci.ubcs.starter.web.pagemodel.BladeQueryObject;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tool.api.R;
@@ -59,4 +60,11 @@
*/
R syncGroupAttrMapping(List<GroupAttrPoolMappingVO> groupAttrPoolMappingVOS) throws ServiceException;
+ /**
+ * 鏍规嵁鍒嗙被OID鑾峰彇鍒版ā鏉垮啀鏍规嵁灞炴�d鑾峰彇鍒版ā鏉夸笅鐨勫睘鎬d鐨別num鍊硷紝鐒跺悗鏌ヨ鍑烘灇涓�
+ * @param groupAttrPoolMappingVOS
+ * @return
+ */
+ List<EnumVO> getEnumAttrByClsOIdAndAttrId(GroupAttrPoolMappingVO groupAttrPoolMappingVOS);
+
}
diff --git a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupAttrPoolMappingServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupAttrPoolMappingServiceImpl.java
index db69aa6..c144df3 100644
--- a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupAttrPoolMappingServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupAttrPoolMappingServiceImpl.java
@@ -1,6 +1,7 @@
package com.vci.ubcs.code.applyjtcodeservice.service.impl;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -14,11 +15,14 @@
import com.vci.ubcs.code.applyjtcodeservice.wrapper.GroupAttrPoolMappingWrapper;
import com.vci.ubcs.code.feign.ICodeClassifyClient;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
+import com.vci.ubcs.omd.feign.IEnumClient;
+import com.vci.ubcs.omd.vo.EnumVO;
import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
import com.vci.ubcs.starter.util.UBCSCondition;
import com.vci.ubcs.starter.web.pagemodel.BladeQueryObject;
import lombok.RequiredArgsConstructor;
+import lombok.Value;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.support.Condition;
@@ -28,7 +32,9 @@
import javax.sql.rowset.serial.SerialException;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import java.util.stream.Collectors;
/**
@@ -48,6 +54,8 @@
private final IDockingPreAttrMappingService dockingPreAttrMappingService;
+ private final IEnumClient enumClient;
+
/**
* 鏌ヨ鍏ㄩ儴闆嗗洟灞炴�ф睜鏄犲皠鐨勫睘鎬�
* @param bladeQueryObject
@@ -57,7 +65,7 @@
@Override
public IPage<GroupAttrPoolMappingVO> getGroupAttrPoolALlList(BladeQueryObject bladeQueryObject) throws ServiceException {
QueryWrapper<GroupAttrPoolMapping> queryWrapper = UBCSCondition.getQueryWrapper(bladeQueryObject.getConditionMap(), GroupAttrPoolMapping.class);
- IPage<GroupAttrPoolMapping> groupAttrPoolMappingIPage = this.groupAttrPoolMappingMapper.selectPage(Condition.getPage(bladeQueryObject.getQuery()), queryWrapper);
+ IPage<GroupAttrPoolMapping> groupAttrPoolMappingIPage = this.groupAttrPoolMappingMapper.selectPage(Condition.getPage(bladeQueryObject.getQuery().setDescs("groupAttrKey")), queryWrapper);
return GroupAttrPoolMappingWrapper.build().pageVO(groupAttrPoolMappingIPage);
}
@@ -110,8 +118,7 @@
return true;
}
List<GroupAttrPoolMapping> groupAttrPoolMappings = new ArrayList<>();
- List<String> distinctListEnglishName = new ArrayList<>();
- List<String> distinctListChineseName = new ArrayList<>();
+ Map<String,String> distinctMap = new HashMap<>();
log.info("寮�濮嬪皢闆嗗洟灞炴�у悓姝ュ埌闆嗗洟灞炴�ф睜涓�");
// 灏哾ockingPreMetaAttrList闆嗗悎杞崲涓洪泦鍥㈠睘鎬ф睜灞炴�у璞�
dockingPreMetaAttrList.stream().forEach(item->{
@@ -120,16 +127,15 @@
groupAttrPoolMapping.setGroupAttrName(item.getChineseName());
groupAttrPoolMappings.add(groupAttrPoolMapping);
// 鍘婚噸鏌ヨ鏉′欢闆嗗洟灞炴�ц嫳鏂囧悕绉�
- distinctListEnglishName.add(item.getEnglishName());
- // 鍘婚噸鏌ヨ鏉′欢闆嗗洟灞炴�т腑鏂囧悕绉�
- distinctListChineseName.add(item.getName());
+ distinctMap.put(item.getEnglishName(),item.getChineseName());
+ });
+ // 鏋勯�犳煡閲峴ql锛堟牴鎹泦鍥㈠睘鎬т腑鏂囧拰鑻辨枃浣滀负涓�缁勬煡璇㈡潯浠讹級
+ LambdaQueryWrapper<GroupAttrPoolMapping> lambdaQueryWrapper = Wrappers.<GroupAttrPoolMapping>query().lambda();
+ distinctMap.forEach((key, value)->{
+ lambdaQueryWrapper.eq(GroupAttrPoolMapping::getGroupAttrKey,key).and(wrapper->wrapper.eq(GroupAttrPoolMapping::getGroupAttrName,value)).or(true);
});
// 鍘婚噸鏌ヨ缁撴灉
- List<GroupAttrPoolMapping> dbGroupAttrPoolMappings = groupAttrPoolMappingMapper.selectList(
- Wrappers.<GroupAttrPoolMapping>query()
- .lambda().in(GroupAttrPoolMapping::getGroupAttrKey, distinctListEnglishName)
- .in(GroupAttrPoolMapping::getGroupAttrName, distinctListChineseName)
- );
+ List<GroupAttrPoolMapping> dbGroupAttrPoolMappings = groupAttrPoolMappingMapper.selectList(lambdaQueryWrapper);
List<GroupAttrPoolMapping> newGroupAttrPoolMappings = null;
// 灏嗗凡瀛樺湪鐨勯泦鍥㈠睘鎬т粠groupAttrPoolMappings涓Щ闄�
if(Func.isNotEmpty(dbGroupAttrPoolMappings)){
@@ -147,9 +153,14 @@
return item;
}).collect(Collectors.toList());
log.info("鏈鍚屾鐨勬暟鎹负锛�"+ JSON.toJSONString(finalGroupAttrPoolMappings));
- boolean resBoolean = this.saveBatch(finalGroupAttrPoolMappings);
- log.info("闆嗗洟灞炴�у悓姝ュ埌闆嗗洟灞炴�ф睜,鍚屾瀹屾瘯");
- return resBoolean;
+ try {
+ this.saveBatch(finalGroupAttrPoolMappings);
+ log.info("闆嗗洟灞炴�у悓姝ュ埌闆嗗洟灞炴�ф睜,鍚屾瀹屾瘯");
+ return true;
+ }catch (Exception e){
+ log.info("闆嗗洟灞炴�у悓姝ュ埌闆嗗洟灞炴�ф睜,鍚屾澶辫触锛侊紝鍘熷洜锛�"+e.getMessage());
+ throw new ServiceException("闆嗗洟灞炴�у悓姝ュ埌闆嗗洟灞炴�ф睜,鍚屾澶辫触锛侊紝鍘熷洜锛�"+e.getMessage());
+ }
}
/**
@@ -189,4 +200,33 @@
return dockingPreAttrMappingService.syncGroupAttrMapping(groupAttrPoolMappings);
}
+ /**
+ * 鏍规嵁鍒嗙被OID鑾峰彇鍒版ā鏉垮啀鏍规嵁灞炴�d鑾峰彇鍒版ā鏉夸笅鐨勫睘鎬d鐨別num鍊硷紝鐒跺悗鏌ヨ鍑烘灇涓�
+ * @param groupAttrPoolMappingVOS
+ * @return
+ */
+ @Override
+ public List<EnumVO> getEnumAttrByClsOIdAndAttrId(GroupAttrPoolMappingVO groupAttrPoolMappingVOS) {
+ if(Func.isEmpty(groupAttrPoolMappingVOS.getClassifyId())){
+ throw new ServiceException("蹇呬紶鍙傛暟鍒嗙被oid涓嶈兘涓虹┖锛�");
+ }
+ if(Func.isEmpty(groupAttrPoolMappingVOS.getCodeMetaAttrKey())){
+ throw new ServiceException("蹇呬紶鍙傛暟锛屾ā鏉垮睘鎬d涓嶈兘涓虹┖");
+ }
+ // 鏍规嵁鍒嗙被oid鏌ヨ鎵�浣跨敤鐨勬ā鏉垮拰妯℃澘灞炴��
+ List<CodeClassifyTemplateAttrVO> attrVOS = codeClassifyClient.listCodeAttributeByClassId(groupAttrPoolMappingVOS.getClassifyId());
+ // 绛涢�夊嚭妯℃澘灞炴�т腑id绛変簬codeMetaAttrKey鐨勶紝骞跺彇鍑篹numId
+ if(attrVOS.isEmpty()){
+ return new ArrayList<>();
+ }
+ List<CodeClassifyTemplateAttrVO> codeClassifyTemplateAttrVOS = attrVOS.stream().filter(item -> item.getId().equalsIgnoreCase(groupAttrPoolMappingVOS.getCodeMetaAttrKey())).collect(Collectors.toList());
+ // 鏍规嵁涓婁竴姝ュ彇鍑虹殑enumId璋冪敤鏋氫妇鏈嶅姟鏌ヨ鍑烘灇涓惧苟杩斿洖
+ String enumId = codeClassifyTemplateAttrVOS.get(0).getEnumId();
+ if(Func.isBlank(enumId)){
+ return new ArrayList<>();
+ }
+ R<List<EnumVO>> list = enumClient.getList(enumId);
+ return list.getData();
+ }
+
}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
index 614bb51..8da2386 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -1561,7 +1561,6 @@
return uiInfoVO;
}
-
/**
* 妯℃澘灞炴�ц浆鎹负琛ㄥ崟瀹氫箟鐨勪俊鎭�
*
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/BtmTypeController.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/BtmTypeController.java
index 89edaed..87ff975 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/BtmTypeController.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/BtmTypeController.java
@@ -105,7 +105,6 @@
return R.data(pageVO);
}
-
/**
* 鏂板鎴栦慨鏀�
*
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/BtmTypeAttributeWrapper.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/BtmTypeAttributeWrapper.java
index 391dd47..e2aaccc 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/BtmTypeAttributeWrapper.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/BtmTypeAttributeWrapper.java
@@ -68,6 +68,8 @@
entity.setLastModifier(creator);
entity.setLastModifyTime(now);
entity.setTs(now);
+ entity.setPrecisionLength(0);
+ entity.setScaleLength(0);
entity.setPkBtmType(btmTypeOid);
// 鍦ㄨ繖杩涜閫氱敤瀛楁澶勭悊
return entity;
--
Gitblit v1.9.3