Quellcode durchsuchen

[账单][修改][修改滞纳金计算]

release_toaliyun_real
luozukai vor 6 Jahren
Ursprung
Commit
5b6abfbd40
6 geänderte Dateien mit 85 neuen und 37 gelöschten Zeilen
  1. +15
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillActionController.java
  2. +6
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/WxBillAll.java
  3. +2
    -1
      mallinkService/src/main/java/com/iformall/enums/EnumBillAction.java
  4. +2
    -2
      mallinkService/src/main/java/com/iformall/service/WxBillAllService.java
  5. +41
    -26
      mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java
  6. +19
    -8
      mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java

+ 15
- 0
mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillActionController.java Datei anzeigen

@@ -10,6 +10,7 @@ import com.iformall.service.WxBillActionService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -47,4 +48,18 @@ public class WxBillActionController extends BaseController {
return new ResultData(result); return new ResultData(result);
} }


@ApiOperation("滞纳金变更列表")
@GetMapping("latePaylist")
@SystemControllerLog(description = "账单操作记录-滞纳金列表")
public ResultData latePaylist(@ModelAttribute WxBillAction wxBillAction, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxBillActionController::latePaylist");
if (null == wxBillAction) {
wxBillAction = new WxBillAction();
}
wxBillAction.setTenantId(getTenantId());
wxBillAction.setSortColumns(BaseEntity.SortField.Id_DESC);
PageInfo<WxBillAction> result = wxBillActionService.listAsPage(wxBillAction, pageNum, pageSize);

return new ResultData(result);
}
} }

+ 6
- 0
mallinkService/src/main/java/com/iformall/domain/vo/WxBillAll.java Datei anzeigen

@@ -127,4 +127,10 @@ public class WxBillAll extends BaseEntity {
@io.swagger.annotations.ApiModelProperty(value = "金额新值", name = "newPrice") @io.swagger.annotations.ApiModelProperty(value = "金额新值", name = "newPrice")
private Long newPrice; private Long newPrice;


//滞纳金
@Transient
private Long oldLatePrice;
@Transient
private Long newLatePrice;

} }

+ 2
- 1
mallinkService/src/main/java/com/iformall/enums/EnumBillAction.java Datei anzeigen

