Przeglądaj źródła

[合同][修改][开发账单结算]

release_toaliyun_real
luozukai 6 lat temu
rodzic
commit
134615a71e
23 zmienionych plików z 478 dodań i 428 usunięć
  1. +2
    -0
      mallinkAdmin/src/main/resources/db/migration/V201908301829__L_CONTRACT.sql
  2. +2
    -0
      mallinkAdmin/src/main/resources/db/migration/V201908301845__L_CONTRACT.sql
  3. +2
    -1
      mallinkService/src/main/java/com/iformall/domain/po/WxBillDaily.java
  4. +2
    -1
      mallinkService/src/main/java/com/iformall/domain/po/WxBillOther.java
  5. +2
    -1
      mallinkService/src/main/java/com/iformall/domain/po/WxBillOtherDeposit.java
  6. +3
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxBillProperty.java
  7. +3
    -1
      mallinkService/src/main/java/com/iformall/domain/po/WxBillPropertyDeposit.java
  8. +7
    -1
      mallinkService/src/main/java/com/iformall/domain/po/WxBillRent.java
  9. +0
    -1
      mallinkService/src/main/java/com/iformall/enums/EnumBillRentStatus.java
  10. +37
    -0
      mallinkService/src/main/java/com/iformall/enums/EnumFreezeType.java
  11. +4
    -0
      mallinkService/src/main/java/com/iformall/service/WxBillSettleService.java
  12. +6
    -7
      mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java
  13. +4
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleServiceImpl.java
  14. +6
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java
  15. +109
    -116
      mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java
  16. +257
    -285
      mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java
  17. +14
    -0
      mallinkService/src/main/resources/mapper/WxBillAllMapper.xml
  18. +2
    -1
      mallinkService/src/main/resources/mapper/WxBillDailyMapper.xml
  19. +3
    -2
      mallinkService/src/main/resources/mapper/WxBillOtherDepositMapper.xml
  20. +2
    -2
      mallinkService/src/main/resources/mapper/WxBillOtherMapper.xml
  21. +2
    -2
      mallinkService/src/main/resources/mapper/WxBillPropertyDepositMapper.xml
  22. +2
    -1
      mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml
  23. +7
    -2
      mallinkService/src/main/resources/mapper/WxBillRentMapper.xml

+ 2
- 0
mallinkAdmin/src/main/resources/db/migration/V201908301829__L_CONTRACT.sql Wyświetl plik

@@ -0,0 +1,2 @@
alter table wx_bill_rent
add column `join_rent_price` SMALLINT (1) NULL DEFAULT 0 COMMENT '联营租金';

+ 2
- 0
mallinkAdmin/src/main/resources/db/migration/V201908301845__L_CONTRACT.sql Wyświetl plik

@@ -0,0 +1,2 @@
alter table wx_bill_rent
modify column `join_rent_price` BIGINT(20) NULL DEFAULT NULL COMMENT '联营扣点率';

+ 2
- 1
mallinkService/src/main/java/com/iformall/domain/po/WxBillDaily.java Wyświetl plik

@@ -106,5 +106,6 @@ public class WxBillDaily extends BaseEntity{

@io.swagger.annotations.ApiModelProperty(value = "结束时间", name = "endtime")
private Date endtime;

@io.swagger.annotations.ApiModelProperty(value = "冻结状态,0正常1冻结", name = "freeze")
private Integer freeze;
}

+ 2
- 1
mallinkService/src/main/java/com/iformall/domain/po/WxBillOther.java Wyświetl plik

@@ -130,5 +130,6 @@ public class WxBillOther extends BaseEntity {

@Transient
private List<Map<String, Object>> shops;
@io.swagger.annotations.ApiModelProperty(value = "冻结状态,0正常1冻结", name = "freeze")
private Integer freeze;
}

+ 2
- 1
mallinkService/src/main/java/com/iformall/domain/po/WxBillOtherDeposit.java Wyświetl plik

@@ -139,5 +139,6 @@ public class WxBillOtherDeposit extends BaseEntity {

@io.swagger.annotations.ApiModelProperty(value = "结束时间", name = "endtime")
private Date endtime;

@io.swagger.annotations.ApiModelProperty(value = "冻结状态,0正常1冻结", name = "freeze")
private Integer freeze;
}

+ 3
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxBillProperty.java Wyświetl plik

@@ -184,4 +184,7 @@ public class WxBillProperty extends BaseEntity {
private String latePayMoneyBefore;
@Transient
private String latePayMoneyUpdate;

@io.swagger.annotations.ApiModelProperty(value = "冻结状态,0正常1冻结", name = "freeze")
private Integer freeze;
}

+ 3
- 1
mallinkService/src/main/java/com/iformall/domain/po/WxBillPropertyDeposit.java Wyświetl plik

@@ -76,5 +76,7 @@ public class WxBillPropertyDeposit extends BaseEntity {

@io.swagger.annotations.ApiModelProperty(value = "支付方式:见枚举EnumBillPayWay", name = "payWay")
private Integer payWay;

@io.swagger.annotations.ApiModelProperty(value = "冻结状态,0正常1冻结", name = "freeze")
private Integer freeze;
}

+ 7
- 1
mallinkService/src/main/java/com/iformall/domain/po/WxBillRent.java Wyświetl plik

@@ -192,6 +192,12 @@ public class WxBillRent extends BaseEntity {
private String latePayMoneyBefore;
@Transient
private String latePayMoneyUpdate;
@Transient
private String busDiscountRatio;

@io.swagger.annotations.ApiModelProperty(value = "冻结状态,0正常1冻结", name = "freeze")
private Integer freeze;

@io.swagger.annotations.ApiModelProperty(value = "联营租金", name = "joinRentPrice")
private Long joinRentPrice;
}

+ 0
- 1
mallinkService/src/main/java/com/iformall/enums/EnumBillRentStatus.java Wyświetl plik

