From 6c391d600182930913b43e2f63b7d3cfa131cfc2 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 14 八月 2024 16:27:58 +0800
Subject: [PATCH] 业务类型创建索引、导出、导入等接口,属性池导入接口调整上传。

---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java |   70 ++++++++++++++++++++++------------
 1 files changed, 45 insertions(+), 25 deletions(-)

diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java
index 0f92bad..302d878 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java
@@ -207,14 +207,10 @@
 	public List<OsAttributeVO> getByAttributeNames(String[] attrNames) throws PLException {
 		VciBaseUtil.alertNotNull(attrNames,"灞炴�у悕");
 		List<OsAttributeVO> osAttributeVOS = new ArrayList<>();
-		for (int i = 0; i < attrNames.length; i++) {
-			AttributeDef[] attributeDefs = platformClientUtil.getAttributeService().getAttributeDefs(attrNames[i].toLowerCase(Locale.ROOT),1,1);
-			if(Func.isNotEmpty(attributeDefs)){
-				Arrays.stream(attributeDefs).forEach(attributeDef -> {
-					osAttributeVOS.add(attributeDO2VO(attributeDef));
-				});
-			}
-		}
+		AttributeDef[] attributeDefs = platformClientUtil.getAttributeService().getAttributeDefsByNames(attrNames);
+		Arrays.stream(attributeDefs).forEach(attr->{
+			osAttributeVOS.add(attributeDO2VO(attr));
+		});
 		return osAttributeVOS;
 	}
 
@@ -483,10 +479,13 @@
 		);
 		//灞炴�ц嫳鏂囧悕绉版牎楠岋紙鍒ょ┖銆佺郴缁熶腑鍒ら噸銆佹槸鍚﹀叧閿瓧銆佹槸鍚﹀悎瑙勭瓑锛�
 		checkName(osAttributeDTO.getId());
+		//妫�鏌ュ睘鎬у悕鏄惁宸插瓨鍦ㄤ笌绯荤粺涓�
+		if(platformClientUtil.getAttributeService().checkRowIsExists(osAttributeDTO.getId())){
+			throw new PLException("500",new String[]{"灞炴�у悕绉般��" + osAttributeDTO.getId() + "銆戝湪绯荤粺涓凡瀛樺湪!"});
+		}
 		//妫�鏌ラ粯璁ゅ�间笌灞炴�х被鍨嬫槸鍚﹀尮閰�
 		checkDefValue(osAttributeDTO);
-		//dto瀵硅薄杞崲涓哄瓨鍌ㄦ墍闇�瀵硅薄
-		osAttributeDTO.setOid(VciBaseUtil.getPk().toUpperCase(Locale.ROOT));
+		//osAttributeDTO.setOid(VciBaseUtil.getPk().toUpperCase(Locale.ROOT));
 		AttributeDef attributeDef = this.osAttributeDTO2AttributeDef(osAttributeDTO);
 		return platformClientUtil.getAttributeService().addAttributeDef(attributeDef);
 	}
@@ -698,9 +697,9 @@
 			throw new PLException("500",new String[]{"灞炴�у悕鏃犳晥,鍘熷洜锛氬睘鎬у悕鏄暟鎹簱鍏抽敭瀛�!"});
 		}
 		//妫�鏌ュ睘鎬у悕鏄惁宸插瓨鍦ㄤ笌绯荤粺涓�
