Md
This commit is contained in:
parent
a0baac97ef
commit
c00b7cc5f4
@ -532,42 +532,67 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS
|
||||
|
||||
// 判断是否有不开票的运单,如果有不开票的运单
|
||||
Map noNeedOpenBillMap=emisSettleSubBillMapper.getNoNeedOpenBillSum(settleBillNo);
|
||||
BigDecimal totalNoNeed=BigDecimal.ZERO;
|
||||
BigDecimal totalNoNeedMoney=BigDecimal.ZERO;
|
||||
if(noNeedOpenBillMap!=null){
|
||||
totalAllMoney=totalAllMoney.add(totalMoney);
|
||||
Integer totalCnt=Integer.valueOf(noNeedOpenBillMap.get("totalCnt").toString());
|
||||
if(totalCnt>0){
|
||||
totalNoNeed=BigDecimal.valueOf(Double.valueOf(noNeedOpenBillMap.get("totalNoNeed").toString()).doubleValue());
|
||||
totalAllMoney=totalAllMoney.add(totalNoNeed);
|
||||
totalNoNeedMoney=BigDecimal.valueOf(Double.valueOf(noNeedOpenBillMap.get("totalNoNeed").toString()).doubleValue());
|
||||
totalAllMoney=totalAllMoney.add(totalNoNeedMoney);
|
||||
}
|
||||
|
||||
}else{
|
||||
totalAllMoney=totalMoney;
|
||||
}
|
||||
/*
|
||||
未开票: 不开票金额+开票金额==0
|
||||
已开票: 不开票金额==0 && 开票金额>=应收金额
|
||||
不开票: 开票金额==0 && 不开票金额>=应收金额
|
||||
已完成: 不开票金额>0 && 开票金额>0 && (开票金额+不开票金额)>=应收金额
|
||||
部分开票: 开票金额>0 && (开票金额+不开票金额)>=应收金额
|
||||
|
||||
if(totalNoNeed.compareTo(BigDecimal.ZERO)>0){
|
||||
if (totalAllMoney.compareTo(BigDecimal.ZERO) == 0) {
|
||||
newBill.setOpenBillStatus("0");
|
||||
} else {
|
||||
if (oldBill.getRecMoney().compareTo(totalAllMoney) > 0) {
|
||||
newBill.setOpenBillStatus("2");
|
||||
} else {
|
||||
// 已完成
|
||||
newBill.setOpenBillStatus("4");
|
||||
}
|
||||
}
|
||||
开票金额==0:
|
||||
*/
|
||||
|
||||
// totalAllMoney == 0 未开票
|
||||
if (totalAllMoney.compareTo(BigDecimal.ZERO) == 0) {
|
||||
newBill.setOpenBillStatus("0");
|
||||
}
|
||||
// totalAllMoney > 0
|
||||
else {
|
||||
if (totalAllMoney.compareTo(BigDecimal.ZERO) == 0) {
|
||||
newBill.setOpenBillStatus("0");
|
||||
} else {
|
||||
if (oldBill.getRecMoney().compareTo(totalAllMoney) > 0) {
|
||||
newBill.setOpenBillStatus("2");
|
||||
} 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");
|
||||
}
|
||||
}else{
|
||||
// 部分开票
|
||||
newBill.setOpenBillStatus("2");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
// 无实开票
|
||||
else{
|
||||
// 不开票
|
||||
if( totalNoNeedMoney.compareTo(oldBill.getRecMoney()) >=0 ){
|
||||
newBill.setOpenBillStatus("3");
|
||||
}else{
|
||||
// 未开票
|
||||
newBill.setOpenBillStatus("0");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// 更新账单开票状态
|
||||
emisSettleBillMapper.updateEmisSettleBill(newBill);
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user