From bb77e44761f61ec08e257fecc5143859eb14bd30 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期三, 06 三月 2024 15:46:28 +0800
Subject: [PATCH] Excel导入实现
---
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsDangerTotalService.java | 8 ++++
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsDangerTotalController.java | 60 ++++++++++++++++++++++-------
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsSceneryOperationDataController.java | 1
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsDangerTotalVo.java | 10 +---
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerTotalServiceImpl.java | 31 +++++++++++----
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsSceneryOperationDataServiceImpl.java | 8 +---
6 files changed, 80 insertions(+), 38 deletions(-)
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsDangerTotalController.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsDangerTotalController.java
index 2c18a07..6910c5c 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsDangerTotalController.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsDangerTotalController.java
@@ -1,26 +1,33 @@
package org.dromara.demo.controller;
-import java.util.List;
-
-import lombok.RequiredArgsConstructor;
-import jakarta.servlet.http.HttpServletResponse;
-import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.validation.annotation.Validated;
-import org.dromara.common.idempotent.annotation.RepeatSubmit;
-import org.dromara.common.log.annotation.Log;
-import org.dromara.common.web.core.BaseController;
-import org.dromara.common.mybatis.core.page.PageQuery;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
+import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
-import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.excel.core.ExcelResult;
import org.dromara.common.excel.utils.ExcelUtil;
-import org.dromara.demo.domain.vo.RsDangerTotalVo;
-import org.dromara.demo.domain.bo.RsDangerTotalBo;
-import org.dromara.demo.service.IRsDangerTotalService;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.demo.domain.RsDangerTotal;
+import org.dromara.demo.domain.bo.RsDangerTotalBo;
+import org.dromara.demo.domain.vo.RsDangerTotalVo;
+import org.dromara.demo.service.IRsDangerTotalService;
+import org.springframework.http.MediaType;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.ArrayList;
+import java.util.List;
/**
* 瀹夊叏闅愭偅缁熻
@@ -57,6 +64,29 @@
}
/**
+ * 瀵煎叆鏁版嵁
+ *
+ * @param file 瀵煎叆鏂囦欢
+ */
+ @Log(title = "瀵煎叆鏁版嵁", businessType = BusinessType.IMPORT)
+ @SaCheckPermission("demo:dangerTotal:import")
+ @PostMapping(value = "/importData", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
+ public R<Void> importData(@RequestPart("file") MultipartFile file) throws Exception {
+ ExcelResult<RsDangerTotalVo> result = ExcelUtil.importExcel(file.getInputStream(), RsDangerTotalVo.class, true);
+ List<RsDangerTotal> list = MapstructUtils.convert(result.getList(), RsDangerTotal.class);
+ return R.ok(rsDangerTotalService.importExcel(list));
+ }
+
+ /**
+ * 鑾峰彇瀵煎叆妯℃澘
+ */
+ @SaCheckPermission("demo:dangerTotal:importTemplate")
+ @PostMapping("/importTemplate")
+ public void importTemplate(HttpServletResponse response) {
+ ExcelUtil.exportExcel(new ArrayList<>(), "鏅尯杩愯鏁版嵁", RsDangerTotalVo.class, response);
+ }
+
+ /**
* 鑾峰彇瀹夊叏闅愭偅缁熻璇︾粏淇℃伅
*
* @param id 涓婚敭
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsSceneryOperationDataController.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsSceneryOperationDataController.java
index a439c07..0569b08 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsSceneryOperationDataController.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsSceneryOperationDataController.java
@@ -65,7 +65,6 @@
ExcelUtil.exportExcel(list, "鏅尯杩愯鏁版嵁", RsSceneryOperationDataVo.class, response);
}
-
/**
* 瀵煎叆鏁版嵁
*
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsDangerTotalVo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsDangerTotalVo.java
index 5a81b80..53d486c 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsDangerTotalVo.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsDangerTotalVo.java
@@ -31,7 +31,6 @@
/**
* 缂栧彿
*/
- @ExcelProperty(value = "缂栧彿")
private String id;
/**
@@ -43,19 +42,18 @@
/**
* 骞村害/鏈堝害 1骞村害 2鏈堝害
*/
- @ExcelProperty(value = "骞村害/鏈堝害 1骞村害 2鏈堝害")
private Long period;
/**
* 鍛ㄦ湡
*/
- @ExcelProperty(value = "鍛ㄦ湡")
+ @ExcelProperty(value = "缁熻鍛ㄦ湡")
private String periodDate;
/**
* 鍙戠幇瀹夊叏闅愭偅
*/
- @ExcelProperty(value = "鍙戠幇瀹夊叏闅愭偅")
+ @ExcelProperty(value = "鍙戠幇闅愭偅")
private Long findSecurityRisks;
/**
@@ -67,19 +65,17 @@
/**
* 澶勭疆瀹夊叏闅愭偅
*/
- @ExcelProperty(value = "澶勭疆瀹夊叏闅愭偅")
+ @ExcelProperty(value = "澶勭疆闅愭偅")
private Long dealWithSecurityRisks;
/**
* 鍚敤鐘舵�� 1鍚敤 2鏈惎鐢�
*/
- @ExcelProperty(value = "鍚敤鐘舵�� 1鍚敤 2鏈惎鐢�")
private Long status;
/**
* 鍒涘缓鏃堕棿
*/
- @ExcelProperty(value = "鍒涘缓鏃堕棿")
private Date createTime;
}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsDangerTotalService.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsDangerTotalService.java
index 4de6d38..ee5123c 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsDangerTotalService.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsDangerTotalService.java
@@ -2,6 +2,7 @@
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.demo.domain.RsDangerTotal;
import org.dromara.demo.domain.bo.RsDangerTotalBo;
import org.dromara.demo.domain.vo.RsDangerTotalVo;
@@ -45,4 +46,11 @@
* 鏍¢獙骞舵壒閲忓垹闄ゅ畨鍏ㄩ殣鎮g粺璁′俊鎭�
*/
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
+
+ /**
+ * Excel鏁版嵁瀵煎叆
+ * @param list 鏁版嵁鍒�
+ * @return 瀵煎叆鎻愮ず
+ */
+ String importExcel(List<RsDangerTotal> list);
}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerTotalServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerTotalServiceImpl.java
index 67cf3b7..258eaf2 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerTotalServiceImpl.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerTotalServiceImpl.java
@@ -1,25 +1,28 @@
package org.dromara.demo.service.impl;
-import org.dromara.common.core.utils.MapstructUtils;
-import org.dromara.common.core.utils.StringUtils;
-import org.dromara.common.mybatis.core.page.TableDataInfo;
-import org.dromara.common.mybatis.core.page.PageQuery;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
-import org.dromara.demo.domain.RsDangerInfo;
-import org.springframework.stereotype.Service;
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.demo.domain.RsDangerTotal;
import org.dromara.demo.domain.bo.RsDangerTotalBo;
import org.dromara.demo.domain.vo.RsDangerTotalVo;
-import org.dromara.demo.domain.RsDangerTotal;
import org.dromara.demo.mapper.RsDangerTotalMapper;
import org.dromara.demo.service.IRsDangerTotalService;
+import org.springframework.stereotype.Service;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Map;
-import java.util.Collection;
/**
* 瀹夊叏闅愭偅缁熻Service涓氬姟灞傚鐞�
@@ -117,4 +120,14 @@
}
return baseMapper.deleteBatchIds(ids) > 0;
}
+
+ @Override
+ public String importExcel(List<RsDangerTotal> list) {
+ for (RsDangerTotal dangerTotal : list) {
+ dangerTotal.setPeriod(dangerTotal.getPeriodDate().length() > 4 ? 1L : 2L);
+ dangerTotal.setCreateTime(new Date());
+ dangerTotal.setStatus(2L);
+ }
+ return baseMapper.insertBatch(list) ? "鎭枩鎮紝鏁版嵁宸插叏閮ㄥ鍏ユ垚鍔燂紒鍏�" + list.size() + "鏉★紒" : "寰堟姳姝夛紝瀵煎叆澶辫触锛佽妫�鏌ユ暟鎹牸寮忥紒";
+ }
}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsSceneryOperationDataServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsSceneryOperationDataServiceImpl.java
index 53fb218..f473ee3 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsSceneryOperationDataServiceImpl.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsSceneryOperationDataServiceImpl.java
@@ -134,12 +134,12 @@
for (RsSceneryOperationData operationData : list) {
String sceneryName = operationData.getSceneryInfoName();
RsSceneryInfo sceneryInfo = sceneryInfoMap.get(sceneryName);
- // 鏅尯宸插瓨鍦紝姝e父瀵煎叆
+ // 鏅尯宸插瓨鍦紝姝e父瀵煎叆锛岄粯璁ょ鐢�
if (sceneryInfo != null) {
operationData.setSceneryInfoId(sceneryInfo.getId());
operationData.setPeriod(operationData.getPeriodDate().length() > 4 ? 1L : 2L);
operationData.setCreateTime(new Date());
- operationData.setStatus(1L);
+ operationData.setStatus(2L);
} else {
sceneryInfoNames.add(operationData.getSceneryInfoName());
}
@@ -147,10 +147,6 @@
if (!sceneryInfoNames.isEmpty()) {
return "寰堟姳姝夛紝瀵煎叆澶辫触锛�" + String.join("銆�", "<" + sceneryInfoNames + ">") + "鏅尯涓嶅瓨鍦紝璇峰墠寰�銆愭櫙鍖洪厤缃�戞坊鍔犲悗閲嶈瘯锛�";
}
- // // 鍏朵綑鏁版嵁绂佺敤
- // LambdaUpdateWrapper<RsSceneryOperationData> updateWrapper = new LambdaUpdateWrapper<>();
- // updateWrapper.ne(RsSceneryOperationData::getId, operationData.getId()).eq(RsSceneryOperationData::getSceneryInfoId, operationData.getSceneryInfoId()).set(RsSceneryOperationData::getStatus, 2);
- // baseMapper.update(updateWrapper);
baseMapper.insertBatch(list);
return "鎭枩鎮紝鏁版嵁宸插叏閮ㄥ鍏ユ垚鍔燂紒鍏�" + list.size() + "鏉★紒";
}
--
Gitblit v1.8.0