From f8dc514b188746f5ab627979e808bc90afe83317 Mon Sep 17 00:00:00 2001
From: yuxc <yuxc@vci-tech.com>
Date: 星期三, 31 七月 2024 15:05:19 +0800
Subject: [PATCH] 修改接口调用参数

---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java |   97 +++++++++++++++++++++++++++++++++++-------------
 1 files changed, 70 insertions(+), 27 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 2d0e461..0f92bad 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
@@ -7,6 +7,7 @@
 import com.vci.client.mw.ClientSessionUtility;
 import com.vci.corba.common.PLException;
 import com.vci.corba.omd.atm.AttributeDef;
+import com.vci.corba.omd.vrm.VersionRule;
 import com.vci.dto.OsAttributeDTO;
 import com.vci.dto.OsEnumDTO;
 import com.vci.dto.OsEnumItemDTO;
@@ -33,6 +34,7 @@
 import com.vci.web.properties.UsedNames;
 import com.vci.web.service.OsAttributeServiceI;
 import com.vci.web.service.OsBaseServiceI;
+import com.vci.web.service.OsEnumServiceI;
 import com.vci.web.service.OsLinkTypeServiceI;
 import com.vci.web.util.Func;
 import com.vci.web.util.PlatformClientUtil;
@@ -111,6 +113,13 @@
 	@Autowired(required = false)
 	@Lazy
 	private OsBtmServiceImpl osBtmService;
+
+	/**
+	 * 鏋氫妇鐨勬湇鍔�
+	 */
+	@Autowired
+	@Lazy
+	private OsEnumServiceI  enumService;
 
 	/**
 	 *  蹇呭~鍒�
@@ -511,7 +520,7 @@
 		if(hasInstance && !compatible){
 			throw new PLException("500",new String[]{"鏃犳晥鍙樻洿, 涓嶅吋瀹瑰凡浜х敓鐨勬暟鎹紒"});
 		}
-		String userId = "developer";//WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId();
+		String userId = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId();
 		osAttributeDTO.setLastModifier(userId);
 		osAttributeDTO.setCreator(osAttributeVO.getCreator());
 		osAttributeDTO.setCreateTime(osAttributeVO.getCreateTime());
@@ -557,9 +566,9 @@
 			attributeDef.rage = osAttributeDTO.getRange().replace("<","&lt;");
 		}
 		attributeDef.ts = Func.format((Func.isNotEmpty(osAttributeDTO.getTs()) ? osAttributeDTO.getTs():new Date()),VciDateUtil.DateTimeMillFormat);
-		attributeDef.creator = "developer";//Func.isBlank(osAttributeDTO.getCreator()) ? WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId():osAttributeDTO.getCreator();
+		attributeDef.creator = Func.isBlank(osAttributeDTO.getCreator()) ? WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId():osAttributeDTO.getCreator();
 		attributeDef.createTime = Func.isEmpty(osAttributeDTO.getCreateTime()) ? System.currentTimeMillis():osAttributeDTO.getCreateTime().getTime();
-		attributeDef.modifier = "developer";//Func.isBlank(osAttributeDTO.getLastModifier()) ? WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId():osAttributeDTO.getLastModifier();
+		attributeDef.modifier = Func.isBlank(osAttributeDTO.getLastModifier()) ? WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId():osAttributeDTO.getLastModifier();
 		attributeDef.modifyTime = System.currentTimeMillis();
 		//other闇�瑕佽嚜琛屽鐞�
 		StringBuffer sb = new StringBuffer();
@@ -600,6 +609,7 @@
 				if(StringUtils.isNotBlank(osAttributeDTO.getLinkTypeName())){
 					//鍙傜収閾炬帴绫诲瀷
 					sb.append(LINKTYPENAME).append(" = ").append(osAttributeDTO.getLinkTypeName()).append(";");
+					sb.append(VERSION).append(" = ").append(osAttributeDTO.getVersion()).append(";");
 				}
 				sb.append(LENGTH).append(" = ").append(length > osAttributeDTO.getAttrLength()?length:osAttributeDTO.getAttrLength()).append(";");
 				if (StringUtils.isNotBlank(osAttributeDTO.getEnumId())) {
@@ -812,7 +822,7 @@
 			if(Func.isBlank(oid) || Func.isBlank(name) || Func.isEmpty(ts)){
 				throw new PLException("500",new String[]{"寰呭垹闄ょ殑灞炴�у垪琛ㄤ腑涓婚敭銆恛id銆戙�佽皟鏁存椂闂淬�恡s銆戙�佸睘鎬у悕銆恘ame銆戜笉鑳戒负绌猴紒"});
 			}
-			//鍒ゆ柇鏋氫妇鏄惁鏈夎寮曠敤
+			//鍒ゆ柇灞炴�ф槸鍚︽湁琚紩鐢�
 			List<Map<String, String>> usedAttrList = this.getUsedAttributeList(name);
 			if(Func.isNotEmpty(usedAttrList)){
 				throw new PLException("500",new String[]{"鍒犻櫎鐨勫睘鎬т腑锛屽睘鎬у悕绉颁负锛氥��" + name + "銆�,宸茶寮曠敤锛�"});
@@ -857,22 +867,18 @@
 	 * 瀵煎嚭閫変腑鐨勫睘鎬�
 	 * @param exportFileName 瀵煎嚭鐨勬枃浠跺悕
 	 * @param attrNames 闇�瑕佸鍑虹殑灞炴�у悕绉�
+	 * @param flag 鎺у埗瀵煎嚭鐨勫垪鍚嶆槸鍚﹀拰瀵煎叆妯℃澘涓�鑷�
 	 * @return
 	 */
 	@Override
