能耗目标

liweidong
maxiangong 4 days ago
parent 48073b7326
commit 2fdaea9e19
  1. 36
      blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsEnergyTargetController.java
  2. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsEnergyTargetServiceImpl.java

@ -102,19 +102,43 @@ public class BsEnergyTargetController extends BladeController {
} }
/** /**
* 能耗目标表 新增或修改 * 能耗目标表 新增
*/ */
@PostMapping("/submit") @PostMapping("/save")
@Operation(summary = "新增或修改", description = "传入bsEnergyTargetList") @Operation(summary = "新增或修改", description = "传入bsEnergyTargetList")
public R submit(@Valid @RequestBody List<BsEnergyTargetVO> bsEnergyTargetList) { public R save(@Valid @RequestBody List<BsEnergyTargetVO> bsEnergyTargetList) {
List<String> years = bsEnergyTargetList.stream().map(BsEnergyTargetVO::getYear).collect(Collectors.toList()); List<String> years = bsEnergyTargetList.stream().map(BsEnergyTargetVO::getYear).collect(Collectors.toList());
List<BsEnergyTargetEntity> existList = bsEnergyTargetService.list(new LambdaQueryWrapper<BsEnergyTargetEntity>().in(BsEnergyTargetEntity::getYear, years)); String type = bsEnergyTargetList.get(0).getType();
Map<String, Long> existMap = existList.stream().collect(Collectors.toMap(e -> e.getYear() + "-" + e.getMonth() + "-" + e.getType(), BsEnergyTargetEntity::getId, (oldValue, newValue) -> oldValue)); List<BsEnergyTargetEntity> existList = bsEnergyTargetService.list(new LambdaQueryWrapper<BsEnergyTargetEntity>().in(BsEnergyTargetEntity::getYear, years).eq(BsEnergyTargetEntity::getType, type));
if(CollectionUtils.isNotEmpty(existList)){
String year = existList.get(0).getYear();
return R.fail(year + "年份目标已存在,请勿重复添加");
}
List<BsEnergyTargetEntity> saves = new ArrayList<>();
for (BsEnergyTargetVO bsEnergyTargetVO : bsEnergyTargetList) {
List<BsEnergyTargetEntity> 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<BsEnergyTargetVO> bsEnergyTargetList) {
List<String> years = bsEnergyTargetList.stream().map(BsEnergyTargetVO::getYear).collect(Collectors.toList());
String type = bsEnergyTargetList.get(0).getType();
List<BsEnergyTargetEntity> existList = bsEnergyTargetService.list(new LambdaQueryWrapper<BsEnergyTargetEntity>().in(BsEnergyTargetEntity::getYear, years).eq(BsEnergyTargetEntity::getType, type));
Map<String, Long> existMap = existList.stream().collect(Collectors.toMap(e -> e.getYear() + "-" + e.getMonth(), BsEnergyTargetEntity::getId, (oldValue, newValue) -> oldValue));
List<BsEnergyTargetEntity> saves = new ArrayList<>(); List<BsEnergyTargetEntity> saves = new ArrayList<>();
for (BsEnergyTargetVO bsEnergyTargetVO : bsEnergyTargetList) { for (BsEnergyTargetVO bsEnergyTargetVO : bsEnergyTargetList) {
List<BsEnergyTargetEntity> bsEnergyTargetEntities = bsEnergyTargetVO.parseEntities(); List<BsEnergyTargetEntity> bsEnergyTargetEntities = bsEnergyTargetVO.parseEntities();
for (BsEnergyTargetEntity bsEnergyTarget : bsEnergyTargetEntities) { for (BsEnergyTargetEntity bsEnergyTarget : bsEnergyTargetEntities) {
String key = bsEnergyTarget.getYear() + "-" + bsEnergyTarget.getMonth() + "-" + bsEnergyTarget.getType(); String key = bsEnergyTarget.getYear() + "-" + bsEnergyTarget.getMonth();
if (existMap.containsKey(key)) { if (existMap.containsKey(key)) {
bsEnergyTarget.setId(existMap.get(key)); bsEnergyTarget.setId(existMap.get(key));
} }

@ -25,6 +25,7 @@
*/ */
package org.springblade.desk.energy.service.impl; package org.springblade.desk.energy.service.impl;
import com.alibaba.nacos.common.utils.CollectionUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
@ -83,6 +84,10 @@ public class BsEnergyTargetServiceImpl extends BaseServiceImpl<BsEnergyTargetMap
.collect(Collectors.toList()); .collect(Collectors.toList());
List<String> years = importList.stream().map(BsEnergyTargetExcel::getYear).collect(Collectors.toList()); List<String> years = importList.stream().map(BsEnergyTargetExcel::getYear).collect(Collectors.toList());
List<BsEnergyTargetEntity> existList = this.list(new LambdaQueryWrapper<BsEnergyTargetEntity>().in(BsEnergyTargetEntity::getYear, years).eq(BsEnergyTargetEntity::getType, type)); List<BsEnergyTargetEntity> existList = this.list(new LambdaQueryWrapper<BsEnergyTargetEntity>().in(BsEnergyTargetEntity::getYear, years).eq(BsEnergyTargetEntity::getType, type));
if(CollectionUtils.isNotEmpty(existList)){
String year = existList.get(0).getYear();
return R.fail(year + "年份目标已存在,请勿重复添加");
}
Map<String, Long> existMap = existList.stream().collect(Collectors.toMap(e -> e.getYear() + "-" + e.getMonth() + "-" + e.getType(), BsEnergyTargetEntity::getId, (oldValue, newValue) -> oldValue)); Map<String, Long> existMap = existList.stream().collect(Collectors.toMap(e -> e.getYear() + "-" + e.getMonth() + "-" + e.getType(), BsEnergyTargetEntity::getId, (oldValue, newValue) -> oldValue));
List<BsEnergyTargetEntity> saves = new ArrayList<>(); List<BsEnergyTargetEntity> saves = new ArrayList<>();
for (BsEnergyTargetVO bsEnergyTargetVO : voList) { for (BsEnergyTargetVO bsEnergyTargetVO : voList) {

Loading…
Cancel
Save