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