|
|
|
@@ -10,12 +10,14 @@ import com.iformall.common.ResultData; |
|
|
|
import com.iformall.domain.po.*; |
|
|
|
import com.iformall.domain.po.base.BaseEntity; |
|
|
|
import com.iformall.domain.po.base.BaseEntity.SortField; |
|
|
|
import com.iformall.domain.vo.BillTimeVo; |
|
|
|
import com.iformall.domain.vo.WxRentContractYearsVo; |
|
|
|
import com.iformall.enums.*; |
|
|
|
import com.iformall.exception.MallinkException; |
|
|
|
import com.iformall.mapper.WxRentContractMapper; |
|
|
|
import com.iformall.service.*; |
|
|
|
import com.iformall.service.helper.WxBillAllHelper; |
|
|
|
import com.iformall.service.helper.WxRentContractAgileHelper; |
|
|
|
import com.iformall.utils.Constant; |
|
|
|
import com.iformall.utils.DateUtils; |
|
|
|
import io.swagger.annotations.ApiImplicitParam; |
|
|
|
@@ -297,40 +299,54 @@ public class WxRentContractController extends WxContractBaseController { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//查询所有时间区间,只查询租金的 |
|
|
|
WxAllBill bq = wxBillAllHelper.generateRentContractQueryBill(sales,sales.getRentContractId(),null,null); |
|
|
|
bq.setNoExtraCreateFrom(EnumYesOrNo.YES.getCode()); |
|
|
|
List<WxAllBill> billList = wxAllBillService.getContractSamePeriodBillSumList(bq); |
|
|
|
if (null == billList || billList.size() <= 0 ) { |
|
|
|
//查询所有时间区间 |
|
|
|
WxRentContractAgileRenevue renevue = wxAgileContractService.findRenevueByContract(sales.getRentContractId(), sales); |
|
|
|
if (null == renevue) { |
|
|
|
return new ResultData(); |
|
|
|
} |
|
|
|
List<WxRentContractAgileRenevueItem> renevueItems = wxAgileContractService.findRenevueItemListByContract(sales.getRentContractId(), sales); |
|
|
|
if (null == renevueItems || renevueItems.size() <= 0 ) { |
|
|
|
return new ResultData(); |
|
|
|
} |
|
|
|
List<WxAllBill> validBillList = new ArrayList<WxAllBill>(); |
|
|
|
for (int i = 0 ; i < billList.size() ; i ++) { |
|
|
|
WxAllBill bill = billList.get(i); |
|
|
|
WxAllBill nbill = new WxAllBill(); |
|
|
|
nbill.setStarttime(bill.getStarttime()); |
|
|
|
nbill.setEndtime(bill.getEndtime());; |
|
|
|
WxRentContractRevenueSales s = billSalesMap.get(bill.getStarttime()+"_"+bill.getEndtime()); |
|
|
|
if (null != s) { |
|
|
|
bill.setSales(s.getSaleMoney()); |
|
|
|
bill.setSalesTime(s.getUpdateTime()); |
|
|
|
//已锁定的不能再设置 |
|
|
|
if (s.getIsConfirm() == EnumYesOrNo.YES.getCode()) { |
|
|
|
// |
|
|
|
//TODO 年度已经汇算的不能再设置 |
|
|
|
//}else if() { |
|
|
|
|
|
|
|
}else { |
|
|
|
validBillList.add(nbill); |
|
|
|
} |
|
|
|
}else { |
|
|
|
validBillList.add(nbill); |
|
|
|
} |
|
|
|
EnumFeesShopTimeType creatRule = EnumFeesShopTimeType.getEnum(renevue.getFeesCreateRule()); |
|
|
|
EnumRentContractAgilTimeUnit timeUnit = EnumRentContractAgilTimeUnit.getEnum(renevue.getTimeUnit()); |
|
|
|
for (int i = 0 ; i < renevueItems.size(); i++) { |
|
|
|
WxRentContractAgileRenevueItem item = renevueItems.get(i); |
|
|
|
List<BillTimeVo> timeVoList = WxRentContractAgileHelper.initBillTimeList(null, item.getBeginTime(), item.getEndTime(), creatRule, timeUnit, renevue.getTimePeriod(), renevue.getCalcuteTime()); |
|
|
|
if (null != timeVoList && timeVoList.size() > 0 ) { |
|
|
|
for (int j = 0 ; j < timeVoList.size(); j++) { |
|
|
|
BillTimeVo tv = timeVoList.get(j); |
|
|
|
WxAllBill nbill = new WxAllBill(); |
|
|
|
nbill.setStarttime(tv.getStartDate()); |
|
|
|
nbill.setEndtime(tv.getEndDate()); |
|
|
|
WxRentContractRevenueSales s = billSalesMap.get(tv.getStartDate()+"_"+tv.getEndDate()); |
|
|
|
if (null != s) { |
|
|
|
nbill.setSales(s.getSaleMoney()); |
|
|
|
nbill.setSalesTime(s.getUpdateTime()); |
|
|
|
//已锁定的不能再设置 |
|
|
|
if (s.getIsConfirm() == EnumYesOrNo.YES.getCode()) { |
|
|
|
// |
|
|
|
//TODO 年度已经汇算的不能再设置 |
|
|
|
//}else if() { |
|
|
|
|
|
|
|
}else { |
|
|
|
validBillList.add(nbill); |
|
|
|
} |
|
|
|
}else { |
|
|
|
validBillList.add(nbill); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return new ResultData(validBillList); |
|
|
|
} |
|
|
|
|
|
|
|
//查询联营扣点,联营取高的合同账单周期 |
|
|
|
/** |
|
|
|
* 查询联营扣点,联营取高的合同某一个周期的根据销售额录入生成的账单列表 |
|
|
|
* @param sales |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@GetMapping("revenueBillTimesSaleBills") |
|
|
|
public ResultData revenueBillTimesSaleBills(@ModelAttribute WxRentContractRevenueSales sales) { |
|
|
|
if (null == sales) sales = new WxRentContractRevenueSales(); |
|
|
|
@@ -366,32 +382,39 @@ public class WxRentContractController extends WxContractBaseController { |
|
|
|
return new ResultData(retMap); |
|
|
|
} |
|
|
|
|
|
|
|
// //查询商户计租合同列表 |
|
|
|
// @GetMapping("revenuePropertyContract") |
|
|
|
// public ResultData revenuePropertyContract(@ModelAttribute WxRentContract rentContract) { |
|
|
|
// if (null == rentContract) rentContract = new WxRentContract(); |
|
|
|
// rentContract.updateTenantInfo(getTenantInfo()); |
|
|
|
// WxRentContract contract = wxRentContractService.selectById(rentContract.getId()); |
|
|
|
// //纯联营扣点方式,不能加物业费一起算 |
|
|
|
// if (contract.getType().intValue() == EnumRentContractType.RENT_BY_JOINT.getCode()) { |
|
|
|
// return new ResultData(); |
|
|
|
// } |
|
|
|
// WxPropertyContract bq = new WxPropertyContract(); |
|
|
|
// bq.updateTenantInfo(rentContract); |
|
|
|
// bq.setRentContractId(rentContract.getId()); |
|
|
|
// bq.setOperationType(EnumContractOperationType.WHOLE.getCode()); |
|
|
|
// //包括提前终止的,租金+物业合同是一对一的 |
|
|
|
// List<Integer> statusList = new ArrayList<Integer>(); |
|
|
|
// statusList.add(EnumRentContractStatus.PAING.getCode()); |
|
|
|
// statusList.add(EnumRentContractStatus.TERMINATE.getCode()); |
|
|
|
// //bq.setStatus(EnumRentContractStatus.PAING.getCode()); |
|
|
|
// bq.setStatuss(statusList); |
|
|
|
// List<WxPropertyContract> propertyList = wxPropertyContractService.findList(bq); |
|
|
|
// if (null != propertyList && propertyList.size() > 0 ) { |
|
|
|
// return new ResultData(propertyList.get(0)); |
|
|
|
// } |
|
|
|
// return new ResultData(); |
|
|
|
// } |
|
|
|
/** |
|
|
|
* 查询取高合同里面参与取高款项的当期账单列表 |
|
|
|
* @param sales |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@GetMapping("revenuePropertyContract") |
|
|
|
public ResultData revenuePropertyContract(@ModelAttribute WxRentContractRevenueSales sales) { |
|
|
|
sales.updateTenantInfo(getTenantInfo()); |
|
|
|
WxRentContractAgileUnDeposit udq = new WxRentContractAgileUnDeposit(); |
|
|
|
udq.updateTenantInfo(sales); |
|
|
|
udq.setRentContractId(sales.getRentContractId()); |
|
|
|
udq.setJoinRenevueUp(EnumYesOrNo.YES.getCode()); |
|
|
|
List<WxRentContractAgileUnDeposit> udlist = wxAgileContractService.findUnDepositList(udq); |
|
|
|
if (null != udlist && udlist.size() > 0 ) { |
|
|
|
List<WxAllBill> billlist = new ArrayList<WxAllBill>(); |
|
|
|
for (int i = 0 ; i < udlist.size() ; i ++) { |
|
|
|
WxRentContractAgileUnDeposit ad = udlist.get(i); |
|
|
|
WxAllBill bq = new WxAllBill(); |
|
|
|
bq.updateTenantInfo(sales); |
|
|
|
bq.setRentContractId(sales.getRentContractId()); |
|
|
|
bq.setEnergyFeesId(ad.getFeesId()); |
|
|
|
bq.setIsPreview(EnumYesOrNo.NO.getCode()); |
|
|
|
bq.setStarttimeEqual(sales.getStarttime()); |
|
|
|
bq.setEndtimeEqual(sales.getEndtime()); |
|
|
|
PageInfo<WxAllBill> billPage = wxAllBillService.listAsPage(bq,1,100); |
|
|
|
if (null != billPage && null != billPage.getList() && billPage.getList().size() > 0 ) { |
|
|
|
billlist.addAll(billPage.getList()); |
|
|
|
} |
|
|
|
} |
|
|
|
return new ResultData(billlist); |
|
|
|
} |
|
|
|
return new ResultData(); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 扣点设置销售额重新计算 |
|
|
|
|