diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxRentContractRevenueSalesMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxRentContractRevenueSalesMapper.java index 3ae7f05dd..1abe5ae2e 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxRentContractRevenueSalesMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxRentContractRevenueSalesMapper.java @@ -17,5 +17,7 @@ public interface WxRentContractRevenueSalesMapper extends CommonMapper findBillId(WxRentContractRevenueSales wxBillRent); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java index 421e93769..293b08c0a 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -2622,12 +2622,42 @@ public class WxRentContractServiceImpl implements WxRentContractService { WxRentContractRevenueSales rsq = new WxRentContractRevenueSales(); rsq.updateTenantInfo(rentcontract); rsq.setRentContractId(rentcontract.getId()); - BigDecimal sum = wxRentContractRevenueSalesMapper.findSumSalesMoney(rsq); + //BigDecimal sum = wxRentContractRevenueSalesMapper.findSumSalesMoney(rsq); + List billIdList = wxRentContractRevenueSalesMapper.findBillId(rsq); + Date realStartTime = null; + Date realEndTime = null; + if (null != billIdList || billIdList.size() > 0 ) { + WxAllBill abq = new WxAllBill(); + abq.updateTenantInfo(rentcontract); + abq.setIds(billIdList); + abq.setStarttimeEqual(rentcontract.getYearsBegin()); + abq.setStarttimeEqual(rentcontract.getYearsEnd()); + abq.setSortColumn(" starttime asc"); + List billList = wxAllBillMapper.findList(abq); + if (null == billList || billList.size() <= 0 ){ + return null; + } + realStartTime = billList.get(0).getStarttime(); + realEndTime = billList.get(billList.size()-1).getEndtime(); + } + BigDecimal sum = new BigDecimal(0); //计算跳点。 BigDecimal[] jumppays = calcuteReveneuJump(sum, rentcontract,rentcontract.getYearsBegin(), rentcontract.getYearsEnd(),null); BigDecimal jumpRevenuePay = jumppays[0]; //BigDecimal jumpRentPay = jumppays[1]; + //销售收入不满足一年怎么算。 + if (realStartTime.equals(rentcontract.getYearsBegin()) && realEndTime.equals(rentcontract.getYearsEnd())) { + }else { + int days = DateUtils.daysBetween(realStartTime, realEndTime)+1; + if (rentcontract.getDayPriceCalcute().intValue() == EnumRentDayPriceCalcute.AVERAGE_DAYS.getCode()) { + jumpRevenuePay = jumpRevenuePay.multiply(new BigDecimal(days)).divide(new BigDecimal(12*rentcontract.getMonthAverageDays()),Constant.default_long_decimal_size,BigDecimal.ROUND_HALF_UP); + }else { + + jumpRevenuePay = jumpRevenuePay.multiply(new BigDecimal(days)).divide(new BigDecimal(365),Constant.default_long_decimal_size,BigDecimal.ROUND_HALF_UP); + } + } + BigDecimal receivepay = new BigDecimal(0); //查询所有租金和物业账单的信息 WxAllBill rentBillq = new WxAllBill(); diff --git a/mallinkService/src/main/resources/mapper/WxRentContractRevenueSalesMapper.xml b/mallinkService/src/main/resources/mapper/WxRentContractRevenueSalesMapper.xml index ef01dc466..8962970e4 100644 --- a/mallinkService/src/main/resources/mapper/WxRentContractRevenueSalesMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxRentContractRevenueSalesMapper.xml @@ -55,11 +55,17 @@ from wx_rent_contract_revenue_sales where id = #{id} and `tenant_id` = #{tenantId} - select sum(CAST(sale_money AS DECIMAL(20,2))) receive_pay from wx_rent_contract_revenue_sales + +