From 3418f61a47946529b5f413e0d0548302c19a968b Mon Sep 17 00:00:00 2001 From: ludc Date: 星期一, 02 十二月 2024 14:34:49 +0800 Subject: [PATCH] 1、部分查询接口增加排序。2、UI部分的页面定义管理界面增加BS自定义查询方式和CS自定义查询方式两个字段的增删改逻辑。 --- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsQueryTemplateImpl.java | 85 +++++++++++++++++++++--------------------- 1 files changed, 43 insertions(+), 42 deletions(-) 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..3bfea3b 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 @@ -98,7 +98,8 @@ }else { qtdArray = platformClientUtil.getQTDService().getBizTypeQTDs(btmName); } - return BaseResult.dataList(Arrays.asList(qtdArray)); + List<QTD> qtdList = Arrays.asList(qtdArray).stream().sorted(Comparator.comparing(s -> s.name,String.CASE_INSENSITIVE_ORDER)).collect(Collectors.toList()); + return BaseResult.dataList(qtdList); } /** @@ -122,6 +123,7 @@ throw new PLException("500", new String[]{"澧炲姞涓氬姟绫诲瀷鏌ヨ妯℃澘澶辫触"}); } } + /** * 淇敼鏌ヨ妯℃澘 * @param qtd 鏌ヨ妯℃澘瀹炰綋绫� @@ -161,6 +163,7 @@ return BaseResult.fail("鍒犻櫎鏌ヨ妯℃澘澶辫触"); } } + /** * @param qtInfoDTO 浼犺緭鐨勬暟鎹璞★細 * linkTypeName 閾炬帴绫诲瀷銆� @@ -193,6 +196,9 @@ public BaseResult getObjTypeQTs(String btName) throws PLException, DocumentException { VciBaseUtil.alertNotNull(btName,"绫诲瀷鍚�"); QTInfo[] objTypeQTs = platformClientUtil.getQTDService().getObjTypeQTs(btName); + if(Func.isEmpty(objTypeQTs)){ + return BaseResult.success(); + } List<QTInfoDTO> dtos = new ArrayList<>(); Map<String, AttributeDef> allSysAttr = Arrays.stream(platformClientUtil.getBtmService().getSysAttributeDefs()).collect(Collectors.toMap(e -> e.name, e -> e)); allSysAttr.putAll(Arrays.stream(platformClientUtil.getLinkTypeService().getSysAttributeDefs()).collect(Collectors.toMap(e -> e.name, e -> e))); @@ -214,6 +220,8 @@ qtInfoDTO.setCreateTimeText(DateFormatUtils.format(new Date(obj.createTime), DateUtil.PATTERN_DATETIME)); dtos.add(qtInfoDTO); } + //// TODO: 2024/12/2 Ludc 杩斿洖鍊兼帓搴� + dtos = dtos.stream().sorted(Comparator.comparing(QTInfoDTO::getQtName,String.CASE_INSENSITIVE_ORDER)).collect(Collectors.toList()); return BaseResult.dataList(dtos); } @@ -265,9 +273,15 @@ if(column.contains(".")){ column = StringUtils.substringAfterLast(column, "."); } + if(column.contains(" ")){ + column = StringUtils.substringBefore(column, " "); + } AttributeDef att = platformClientUtil.getAttributeService().getAttributeDefByName(column); if(att == null || "".equals(att.oid)){ att = allSysAttr.get(column.toLowerCase()); + } + if(att == null){ + throw new PLException("500", new String[]{"灞炴�у瓧娈碉細" + column + "鍦ㄥ睘鎬ф睜涓湭鏌ヨ鍒帮紝璇风‘璁わ紒锛�"}); } leafInfoDTO.setClause(leafInfo.getClause()); @@ -321,6 +335,7 @@ HashMap<String, String> data = new HashMap<>(); data.put("column",child.getText().trim()); data.put("type",att.vtDataType); + childList.add(data); } } treeMap.put("child",childList); @@ -780,6 +795,7 @@ } return ciMap; } + /** * 鏍戝寲涓�涓煡璇㈡潯浠剁粍鑺傜偣 * @param children @@ -852,6 +868,7 @@ } return ciList; } + /** * 楂樼骇鏌ヨ * 鎶奛ode鍐呭瑙f瀽鎴怌onditionItem @@ -937,8 +954,6 @@ return ci; } - - /** * 鑾峰彇鍙傜収鐨勬煡璇㈡ā鏉� * @param refAbName: 鍙傜収灞炴�у悕 @@ -998,35 +1013,6 @@ return qt; } -// /** -// * 缁勮鏌ヨ妯℃澘 -// * @return -// */ -// public QueryTemplate getQT(HashMap<String,Object> dataMap){ -// QueryTemplate qt = new QueryTemplate(); -// qt.setType(QTConstants.TYPE_LINK); -// //TODO String qtId = -// qt.setLinkType((String) dataMap.get("linkTypeName")); -// qt.setDirection( (Boolean)dataMap.get("rdPositive") ? QTConstants.DIRECTION_POSITIVE : QTConstants.DIRECTION_OPPOSITE); -// qt.setBtmType((String) dataMap.get("btmName")); -// if("鎵�鏈夌被鍨�".equals(dataMap.get("combRelaType"))){ -// qt.setBtmType("*"); -// } -// qt.setVersion(getVersion((String) dataMap.get("versionValue"))); -// qt.setQueryISLeaf((Boolean) dataMap.get("isQueryIsLeaf")); -// qt.setLevel(StringUtils.isBlank((CharSequence) dataMap.get("level")) ? 1 : Integer.valueOf(String.valueOf(dataMap.get("level")))); -// List<String> clauseList = new ArrayList<String>(); -// //TODO 鏌ヨ鍒� 鏄剧ず鍒� -// clauseList.add("*"); -// qt.setClauseList(clauseList); -// Condition con = new Condition(); -// qt.setCondition(con); -// HashMap<String, ConditionItem> ciMap = getCIMap(); -// con.setCIMap(ciMap); -// con.setRootCIName(con.getRootCINameByCIMap(ciMap)); -// return qt; -// } - /** * 杩斿洖鏌ヨ鐨勭増鏈� * @return @@ -1074,11 +1060,12 @@ * @return */ @Override - public void expLinkTemplate(List<String> names, HttpServletResponse response) throws PLException, IOException { + public void expLinkTemplate(String names, HttpServletResponse response) throws PLException, IOException { String defaultTempFolder = LocalFileUtil.getDefaultTempFolder(); String vciqtmfFileName = defaultTempFolder + File.separator + "LinkTemplateExp" + new Date().getTime() + ".vciqtf"; LinkQTExportData exportData = new LinkQTExportData(); - for (String name : names) { + String[] splits = names.split(","); + for (String name : splits) { QTInfo qt = platformClientUtil.getQTDService().getQT(name); exportData.getAllQTs().put(qt.qtName,qt); LinkType linkType = platformClientUtil.getLinkTypeService().getLinkType(qt.btmName); @@ -1106,6 +1093,7 @@ ControllerUtil.writeFileToResponse(response,vciqtmfFileName); FileUtil.del(defaultTempFolder + File.separator); } + /** * 瀵煎叆閾炬帴绫诲瀷鏌ヨ妯℃澘 * @param file 涓婁紶鐨勬枃浠� @@ -1464,8 +1452,13 @@ throw new PLException("500", new String[]{checkInfo}); } qt.setId("qt1"); - BusinessObject[] result = platformClientUtil.getQueryService().findBTMObjects(qt.getId(), OQTool.qtTOXMl(qt).asXML()); - return BaseResult.dataList(Arrays.asList(result)); + try { + BusinessObject[] result = platformClientUtil.getQueryService().findBTMObjects(qt.getId(), OQTool.qtTOXMl(qt).asXML()); + return BaseResult.dataList(Arrays.asList(result)); + }catch (Exception e){ + String errorLog = "鏌ヨ鏃跺嚭鐜伴棶棰橈紝璇锋鏌ラ厤缃殑鏉′欢鏄惁瀛樺湪闂锛屽叿浣撳師鍥狅細"+VciBaseUtil.getExceptionMessage(e); + throw new VciBaseException(errorLog); + } } /** @@ -1499,6 +1492,7 @@ if(!checkInfo.equals("OK")){ throw new PLException("500", new String[]{checkInfo}); } + qt.setId(qtInfoDTO.getQtName()); //璁剧疆鎺掑簭淇℃伅 qt.setOrderInfoList(qtInfoDTO.getQueryTemplate().getOrderInfoList()); QTInfo qtWrapper = new QTInfo(); @@ -1579,9 +1573,10 @@ * @return */ @Override - public void expBtmQTTemplate(List<String> names, HttpServletResponse response) throws PLException, IOException { + public String expBtmQTTemplate(String qtNames) throws PLException, IOException { String defaultTempFolder = LocalFileUtil.getDefaultTempFolder(); String vciqtmfFileName = defaultTempFolder + File.separator + "BtmTemplateExp" + new Date().getTime() + ".vciqtf"; + String[] names = qtNames.split(","); BtmQTExportData exportData = new BtmQTExportData(); for (String name : names) { QTInfo qt = platformClientUtil.getQTDService().getQT(name); @@ -1611,8 +1606,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; } /** @@ -1622,8 +1618,9 @@ @Override public BaseResult getAllQTs() throws PLException { QTInfo[] allQTs = platformClientUtil.getQTDService().getAllQTs(); + List<QTInfo> allQTList = Arrays.stream(allQTs).sorted(Comparator.comparing(o -> o.qtName, String.CASE_INSENSITIVE_ORDER)).collect(Collectors.toList()); DataGrid<QTInfo> dataGrid = new DataGrid<>(); - dataGrid.setData(Arrays.asList(allQTs)); + dataGrid.setData(allQTList); dataGrid.setTotal(allQTs.length); return BaseResult.dataGrid(dataGrid); } @@ -1665,6 +1662,7 @@ tree.put("children", childList); return BaseResult.success(tree); } + /** * 鏌ヨ妯℃澘鐨勫垪琛ㄦ坊鍔犱簡瀛楁鐨勭浉鍏冲睘鎬� * @param btmName 绫诲瀷 @@ -1702,12 +1700,14 @@ if(direction != null) { if (direction.equals(QTConstants.DIRECTION_POSITIVE)) { if(att == null ){ - throw new PLException("500",new String[]{"灞炴�у瓧娈�:"+ abName +"鏈煡璇㈠埌锛岃纭锛�"}); + continue; +// throw new PLException("500",new String[]{"灞炴�у瓧娈�:"+ abName +"鏈煡璇㈠埌锛岃纭锛�"}); } att.name = "T_OID." + abName; } else if (direction.equals(QTConstants.DIRECTION_OPPOSITE)) { if(att == null ){ - throw new PLException("500",new String[]{"灞炴�у瓧娈�:"+ abName +"鏈煡璇㈠埌锛岃纭锛�"}); + continue; +// throw new PLException("500",new String[]{"灞炴�у瓧娈�:"+ abName +"鏈煡璇㈠埌锛岃纭锛�"}); } att.name = "F_OID." + abName; } @@ -1863,6 +1863,7 @@ e.printStackTrace(); } } + // 鏁版嵁杩囨护 private void addImportBtmData(BtmQTExportData qtExportData, List<BizType> ltsNew, List<QTInfo> qTWrapperNew, Map<String/* 绫诲瀷鍚嶇О */, QTD[]/* 鏌ヨ妯℃澘瀹氫箟 */> norepQTDs) { -- Gitblit v1.9.3