Просмотр исходного кода

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

release_toaliyun_real
luozukai 6 лет назад
Родитель
Сommit
5b6abfbd40
6 измененных файлов: 85 добавлений и 37 удалений
  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 Просмотреть файл

@@ -10,6 +10,7 @@ import com.iformall.service.WxBillActionService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -47,4 +48,18 @@ public class WxBillActionController extends BaseController {
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 Просмотреть файл

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

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

}

+ 2
- 1
mallinkService/src/main/java/com/iformall/enums/EnumBillAction.java Просмотреть файл

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

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


+ 2
- 2
mallinkService/src/main/java/com/iformall/service/WxBillAllService.java Просмотреть файл

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

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

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 importBill(String tenantId, String importKey, WxBillExcelTemplateOther bill, MallUserInfo user);

}

+ 41
- 26
mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java Просмотреть файл

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

@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.setBillId(billId);
String oldPriceStr = new BigDecimal(oldPrice).divide(new BigDecimal(100)).toPlainString();
String newPriceStr = new BigDecimal(newPrice).divide(new BigDecimal(100)).toPlainString();
wxBillAction.setDetails(oldPriceStr + "元变更成" + newPriceStr + "元");
wxBillAction.setAction(EnumBillAction.UPDATE_BILL.getCode());
wxBillAction.setAction(billAction.getCode());
wxBillActionService.modifyBill(wxBillAction, mallUserInfo);
}


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


+ 19
- 8
mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java Просмотреть файл

@@ -198,15 +198,26 @@ public class WxFlowServiceImpl implements WxFlowService {
if(EnumRentContractAppStatus.FINISH.getCode().intValue() == applyStatus.intValue()) {
//账单审批
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");
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)
|| EnumFlowKey.NEW_CARD_UPLINE.getCode().equals(flowType)


Загрузка…
Отмена
Сохранить