-		if(platformClientUtil.getAttributeService().checkRowIsExists(abName)){
-			throw new PLException("500",new String[]{"灞炴�у悕绉板湪绯荤粺涓凡瀛樺湪!"});
-		}
+		/*if(platformClientUtil.getAttributeService().checkRowIsExists(abName)){
+			throw new PLException("500",new String[]{"灞炴�у悕绉般��" + abName + "銆戝湪绯荤粺涓凡瀛樺湪!"});
+		}*/
 	}
 
 	/**
@@ -894,8 +893,8 @@
 			excelDataList.add(new WriteExcelData(0,index, columns.get(index)));
 		}
 		//鎸夌収灞炴�у悕鏌ヨ灞炴�э紝鐒跺悗澶勭悊灞炴�у鍑�
-		List<String> enumNameList = Func.toStrList(attrNames);
-		List<OsAttributeVO> osAttributeVOS = this.listAttrByIds(enumNameList);
+		List<String> attrameList = Func.toStrList(attrNames);
+		List<OsAttributeVO> osAttributeVOS = this.listAttrByIds(attrameList);
 		if(Func.isEmpty(osAttributeVOS)){
 			excelDataList.add(new WriteExcelData(1,1, "鏍规嵁灞炴�у悕绉版湭鏌ヨ鍒板睘鎬т俊鎭紝璇峰埛鏂板悗灏濊瘯閲嶆柊瀵煎嚭锛�"));
 		}else{
@@ -906,7 +905,11 @@
 				excelDataList.add(new WriteExcelData(i+1,0, osAttributeVO.getId()));
 				excelDataList.add(new WriteExcelData(i+1,1, osAttributeVO.getName()));
 				excelDataList.add(new WriteExcelData(i+1,2, osAttributeVO.getDescription()));
-				excelDataList.add(new WriteExcelData(i+1,3, osAttributeVO.getAttributeDataTypeText()+"("+osAttributeVO.getAttributeDataType()+")"));
+				if(flag){
+					excelDataList.add(new WriteExcelData(i+1,3, osAttributeVO.getAttributeDataType()));
+				}else{
+					excelDataList.add(new WriteExcelData(i+1,3, osAttributeVO.getAttributeDataType()+"("+osAttributeVO.getAttributeDataTypeText()+")"));
+				}
 				excelDataList.add(new WriteExcelData(i+1,4, osAttributeVO.isNullableFlag()));
 				excelDataList.add(new WriteExcelData(i+1,5, osAttributeVO.getDefaultValue()));
 				excelDataList.add(new WriteExcelData(i+1,6, osAttributeVO.getEnumId()));
@@ -998,10 +1001,12 @@
 	/**
 	 * 瀵煎叆灞炴��
 	 * @param file
+	 * @param isContinue 绯荤粺涓嚭鐜伴噸澶嶆槸鍚﹁烦杩囨姤閿欑户缁墽琛�
 	 * @return
+	 * @throws Exception
 	 */
 	@Override