-	public String exportAttributes(String exportFileName, String attrNames) throws PLException {
+	public String exportAttributes(String exportFileName, String attrNames,boolean flag/*鎺у埗瀵煎嚭鐨勫垪鍚嶆槸鍚﹀拰瀵煎叆妯℃澘涓�鑷�*/) throws PLException {
 		if(Func.isBlank(attrNames)){
 			throw new PLException("500",new String[]{"璇峰嬀閫夎瀵煎嚭鐨勫睘鎬�!"});
 		}
 		//鐣岄潰娌′紶鍚嶇О锛屼娇鐢ㄩ粯璁ゅ鍑哄悕绉�
 		exportFileName = Func.isBlank(exportFileName) ?  "灞炴�ф睜涓睘鎬у鍑篲" + Func.format(new Date(),"yyyy-MM-dd HHmmss.sss"):exportFileName;
 		//璁剧疆鍒楀悕
-		List<String> columns = new ArrayList<>(
-				Arrays.asList("灞炴�у悕", "鏍囩", "鎻忚堪",
-						"灞炴�х被鍨�", "鍏佽涓虹┖", "榛樿鍊�", "浣跨敤鐨勬灇涓捐嫳鏂囧悕绉�(鏋氫妇鍚�)",
-						"浣跨敤鐨勬灇涓句腑鏂囧悕绉�(鏍囩)", "鍙傜収鐨勪笟鍔$被鍨嬬紪鍙�", "鍙傜収鐨勪笟鍔$被鍨嬪悕绉�",
-						"鍙傜収鐨勯摼鎺ョ被鍨嬪悕绉�","鐗堟湰鐗堟","灞炴�ч暱搴�", "灏忔暟绮惧害浣嶆暟","灏忔暟鍒诲害浣嶆暟","鍙栧�艰寖鍥�","鍒涘缓鏃堕棿")
-		);
+		List<String> columns = this.getCloumns(flag);
 
 		//鍐檈xcel
 		String excelPath = LocalFileUtil.getDefaultTempFolder() + File.separator + exportFileName +  ".xls";
@@ -904,21 +910,46 @@
 				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()));
