From 67b0b28fc5e4364c27362fcbf13b655a75b0315a Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期二, 27 六月 2023 20:12:06 +0800
Subject: [PATCH] 修改编码规则引用码段参照字段存储时json格式问题

---
 Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue                                      |    4 +-
 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/UITablePageVO.java |    8 ++++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java       |   61 +++++++++++++++++++++++++++++-
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeReferConfig.java         |    2 
 4 files changed, 69 insertions(+), 6 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue b/Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue
index 16e3063..f5bbfaf 100644
--- a/Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue
+++ b/Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue
@@ -640,7 +640,7 @@
                                     prop: 'id',
                                     rules: [{
                                         required: true,
-                                        message: "(寮�濮嬫寔涔呭寲鏃剁紪鍙�)蹇呭~椤逛笉鑳戒负绌�",
+                                        message: "(寮�鍚寔涔呭寲鏃剁紪鍙�)蹇呭~椤逛笉鑳戒负绌�",
                                         trigger: "blur",
                                     }],
                                     span: 6,
@@ -650,7 +650,7 @@
                                     prop: 'name',
                                     rules: [{
                                         required: true,
-                                        message: "(寮�濮嬫寔涔呭寲鏃跺悕绉�)蹇呭~椤逛笉鑳戒负绌�",
+                                        message: "(寮�鍚寔涔呭寲鏃跺悕绉�)蹇呭~椤逛笉鑳戒负绌�",
                                         trigger: "blur",
                                     }],
                                     span: 6,
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeReferConfig.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeReferConfig.java
index 4254e91..d388e8d 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeReferConfig.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeReferConfig.java
@@ -100,7 +100,7 @@
 	/**
 	 * 姣忛〉鏄剧ず鏉℃暟
 	 */
-	private String limit;
+	private Integer limit;
 
 	/**
 	 * 鎺掑簭瀛楁
diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/UITablePageVO.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/UITablePageVO.java
index e2b722a..39ad794 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/UITablePageVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/UITablePageVO.java
@@ -23,6 +23,14 @@
 	 */
 	private Integer page = 1;
 
+	public UITablePageVO(Integer limit, Integer page) {
+		this.limit = limit;
+		this.page = page;
+	}
+
+	public UITablePageVO() {
+	}
+
 	public Integer getLimit() {
 		return limit;
 	}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java
index 64161fa..439fd53 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java
@@ -17,6 +17,8 @@
 package com.vci.ubcs.code.service.impl;
 
 import com.alibaba.cloud.commons.lang.StringUtils;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -28,6 +30,7 @@
 import com.vci.ubcs.code.dto.CodeBasicSecDTO;
 import com.vci.ubcs.code.dto.CodeRuleDTO;
 import com.vci.ubcs.code.entity.*;
+import com.vci.ubcs.code.enumpack.CodeSecTypeEnum;
 import com.vci.ubcs.code.lifecycle.CodeRuleLC;
 import com.vci.ubcs.code.mapper.CodeRuleMapper;
 import com.vci.ubcs.code.mapper.CodeSerialValueMapper;
@@ -36,16 +39,18 @@
 import com.vci.ubcs.code.service.ICodeBasicSecService;
 import com.vci.ubcs.code.service.ICodeClassifyService;
 import com.vci.ubcs.code.service.ICodeRuleService;
+import com.vci.ubcs.code.vo.pagemodel.CodeBasicSecVO;
 import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO;
 import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
 import com.vci.ubcs.code.wrapper.CodeClassifyWrapper;
 import com.vci.ubcs.code.wrapper.CodeRuleWrapper;
+import com.vci.ubcs.omd.cache.EnumCache;
+import com.vci.ubcs.omd.enums.EnumEnum;
 import com.vci.ubcs.starter.exception.VciBaseException;
 import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
 import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
 import com.vci.ubcs.starter.util.UBCSCondition;
-import com.vci.ubcs.starter.web.pagemodel.BladeQueryObject;
-import com.vci.ubcs.starter.web.pagemodel.KeyValue;
+import com.vci.ubcs.starter.web.pagemodel.*;
 import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
 import com.vci.ubcs.starter.web.util.VciBaseUtil;
 import com.vci.ubcs.starter.web.util.WebUtil;
