From 037c79142510f864f16931117ab308c9adbefa77 Mon Sep 17 00:00:00 2001
From: yuxc <yuxc@vci-tech.com>
Date: 星期五, 02 八月 2024 15:43:41 +0800
Subject: [PATCH] 查询模板的列表查询,保存查询模板功能

---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsQueryTemplateController.java |   85 +++++++++++++++++
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsQueryTemplateImpl.java     |  119 +++++++++++++++++++++++
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsQuereyTemplateServiceI.java     |   39 +++++++
 3 files changed, 243 insertions(+), 0 deletions(-)

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
new file mode 100644
index 0000000..447ebd1
--- /dev/null
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsQueryTemplateController.java
@@ -0,0 +1,85 @@
+package com.vci.web.controller;
+
+import com.vci.corba.common.PLException;
+import com.vci.corba.omd.ltm.LinkType;
+import com.vci.corba.omd.qtm.QTD;
+import com.vci.pagemodel.OsBtmTypeAttributeVO;
+import com.vci.pagemodel.OsLinkTypeAttributeVO;
+import com.vci.pagemodel.OsLinkTypeVO;
+import com.vci.starter.web.annotation.controller.VciUnCheckRight;
+import com.vci.starter.web.exception.VciBaseException;
+import com.vci.starter.web.pagemodel.BaseQueryObject;
+import com.vci.starter.web.pagemodel.BaseResult;
+import com.vci.starter.web.pagemodel.DataGrid;
+import com.vci.starter.web.util.VciBaseUtil;
+import com.vci.web.service.OsLinkTypeServiceI;
+import com.vci.web.service.OsQuereyTemplateServiceI;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 鏌ヨ妯℃澘鐨勬帶鍒跺櫒
+ * @author weidy
+ * @date 2022-3-26
+ */
+@RequestMapping("/templateController")
+@RestController
+public class OsQueryTemplateController {
+
+    /**
+     * 鏌ヨ妯℃澘鏈嶅姟
+     */
+    @Autowired
+    private OsQuereyTemplateServiceI quereyTemplateServiceI;
+
+    /**
+     * 鏃ュ織
+     */
+    private Logger logger = LoggerFactory.getLogger(getClass());
+
+    /**
+     * 鏌ヨ妯℃澘鐨勫垪琛�
+     * @param btmName 绫诲瀷
+     * @param linkFlag 鏄惁閾炬帴绫诲瀷 锛歵rue 閾炬帴绫诲瀷 锛宖alse 涓氬姟绫诲瀷
+     * @return 鏌ヨ妯℃澘鐨勫垪琛�
+     */
+    @GetMapping("/queryTemplateList")
+    public BaseResult queryTemplateList(String btmName,Boolean linkFlag){
+        try {
+            return quereyTemplateServiceI.queryTemplateList(btmName,linkFlag);
+        } catch (PLException e) {
+            BaseResult objectBaseResult = new BaseResult<>();
+            objectBaseResult.setCode(Integer.parseInt(e.code));
+            objectBaseResult.setMsg(Arrays.toString(e.messages));
+            return objectBaseResult;
+        }
+    }
+
+    /**
+     * 鏌ヨ妯℃澘
+     * @param qtd 鏌ヨ妯℃澘瀹炰綋绫�
+     * @return 淇濆瓨缁撴灉
+     */
+    @PostMapping("/saveTemplate")
+    public BaseResult saveTemplate(@RequestBody QTD qtd){
+        try {
+            return quereyTemplateServiceI.saveTemplate(qtd);
+        } catch (PLException e) {
+            BaseResult objectBaseResult = new BaseResult<>();
+            objectBaseResult.setCode(Integer.parseInt(e.code));
+            objectBaseResult.setMsg(Arrays.toString(e.messages));
+            return objectBaseResult;
+        }
+    }
+}
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
new file mode 100644
index 0000000..c4458c0
--- /dev/null
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsQuereyTemplateServiceI.java
@@ -0,0 +1,39 @@
+package com.vci.web.service;
+
+import com.vci.corba.common.PLException;
+import com.vci.corba.omd.ltm.LinkType;
+import com.vci.corba.omd.qtm.QTD;
+import com.vci.pagemodel.OsBtmTypeAttributeVO;
+import com.vci.pagemodel.OsLinkTypeAttributeVO;
+import com.vci.pagemodel.OsLinkTypeVO;
+import com.vci.starter.web.pagemodel.BaseQueryObject;
+import com.vci.starter.web.pagemodel.BaseResult;
+import com.vci.starter.web.pagemodel.DataGrid;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 鏌ヨ妯℃澘鏈嶅姟
+ * @author yuxc
+ * @date 2024-8-1
+ */
+public interface OsQuereyTemplateServiceI{
+    /**
+     * 鏌ヨ妯℃澘鐨勫垪琛�
+     * @param btmName 绫诲瀷
+     * @param linkFlag 鏄惁閾炬帴绫诲瀷 锛歵rue 閾炬帴绫诲瀷 锛宖alse 涓氬姟绫诲瀷
+     * @return 鏌ヨ妯℃澘鐨勫垪琛�
+     */
+    BaseResult queryTemplateList(String btmName, Boolean linkFlag) throws PLException;
+    /**
+     * 鏌ヨ妯℃澘
+     * @param qtd 鏌ヨ妯℃澘瀹炰綋绫�
+     * @return 淇濆瓨缁撴灉
+     */
+    BaseResult saveTemplate(QTD qtd) 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
new file mode 100644
index 0000000..7b577ba
--- /dev/null
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsQueryTemplateImpl.java
@@ -0,0 +1,119 @@
+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.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.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.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.PlatformClientUtil;
+import com.vci.web.util.WebUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+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;
+
+/**
+ * 鏌ヨ妯℃澘鏈嶅姟
+ * @author yuxc
+ * @date 2024-8-1
+ */
+@Service
+public class OsQueryTemplateImpl implements OsQuereyTemplateServiceI {
+
+
+    /**
+     * 骞冲彴鐨勮皟鐢ㄥ伐鍏风被
+     */
+    @Autowired
+    private PlatformClientUtil platformClientUtil;
+
+    /**
+     * 鏌ヨ妯℃澘鐨勫垪琛�
+     * @param btmName 绫诲瀷
+     * @param linkFlag 鏄惁閾炬帴绫诲瀷 锛歵rue 閾炬帴绫诲瀷 锛宖alse 涓氬姟绫诲瀷
+     * @return 鏌ヨ妯℃澘鐨勫垪琛�
+     */
+    @Override
+    public BaseResult queryTemplateList(String btmName, Boolean linkFlag) throws PLException {
+        QTD[] qtdArray = null;
+        if(linkFlag){
+            qtdArray = platformClientUtil.getQTDService().getLinkTypeQTDs(btmName);
+        }else {
+            qtdArray = platformClientUtil.getQTDService().getBizTypeQTDs(btmName);
+        }
+        return BaseResult.dataList(Arrays.asList(qtdArray));
+    }
+
+    /**
+     * 鏌ヨ妯℃澘
+     * @param qtd 鏌ヨ妯℃澘瀹炰綋绫�
+     * @return 淇濆瓨缁撴灉
+     */
+    @Override
+    public BaseResult saveTemplate(QTD qtd) throws PLException {
+        //鏍¢獙鍙傛暟
+        checkName(qtd);
+        //璁剧疆榛樿鍊�
+        qtd.creator = WebUtil.getCurrentUserId();
+        qtd.createTime = System.currentTimeMillis();
+        boolean addFlag = false;
+        //杩涜淇濆瓨
+        addFlag = platformClientUtil.getQTDService().addQTD(qtd);
+        if (addFlag) {
+            return BaseResult.success("澧炲姞涓氬姟绫诲瀷鏌ヨ妯℃澘鎴愬姛");
+        } else {
+            throw new PLException("500", new String[]{"澧炲姞涓氬姟绫诲瀷鏌ヨ妯℃澘澶辫触"});
+        }
+    }
+
+    /**
+     * 鏍¢獙鍙傛暟
+     * @param qtd
+     * @return
+     */
+    private void checkName(QTD qtd) throws PLException {
+        if (qtd.name.equals("")) {
+            throw new PLException("500", new String[]{"璇疯緭鍏ユā鏉垮畾涔夊悕"});
+        }
+        if (!qtd.name.matches("[a-z A-Z]*")) {
+            throw new PLException("500", new String[]{"妯℃澘瀹氫箟鍚嶅彧鑳戒负鑻辨枃瀛楁瘝"});
+        }
+        if (platformClientUtil.getQTDService().isExistsQTD(qtd.name.toLowerCase())) {
+            throw new PLException("500", new String[]{"璇ユā鏉垮畾涔夊悕宸茬粡琚娇鐢�, 璇锋洿鎹�"});
+        }
+    }
+}

--
Gitblit v1.9.3