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:
if (totalAllMoney.compareTo(BigDecimal.ZERO) == 0) { */
newBill.setOpenBillStatus("0");
} else { // totalAllMoney == 0 未开票
if (oldBill.getRecMoney().compareTo(totalAllMoney) > 0) { if (totalAllMoney.compareTo(BigDecimal.ZERO) == 0) {
newBill.setOpenBillStatus("2"); newBill.setOpenBillStatus("0");
} else {
// 已完成
newBill.setOpenBillStatus("4");
}
}
} }
// totalAllMoney > 0
else { else {
if (totalAllMoney.compareTo(BigDecimal.ZERO) == 0) { // 有实开票
newBill.setOpenBillStatus("0"); if(totalMoney.compareTo(BigDecimal.ZERO) > 0) {
} else { // 已开票
if (oldBill.getRecMoney().compareTo(totalAllMoney) > 0) { if( totalMoney.compareTo(oldBill.getRecMoney()) >=0 ){
newBill.setOpenBillStatus("2");
} else {
newBill.setOpenBillStatus("1"); newBill.setOpenBillStatus("1");
} }
else{
// 有不开票
if(totalNoNeedMoney.compareTo(BigDecimal.ZERO) > 0) {
if( totalAllMoney.compareTo(oldBill.getRecMoney()) >=0 ){
// 已完成
newBill.setOpenBillStatus("4");
}
}else{
// 部分开票
newBill.setOpenBillStatus("2");
}
}
} }
// 无实开票
else{
// 不开票
if( totalNoNeedMoney.compareTo(oldBill.getRecMoney()) >=0 ){
newBill.setOpenBillStatus("3");
}else{
// 未开票
newBill.setOpenBillStatus("0");
}
}
} }
// 更新账单开票状态 // 更新账单开票状态
emisSettleBillMapper.updateEmisSettleBill(newBill); emisSettleBillMapper.updateEmisSettleBill(newBill);