ludc
2024-09-09 08635bced778daba88cd02a6382f7727de4f7bab
ui定义下页面定义添加、查询接口调整
已修改6个文件
已添加1个文件
127 ■■■■ 文件已修改
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/QtQueryVO.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsQueryTemplateController.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsQuereyTemplateServiceI.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsQueryTemplateImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java 51 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/QtQueryVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.vci.pagemodel;
import lombok.Data;
import java.util.List;
/**
 * @author ludc
 * @date 2024/9/6 17:20
 */
@Data
public class QtQueryVO {
    List<String> qtNames;
}
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsQueryTemplateController.java
@@ -1,12 +1,18 @@
package com.vci.web.controller;
import cn.hutool.core.io.FileUtil;
import com.vci.corba.common.PLException;
import com.vci.corba.omd.qtm.QTD;
import com.vci.dto.QTInfoDTO;
import com.vci.pagemodel.QtQueryVO;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.BaseResult;
import com.vci.starter.web.util.ControllerUtil;
import com.vci.starter.web.util.LocalFileUtil;
import com.vci.starter.web.util.VciBaseUtil;
import com.vci.web.service.OsQuereyTemplateServiceI;
import com.vci.web.util.Func;
import org.apache.commons.lang3.StringUtils;
import org.dom4j.DocumentException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -15,9 +21,9 @@
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import java.util.*;
/**
 * æŸ¥è¯¢æ¨¡æ¿çš„æŽ§åˆ¶å™¨
@@ -353,8 +359,22 @@
     * @return
     */
    @PostMapping("/expBtmQTTemplate")
    public void expBtmQTTemplate(List<String> qtNames,HttpServletResponse response) throws PLException, IOException {
        quereyTemplateServiceI.expBtmQTTemplate(qtNames, response);
    public void expBtmQTTemplate(Map qtQueryMap, HttpServletResponse response) throws PLException, IOException {
        try {
            String qtNames = (String)qtQueryMap.get("qtNames");
            String excelPath = quereyTemplateServiceI.expBtmQTTemplate(Arrays.asList(qtNames.split(",")));
            ControllerUtil.writeFileToResponse(response,excelPath);
            FileUtil.del(LocalFileUtil.getDefaultTempFolder() + File.separator);
        } catch (Exception e) {
            String msg = "导出业务类型查询模板时出现错误,原因:" + VciBaseUtil.getExceptionMessage(e);
            try {
                //出错时
                e.printStackTrace();
                ControllerUtil.writeDataToResponse(response,"error_" + Func.format(new Date(),"yyyy-MM-dd HHmmss.sss") + ".txt", StringUtils.isNotBlank(msg)?msg.getBytes():new byte[0],null);
            } catch (IOException ioException) {
                ioException.printStackTrace();
            }
        }
    }
    /**
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java
@@ -268,6 +268,25 @@
        }
    }
    //页面设计相关接口
    /**
     * æŸ¥è¯¢é¡µé¢è®¾è®¡å®šä¹‰
     * @param pageContextOId
     * @return
     */
    @GetMapping( "/getPLPageDefinations")
    @VciBusinessLog(operateName = "查询页面设计定义")
    public BaseResult<DataGrid> getPLPageDefinations(String pageContextOId){
        try {
            return BaseResult.dataGrid(uiManagerService.getPLPageDefinations(pageContextOId));
        }catch (Exception e) {
            e.printStackTrace();
            String exceptionMessage = "查询页面设计定义时出现错误,原因:" + VciBaseUtil.getExceptionMessage(e);
            logger.error(exceptionMessage);
            return BaseResult.fail(exceptionMessage);
        }
    }
    /**
     * æ ¹æ®è§’色获取UI/表单/按钮的权限.
     * @param baseQueryObject
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsQuereyTemplateServiceI.java
@@ -139,7 +139,7 @@
     * names æŸ¥è¯¢æ¨¡æ¿å
     * @return
     */
    void expBtmQTTemplate(List<String> names, HttpServletResponse response) throws PLException,IOException ;
    String expBtmQTTemplate(List<String> names) throws PLException,IOException ;
    /**
     * æŸ¥è¯¢æ¡ä»¶ä¸‹çš„选择查询模板对话框(查询全部模板和所对应的业务类型或链接类型名)
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java
@@ -111,10 +111,10 @@
    //页面设计相关接口
    /**
     * æŸ¥è¯¢é¡µé¢è®¾è®¡å®šä¹‰
     * @param plPageContextOId
     * @param pageContextOId
     * @return
     */
    DataGrid getPLPageDefinations(String plPageContextOId) throws PLException;
    DataGrid getPLPageDefinations(String pageContextOId) throws PLException;
    /**
     * æ·»åŠ é¡µé¢å®šä¹‰
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsQueryTemplateImpl.java
@@ -1579,7 +1579,7 @@
     * @return
     */
    @Override
    public void expBtmQTTemplate(List<String> names, HttpServletResponse response) throws PLException, IOException {
    public String expBtmQTTemplate(List<String> names) throws PLException, IOException {
        String defaultTempFolder = LocalFileUtil.getDefaultTempFolder();
        String vciqtmfFileName = defaultTempFolder + File.separator + "BtmTemplateExp" + new Date().getTime() + ".vciqtf";
        BtmQTExportData exportData = new BtmQTExportData();
@@ -1611,8 +1611,9 @@
                throw new PLException("500",new String[]{"导出流关闭异常!"});
            }
        }
        ControllerUtil.writeFileToResponse(response,vciqtmfFileName);
        FileUtil.del(defaultTempFolder + File.separator);
        //ControllerUtil.writeFileToResponse(response,vciqtmfFileName);
        //FileUtil.del(defaultTempFolder + File.separator);
        return vciqtmfFileName;
    }
    /**
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java
@@ -80,10 +80,10 @@
    /**
     * æŽ’序比较器
     */
    private Comparator<PLPageDefination> pageDefinationComparator = new Comparator<PLPageDefination>() {
    private Comparator<PLDefinationVO> pageDefinationComparator = new Comparator<PLDefinationVO>() {
        @Override
        public int compare(PLPageDefination o1, PLPageDefination o2) {
            return new Integer(o1.seq).compareTo(new Integer(o2.seq));
        public int compare(PLDefinationVO o1, PLDefinationVO o2) {
            return new Integer(o1.getSeq()).compareTo(new Integer(o2.getSeq()));
        }
    };
@@ -397,20 +397,48 @@
    /**
     * æŸ¥è¯¢é¡µé¢è®¾è®¡å®šä¹‰
     * @param plPageContextOId
     * @param pageContextOId
     * @return
     */
    @Override
    public DataGrid getPLPageDefinations(String plPageContextOId) throws PLException {
    public DataGrid getPLPageDefinations(String pageContextOId) throws PLException {
        DataGrid dataGrid = new DataGrid();
        if(Func.isBlank(plPageContextOId)) return dataGrid;
        PLPageDefination[] plPageDefinations = platformClientUtil.getUIService().getPLPageDefinationsByPageContextOId(plPageContextOId);
        dataGrid.setTotal(plPageDefinations.length);
        Arrays.sort(plPageDefinations, pageDefinationComparator);
        dataGrid.setData(Arrays.asList(plPageDefinations));
        if(Func.isBlank(pageContextOId)) return dataGrid;
        PLPageDefination[] plPageDefinations = platformClientUtil.getUIService().getPLPageDefinationsByPageContextOId(pageContextOId);
        if(Func.isEmpty(plPageDefinations)){
            return dataGrid;
        }
        //DO2VO
        List<PLDefinationVO> plDefinationVOS = this.pageDefinations2PLDefinationVO(Arrays.asList(plPageDefinations));
        dataGrid.setTotal(plDefinationVOS.size());
        Collections.sort(plDefinationVOS, Comparator.comparing(PLDefinationVO::getSeq));
        //Arrays.sort(plDefinationVOS, pageDefinationComparator);
        dataGrid.setData(plDefinationVOS);
        return dataGrid;
    }
    /**
     * é¡µé¢å®šä¹‰çš„DO2VO对象
     * @param plPageDefinations
     * @return
     */
    private List<PLDefinationVO> pageDefinations2PLDefinationVO(List<PLPageDefination> plPageDefinations){
        List<PLDefinationVO> plDefinationVOList = new ArrayList<>();
        plPageDefinations.stream().forEach(item->{
            try {
                PLDefinationVO plDefinationVO = new PLDefinationVO();
                PLDefination plDefination = UITools.getPLDefination(item.plDefination);
                BeanUtil.copy(plDefination,plDefinationVO);
                plDefinationVOList.add(plDefinationVO);
            } catch (Throwable e) {
                e.printStackTrace();
                logger.error(e.getMessage());
                throw new VciBaseException("页面定义DO对象转VO对象时出现错误,原因:"+e.getMessage());
            }
        });
        return plDefinationVOList;
    }
    /**
     * æ·»åŠ é¡µé¢å®šä¹‰
@@ -1028,6 +1056,7 @@
            }
        });
    }
    /**
     * UI角色对象转换
     * @param infos