From 1b223b109ec65a2934e283bb0be2c0e116b013e4 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期二, 30 七月 2024 15:47:40 +0800
Subject: [PATCH] 状态池相关接口上传(已测试待联调)

---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/VciOsStatusController.java |  103 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 96 insertions(+), 7 deletions(-)

diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/VciOsStatusController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/VciOsStatusController.java
index db761d4..2371ba8 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/VciOsStatusController.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/VciOsStatusController.java
@@ -1,20 +1,33 @@
 package com.vci.web.controller;
 
+import com.vci.constant.FrameWorkLangCodeConstant;
+import com.vci.dto.OsAttributeDTO;
 import com.vci.starter.web.annotation.controller.VciUnCheckRight;
 import com.vci.starter.web.annotation.log.VciBusinessLog;
+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.dto.OsStatusDTO;
 import com.vci.pagemodel.OsLifeCycleVO;
 import com.vci.pagemodel.OsStatusVO;
+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.OsLifeCycleServiceI;
 import com.vci.web.service.OsStatusServiceI;
+import com.vci.web.util.Func;
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.IOException;
+import java.util.Date;
+import java.util.List;
 
 /**
  * 鐘舵�佺殑鎺у埗鍣�
@@ -87,7 +100,6 @@
      * @return 鎵ц缁撴灉
      */
     @PostMapping("/addSave")
-    @VciUnCheckRight
     public BaseResult addSave(@RequestBody OsStatusDTO statusDTO){
         try {
             return statusService.addSave(statusDTO) ? BaseResult.success("娣诲姞鐘舵�佹垚鍔燂紒"):BaseResult.fail("娣诲姞鐘舵�佸け璐ワ紒");
@@ -118,13 +130,19 @@
 
     /**
      * 鍒犻櫎鐘舵��
-     * @param oids 鐘舵�佺殑涓婚敭
+     * @param osStatusDTOS 鐘舵�佺殑DTO瀵硅薄
      * @return 鎵ц缁撴灉
      */
-    @DeleteMapping("/delete")
-    public BaseResult delete(String oids){
-        statusService.delete(oids);
-        return BaseResult.success();
+    @DeleteMapping("/deleteStatus")
+    public BaseResult deleteStatus(@RequestBody List<OsStatusDTO> osStatusDTOS){
+        try {
+            return statusService.deleteStatus(osStatusDTOS) ? BaseResult.success("鍒犻櫎鐘舵�佹垚鍔燂紒"):BaseResult.fail("鍒犻櫎鐘舵�佸け璐ワ紒");
+        }catch (Exception e) {
+            e.printStackTrace();
+            String exceptionMessage = "鍒犻櫎鐘舵�佹椂鍑虹幇閿欒锛屽師鍥狅細" + VciBaseUtil.getExceptionMessage(e);
+            logger.error(exceptionMessage);
+            return BaseResult.fail(exceptionMessage);
+        }
     }
 
     /**
@@ -137,4 +155,75 @@
         return BaseResult.success(statusService.getObjectByOid(oid));
     }
 
+    /**
+     * 瀵煎嚭鐘舵��
+     * @param exportFileName
+     * @param statusOids
+     * @param response
+     */
+    @GetMapping( "/exportStatus")
+    @VciBusinessLog(operateName = "瀵煎嚭鐘舵��")
+    public void exportStatus(String exportFileName,String statusOids, HttpServletResponse response){
+        try {
+            String excelPath = statusService.exportStatus(exportFileName,statusOids);
+            ControllerUtil.writeFileToResponse(response,excelPath);
+        } 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();
+            }
+        }
+    }
+
+    /**
+     * 涓嬭浇鐘舵�佸鍏ユā鏉�
+     * @param exportFileName
+     * @param response
+     */
+    @GetMapping( "/downloadStatusTemplate")
+    @VciBusinessLog(operateName = "瀵煎嚭鐘舵��")
+    public void downloadStatusTemplate(String exportFileName, HttpServletResponse response){
+        try {
+            String excelPath = statusService.downloadStatusTemplate(exportFileName);
+            ControllerUtil.writeFileToResponse(response,excelPath);
+        } 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();
+            }
+        }
+    }
+
+    /**
+     * 瀵煎叆鐘舵��
+     * @param file
+     * @return
+     */
+    @PostMapping("/importStatus")
+    @VciBusinessLog(operateName = "瀵煎叆鐘舵��")
+    public BaseResult importStatus(MultipartFile file){
+        String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + LocalFileUtil.getFileNameForIE(file.getOriginalFilename());
+        File file1 = new File(excelFileName);
+        try {
+            file.transferTo(new File(excelFileName));
+            if (file != null) {
+                return statusService.importStatus(file1);
+            } else {
+                return BaseResult.fail(FrameWorkLangCodeConstant.IMPORT_FAIL, new String[]{"鏃犲鍏ョ殑鏂囦欢"});
+            }
+        }catch (Throwable e) {
+            throw new VciBaseException(VciBaseUtil.getExceptionMessage(e),new String[0],e);
+        }finally {
+            file1.delete();
+        }
+    }
+
 }

--
Gitblit v1.9.3