From 039f227d1f2998c0e0e5cd5d73d343ad57b88145 Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期三, 31 五月 2023 10:42:14 +0800
Subject: [PATCH] 添加主数据分类及其属性为集团集成用

---
 Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IDockingPreAttrMappingService.java         |    3 
 Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreAttrMappingServiceImpl.java |    5 +
 Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreMetaAttr.java             |    1 
 Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/controller/DockingPreApplyCodeController.java      |   32 ++++++++++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeClassifyClient.java                                       |   32 ++++++++++
 Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/mapper/DockingPreClassifyMapper.xml                                        |   13 ++-
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeClassifyClient.java                              |   25 ++++++++
 Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreClassifyServiceImpl.java    |   39 ++++++++----
 Source/UBCS-WEB/vue.config.js                                                                                                          |    4 
 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java                            |    6 +-
 10 files changed, 132 insertions(+), 28 deletions(-)

diff --git a/Source/UBCS-WEB/vue.config.js b/Source/UBCS-WEB/vue.config.js
index afa341a..d3136dc 100644
--- a/Source/UBCS-WEB/vue.config.js
+++ b/Source/UBCS-WEB/vue.config.js
@@ -26,8 +26,8 @@
     proxy: {
       '/api': {
         //鏈湴鏈嶅姟鎺ュ彛鍦板潃
-        target: 'http://localhost:37000',
-        //target: 'http://192.168.3.7:37000',
+          target: 'http://localhost:37000',
+        // target: 'http://192.168.3.7:37000',
         //target: 'http://dev.vci-tech.com:37000',
         //target: 'http://192.168.1.51:37000/',
         //杩滅▼婕旂ず鏈嶅姟鍦板潃,鍙敤浜庣洿鎺ュ惎鍔ㄩ」鐩�
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeClassifyClient.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeClassifyClient.java
index 3ec61d2..0d61f55 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeClassifyClient.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeClassifyClient.java
@@ -17,10 +17,18 @@
 package com.vci.ubcs.code.feign;
 
 import com.vci.ubcs.code.entity.CodeClassify;
+import com.vci.ubcs.code.entity.CodeClassifyTemplateAttr;
+import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
+import com.vci.ubcs.starter.revision.model.TreeQueryObject;
+import com.vci.ubcs.starter.web.pagemodel.Tree;
 import org.springblade.core.mp.support.BladePage;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
 
 /**
  * 涓婚搴撳畾涔夎〃 Feign鎺ュ彛绫�
@@ -35,6 +43,8 @@
 
     String API_PREFIX = "/codeClass";
     String TOP = API_PREFIX + "/top";
+	String CODE_CLASSIFY_TREE=API_PREFIX+"/referCodeClassifyTree";
+	String CODE_ATTRIBUTE_LIST=API_PREFIX+"/listCodeAttributeByClassId";
 
     /**
      * 鑾峰彇涓婚搴撳畾涔夎〃鍒楄〃
@@ -46,4 +56,19 @@
     @GetMapping(TOP)
     BladePage<CodeClassify> top(@RequestParam("current") Integer current, @RequestParam("size") Integer size);
 
+	/***
+	 * 鑾峰彇涓婚搴撳垎绫诲眰绾ф爲
+	 * @param treeQueryObject
+	 * @return 涓婚搴撳垎绫�
+	 */
+	@PostMapping(CODE_CLASSIFY_TREE)
+	public List<Tree> referCodeClassifyTree(@RequestBody TreeQueryObject treeQueryObject);
+
+	/***
+	 * 鑾峰彇涓绘暟鎹ā鏉垮睘鎬т俊鎭�
+	 * @param codeClassifyId
+	 * reutn 杩斿洖涓绘暟鎹ā鏉垮睘鎬т俊鎭�
+	 */
+	@GetMapping(CODE_ATTRIBUTE_LIST)
+	public List<CodeClassifyTemplateAttrVO> listCodeAttributeByClassId(@RequestParam("codeClassifyId") String codeClassifyId);
 }
diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java
index 6384c7c..e12fc17 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java
@@ -27,7 +27,7 @@
 
 	private String name;
 	//闆嗗洟鐮�
-	private String groupcode;
+	//private String groupcode;
 
 	private String description;
 
@@ -342,13 +342,13 @@
 		this.lctid = lctid;
 	}
 
