winter 1 год назад
Родитель
Сommit
3c508171d9
3 измененных файлов: 40 добавлений и 2 удалений
  1. +2
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxRentContractRevenueSalesMapper.java
  2. +31
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java
  3. +7
    -1
      mallinkService/src/main/resources/mapper/WxRentContractRevenueSalesMapper.xml

+ 2
- 0
mallinkService/src/main/java/com/iformall/mapper/WxRentContractRevenueSalesMapper.java Просмотреть файл

@@ -17,5 +17,7 @@ public interface WxRentContractRevenueSalesMapper extends CommonMapper<WxRentCon
WxRentContractRevenueSales selectById(@Param("id")Long id,@Param("tenantId")String tenantId);
BigDecimal findSumSalesMoney(WxRentContractRevenueSales wxBillRent);
List<Long> findBillId(WxRentContractRevenueSales wxBillRent);
}

+ 31
- 1
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<Long> 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<WxAllBill> 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();


+ 7
- 1
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>
<select id="findSumSalesMoney" parameterType="HashMap" resultType="BigDecimal">
<select id="findSumSalesMoney" parameterType="com.iformall.domain.po.WxRentContractRevenueSales" resultType="BigDecimal">
select sum(CAST(sale_money AS DECIMAL(20,2))) receive_pay
from wx_rent_contract_revenue_sales
<include refid="dynamicWhereConditions"/>
</select>
<select id="findBillId" parameterType="com.iformall.domain.po.WxRentContractRevenueSales" resultType="Long">
select distinct bill_id
from wx_rent_contract_revenue_sales
<include refid="dynamicWhereConditions"/>
</select>
</mapper>


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