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.TenantEntity;
import com.iformall.domain.po.base.WxBillBaseEntity; import com.iformall.domain.po.base.WxBillBaseEntity;
import com.iformall.domain.vo.WxBillFeesStandardsListVo; import com.iformall.domain.vo.WxBillFeesStandardsListVo;
import com.iformall.domain.vo.WxBillFeesStandardsVo;
import com.iformall.enums.EnumBillAllType; import com.iformall.enums.EnumBillAllType;


import lombok.Data; 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.baomidou.mybatisplus.annotation.TableName;
import com.iformall.common.SortColumn; import com.iformall.common.SortColumn;
import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.WxBillFeesStandardsVo;
import com.iformall.enums.EnumPriceUnit; import com.iformall.enums.EnumPriceUnit;
import com.iformall.enums.EnumPropertyCreateType; import com.iformall.enums.EnumPropertyCreateType;
import com.iformall.enums.EnumRentContractAdjustPeriod; 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.WxFeesStandards;
import com.iformall.domain.po.WxRentContract; import com.iformall.domain.po.WxRentContract;
import com.iformall.domain.vo.WxBillFeesStandardsListVo; import com.iformall.domain.vo.WxBillFeesStandardsListVo;
import com.iformall.domain.vo.WxBillFeesStandardsVo;
import com.iformall.enums.*; import com.iformall.enums.*;
import com.iformall.service.impl.WxRentContractServiceImpl; import com.iformall.service.impl.WxRentContractServiceImpl;
import com.iformall.utils.Constant; 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 ) { if (null == feesStandarsList || feesStandarsList.size() <= 0 ) {
return null; 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 ++) { for (int i = 0 ; i < feesStandarsList.size() ; i ++) {
WxBillFeesStandardsListVo vo = new WxBillFeesStandardsListVo(); WxBillFeesStandardsListVo vo = new WxBillFeesStandardsListVo();
WxFeesStandards fees = feesStandarsList.get(i); WxFeesStandards fees = feesStandarsList.get(i);
vo.setBillName(fees.getName()); 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 { }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){ 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.po.base.TenantEntity;
import com.iformall.domain.vo.BillTimeVo; import com.iformall.domain.vo.BillTimeVo;
import com.iformall.domain.vo.WxBillFeesStandardsListVo; import com.iformall.domain.vo.WxBillFeesStandardsListVo;
import com.iformall.domain.vo.WxBillFeesStandardsVo;
import com.iformall.enums.*; import com.iformall.enums.*;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
import com.iformall.mapper.*; import com.iformall.mapper.*;
@@ -645,7 +644,8 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantInfo(wxPropertyContract); WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantInfo(wxPropertyContract);
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
Map<String,Object> resultMap = new HashedMap(); Map<String,Object> resultMap = new HashedMap();
List<WxBillProperty> resultList = new ArrayList<>();
List<WxBillProperty> propertyResultList = new ArrayList<>();
List<WxBillProperty> allResultList = new ArrayList<>();


Date endDate = null; Date endDate = null;
if(yearList.size() > 1){ if(yearList.size() > 1){
@@ -673,13 +673,8 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
billStartDate = billTimeVoList.get(0).getStartDate(); billStartDate = billTimeVoList.get(0).getStartDate();
billEndDate = billTimeVoList.get(billTimeVoList.size()-1).getEndDate(); 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; int index = 0;
@@ -688,6 +683,10 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
//计算金额 //计算金额
String needpay = "0"; String needpay = "0";
String standarsTotal = "0"; String standarsTotal = "0";
//非一次性费用的,跟随物业账单的周期
List<WxBillFeesStandardsListVo> unFixedList = WxRentContractHelper.getStandardsBillList(wxPropertyContract.getFeesStardarsList(),billStartDate,billEndDate,true);


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


++billcount; ++billcount;
//物业主账单
WxBillProperty wxBillProperty = generateBillProperty(wxPayAccountBill,wxPropertyContract,isPreview,billTimeVo.getStartDate(),billTimeVo.getEndDate(),billTimeVo.getReceiveDate(),needpay,userId,billcount,shopInfo,standarsTotal,""); WxBillProperty wxBillProperty = generateBillProperty(wxPayAccountBill,wxPropertyContract,isPreview,billTimeVo.getStartDate(),billTimeVo.getEndDate(),billTimeVo.getReceiveDate(),needpay,userId,billcount,shopInfo,standarsTotal,"");
//非一次性账单
wxBillProperty.setUnFixedbillFeesStandardsList(unFixedList); 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) { if (null != fixedList) {
for (int i = 0 ; i < fixedList.size(); i ++ ) { for (int i = 0 ; i < fixedList.size(); i ++ ) {
WxBillFeesStandardsListVo svo = fixedList.get(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); 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++) { //for (int i = 0 ; i < resultList.size() ; i++) {
// wxBillPropertyMapper.insert(resultList.get(i)); // wxBillPropertyMapper.insert(resultList.get(i));
//} //}
} }
resultMap.put("billcount",billcount); resultMap.put("billcount",billcount);
resultMap.put("billList",resultList);
resultMap.put("billList",propertyResultList);
return resultMap; return resultMap;
} }


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