-	public String getGroupcode() {
+/*	public String getGroupcode() {
 		return this.groupcode;
 	}
 
 	public void setGroupcode(String groupcode) {
 		this.groupcode = groupcode;
-	}
+	}*/
 
 	public Map<String, String> getData() {
 		return this.data;
diff --git a/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreMetaAttr.java b/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreMetaAttr.java
index b7ca250..9a5bde0 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreMetaAttr.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreMetaAttr.java
@@ -54,6 +54,7 @@
 	 * 瑙嗗浘妯″瀷id
 	 */
 	@ApiModelProperty(value = "瑙嗗浘妯″瀷涓婚敭")
+	@TableField(value = "viewModeId")
 	private String viewModelId;
 	/***
 	 * 榛樿鍊�
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeClassifyClient.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeClassifyClient.java
index a2f104a..da5f0d1 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeClassifyClient.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeClassifyClient.java
@@ -19,15 +19,26 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.vci.ubcs.code.entity.CodeClassify;
+import com.vci.ubcs.code.entity.CodeClassifyTemplateAttr;
 import com.vci.ubcs.code.mapper.CodeClassifyMapper;
+import com.vci.ubcs.code.service.ICodeClassifyTemplateAttrService;
+import com.vci.ubcs.code.service.MdmEngineService;
+import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
+import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO;
+import com.vci.ubcs.starter.revision.model.TreeQueryObject;
+import com.vci.ubcs.starter.web.pagemodel.Tree;
 import lombok.AllArgsConstructor;
 import org.springblade.core.mp.support.BladePage;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import com.vci.ubcs.code.service.ICodeClassifyService;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
+
+import java.util.List;
 
 /**
  * 涓婚搴撳畾涔夎〃 Feign瀹炵幇绫�
@@ -41,7 +52,9 @@
 public class CodeClassifyClient implements ICodeClassifyClient {
 
     private final ICodeClassifyService plCodeClassifyService;
+	private final ICodeClassifyTemplateAttrService codeClassifyTemplateAttrService;
 
+	private final  MdmEngineService engineService;
 	CodeClassifyMapper codeClassifyMapper;
 
     @Override
@@ -54,4 +67,23 @@
         return BladePage.of(page);
     }
 
+	/***
+	 * 鑾峰彇涓婚搴撳垎绫诲眰绾ф爲
+	 * @param treeQueryObject
+	 * @return 涓婚搴撳垎绫�
+	 */
+	@Override
+	@PostMapping(CODE_CLASSIFY_TREE)
+	public List<Tree> referCodeClassifyTree(TreeQueryObject treeQueryObject) {
+		return plCodeClassifyService.referTree(treeQueryObject);
+	}
+
+	@Override
+	@GetMapping(CODE_ATTRIBUTE_LIST)
+	public List<CodeClassifyTemplateAttrVO> listCodeAttributeByClassId(String codeClassifyId) {
+		CodeClassifyTemplateVO codeClassifyTemplateVO=engineService.getUsedTemplateByClassifyOid(codeClassifyId,true);
+		return codeClassifyTemplateVO.getAttributes();
+	}
+
+
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/controller/DockingPreApplyCodeController.java b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/controller/DockingPreApplyCodeController.java
index 7e52aaa..50c59af 100644
--- a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/controller/DockingPreApplyCodeController.java
+++ b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/controller/DockingPreApplyCodeController.java
@@ -3,6 +3,8 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.vci.ubcs.code.feign.ICodeClassifyClient;
+import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
 import com.vci.ubcs.code.webservice.service.*;
 import com.vci.ubcs.code.webservice.vo.*;
 import com.vci.ubcs.code.webservice.wrapper.DockingPreApplyFormWrapper;
@@ -61,6 +63,11 @@
 	private final IDockingPreApplyFormService dockingPreApplyFormService;
 
 
+	/***
+	 * 灞炴�ф灇涓捐寖鍥存湇鍔�
+	 */
+
+	private final ICodeClassifyClient codeClassifyClient;
 
 	/**
 	 * 鏍规嵁涓绘暟鎹紪鐮乷id鑾峰彇闆嗗洟灞炴�ф槧灏勪俊鎭�
@@ -120,13 +127,34 @@
 	/**
 	 * 鍙傜収鏍� 闆嗗洟鍒嗙被锛堟槸鍚﹀寘鍚睘鎬э級
 	 * @param treeQueryObject 鏍戝舰鏌ヨ瀵硅薄 conditionMap 瀛樹笂 codeclsfid=涓绘暟鎹殑鍒嗙被oid
-	 * @return 涓婚搴撳垎绫绘樉绀烘爲
+	 * @return 闆嗗洟鍒嗙被鏄剧ず鏍�
 	 */
 	@GetMapping("/referTree")
-	public List<Tree> referTree(TreeQueryObject treeQueryObject)  {
+	public List<Tree> referTree(@RequestBody TreeQueryObject treeQueryObject)  {
 		return dockingPreClassifyService.treeCompanyGroupClassify(treeQueryObject);
 	}
 
+	/**
+	 * 鍙傜収鏍� 涓绘暟鎹垎绫�
+	 * @param treeQueryObject 鏍戝舰鏌ヨ瀵硅薄 conditionMap 瀛樹笂 codeclsfid=涓绘暟鎹殑鍒嗙被oid
+	 * @return 涓婚搴撳垎绫绘樉绀烘爲
+	 */
+	@GetMapping("/referCodeClassifyTree")
+	public List<Tree> referCodeClassifyTree(@RequestBody TreeQueryObject treeQueryObject)  {
+		return codeClassifyClient.referCodeClassifyTree(treeQueryObject);
+	}
+
+	/**
+	 * 鍙傜収鏍� 涓绘暟鎹ā鏉垮睘鎬т俊鎭�
+	 * @param codeClassifyId 涓绘暟鎹垎绫讳富閿�
+	 * @return 涓婚搴撳垎绫绘ā鏉垮睘鎬�
+	 */
+	@GetMapping("/referCodeClassifyTree")
+	public List<CodeClassifyTemplateAttrVO>  listCodeAttributeByClassId(String codeClassifyId)  {
+		return codeClassifyClient.listCodeAttributeByClassId(codeClassifyId);
+	}
+
+
 	/***
 	 * 鐢宠闆嗗洟缂栫爜
 	 * @return
diff --git a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IDockingPreAttrMappingService.java b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IDockingPreAttrMappingService.java
index b25838d..e62eacf 100644
--- a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IDockingPreAttrMappingService.java
+++ b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IDockingPreAttrMappingService.java
@@ -41,9 +41,10 @@
 	/***
 	 *鏍¢獙灞炴�ф槧灏勬槸鍚﹂厤缃繃
 	 * @param targetClassifyId
+	 *  @param sourceClassifyId
 	 * @return
 	 */
-	boolean checkHasConfigByTragetCodeclassifyId(String targetClassifyId);
+	boolean checkHasConfigByTragetCodeclassifyId(String targetClassifyId,String sourceClassifyId);
 
 	/***
 	 * 灞炴�ф煡璇�
diff --git a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreAttrMappingServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreAttrMappingServiceImpl.java
index 15fbcdc..d0cc795 100644
--- a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreAttrMappingServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreAttrMappingServiceImpl.java
@@ -192,14 +192,15 @@
 	/***
 	 * 鏍规嵁涓绘暟鎹畂id妫�娴嬫槸鍚﹀睘鎬ф槧灏勯厤缃�
 	 * @param targetClassifyId
+	 * @param sourceClassifyId
 	 * @return
 	 * @throws Exception
 	 */
 	@Override
-	public boolean checkHasConfigByTragetCodeclassifyId(String targetClassifyId){
+	public boolean checkHasConfigByTragetCodeclassifyId(String targetClassifyId,String sourceClassifyId){
 		Long count =0L;
 		try {
-			count = dockingPreAttrMappingMapper.selectCount(Wrappers.<DockingPreAttrMapping>query().lambda().eq(DockingPreAttrMapping::getTargetClassifyId, targetClassifyId));
+			count = dockingPreAttrMappingMapper.selectCount(Wrappers.<DockingPreAttrMapping>query().lambda().eq(DockingPreAttrMapping::getTargetClassifyId, targetClassifyId).eq(DockingPreAttrMapping::getSourceClassifyId,sourceClassifyId));
 		}catch (Throwable e){
 			e.printStackTrace();;
 		} finally {
diff --git a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreClassifyServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreClassifyServiceImpl.java
index 5872185..3ff08a5 100644
--- a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreClassifyServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreClassifyServiceImpl.java
@@ -19,10 +19,7 @@
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
+import java.util.*;
 
 
 /**
@@ -36,7 +33,7 @@
 	/**
 	 * 涓婄骇鑺傜偣鐨勫睘鎬у悕绉�
 	 */
-	public static  final String PARENT_FIELD_NAME = "parentCodeClassifyOid";
+	public static  final String PARENT_FIELD_NAME = "pid";
 	/***
 	 * 闆嗗洟鍒嗙被灞炴��
 	 */
@@ -70,7 +67,11 @@
 	@Override
 	public List<Tree> treeCompanyGroupClassify(TreeQueryObject treeQueryObject) {
 		log.info("鑾峰彇闆嗗洟鍒嗙被鏍憇tart...");
+
 		Map<String,String> conditionMap= treeQueryObject.getConditionMap();
+		if(conditionMap==null){
+			conditionMap=new HashMap<>();
+		}
 		TreeWrapperOptions treeWrapperOptions = new TreeWrapperOptions(PARENT_FIELD_NAME.toLowerCase(Locale.ROOT));
 		treeWrapperOptions.copyFromTreeQuery(treeQueryObject);
 		List<DockingPreClassifyVO> dockingPreClassifyVOS= getCompanyGourpClassByParentId(treeQueryObject.getParentOid(),true);
@@ -78,27 +79,39 @@
 			//鍙互鍦ㄨ繖閲屽鐞嗘爲鑺傜偣鐨勬樉绀�
 			return s.getId() + " " + s.getName();//(FrameworkDataLCStatus.DISABLED.getValue().equalsIgnoreCase(s.getLcStatus()) ? (" 銆愬仠鐢ㄣ�� ") : "");
 		});
+
+		setTreeConig(tree,conditionMap);
+		log.info("鑾峰彇闆嗗洟鍒嗙被鏍慹nd...");
+		return tree;
+	}
+	private void setTreeConig(List<Tree> tree,Map<String,String >conditionMap){
+		boolean checkHasChild=false;
 		Iterator var6 =  tree.listIterator();
 		while(var6.hasNext()){
 			Tree trees = (Tree) var6.next();
-			boolean checkHasChild=dockingPreClassifyMapper.checkHasChild(trees.getOid());
+			List<Tree> childrenList=trees.getChildren();
+			if(childrenList.size()>0){
+				checkHasChild=true;
+			}
+			boolean checkHas=false;
 			//濡傛灉涓庢潯浠朵紶杩囨潵鐨勫�煎尮閰嶇殑涓婂垯璁剧疆涓洪�変腑
 			if(conditionMap.containsKey(MdmBtmTypeConstant.CODE_CLASSIFY_OID_FIELD)){
 				String codeClassifyId=conditionMap.get(MdmBtmTypeConstant.CODE_CLASSIFY_OID_FIELD);
-				boolean checkHas=dockingPreAttrMappingService.checkHasConfigByTragetCodeclassifyId(codeClassifyId);
-				if(checkHas) {
-					trees.setChecked(true);
-				}
+				checkHas = dockingPreAttrMappingService.checkHasConfigByTragetCodeclassifyId(codeClassifyId, trees.getOid());
 			}
-			;
+			if (checkHas) {
+				trees.setChecked(true);
+			}
 			if(checkHasChild){
 				trees.setLeaf(false);
 			}else{
 				trees.setLeaf(true);
 			}
+			if(checkHasChild) {
+				setTreeConig(childrenList,conditionMap);
+			}
 		}
-		log.info("鑾峰彇闆嗗洟鍒嗙被鏍慹nd...");
-		return tree;
+
 	}
 
 	/***
diff --git a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/mapper/DockingPreClassifyMapper.xml b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/mapper/DockingPreClassifyMapper.xml
index f030ee1..220f181 100644
--- a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/mapper/DockingPreClassifyMapper.xml
+++ b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/mapper/DockingPreClassifyMapper.xml
@@ -67,14 +67,17 @@
         codeclassify0.NODELINKNAME   as nodelinkname,
         codeclassify0.PID   as pid
         from PL_CODE_JCLASSIFY codeclassify0
-        <where>
+        <!--<where>-->
             <if test="oid != null and oid != ''">
-                codeclassify0.pid = '${oid}'
+                start with
+                    codeclassify0.pid = '${oid}'
+                connect by prior codeclassify0.oid =codeclassify0.pid
             </if>
-            <if test="oid = null">
+          <!--  <if test="oid = null">
                 codeclassify0.pid is null
-            </if>
-        </where>
+            </if>-->
+        <!--</where>-->
+
         order by id asc
     </select>
 

--
Gitblit v1.9.3