From 9c6c65e48244fc40b446eef48c6dcd3725291e0b Mon Sep 17 00:00:00 2001 From: winter <664946893@qq.com> Date: Thu, 22 May 2025 21:59:38 +0800 Subject: [PATCH] fix --- .../contract/WxRentContractController.java | 129 +++++++++++------- .../service/WxAgileContractService.java | 3 + .../impl/WxAgileContractServiceImpl.java | 9 ++ 3 files changed, 88 insertions(+), 53 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java index 10c2bf818..e9149df45 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java @@ -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 billList = wxAllBillService.getContractSamePeriodBillSumList(bq); - if (null == billList || billList.size() <= 0 ) { + //查询所有时间区间 + WxRentContractAgileRenevue renevue = wxAgileContractService.findRenevueByContract(sales.getRentContractId(), sales); + if (null == renevue) { + return new ResultData(); + } + List renevueItems = wxAgileContractService.findRenevueItemListByContract(sales.getRentContractId(), sales); + if (null == renevueItems || renevueItems.size() <= 0 ) { return new ResultData(); } List validBillList = new ArrayList(); - 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 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 statusList = new ArrayList(); -// statusList.add(EnumRentContractStatus.PAING.getCode()); -// statusList.add(EnumRentContractStatus.TERMINATE.getCode()); -// //bq.setStatus(EnumRentContractStatus.PAING.getCode()); -// bq.setStatuss(statusList); -// List 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 udlist = wxAgileContractService.findUnDepositList(udq); + if (null != udlist && udlist.size() > 0 ) { + List billlist = new ArrayList(); + 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 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(); + } /** * 扣点设置销售额重新计算 diff --git a/mallinkService/src/main/java/com/iformall/service/WxAgileContractService.java b/mallinkService/src/main/java/com/iformall/service/WxAgileContractService.java index bc81ab568..01287d1ff 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxAgileContractService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxAgileContractService.java @@ -7,6 +7,7 @@ import com.iformall.domain.po.WxContractCustomers; import com.iformall.domain.po.WxRentContract; import com.iformall.domain.po.WxRentContractAgileDeposit; import com.iformall.domain.po.WxRentContractAgileRenevue; +import com.iformall.domain.po.WxRentContractAgileRenevueItem; import com.iformall.domain.po.WxRentContractAgileUnDeposit; import com.iformall.domain.po.base.TenantEntity; @@ -48,6 +49,8 @@ public interface WxAgileContractService { void setJoinRenevueUp(WxRentContractAgileUnDeposit unDeposit); + List findRenevueItemListByContract(Long rentContractId,TenantEntity tenantEntity); + List findBuildingFloorContractIds(TenantEntity tenantEntity,String floorRule,Long building,Long floor,List shopIds,Integer shopDel); List findShopContractIds(TenantEntity tenantEntity,List shopIds); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxAgileContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxAgileContractServiceImpl.java index 2120b696b..d329bf7d6 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxAgileContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxAgileContractServiceImpl.java @@ -909,6 +909,15 @@ public class WxAgileContractServiceImpl implements WxAgileContractService { public void setJoinRenevueUp(WxRentContractAgileUnDeposit unDeposit) { wxRentContractAgileUnDepositMapper.updateJoinRenevueUp(unDeposit); } + + @Override + public List findRenevueItemListByContract(Long rentContractId,TenantEntity tenantEntity) { + WxRentContractAgileRenevueItem iq = new WxRentContractAgileRenevueItem(); + iq.updateTenantInfo(tenantEntity); + iq.setRentContractId(rentContractId); + iq.setSortColumn("begin_time asc"); + return wxRentContractAgileRenevueItemMapper.findList(iq); + } @Override public List findBuildingFloorContractIds(TenantEntity tenantEntity, String floorRule, Long building,