winter 1 год назад
Родитель
Сommit
96d14e27fc
5 измененных файлов: 42 добавлений и 56 удалений
  1. +0
    -1
      mallinkService/src/main/java/com/iformall/domain/po/WxBillProperty.java
  2. +0
    -1
      mallinkService/src/main/java/com/iformall/domain/po/WxPropertyContract.java
  3. +0
    -13
      mallinkService/src/main/java/com/iformall/domain/vo/WxBillFeesStandardsVo.java
  4. +16
    -16
      mallinkService/src/main/java/com/iformall/service/helper/WxRentContractHelper.java
  5. +26
    -25
      mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java

+ 0
- 1
mallinkService/src/main/java/com/iformall/domain/po/WxBillProperty.java Просмотреть файл

@@ -7,7 +7,6 @@ import com.iformall.common.SortColumn;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.po.base.WxBillBaseEntity;
import com.iformall.domain.vo.WxBillFeesStandardsListVo;
import com.iformall.domain.vo.WxBillFeesStandardsVo;
import com.iformall.enums.EnumBillAllType;

import lombok.Data;


+ 0
- 1
mallinkService/src/main/java/com/iformall/domain/po/WxPropertyContract.java Просмотреть файл

@@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.iformall.common.SortColumn;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.WxBillFeesStandardsVo;
import com.iformall.enums.EnumPriceUnit;
import com.iformall.enums.EnumPropertyCreateType;
import com.iformall.enums.EnumRentContractAdjustPeriod;


+ 0
- 13
mallinkService/src/main/java/com/iformall/domain/vo/WxBillFeesStandardsVo.java Просмотреть файл

@@ -1,13 +0,0 @@
package com.iformall.domain.vo;

import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class WxBillFeesStandardsVo implements Serializable {

private static final long serialVersionUID = 1L;
private List<WxBillFeesStandardsListVo> fixedFeeStandards;
private List<WxBillFeesStandardsListVo> unFixedFeeStandards;
}

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

