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 主键 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsSceneryOperationDataController.java
@@ -65,7 +65,6 @@ ExcelUtil.exportExcel(list, "景区运行数据", RsSceneryOperationDataVo.class, response); } /** * 导入数据 * 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; } 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 @@ * 校验并批量删除安全隐患统计信息 */ Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid); /** * Excel数据导入 * @param list 数据列 * @return 导入提示 */ String importExcel(List<RsDangerTotal> list); } 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() + "条!" : "很抱歉,导入失败!请检查数据格式!"; } } 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); // 景区已存在,正常导入 // 景区已存在,正常导入,默认禁用 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() + "条!"; }