From 1d5845e4b98f9c69833e54ef69253d85d0c69fe8 Mon Sep 17 00:00:00 2001
From: yuxc <653031404@qq.com>
Date: 星期五, 09 六月 2023 15:10:59 +0800
Subject: [PATCH] 1、对MDM服务的接口测试更改。 2、增加sys的菜单接口用于通过业务类型获取相关的界面按钮。

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyTemplateAttrMapper.java            |    7 
 Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java                         |    9 
 Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/mapper/MenuMapper.java                            |    6 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java                    |   65 +++++
 Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java                     |   10 +
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java |    8 
 Source/UBCS/ubcs-service/ubcs-code/pom.xml                                                                               |   12 +
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeResembleRuleServiceImpl.java         |   53 +++++
 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClassifyTemplateAttrMapper.xml                          |    8 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java                             |    2 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeResembleRule.java                  |  110 +++++++++++
 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml                                      |   56 +++++
 Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml                                            |    9 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeResembleRuleMapper.java                    |   20 ++
 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeResembleRule.xml                                        |   40 ++++
 Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/SysClient.java                              |   10 
 Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClientFallback.java             |    5 
 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml                                           |    4 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java                   |   93 +++++++--
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeResembleRuleService.java                 |   17 +
 Source/UBCS/ubcs-service/ubcs-omd/pom.xml                                                                                |    6 
 Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java                 |    8 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java                        |   15 +
 23 files changed, 529 insertions(+), 44 deletions(-)

diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeResembleRule.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeResembleRule.java
new file mode 100644
index 0000000..f018f42
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeResembleRule.java
@@ -0,0 +1,110 @@
+package com.vci.ubcs.code.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.vci.ubcs.starter.annotation.Transient;
+import com.vci.ubcs.starter.revision.model.BaseModel;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 鐩镐技椤�
+ * @author weidy
+ * @date 2022-1-14
+ */
+//@VciBtmType(name = MdmBtmTypeConstant.CODE_CLASSIFY,text = "涓婚搴撳垎绫�",lifeCycle = FrameWorkLcStatusConstant.FRAME_WORK_LIFE_CYCLE_NAME)
+@Data
+@TableName("PL_CODE_RESEMBLERULE")
+@ApiModel(value = "CodeResemblerule瀵硅薄", description = "鐩镐技椤�")
+@EqualsAndHashCode(callSuper = true)
+public class CodeResembleRule extends BaseModel {
+
+	/**
+	 * 搴忓垪鍖�
+	 */
+	private static final long serialVersionUID = 7375719926432663351L;
+
+	/**
+	 * 鏄惁蹇界暐澶у皬鍐�
+	 */
+//	@Column(columnDefinition = "鏄惁蹇界暐澶у皬鍐�")
+	private String ignoreCaseFlag;
+
+	/**
+	 * 鏄惁蹇界暐绌烘牸
+	 */
+//	@Column(columnDefinition = "鏄惁蹇界暐绌烘牸")
+	private String ignoreSpaceFlag;
+
+	/**
+	 * 鏄惁蹇界暐鍏ㄩ儴绌烘牸
+	 */
+//	@Column(columnDefinition = "鏄惁蹇界暐鍏ㄩ儴绌烘牸")
+	private String ignoreAllSpaceFlag;
+
+	/**
+	 * 鏄惁蹇界暐鍏ㄥ崐瑙�
+	 */
+//	@Column(columnDefinition = "鏄惁蹇界暐鍏ㄥ崐瑙�")
+	private String ignoreWidthFlag;
+
+	/**
+	 * 杩炴帴绗�
+	 */
+//	@Column(columnDefinition = "杩炴帴绗�",length = 200)
+	private String linkCharacter;
+
+	public String getIgnoreWidthFlag() {
+		return ignoreWidthFlag;
+	}
+
+	public void setIgnoreWidthFlag(String ignoreWidthFlag) {
+		this.ignoreWidthFlag = ignoreWidthFlag;
+	}
+
+	public String getIgnoreCaseFlag() {
+		return ignoreCaseFlag;
+	}
+
+	public void setIgnoreCaseFlag(String ignoreCaseFlag) {
+		this.ignoreCaseFlag = ignoreCaseFlag;
+	}
+
+	public String getIgnoreSpaceFlag() {
+		return ignoreSpaceFlag;
+	}
+
+	public void setIgnoreSpaceFlag(String ignoreSpaceFlag) {
+		this.ignoreSpaceFlag = ignoreSpaceFlag;
+	}
+
+	public String getIgnoreAllSpaceFlag() {
+		return ignoreAllSpaceFlag;
+	}
+
+	public void setIgnoreAllSpaceFlag(String ignoreAllSpaceFlag) {
+		this.ignoreAllSpaceFlag = ignoreAllSpaceFlag;
+	}
+
+
+	public String getLinkCharacter() {
+		return linkCharacter;
+	}
+
+	public void setLinkCharacter(String linkCharacter) {
+		this.linkCharacter = linkCharacter;
+	}
+
+	@Override
+	public String toString() {
+		return "CodeResembleRuleDO{" +
+			" ignoreCaseFlag='" + ignoreCaseFlag + '\'' +
+			", ignoreSpaceFlag='" + ignoreSpaceFlag + '\'' +
+			", ignoreAllSpaceFlag='" + ignoreAllSpaceFlag + '\'' +
+			", ignoreWidthFlag='" + ignoreWidthFlag + '\'' +
+			", linkCharacter='" + linkCharacter + '\'' +
+			"} " + super.toString();
+	}
+
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java
index b72209a..2b17dbb 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java
@@ -40,6 +40,7 @@
 
 	String API_PREFIX = "/client";
 	String MENU = API_PREFIX + "/menu";
+	String MENU_BUTTON = API_PREFIX + "/menu-button";
 	String DEPT = API_PREFIX + "/dept";
 	String DEPT_IDS = API_PREFIX + "/dept-ids";
 	String DEPT_IDS_FUZZY = API_PREFIX + "/dept-ids-fuzzy";
@@ -79,6 +80,15 @@
 	R<Menu> getMenu(@RequestParam("id") Long id);
 
 	/**
+	 * 鑾峰彇鑿滃崟涓嬮潰鐨勬寜閽�
+	 *
+	 * @param btmType 涓氬姟绫诲瀷
+	 * @return List<Menu>
+	 */
+	@GetMapping(MENU_BUTTON)
+	R<List<Menu>> getMenuButtonByType(@RequestParam("btmType") String btmType);
+
+	/**
 	 * 鑾峰彇閮ㄩ棬
 	 *
 	 * @param id 涓婚敭
diff --git a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClientFallback.java b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClientFallback.java
index 2cf5e43..738acdf 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClientFallback.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClientFallback.java
@@ -36,6 +36,11 @@
 	}
 
 	@Override
+	public R<List<Menu>> getMenuButtonByType(String btmType) {
+		return R.fail("鑾峰彇鏁版嵁澶辫触");
+	}
+
+	@Override
 	public R<Dept> getDept(Long id) {
 		return R.fail("鑾峰彇鏁版嵁澶辫触");
 	}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/pom.xml b/Source/UBCS/ubcs-service/ubcs-code/pom.xml
index 369d597..65412a1 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/pom.xml
+++ b/Source/UBCS/ubcs-service/ubcs-code/pom.xml
@@ -73,6 +73,18 @@
                 </exclusion>
             </exclusions>
         </dependency>
+        <dependency>
+            <groupId>com.vci.ubcs</groupId>
+            <artifactId>ubcs-user-api</artifactId>
+            <version>3.0.1.RELEASE</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.vci.ubcs</groupId>
+            <artifactId>ubcs-system-api</artifactId>
+            <version>3.0.1.RELEASE</version>
+            <scope>compile</scope>
+        </dependency>
         <!--<dependency>
             <groupId>com.vci.ubcs</groupId>
             <artifactId>ubcs-webservice</artifactId>
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java
index 87aa4dd..ee01f3b 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java
@@ -31,9 +31,7 @@
 import java.io.File;
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 @RestController
 //@AllArgsConstructor
@@ -96,20 +94,20 @@
 		String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + LocalFileUtil.getFileNameForIE(file.getOriginalFilename());
 		File file1 = new File(excelFileName);
 		try {
-//			file.transferTo(new File(excelFileName));
-//			CodeImProtRusultVO codeImProtRusultVO = mdmIOService.batchImportCode(orderDTO,file1);
-//			if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())||StringUtils.isNotBlank(codeImProtRusultVO.getRedisUuid())){
-//				//鏀惧埌map閲�
-//				R result = R.fail("瀵煎叆澶辫触");
-//				if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())) {
-//					String filedUUid = ControllerUtil.putErrorFile(codeImProtRusultVO.getFilePath());
-//					codeImProtRusultVO.setFileOid(filedUUid);
-//				}
-//				result.setData(codeImProtRusultVO);
-//				return result;
-//			}else {
-//				return R.success("鎿嶄綔鎴愬姛锛�");
-//			}
+			file.transferTo(new File(excelFileName));
+			CodeImProtRusultVO codeImProtRusultVO = mdmIOService.batchImportCode(orderDTO,file1);
+			if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())||StringUtils.isNotBlank(codeImProtRusultVO.getRedisUuid())){
+				//鏀惧埌map閲�
+				R result = R.fail("瀵煎叆澶辫触");
+				if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())) {
+					String filedUUid = ControllerUtil.putErrorFile(codeImProtRusultVO.getFilePath());
+					codeImProtRusultVO.setFileOid(filedUUid);
+				}
+				result.setData(codeImProtRusultVO);
+				return result;
+			}else {
+				return R.success("鎿嶄綔鎴愬姛锛�");
+			}
 		}catch (Throwable e) {
 			logger.error("瀵煎叆閿欒",e);
 			String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "閿欒.txt";
@@ -126,7 +124,7 @@
 		}finally {
 			file1.delete();
 		}
-		return null;
+//		return null;
 	}
 
 
@@ -474,8 +472,63 @@
 
 	@GetMapping("/thisistest")
 	@ResponseBody
-	public List<BaseModel> thisistest(String codeClassifyOid, String functionId) throws Exception {
-		return engineService.selectByTypeAndOid("wupin", "b1511bb3-a773-43e2-ac85-a7fde7314a0f,3e08970024835e69f6c2b2ecd90c48c3,582ff205-0dfb-43e0-8223-e772ff1851ab,db0400fe-cc90-4d9d-8da7-1edf06b1481b");
+	public Integer thisistest(String codeClassifyOid, String functionId) throws Exception {
+//		return engineService.selectByTypeAndOid("wupin", "b1511bb3-a773-43e2-ac85-a7fde7314a0f,3e08970024835e69f6c2b2ecd90c48c3,582ff205-0dfb-43e0-8223-e772ff1851ab,db0400fe-cc90-4d9d-8da7-1edf06b1481b");
+
+		List<BaseModel> models = new ArrayList<>();
+		BaseModel baseModel = new BaseModel();
+		Map<String,String > map = new HashMap<>();
+		map.put("JZL","6789");
+		map.put("JZRXX","67891");
+		map.put("JZXZB","67892");
+		map.put("JSZGL","67893");
+		map.put("JSSXT","67894");
+		baseModel.setBtmname("djii");
+		baseModel.setCreator("fjivis");
+		baseModel.setId("vcia");
+		baseModel.setOid("0d86b1ba-9e9e-4d3d-9ae4-f862c3684e74");
+		baseModel.setCreateTime(new Date());
+		baseModel.setTs(new Date());
+		baseModel.setData(map);
+		models.add(baseModel);
+
+		BaseModel baseModel1 = new BaseModel();
+		Map<String,String > map1 = new HashMap<>();
+		map1.put("JZL","6789z");
+		map1.put("JZRXX","67891z");
+		map1.put("JZXZB","67892z");
+		map1.put("JSZGL","67893z");
+		map1.put("JSSXT","67894z");
+		baseModel1.setBtmname("djiiz");
+		baseModel1.setCreator("fjivisz");
+		baseModel1.setId("vciaz");
+		baseModel1.setTs(new Date());
+		baseModel1.setOid("4a00be07-f5a8-4a9b-88fb-d52a0d9cf546");
+		baseModel1.setCreateTime(new Date());
+		baseModel1.setData(map1);
+		models.add(baseModel1);
+
+		BaseModel baseModel2 = new BaseModel();
+		Map<String,String > map2 = new HashMap<>();
+		map2.put("JZL","67892");
+		map2.put("JZRXX","678912");
+		map2.put("JZXZB","678922");
+		map2.put("JSZGL","678932");
+		map2.put("JSSXT","678942");
+		baseModel2.setBtmname("djii2");
+		baseModel2.setCreator("fjivis2");
+		baseModel2.setTs(new Date());
+		baseModel2.setId("vcia2");
+		baseModel2.setOid("fa430ff9-f141-4dcf-8809-6f87905c1dea");
+		baseModel2.setCreateTime(new Date());
+		baseModel2.setData(map2);
+		models.add(baseModel2);
+
+		return 0;
+
+
+
+//		return engineService.updateBatchByBaseModel("wupin", models);
 //		return engineService.getUIInfoByClassifyOid(codeClassifyOid,functionId);
 	}
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java
index ea1d998..ee1824a 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java
@@ -72,6 +72,21 @@
 	/**
 	 * 鏌ユ壘鏍戝舰缁撴瀯
 	 *
+	 * @return 鏁版嵁闆嗗悎
+	 */
+	List<CodeClassify> selectCodeClassifyDOByTree(@Param("id") String id,@Param("lcstatus") String lcstatus,@Param("parentcodeclassifyoid") String parentcodeclassifyoid);
+
+	/**
+	 * 鏌ヨ鏁版嵁涓嶱L_CODE_KEYATTRREPEAT銆丳L_CODE_RESEMBLERULE銆丳L_CODE_RULE鑱旀煡
+	 *
+	 * @param oids 鍒嗙被鐨勪富閿�
+	 * @return 鏁版嵁闆嗗悎
+	 */
+	List<CodeClassify> selectClassifyByKeyAndReseRel(@Param("oids") String oids);
+
+	/**
+	 * 鏌ユ壘鏍戝舰缁撴瀯
+	 *
 	 * @param oid 鍒嗙被鐨勪富閿�
 	 * @return 鏁版嵁闆嗗悎
 	 */
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyTemplateAttrMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyTemplateAttrMapper.java
index 9a21e18..aff8458 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyTemplateAttrMapper.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyTemplateAttrMapper.java
@@ -39,5 +39,12 @@
 
 	List<CodeClassifyTemplateAttr> selectRefByOid(String oid);
 
+	/**
+	 * 鏉′欢,鍏宠仈鏌ヨ鎺掑簭
+	 *
+	 * @param classifytemplateoids
+	 * @return
+	 */
+	List<CodeClassifyTemplateAttr> selectByClassifytemplateoidRel(String classifytemplateoids);
 
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeResembleRuleMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeResembleRuleMapper.java
new file mode 100644
index 0000000..c7197e7
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeResembleRuleMapper.java
@@ -0,0 +1,20 @@
+package com.vci.ubcs.code.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.vci.ubcs.code.entity.CodeResembleRule;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 涓绘暟鎹紪鐮佽鍒欐暟鎹搷浣滃眰
+ *
+ * @author ludc
+ * @date 2022-01-24
+ */
+public interface CodeResembleRuleMapper extends BaseMapper<CodeResembleRule>, MPJBaseMapper<CodeResembleRule> {
+
+
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java
index 1dcbecf..e2f6a78 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java
@@ -22,6 +22,8 @@
 
 	List<Map> selectBySql(@Param("inSql") String inSql);
 
+	List<Map<String,String>> queryByOnlySqlForMap(@Param("inSql") String inSql);
+
 	/**
 	 * 浼犲叆琛ㄥ悕锛宮ap锛宭ist<map>瀹屾垚鎵归噺鏇存柊鎿嶄綔
 	 * @param tableName 琛ㄥ悕
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeResembleRuleService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeResembleRuleService.java
index dfe100c..8454cc0 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeResembleRuleService.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeResembleRuleService.java
@@ -1,7 +1,20 @@
 package com.vci.ubcs.code.service;
 
+import com.github.yulichang.base.MPJBaseService;
+import com.vci.ubcs.code.entity.CodeReferConfig;
+import com.vci.ubcs.code.entity.CodeResembleRule;
 import com.vci.ubcs.code.vo.pagemodel.CodeResembleRuleVO;
+import com.vci.ubcs.starter.exception.VciBaseException;
 
-public interface ICodeResembleRuleService {
+public interface ICodeResembleRuleService  extends MPJBaseService<CodeResembleRule>  {
 	CodeResembleRuleVO getObjectByOid(String codeResembleRuleOid);
-}
+
+	/**
+	 * 鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞�
+	 * @param  codeResembleRuleDO 鏁版嵁瀵硅薄
+	 * @return 鏄剧ず瀵硅薄
+	 * @throws VciBaseException 鎷疯礉灞炴�у嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
+	 */
+	CodeResembleRuleVO codeResembleRuleDO2VO(CodeResembleRule codeResembleRuleDO) throws VciBaseException;
+
+	}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
index a89d482..f24d9d7 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
@@ -160,10 +160,10 @@
 //			conditionMap.put("classifytemplateoid", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(templateOids.toArray(new String[0])) + ")");
 //			PageHelper pageHelper = new PageHelper(-1);
 //			pageHelper.addDefaultAsc("orderNum");
-			QueryWrapper<CodeClassifyTemplateAttr> wrapper = new QueryWrapper<>();
-			wrapper.in("classifytemplateoid",templateOids);
-			wrapper.orderByAsc("orderNum");
-			List<CodeClassifyTemplateAttr> attrDOS = baseMapper.selectList(wrapper);
+//			QueryWrapper<CodeClassifyTemplateAttr> wrapper = new QueryWrapper<>();
+//			wrapper.in("classifytemplateoid",templateOids);
+//			wrapper.orderByAsc("orderNum");
+			List<CodeClassifyTemplateAttr> attrDOS = baseMapper.selectByClassifytemplateoidRel(VciBaseUtil.toInSql(templateOids.toArray(new String[0])));
 //				baseMapper.selectByClassifytemplateoid(VciBaseUtil.toInSql(templateOids.toArray(new String[0])));
 
 			if(!CollectionUtils.isEmpty(attrDOS)){
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeResembleRuleServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeResembleRuleServiceImpl.java
index fb58ad2..896e759 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeResembleRuleServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeResembleRuleServiceImpl.java
@@ -1,8 +1,20 @@
 package com.vci.ubcs.code.service.impl;
 
+import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.vci.ubcs.code.entity.CodeReferConfig;
+import com.vci.ubcs.code.entity.CodeResembleRule;
+import com.vci.ubcs.code.enumpack.FrameworkDataLCStatus;
+import com.vci.ubcs.code.mapper.CodeReferConfigMapper;
+import com.vci.ubcs.code.mapper.CodeResembleRuleMapper;
 import com.vci.ubcs.code.service.ICodeResembleRuleService;
 import com.vci.ubcs.code.vo.pagemodel.CodeResembleRuleVO;
+import com.vci.ubcs.starter.exception.VciBaseException;
+import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
+import com.vci.ubcs.starter.web.util.VciBaseUtil;
+import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
+
+import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.DATA_OID_NOT_EXIST;
 
 /**
  * 鐩镐技鏌ヨ瑙勫垯鏈嶅姟
@@ -10,9 +22,44 @@
  * @date 2022-04-10
  */
 @Service
-public class CodeResembleRuleServiceImpl implements ICodeResembleRuleService {
+public class CodeResembleRuleServiceImpl extends MPJBaseServiceImpl<CodeResembleRuleMapper, CodeResembleRule> implements ICodeResembleRuleService {
 	@Override
-	public CodeResembleRuleVO getObjectByOid(String codeResembleRuleOid) {
-		return null;
+	public CodeResembleRuleVO getObjectByOid(String oid) {
+		return codeResembleRuleDO2VO(selectByOid(oid));
+	}
+
+	/**
+	 * 涓婚敭鏌ヨ鏁版嵁瀵硅薄
+	 * @param oid 涓婚敭
+	 * @return  鏁版嵁瀵硅薄
+	 * @throws VciBaseException 鍙傛暟涓虹┖锛屽苟涓旀暟鎹笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父
+	 */
+	private CodeResembleRule selectByOid(String oid) throws VciBaseException {
+		VciBaseUtil.alertNotNull(oid,"涓婚敭");
+		CodeResembleRule codeResembleRuleDO = baseMapper.selectById(oid.trim());
+//		CodeResembleRule codeResembleRuleDO = codeResembleRuleMapper.selectByPrimaryKey(oid.trim());
+		if(codeResembleRuleDO == null || StringUtils.isBlank(codeResembleRuleDO.getOid())){
+			throw new VciBaseException(DATA_OID_NOT_EXIST);
+		}
+		return codeResembleRuleDO;
+	}
+
+
+	/**
+	 * 鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞�
+	 * @param  codeResembleRuleDO 鏁版嵁瀵硅薄
+	 * @return 鏄剧ず瀵硅薄
+	 * @throws VciBaseException 鎷疯礉灞炴�у嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
+	 */
+	@Override
+	public  CodeResembleRuleVO codeResembleRuleDO2VO(CodeResembleRule codeResembleRuleDO) throws VciBaseException{
+		CodeResembleRuleVO vo = new CodeResembleRuleVO();
+		if(codeResembleRuleDO != null){
+			BeanUtilForVCI.copyPropertiesIgnoreCase(codeResembleRuleDO,vo);
+			//濡傛灉鏈塴cstatus鐨勭被鐨勮瘽
+			vo.setLcStatusText(FrameworkDataLCStatus.getTextByValue(vo.getLcStatus()));
+
+		}
+		return vo;
 	}
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
index 689147f..526c013 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -21,6 +21,7 @@
 import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum;
 import com.vci.ubcs.starter.web.pagemodel.DataGrid;
 import com.vci.ubcs.starter.web.pagemodel.KeyValue;
+import com.vci.ubcs.starter.web.util.LangBaseUtil;
 import com.vci.ubcs.starter.web.util.VciBaseUtil;
 import com.vci.ubcs.starter.web.util.VciDateUtil;
 import lombok.AllArgsConstructor;
@@ -37,6 +38,7 @@
 
 import javax.annotation.Resource;
 import java.io.File;
+import java.io.IOException;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -255,15 +257,60 @@
 		String redisUUid=batchImportCodes(orderDTO,templateVO,dataSet,errorMap,true);
 		CodeImProtRusultVO codeImProtRusultVO = new CodeImProtRusultVO();
 		List<String> needRowIndexList = new ArrayList<>();
-//		String filePath = returnErrorToExcel(dataSet.getRowData(), errorMap, needRowIndexList, dataSet.getColName());
-//		if(StringUtils.isNotBlank(filePath)) {
-//			codeImProtRusultVO.setFilePath(filePath);
-//		}
-//		if(StringUtils.isNotBlank(redisUUid)){
-//			codeImProtRusultVO.setRedisUuid(redisUUid);
-//		}
-		return null;
-//		return codeImProtRusultVO;
+		String filePath = returnErrorToExcel(dataSet.getRowData(), errorMap, needRowIndexList, dataSet.getColName());
+		if(StringUtils.isNotBlank(filePath)) {
+			codeImProtRusultVO.setFilePath(filePath);
+		}
+		if(StringUtils.isNotBlank(redisUUid)){
+			codeImProtRusultVO.setRedisUuid(redisUUid);
+		}
+//		return null;
+		return codeImProtRusultVO;
+	}
+
+	/**
+	 * 閿欒淇℃伅杩斿洖excel
+	 * @param rowDataList 鎵�鏈夌殑瀵煎叆鏁版嵁
+	 * @param errorMap 閿欒鐨勪俊鎭�
+	 * @param needRowIndexList 闇�瑕佸啓鍏ョ殑鏁版嵁鐨勮鍙�
+	 * @param titleRowData 鏍囬琛�
+	 *
+	 * @return 閿欒鐨別xcel鏂囦欢锛屾病鏈夐敊璇細杩斿洖绌�
+	 */
+	private String returnErrorToExcel(Collection<SheetRowData> rowDataList,
+									  Map<String,String> errorMap,
+									  List<String> needRowIndexList,List<String> titleRowData){
+		if(CollectionUtils.isEmpty(errorMap)){
+			return "";
+		}
+		Map<String, SheetRowData> rowIndexDataMap = rowDataList.stream().filter(s -> !needRowIndexList.contains(s.getRowIndex())).collect(Collectors.toMap(s -> s.getRowIndex(), t -> t));
+		List<WriteExcelData> errorDataList = new ArrayList<>();
+		errorDataList.add(new WriteExcelData(0,0,"閿欒淇℃伅"));
+		for (int i = 0; i < titleRowData.size(); i++) {
+			//閿欒淇℃伅鍦ㄦ渶鍚�
+			errorDataList.add(new WriteExcelData(0,i+1,titleRowData.get(i)));
+		}
+		Integer[] newRowIndex = new Integer[]{1};
+		errorMap.forEach((index,error)->{
+			//閿欒淇℃伅鍏ㄩ儴缁勫悎鍒颁竴璧�
+			SheetRowData rowData = rowIndexDataMap.getOrDefault(index, null);
+			if(rowData!=null){
+				errorDataList.add(new WriteExcelData(newRowIndex[0],0,error));
+				rowData.getData().forEach((colIndex,value)->{
+					errorDataList.add(new WriteExcelData(newRowIndex[0],colIndex+1,value));
+				});
+				newRowIndex[0]++;
+			}
+		});
+		String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + "閿欒淇℃伅.xls";
+		WriteExcelOption eo = new WriteExcelOption(errorDataList);
+		try {
+			new File(excelFileName).createNewFile();
+		} catch (IOException e) {
+			throw new VciBaseException(LangBaseUtil.getErrorMsg(e));
+		}
+		ExcelUtil.writeDataToFile(excelFileName,eo);
+		return excelFileName;
 	}
 
 	/**
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
index dc5e143..88358b5 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
@@ -240,4 +240,60 @@
         order by id asc
     </select>
 
+    <select id="selectCodeClassifyDOByTree" resultMap="plCodeClassifyResultMap">
+        select codeclassify0.OWNER                 as owner,
+        codeclassify0.BTMTYPEID             as btmtypeid,
+        codeclassify0.CREATOR               as creator,
+        codeclassify0.CREATETIME            as createtime,
+        codeclassify0.LASTMODIFIER          as lastmodifier,
+        codeclassify0.DESCRIPTION           as description,
+        codeclassify0.ORDERNUM              as ordernum,
+        codeclassify0.CODERULEOID           as coderuleoid,
+        codeclassify0.OID                   as oid,
+        codeclassify0.BTMNAME               as btmname,
+        codeclassify0.BTMTYPENAME           as btmtypename,
+        codeclassify0.CODEKEYATTRREPEATOID  as codekeyattrrepeatoid,
+        codeclassify0.PARENTCODECLASSIFYOID as parentcodeclassifyoid,
+        codeclassify0.NAME                  as name,
+        codeclassify0.LASTMODIFYTIME        as lastmodifytime,
+        codeclassify0.ID                    as id,
+        codeclassify0.CODERESEMBLERULEOID   as coderesembleruleoid,
+        codeclassify0.LCSTATUS              as lcstatus,
+        codeclassify0.TS                    as ts,
+        coderuleoid.name                    as codeRuleOidName,
+        codekeyattrrepeatoid.name           as codeKeyAttrRepeatOidName,
+        coderesembleruleoid.name            as codeResembleRuleOidName
+        from pl_code_classify codeclassify0
+        left join pl_code_rule coderuleoid
+        on codeclassify0.codeRuleOid = coderuleoid.oid
+        left join pl_code_keyattrrepeat codekeyattrrepeatoid
+        on codeclassify0.codeKeyAttrRepeatOid = codekeyattrrepeatoid.oid
+        left join pl_code_resemblerule coderesembleruleoid
+        on codeclassify0.codeResembleRuleOid = coderesembleruleoid.oid
+        where codeclassify0.lcstatus = #{lcstatus}
+        <if test="parentcodeclassifyoid != null and parentcodeclassifyoid != ''">
+            and codeclassify0.parentcodeclassifyoid = #{parentcodeclassifyoid}
+        </if>
+        <if test="parentcodeclassifyoid == null or parentcodeclassifyoid == ''">
+            and codeclassify0.parentcodeclassifyoid is null
+            and codeclassify0.id = #{id}
+        </if>
+        order by id asc
+    </select>
+
+    <select id="selectClassifyByKeyAndReseRel" resultMap="plCodeClassifyResultMap">
+        SELECT PCC.*,
+               PCK.NAME AS CODEKEYATTRREPEATOIDNAME,
+               PCR.NAME AS CODERESEMBLERULEOIDNAME,
+               PCE.NAME CODERULEOIDNAME
+        FROM PL_CODE_CLASSIFY PCC
+                 LEFT JOIN PL_CODE_KEYATTRREPEAT PCK
+                           ON PCC.CODEKEYATTRREPEATOID = PCK.OID
+                 LEFT JOIN PL_CODE_RESEMBLERULE PCR
+                           ON PCC.CODERESEMBLERULEOID = PCR.OID
+                 LEFT JOIN PL_CODE_RULE PCE
+                           ON PCC.CODERULEOID = PCE.OID
+        WHERE PCC.OID IN (${oids})
+    </select>
+
 </mapper>
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClassifyTemplateAttrMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClassifyTemplateAttrMapper.xml
index 640e301..c94b4c4 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClassifyTemplateAttrMapper.xml
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClassifyTemplateAttrMapper.xml
@@ -100,5 +100,13 @@
         where codeclstempattr0.classifytemplateoid = #{oid}
     </select>
 
+    <select id="selectByClassifytemplateoidRel" resultMap="CodeClstempattrResultMap">
+        select PCC.*, PLT.NAME classifyTemplateOidName
+        from PL_CODE_CLSTEMPATTR PCC, PL_CODE_CLSTEMPLATE PLT
+        where PCC.CLASSIFYTEMPLATEOID = PLT.OID
+          AND PCC.classifytemplateoid IN (${oid})
+        ORDER BY PCC.ORDERNUM ASC
+    </select>
+
 
 </mapper>
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeResembleRule.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeResembleRule.xml
new file mode 100644
index 0000000..16a84be
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeResembleRule.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.vci.ubcs.code.mapper.CodeResembleRuleMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="CodeResembleRuleResultMap" type="com.vci.ubcs.code.entity.CodeResembleRule">
+        <id property="oid" column="OID"/>
+        <result property="btmname" column="BTMNAME"/>
+        <result property="revisionOid" column="REVISIONOID"/>
+        <result property="nameOid" column="NAMEOID"/>
+        <result property="lastR" column="LASTR"/>
+        <result property="firstR" column="FIRSTR"/>
+        <result property="lastV" column="LASTV"/>
+        <result property="firstV" column="FIRSTV"/>
+        <result property="creator" column="CREATOR"/>
+        <result property="createTime" column="CREATETIME"/>
+        <result property="lastModifier" column="LASTMODIFIER"/>
+        <result property="lastModifyTime" column="LASTMODIFYTIME"/>
+        <result property="revisionRule" column="REVISIONVALUE"/>
+        <result property="versionRule" column="VISIONRULE"/>
+        <result property="revisionValue" column="REVISIONRULE"/>
+        <result property="versionValue" column="VERSIONVALUE"/>
+        <result property="revisionSeq" column="REVISIONSEQ"/>
+        <result property="versionSeq" column="VERSIONSEQ"/>
+        <result property="lctid" column="LCTID"/>
+        <result property="lcStatus" column="LCSTATUS"/>
+        <result property="ts" column="TS"/>
+        <result property="id" column="ID"/>
+        <result property="name" column="NAME"/>
+        <result property="description" column="DESCRIPTION"/>
+        <result property="owner" column="OWNER"/>
+        <result property="copyFromVersion" column="COPYFROMVERSION"/>
+        <result property="ignoreCaseFlag" column="IGNORECASEFLAG"/>
+        <result property="ignoreSpaceFlag" column="IGNORESPACEFLAG"/>
+        <result property="ignoreAllSpaceFlag" column="IGNOREALLSPACEFLAG"/>
+        <result property="ignoreWidthFlag" column="IGNOREWIDTHFLAG"/>
+        <result property="linkCharacter" column="LINKCHARACTER"/>
+    </resultMap>
+
+</mapper>
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml
index 9f357d7..e53c1fc 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml
@@ -22,6 +22,10 @@
         ${inSql}
     </select>
 
+    <select id="queryByOnlySqlForMap" resultType="java.util.Map">
+        ${inSql}
+    </select>
+
     <insert id="insertByBaseModel" parameterType="java.util.Map">
         insert into ${tableName}
         (
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/pom.xml b/Source/UBCS/ubcs-service/ubcs-omd/pom.xml
index 64fa44e..5b2fc51 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/pom.xml
+++ b/Source/UBCS/ubcs-service/ubcs-omd/pom.xml
@@ -69,6 +69,12 @@
             <artifactId>orai18n</artifactId>
             <version>${orai18n.version}</version>
         </dependency>
+        <dependency>
+            <groupId>com.vci.ubcs</groupId>
+            <artifactId>ubcs-code-api</artifactId>
+            <version>3.0.1.RELEASE</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/SysClient.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/SysClient.java
index 5f1dca7..4480390 100644
--- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/SysClient.java
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/SysClient.java
@@ -21,10 +21,7 @@
 import lombok.AllArgsConstructor;
 import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
-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 org.springframework.web.bind.annotation.*;
 import springfox.documentation.annotations.ApiIgnore;
 
 import java.util.List;
@@ -65,6 +62,11 @@
 	public R<Menu> getMenu(Long id) {
 		return R.data(menuService.getById(id));
 	}
+	@Override
+	@GetMapping(MENU_BUTTON)
+	public R<List<Menu>> getMenuButtonByType(String btmType) {
+		return R.data(menuService.getMenuButtonByType(btmType));
+	}
 
 	@Override
 	@GetMapping(DEPT)
diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/mapper/MenuMapper.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/mapper/MenuMapper.java
index 64bfdc7..f66512a 100644
--- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/mapper/MenuMapper.java
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/mapper/MenuMapper.java
@@ -124,6 +124,12 @@
 	 * @return
 	 */
 	List<Menu> allMenu();
+	/**
+	 * 鏍规嵁涓氬姟绫诲瀷鏌ヨ鑿滃崟鐨勫瓙鎸夐挳
+	 *
+	 * @return
+	 */
+	List<Menu> selectMenuChildByBtnType(String btmType);
 
 	/**
 	 * 鏉冮檺閰嶇疆鑿滃崟
diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java
index ea50eeb..b6b738a 100644
--- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java
@@ -18,6 +18,7 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.springblade.core.secure.BladeUser;
+import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.node.TreeNode;
 import org.springblade.core.tool.support.Kv;
 import com.vci.ubcs.system.entity.Menu;
@@ -162,5 +163,11 @@
 	 * @return
 	 */
 	boolean submit(Menu menu);
-
+	/**
+	 * 鑾峰彇鑿滃崟涓嬮潰鐨勬寜閽�
+	 *
+	 * @param btmType 涓氬姟绫诲瀷
+	 * @return List<Menu>
+	 */
+	List<Menu> getMenuButtonByType(String btmType);
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java
index b926374..dc5af71 100644
--- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java
@@ -30,9 +30,10 @@
 import com.vci.ubcs.system.service.ITopMenuSettingService;
 import com.vci.ubcs.system.wrapper.MenuWrapper;
 import lombok.AllArgsConstructor;
-import org.springblade.core.log.exception.ServiceException;
+import com.vci.ubcs.core.log.exception.ServiceException;
 import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.constant.BladeConstant;
 import org.springblade.core.tool.node.ForestNodeMerger;
 import org.springblade.core.tool.node.TreeNode;
@@ -294,4 +295,9 @@
 		return saveOrUpdate(menu);
 	}
 
+    @Override
+    public List<Menu> getMenuButtonByType(String btmType) {
+		return baseMapper.selectMenuChildByBtnType(btmType);
+    }
+
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml b/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml
index bda18b0..50d8103 100644
--- a/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml
@@ -475,4 +475,13 @@
         GROUP BY m.path
     </select>
 
+    <select id="selectMenuChildByBtnType" resultMap="menuResultMap">
+        select pm.*
+        from pl_sys_menu ps, pl_sys_menu pm
+        where ps.is_deleted = 0
+          and ps.category = 1
+          and ps.alias = #{btmType}
+          and ps.id = pm.parent_id order by pm.sort asc
+    </select>
+
 </mapper>

--
Gitblit v1.9.3