@@ -12,7 +12,8 @@ public enum EnumBillAction {
DEPOSIT_PAY(4, "押金缴费"), DEPOSIT_PAY(4, "押金缴费"),
DEPOSIT_RETURN(5, "押金退款"), DEPOSIT_RETURN(5, "押金退款"),
DEPOSIT_MODIFY(6, "押金变更"), DEPOSIT_MODIFY(6, "押金变更"),
IMPORT_PAY(6, "导入缴费"),;
IMPORT_PAY(6, "导入缴费"),
UPDATE_LATE_PAY_MONEY(7, "滞纳金变更");


public static EnumBillAction getEnum(Integer code) { public static EnumBillAction getEnum(Integer code) {
for (EnumBillAction value : values()) { for (EnumBillAction value : values()) {


+ 2
- 2
mallinkService/src/main/java/com/iformall/service/WxBillAllService.java Datei anzeigen

@@ -5,6 +5,7 @@ import com.iformall.domain.po.MallUserInfo;
import com.iformall.domain.vo.WxBillAll; import com.iformall.domain.vo.WxBillAll;
import com.iformall.domain.vo.WxBillExcelTemplate; import com.iformall.domain.vo.WxBillExcelTemplate;
import com.iformall.domain.vo.WxBillExcelTemplateOther; import com.iformall.domain.vo.WxBillExcelTemplateOther;
import com.iformall.enums.EnumBillAction;


import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@@ -57,10 +58,9 @@ public interface WxBillAllService {


ResultData updateReceivePay(WxBillAll wxBillAll, MallUserInfo user); ResultData updateReceivePay(WxBillAll wxBillAll, MallUserInfo user);


void addBillAction(Long billId, Long oldPrice, Long newPrice, MallUserInfo mallUserInfo);
void addBillAction(EnumBillAction billAction, Long billId, Long oldPrice, Long newPrice, MallUserInfo mallUserInfo);


void exportTemplate(WxBillExcelTemplate wxBillExcelTemplate, HttpServletRequest request, HttpServletResponse response); void exportTemplate(WxBillExcelTemplate wxBillExcelTemplate, HttpServletRequest request, HttpServletResponse response);


void importBill(String tenantId, String importKey, WxBillExcelTemplateOther bill, MallUserInfo user); void importBill(String tenantId, String importKey, WxBillExcelTemplateOther bill, MallUserInfo user);

} }

+ 41
- 26
mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java Datei anzeigen

@@ -772,22 +772,30 @@ public class WxBillAllServiceImpl implements WxBillAllService {
Integer billType = wxBillAll.getBillTypeValue(); Integer billType = wxBillAll.getBillTypeValue();
Long oldPrice = wxBillAll.getOldPrice(); Long oldPrice = wxBillAll.getOldPrice();
Long newPrice = wxBillAll.getNewPrice(); Long newPrice = wxBillAll.getNewPrice();
Long oldLatePrice = wxBillAll.getOldLatePrice();
Long newLatePrice = wxBillAll.getNewLatePrice();
Long id = wxBillAll.getId(); Long id = wxBillAll.getId();
Date updateDate = new Date(); Date updateDate = new Date();
if (billType.equals(EnumBillTypeParam.RENT.getCode())) { if (billType.equals(EnumBillTypeParam.RENT.getCode())) {
WxBillRent dbBill = wxBillRentMapper.selectByPrimaryKey(id); WxBillRent dbBill = wxBillRentMapper.selectByPrimaryKey(id);
//租赁账单更新
WxBillRent wxBillRent = new WxBillRent(); WxBillRent wxBillRent = new WxBillRent();
wxBillRent.setId(id); wxBillRent.setId(id);
wxBillRent.setReceivePay(newPrice);
wxBillRent.setOwe(newPrice - dbBill.getPay());
if (newPrice.equals(dbBill.getPay())) {
wxBillRent.setStatus(EnumBillRentStatus.PAID.getCode());
}
wxBillRent.setUpdatetime(updateDate); wxBillRent.setUpdatetime(updateDate);
wxBillRentMapper.updateByPrimaryKeySelective(wxBillRent);
//账单日志
addBillAction(id, oldPrice, newPrice, user);
if(oldLatePrice != null){
wxBillRent.setLatePayPrice(newLatePrice);
wxBillRentMapper.updateByPrimaryKeySelective(wxBillRent);
addBillAction(EnumBillAction.UPDATE_LATE_PAY_MONEY,id, oldPrice, newPrice, user);
}else{
//租赁账单更新
wxBillRent.setReceivePay(newPrice);
wxBillRent.setOwe(newPrice - dbBill.getPay());
if (newPrice.equals(dbBill.getPay())) {
wxBillRent.setStatus(EnumBillRentStatus.PAID.getCode());
}
wxBillRentMapper.updateByPrimaryKeySelective(wxBillRent);
//账单日志
addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user);
}
} else if (billType.equals(EnumBillTypeParam.RENT_DEPOSIT.getCode())) { } else if (billType.equals(EnumBillTypeParam.RENT_DEPOSIT.getCode())) {
WxBillDeposit dbBill = wxBillDepositMapper.selectByPrimaryKey(id); WxBillDeposit dbBill = wxBillDepositMapper.selectByPrimaryKey(id);
//租赁押金账单更新 //租赁押金账单更新
@@ -801,21 +809,27 @@ public class WxBillAllServiceImpl implements WxBillAllService {
wxBillDeposit.setUpdatetime(updateDate); wxBillDeposit.setUpdatetime(updateDate);
wxBillDepositMapper.updateByPrimaryKeySelective(wxBillDeposit); wxBillDepositMapper.updateByPrimaryKeySelective(wxBillDeposit);
//账单日志 //账单日志
addBillAction(id, oldPrice, newPrice, user);
addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user);
} else if (billType.equals(EnumBillTypeParam.PROPERTY.getCode())) { } else if (billType.equals(EnumBillTypeParam.PROPERTY.getCode())) {
WxBillProperty dbBill = wxBillPropertyMapper.selectByPrimaryKey(id); WxBillProperty dbBill = wxBillPropertyMapper.selectByPrimaryKey(id);
//物业账单更新 //物业账单更新
WxBillProperty wxBillProperty = new WxBillProperty(); WxBillProperty wxBillProperty = new WxBillProperty();
wxBillProperty.setId(id); wxBillProperty.setId(id);
wxBillProperty.setReceivePay(newPrice);
wxBillProperty.setOwe(newPrice - dbBill.getPay());
if (newPrice.equals(dbBill.getPay())) {
wxBillProperty.setStatus(EnumBillRentStatus.PAID.getCode());
}
wxBillProperty.setUpdatetime(updateDate); wxBillProperty.setUpdatetime(updateDate);
wxBillPropertyMapper.updateByPrimaryKeySelective(wxBillProperty);
//账单日志
addBillAction(id, oldPrice, newPrice, user);
if(oldLatePrice != null){
wxBillProperty.setLatePayPrice(newLatePrice);
wxBillPropertyMapper.updateByPrimaryKeySelective(wxBillProperty);
addBillAction(EnumBillAction.UPDATE_LATE_PAY_MONEY,id, oldPrice, newPrice, user);
}else{
wxBillProperty.setReceivePay(newPrice);
wxBillProperty.setOwe(newPrice - dbBill.getPay());
if (newPrice.equals(dbBill.getPay())) {
wxBillProperty.setStatus(EnumBillRentStatus.PAID.getCode());
}
wxBillPropertyMapper.updateByPrimaryKeySelective(wxBillProperty);
//账单日志
addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user);
}
} else if (billType.equals(EnumBillTypeParam.PROPERTY_DEPOSIT.getCode())) { } else if (billType.equals(EnumBillTypeParam.PROPERTY_DEPOSIT.getCode())) {
WxBillPropertyDeposit dbBill = wxBillPropertyDepositMapper.selectByPrimaryKey(id); WxBillPropertyDeposit dbBill = wxBillPropertyDepositMapper.selectByPrimaryKey(id);
//物业押金账单更新 //物业押金账单更新
@@ -829,22 +843,22 @@ public class WxBillAllServiceImpl implements WxBillAllService {
wxBillPropertyDeposit.setUpdatetime(updateDate); wxBillPropertyDeposit.setUpdatetime(updateDate);
wxBillPropertyDepositMapper.updateByPrimaryKeySelective(wxBillPropertyDeposit); wxBillPropertyDepositMapper.updateByPrimaryKeySelective(wxBillPropertyDeposit);
//账单日志 //账单日志
addBillAction(id, oldPrice, newPrice, user);
addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user);
} else if (billType.equals(EnumBillTypeParam.WATER.getCode())) { } else if (billType.equals(EnumBillTypeParam.WATER.getCode())) {
//水费账单更新 //水费账单更新
updateDailyBill(id, newPrice, updateDate); updateDailyBill(id, newPrice, updateDate);
//账单日志 //账单日志
addBillAction(id, oldPrice, newPrice, user);
addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user);
} else if (billType.equals(EnumBillTypeParam.POWER.getCode())) { } else if (billType.equals(EnumBillTypeParam.POWER.getCode())) {
//电费账单更新 //电费账单更新
updateDailyBill(id, newPrice, updateDate); updateDailyBill(id, newPrice, updateDate);
//账单日志 //账单日志
addBillAction(id, oldPrice, newPrice, user);
addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user);
} else if (billType.equals(EnumBillTypeParam.AIR_CONDITIONING.getCode())) { } else if (billType.equals(EnumBillTypeParam.AIR_CONDITIONING.getCode())) {
//空调费账单更新 //空调费账单更新
updateDailyBill(id, newPrice, updateDate); updateDailyBill(id, newPrice, updateDate);
//账单日志 //账单日志
addBillAction(id, oldPrice, newPrice, user);
addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user);
} else if (billType.equals(EnumBillTypeParam.ROUTINE.getCode())) { } else if (billType.equals(EnumBillTypeParam.ROUTINE.getCode())) {
WxBillOther dbBill = wxBillOtherMapper.selectByPrimaryKey(id); WxBillOther dbBill = wxBillOtherMapper.selectByPrimaryKey(id);
//其他费用账单更新 //其他费用账单更新
@@ -858,7 +872,7 @@ public class WxBillAllServiceImpl implements WxBillAllService {
wxBillOther.setUpdatetime(updateDate); wxBillOther.setUpdatetime(updateDate);
wxBillOtherMapper.updateByPrimaryKeySelective(wxBillOther); wxBillOtherMapper.updateByPrimaryKeySelective(wxBillOther);
//账单日志 //账单日志
addBillAction(id, oldPrice, newPrice, user);
addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user);
} else if (billType.equals(EnumBillTypeParam.ATHER_DEPOSIT.getCode())) { } else if (billType.equals(EnumBillTypeParam.ATHER_DEPOSIT.getCode())) {
WxBillOtherDeposit dbBill = wxBillOtherDepositMapper.selectByPrimaryKey(id); WxBillOtherDeposit dbBill = wxBillOtherDepositMapper.selectByPrimaryKey(id);
//其他押金账单更新 //其他押金账单更新
@@ -872,7 +886,7 @@ public class WxBillAllServiceImpl implements WxBillAllService {
wxBillOtherDeposit.setUpdatetime(updateDate); wxBillOtherDeposit.setUpdatetime(updateDate);
wxBillOtherDepositMapper.updateByPrimaryKeySelective(wxBillOtherDeposit); wxBillOtherDepositMapper.updateByPrimaryKeySelective(wxBillOtherDeposit);
//账单日志 //账单日志
addBillAction(id, oldPrice, newPrice, user);
addBillAction(EnumBillAction.UPDATE_BILL,id, oldPrice, newPrice, user);
} else { } else {
logger.info("未找到账单类型"); logger.info("未找到账单类型");
} }
@@ -880,16 +894,17 @@ public class WxBillAllServiceImpl implements WxBillAllService {
} }