-	public BaseResult importAttributes(File file) throws Exception{
+	public BaseResult importAttributes(File file, boolean isContinue) throws Exception{
 		VciBaseUtil.alertNotNull(file,"excel鏂囦欢");
 		if(!file.exists()){
 			throw new VciBaseException("瀵煎叆鐨別xcel鏂囦欢涓嶅瓨鍦�,{0}",new String[]{file.getPath()});
@@ -1018,14 +1023,29 @@
 			List<OsAttributeDTO> dtoList = new ArrayList<>();
 			//褰撳墠excel涓槸鍚﹂噸澶嶇敤鐨勫垽閲峂ap:锛坘ey锛氬垽閲嶅睘鎬э紝value锛氳鍙凤級
 			Map<String, String> excelReapeat = new HashMap<>();
-			//鍒ゆ柇蹇呭~灞炴�ф槸鍚︿负绌猴紝鐢ㄦ埛鏄惁宸插瓨鍦紝浠ュ強閮ㄩ棬鏄惁濉敊绛夋牎楠岄�昏緫
-			poList.stream().forEach(osAttributePO -> {
+			for (int i = 0; i < poList.size(); i++) {
+				OsAttributePO osAttributePO = poList.get(i);
 				if(Func.isBlank(osAttributePO.getId())){//灞炴�у悕鍒ょ┖
-					throw new VciBaseException("绗��"+osAttributePO.getRowIndex()+"銆戣锛宔numnameerror");
+					throw new VciBaseException("绗��"+osAttributePO.getRowIndex()+"銆戣锛宎ttrnameerror");
 				}else if(Func.isBlank(osAttributePO.getAttributeDataType())){
 					throw new VciBaseException("绗��"+osAttributePO.getRowIndex()+"銆戣锛宼ypeerror");
 				}else if(excelReapeat.containsKey(osAttributePO.getId())){//灞炴�у悕琛ㄦ牸涓垽閲�
 					throw new VciBaseException("绗��"+excelReapeat.get(osAttributePO.getId())+"銆戣鍜岀銆�"+osAttributePO.getRowIndex()+"銆戣鏁版嵁锛屽睘鎬у悕閲嶅");
+				}else {
+					try {
+						if(platformClientUtil.getAttributeService().checkRowIsExists(osAttributePO.getId())){
+							throw new PLException("500",new String[]{"灞炴�у悕绉般��" + osAttributePO.getId() + "銆戝湪绯荤粺涓凡瀛樺湪!"});
+						}
+					} catch (PLException e) {
+						e.printStackTrace();
+						String errorMsg = "涓庣郴缁熶腑灞炴�у悕鏌ラ噸鏃跺嚭鐜伴敊璇�,鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e);
+						logger.error(errorMsg);
+						//鏄惁璺宠繃褰撴湡閲嶅鏁版嵁
+						if(isContinue){
+							continue;
+						}
+						throw new VciBaseException(errorMsg);
+					}
 				}
 				//灞炴�у悕鏍¢獙
 				try {
@@ -1037,7 +1057,7 @@
 				//灞炴�у悕excel涓垽閲嶅鐞�
 				excelReapeat.put(osAttributePO.getId(),osAttributePO.getRowIndex());
 				OsAttributeDTO osAttributeDTO = new OsAttributeDTO();
-				//鏌ヨ鏋氫妇鏄惁瀛樺湪锛屽~鍐欎簡鏋氫妇浣嗘病濉啓鍙栧�艰寖鍥达紝杩欐椂鍊欑洿鎺ヤ娇鐢ㄦ灇涓鹃」鍊间綔涓洪粯璁ょ殑range
+				//鏌ヨ灞炴�ф槸鍚﹀瓨鍦紝濉啓浜嗘灇涓句絾娌″~鍐欏彇鍊艰寖鍥达紝杩欐椂鍊欑洿鎺ヤ娇鐢ㄦ灇涓鹃」鍊间綔涓洪粯璁ょ殑range
 				if(Func.isNotBlank(osAttributePO.getEnumId()) && Func.isBlank(osAttributePO.getRange())){
 					try {
 						OsEnumVO enumVO = enumService.getEnumTypeById(osAttributePO.getEnumId());
@@ -1075,10 +1095,10 @@
 					checkDefValue(osAttributeDTO);
 				} catch (PLException e) {
 					e.printStackTrace();
-					throw new VciBaseException(e.getMessage());
+					throw new VciBaseException(VciBaseUtil.getExceptionMessage(e));
 				}
 				dtoList.add(osAttributeDTO);
-			});
+			}
 			//鎵ц淇濆瓨鎿嶄綔
 			dtoList.stream().forEach(dto->{
 				try {
@@ -1093,12 +1113,12 @@
 			});
 		}catch (Exception e){
 			if(logger.isErrorEnabled()){
-				logger.error("璇诲彇excel鍐呭鏃舵垨淇濆瓨鐢ㄦ埛淇℃伅鏃跺嚭鐜颁簡閿欒锛屽叿浣撳師鍥狅細",VciBaseUtil.getExceptionMessage(e));
+				logger.error("璇诲彇excel鍐呭鏃舵垨淇濆瓨灞炴�ф椂鍑虹幇浜嗛敊璇紝鍏蜂綋鍘熷洜锛�",VciBaseUtil.getExceptionMessage(e));
 			}
 			e.printStackTrace();
 			return BaseResult.fail(VciBaseUtil.getExceptionMessage(e),new String[]{},e);
 		}
-		return BaseResult.success("鏋氫妇瀵煎叆鎴愬姛锛�");
+		return BaseResult.success("灞炴�у鍏ユ垚鍔燂紒");
 	}
 
 	/**

--
Gitblit v1.9.3