From 1ef2ff6e15924ad26e8f67fbdc2fa2ca99ed6984 Mon Sep 17 00:00:00 2001 From: winter Date: Fri, 16 Aug 2024 22:15:35 +0800 Subject: [PATCH] fix --- .../enums/EnumBillExtraCreateFrom.java | 2 +- .../service/impl/WxEnergyServiceImpl.java | 60 ++++++++++--------- .../impl/WxRentContractServiceImpl.java | 8 ++- 3 files changed, 39 insertions(+), 31 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumBillExtraCreateFrom.java b/mallinkService/src/main/java/com/iformall/enums/EnumBillExtraCreateFrom.java index b01b47f70..86ed7180c 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumBillExtraCreateFrom.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumBillExtraCreateFrom.java @@ -6,7 +6,7 @@ package com.iformall.enums; */ public enum EnumBillExtraCreateFrom { - RNET_TIAODIAN_HUISUAN(1,"跳点租金合同汇算差额自动生成"), + RNET_TIAODIAN_HUISUAN(1,"跳点合同年度汇算差额自动生成"), RNET_REVENUE_SALES(2,"录入销售额自动生成") ; diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxEnergyServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxEnergyServiceImpl.java index 77db50c6a..04c357d11 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxEnergyServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxEnergyServiceImpl.java @@ -303,33 +303,39 @@ public class WxEnergyServiceImpl implements WxEnergyService { if (null == fees) { throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "记录未查询到"); } - if (fees.getIsSystem().intValue() == EnumYesOrNo.YES.getCode().intValue()) { - throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "系统内置不能修改"); - } - record.setUpdateTime(date); - wxEnergyFeesMapper.updateById(record); - - //如果是预充的,则需处理管理科目 - if (fees.getBillType().intValue() == EnumBillAllType.ADVANCE.getCode().intValue()) { - //先删掉之前的关联 - WxEnergyFeesSetoff fd = new WxEnergyFeesSetoff(); - fd.updateTenantInfo(record); - fd.setAdvanceFeesId(record.getId()); - wxEnergyFeesSetoffMapper.deleteByAdvanceId(fd); - - if (null != record.getFeesIds()) { - for (int i = 0 ; i < record.getFeesIds().size(); i++) { - Long feeid = record.getFeesIds().get(i); - WxEnergyFeesSetoff tf = new WxEnergyFeesSetoff(); - tf.updateTenantInfo(record); - tf.setId(idWorker.nextId()); - tf.setAdvanceFeesId(record.getId()); - tf.setFeesId(feeid); - tf.setCreateTime(new Date()); - tf.setUpdateTime(new Date()); - wxEnergyFeesSetoffMapper.insert(tf); - } - } + if (fees.getIsSystem().intValue() == EnumYesOrNo.YES.getCode().intValue() && StringUtils.isNotBlank(record.getTaxRate())) { + WxEnergyFees updatefees = new WxEnergyFees(); + updatefees.updateTenantInfo(record); + updatefees.setId(fees.getId()); + updatefees.setTaxRate(record.getTaxRate()); + updatefees.setUpdateTime(date); + wxEnergyFeesMapper.updateById(updatefees);; + }else { + record.setUpdateTime(date); + wxEnergyFeesMapper.updateById(record); + + //如果是预充的,则需处理管理科目 + if (fees.getBillType().intValue() == EnumBillAllType.ADVANCE.getCode().intValue()) { + //先删掉之前的关联 + WxEnergyFeesSetoff fd = new WxEnergyFeesSetoff(); + fd.updateTenantInfo(record); + fd.setAdvanceFeesId(record.getId()); + wxEnergyFeesSetoffMapper.deleteByAdvanceId(fd); + + if (null != record.getFeesIds()) { + for (int i = 0 ; i < record.getFeesIds().size(); i++) { + Long feeid = record.getFeesIds().get(i); + WxEnergyFeesSetoff tf = new WxEnergyFeesSetoff(); + tf.updateTenantInfo(record); + tf.setId(idWorker.nextId()); + tf.setAdvanceFeesId(record.getId()); + tf.setFeesId(feeid); + tf.setCreateTime(new Date()); + tf.setUpdateTime(new Date()); + wxEnergyFeesSetoffMapper.insert(tf); + } + } + } } } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java index 9a7f5adb4..820c994f4 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -2604,8 +2604,8 @@ public class WxRentContractServiceImpl implements WxRentContractService { if (null != propertyContractId && null != propertyBill) { propertyContract = wxPropertyContractMapper.selectById(propertyContractId); //有可能物业的单价时间跟租金的不一致,需要根据物业的单价重新计算 - propertyPrice = calcuteRentPropertyPrice(rentcontract, propertyContract, rentBill.getStarttime(), rentBill.getEndtime(), - new BigDecimal(propertyBill.getNeedPay())); + //propertyPrice = calcuteRentPropertyPrice(rentcontract, propertyContract, rentBill.getStarttime(), rentBill.getEndtime(), + //new BigDecimal(propertyBill.getNeedPay())); } } //计算每一年的基数 @@ -2643,7 +2643,9 @@ public class WxRentContractServiceImpl implements WxRentContractService { if (null != operationManagerPriceArrs) { rentTotal = rentTotal.add(new BigDecimal(operationManagerPriceArrs[yearIndex])); } - rentTotal = rentTotal.add(propertyPrice); + if (null != propertyContractArrs) { + rentTotal = rentTotal.add(new BigDecimal(propertyContractArrs[yearIndex])); + } //跟扣点相比较 BigDecimal priceDecimal = rentTotal;