@@ -486,11 +491,61 @@
 			//濡傛灉鏈塴cstatus鐨勭被鐨勮瘽
 			vo.setLcStatusText(CodeRuleLC.getTextByValue(vo.getLcStatus()));
 			if (hasSec) {
+				List<CodeBasicSecVO> codeBasicSecVOS = codeBasicSecService.listCodeBasicSecByRuleOid(vo.getOid());
+				// 鍒ゆ柇鏄惁涓哄紩鐢ㄧ爜娈碉紝濡傛灉鏄簲鐢ㄧ爜娈电殑璇濓紝涓轰簡閫傞厤鍓嶇缁勪欢锛岃繖閲岃瀵硅〃杩涜澶勭悊涓�涓嬶紝鎸夌収浠ュ墠鐨勫弬鐓ф牸寮忚繘琛岃浆鎹�
+				codeBasicSecVOS.stream().peek(item->{
+					//寮曠敤鐮佹
+					if(item.getSecType().equals(CodeSecTypeEnum.CODE_REFER_SEC) && StringUtils.isNotEmpty(item.getReferConfig())){
+						item.setReferConfig(referConfigTOUIUiTable(item));
+					}
+				});
 				//鏌ヨ鐮佹
-				vo.setSecVOList(codeBasicSecService.listCodeBasicSecByRuleOid(vo.getOid()));
+				vo.setSecVOList(codeBasicSecVOS);
 			}
 		}
 		return vo;
 	}
 
+	/**
+	 * 灏唕eferconfig杞崲涓篔SON鏍煎紡鐨刄IFormReferVO
+	 * @param item
+	 * @return
+	 */
+	private String referConfigTOUIUiTable(CodeBasicSecVO item){
+		// JSON鏍煎紡鐨勫弬鐓ч厤缃浆鎹负瀵硅薄
+		CodeReferConfig codeReferConfig = JSONObject.parseObject(item.getReferConfig(), CodeReferConfig.class);
+		// 鎷疯礉涓轰互鍓嶇殑鑰佸璞�
+		UIFormReferVO uiFormReferVO = new UIFormReferVO();
+		BeanUtil.copy(codeReferConfig,uiFormReferVO);
+
+		// 琛ㄦ牸鐨勮嚜瀹氫箟瀹氫箟
+		UITableCustomDefineVO uiTableCustomDefineVO = new UITableCustomDefineVO();
+		uiTableCustomDefineVO.setPage(new UITablePageVO(codeReferConfig.getLimit(),1));
+		// 鍒楄〃鐨勫垪鐨勪俊鎭浆鎹�
+		List<UITableFieldVO> uiTableFieldVOs = new ArrayList<>();
+		// 蹇�熸煡璇㈠垪
+		List<UITableFieldVO> queryColumns = new ArrayList<>();
+		codeReferConfig.getCodeShowFieldConfigs().stream().forEach(showField ->{
+			UITableFieldVO uiTableFieldVO = new UITableFieldVO();
+			BeanUtil.copy(showField,uiTableFieldVO);
+			uiTableFieldVOs.add(uiTableFieldVO);
+			if(showField.getIsQuery().equals("true")){
+				queryColumns.add(uiTableFieldVO);
+			}
+		});
+		// 鏄剧ず鐨勫垪
+		uiTableCustomDefineVO.setCols(uiTableFieldVOs);
+		// 蹇�熸煡璇㈠垪
+		uiTableCustomDefineVO.setQueryColumns(queryColumns);
+		// 绛涢�夋潯浠�
+		HashMap<String, String> whereMap = new HashMap<>();
+		codeReferConfig.getCodeSrchCondConfigs().stream().forEach(srch->{
+			whereMap.put(srch.getFilterValue()+"_"+srch.getFilterType(),srch.getFilterValue());
+		});
+		uiFormReferVO.setWhere(whereMap);
+		return JSONObject.toJSONString(uiFormReferVO);
+	}
+
+
+
 }

--
Gitblit v1.9.3