From 744171debef6aee198be296520f0b86dc1586723 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 02 八月 2023 20:02:08 +0800
Subject: [PATCH] 提交代码

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java |   66 +++++++++++++++++++++++++++------
 1 files changed, 54 insertions(+), 12 deletions(-)

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 e569cfb..5871992 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
@@ -5,24 +5,21 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO;
 import com.vci.ubcs.code.bo.CodeTemplateAttrSqlBO;
 import com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant;
-import com.vci.ubcs.code.constant.MdmBtmTypeConstant;
 import com.vci.ubcs.code.dto.CodeDeleteBatchDTO;
 import com.vci.ubcs.code.dto.CodeOrderDTO;
 import com.vci.ubcs.code.dto.datapush.BaseModelDTO;
 import com.vci.ubcs.code.entity.*;
 import com.vci.ubcs.code.enumpack.*;
-import com.vci.ubcs.code.mapper.CodeWupinMapper;
 import com.vci.ubcs.code.mapper.CommonsMapper;
 import com.vci.ubcs.code.service.*;
 import com.vci.ubcs.code.vo.CodeKeyAttrRepeatVO;
+import com.vci.ubcs.code.vo.CodeReferConfigVO;
 import com.vci.ubcs.code.vo.pagemodel.UITableFieldVO;
 import com.vci.ubcs.code.vo.pagemodel.UITablePageVO;
 import com.vci.ubcs.code.vo.pagemodel.*;
-import com.vci.ubcs.flow.core.entity.ProcessStageAttr;
 import com.vci.ubcs.flow.core.feign.IMDMIFlowAttrClient;
 import com.vci.ubcs.flow.core.vo.ProcessStageAttrVO;
 import com.vci.ubcs.omd.constant.BtmTypeLcStatusConstant;
@@ -41,7 +38,6 @@
 import com.vci.ubcs.starter.util.UBCSSqlKeyword;
 import com.vci.ubcs.starter.web.constant.QueryOptionConstant;
 import com.vci.ubcs.starter.web.constant.RegExpConstant;
-import com.vci.ubcs.starter.web.constant.VciSystemVarConstants;
 import com.vci.ubcs.starter.web.enumpck.BooleanEnum;
 import com.vci.ubcs.starter.web.enumpck.UserSecretEnum;
 import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum;
@@ -70,7 +66,6 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
-import org.springframework.web.bind.annotation.RequestBody;
 
 import javax.annotation.Resource;
 import java.beans.BeanInfo;
@@ -96,7 +91,7 @@
  * @date 2022-2-22
  */
 @Service
