ludc
2024-04-09 fecc7305a48f8ce6e283434718da33e143885c75
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java
@@ -6,7 +6,7 @@
import com.thoughtworks.xstream.io.xml.XppDriver;
import com.vci.client.common.providers.ServiceProvider;
import com.vci.corba.common.VCIError;
import com.vci.corba.portal.data.PLPageDefination;
import com.vci.corba.portal.data.PLTabButton;
import com.vci.corba.portal.data.PLUILayout;
import com.vci.starter.web.annotation.log.VciUnLog;
import com.vci.starter.web.exception.VciBaseException;
@@ -25,6 +25,7 @@
import com.vci.web.service.OsBtmServiceI;
import com.vci.web.service.UIEngineServiceI;
import com.vci.web.service.WebBoServiceI;
import com.vci.web.util.Func;
import com.vci.web.util.PlatformClientUtil;
import com.vci.web.util.WebUtil;
import com.vci.web.xmlmodel.UIComponentDefineXO;
@@ -41,9 +42,10 @@
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import com.vci.corba.portal.data.PortalVI;
import com.vci.corba.portal.data.PLAction;
import com.vci.corba.portal.data.PLTabPage;
import com.vci.corba.portal.data.PLTabButton;
import com.vci.corba.portal.data.PLAction;
import com.vci.corba.portal.data.PLPageDefination;
import com.vci.corba.portal.data.PLCommandParameter;
import plm.corba.portal.*;
import java.util.*;
@@ -58,7 +60,7 @@
 *
 */
