部分转出bug修复

release
wangzhikun 2 years ago
parent 00ab2287e9
commit 6dbbebe07f
  1. 24
      dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ReceiptOutServiceImpl.java

@ -132,8 +132,8 @@ public class ReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutDao,
condRecord.setOutInvoiceAmout(record.getTotalAmount()); condRecord.setOutInvoiceAmout(record.getTotalAmount());
// 税款所属期 // 税款所属期
condRecord.setOutBelongDate(condVO.getOutTaxPeriod()); condRecord.setOutBelongDate(condVO.getOutTaxPeriod());
if(record.getTaxAmount().compareTo(new BigDecimal(condVO.getOutTax()))==0){ if(record.getTaxAmount().compareTo(new BigDecimal(condVO.getOutTax()))==1){
condRecord.setOutStatus("2"); condVO.setOutStatus("2");
} }
/*全部转出 */ /*全部转出 */
if (JxszcZtEnum.QBZC.getZcztDm().equals(condVO.getOutStatus())) { if (JxszcZtEnum.QBZC.getZcztDm().equals(condVO.getOutStatus())) {
@ -144,17 +144,20 @@ public class ReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutDao,
} }
/*部分转出 */ /*部分转出 */
if (JxszcZtEnum.BFZC.getZcztDm().equals(condVO.getOutStatus())) { if (JxszcZtEnum.BFZC.getZcztDm().equals(condVO.getOutStatus())) {
/**
// 转出金额累加 // 转出金额累加
BigDecimal oldOutAmount = BigDecimal oldOutAmount =
record.getOutInvoiceAmout() == null ? new BigDecimal(0) : record.getOutInvoiceAmout(); record.getOutInvoiceAmout() == null ? new BigDecimal(0) : record.getOutInvoiceAmout();
BigDecimal newOutAmount = oldOutAmount.add(new BigDecimal(condVO.getOutAmount())); BigDecimal newOutAmount = oldOutAmount.add(new BigDecimal(condVO.getOutAmount()));
// -1=小于; 0=等于; 1=大于; // -1=小于; 0=等于; 1=大于;
int compareOut = newOutAmount.compareTo(record.getInvoiceAmount()); int compareOut = newOutAmount.compareTo(record.getInvoiceAmount());
if (compareOut > 0) { if (compareOut > 0) {
throw new RRException("累计转出金额不能大于发票金额"); throw new RRException("累计转出金额不能大于发票金额");
} }
**/
// 转出金额 // 转出金额
condRecord.setOutInvoiceAmout(newOutAmount); condRecord.setOutInvoiceAmout(record.getInvoiceAmount());
// 转出税额累加 // 转出税额累加
BigDecimal oldOutTax = record.getOutTaxAmount() == null ? new BigDecimal(0) : record.getOutTaxAmount(); BigDecimal oldOutTax = record.getOutTaxAmount() == null ? new BigDecimal(0) : record.getOutTaxAmount();
@ -166,7 +169,7 @@ public class ReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutDao,
// 转出税额 // 转出税额
condRecord.setOutTaxAmount(newOutTax); condRecord.setOutTaxAmount(newOutTax);
if (compareOut == 0 && compareTax == 0) { if ( compareTax == 0) {
// 金额税额已经全部转完,设为 全部转出 // 金额税额已经全部转完,设为 全部转出
condRecord.setOutStatus(JxszcZtEnum.QBZC.getZcztDm()); condRecord.setOutStatus(JxszcZtEnum.QBZC.getZcztDm());
} }
@ -209,17 +212,8 @@ public class ReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutDao,
} }
/* 部分转出 */ /* 部分转出 */
if (JxszcZtEnum.BFZC.getZcztDm().equals(condVO.getOutStatus())) { if (JxszcZtEnum.BFZC.getZcztDm().equals(condVO.getOutStatus())) {
// 转出金额累加
BigDecimal oldOutAmount =
record.getOutInvoiceAmout() == null ? new BigDecimal(0) : record.getOutInvoiceAmout();
BigDecimal newOutAmount = oldOutAmount.add(new BigDecimal(condVO.getOutAmount()));
// -1=小于; 0=等于; 1=大于;
int compareOut = newOutAmount.compareTo(invoice.getInvoiceAmount());
if (compareOut > 0) {
throw new RRException("累计转出金额不能大于发票金额");
}
// 转出金额 // 转出金额
record.setOutInvoiceAmout(newOutAmount); record.setOutInvoiceAmout(invoice.getInvoiceAmount());
// 转出税额累加 // 转出税额累加
BigDecimal oldOutTax = record.getOutTaxAmount() == null ? new BigDecimal(0) : record.getOutTaxAmount(); BigDecimal oldOutTax = record.getOutTaxAmount() == null ? new BigDecimal(0) : record.getOutTaxAmount();
@ -232,7 +226,7 @@ public class ReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutDao,
record.setOutTaxAmount(newOutTax); record.setOutTaxAmount(newOutTax);
// 金额税额全部转完,设置状态为 全部转出 // 金额税额全部转完,设置状态为 全部转出
if (compareOut == 0 && compareTax == 0) { if (compareTax == 0) {
record.setOutStatus(JxszcZtEnum.QBZC.getZcztDm()); record.setOutStatus(JxszcZtEnum.QBZC.getZcztDm());
} }
} }

Loading…
Cancel
Save