|
@@ -635,24 +635,30 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if (LocalDate.now().isAfter(dto.getEndDate())) {
|
|
|
- // 逾期
|
|
|
- repalBill.setRepalBillStatus(RepalBillStatusEnum.OVERDUE.getCode());
|
|
|
- }
|
|
|
+
|
|
|
// 改金额三种状态
|
|
|
+ if (Objects.isNull(dto.getTotalMoney())) {
|
|
|
+ throw new CommonException(CodeMsg.FAILED, "账款金额不能为空");
|
|
|
+ }
|
|
|
+ if (dto.getTotalMoney().compareTo(repalBill.getReceipt()) < 0) {
|
|
|
+ String typeStr = RepalBillTypeEnum.RECEIVABLE.getCode().equals(repalBill.getRepalBillType()) ? "收" : "付";
|
|
|
+ throw new CommonException(CodeMsg.FAILED, "应" + typeStr + "金额不能小于已" + typeStr + "款");
|
|
|
+ }
|
|
|
boolean sendFlag = false;
|
|
|
- if (dto.getReceivable().compareTo(BigDecimal.ZERO) == 0) {
|
|
|
+ if (dto.getTotalMoney().compareTo(repalBill.getReceipt()) == 0) {
|
|
|
repalBill.setTotalMoney(repalBill.getReceipt());
|
|
|
+ repalBill.setReceivable(BigDecimal.ZERO);
|
|
|
repalBill.setRepalBillStatus(RepalBillStatusEnum.SUCCESS.getCode());
|
|
|
sendFlag = true;
|
|
|
+ } else if (dto.getTotalMoney().compareTo(repalBill.getReceipt()) > 0) {
|
|
|
+ repalBill.setTotalMoney(dto.getTotalMoney());
|
|
|
+ repalBill.setReceivable(dto.getTotalMoney().subtract(repalBill.getReceipt()));
|
|
|
}
|
|
|
- if (dto.getReceivable().compareTo(repalBill.getReceivable()) > 0) {
|
|
|
- repalBill.setTotalMoney(repalBill.getTotalMoney().add(dto.getReceivable().subtract(repalBill.getReceivable())));
|
|
|
- }
|
|
|
- if (dto.getReceivable().compareTo(repalBill.getReceivable()) < 0) {
|
|
|
- repalBill.setTotalMoney(repalBill.getTotalMoney().subtract(repalBill.getReceivable().subtract(dto.getReceivable())));
|
|
|
+ if (LocalDate.now().isAfter(dto.getEndDate()) && repalBill.getReceivable().compareTo(BigDecimal.ZERO) > 0) {
|
|
|
+ // 日期 && 应收 > 0
|
|
|
+ repalBill.setRepalBillStatus(RepalBillStatusEnum.OVERDUE.getCode());
|
|
|
}
|
|
|
- repalBill.setReceivable(dto.getReceivable());
|
|
|
+
|
|
|
this.update(Wrappers.lambdaUpdate(RepalBill.class)
|
|
|
.eq(RepalBill::getId, repalBill.getId())
|
|
|
.set(RepalBill::getEndDate, dto.getEndDate())
|
|
@@ -661,7 +667,6 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
|
|
|
.set(RepalBill::getBillRemark, dto.getBillRemark())
|
|
|
.set(RepalBill::getTotalMoney, repalBill.getTotalMoney())
|
|
|
.set(RepalBill::getReceivable, repalBill.getReceivable())
|
|
|
- .set(RepalBill::getReceipt, repalBill.getReceipt())
|
|
|
.set(RepalBill::getContractName, dto.getContractName())
|
|
|
.set(RepalBill::getContractEndDate, dto.getContractEndDate())
|
|
|
.set(RepalBill::getContractUrl, String.join( ";", dto.getContractUrlList()))
|