|
|
|
@ -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)); |
|
|
|
} |
|
|
|
} |
|
|
|
|