@@ -12,7 +12,6 @@ public enum EnumBillRentStatus {
NOT_EXPIRED(4,"未到期"),
RETURN(5, "已退还"),
INVALID(6, "失效"),
FREEZE(7, "冻结(结算单审核过程中)"),
;

public static EnumBillRentStatus getEnum(Integer code) {


+ 37
- 0
mallinkService/src/main/java/com/iformall/enums/EnumFreezeType.java Wyświetl plik

@@ -0,0 +1,37 @@
package com.iformall.enums;

/**
* Created by Stormeye on 2018/08/09.
*/
public enum EnumFreezeType {


DEF(0, "正常"),
YES(1, "冻结"),
;

public static EnumFreezeType getEnum(Integer code) {
for (EnumFreezeType value : values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}

private Integer code;
private String message;

EnumFreezeType(Integer code, String message) {
this.code = code;
this.message = message;
}

public Integer getCode() {
return code;
}

public String getMessage() {
return message;
}
}

+ 4
- 0
mallinkService/src/main/java/com/iformall/service/WxBillSettleService.java Wyświetl plik

@@ -4,9 +4,11 @@ import com.github.pagehelper.PageInfo;
import com.iformall.common.ResultData;
import com.iformall.domain.po.MallUserInfo;
import com.iformall.domain.po.WxBillSettle;
import com.iformall.domain.po.WxBillSettleBill;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
* @author luozukai
@@ -37,4 +39,6 @@ public interface WxBillSettleService {
ResultData saveOrUpdate(WxBillSettle record, MallUserInfo userInfo);

void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillSettle wxBillSettle);

void updateFreeze(List<WxBillSettleBill> billList, int status);
}

+ 6
- 7
mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java Wyświetl plik

@@ -321,7 +321,11 @@ public class WxBillRentServiceImpl implements WxBillRentService {
long newReceivePay;
if(ratioVo != null){
newReceivePay = ratioVo.getPrice();
//ratio = ratioVo.getRatio();
//wxBillRent.setPayRatio(ratioVo.getRatio().longValue());
//如果在跳点区间中,修改扣点率
if(StringUtils.isNotBlank(wxRentContract.getBusDiscountRatio())){
wxBillRent.setBusDiscountRatio(ratioVo.getUseRatio());
}
}else{
BigDecimal hundred = new BigDecimal(100);
BigDecimal revenue = new BigDecimal(record.getRevenue() == null ? 0 : record.getRevenue()).divide(hundred);
@@ -329,7 +333,7 @@ public class WxBillRentServiceImpl implements WxBillRentService {
BigDecimal price = revenue.multiply(payRatio).setScale(2, RoundingMode.HALF_EVEN);
newReceivePay = price.multiply(hundred).longValue();
}
wxBillRent.setJoinRentPrice(newReceivePay);
if(newReceivePay > wxBillRent.getReceivePay()){
wxBillRent.setReceivePay(newReceivePay);
}
@@ -338,11 +342,6 @@ public class WxBillRentServiceImpl implements WxBillRentService {
Long newPrice = newReceivePay;
wxBillRent.setUpdatetime(new Date());

//如果在跳点区间中,修改扣点率
if(StringUtils.isNotBlank(wxRentContract.getBusDiscountRatio())){
wxBillRent.setBusDiscountRatio(ratioVo.getUseRatio());
wxBillRent.setPayRatio(new Long(ratio));
}
wxBillRentMapper.updateByPrimaryKeySelective(wxBillRent);

if (!oldPrice.equals(newPrice)) {


+ 4
- 2
mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleServiceImpl.java Wyświetl plik

@@ -7,6 +7,7 @@ import com.iformall.common.ResultData;
import com.iformall.domain.po.*;
import com.iformall.enums.EnumBillRentStatus;
import com.iformall.enums.EnumBillType;
import com.iformall.enums.EnumFreezeType;
import com.iformall.enums.EnumSettleBillType;
import com.iformall.mapper.*;
import com.iformall.service.WxBillSettleService;
@@ -69,6 +70,7 @@ public class WxBillSettleServiceImpl implements WxBillSettleService {
return billSettle;
}

@Override
public void updateFreeze(List<WxBillSettleBill> billList,int status){
for (WxBillSettleBill bill:billList) {
if(EnumBillType.RENT.getCode().equals(bill.getBillType())) {
@@ -132,8 +134,8 @@ public class WxBillSettleServiceImpl implements WxBillSettleService {

//改为冻结状态
if (record.getFlowParams() != null && record.getFlowParams().size() > 0) {
updateFreeze(record.getReceiveBillIds(),EnumBillRentStatus.FREEZE.getCode());
updateFreeze(record.getPayBillIds(),EnumBillRentStatus.FREEZE.getCode());
updateFreeze(record.getReceiveBillIds(), EnumFreezeType.YES.getCode());
updateFreeze(record.getPayBillIds(),EnumFreezeType.YES.getCode());
}

//启动审批流


+ 6
- 2
mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java Wyświetl plik

@@ -88,6 +88,8 @@ public class WxFlowServiceImpl implements WxFlowService {
private WxRentContractMapper wxRentContractMapper;
@Autowired
private WxBillSettleMapper wxBillSettleMapper;
@Autowired
private WxBillSettleService wxBillSettleService;

/**
* 获取流程key
@@ -278,9 +280,11 @@ public class WxFlowServiceImpl implements WxFlowService {
wxBillSettle.setApplyStatus(applyStatus);
wxBillSettleMapper.update(wxBillSettle);

// 审批完成,账单解冻
//审批完成,账单解冻
if(EnumRentContractAppStatus.FINISH.getCode().intValue() == applyStatus.intValue()) {

WxBillSettle settle = wxBillSettleService.getById(businessId);
wxBillSettleService.updateFreeze(settle.getReceiveBillIds(), EnumFreezeType.DEF.getCode());
wxBillSettleService.updateFreeze(settle.getPayBillIds(),EnumFreezeType.DEF.getCode());
}
}
}


+ 109
- 116
mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java Wyświetl plik

@@ -97,26 +97,26 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
}

//init dateDiff
if (wxPropertyContract.getRentalStartDate() != null && wxPropertyContract.getRentalEndDate() != null) {
if(wxPropertyContract.getRentalStartDate() != null && wxPropertyContract.getRentalEndDate() != null){
//加1天
Date newEndDate = DateUtils.getDaySet(wxPropertyContract.getRentalEndDate(), Calendar.DATE, 1);
int[] array = DateUtils.getDiff(wxPropertyContract.getRentalStartDate(), newEndDate);
result.put("totalPeriodMonth", array[0]);
result.put("totalPeriodDay", array[1]);
Date newEndDate = DateUtils.getDaySet(wxPropertyContract.getRentalEndDate(),Calendar.DATE,1);
int[] array = DateUtils.getDiff(wxPropertyContract.getRentalStartDate(),newEndDate);
result.put("totalPeriodMonth",array[0]);
result.put("totalPeriodDay",array[1]);
}

//init 租赁单价
String rentInfo = wxPropertyContract.getRentInfo();
if (StringUtils.isNotBlank(rentInfo)) {
if(StringUtils.isNotBlank(rentInfo)){
JSONArray rentInfoArray = JSONArray.parseArray(rentInfo);
int size = rentInfoArray.size();
//查询rent_info 包括shopId
for (int i = 0; i < size; i++) {
JSONObject rentInfoObject = rentInfoArray.getJSONObject(i);
Double rentPrice = rentInfoObject.getDouble("rentPrice");
Long price = wxPropertyContract.getPrice() / 100;
if (rentPrice == null) {
if (StringUtils.isNotBlank(wxPropertyContract.getRentArea()) && !"0".equals(wxPropertyContract.getRentArea()) && !"0.00".equals(wxPropertyContract.getRentArea()) && !"0.0".equals(wxPropertyContract.getRentArea())) {
Long price = wxPropertyContract.getPrice()/100;
if(rentPrice == null){
if(StringUtils.isNotBlank(wxPropertyContract.getRentArea()) && !"0".equals(wxPropertyContract.getRentArea()) && !"0.00".equals(wxPropertyContract.getRentArea())&& !"0.0".equals(wxPropertyContract.getRentArea()) ) {
Double rentArea = Double.parseDouble(wxPropertyContract.getRentArea());
rentPrice = new BigDecimal((double) price / rentArea).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
rentInfoObject.put("rentPrice", rentPrice);
@@ -124,9 +124,9 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
}
}
wxPropertyContract.setRentInfo(rentInfoArray.toJSONString());
} else {
if (StringUtils.isNotBlank(wxPropertyContract.getRentArea()) && !"0".equals(wxPropertyContract.getRentArea()) && !"0.00".equals(wxPropertyContract.getRentArea()) && !"0.0".equals(wxPropertyContract.getRentArea())) {
if (StringUtils.isNotBlank(wxPropertyContract.getRentArea()) && !"0".equals(wxPropertyContract.getRentArea()) && !"0.00".equals(wxPropertyContract.getRentArea())) {
}else{
if(StringUtils.isNotBlank(wxPropertyContract.getRentArea()) && !"0".equals(wxPropertyContract.getRentArea()) && !"0.00".equals(wxPropertyContract.getRentArea())&& !"0.0".equals(wxPropertyContract.getRentArea()) ) {
if(StringUtils.isNotBlank(wxPropertyContract.getRentArea()) && !"0".equals(wxPropertyContract.getRentArea()) && !"0.00".equals(wxPropertyContract.getRentArea())) {
Long price = wxPropertyContract.getPrice();
Double rentArea = Double.parseDouble(wxPropertyContract.getRentArea()) * 100;
Double rentPrice = new BigDecimal((double) price / rentArea).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
@@ -139,10 +139,10 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
}
}
}
if (wxPropertyContract.getPriceUnit() == null) {
if(wxPropertyContract.getPriceUnit() == null){
wxPropertyContract.setPriceUnit(EnumPriceUnit.M.getCode());
}
if (wxPropertyContract.getAdjustPeriod().equals(EnumRentContractAdjustPeriod.ADJUST_PERIOD_DAY.getCode())) {
if(wxPropertyContract.getAdjustPeriod().equals(EnumRentContractAdjustPeriod.ADJUST_PERIOD_DAY.getCode())){
wxPropertyContract.setAdjustPeriod(EnumRentContractAdjustPeriod.ADJUST_PERIOD_MONTH.getCode());
wxPropertyContract.setPriceUnit(EnumPriceUnit.D.getCode());
}
@@ -171,13 +171,13 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
//租赁费用欠缴
WxRentContract wxRentContract = new WxRentContract();
wxRentContract.setId(wxPropertyContract.getRentContractId());
result.put("rentOweCount", wxRentContractMapper.queryOweCount(wxRentContract));
result.put("rentOweCount",wxRentContractMapper.queryOweCount(wxRentContract));
//物业费用欠缴
WxPropertyContract propertyContract = new WxPropertyContract();
propertyContract.setId(id);
result.put("propertyOweCount", wxPropertyContractMapper.queryOweCount(propertyContract));
result.put("propertyOweCount",wxPropertyContractMapper.queryOweCount(propertyContract));
//押金欠缴
result.put("depositOweCount", wxBillPropertyDepositMapper.queryOweCount(propertyContract));
result.put("depositOweCount",wxBillPropertyDepositMapper.queryOweCount(propertyContract));
//押金状态
WxBillPropertyDeposit wxBillPropertyDeposit = new WxBillPropertyDeposit();
wxBillPropertyDeposit.setPropertyContractId(id);
@@ -190,8 +190,8 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
wxFlowRecord.setBusinessId(id);
wxFlowRecord.setStatus(EnumFlowRecordStatus.NEW.getCode());
List<WxFlowRecord> flowRecordList = wxFlowRecordService.findList(wxFlowRecord);
if (!CollectionUtils.isEmpty(flowRecordList)) {
result.put("remark", flowRecordList.get(0).getRemark());
if(!CollectionUtils.isEmpty(flowRecordList)){
result.put("remark",flowRecordList.get(0).getRemark());
}

//查询预账单用于展示
@@ -212,14 +212,14 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
/**
* 重新生成账单(预账单调整)
*/
public void savePreviewBill(WxPropertyContract record) {
if (CollectionUtils.isEmpty(record.getPreviewBillRentList())) {
public void savePreviewBill(WxPropertyContract record){
if(CollectionUtils.isEmpty(record.getPreviewBillRentList())){
return;
}
wxBillPropertyMapper.deletePreviewBill(record);
final IdWorker idWorker = IdWorker.get();
int count = 1;
for (WxBillProperty bill : record.getPreviewBillRentList()) {
for (WxBillProperty bill:record.getPreviewBillRentList()) {
bill.setId(idWorker.nextId());
Date date = new Date();
bill.setPropertyContractId(record.getId());
@@ -238,7 +238,7 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
bill.setIsDel(EnumDelStatus.NOT_DEL.getCode());
bill.setShopId(record.getShopId());
bill.setExpiredDay(0L);
setExpiredDay(bill, Calendar.MONTH, record.getReceivePeriod());
setExpiredDay(bill,Calendar.MONTH,record.getReceivePeriod());
if (bill.getReceivePay().equals(0L)) {
bill.setStatus(EnumBillRentStatus.PAID.getCode());
bill.setPayDate(date);
@@ -253,7 +253,7 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
public ResultData saveOrUpdate(WxPropertyContract record, Long userId, String userName) {
// 保存调整金额(预账单调整)
boolean haspreview = false;
if (!CollectionUtils.isEmpty(record.getPreviewBillRentList())) {
if(!CollectionUtils.isEmpty(record.getPreviewBillRentList())){
savePreviewBill(record);
haspreview = true;
}
@@ -345,7 +345,7 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
//生成预览账单
wxBillPropertyMapper.deletePreviewBill(record);
//重新生成
List<WxBillProperty> billList = buildProperty(new WxMerchant(), userId, record, EnumIsPreview.YES.getCode(), true);
List<WxBillProperty> billList = buildProperty(new WxMerchant(),userId,record,EnumIsPreview.YES.getCode(),true);
record.setPreviewBillRentList(billList);

message = "保存物业合同信息成功";
@@ -358,13 +358,13 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
List<WxBillProperty> billList = wxBillPropertyMapper.findList(wxBillRent);
record.setPreviewBillRentList(billList);

if (!haspreview) {
if(!haspreview){
if (record.getReceivePeriod() != null && record.getLease() != null && record.getPrice() != null
&& !record.getReceivePeriod().equals(0) && !record.getLease().equals(0) && !record.getPrice().equals(0l)) {
//删除预账单,重新生成
wxBillPropertyMapper.deletePreviewBill(record);
//重新生成
billList = buildProperty(new WxMerchant(), userId, record, EnumIsPreview.YES.getCode(), true);
billList = buildProperty(new WxMerchant(),userId,record,EnumIsPreview.YES.getCode(),true);
record.setPreviewBillRentList(billList);
}
}
@@ -466,7 +466,7 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
billProperty.setIsPreview(EnumIsPreview.NO.getCode());
billProperty.setMerchantId(record.getMerchantId());
wxBillPropertyMapper.updatePreviewStatus(billProperty);
if (record.getDeposit() > 0) {
if(record.getDeposit() > 0) {
buildDeposit(record);
}
}
@@ -523,7 +523,7 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
}
}

public String getShopInfoStr(WxPropertyContract wxPropertyContract) {
public String getShopInfoStr(WxPropertyContract wxPropertyContract){
String rentInfo = wxPropertyContract.getRentInfo();
Map<String, Object> shopInfo = new HashMap<>();
if (rentInfo != null) {
@@ -536,7 +536,7 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
return JSONObject.toJSONString(shopInfo);
}

public List<WxBillProperty> buildRentMonth(WxMerchant wxMerchant, Long userId, WxPropertyContract wxPropertyContract, int receivePeriod, Integer lease, Date rentalStartDate, Long price, Integer isPreview, boolean saveDb) {
public List<WxBillProperty> buildRentMonth(WxMerchant wxMerchant, Long userId, WxPropertyContract wxPropertyContract, int receivePeriod, Integer lease, Date rentalStartDate, Long price, Integer isPreview,boolean saveDb) {
String adjustRatio = wxPropertyContract.getAdjustRatio();
String rentInfo = wxPropertyContract.getRentInfo();
Map<String, Object> shopInfo = new HashMap<>();
@@ -560,19 +560,14 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
priceD = priceD + priceD * integers.get(i) / 10000.0;
priceArr[i] = new BigDecimal(priceD).setScale(0, RoundingMode.HALF_EVEN).longValue();
}
} else if (wxPropertyContract.getAdjustRatioWay().equals(EnumRentContractAdjustRatioWay.MONEY.getCode())) {
} else {
long priceD = price;
for (int i = 1; i < size; i++) {
priceD = priceD + integers.get(i);
priceArr[i] = new BigDecimal(priceD).setScale(0, RoundingMode.HALF_EVEN).longValue();
}
} else {
for (int i = 1; i < size; i++) {
priceArr[i] = new BigDecimal(integers.get(i)).setScale(0, RoundingMode.HALF_EVEN).longValue();
}
}


int month = 12;
int divide = lease / month;
int mod = lease % month;
@@ -592,90 +587,89 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
Calendar instance = Calendar.getInstance();
Date startDate;
//自然月
if (wxPropertyContract.getAdjustPeriod().equals(EnumRentContractAdjustPeriod.ADJUST_PERIOD_NAR_MONTH.getCode())) {
if (i == 0) { //第一期
if(wxPropertyContract.getAdjustPeriod().equals(EnumRentContractAdjustPeriod.ADJUST_PERIOD_NAR_MONTH.getCode())){
if(i == 0){ //第一期
startDate = rentalStartDate;
} else {
}else{
instance.setTime(rentalStartDate);
instance.add(Calendar.MONTH, month * i);
startDate = DateUtils.getFirstDayForCurrMonth(instance.getTime());
}
} else {
}else{
instance.setTime(rentalStartDate);
instance.add(Calendar.MONTH, month * i);
startDate = instance.getTime();
}
yearList.add(startDate);
}

Map<String, Object> resultMap = buildRent(receivePeriod, priceArr, yearList, Calendar.MONTH, wxPropertyContract, userId, wxMerchant, billcount, isPreview, shopInfo, saveDb);
List<WxBillProperty> billRentList = (List<WxBillProperty>) resultMap.get("billList");
Map<String, Object> resultMap = buildRent(receivePeriod, priceArr, yearList, Calendar.MONTH, wxPropertyContract, userId, wxMerchant, billcount, isPreview, shopInfo,saveDb);
List<WxBillProperty> billRentList = (List<WxBillProperty>)resultMap.get("billList");
resultList.addAll(billRentList);
return resultList;
}

public Map<String, Object> buildRent(int receivePeriod, long[] priceArrs, List<Date> yearList, int dayType, WxPropertyContract wxPropertyContract, Long userId, WxMerchant wxMerchant, int billcount, Integer isPreview, Map<String, Object> shopInfo, boolean saveDb) {
public Map<String, Object> buildRent(int receivePeriod,long[] priceArrs, List<Date> yearList,int dayType, WxPropertyContract wxPropertyContract, Long userId, WxMerchant wxMerchant, int billcount, Integer isPreview,Map<String, Object> shopInfo,boolean saveDb) {
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
Map<String, Object> resultMap = new HashedMap();
Map<String,Object> resultMap = new HashedMap();
List<WxBillProperty> resultList = new ArrayList<>();
final IdWorker idWorker = IdWorker.get();

Date endDate = null;
if (yearList.size() > 1) {
if(yearList.size() > 1){
endDate = yearList.get(1);
}

List<BillTimeVo> billTimeVoList = new ArrayList<>();
if (saveDb) {
billTimeVoList = WxRentContractServiceImpl.initBillTimeList(wxPropertyContract.getRentalStartDate(), wxPropertyContract.getRentalEndDate(), wxPropertyContract.getAdjustPeriod(), dayType, receivePeriod);
} else {
if(saveDb){
billTimeVoList = WxRentContractServiceImpl.initBillTimeList(wxPropertyContract.getRentalStartDate(),wxPropertyContract.getRentalEndDate(),wxPropertyContract.getAdjustPeriod(),dayType,receivePeriod);
}else{
//预账单编辑账期,生成金额
for (WxBillProperty rent : wxPropertyContract.getPreviewBillRentList()) {
for (WxBillProperty rent:wxPropertyContract.getPreviewBillRentList()) {
BillTimeVo billTimeVo = new BillTimeVo();
billTimeVo.setStartDate(rent.getStarttime());
billTimeVo.setEndDate(rent.getEndtime());
billTimeVo.setReceiveDate(DateUtils.getDaySet(rent.getStarttime(), Calendar.DATE, -1));
billTimeVo.setReceiveDate(DateUtils.getDaySet(rent.getStarttime(),Calendar.DATE,-1));
billTimeVoList.add(billTimeVo);
}
}

int index = 0;
for (int i = 0; i < billTimeVoList.size(); i++) {
BillTimeVo billTimeVo = billTimeVoList.get(i);
BillTimeVo billTimeVo = billTimeVoList.get(i);
//计算金额
long needpay = 0;

boolean flag = false;
if (yearList.size() > 1) {
if (endDate != null && (sd.format(billTimeVo.getStartDate()).equals(sd.format(endDate)) || billTimeVo.getStartDate().after(endDate) || billTimeVo.getEndDate().after(endDate))) {
if (yearList.size() > 1) {
if (endDate != null && (sd.format(billTimeVo.getStartDate()).equals(sd.format(endDate)) || billTimeVo.getStartDate().after(endDate) || billTimeVo.getEndDate().after(endDate))) {
if(yearList.size() > 1) {
if (endDate!=null && (sd.format(billTimeVo.getStartDate()).equals(sd.format(endDate)) || billTimeVo.getStartDate().after(endDate) || billTimeVo.getEndDate().after(endDate) )) {
if(yearList.size() > 1) {
if (endDate!=null && (sd.format(billTimeVo.getStartDate()).equals(sd.format(endDate)) || billTimeVo.getStartDate().after(endDate) || billTimeVo.getEndDate().after(endDate) )) {
//logger.info("=====billTimeVo.getStartDate():"+sd.format(billTimeVo.getStartDate())+" endDate:"+sd.format(endDate));

index++;

//如果是计算账单金额&cross 拆分日期进行计算
if (!saveDb && billTimeVo.getEndDate().after(endDate)) {
if(!saveDb && billTimeVo.getEndDate().after(endDate)) {
long needpayFront = 0;
long needpayAfter = 0;
//同一天,算一天
if (sd.format(billTimeVo.getStartDate()).equals(sd.format(billTimeVo.getEndDate()))) {
needpayFront = getNeedPayMoney(wxPropertyContract, priceArrs[index - 1], billTimeVo.getStartDate(), endDate, i, billTimeVoList.size(), saveDb);
} else {
if (billTimeVo.getStartDate().before(endDate)) {
needpayFront = getNeedPayMoney(wxPropertyContract, priceArrs[index - 1], billTimeVo.getStartDate(), DateUtils.getDaySet(endDate, Calendar.DATE, -1), i, billTimeVoList.size(), saveDb);
needpayAfter = getNeedPayMoney(wxPropertyContract, priceArrs[index], endDate, billTimeVo.getEndDate(), i, billTimeVoList.size(), saveDb);
} else {
needpayFront = getNeedPayMoney(wxPropertyContract, priceArrs[index], billTimeVo.getStartDate(), billTimeVo.getEndDate(), i, billTimeVoList.size(), saveDb);
if(sd.format(billTimeVo.getStartDate()).equals(sd.format(billTimeVo.getEndDate()))){
needpayFront = getNeedPayMoney(wxPropertyContract,priceArrs[index-1],billTimeVo.getStartDate(),endDate,i,billTimeVoList.size(),saveDb,dayType,receivePeriod);
}else{
if(billTimeVo.getStartDate().before(endDate)){
needpayFront = getNeedPayMoney(wxPropertyContract, priceArrs[index - 1], billTimeVo.getStartDate(), DateUtils.getDaySet(endDate,Calendar.DATE,-1), i, billTimeVoList.size(), saveDb,dayType,receivePeriod);
needpayAfter = getNeedPayMoney(wxPropertyContract, priceArrs[index], endDate, billTimeVo.getEndDate(), i, billTimeVoList.size(), saveDb,dayType,receivePeriod);
}else{
needpayFront = getNeedPayMoney(wxPropertyContract, priceArrs[index], billTimeVo.getStartDate(), billTimeVo.getEndDate(), i, billTimeVoList.size(), saveDb,dayType,receivePeriod);
}
}
needpay = needpayFront + needpayAfter;
needpay = needpayFront+needpayAfter;
flag = true;
}
if (index >= yearList.size() - 1) {
if(index >= yearList.size()-1){
endDate = null;
} else {
endDate = yearList.get(index + 1);//price index 0开始,year.end 从第二年开始
}else{
endDate = yearList.get(index+1);//price index 0开始,year.end 从第二年开始
//logger.info("==========cross:"+sd.format(endDate));
}
}
@@ -684,8 +678,8 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
}

//计算金额
if (!flag) {
needpay = getNeedPayMoney(wxPropertyContract, priceArrs[index], billTimeVo.getStartDate(), billTimeVo.getEndDate(), i, billTimeVoList.size(), saveDb);
if(!flag){
needpay = getNeedPayMoney(wxPropertyContract, priceArrs[index], billTimeVo.getStartDate(), billTimeVo.getEndDate(), i, billTimeVoList.size(),saveDb,dayType,receivePeriod);
}

WxBillProperty wxBillProperty = new WxBillProperty();
@@ -703,7 +697,7 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService

//截止收租日在当前时间之前
Date date = new Date();
setExpiredDay(wxBillProperty, dayType, receivePeriod);
setExpiredDay(wxBillProperty,dayType,receivePeriod);
wxBillProperty.setTenantId(wxPropertyContract.getTenantId());
wxBillProperty.setIsDel(0);
wxBillProperty.setMerchantId(wxPropertyContract.getMerchantId());
@@ -721,31 +715,31 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
resultList.add(wxBillProperty);
}
//批量生成预账单
if (saveDb) {
if(saveDb) {
wxBillPropertyMapper.insertBills(resultList);
}
resultMap.put("billcount", billcount);
resultMap.put("billList", resultList);
resultMap.put("billcount",billcount);
resultMap.put("billList",resultList);
return resultMap;
}

public long getNeedPayMoney(WxPropertyContract wxRentContract, long price, Date startDate, Date endDate, int i, int billTimeVoListSize, boolean saveDb) {
public long getNeedPayMoney(WxPropertyContract wxRentContract,long price,Date startDate,Date endDate,int i,int billTimeVoListSize,boolean saveDb,int dayType,int receivePeriod){
long needpay;
//按日
if (wxRentContract.getPriceUnit().equals(EnumPriceUnit.D.getCode())) {
if (wxRentContract.getPriceUnit().equals(EnumPriceUnit.D.getCode())){
Double priceD = new Double(price);
double needpayD = WxRentContractServiceImpl.getNeedPay(0, priceD, startDate, endDate);
double needpayD = WxRentContractServiceImpl.getNeedPay(0,priceD,startDate,endDate);
needpay = new Double(needpayD).longValue();
} else {
}else{
//年 需要除12
Double priceD = new Double(price);
if (EnumPriceUnit.Y.getCode().equals(wxRentContract.getPriceUnit())) {
priceD = new Double(price) / 12;
if(EnumPriceUnit.Y.getCode().equals(wxRentContract.getPriceUnit())){
priceD = new Double(price)/12;
}

//生成金额直接计算
if (!saveDb) {
needpay = new Double(WxRentContractServiceImpl.getMonthNeedPay(priceD, startDate, endDate)).longValue();
if(!saveDb){
needpay = new Double(WxRentContractServiceImpl.getMonthNeedPay(priceD, startDate, endDate,dayType,receivePeriod)).longValue();
return needpay;
}

@@ -754,37 +748,37 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdMR = new SimpleDateFormat("MM-dd");

if (i == billTimeVoListSize - 1) {//最后
if (sdMR.format(startDate).equals(sdMR.format(wxRentContract.getStartDate())) && sdMR.format(endDate).equals(sdMR.format(wxRentContract.getEndDate()))) {
int months = WxRentContractServiceImpl.getMonths(sdM.format(startDate) + "-01", sdM.format(endDate) + "-01");
if(i == billTimeVoListSize - 1){//最后
if(sdMR.format(startDate).equals(sdMR.format(wxRentContract.getStartDate())) && sdMR.format(endDate).equals(sdMR.format(wxRentContract.getEndDate())) ){
int months = WxRentContractServiceImpl.getMonths(sdM.format(startDate)+"-01",sdM.format(endDate)+"-01");
months++;
needpay = new Double(months * priceD).longValue();
} else {
needpay = new Double(WxRentContractServiceImpl.getMonthNeedPay(priceD, startDate, endDate)).longValue();
}else {
needpay = new Double(WxRentContractServiceImpl.getMonthNeedPay(priceD, startDate, endDate,dayType,receivePeriod)).longValue();
}
} else if (i == 0) {//第一期
if (wxRentContract.getAdjustPeriod().equals(EnumRentContractAdjustPeriod.ADJUST_PERIOD_NAR_MONTH.getCode())) {
if (isFirstDay(startDate)) {
int months = WxRentContractServiceImpl.getMonths(sdM.format(startDate) + "-01", sdM.format(endDate) + "-01");
}else if(i == 0){//第一期
if(wxRentContract.getAdjustPeriod().equals(EnumRentContractAdjustPeriod.ADJUST_PERIOD_NAR_MONTH.getCode())){
if(isFirstDay(startDate)){
int months = WxRentContractServiceImpl.getMonths(sdM.format(startDate)+"-01",sdM.format(endDate)+"-01");
months++;
needpay = new Double(months * priceD).longValue();
} else {
needpay = new Double(WxRentContractServiceImpl.getMonthNeedPay(priceD, startDate, endDate)).longValue();
}else{
needpay = new Double(WxRentContractServiceImpl.getMonthNeedPay(priceD, startDate, endDate,dayType,receivePeriod)).longValue();
}
} else {
if (isFirstDay(startDate)) {
int months = WxRentContractServiceImpl.getMonths(sdM.format(startDate) + "-01", sdM.format(endDate) + "-01");
if (isFirstDay(startDate)) {
}else{
if(isFirstDay(startDate)){
int months = WxRentContractServiceImpl.getMonths(sdM.format(startDate)+"-01",sdM.format(endDate)+"-01");
if(isFirstDay(startDate)){
months++;
}
needpay = new Double(months * priceD).longValue();
} else {
needpay = new Double(WxRentContractServiceImpl.getMonthNeedPay(priceD, startDate, endDate)).longValue();
}else{
needpay = new Double(WxRentContractServiceImpl.getMonthNeedPay(priceD, startDate, endDate,dayType,receivePeriod)).longValue();
}
}
} else {//中间
int months = WxRentContractServiceImpl.getMonths(sdM.format(startDate) + "-01", sdM.format(endDate) + "-01");
if (isFirstDay(startDate)) {
}else{//中间
int months = WxRentContractServiceImpl.getMonths(sdM.format(startDate)+"-01",sdM.format(endDate)+"-01");
if(isFirstDay(startDate)){
months++;
}
needpay = new Double(months * priceD).longValue();
@@ -793,7 +787,7 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
return needpay;
}

public void setExpiredDay(WxBillProperty wxBillProperty, int dayType, int receivePeriod) {
public void setExpiredDay(WxBillProperty wxBillProperty,int dayType, int receivePeriod){
Date date = new Date();
wxBillProperty.setExpiredDay(0L);
if (wxBillProperty.getReceiveDate().before(date)) {
@@ -815,9 +809,9 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
}
}

public boolean isFirstDay(Date date) {
public boolean isFirstDay(Date date){
int dateInt = Integer.parseInt(new SimpleDateFormat("d").format(date));
if (dateInt == 1) {
if(dateInt == 1){
return true;
}
return false;
@@ -825,18 +819,17 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService

/**
* 根据商户/指定物业合同生成物业账单
*
* @param wxMerchant
* @param propertyContract
* @return
*/
@Override
@Transactional(rollbackFor = {Exception.class})
public List<WxBillProperty> buildProperty(WxMerchant wxMerchant, Long userId, WxPropertyContract propertyContract, Integer isPreview, boolean saveDb) {
public List<WxBillProperty> buildProperty(WxMerchant wxMerchant,Long userId,WxPropertyContract propertyContract,Integer isPreview,boolean saveDb) {
List<WxBillProperty> result = new ArrayList<>();

WxPropertyContract wxPropertyContract;
if (propertyContract == null) {
if(propertyContract == null){
//根据商户ID找出合同
wxPropertyContract = new WxPropertyContract();
wxPropertyContract.setMerchantId(wxMerchant.getId());
@@ -844,7 +837,7 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
if (list.size() > 0) {
wxPropertyContract = list.get(0);
}
} else {
}else{
wxPropertyContract = propertyContract;
}

@@ -859,10 +852,10 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
Long price = propertyContract.getPrice();

//按月计租
result = buildRentMonth(wxMerchant, userId, propertyContract, receivePeriod, lease, rentalStartDate, price, isPreview, saveDb);
result = buildRentMonth(wxMerchant, userId, propertyContract, receivePeriod, lease, rentalStartDate, price,isPreview,saveDb);
}
for (int i = 0; i < result.size(); i++) {
result.get(i).setPeriod(i + 1);
result.get(i).setPeriod(i+1);
}
return result;
}
@@ -890,7 +883,7 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
try {
String exportFileName = wxPropertyContract.getFilename();
downLoadFromUrl(wxPropertyContract.getFilepath(), filename, filepath);
downFile(destPath, wxPropertyContract.getFilename(), exportFileName, response, request);
downFile(destPath, wxPropertyContract.getFilename(), exportFileName,response, request);
org.apache.commons.io.FileUtils.forceDelete(dest);
} catch (IOException e) {
logger.info("创建本地文件失败" + e.getMessage());
@@ -914,9 +907,9 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
HashMap<String, Object> shopMap = new HashMap<>(3);
int rentedCount = rentedList.size();
int unrentedCount = unrentedList.size();
shopMap.put("rentedCount", rentedCount);
shopMap.put("unrentedCount", unrentedCount);
shopMap.put("allCount", rentedCount + unrentedCount);
shopMap.put("rentedCount",rentedCount);
shopMap.put("unrentedCount",unrentedCount);
shopMap.put("allCount",rentedCount+unrentedCount);
resultData.put("shopCountInfo", shopMap);

//需要更新的状态


+ 257
- 285
mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java
Plik diff jest za duży
Wyświetl plik


+ 14
- 0
mallinkService/src/main/resources/mapper/WxBillAllMapper.xml Wyświetl plik

@@ -643,6 +643,8 @@
</select>

<select id="getReceiveAndPayBillAsPage" parameterType="com.iformall.domain.vo.WxBillAll" resultType="hashmap">


select m.id,m.name,ws.shop_number shopNumber,ws.type,m.link_person linkPerson,m.link_phone linkPhone,
xb.title business,rc.rental_start_date rentalStartDate,rc.rental_end_date rentalEndDate,

@@ -686,6 +688,12 @@
select pay_amount money,mm.id from wx_profit_sharing_order pso
left join wx_merchant mm on pso.merchant_id=mm.id
where pso.sharing_status !=5
union all
select merchant_id id,receive_pay money from wx_bill_rent_deposit where status = 3
union all
select merchant_id id,receive_pay money from wx_bill_property_deposit where status = 3
union all
select merchant_id id,receive_pay money from wx_bill_other_deposit where status = 3
)ss where ss.id = m.id
)/100,2) payOut,

@@ -729,6 +737,12 @@
select pay_amount money,mm.id from wx_profit_sharing_order pso
left join wx_merchant mm on pso.merchant_id=mm.id
where pso.sharing_status !=5
union all
select merchant_id id,receive_pay money from wx_bill_rent_deposit where status = 3
union all
select merchant_id id,receive_pay money from wx_bill_property_deposit where status = 3
union all
select merchant_id id,receive_pay money from wx_bill_other_deposit where status = 3
)ss where ss.id = m.id
)/100,2)) balance



+ 2
- 1
mallinkService/src/main/resources/mapper/WxBillDailyMapper.xml Wyświetl plik

@@ -26,13 +26,14 @@
<result column="starttime" property="starttime"/>
<result column="endtime" property="endtime"/>
<result column="freeze" property="freeze"/>
</resultMap>
<sql id="allColumns">
`id`,`receive_pay`,`pay`,`receive_date`,`pay_date`,`createtime`,`expired_day`,
`tenant_id`,`owe`,`status`,`is_del`,`merchant_id`,`user_id`,`shop_id`,`updatetime`,`type`,
`rent_shop_type`,`pay_way`,`price_detail`,`starttime`,`endtime`
`rent_shop_type`,`pay_way`,`price_detail`,`starttime`,`endtime`,freeze
</sql>

<sql id="dynamicWhereConditions">


+ 3
- 2
mallinkService/src/main/resources/mapper/WxBillOtherDepositMapper.xml Wyświetl plik

@@ -27,13 +27,14 @@
<result column="starttime" property="starttime"/>
<result column="endtime" property="endtime"/>
<result column="freeze" property="freeze"/>

</resultMap>
<sql id="allColumns">
`id`,`receive_pay`,`pay`,`receive_date`,`pay_date`,`createtime`,`expired_day`,
`tenant_id`,`owe`,`status`,`is_del`,`merchant_id`,`user_id`,`shop_id`,`updatetime`,`name`,`comments`,
`rent_shop_type`,`return_price`,`pay_way`,`starttime`,`endtime`
`rent_shop_type`,`return_price`,`pay_way`,`starttime`,`endtime`,freeze
</sql>
<sql id="dynamicWhereConditions">


+ 2
- 2
mallinkService/src/main/resources/mapper/WxBillOtherMapper.xml Wyświetl plik

@@ -26,14 +26,14 @@
<result column="starttime" property="starttime"/>
<result column="endtime" property="endtime"/>
<result column="freeze" property="freeze"/>
</resultMap>

<sql id="allColumns">
`id`,`receive_pay`,`pay`,`receive_date`,`pay_date`,`createtime`,`expired_day`,
`tenant_id`,`owe`,`status`,`is_del`,`merchant_id`,`user_id`,`shop_id`,`updatetime`,`name`,`comments`,
`rent_shop_type`,`pay_way`,`starttime`,`endtime`
`rent_shop_type`,`pay_way`,`starttime`,`endtime`,endtime
</sql>

<sql id="dynamicWhereConditions">


+ 2
- 2
mallinkService/src/main/resources/mapper/WxBillPropertyDepositMapper.xml Wyświetl plik

@@ -23,13 +23,13 @@
<result column="return_price" jdbcType="BIGINT" property="returnPrice"/>
<result column="shop_info" jdbcType="VARCHAR" property="shopInfo"/>
<result column="pay_way" jdbcType="INTEGER" property="payWay"/>
<result column="freeze" property="freeze"/>
</resultMap>
<sql id="allColumns">
`id`,`property_contract_id`,`receive_pay`,`pay`,`receive_date`,
`pay_date`,`createtime`,`expired_day`,`tenant_id`,`owe`,`status`,`is_del`,`need_pay`,
`merchant_id`,`user_id`,`shop_id`,`updatetime`,`rent_shop_type`,`return_price`,`shop_info`,`pay_way`
`merchant_id`,`user_id`,`shop_id`,`updatetime`,`rent_shop_type`,`return_price`,`shop_info`,`pay_way`,freeze
</sql>

<sql id="dynamicWhereConditions">


+ 2
- 1
mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml Wyświetl plik

@@ -40,6 +40,7 @@

<result column="late_pay_day" property="latePayDay"/>
<result column="late_pay_ratio" property="latePayRatio"/>
<result column="freeze" property="freeze"/>
</resultMap>

<sql id="allColumns">
@@ -47,7 +48,7 @@
`createtime`,`expired_day`,`tenant_id`,`owe`,`status`,`is_del`,`need_pay`,
`merchant_id`,`user_id`,`shop_id`,`updatetime`,`rent_shop_type`,
`revenue`,`late_pay_ratio`,`late_pay_time`,`late_pay_price`,`period`,`is_preview`,`shop_info`,
`pay_way`,`late_pay_status`,`comments`,starttime,endtime
`pay_way`,`late_pay_status`,`comments`,starttime,endtime,freeze
</sql>

<sql id="dynamicWhereConditions">


+ 7
- 2
mallinkService/src/main/resources/mapper/WxBillRentMapper.xml Wyświetl plik

@@ -43,6 +43,11 @@

<result column="late_pay_day" property="latePayDay"/>
<result column="late_pay_ratio" property="latePayRatio"/>
<result column="freeze" property="freeze"/>
<result column="bus_discount_ratio" property="busDiscountRatio"/>
<result column="join_rent_price" property="joinRentPrice"/>


</resultMap>

<sql id="allColumns">
@@ -50,7 +55,7 @@
`createtime`,`expired_day`,`tenant_id`,`owe`,`status`,`is_del`,`need_pay`,
`merchant_id`,`user_id`,`shop_id`,`updatetime`,`rent_shop_type`,
`revenue`,`late_pay_ratio`,`late_pay_time`,`late_pay_price`,`period`,`is_preview`,`shop_info`,
`pay_way`,`late_pay_status`,`comments`,starttime,endtime,bus_discount_ratio
`pay_way`,`late_pay_status`,`comments`,starttime,endtime,bus_discount_ratio,freeze,join_rent_price
</sql>

<sql id="dynamicWhereConditions">
@@ -100,7 +105,7 @@
r.pay_ratio,br.`revenue`,r.`late_pay_ratio`,br.`late_pay_time`,br.`period`,br.`rent_contract_id`,
d.receive_pay deposit,d.`status`
deposit_status,br.late_pay_price,br.shop_info,br.pay_way,br.late_pay_status,br.`comments`,br.starttime,br.endtime,
r.late_pay_day,r.late_pay_ratio
r.late_pay_day,r.late_pay_ratio,br.bus_discount_ratio
from wx_bill_rent br
left join wx_shop s on br.shop_id=s.id
left join wx_rent_contract r on br.rent_contract_id=r.id


Ładowanie…
Anuluj
Zapisz