提交 fca59a64 authored 作者: 李瑞鑫's avatar 李瑞鑫

Merge branch 'v20.9_settlement_20240805' into test

...@@ -1077,14 +1077,14 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -1077,14 +1077,14 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
SettlementOwnerDetailEnum.InvoiceStatus.NO_INVOICE.getCode()); SettlementOwnerDetailEnum.InvoiceStatus.NO_INVOICE.getCode());
} }
/** /**
* 无需开票+否:未开票 * 无需开票+否:未开票
* 全部为否:未开票 * 全部为否:未开票
* 无需开票+是 :部分开票 * 无需开票+是 :部分开票
* 无需开票+是+否 :部分开票 * 无需开票+是+否 :部分开票
* 全部为是:已开票 * 全部为是:已开票
* 全部为无需开票:无需开票 * 全部为无需开票:无需开票
*/ */
if(list1.isEmpty()){ if(list1.isEmpty()){
if (list2.isEmpty()){ if (list2.isEmpty()){
if (list3.isEmpty()) { if (list3.isEmpty()) {
......
...@@ -62,6 +62,7 @@ import java.util.ArrayList; ...@@ -62,6 +62,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.Optional; import java.util.Optional;
import java.util.stream.Collectors;
/** /**
* @author liruixin * @author liruixin
...@@ -157,10 +158,66 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -157,10 +158,66 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
} }
if(Objects.equals(settlementOwner.getInvoiceType(),SettlementOwnerEnum.InvoiceType.ORDINARY.getCode())){ if(Objects.equals(settlementOwner.getInvoiceType(),SettlementOwnerEnum.InvoiceType.ORDINARY.getCode())){
if(settlementOwner.getInvoiceFreight().compareTo(BigDecimal.ZERO) <=0 ){ /* if(settlementOwner.getInvoiceFreight().compareTo(BigDecimal.ZERO) <=0 ){
settlementOwnerDao.updateInvoiceStatusById(settlementOwner.getId(),SettlementOwnerEnum.InvoiceStatus.NO_NEED_INVOICE.getCode()); settlementOwnerDao.updateInvoiceStatusById(settlementOwner.getId(),SettlementOwnerEnum.InvoiceStatus.NO_NEED_INVOICE.getCode());
settlementOwnerDetailDao.updateInvoiceStatusBySettlementNo(settlementNo, SettlementOwnerDetailEnum.InvoiceStatus.NO_INVOICE.getCode()); settlementOwnerDetailDao.updateInvoiceStatusBySettlementNo(settlementNo, SettlementOwnerDetailEnum.InvoiceStatus.NO_INVOICE.getCode());
}*/
List<SettlementOwnerDetail> list = settlementOwnerDetailDao.getBySettlementNo(settlementOwner.getSettlementNo());
// 无需开票运单
List<SettlementOwnerDetail> list1 = list.stream()
.filter(item -> Objects.equals(item.getInvoiceStatus(),SettlementOwnerDetailEnum.InvoiceStatus.NO_INVOICE.getCode())).collect(Collectors.toList());
// 未开票运单
List<SettlementOwnerDetail> list2 = list.stream()
.filter(item -> Objects.equals(item.getInvoiceStatus(),SettlementOwnerDetailEnum.InvoiceStatus.NO.getCode())).collect(Collectors.toList());
// 已开票运单
List<SettlementOwnerDetail> list3 = list.stream()
.filter(item -> Objects.equals(item.getInvoiceStatus(),SettlementOwnerDetailEnum.InvoiceStatus.YES.getCode()))
.collect(Collectors.toList());
/**
* 无需开票+否:未开票
* 全部为否:未开票
* 无需开票+是 :部分开票
* 无需开票+是+否 :部分开票
* 全部为是:已开票
* 全部为无需开票:无需开票
*/
if(list1.isEmpty()){
if (list2.isEmpty()){
if (list3.isEmpty()) {
settlementOwner.setInvoiceStatus(settlementOwner.getInvoiceStatus());
}
else {
settlementOwner.setInvoiceStatus(SettlementOwnerEnum.InvoiceStatus.INVOICED.getCode());
}
}
else {
if (list3.isEmpty()) {
settlementOwner.setInvoiceStatus(SettlementOwnerEnum.InvoiceStatus.NOT_INVOICE.getCode());
}
else {
settlementOwner.setInvoiceStatus(SettlementOwnerEnum.InvoiceStatus.PART_INVOICE.getCode());
}
}
}else{
if (list2.isEmpty()){
if (list3.isEmpty()) {
settlementOwner.setInvoiceStatus(SettlementOwnerEnum.InvoiceStatus.NO_NEED_INVOICE.getCode());
}
else {
settlementOwner.setInvoiceStatus(SettlementOwnerEnum.InvoiceStatus.PART_INVOICE.getCode());
}
}
else {
if (list3.isEmpty()) {
settlementOwner.setInvoiceStatus(SettlementOwnerEnum.InvoiceStatus.NOT_INVOICE.getCode());
}
else {
settlementOwner.setInvoiceStatus(SettlementOwnerEnum.InvoiceStatus.PART_INVOICE.getCode());
}
}
} }
settlementOwnerDao.updateInvoiceStatus(settlementOwner);
if(settlementOwner.getSettlementFreight().compareTo(BigDecimal.ZERO) == 0){ if(settlementOwner.getSettlementFreight().compareTo(BigDecimal.ZERO) == 0){
settlementOwnerDetailDao.updateFinalPaymentStatusBySettlementNo(settlementNo, SettlementOwnerDetailEnum.FinalPaymentStatus.NO_REQUIRE.getCode()); settlementOwnerDetailDao.updateFinalPaymentStatusBySettlementNo(settlementNo, SettlementOwnerDetailEnum.FinalPaymentStatus.NO_REQUIRE.getCode());
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论