From dd3f57317edc84965849d3eb78bf0216dfd02206 Mon Sep 17 00:00:00 2001
From: wang1 <844966816@qq.com>
Date: 星期三, 14 六月 2023 14:57:42 +0800
Subject: [PATCH] 修复密码策略异常bug
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java | 94 ++++++++++++++++++++++++++++++++++++++++------
1 files changed, 81 insertions(+), 13 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..0b567fd 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;
@@ -53,14 +53,15 @@
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;
import javax.annotation.Resource;
+import java.awt.event.ItemEvent;
import java.io.File;
import java.util.*;
import java.util.stream.Collectors;
+import java.util.stream.Stream;
import static com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant.*;
@@ -439,13 +440,43 @@
}
/**
+ * 涓婚敭鏌ヨ鏁版嵁瀵硅薄,鍏宠仈鏌ヨ
+ * @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 = null;
+ String id = null;
+ String lcStatus = null;
+ if(!Objects.isNull(treeQueryObject.getConditionMap())){
+ id = treeQueryObject.getConditionMap().getOrDefault("id",null);
+ lcStatus = treeQueryObject.getConditionMap().getOrDefault("lcStatus",null);
+ }
+ if(StringUtils.isNotBlank(id) || StringUtils.isNotBlank(lcStatus) ){
+ doList = codeClassifyMapper
+ .selectCodeClassifyDOByTree(treeQueryObject.getConditionMap().get("id"),treeQueryObject.getConditionMap().get("lcStatus"),treeQueryObject.getParentOid());
+ }else{
+ 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 +904,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 +928,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,14 +942,14 @@
BeanUtils.copyProperties(attr,attributeVO);
attributeVO.setAttrDataType(attr.getAttrDataType());
attributeVO.setAttributeLength(attr.getAttributeLength());
- attributeVO.setBtmTypeId(data.getId());
- attributeVO.setBtmname(data.getName());
- attributeVO.setAttrDataTypeText(EnumCache.getValue(EnumEnum.VCO_FIELD_TYPE,attr.getAttrDataType()));
+ attributeVO.setBtmTypeId(btmTypeDetail.getData().getId());
+ attributeVO.setBtmname(btmTypeDetail.getData().getName());
+ attributeVO.setAttrDataTypeText(EnumCache.getValue(EnumEnum.VCI_FIELD_TYPE,attr.getAttrDataType()));
boolean add = true;
if(StringUtils.isNotBlank(id) && !attributeVO.getId().contains(id.replace("*",""))){
add = false;
}
- if(StringUtils.isNotBlank(name) && !attributeVO.getId().contains(name.replace("*",""))){
+ if(StringUtils.isNotBlank(name) && !attributeVO.getName().contains(name.replace("*",""))){
add = false;
}
if(add){
@@ -923,6 +957,36 @@
}
});
}
+ R<BtmTypeVO> btmTypeVOR = btmTypeClient.getDefaultAttrByBtmId(topClassifyVO.getBtmtypeid());
+ if(btmTypeVOR.getCode() != 200){
+ throw new ServiceException("涓氬姟绫诲瀷feign鎺ュ彛璋冪敤鍑洪敊");
+ }
+ List<BtmTypeAttributeVO> defaultAttrVOS = btmTypeVOR.getData().getAttributes();
+
+ // 鍙栦袱涓泦鍚堝樊闆�
+ List<String> ids = unDefaultAttributes.stream().map(BtmTypeAttributeVO::getId).collect(Collectors.toList());
+ defaultAttrVOS.forEach(item->{
+ if(!ids.contains(item.getId())){
+ BtmTypeAttributeVO attributeVO = new BtmTypeAttributeVO();
+ BeanUtils.copyProperties(item,attributeVO);
+ attributeVO.setAttrDataType(item.getAttrDataType());
+ attributeVO.setAttributeLength(item.getAttributeLength());
+ attributeVO.setBtmTypeId(btmTypeDetail.getData().getId());
+ attributeVO.setBtmname(btmTypeDetail.getData().getName());
+ attributeVO.setAttrDataTypeText(EnumCache.getValue(EnumEnum.VCI_FIELD_TYPE,item.getAttrDataType()));
+ boolean add = true;
+ if(StringUtils.isNotBlank(id) && !item.getId().contains(id.replace("*",""))){
+ add = false;
+ }
+ if(StringUtils.isNotBlank(name) && !item.getName().contains(name.replace("*",""))){
+ add = false;
+ }
+ if(add){
+ attributeVOS.add(attributeVO);
+ }
+ }
+ });
+
DataGrid<BtmTypeAttributeVO> dataGrid = new DataGrid<>();
dataGrid.setData(attributeVOS);
dataGrid.setTotal(attributeVOS.size());
@@ -972,10 +1036,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;
@@ -1010,7 +1079,6 @@
/**
* 涓婚搴撶殑鏍�,宸茶仈璋冧笟鍔$被鍨嬫煡璇eign
- *
* @param treeQueryObject 鏍戝舰鏌ヨ瀵硅薄
* @return 涓婚搴撴樉绀烘爲
*/
@@ -1090,7 +1158,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