From 8091c40627ad0628f465b2926152172983216a76 Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期一, 19 六月 2023 20:50:41 +0800
Subject: [PATCH] 历史导入下载模板接口调试完善

---
 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/bo/WriteExcelOption.java   |  125 +++++++++++++++++++++++++++++++----------
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java        |    2 
 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/utils/VciOmdUtil.java               |    2 
 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml                          |   37 +++++++++++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java |    3 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java            |    2 
 6 files changed, 136 insertions(+), 35 deletions(-)

diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/utils/VciOmdUtil.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/utils/VciOmdUtil.java
index e681dc8..c062735 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/utils/VciOmdUtil.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/utils/VciOmdUtil.java
@@ -2,6 +2,7 @@
 
 import com.vci.ubcs.omd.vo.EnumVO;
 import com.vci.ubcs.starter.web.pagemodel.KeyValue;
+import org.springframework.util.CollectionUtils;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -14,6 +15,7 @@
 	 */
 	public static List<KeyValue> enumsToListKeyVale(List<EnumVO> enums) {
 		List<KeyValue> keyValues = new ArrayList<>();
+		if(CollectionUtils.isEmpty(enums)){ return keyValues;}
 		for (EnumVO anEnum : enums) {
 			KeyValue keyValue = new KeyValue();
 			keyValue.setKey(anEnum.getItemName());
diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/bo/WriteExcelOption.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/bo/WriteExcelOption.java
index 94ebd20..426ac40 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/bo/WriteExcelOption.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/poi/bo/WriteExcelOption.java
@@ -2,53 +2,111 @@
 
 
 import com.vci.ubcs.starter.bo.WriteExcelData;
+import org.apache.commons.collections4.map.LinkedMap;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 public class WriteExcelOption {
-	private Map<String, List<WriteExcelData>> writeDataMap;
+
+	/**
+	 * 瑕佸啓鍏ョ殑鏁版嵁
+	 */
+	private LinkedMap<String/**宸ヤ綔琛ㄧ殑鍚嶇О**/, LinkedList<WriteExcelData> /**瑕佸啓鍏ョ殑鏁版嵁**/> writeDataMap ;
+
+	/**
+	 * 瑕侀殣钘忕殑宸ヤ綔琛ㄥ悕绉�
+	 */
 	private List<String> hideSheetList;
+
+	/**
+	 * 鏄惁涓鸿拷鍔犵殑鍐呭锛屽嵆宸ヤ綔琛ㄥ凡缁忓瓨鍦�
+	 */
 	private boolean append = false;
+
+	/**
+	 * 鏄惁07鐨勭増鏈�
+	 */
 	private boolean revision07 = false;
-	private Map<String, List<ExcelColumnMap>> extendAttrMap;
 
-	public WriteExcelOption() {
+	/**
+	 * 鎵╁睍灞炴�х殑鏄犲皠閰嶇疆锛宲o瀵硅薄涓婂睘鎬ф槸map鐨勫舰寮忔椂浣跨敤锛宬ey涓巈xcelColumn娉ㄨВ鐨剉alue()鐩稿悓锛屽�兼槸瀵瑰簲鐨勬爣棰�
+	 */
+	private LinkedMap<String,List<ExcelColumnMap>> extendAttrMap ;
+
+	/**
+	 * 榛樿鏋勯�犳柟娉�
+	 */
+	public WriteExcelOption(){
+
 	}
 
-	public WriteExcelOption(List<WriteExcelData> excelDataList) {
-		this.writeDataMap = new HashMap();
-		this.writeDataMap.put("Sheet1", excelDataList);
+	/**
+	 * 鍖呭惈涓�涓伐浣滆〃鐨勫唴瀹�
+	 * @param excelDataList 瑕佸啓鍏ョ殑宸ヤ綔琛ㄥ唴瀹癸紝宸ヤ綔琛ㄧ殑鍚嶇О榛樿涓篠heet1
+	 */
+	public  WriteExcelOption(List<WriteExcelData> excelDataList){
+		writeDataMap = new LinkedMap<>();
+		LinkedList newList=new LinkedList();
+		newList.addAll(excelDataList);
+		writeDataMap.put("Sheet1",newList);
 	}
 
-	public void addSheetDataList(String sheetName, List<WriteExcelData> excelDataList) {
-		if (this.writeDataMap == null) {
-			this.writeDataMap = new HashMap();
+	/**
+	 * 鍖呭惈涓�涓伐浣滆〃鐨勫唴瀹�
+	 * @param excelDataList 瑕佸啓鍏ョ殑宸ヤ綔琛ㄥ唴瀹癸紝宸ヤ綔琛ㄧ殑鍚嶇О榛樿涓篠heet1
+	 */
+	public  WriteExcelOption(LinkedList<WriteExcelData> excelDataList){
+		writeDataMap = new LinkedMap<>();
+		writeDataMap.put("Sheet1",excelDataList);
+	}
+
+	/**
+	 * 娣诲姞宸ヤ綔琛ㄧ殑鏁版嵁瀵硅薄
+	 * @param sheetName 宸ヤ綔琛ㄥ悕绉�
+	 * @param excelDataList 宸ヤ綔琛ㄧ殑鏁版嵁鍒楄〃
+	 */
+	public  void addSheetDataList(String sheetName,LinkedList<WriteExcelData> excelDataList){
+		if(writeDataMap == null){
+			writeDataMap = new LinkedMap<>();
 		}
-
-		this.writeDataMap.put(sheetName, excelDataList);
+		writeDataMap.put(sheetName,excelDataList);
 	}
 
-	public void addHideSheet(String sheetName) {
-		if (this.hideSheetList == null) {
-			this.hideSheetList = new ArrayList();
+	/**
+	 * 娣诲姞宸ヤ綔琛ㄧ殑鏁版嵁瀵硅薄
+	 * @param sheetName 宸ヤ綔琛ㄥ悕绉�
+	 * @param excelDataList 宸ヤ綔琛ㄧ殑鏁版嵁鍒楄〃
+	 */
+	public  void addSheetDataList(String sheetName,List<WriteExcelData> excelDataList){
+		if(writeDataMap == null){
+			writeDataMap = new LinkedMap<>();
 		}
-
-		this.hideSheetList.add(sheetName);
+		LinkedList newList=new LinkedList();
+		newList.addAll(excelDataList);
+		writeDataMap.put(sheetName,newList);
 	}
 
-	public Map<String, List<WriteExcelData>> getWriteDataMap() {
-		return this.writeDataMap;
+	/**
+	 * 娣诲姞闇�瑕佸奖鍝嶇殑宸ヤ綔琛ㄥ悕绉�
+	 * @param sheetName 宸ヤ綔琛ㄥ悕绉�
+	 */
+	public void  addHideSheet(String sheetName){
+		if(hideSheetList == null){
+			hideSheetList = new ArrayList<>();
+		}
+		hideSheetList.add(sheetName);
 	}
 
-	public void setWriteDataMap(Map<String, List<WriteExcelData>> writeDataMap) {
+	public Map<String, LinkedList<WriteExcelData>> getWriteDataMap() {
+		return writeDataMap;
+	}
+
+	public void setWriteDataMap(LinkedMap<String, LinkedList<WriteExcelData>> writeDataMap) {
 		this.writeDataMap = writeDataMap;
 	}
 
 	public List<String> getHideSheetList() {
-		return this.hideSheetList;
+		return hideSheetList;
 	}
 
 	public void setHideSheetList(List<String> hideSheetList) {
@@ -56,7 +114,7 @@
 	}
 
 	public boolean isAppend() {
-		return this.append;
+		return append;
 	}
 
 	public void setAppend(boolean append) {
@@ -64,22 +122,29 @@
 	}
 
 	public boolean isRevision07() {
-		return this.revision07;
+		return revision07;
 	}
 
 	public void setRevision07(boolean revision07) {
 		this.revision07 = revision07;
 	}
 
-	public Map<String, List<ExcelColumnMap>> getExtendAttrMap() {
-		return this.extendAttrMap;
+	public LinkedMap<String, List<ExcelColumnMap>> getExtendAttrMap() {
+		return extendAttrMap;
 	}
 
-	public void setExtendAttrMap(Map<String, List<ExcelColumnMap>> extendAttrMap) {
+	public void setExtendAttrMap(LinkedMap<String, List<ExcelColumnMap>> extendAttrMap) {
 		this.extendAttrMap = extendAttrMap;
 	}
 
+	@Override
 	public String toString() {
-		return "WriteExcelOption{writeDataMap=" + this.writeDataMap + ", hideSheetList=" + this.hideSheetList + ", append=" + this.append + ", revision07=" + this.revision07 + ", extendAttrMap=" + this.extendAttrMap + '}';
+		return "WriteExcelOption{" +
+			"writeDataMap=" + writeDataMap +
+			", hideSheetList=" + hideSheetList +
+			", append=" + append +
+			", revision07=" + revision07 +
+			", extendAttrMap=" + extendAttrMap +
+			'}';
 	}
 }
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 ee1824a..d0fa083 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
@@ -113,5 +113,5 @@
 	 */
 	List<CodeClassify> selectByFieldNamePath(@Param("fieldPath") String fieldPath,@Param("fieldName") String fieldName);
 
-
+	public List<CodeClassifyVO> getIdPathToNamePathByParentId(@Param("parentId")String parentId);
 }
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 174ec33..feb23b2 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
@@ -547,9 +547,10 @@
 	 */
 	@Override
 	public List<CodeClassifyVO> getIdPathToNamePathByParentId(String classifyId, boolean enable) {
-		return null;
+		return codeClassifyMapper.getIdPathToNamePathByParentId(classifyId);
 	}
 
+
 	//	/**
 //	 * 鏍规嵁鏍戝舰鏌ヨ瀵硅薄鏉ユ煡璇㈡暟鎹璞�
 //	 *
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 b3a2929..f5714e3 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
@@ -196,7 +196,7 @@
 				String field=codetemplateAttr.getId();
 				String name=codetemplateAttr.getName();
 				CodeClassifyTemplateAttrVO codeBaseAttributeDTO=new CodeClassifyTemplateAttrVO();
-				boolean res=codetemplateAttr.getAttributeGroup().equals(BATCHADD_EXCEPORT_ATTR_TYPE)//鍩烘湰灞炴�у瓧娈垫樉绀�
+				boolean res=(StringUtils.isNotBlank(codetemplateAttr.getAttributeGroup())&& codetemplateAttr.getAttributeGroup().equals(BATCHADD_EXCEPORT_ATTR_TYPE))//鍩烘湰灞炴�у瓧娈垫樉绀�
 					||(StringUtils.isNotBlank(codetemplateAttr.getKeyAttrFlag())&&Boolean.parseBoolean(codetemplateAttr.getKeyAttrFlag()))//鍏抽敭灞炴�х殑瀛樺叆
 					||(StringUtils.isNotBlank(codetemplateAttr.getSameRepeatAttrFlag())&&Boolean.parseBoolean(codetemplateAttr.getSameRepeatAttrFlag())) //鐩镐技灞炴�х殑瀛樺叆
 					||(StringUtils.isNotBlank(codetemplateAttr.getRequireFlag())&&Boolean.parseBoolean(codetemplateAttr.getRequireFlag()));
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 88358b5..b9be386 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
@@ -145,6 +145,39 @@
                level from pl_code_classify start with oid= #{oid} connect by prior PARENTCODECLASSIFYOID = oid
     </select>
 
+
+    <select id="getIdPathToNamePathByParentId"  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,
+        codeclassify0.namePath                 as namepath,
+        codeclassify0.idPath                 as idpath
+        from (select plcodeclassify.*,
+                SYS_CONNECT_BY_PATH(name, '#')   as namePath,
+                SYS_CONNECT_BY_PATH(id, '#')   as idPath
+        from pl_code_classify  plcodeclassify
+        START WITH parentCodeClassifyOid is null
+        CONNECT BY PRIOR OID = parentCodeClassifyOid) codeclassify0
+        where codeclassify0.paths =#{fieldPath}
+    </select>
+
+
     <select id="selectByFieldNamePath"  resultMap="plCodeClassifyResultMap">
         select codeclassify0.OWNER                 as owner,
                codeclassify0.BTMTYPEID             as btmtypeid,
@@ -169,10 +202,10 @@
         from (select plcodeclassify.*,
                 <choose>
                      <when test='fieldName=="name"'>
-                         SUBSTR(SYS_CONNECT_BY_PATH(name, '##'),3)   as paths
+                         SYS_CONNECT_BY_PATH(name, '#')   as paths
                      </when>
                     <otherwise>
-                        SUBSTR(SYS_CONNECT_BY_PATH(id, '##'),3)   as paths
+                        SYS_CONNECT_BY_PATH(id, '#')   as paths
                     </otherwise>
                 </choose>
 

--
Gitblit v1.9.3