From c8f873c85f86c50c479900abea194dc6bb46a2e4 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期五, 27 九月 2024 18:10:29 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java |   68 +++++++++++++++++++++++----------
 1 files changed, 47 insertions(+), 21 deletions(-)

diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java
index 558679f..f2b6086 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java
@@ -82,6 +82,12 @@
 	private OsBtmServiceI btmService;
 
 	/**
+	 * 灞炴�х殑鏈嶅姟
+	 */
+	@Autowired
+	private OsAttributeServiceI attrService;
+
+	/**
 	 * 涓氬姟绫诲瀷鐨勬湇鍔�
 	 */
 	@Autowired
@@ -315,7 +321,13 @@
 					//璇存槑鏄摼鎺ョ被鍨�
 					field = field.substring("t_oid.".length());
 				}
-				OsAttributeVO attributeVO = attributeService.getAttr(field);
+//				OsAttributeVO attributeVO = attributeService.getAttr(field);
+				OsAttributeVO attributeVO = null;
+				try {
+					attributeVO = attributeService.attributeDO2VO(platformClientUtil.getAttributeService().getAttributeDefByName(field));
+				} catch (PLException e) {
+					throw new RuntimeException(e);
+				}
 				UIFormReferVO referVO = new UIFormReferVO();
 				if(attributeVO !=null && StringUtils.isNotBlank(attributeVO.getBtmTypeId())
 						&& StringUtils.isBlank(itemXO.getRefer())
@@ -473,7 +485,12 @@
 	public List<UITableDefineVO> tableDO2VOs(Collection<PortalVI> prms, boolean queryDetail) {
 		List<UITableDefineVO> tableDefineVOList = new ArrayList<>();
 		Optional.ofNullable(prms).orElseGet(()->new ArrayList<PortalVI>()).stream().forEach(portal->{
-			UITableDefineVO defineVO = tableDO2VO(portal,queryDetail);
+			UITableDefineVO defineVO = null;
+			try {
+				defineVO = tableDO2VO(portal,queryDetail,null);
+			} catch (PLException e) {
+				throw new RuntimeException(e);
+			}
 			tableDefineVOList.add(defineVO);
 		});
 		return tableDefineVOList;
@@ -488,7 +505,7 @@
 	 */
 	@Override
 	@VciUnLog
-	public UITableDefineVO tableDO2VO(PortalVI portal, boolean queryDetail) {
+	public UITableDefineVO tableDO2VO(PortalVI portal, boolean queryDetail, Map<String, OsAttributeVO> attributeVOMap) throws PLException {
 		UITableDefineVO tableDefineVO = new UITableDefineVO();
 		tableDefineVO.setOid(portal.id);
 		tableDefineVO.setId(portal.viName);
@@ -593,7 +610,7 @@
 							fieldVO.setSortField(fieldName);
 							fieldVO.setEdit("combox");
 							//鑲畾鏄笟鍔$被鍨嬶紝鍥犱负閾炬帴绫诲瀷娌℃湁杩欎釜瀛楁
-							OsBtmTypeVO btmTypeVO = btmService.getBtmById(tableDefineVO.getBtmType());
+							OsBtmTypeVO btmTypeVO = btmService.btmDO2VO(platformClientUtil.getBtmService().getBizTypeByName(tableDefineVO.getBtmType()),attributeVOMap);
 							if(btmTypeVO!=null && StringUtils.isNotBlank(btmTypeVO.getLifeCycleId())){
 								fieldVO.setComboxKey(btmTypeVO.getLifeCycleId() + LC_STATUS_SUBFIX);
 							}
@@ -712,7 +729,7 @@
 	 * @return 琛ㄥ崟鐨勫畾涔�
 	 */
 	@Override
-	public UITableDefineVO getTableById(String btmId, String id) {
+	public UITableDefineVO getTableById(String btmId, String id) throws PLException {
 		if(StringUtils.isBlank(btmId) || StringUtils.isBlank(id)){
 			return null;
 		}
@@ -723,7 +740,7 @@
 			} catch (PLException vciError) {
 				throw WebUtil.getVciBaseException(vciError);
 			}
-			return tableDO2VO(portalVI,true);
+			return tableDO2VO(portalVI,true,null);
 		}
 		return self.selectAllTableMap().getOrDefault(btmId.toLowerCase()+SEP+id.toLowerCase(),null);
 	}
@@ -1060,8 +1077,14 @@
 	 */
 	private List<UILayoutVO> UILayoutDO2VOs(Collection<PLTabPage> pages, boolean queryDetail){
 		List<UILayoutVO> contentVOS = new ArrayList<>();
+		Map<String, OsAttributeVO> attributeVOMap;
+		if(pages != null && pages.size() > 0){
+			attributeVOMap = attrService.selectAllAttributeMap();
+		}else{
+			attributeVOMap = null;
+		}
 		Optional.ofNullable(pages).orElseGet(()->new ArrayList<PLTabPage>()).stream().forEach(page->{
-			UILayoutVO layoutVO = UILayoutDO2VO(page, queryDetail);
+			UILayoutVO layoutVO = UILayoutDO2VO(page, queryDetail,attributeVOMap);
 			if(layoutVO.isEnableStatus()) {
 				contentVOS.add(layoutVO);
 			}
@@ -1084,7 +1107,7 @@
 	 * @return 鍖哄煙鐨勬樉绀哄璞�
 	 */
 	@VciUnLog
-	private UILayoutVO UILayoutDO2VO(PLTabPage page, boolean queryDetail){
+	private UILayoutVO UILayoutDO2VO(PLTabPage page, boolean queryDetail,Map<String, OsAttributeVO> attributeVOMap){
 		UILayoutVO layoutVO = new UILayoutVO();
 		if(page !=null ){
 			layoutVO.setOid(page.plOId);
@@ -1124,7 +1147,7 @@
 			if(queryDetail){
 				//鍗曚釜鐨勶紝鐩存帴鑾峰彇
 				try {
-					layoutVO.setComponentVOs(uiComponentDO2VOs(Arrays.stream(platformClientUtil.getUIService().getPLPageDefinationsByPageContextOId(layoutVO.getOid())).collect(Collectors.toList()),true));
+					layoutVO.setComponentVOs(uiComponentDO2VOs(Arrays.stream(platformClientUtil.getUIService().getPLPageDefinationsByPageContextOId(layoutVO.getOid())).collect(Collectors.toList()),true,attributeVOMap));
 				} catch (PLException vciError) {
 					throw WebUtil.getVciBaseException(vciError);
 				}
@@ -1164,13 +1187,13 @@
 	 * @return 涓婚敭鐨勬樉绀哄璞�
 	 */
 	@Override
-	public UIComponentVO getComponentByOid(String componentOid) {
+	public UIComponentVO getComponentByOid(String componentOid, Map<String, OsAttributeVO> attributeVOMap) {
 		if(StringUtils.isBlank(componentOid)){
 			return null;
 		}
 		if(!QUERY_BY_CACHE){
 			try {
-				return uiComponentDO2VO(platformClientUtil.getUIService().getPLPageDefinationById(componentOid),true);
+				return uiComponentDO2VO(platformClientUtil.getUIService().getPLPageDefinationById(componentOid),true,attributeVOMap);
 			} catch (PLException vciError) {
 				throw WebUtil.getVciBaseException(vciError);
 			}
@@ -1189,10 +1212,10 @@
 	 * @param pages 鏁版嵁瀵硅薄
 	 * @return 鏄剧ず瀵硅薄
 	 */
-	private List<UIComponentVO> uiComponentDO2VOs(Collection<com.vci.corba.portal.data.PLPageDefination> pages, boolean queryDetail){
+	private List<UIComponentVO> uiComponentDO2VOs(Collection<com.vci.corba.portal.data.PLPageDefination> pages, boolean queryDetail,Map<String, OsAttributeVO> attributeVOMap){
 		List<UIComponentVO> componentVOS = new ArrayList<>();
 		pages.stream().forEach(page->{
-			componentVOS.add(uiComponentDO2VO(page,queryDetail));
+			componentVOS.add(uiComponentDO2VO(page,queryDetail,attributeVOMap));
 		});
 		return componentVOS;
 	}
@@ -1203,7 +1226,7 @@
 	 * @return 鏄剧ず瀵硅薄
 	 */
 	@VciUnLog
-	private UIComponentVO uiComponentDO2VO(PLPageDefination page, boolean queryDetail){
+	private UIComponentVO uiComponentDO2VO(PLPageDefination page, boolean queryDetail, Map<String, OsAttributeVO> attributeVOMap){
 		UIComponentVO componentVO = new UIComponentVO();
 		if(page !=null){
 			componentVO.setOid(page.plOId);
@@ -1242,7 +1265,7 @@
 					componentVO.setTableDefineVO(tableDefineVOMap.get(key));
 				}else{
 					try {
-						componentVO.setTableDefineVO(tableDO2VO(platformClientUtil.getUIService().getPortalVIByTypeNameAndVIName(btmType,componentDefineXO.getTemplateId()),true));
+						componentVO.setTableDefineVO(tableDO2VO(platformClientUtil.getUIService().getPortalVIByTypeNameAndVIName(btmType,componentDefineXO.getTemplateId()),true,attributeVOMap));
 					} catch (PLException vciError) {
 						throw WebUtil.getVciBaseException(vciError);
 					}
@@ -1278,7 +1301,7 @@
 					tableDefineVO= tableDefineVOMap.get(key);
 				}else{
 					try {
-						tableDefineVO = tableDO2VO(platformClientUtil.getUIService().getPortalVIByTypeNameAndVIName(btmType,componentDefineXO.getTemplateId()),true);
+						tableDefineVO = tableDO2VO(platformClientUtil.getUIService().getPortalVIByTypeNameAndVIName(btmType,componentDefineXO.getTemplateId()),true,null);
 					} catch (PLException vciError) {
 						throw WebUtil.getVciBaseException(vciError);
 					}
@@ -1432,9 +1455,13 @@
 	@Override
 	public List<UIButtonDefineVO> buttonDO2VOs(Collection<com.vci.corba.portal.data.PLTabButton> buttons){
 		List<UIButtonDefineVO> buttonDefineVOS = new ArrayList<>();
-		Optional.ofNullable(buttons).orElseGet(()->new ArrayList<>()).stream().forEach(button->{
-			buttonDefineVOS.add(buttonDO2VO(button));
-		});
+		if(buttons != null && buttons.size() > 0){
+			Map<String, UIActionVO> actionVOMap = self.selectAllActionMap();
+			Optional.ofNullable(buttons).orElseGet(()->new ArrayList<>()).stream().forEach(button->{
+				buttonDefineVOS.add(buttonDO2VO(button, actionVOMap));
+			});
+		}
+
 		return buttonDefineVOS;
 	}
 
@@ -1444,9 +1471,8 @@
 	 * @return 鏄剧ず瀵硅薄
 	 */
 	@Override
-	public UIButtonDefineVO buttonDO2VO(com.vci.corba.portal.data.PLTabButton button)  {
+	public UIButtonDefineVO buttonDO2VO(com.vci.corba.portal.data.PLTabButton button, Map<String, UIActionVO> actionVOMap)  {
 		UIButtonDefineVO buttonVO = new UIButtonDefineVO();
-		Map<String, UIActionVO> actionVOMap = self.selectAllActionMap();
 //		Map<String, UIActionVO> actionVOMap = ServiceProvider.getUIService().getAllPLAction();
 		if(button !=null){
 			buttonVO.setOid(button.plOId);

--
Gitblit v1.9.3