From 2fdaea9e1935861be8274eb222db6cfae5069354 Mon Sep 17 00:00:00 2001 From: maxiangong <298222784@qq.com> Date: Tue, 26 May 2026 16:19:24 +0800 Subject: [PATCH] =?UTF-8?q?=E8=83=BD=E8=80=97=E7=9B=AE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BsEnergyTargetController.java | 36 +++++++++++++++---- .../impl/BsEnergyTargetServiceImpl.java | 5 +++ 2 files changed, 35 insertions(+), 6 deletions(-) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsEnergyTargetController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsEnergyTargetController.java index 5af06a124..9502da3f9 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsEnergyTargetController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsEnergyTargetController.java @@ -102,19 +102,43 @@ public class BsEnergyTargetController extends BladeController { } /** - * 能耗目标表 新增或修改 + * 能耗目标表 新增 */ - @PostMapping("/submit") + @PostMapping("/save") @Operation(summary = "新增或修改", description = "传入bsEnergyTargetList") - public R submit(@Valid @RequestBody List bsEnergyTargetList) { + public R save(@Valid @RequestBody List bsEnergyTargetList) { List years = bsEnergyTargetList.stream().map(BsEnergyTargetVO::getYear).collect(Collectors.toList()); - List existList = bsEnergyTargetService.list(new LambdaQueryWrapper().in(BsEnergyTargetEntity::getYear, years)); - Map existMap = existList.stream().collect(Collectors.toMap(e -> e.getYear() + "-" + e.getMonth() + "-" + e.getType(), BsEnergyTargetEntity::getId, (oldValue, newValue) -> oldValue)); + String type = bsEnergyTargetList.get(0).getType(); + List existList = bsEnergyTargetService.list(new LambdaQueryWrapper().in(BsEnergyTargetEntity::getYear, years).eq(BsEnergyTargetEntity::getType, type)); + if(CollectionUtils.isNotEmpty(existList)){ + String year = existList.get(0).getYear(); + return R.fail(year + "年份目标已存在,请勿重复添加"); + } + List saves = new ArrayList<>(); + for (BsEnergyTargetVO bsEnergyTargetVO : bsEnergyTargetList) { + List bsEnergyTargetEntities = bsEnergyTargetVO.parseEntities(); + saves.addAll(bsEnergyTargetEntities); + } + return R.status(bsEnergyTargetService.saveOrUpdateBatch(saves)); + } + + /** + * 能耗目标 修改 + * @param bsEnergyTargetList + * @return + */ + @PostMapping("/update") + @Operation(summary = "修改", description = "传入bsEnergyTargetList") + public R update(@Valid @RequestBody List bsEnergyTargetList) { + List years = bsEnergyTargetList.stream().map(BsEnergyTargetVO::getYear).collect(Collectors.toList()); + String type = bsEnergyTargetList.get(0).getType(); + List existList = bsEnergyTargetService.list(new LambdaQueryWrapper().in(BsEnergyTargetEntity::getYear, years).eq(BsEnergyTargetEntity::getType, type)); + Map existMap = existList.stream().collect(Collectors.toMap(e -> e.getYear() + "-" + e.getMonth(), BsEnergyTargetEntity::getId, (oldValue, newValue) -> oldValue)); List saves = new ArrayList<>(); for (BsEnergyTargetVO bsEnergyTargetVO : bsEnergyTargetList) { List bsEnergyTargetEntities = bsEnergyTargetVO.parseEntities(); for (BsEnergyTargetEntity bsEnergyTarget : bsEnergyTargetEntities) { - String key = bsEnergyTarget.getYear() + "-" + bsEnergyTarget.getMonth() + "-" + bsEnergyTarget.getType(); + String key = bsEnergyTarget.getYear() + "-" + bsEnergyTarget.getMonth(); if (existMap.containsKey(key)) { bsEnergyTarget.setId(existMap.get(key)); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsEnergyTargetServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsEnergyTargetServiceImpl.java index fb0c600b7..2fb4489c0 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsEnergyTargetServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsEnergyTargetServiceImpl.java @@ -25,6 +25,7 @@ */ package org.springblade.desk.energy.service.impl; +import com.alibaba.nacos.common.utils.CollectionUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.tool.api.R; @@ -83,6 +84,10 @@ public class BsEnergyTargetServiceImpl extends BaseServiceImpl years = importList.stream().map(BsEnergyTargetExcel::getYear).collect(Collectors.toList()); List existList = this.list(new LambdaQueryWrapper().in(BsEnergyTargetEntity::getYear, years).eq(BsEnergyTargetEntity::getType, type)); + if(CollectionUtils.isNotEmpty(existList)){ + String year = existList.get(0).getYear(); + return R.fail(year + "年份目标已存在,请勿重复添加"); + } Map existMap = existList.stream().collect(Collectors.toMap(e -> e.getYear() + "-" + e.getMonth() + "-" + e.getType(), BsEnergyTargetEntity::getId, (oldValue, newValue) -> oldValue)); List saves = new ArrayList<>(); for (BsEnergyTargetVO bsEnergyTargetVO : voList) {