@Override @Override
public void addBillAction(Long billId, Long oldPrice, Long newPrice, MallUserInfo mallUserInfo) {
public void addBillAction(EnumBillAction billAction,Long billId, Long oldPrice, Long newPrice, MallUserInfo mallUserInfo) {
WxBillAction wxBillAction = new WxBillAction(); WxBillAction wxBillAction = new WxBillAction();
wxBillAction.setBillId(billId); wxBillAction.setBillId(billId);
String oldPriceStr = new BigDecimal(oldPrice).divide(new BigDecimal(100)).toPlainString(); String oldPriceStr = new BigDecimal(oldPrice).divide(new BigDecimal(100)).toPlainString();
String newPriceStr = new BigDecimal(newPrice).divide(new BigDecimal(100)).toPlainString(); String newPriceStr = new BigDecimal(newPrice).divide(new BigDecimal(100)).toPlainString();
wxBillAction.setDetails(oldPriceStr + "元变更成" + newPriceStr + "元"); wxBillAction.setDetails(oldPriceStr + "元变更成" + newPriceStr + "元");
wxBillAction.setAction(EnumBillAction.UPDATE_BILL.getCode());
wxBillAction.setAction(billAction.getCode());
wxBillActionService.modifyBill(wxBillAction, mallUserInfo); wxBillActionService.modifyBill(wxBillAction, mallUserInfo);
} }



