From d336c430e5d22ade703ff12f3d523889eb3d75d6 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期五, 08 十一月 2024 10:54:26 +0800
Subject: [PATCH] action管理 编辑 新增 分类禁用bug
---
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java | 81 ++++++++++++++++++++++++++++++----------
1 files changed, 60 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..a91ac07 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
@@ -16,6 +16,7 @@
import com.vci.web.enumpck.UIComponentTypeEnum;
import com.vci.web.enumpck.UIFieldTypeEnum;
import com.vci.web.enumpck.UILayoutAreaTypeEnum;
+import com.vci.web.other.AllActionThreadLocal;
import com.vci.web.service.OsAttributeServiceI;
import com.vci.web.service.OsBtmServiceI;
import com.vci.web.service.UIEngineServiceI;
@@ -80,6 +81,12 @@
*/
@Autowired
private OsBtmServiceI btmService;
+
+ /**
+ * 灞炴�х殑鏈嶅姟
+ */
+ @Autowired
+ private OsAttributeServiceI attrService;
/**
* 涓氬姟绫诲瀷鐨勬湇鍔�
@@ -315,7 +322,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 +486,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 +506,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 +611,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 +730,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 +741,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 +1078,19 @@
*/
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();
+ Map<String, UIActionVO> actionVOMap = AllActionThreadLocal.get();
+ if(actionVOMap == null || actionVOMap.isEmpty()){
+ actionVOMap = selectAllActionMap();
+ AllActionThreadLocal.set(actionVOMap);
+ }
+ }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);
}
@@ -1074,6 +1103,7 @@
}
});
}
+ AllActionThreadLocal.remove();
return contentVOS;
}
@@ -1084,7 +1114,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 +1154,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 +1194,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 +1219,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 +1233,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 +1272,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 +1308,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 +1462,19 @@
@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();
+ Map<String, UIActionVO> actionVOMap = null;
+ actionVOMap = AllActionThreadLocal.get();
+ if(actionVOMap == null ){
+ actionVOMap = self.selectAllActionMap();
+ }
+ Map<String, UIActionVO> finalActionVOMap = actionVOMap;
+ Optional.ofNullable(buttons).orElseGet(()->new ArrayList<>()).stream().forEach(button->{
+ buttonDefineVOS.add(buttonDO2VO(button, finalActionVOMap));
+ });
+ }
+
return buttonDefineVOS;
}
@@ -1444,9 +1484,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