-				excelDataList.add(new WriteExcelData(i+1,7, osAttributeVO.getEnumName()));
-				excelDataList.add(new WriteExcelData(i+1,8, osAttributeVO.getBtmTypeId()));
-				excelDataList.add(new WriteExcelData(i+1,9, osAttributeVO.getBtmTypeName()));
-				excelDataList.add(new WriteExcelData(i+1,10, osAttributeVO.getAttrLength()));
-				excelDataList.add(new WriteExcelData(i+1,11, osAttributeVO.getLinkTypeName()));
-				excelDataList.add(new WriteExcelData(i+1,12, osAttributeVO.getVersion()));
-				excelDataList.add(new WriteExcelData(i+1,13, osAttributeVO.getPrecisionLength()));
-				excelDataList.add(new WriteExcelData(i+1,14, osAttributeVO.getScaleLength()));
-				excelDataList.add(new WriteExcelData(i+1,15, osAttributeVO.getRange()));
-				excelDataList.add(new WriteExcelData(i+1,16, osAttributeVO.getCreateTime()));
+				//excelDataList.add(new WriteExcelData(i+1,7, osAttributeVO.getEnumName()));
+				excelDataList.add(new WriteExcelData(i+1,7, osAttributeVO.getBtmTypeId()));
+				//excelDataList.add(new WriteExcelData(i+1,9, osAttributeVO.getBtmTypeName()));
+				excelDataList.add(new WriteExcelData(i+1,8, osAttributeVO.getAttrLength()));
+				excelDataList.add(new WriteExcelData(i+1,9, osAttributeVO.getLinkTypeName()));
+				excelDataList.add(new WriteExcelData(i+1,10, osAttributeVO.getVersion()));
+				excelDataList.add(new WriteExcelData(i+1,11, osAttributeVO.getPrecisionLength()));
+				excelDataList.add(new WriteExcelData(i+1,12, osAttributeVO.getScaleLength()));
+				excelDataList.add(new WriteExcelData(i+1,13, osAttributeVO.getRange()));
+				if(!flag){
+					excelDataList.add(new WriteExcelData(i+1,14, Func.format(osAttributeVO.getCreateTime(),"yyyy骞碝M鏈坉d鏃� hh:mm:ss")));
+				}
 			}
 		}
 		WriteExcelOption excelOption = new WriteExcelOption(excelDataList);
 		ExcelUtil.writeDataToFile(excelPath, excelOption);
 		return excelPath;
