From 08635bced778daba88cd02a6382f7727de4f7bab Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期一, 09 九月 2024 10:29:32 +0800
Subject: [PATCH] ui定义下页面定义添加、查询接口调整

---
 Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/QtQueryVO.java                  |   16 +++++
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java       |   19 ++++++
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsQueryTemplateController.java |   28 ++++++++-
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java            |    4 
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsQueryTemplateImpl.java     |    7 +-
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java    |   51 +++++++++++++---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsQuereyTemplateServiceI.java     |    2 
 7 files changed, 106 insertions(+), 21 deletions(-)

diff --git a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/QtQueryVO.java b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/QtQueryVO.java
new file mode 100644
index 0000000..19168cb
--- /dev/null
+++ b/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;
+
+}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsQueryTemplateController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsQueryTemplateController.java
index 8410035..e00dd3b 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsQueryTemplateController.java
+++ b/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();
+            }
+        }
     }
 
     /**
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java
index d686499..fe7860b 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java
+++ b/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
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsQuereyTemplateServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsQuereyTemplateServiceI.java
index 7f0b927..02c1327 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsQuereyTemplateServiceI.java
+++ b/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 ;
 
     /**
      * 鏌ヨ鏉′欢涓嬬殑閫夋嫨鏌ヨ妯℃澘瀵硅瘽妗嗭紙鏌ヨ鍏ㄩ儴妯℃澘鍜屾墍瀵瑰簲鐨勪笟鍔$被鍨嬫垨閾炬帴绫诲瀷鍚嶏級
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java
index 85c87d8..0d0e61e 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java
+++ b/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;
 
     /**
      * 娣诲姞椤甸潰瀹氫箟
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsQueryTemplateImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsQueryTemplateImpl.java
index 5b993f0..8f2a7fa 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsQueryTemplateImpl.java
+++ b/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;
     }
 
     /**
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java
index 3b63d43..b315dc0 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java
+++ b/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;
     }
+
+    /**
+     * 椤甸潰瀹氫箟鐨凞O2VO瀵硅薄
+     * @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瀵硅薄杞琕O瀵硅薄鏃跺嚭鐜伴敊璇�,鍘熷洜锛�"+e.getMessage());
+            }
+        });
+        return plDefinationVOList;
+    }
+
 
     /**
      * 娣诲姞椤甸潰瀹氫箟
@@ -1028,6 +1056,7 @@
             }
         });
     }
+
     /**
      * UI瑙掕壊瀵硅薄杞崲
      * @param infos

--
Gitblit v1.9.3