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("<","<"); } 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