This commit is contained in:
linfso 2024-11-21 16:46:43 +08:00
parent a0baac97ef
commit c00b7cc5f4

View File

@ -532,42 +532,67 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS
// 判断是否有不开票的运单,如果有不开票的运单 // 判断是否有不开票的运单,如果有不开票的运单
Map noNeedOpenBillMap=emisSettleSubBillMapper.getNoNeedOpenBillSum(settleBillNo); Map noNeedOpenBillMap=emisSettleSubBillMapper.getNoNeedOpenBillSum(settleBillNo);
BigDecimal totalNoNeed=BigDecimal.ZERO; BigDecimal totalNoNeedMoney=BigDecimal.ZERO;
if(noNeedOpenBillMap!=null){ if(noNeedOpenBillMap!=null){
totalAllMoney=totalAllMoney.add(totalMoney); totalAllMoney=totalAllMoney.add(totalMoney);
Integer totalCnt=Integer.valueOf(noNeedOpenBillMap.get("totalCnt").toString()); Integer totalCnt=Integer.valueOf(noNeedOpenBillMap.get("totalCnt").toString());
if(totalCnt>0){ if(totalCnt>0){
totalNoNeed=BigDecimal.valueOf(Double.valueOf(noNeedOpenBillMap.get("totalNoNeed").toString()).doubleValue()); totalNoNeedMoney=BigDecimal.valueOf(Double.valueOf(noNeedOpenBillMap.get("totalNoNeed").toString()).doubleValue());
totalAllMoney=totalAllMoney.add(totalNoNeed); totalAllMoney=totalAllMoney.add(totalNoNeedMoney);
} }
}else{ }else{
totalAllMoney=totalMoney; totalAllMoney=totalMoney;
} }
/*
未开票: 不开票金额+开票金额==0
已开票: 不开票金额==0 && 开票金额>=应收金额
不开票: 开票金额==0 && 不开票金额>=应收金额
已完成: 不开票金额>0 && 开票金额>0 && (开票金额+不开票金额)>=应收金额
部分开票: 开票金额>0 && (开票金额+不开票金额)>=应收金额
if(totalNoNeed.compareTo(BigDecimal.ZERO)>0){ 开票金额==0:
*/
// totalAllMoney == 0 未开票
if (totalAllMoney.compareTo(BigDecimal.ZERO) == 0) { if (totalAllMoney.compareTo(BigDecimal.ZERO) == 0) {
newBill.setOpenBillStatus("0"); newBill.setOpenBillStatus("0");
} else { }
if (oldBill.getRecMoney().compareTo(totalAllMoney) > 0) { // totalAllMoney > 0
newBill.setOpenBillStatus("2"); else {
} else { // 有实开票
if(totalMoney.compareTo(BigDecimal.ZERO) > 0) {
// 已开票
if( totalMoney.compareTo(oldBill.getRecMoney()) >=0 ){
newBill.setOpenBillStatus("1");
}
else{
// 有不开票
if(totalNoNeedMoney.compareTo(BigDecimal.ZERO) > 0) {
if( totalAllMoney.compareTo(oldBill.getRecMoney()) >=0 ){
// 已完成 // 已完成
newBill.setOpenBillStatus("4"); newBill.setOpenBillStatus("4");
} }
} }else{
} // 部分开票
else {
if (totalAllMoney.compareTo(BigDecimal.ZERO) == 0) {
newBill.setOpenBillStatus("0");
} else {
if (oldBill.getRecMoney().compareTo(totalAllMoney) > 0) {
newBill.setOpenBillStatus("2"); newBill.setOpenBillStatus("2");
} else {
newBill.setOpenBillStatus("1");
} }
} }
} }
// 无实开票
else{
// 不开票
if( totalNoNeedMoney.compareTo(oldBill.getRecMoney()) >=0 ){
newBill.setOpenBillStatus("3");
}else{
// 未开票
newBill.setOpenBillStatus("0");
}
}
}
// 更新账单开票状态 // 更新账单开票状态
emisSettleBillMapper.updateEmisSettleBill(newBill); emisSettleBillMapper.updateEmisSettleBill(newBill);