From f7e33d69713a5145d19fde5792b422826bc14107 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期五, 09 六月 2023 18:10:12 +0800
Subject: [PATCH] 完善主题库定义
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java | 81 +++++++++++++++++++++++++++++++++++-----
1 files changed, 70 insertions(+), 11 deletions(-)
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
index 1740d98..21cfeb8 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -23,6 +23,7 @@
import com.vci.ubcs.omd.enums.EnumEnum;
import com.vci.ubcs.omd.feign.IBtmTypeClient;
import com.vci.ubcs.omd.vo.BtmTypeAttributeVO;
+import com.vci.ubcs.omd.feign.IBtmTypeClient;
import com.vci.ubcs.omd.vo.BtmTypeVO;
import com.vci.ubcs.starter.bo.WriteExcelData;
import com.vci.ubcs.starter.exception.VciBaseException;
@@ -37,7 +38,6 @@
import com.vci.ubcs.starter.util.LocalFileUtil;
import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
import com.vci.ubcs.starter.web.pagemodel.DataGrid;
-import com.vci.ubcs.starter.web.pagemodel.PageHelper;
import com.vci.ubcs.starter.web.pagemodel.Tree;
import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
import com.vci.ubcs.starter.web.util.LangBaseUtil;
@@ -47,13 +47,12 @@
import org.slf4j.LoggerFactory;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.launch.constant.AppConstant;
-import org.springblade.core.log.exception.ServiceException;
+import com.vci.ubcs.core.log.exception.ServiceException;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -439,13 +438,34 @@
}
/**
+ * 涓婚敭鏌ヨ鏁版嵁瀵硅薄,鍏宠仈鏌ヨ
+ * @param oid 涓婚敭
+ * @return 鏁版嵁瀵硅薄
+ */
+ private CodeClassify selectByOidRel(String oid){
+
+ List<CodeClassify> codeClassifyList = codeClassifyMapper.selectClassifyByKeyAndReseRel("'"+oid.trim()+"'");
+// CodeClassify codeClassifyEntity = (CodeClassify) codeClassifyList;
+ if(codeClassifyList.size() == 0 ){
+ throw new ServiceException("dataNotExist");//鏍规嵁涓婚敭id鏈煡鍒扮浉鍏虫暟鎹�
+ }
+// if(codeClassifyEntity == null || StringUtils.isBlank(codeClassifyEntity.getOid())){
+// throw new ServiceException("dataOidNotExist");//鏍规嵁涓婚敭id鏈煡鍒扮浉鍏虫暟鎹�
+// }
+ return codeClassifyList.get(0);
+ }
+
+ /**
* 鏌ヨ涓婚搴撳垎绫� 鏍�
* @param treeQueryObject 鏍戞煡璇㈠璞�
* @return 涓婚搴撳垎绫� 鏄剧ず鏍�
*/
@Override
public List<Tree> treeCodeClassify(TreeQueryObject treeQueryObject) {
- List<CodeClassify> doList =codeClassifyMapper.selectCodeClassifyVOByTree(treeQueryObject.getParentOid());
+ List<CodeClassify> doList =codeClassifyMapper
+ .selectCodeClassifyDOByTree(treeQueryObject.getConditionMap().get("id"),treeQueryObject.getConditionMap().get("lcStatus"),treeQueryObject.getParentOid());
+// List<CodeClassify> doList =codeClassifyMapper.selectCodeClassifyVOByTree(treeQueryObject.getParentOid());
+
List<CodeClassifyVO> voList = codeClassifyDO2VOs(doList);
TreeWrapperOptions treeWrapperOptions = new TreeWrapperOptions(PARENT_FIELD_NAME.toLowerCase(Locale.ROOT));
treeWrapperOptions.copyFromTreeQuery(treeQueryObject);
@@ -873,7 +893,7 @@
* @return 灞炴�х殑淇℃伅锛屽寘鍚粯璁ょ殑灞炴��
*/
@Override
- public DataGrid<BtmTypeAttributeVO> listClassifyLinkAttr(BaseQueryObject baseQueryObject) {
+ public DataGrid<BtmTypeAttributeVO> listClassifyLinkAttr(BaseQueryObject baseQueryObject) throws ServiceException{
if(baseQueryObject == null){
baseQueryObject = new BaseQueryObject();
}
@@ -897,8 +917,11 @@
Map<String,Object> condition = new HashMap<>(1);
condition.put("pkbtmtype",topClassifyVO.getBtmtypeid());
- BtmTypeVO data = btmTypeClient.getDetail(btmTypeOid).getData();
- List<BtmTypeAttributeVO> unDefaultAttributes = data.getAttributes();
+ R<BtmTypeVO> btmTypeDetail = btmTypeClient.getDetail(btmTypeOid);
+ if(btmTypeDetail.getCode() != 200){
+ throw new ServiceException("涓氬姟绫诲瀷feign鎺ュ彛璋冪敤鍑洪敊");
+ }
+ List<BtmTypeAttributeVO> unDefaultAttributes = btmTypeDetail.getData().getAttributes();
// List<CodeOsbtmtypeattributeEntity> unDefaultAttributes = codeOsbtmtypeattributeMapper.selectByMap(condition);
// List<OsBtmTypeAttributeVO> unDefaultAttributes = btmService. (topClassifyVO.getBtmtypeid());
List<BtmTypeAttributeVO> attributeVOS = new ArrayList<>();
@@ -908,8 +931,8 @@
BeanUtils.copyProperties(attr,attributeVO);
attributeVO.setAttrDataType(attr.getAttrDataType());
attributeVO.setAttributeLength(attr.getAttributeLength());
- attributeVO.setBtmTypeId(data.getId());
- attributeVO.setBtmname(data.getName());
+ attributeVO.setBtmTypeId(btmTypeDetail.getData().getId());
+ attributeVO.setBtmname(btmTypeDetail.getData().getName());
attributeVO.setAttrDataTypeText(EnumCache.getValue(EnumEnum.VCO_FIELD_TYPE,attr.getAttrDataType()));
boolean add = true;
if(StringUtils.isNotBlank(id) && !attributeVO.getId().contains(id.replace("*",""))){
@@ -920,6 +943,25 @@
}
if(add){
attributeVOS.add(attributeVO);
+ }
+ });
+ }
+ R<BtmTypeVO> btmTypeVOR = btmTypeClient.getDefaultAttrByBtmId(topClassifyVO.getBtmtypeid());
+ if(btmTypeVOR.getCode() != 200){
+ throw new ServiceException("涓氬姟绫诲瀷feign鎺ュ彛璋冪敤鍑洪敊");
+ }
+ List<BtmTypeAttributeVO> defaultAttrVOS = btmTypeVOR.getData().getAttributes();
+ if(!CollectionUtils.isEmpty(defaultAttrVOS)){
+ defaultAttrVOS.stream().forEach(attr->{
+ boolean add = true;
+ if(StringUtils.isNotBlank(id) && !attr.getId().contains(id.replace("*",""))){
+ add = false;
+ }
+ if(StringUtils.isNotBlank(name) && !attr.getId().contains(name.replace("*",""))){
+ add = false;
+ }
+ if(add){
+ attributeVOS.add(attr);
}
});
}
@@ -972,10 +1014,15 @@
}
//浣跨敤涓婚敭鏌ヨ涓�涓�
- List<CodeClassify> classifyDOS = codeClassifyMapper.selectBatchIds(oidLevelMap.keySet());
+ String oids = "";
+ for (String s : oidLevelMap.keySet()) {
+ oids += "'"+s+"',";
+ }
+ List<CodeClassify> classifyDOS = codeClassifyMapper.selectClassifyByKeyAndReseRel(oids.substring(0,oids.length()-1));
if(!CollectionUtils.isEmpty(classifyDOS)){
classifyDOS.stream().forEach(classifyDO->{
classifyDO.setDataLevel(VciBaseUtil.getInt(oidLevelMap.getOrDefault(classifyDO.getOid(),"0")));
+ classifyDO.setLcStatusText(EnumCache.getValue("codeLcstatus",classifyDO.getLcStatus()));
});
}
return classifyDOS;
@@ -1009,7 +1056,19 @@
}
/**
+<<<<<<< Updated upstream
+<<<<<<< Updated upstream
+<<<<<<< Updated upstream
* 涓婚搴撶殑鏍�,宸茶仈璋冧笟鍔$被鍨嬫煡璇eign
+=======
+ * 涓婚搴撶殑鏍�,宸茬粡鑱旇皟涓氬姟绫诲瀷鏌ヨ
+>>>>>>> Stashed changes
+=======
+ * 涓婚搴撶殑鏍�,宸茬粡鑱旇皟涓氬姟绫诲瀷鏌ヨ
+>>>>>>> Stashed changes
+=======
+ * 涓婚搴撶殑鏍�,宸茬粡鑱旇皟涓氬姟绫诲瀷鏌ヨ
+>>>>>>> Stashed changes
*
* @param treeQueryObject 鏍戝舰鏌ヨ瀵硅薄
* @return 涓婚搴撴樉绀烘爲
@@ -1090,7 +1149,7 @@
public CodeClassifyFullInfoBO getClassifyFullInfo(String codeClassifyOid) {
VciBaseUtil.alertNotNull(codeClassifyOid,"鍒嗙被鐨勪富閿�");
CodeClassifyFullInfoBO fullInfo = new CodeClassifyFullInfoBO();
- CodeClassify classifyDO = selectByOid(codeClassifyOid);
+ CodeClassify classifyDO = selectByOidRel(codeClassifyOid);
//鏌ヨ涓婄骇
fullInfo.setCurrentClassifyVO(codeClassifyDO2VO(classifyDO));
// List<Map<String, Object>> maps = codeClassifyMapper.selectAllLevelParentByOid(codeClassifyOid);
--
Gitblit v1.9.3