@Override @Override
public void exportTemplate(WxBillExcelTemplate WxBillExcelTemplate, HttpServletRequest request, HttpServletResponse response) { public void exportTemplate(WxBillExcelTemplate WxBillExcelTemplate, HttpServletRequest request, HttpServletResponse response) {
List<WxBillExcelTemplateOther> datalist = new ArrayList<>(); List<WxBillExcelTemplateOther> datalist = new ArrayList<>();


+ 19
- 8
mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java Datei anzeigen

@@ -198,15 +198,26 @@ public class WxFlowServiceImpl implements WxFlowService {
if(EnumRentContractAppStatus.FINISH.getCode().intValue() == applyStatus.intValue()) { if(EnumRentContractAppStatus.FINISH.getCode().intValue() == applyStatus.intValue()) {
//账单审批 //账单审批
Integer billType = (Integer) getVariableByKey(variables, "billType"); Integer billType = (Integer) getVariableByKey(variables, "billType");
Long oldPrice = Long.parseLong(getVariableByKey(variables, "oldPrice").toString());
Long newPrice = Long.parseLong(getVariableByKey(variables, "newPrice").toString());
MallUserInfo user = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute("userSession"); MallUserInfo user = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute("userSession");
WxBillAll wxBillAll = new WxBillAll();
wxBillAll.setId(businessId);
wxBillAll.setBillTypeValue(billType);
wxBillAll.setOldPrice(oldPrice);
wxBillAll.setNewPrice(newPrice);
wxBillAllService.updateReceivePay(wxBillAll, user);
String latePayMoneyBefore = (String) getVariableByKey(variables, "latePayMoneyBefore");
String latePayMoneyUpdate = (String) getVariableByKey(variables, "latePayMoneyUpdate");
if(StringUtils.isNotBlank(latePayMoneyBefore)){ //修改滞纳金
WxBillAll wxBillAll = new WxBillAll();
wxBillAll.setId(businessId);
wxBillAll.setBillTypeValue(billType);
wxBillAll.setOldLatePrice(Long.parseLong(latePayMoneyBefore)*100);
wxBillAll.setNewLatePrice(Long.parseLong(latePayMoneyUpdate)*100);
wxBillAllService.updateReceivePay(wxBillAll, user);
}else{
Long oldPrice = Long.parseLong(getVariableByKey(variables, "oldPrice").toString());
Long newPrice = Long.parseLong(getVariableByKey(variables, "newPrice").toString());
WxBillAll wxBillAll = new WxBillAll();
wxBillAll.setId(businessId);
wxBillAll.setBillTypeValue(billType);
wxBillAll.setOldPrice(oldPrice);
wxBillAll.setNewPrice(newPrice);
wxBillAllService.updateReceivePay(wxBillAll, user);
}
} }
} else if (EnumFlowKey.NEW_COUPON_UPLINE.getCode().equals(flowType) } else if (EnumFlowKey.NEW_COUPON_UPLINE.getCode().equals(flowType)
|| EnumFlowKey.NEW_CARD_UPLINE.getCode().equals(flowType) || EnumFlowKey.NEW_CARD_UPLINE.getCode().equals(flowType)


Laden…
Abbrechen
Speichern