-public class MdmEngineServiceImpl extends ServiceImpl<CodeWupinMapper, CodeWupin> implements MdmEngineService {
+public class MdmEngineServiceImpl implements MdmEngineService {
 
 
     /**
@@ -104,7 +99,6 @@
      */
     @Resource
     private CodeClstemplateServiceImpl templateService;
-
 
     /**
      * 鐢熸垚缂栫爜鐨勬湇鍔�
@@ -187,7 +181,8 @@
     CommonsMapper commonsMapper;
 
     @Resource
-    CodeWupinMapper codeWupinMapper;
+	ICodeBasicSecService codeBasicSecService;
+
     /**
      * 缂栫爜瑙勫垯鐨勬湇鍔�
      */
@@ -1118,8 +1113,9 @@
             itemVO.setType("refer");
             itemVO.setShowField(itemVO.getField() + "name");
             if (StringUtils.isNotBlank(attrVO.getReferConfig())) {
-                //閰嶇疆鐨勫唴瀹�
-                itemVO.setReferConfig(JSONObject.parseObject(attrVO.getReferConfig(), UIFormReferVO.class));
+                // 閰嶇疆鐨勫唴瀹�
+                // itemVO.setReferConfig(JSONObject.parseObject(attrVO.getReferConfig(), UIFormReferVO.class));
+				itemVO.setReferConfig(referConfigToUIUiTable(attrVO.getReferConfig()));
             } else {
                 UIFormReferVO formReferVO = new UIFormReferVO();
                 formReferVO.setType("default");
@@ -1233,7 +1229,8 @@
             fieldVO.setShowField(fieldVO.getField());
             if (StringUtils.isNotBlank(attrVO.getReferConfig())) {
                 //閰嶇疆鐨勫唴瀹�
-                fieldVO.setReferConfig(JSONObject.parseObject(attrVO.getReferConfig(), UIFormReferVO.class));
+                // fieldVO.setReferConfig(JSONObject.parseObject(attrVO.getReferConfig(), UIFormReferVO.class));
+				fieldVO.setReferConfig(referConfigToUIUiTable(attrVO.getReferConfig()));
             } else {
                 UIFormReferVO formReferVO = new UIFormReferVO();
                 formReferVO.setType("default");
@@ -1266,6 +1263,51 @@
         return fieldVO;
     }
 
+	/**
+	 * 灏唕eferconfig杞崲涓篔SON鏍煎紡鐨刄IFormReferVO
+	 * @param codeReferConfigVO
+	 * @return
+	 */
+	private UIFormReferVO referConfigToUIUiTable(String codeReferConfigVO){
+		CodeReferConfigVO codeReferConfig = JSONObject.parseObject(codeReferConfigVO, CodeReferConfigVO.class);
+		// 鎷疯礉涓轰互鍓嶇殑鑰佸璞�
+		UIFormReferVO uiFormReferVO = new UIFormReferVO();
+		org.springblade.core.tool.utils.BeanUtil.copy(codeReferConfig,uiFormReferVO);
+
+		// 琛ㄦ牸鐨勮嚜瀹氫箟瀹氫箟
+		UITableCustomDefineVO uiTableConfigVO = new UITableCustomDefineVO();
+		uiTableConfigVO.setPage(new UITablePageVO(codeReferConfig.getLimit(),1));
+		// 鍒楄〃鐨勫垪鐨勪俊鎭浆鎹�
+		List<UITableFieldVO> uiTableFieldVOs = new ArrayList<>();
+		// 蹇�熸煡璇㈠垪
+		List<UITableFieldVO> queryColumns = new ArrayList<>();
+		if(!CollectionUtils.isEmpty(codeReferConfig.getCodeShowFieldConfigVOS())){
+			codeReferConfig.getCodeShowFieldConfigVOS().stream().forEach(showField ->{
+				UITableFieldVO tableColVO = new UITableFieldVO();
+				org.springblade.core.tool.utils.BeanUtil.copy(showField,tableColVO);
+				tableColVO.setSortField(showField.getAttrSortField());
+				uiTableFieldVOs.add(tableColVO);
+				if(showField.getIsQuery().equals("true")){
+					queryColumns.add(tableColVO);
+				}
+			});
+		}
+		// 鏄剧ず鐨勫垪
+		uiTableConfigVO.setCols(uiTableFieldVOs);
+		// 蹇�熸煡璇㈠垪
+		uiTableConfigVO.setQueryColumns(queryColumns);
+		//set缁欒〃鏍奸厤缃睘鎬�
+		uiFormReferVO.setTableConfig(uiTableConfigVO);
+		// 绛涢�夋潯浠�
+		HashMap<String, String> whereMap = new HashMap<>();
+		if(!codeReferConfig.getCodeSrchCondConfigVOS().isEmpty()){
+			codeReferConfig.getCodeSrchCondConfigVOS().stream().forEach(srch->{
+				whereMap.put(srch.getFilterField()+srch.getFilterType(),srch.getFilterValue());
+			});
+		}
+		uiFormReferVO.setWhere(whereMap);
+		return uiFormReferVO;
+	}
 
     /**
      * 鐩镐技椤规煡璇�

--
Gitblit v1.9.3