结算负数优化
This commit is contained in:
parent
ff05164b8b
commit
937a619fd7
|
|
@ -387,12 +387,12 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
|
||||||
List<SltAgreementInfo> leaseList = new ArrayList<>(oneOfList);
|
List<SltAgreementInfo> leaseList = new ArrayList<>(oneOfList);
|
||||||
|
|
||||||
for (SltAgreementInfo bean : leaseList) {
|
for (SltAgreementInfo bean : leaseList) {
|
||||||
if (null == bean.getLeasePrice()) {
|
if (null == bean.getLeasePrice() || bean.getLeasePrice().compareTo(BigDecimal.ZERO) < 0) {
|
||||||
bean.setLeasePrice(BigDecimal.ZERO);
|
bean.setLeasePrice(BigDecimal.ZERO);
|
||||||
} else {
|
} else {
|
||||||
bean.setLeasePrice(bean.getLeasePrice().setScale(2, RoundingMode.HALF_UP));
|
bean.setLeasePrice(bean.getLeasePrice().setScale(2, RoundingMode.HALF_UP));
|
||||||
}
|
}
|
||||||
if (null == bean.getNum()) {
|
if (null == bean.getNum() || bean.getNum().compareTo(BigDecimal.ZERO) < 0) {
|
||||||
bean.setNum(BigDecimal.ZERO);
|
bean.setNum(BigDecimal.ZERO);
|
||||||
}
|
}
|
||||||
if (null == bean.getLeaseDays()) {
|
if (null == bean.getLeaseDays()) {
|
||||||
|
|
@ -401,6 +401,9 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
|
||||||
BigDecimal leasePrice = bean.getLeasePrice();
|
BigDecimal leasePrice = bean.getLeasePrice();
|
||||||
BigDecimal num = bean.getNum();
|
BigDecimal num = bean.getNum();
|
||||||
BigDecimal leaseDays = new BigDecimal(bean.getLeaseDays());
|
BigDecimal leaseDays = new BigDecimal(bean.getLeaseDays());
|
||||||
|
if (leaseDays.compareTo(BigDecimal.ZERO) < 0) {
|
||||||
|
leaseDays = BigDecimal.ZERO;
|
||||||
|
}
|
||||||
BigDecimal costs = leasePrice.multiply(num).multiply(leaseDays).setScale(GlobalConstants.INT_2, RoundingMode.HALF_UP);
|
BigDecimal costs = leasePrice.multiply(num).multiply(leaseDays).setScale(GlobalConstants.INT_2, RoundingMode.HALF_UP);
|
||||||
bean.setCosts(costs);
|
bean.setCosts(costs);
|
||||||
}
|
}
|
||||||
|
|
@ -411,18 +414,19 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
|
||||||
* 获取多个协议的领料明细
|
* 获取多个协议的领料明细
|
||||||
*/
|
*/
|
||||||
public List<SltAgreementInfo> getLeaseBtachList(SltAgreementInfo info) {
|
public List<SltAgreementInfo> getLeaseBtachList(SltAgreementInfo info) {
|
||||||
// 领料就不要每次都执行
|
// 领料就不要每次都执行SQL
|
||||||
List<SltAgreementInfo> leaseList = leaseListCache.get()
|
List<SltAgreementInfo> leaseList = leaseListCache.get()
|
||||||
.stream()
|
.stream()
|
||||||
.filter(bean -> bean.getAgreementId().equals(info.getAgreementId())).collect(Collectors.toList());
|
.filter(bean -> bean.getAgreementId().equals(info.getAgreementId())).collect(Collectors.toList());
|
||||||
|
|
||||||
for (SltAgreementInfo bean : leaseList) {
|
for (SltAgreementInfo bean : leaseList) {
|
||||||
if (null == bean.getLeasePrice()) {
|
// 同步过来可能有负数,如果是负数就改成0
|
||||||
|
if (null == bean.getLeasePrice() || bean.getLeasePrice().compareTo(BigDecimal.ZERO) < 0) {
|
||||||
bean.setLeasePrice(BigDecimal.ZERO);
|
bean.setLeasePrice(BigDecimal.ZERO);
|
||||||
} else {
|
} else {
|
||||||
bean.setLeasePrice(bean.getLeasePrice().setScale(2, RoundingMode.HALF_UP));
|
bean.setLeasePrice(bean.getLeasePrice().setScale(2, RoundingMode.HALF_UP));
|
||||||
}
|
}
|
||||||
if (null == bean.getNum()) {
|
if (null == bean.getNum() || bean.getNum().compareTo(BigDecimal.ZERO) < 0) {
|
||||||
bean.setNum(BigDecimal.ZERO);
|
bean.setNum(BigDecimal.ZERO);
|
||||||
}
|
}
|
||||||
if (null == bean.getLeaseDays()) {
|
if (null == bean.getLeaseDays()) {
|
||||||
|
|
@ -431,6 +435,9 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
|
||||||
BigDecimal leasePrice = bean.getLeasePrice();
|
BigDecimal leasePrice = bean.getLeasePrice();
|
||||||
BigDecimal num = bean.getNum();
|
BigDecimal num = bean.getNum();
|
||||||
BigDecimal leaseDays = new BigDecimal(bean.getLeaseDays());
|
BigDecimal leaseDays = new BigDecimal(bean.getLeaseDays());
|
||||||
|
if (leaseDays.compareTo(BigDecimal.ZERO) < 0) {
|
||||||
|
leaseDays = BigDecimal.ZERO;
|
||||||
|
}
|
||||||
BigDecimal costs = leasePrice.multiply(num).multiply(leaseDays).setScale(GlobalConstants.INT_2, RoundingMode.HALF_UP);
|
BigDecimal costs = leasePrice.multiply(num).multiply(leaseDays).setScale(GlobalConstants.INT_2, RoundingMode.HALF_UP);
|
||||||
bean.setCosts(costs);
|
bean.setCosts(costs);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue