gunshi-project-ss/src/main/java/com/gunshi/project/hsz/service/StZvarlBService.java

78 lines
2.2 KiB
Java
Raw Normal View History

2025-07-17 15:26:39 +08:00
package com.gunshi.project.hsz.service;
2024-07-08 17:47:02 +08:00
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
2025-07-17 15:26:39 +08:00
import com.gunshi.project.hsz.mapper.StZvarlBMapper;
import com.gunshi.project.hsz.model.StZvarlB;
2024-07-08 17:47:02 +08:00
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
2024-07-08 17:47:02 +08:00
/**
* : ( )线
* author: xusan
* date: 2024-07-08 17:30:38
*/
@Service
@Slf4j
@Transactional(rollbackFor = Exception.class)
public class StZvarlBService extends ServiceImpl<StZvarlBMapper, StZvarlB> {
/**
*
*
* @param rz
* @return
* @author lyf
*/
public BigDecimal getWFromZvarl(BigDecimal rz) {
return getWFromZvarl(rz, BigDecimal.ZERO, list());
}
/**
*
*
* @param rz
* @param defaultValue
* @return
* @author lyf
*/
public BigDecimal getWFromZvarl(BigDecimal rz, BigDecimal defaultValue) {
return getWFromZvarl(rz, defaultValue, list());
}
/**
*
*
* @param rz
* @param defaultValue
* @param zvarlList 线
* @return
* @author lyf
*/
public BigDecimal getWFromZvarl(BigDecimal rz, BigDecimal defaultValue, List<StZvarlB> zvarlList) {
return toMap(zvarlList).getOrDefault(rz.setScale(3, RoundingMode.DOWN), defaultValue);
}
/**
* 线BigDecimal
*
* @param zvarlList 线
* @return 线
* @author lyf
*/
private Map<BigDecimal, BigDecimal> toMap(List<StZvarlB> zvarlList) {
return zvarlList.stream()
.map(item -> Map.entry(item.getRz().setScale(3, RoundingMode.DOWN), item.getW()))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
}
2024-07-08 17:47:02 +08:00
}