+	}
+
+	/**
+	 * 鑾峰彇瀵煎嚭鎴栧鍏ユā鏉跨殑鍒楀悕
+	 * @param flag 鏄惁鑾峰彇瀵煎叆妯℃澘鍒楀悕
+	 * @return
+	 */
+	private List<String> getCloumns(boolean flag){
+		if(flag){
+			return new ArrayList<>(
+					Arrays.asList("灞炴�у悕", "鏍囩", "鎻忚堪",
+							"灞炴�х被鍨�(鍙傜収鏂板鐣岄潰鐨勫睘鎬х被鍨嬪VTString)", "鍏佽涓虹┖(鏄�/鍚�)", "榛樿鍊�", "浣跨敤鐨勬灇涓捐嫳鏂囧悕绉�"
+							, "鍙傜収鐨勪笟鍔$被鍨嬬紪鍙�","鍙傜収鐨勯摼鎺ョ被鍨嬬紪鍙�","鐗堟湰鐗堟","灞炴�ч暱搴�", "灏忔暟绮惧害浣嶆暟","灏忔暟鍒诲害浣嶆暟"
+							,"鍙栧�艰寖鍥�"
+					)
+			);
+		}
+		return new ArrayList<>(
+				Arrays.asList("灞炴�у悕", "鏍囩", "鎻忚堪",
+						"灞炴�х被鍨�", "鍏佽涓虹┖", "榛樿鍊�", "浣跨敤鐨勬灇涓捐嫳鏂囧悕绉�(鏋氫妇鍚�)",
+						"鍙傜収鐨勪笟鍔$被鍨嬬紪鍙�", "鍙傜収鐨勯摼鎺ョ被鍨嬬紪鍙�","鐗堟湰鐗堟","灞炴�ч暱搴�",
+						"灏忔暟绮惧害浣嶆暟","灏忔暟鍒诲害浣嶆暟","鍙栧�艰寖鍥�","鍒涘缓鏃堕棿")
+		);
 	}
 
 	/**
@@ -932,11 +963,7 @@
 		//鐣岄潰娌′紶鍚嶇О锛屼娇鐢ㄩ粯璁ゅ鍑哄悕绉�
 		exportFileName = Func.isBlank(exportFileName) ?  "灞炴�ф睜瀵煎叆妯℃澘_" + Func.format(new Date(),"yyyy-MM-dd HHmmss.sss"):exportFileName;
 		//璁剧疆鍒楀悕
-		List<String> columns = new ArrayList<>(
-				Arrays.asList("灞炴�у悕", "鏍囩", "鎻忚堪",
-						"灞炴�х被鍨�", "鍏佽涓虹┖(鏄�/鍚�)", "榛樿鍊�", "浣跨敤鐨勬灇涓捐嫳鏂囧悕绉�", "鍙傜収鐨勪笟鍔$被鍨嬬紪鍙�",
-						"鍙傜収鐨勯摼鎺ョ被鍨嬬紪鍙�","鐗堟湰鐗堟","灞炴�ч暱搴�", "灏忔暟绮惧害浣嶆暟","灏忔暟鍒诲害浣嶆暟","鍙栧�艰寖鍥�")
-		);
+		List<String> columns = this.getCloumns(true);
 		//璁剧疆蹇呭~鍒�
 		ColumnNameisRed.clear();
 		ColumnNameisRed.add(0);
@@ -1010,6 +1037,22 @@
 				//灞炴�у悕excel涓垽閲嶅鐞�
 				excelReapeat.put(osAttributePO.getId(),osAttributePO.getRowIndex());
 				OsAttributeDTO osAttributeDTO = new OsAttributeDTO();
+				//鏌ヨ鏋氫妇鏄惁瀛樺湪锛屽~鍐欎簡鏋氫妇浣嗘病濉啓鍙栧�艰寖鍥达紝杩欐椂鍊欑洿鎺ヤ娇鐢ㄦ灇涓鹃」鍊间綔涓洪粯璁ょ殑range
+				if(Func.isNotBlank(osAttributePO.getEnumId()) && Func.isBlank(osAttributePO.getRange())){
+					try {
+						OsEnumVO enumVO = enumService.getEnumTypeById(osAttributePO.getEnumId());
+						if(Func.isEmpty(enumVO)){
+							throw new VciBaseException("绗��" + osAttributePO.getRowIndex() + "銆戣鏁版嵁,閫氳繃鏋氫妇鍚嶇О銆�" + osAttributePO.getEnumId()
+									+ "銆戞湭鑾峰彇鍒版灇涓句俊鎭�!");
+						}
+						String itemValues = enumVO.getItemMaps().values().stream().collect(Collectors.joining(";"));
+						osAttributeDTO.setRange(itemValues);
+					} catch (PLException e) {
+						e.printStackTrace();
+						throw new VciBaseException("鏋氫妇鏌ヨ澶辫触锛屽師鍥狅細"+e.getMessage());
+					}
+					osAttributeDTO.setBtmTypeId(osAttributePO.getEnumId());
+				}
 				osAttributeDTO.setOid(VciBaseUtil.getPk().toUpperCase(Locale.ROOT));
 				osAttributeDTO.setId(osAttributePO.getId());
 				osAttributeDTO.setName(osAttributePO.getName());
@@ -1045,7 +1088,7 @@
 					}
 				} catch (PLException e) {
 					e.printStackTrace();
-					throw new VciBaseException("鎵ц淇濆瓨鏃跺嚭鐜伴敊璇紝閿欒灞炴�у璞″悕涓猴細銆�" + dto.getId() + "銆戯紝鍘熷洜锛�"+e.getMessage());
+					throw new VciBaseException("鎵ц淇濆瓨鏃跺嚭鐜伴敊璇紝閿欒灞炴�у璞″悕涓猴細銆�" + dto.getId() + "銆戯紝鍘熷洜锛�"+VciBaseUtil.getExceptionMessage(e));
 				}
 			});
 		}catch (Exception e){

--
Gitblit v1.9.3