@Service
public class UIEngineServiceImpl  implements UIEngineServiceI {
public class UIEngineServiceImpl implements UIEngineServiceI {
   /**
    * 是否从缓存中查询
@@ -165,13 +167,13 @@
   @Override
   @VciUnLog
   public List<UIFormDefineVO> selectAllForm() {
      com.vci.corba.portal.data.PortalVI[] portalVIS = null;
      PortalVI[] portalVIS = null;
      try {
         portalVIS = ServiceProvider.getUIService().getAllPortalVI();
      } catch (VCIError vciError) {
         throw WebUtil.getVciBaseException(vciError);
      }
      List<com.vci.corba.portal.data.PortalVI> portalVIList = Arrays.stream(portalVIS).filter(portal -> 1 == portal.viType).collect(Collectors.toList());
      List<PortalVI> portalVIList = Arrays.stream(portalVIS).filter(portal -> 1 == portal.viType).collect(Collectors.toList());
      return formDO2VOs(portalVIList);
   }
@@ -193,9 +195,9 @@
    * @return 显示对象
    */
   @Override
   public List<UIFormDefineVO> formDO2VOs(Collection<com.vci.corba.portal.data.PortalVI> portalVIS) {
   public List<UIFormDefineVO> formDO2VOs(Collection<PortalVI> portalVIS) {
      List<UIFormDefineVO> formDefineVOList = new ArrayList<>();
      Optional.ofNullable(portalVIS).orElseGet(()->new ArrayList<com.vci.corba.portal.data.PortalVI>()).stream().forEach(portal->{
      Optional.ofNullable(portalVIS).orElseGet(()->new ArrayList<PortalVI>()).stream().forEach(portal->{
         try {
            UIFormDefineVO defineVO = formDO2VO(portal);
            formDefineVOList.add(defineVO);
@@ -216,7 +218,7 @@
    */
   @Override
   @VciUnLog
   public UIFormDefineVO formDO2VO(com.vci.corba.portal.data.PortalVI portal) {
   public UIFormDefineVO formDO2VO(PortalVI portal) {
      if(portal == null ||StringUtils.isBlank(portal.prm)){
         throw new VciBaseException("表单可能不存在,因为未能获取到它的信息");
      }
@@ -416,7 +418,7 @@
         return null;
      }
      if(!QUERY_BY_CACHE){
         com.vci.corba.portal.data.PortalVI portalVI = null;
         PortalVI portalVI = null;
         try {
            portalVI = ServiceProvider.getUIService().getPortalVIByTypeNameAndVIName(btmId, id);
         } catch (VCIError vciError) {
@@ -459,13 +461,13 @@
   @Cacheable(value = VCI_OBJECT_SERVICE,key = CacheKeyConstant.ALL_TABLE,unless = "#result == null")
   @VciUnLog
   public List<UITableDefineVO> selectAllTable() {
      com.vci.corba.portal.data.PortalVI[] portalVIS = null;
      PortalVI[] portalVIS = null;
      try {
         portalVIS = ServiceProvider.getUIService().getAllPortalVI();
      } catch (VCIError vciError) {
         throw WebUtil.getVciBaseException(vciError);
      }
      List<com.vci.corba.portal.data.PortalVI> portalVIList = Arrays.stream(portalVIS).filter(portal -> 0 == portal.viType).collect(Collectors.toList());
      List<PortalVI> portalVIList = Arrays.stream(portalVIS).filter(portal -> 0 == portal.viType).collect(Collectors.toList());
      return tableDO2VOs(portalVIList,false);
   }
@@ -490,7 +492,7 @@
   @VciUnLog
   public List<UITableDefineVO> tableDO2VOs(Collection<PortalVI> prms, boolean queryDetail) {
      List<UITableDefineVO> tableDefineVOList = new ArrayList<>();
      Optional.ofNullable(prms).orElseGet(()->new ArrayList<com.vci.corba.portal.data.PortalVI>()).stream().forEach(portal->{
      Optional.ofNullable(prms).orElseGet(()->new ArrayList<PortalVI>()).stream().forEach(portal->{
         UITableDefineVO defineVO = tableDO2VO(portal,queryDetail);
         tableDefineVOList.add(defineVO);
      });
@@ -507,9 +509,6 @@
   @Override
   @VciUnLog
   public UITableDefineVO tableDO2VO(PortalVI portal, boolean queryDetail) {
      if(){
      }
      UITableDefineVO tableDefineVO = new UITableDefineVO();
      tableDefineVO.setOid(portal.id);
      tableDefineVO.setId(portal.viName);
@@ -739,7 +738,7 @@
         return null;
      }
      if(!QUERY_BY_CACHE){
         com.vci.corba.portal.data.PortalVI portalVI = null;
         PortalVI portalVI = null;
         try {
            portalVI = ServiceProvider.getUIService().getPortalVIByTypeNameAndVIName(btmId, id);
         } catch (VCIError vciError) {
@@ -838,8 +837,8 @@
         actionVO.setCreator(action.plCreateUser);
         actionVO.setLastModifier(action.plModifyUser);
         try {
            actionVO.setCreateTime(VciDateUtil.str2Date(String.valueOf(action.plCreateTime), VciDateUtil.DateTimeFormat));
            actionVO.setLastModifyTime(VciDateUtil.str2Date(String.valueOf(action.plCreateTime), VciDateUtil.DateTimeFormat));
            actionVO.setCreateTime(new Date(action.plCreateTime));
            actionVO.setLastModifyTime(new Date(action.plCreateTime));
         }catch (Throwable e){
            logger.error("转换时间",e);
         }
@@ -923,8 +922,8 @@
         contentVO.setDescription(pageLayoutDefination.plDesc);
         contentVO.setCreator(pageLayoutDefination.plCreateUser);
         try {
            contentVO.setCreateTime(VciDateUtil.str2Date(String.valueOf(pageLayoutDefination.plCreateTime),VciDateUtil.DateTimeFormat));
            contentVO.setLastModifyTime(VciDateUtil.str2Date(String.valueOf(pageLayoutDefination.plModifyTime),VciDateUtil.DateTimeFormat));
            contentVO.setCreateTime(new Date(pageLayoutDefination.plCreateTime));
            contentVO.setLastModifyTime(new Date(pageLayoutDefination.plModifyTime));
         } catch (Exception e) {
            e.printStackTrace();
         }
@@ -1145,8 +1144,8 @@
         }
         layoutVO.setCreator(page.plCreateUser);
         try {
            layoutVO.setCreateTime(VciDateUtil.str2Date(String.valueOf(page.plCreateTime),VciDateUtil.DateTimeFormat));
            layoutVO.setLastModifyTime(VciDateUtil.str2Date(String.valueOf(page.plModifyTime),VciDateUtil.DateTimeFormat));
            layoutVO.setCreateTime(new Date(page.plCreateTime));
            layoutVO.setLastModifyTime(new Date(page.plModifyTime));
         } catch (Exception e) {
            e.printStackTrace();
         }
@@ -1205,9 +1204,7 @@
      }
      if(!QUERY_BY_CACHE){
         try {
            PLPageDefination plPageDefination = ServiceProvider.getUIService().getPLPageDefinationById(componentOid);
            // PLPageDefination plPageDefination = platformClientUtil.getPortalService().getPLPageDefinationById(componentOid);
            return uiComponentDO2VO(plPageDefination,true);
            return uiComponentDO2VO(ServiceProvider.getUIService().getPLPageDefinationById(componentOid),true);
         } catch (VCIError vciError) {
            throw WebUtil.getVciBaseException(vciError);
         }
@@ -1226,7 +1223,7 @@
    * @param pages 数据对象
    * @return 显示对象
    */
   private List<UIComponentVO> uiComponentDO2VOs(Collection<PLPageDefination> pages, boolean queryDetail){
   private List<UIComponentVO> uiComponentDO2VOs(Collection<com.vci.corba.portal.data.PLPageDefination> pages, boolean queryDetail){
      List<UIComponentVO> componentVOS = new ArrayList<>();
      pages.stream().forEach(page->{
         componentVOS.add(uiComponentDO2VO(page,queryDetail));
@@ -1277,7 +1274,6 @@
                  throw new VciBaseException("{0}里的表格{1}不存在", new String[]{btmType, componentDefineXO.getTemplateId()});
               }
               componentVO.setTableDefineVO(tableDefineVOMap.get(key));
            }else{
               try {
                  componentVO.setTableDefineVO(tableDO2VO(ServiceProvider.getUIService().getPortalVIByTypeNameAndVIName(btmType,componentDefineXO.getTemplateId()),true));
@@ -1444,7 +1440,7 @@
    * @return 显示对象
    */
   @Override
   public List<UIButtonDefineVO> buttonDO2VOs(Collection<PLTabButton> buttons){
   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));
@@ -1492,10 +1488,10 @@
            //查找参数
            Map<String,String> params = new HashMap<>();
            try {
//               PLCommandParameter[] parameters = platformClientUtil.getPortalService().getPLCommandParametersByCommandOId(buttonVO.getOid());
               com.vci.corba.portal.data.PLCommandParameter[] parameters = ServiceProvider.getUIService().getPLCommandParametersByCommandOId(buttonVO.getOid());
               //PLCommandParameter[] parameters = platformClientUtil.getPortalService().getPLCommandParametersByCommandOId(buttonVO.getOid());
               PLCommandParameter[] parameters = ServiceProvider.getUIService().getPLCommandParametersByCommandOId(buttonVO.getOid());
               if(parameters!=null && parameters.length > 0){
                  for(com.vci.corba.portal.data.PLCommandParameter parameter: parameters){
                  for(PLCommandParameter parameter: parameters){
                     params.put(parameter.plKey,parameter.plValue);
                  }
               }
@@ -1557,22 +1553,24 @@
   @Cacheable(value = VCI_OBJECT_SERVICE,key = "#p0.concat('${uicache}').concat(#p1)",unless = "#result == null || #p0 == null || #p1 ==null")
   public UIContentVO getUIContentByBtmTypeAndId(String btmType, String id) {
      WebUtil.alertNotNull(btmType,"业务类型或者链接类型",id,"UI上下文的编号");
      PLPageLayoutDefination[] obj = null;
      PLUILayout[] obj = null;
      try {
         obj = platformClientUtil.getPortalService().getPLPageLayoutDefinationsByRelatedType(btmType);
         obj = ServiceProvider.getUIService().getPLUILayoutsByRelatedType(btmType);
//         obj = platformClientUtil.getPortalService().getPLPageLayoutDefinationsByRelatedType(btmType);
//         obj = ServiceProvider.geT(btmType);
      } catch (VCIError vciError) {
         throw WebUtil.getVciBaseException(vciError);
      }
      PLPageLayoutDefination context = null;
      PLUILayout context = null;
      for (int i = 0; i < obj.length; i++) {
         if (obj[i].plCode.equals(id)) {
            context = obj[i];
            break;
         }
      }
//      return UIContentDO2VO(context,true);
      return UIContentDO2VO(null,true);
      return UIContentDO2VO(context,true);
//      return UIContentDO2VO(null,true);
   }
}