From d88dcad96e3fd3d930ca58a5caadfbca0636cbb3 Mon Sep 17 00:00:00 2001 From: winter Date: Tue, 13 Aug 2024 10:32:55 +0800 Subject: [PATCH] fix --- .../com/iformall/domain/po/WxEnergyMeter.java | 11 +++++++++++ .../service/impl/WxAllBillServiceImpl.java | 17 ++++++++++++----- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxEnergyMeter.java b/mallinkService/src/main/java/com/iformall/domain/po/WxEnergyMeter.java index 5d02f5a2e..98eb6e43e 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxEnergyMeter.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxEnergyMeter.java @@ -3,6 +3,8 @@ package com.iformall.domain.po; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.iformall.domain.po.base.TenantEntity; +import com.iformall.enums.EnumEnergyMeterType; + import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -36,6 +38,15 @@ public class WxEnergyMeter extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value = "表类型EnumEnergyMeterType", name = "type") private Integer type; + @TableField(exist = false) + private String typeName; + public String getTypeName() { + if (null != type) { + return EnumEnergyMeterType.getEnum(type).getMessage(); + } + return null; + } + @io.swagger.annotations.ApiModelProperty(value="倍率",name="rate") private String rate; diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxAllBillServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxAllBillServiceImpl.java index 5e660c336..8990a9b75 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxAllBillServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxAllBillServiceImpl.java @@ -338,12 +338,19 @@ public class WxAllBillServiceImpl extends WxBillBaseService implements WxAllBill } } + BigDecimal remainSetoff = new BigDecimal(dto.getSetOff()); if (latePayLastMoney.compareTo(new BigDecimal(0)) > 0 ) { opay = opay.add(latePayLastMoney); - wxBillRent.setPay(opay.toPlainString()); - //如果付款金额做了扣除手续费/滞纳金,则需要将本金抵扣写到备注 - if (new BigDecimal(dto.getAddpay()).compareTo(latePayLastMoney) > 0 ) { - sb.append(";已付金额增加").append(latePayLastMoney.toPlainString()); + //如果手续费+滞纳金未消耗到实际收款 + if (latePayLastMoney.compareTo(new BigDecimal(dto.getAddpay())) >= 0 ) { + wxBillRent.setPay(dto.getAddpay()); + sb.append(";已付金额增加").append(new BigDecimal(dto.getAddpay()).toPlainString()); + //实际应收的抵扣 + //remainSetoff = remainSetoff.subtract(latePayLastMoney.subtract(new BigDecimal(dto.getAddpay()))); + }else { + BigDecimal remainPay = new BigDecimal(dto.getAddpay()).subtract(latePayLastMoney); + wxBillRent.setPay(remainPay.toPlainString()); + sb.append(";已付金额增加").append(remainPay.toPlainString()); } if (opay.compareTo(new BigDecimal(dbBill.getOwe())) >= 0 ) { wxBillRent.setStatus(EnumBillStatus.PAID.getCode()); @@ -354,7 +361,7 @@ public class WxAllBillServiceImpl extends WxBillBaseService implements WxAllBill if (StringUtils.isBlank(oldSetOff)) { oldSetOff = "0"; } - wxBillRent.setSetOff(new BigDecimal(oldSetOff).add(new BigDecimal(dto.getSetOff())).toPlainString()); + wxBillRent.setSetOff(new BigDecimal(oldSetOff).add(remainSetoff).toPlainString()); wxBillRent.setPayDate(new Date()); wxBillRent.setPayWay(dto.getPayWayObject().getId()); wxAllBillMapper.updateById(wxBillRent);