From 7035ddf9bf670d7cf2902434305517e5a86cbcd8 Mon Sep 17 00:00:00 2001
From: yuxc <yuxc@vci-tech.com>
Date: 星期五, 09 八月 2024 09:40:44 +0800
Subject: [PATCH] 1、新增检查查询模板是否存在接口。 2、新增查询模板列表接口。 3、新增查询条件的查询按钮查询lis列表。

---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsQueryTemplateImpl.java |  157 +++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 123 insertions(+), 34 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 50b8418..ca8ac52 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
@@ -1,50 +1,26 @@
 package com.vci.web.service.impl;
 
-import cn.hutool.core.io.FileUtil;
-import cn.hutool.core.util.ZipUtil;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.vci.constant.FrameWorkLangCodeConstant;
+import com.vci.client.common.oq.OQTool;
+import com.vci.common.qt.object.QTConstants;
+import com.vci.common.qt.object.QueryTemplate;
 import com.vci.corba.common.PLException;
-import com.vci.corba.omd.atm.AttributeDef;
-import com.vci.corba.omd.btm.BizType;
-import com.vci.corba.omd.data.BusinessObject;
-import com.vci.corba.omd.ltm.LinkType;
+import com.vci.corba.omd.data.LinkObject;
 import com.vci.corba.omd.qtm.QTD;
-import com.vci.model.OsLinkTypeDO;
-import com.vci.omd.utils.ObjectTool;
-import com.vci.pagemodel.*;
-import com.vci.po.OsLinkTypePO;
-import com.vci.starter.poi.bo.ReadExcelOption;
-import com.vci.starter.poi.bo.WriteExcelData;
-import com.vci.starter.poi.bo.WriteExcelOption;
-import com.vci.starter.poi.constant.ExcelLangCodeConstant;
-import com.vci.starter.poi.util.ExcelUtil;
-import com.vci.starter.web.annotation.log.VciUnLog;
-import com.vci.starter.web.enumpck.VciFieldTypeEnum;
-import com.vci.starter.web.exception.VciBaseException;
-import com.vci.starter.web.pagemodel.BaseQueryObject;
+import com.vci.corba.omd.qtm.QTInfo;
+import com.vci.dto.QTInfoDTO;
 import com.vci.starter.web.pagemodel.BaseResult;
-import com.vci.starter.web.pagemodel.DataGrid;
 import com.vci.starter.web.util.*;
 import com.vci.web.service.*;
-import com.vci.web.util.Func;
+import com.vci.web.util.DateUtil;
 import com.vci.web.util.PlatformClientUtil;
 import com.vci.web.util.WebUtil;
 import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.commons.lang3.time.DateFormatUtils;
+import org.dom4j.DocumentException;
+import org.dom4j.DocumentHelper;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
-import org.springframework.web.multipart.MultipartFile;
-
-import javax.servlet.http.HttpServletResponse;
-import java.io.File;
-import java.io.IOException;
 import java.util.*;
-import java.util.stream.Collectors;
 
 /**
  * 鏌ヨ妯℃澘鏈嶅姟
@@ -138,6 +114,119 @@
             return BaseResult.fail("鍒犻櫎鏌ヨ妯℃澘澶辫触");
         }
     }
+    /**
+     *
+     * @param dataMap 浼犺緭鐨勬暟鎹璞★細
+     *                linkTypeName 閾炬帴绫诲瀷銆�
+     *                rdPositive 鏂瑰悜锛宼rue姝e悜锛宖alse鍙嶅悜
+     *                btmName 涓氬姟绫诲瀷鍚嶇О
+     *                combRelaType 涓氬姟绫诲瀷閫夋嫨鍊�
+     *                versionValue 鐗堟湰鐝鍊�
+     *                isQueryIsLeaf 鏄惁閫夋嫨涓嬬骇
+     *                level 瀛愯妭鐐瑰眰鏁�
+     * @return 鏌ヨ缁撴灉
+     */
+    @Override
+    public BaseResult getCriteria(HashMap<String,Object> dataMap) throws PLException {
+        QueryTemplate qt = getQT(dataMap);
+        String checkInfo = OQTool.checkQT(qt);
+        if(!checkInfo.equals("OK")){
+            throw new PLException("500", new String[]{checkInfo});
+        }
+        qt.setId("qt1");
+        LinkObject[] result = platformClientUtil.getQueryService().findLTObjects(qt.getId(), OQTool.qtTOXMl(qt).asXML());
+        return BaseResult.dataList(Arrays.asList(result));
+    }
+
+    /**
+     * 鏌ヨ妯℃澘鍒楄〃
+     * @param btName 绫诲瀷鍚嶇О
+     * @return 鏌ヨ缁撴灉
+     */
+    @Override
+    public BaseResult getObjTypeQTs(String btName) throws PLException, DocumentException {
+        VciBaseUtil.alertNotNull(btName,"绫诲瀷鍚�");
+        QTInfo[] objTypeQTs = platformClientUtil.getQTDService().getObjTypeQTs(btName);
+        List<QTInfoDTO> dtos = new ArrayList<>();
+        for (QTInfo obj : objTypeQTs) {
+            QTInfoDTO qtInfoDTO = new QTInfoDTO();
+            qtInfoDTO.setCreator(obj.creator);
+            qtInfoDTO.setBtmName(obj.btmName);
+            qtInfoDTO.setQtName(obj.qtName);
+            qtInfoDTO.setLevelFlag(obj.levelFlag);
+//            qtInfoDTO.setQtText(obj.qtText);
+            qtInfoDTO.setQtUIText(obj.qtUIText);
+            qtInfoDTO.setQueryTemplate(OQTool.getQTByDoc(DocumentHelper.parseText(obj.qtText), obj.qtName));
+            qtInfoDTO.setCreateTimeText(DateFormatUtils.format(new Date(obj.createTime), DateUtil.PATTERN_DATETIME));
+            dtos.add(qtInfoDTO);
+        }
+        return BaseResult.dataList(dtos);
+    }
+    /**
+     * 妫�鏌ユ煡璇㈡ā鏉垮悕瀛楁槸鍚﹀瓨鍦�
+     * @param name 鏌ヨ妯℃澘鍚嶅瓧
+     * @return 鏌ヨ缁撴灉
+     */
+    @Override
+    public BaseResult isExistsQT(String name) throws PLException {
+        VciBaseUtil.alertNotNull(name,"璇㈡ā鏉垮悕");
+        return BaseResult.success(platformClientUtil.getQTDService().isExistsQT(name));
+    }
+
+    /**
+     * 缁勮鏌ヨ妯℃澘
+     * @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
+     */
+    public int getVersion(String versionValue){
+        int version = 0;
+        if(versionValue.equals("褰撳墠鐗堟湰褰撳墠鐗堟")){
+            version = 1;
+        }else if(versionValue.equals("褰撳墠鐗堟湰鏈�鏂扮増娆�")){
+            version = 2;
+        }else if(versionValue.equals("鏈�鏂扮増鏈渶鏂扮増娆�")){
+            version = 3;
+        }else if(versionValue.equals("褰撳墠鐗堟")){
+            version = 4;
+        }else if(versionValue.equals("褰撳墠鐗堟湰")){
+            version = 5;
+        }else if(versionValue.equals("褰撳墠鍛藉悕瀵硅薄")){
+            version = 6;
+        }else if(versionValue.equals("宸插彂甯冪殑鏈�鏂扮増鏈�")){
+            version = 7;
+        }
+        return version;
+    }
+
 
     /**
      * 鏍¢獙鍙傛暟

--
Gitblit v1.9.3