@@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSONObject;
import com.iformall.domain.po.WxFeesStandards;
import com.iformall.domain.po.WxRentContract;
import com.iformall.domain.vo.WxBillFeesStandardsListVo;
import com.iformall.domain.vo.WxBillFeesStandardsVo;
import com.iformall.enums.*;
import com.iformall.service.impl.WxRentContractServiceImpl;
import com.iformall.utils.Constant;
@@ -478,31 +477,32 @@ public class WxRentContractHelper {
}
//其他标准计费项
public static WxBillFeesStandardsVo getStandardsBillList(List<WxFeesStandards> feesStandarsList,Date billStartDate,Date billEndDate) {
public static List<WxBillFeesStandardsListVo> getStandardsBillList(List<WxFeesStandards> feesStandarsList,Date billStartDate,Date billEndDate,boolean isFixed) {
if (null == feesStandarsList || feesStandarsList.size() <= 0 ) {
return null;
}
WxBillFeesStandardsVo wvo = new WxBillFeesStandardsVo();
List<WxBillFeesStandardsListVo> fixedList = new ArrayList<WxBillFeesStandardsListVo>();
List<WxBillFeesStandardsListVo> unFixedList = new ArrayList<WxBillFeesStandardsListVo>();
List<WxBillFeesStandardsListVo> retList = new ArrayList<WxBillFeesStandardsListVo>();
for (int i = 0 ; i < feesStandarsList.size() ; i ++) {
WxBillFeesStandardsListVo vo = new WxBillFeesStandardsListVo();
WxFeesStandards fees = feesStandarsList.get(i);
vo.setBillName(fees.getName());
if (fees.getFixedPrice().intValue() == EnumYesOrNo.YES.getCode().intValue() && null != billStartDate && null != billEndDate) {
vo.setStart(billStartDate);
vo.setEnd(billEndDate);
vo.setReceiveDate(DateUtils.getDaySet(billStartDate,Calendar.DATE,-1));
fixedList.add(vo);
//如果是一次性的,账单只有一个
if (isFixed) {
if (fees.getFixedPrice().intValue() == EnumYesOrNo.YES.getCode().intValue() && null != billStartDate && null != billEndDate) {
vo.setStart(billStartDate);
vo.setEnd(billEndDate);
vo.setReceiveDate(DateUtils.getDaySet(billStartDate,Calendar.DATE,-1));
}
vo.setFeeStandards(fees);
retList.add(vo);
}else {
unFixedList.add(vo);
if (fees.getFixedPrice().intValue() == EnumYesOrNo.NO.getCode().intValue()) {
vo.setFeeStandards(fees);
retList.add(vo);
}
}
vo.setFeeStandards(fees);
}
wvo.setFixedFeeStandards(fixedList);
wvo.setUnFixedFeeStandards(unFixedList);
return wvo;
return retList;
}
private static boolean isFirstDay(Date date){


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

@@ -14,7 +14,6 @@ import com.iformall.domain.po.base.BaseEntity;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.BillTimeVo;
import com.iformall.domain.vo.WxBillFeesStandardsListVo;
import com.iformall.domain.vo.WxBillFeesStandardsVo;
import com.iformall.enums.*;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.*;
@@ -645,7 +644,8 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantInfo(wxPropertyContract);
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
Map<String,Object> resultMap = new HashedMap();
List<WxBillProperty> resultList = new ArrayList<>();
List<WxBillProperty> propertyResultList = new ArrayList<>();
List<WxBillProperty> allResultList = new ArrayList<>();

Date endDate = null;
if(yearList.size() > 1){
@@ -673,13 +673,8 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
billStartDate = billTimeVoList.get(0).getStartDate();
billEndDate = billTimeVoList.get(billTimeVoList.size()-1).getEndDate();
}
WxBillFeesStandardsVo standardsVo = WxRentContractHelper.getStandardsBillList(wxPropertyContract.getFeesStardarsList(),billStartDate,billEndDate);
List<WxBillFeesStandardsListVo> fixedList = null;
List<WxBillFeesStandardsListVo> unFixedList = null;
if (null != standardsVo) {
fixedList = standardsVo.getFixedFeeStandards();
unFixedList = standardsVo.getUnFixedFeeStandards();
}
//一次性费用的,只有一个账单。
List<WxBillFeesStandardsListVo> fixedList = WxRentContractHelper.getStandardsBillList(wxPropertyContract.getFeesStardarsList(),billStartDate,billEndDate,true);

int index = 0;
@@ -688,6 +683,10 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
//计算金额
String needpay = "0";
String standarsTotal = "0";
//非一次性费用的,跟随物业账单的周期
List<WxBillFeesStandardsListVo> unFixedList = WxRentContractHelper.getStandardsBillList(wxPropertyContract.getFeesStardarsList(),billStartDate,billEndDate,true);

boolean flag = false;
//超过1年
@@ -734,39 +733,41 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
}

++billcount;
//物业主账单
WxBillProperty wxBillProperty = generateBillProperty(wxPayAccountBill,wxPropertyContract,isPreview,billTimeVo.getStartDate(),billTimeVo.getEndDate(),billTimeVo.getReceiveDate(),needpay,userId,billcount,shopInfo,standarsTotal,"");
//非一次性账单
wxBillProperty.setUnFixedbillFeesStandardsList(unFixedList);
resultList.add(wxBillProperty);
//每个非从一次性都要创建账单
if (null != unFixedList) {
for (int j = 0 ; j < unFixedList.size(); j ++ ) {
WxBillFeesStandardsListVo svo = unFixedList.get(j);
WxBillProperty property = generateBillPropertyByBillStandards(wxPayAccountBill,wxPropertyContract,isPreview,userId,svo,billcount,shopInfo);
allResultList.add(property);
}
}
//主账单列表
propertyResultList.add(wxBillProperty);
//所有账单列表
allResultList.add(wxBillProperty);
}
if (null != fixedList) {
for (int i = 0 ; i < fixedList.size(); i ++ ) {
WxBillFeesStandardsListVo svo = fixedList.get(i);
++billcount;
WxBillProperty property = generateBillPropertyByBillStandards(wxPayAccountBill,wxPropertyContract,isPreview,userId,svo,billcount,shopInfo);
resultList.add(property);
}
}
if (null != unFixedList) {
for (int i = 0 ; i < unFixedList.size(); i ++ ) {
WxBillFeesStandardsListVo svo = unFixedList.get(i);
++billcount;
WxBillProperty property = generateBillPropertyByBillStandards(wxPayAccountBill,wxPropertyContract,isPreview,userId,svo,billcount,shopInfo);
resultList.add(property);
allResultList.add(property);
}
}
//批量生成预账单
if(saveDb && resultList.size() > 0 ) {
wxBillPropertyMapper.insertBills(resultList);
if(saveDb && allResultList.size() > 0 ) {
wxBillPropertyMapper.insertBills(allResultList);
//for (int i = 0 ; i < resultList.size() ; i++) {
// wxBillPropertyMapper.insert(resultList.get(i));
//}
}
resultMap.put("billcount",billcount);
resultMap.put("billList",resultList);
resultMap.put("billList",propertyResultList);
return resultMap;
}


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