Commit 650e988d authored by 周健威's avatar 周健威

添加单价标识

parent ac7cd4dd
......@@ -81,5 +81,4 @@ public class InProgressVO {
* 延期 详情列表
*/
List<VMCalendarPriceCostDTO> overAmountList = CollUtil.newArrayList();
}
......@@ -22,6 +22,10 @@ public class VehicleItemDTO extends OrderItem {
public static final int topNum = 2;
//已抵消天数
private Integer offsetNum = 0;
//标记是否单价一样
private Integer sameUnitPrice = 1;
public BigDecimal calculateVehicleUnitPrice(BigDecimal vehicleAmount, BigDecimal metaVehicleAmount, Boolean isSetRealAmount) {
if(isSetRealAmount) {
setRealAmount(vehicleAmount);
......@@ -125,7 +129,13 @@ public class VehicleItemDTO extends OrderItem {
//循环价格列表 获得对应消耗的免费天数
//循环已标记的已使用免费天数
Integer cycleNum = 0;
BigDecimal tempUnitPrice = null;
for(VMCalendarPriceCostDTO dto : list) {
if(null == tempUnitPrice) {
tempUnitPrice = dto.getPrice();
}else if( !tempUnitPrice.equals(dto.getPrice())) {
this.sameUnitPrice = 0;
}
if(ableFreeDays > cycleNum && cycleNum+ dto.getFreeDays() > ableFreeDays) { //本次累加天数 大于 可用免费天数
setCutNum(ableFreeDays);
......
package com.xxfc.platform.order.pojo.price;
import cn.hutool.core.collection.CollUtil;
import com.xxfc.platform.vehicle.pojo.dto.order.VMCalendarPriceCostDTO;
import lombok.Data;
......@@ -69,9 +70,33 @@ public class CancelStartedVO extends CostDetailExtend {
private BigDecimal damagesAmount = BigDecimal.ZERO;
/**
* 使用(消耗)详情列表
* 延期 详情列表
*/
List<VMCalendarPriceCostDTO> useAmountList;
//= CollUtil.newArrayList();
List<VMCalendarPriceCostDTO> overAmountList = CollUtil.newArrayList();
//标记是否单价一样
private Integer sameUseUnitPrice = 1;
//标记是否单价一样
private Integer sameOverUnitPrice = 1;
public void setSameUseUnitPriceFromList(List<VMCalendarPriceCostDTO> useAmountList) {
this.sameUseUnitPrice = judgeSame(useAmountList);
}
public void setSameOverUnitPriceFromList(List<VMCalendarPriceCostDTO> overAmountList) {
this.sameOverUnitPrice = judgeSame(overAmountList);
}
private Integer judgeSame(List<VMCalendarPriceCostDTO> useAmountList) {
BigDecimal tempUnitPrice = null;
for(VMCalendarPriceCostDTO vmcpcd : useAmountList) {
if(null == tempUnitPrice) {
tempUnitPrice = vmcpcd.getPrice();
}else if(tempUnitPrice.equals(vmcpcd.getPrice())) {
return 0;
}
}
return 1;
}
}
package com.xxfc.platform.order.pojo.price;
import cn.hutool.json.JSONUtil;
import com.xxfc.platform.vehicle.pojo.dto.order.VMCalendarPriceCostDTO;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
@Data
public class CostDetailExtend {
......@@ -36,6 +38,11 @@ public class CostDetailExtend {
*/
public String paramJson = "";
/**
* 使用(消耗)详情列表
*/
List<VMCalendarPriceCostDTO> useAmountList;
public void initParamJson() {
paramJson = JSONUtil.toJsonStr(this);
}
......
......@@ -76,4 +76,7 @@ public class RentVehiclePriceVO extends OrderPriceVO{
*/
List<VMCalendarPriceCostDTO> useAmountList;
//标记是否单价一样
private Integer sameUnitPrice = 1;
}
......@@ -467,6 +467,9 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
csv.setUsedfreeDayNum(inProgressVO.getUsedfreeDays());
csv.setUsedFreeAmount(inProgressVO.getUsedFreeDaysAmount());
csv.setHadConpon((StrUtil.isNotBlank(orderMQDTO.getCouponTickerNos())? Boolean.TRUE: Boolean.FALSE));
csv.setSameUseUnitPriceFromList(inProgressVO.getUseAmountList());
csv.setSameOverUnitPriceFromList(inProgressVO.getOverAmountList());
if(csv.getUsedDayNum() == orderMQDTO.getOrderRentVehicleDetail().getDayNum()) {
csv.setType(CostDetailExtend.FINLISH_ONTIME);
......
......@@ -176,7 +176,8 @@ public class OrderCancelBiz {
csv.setHadConpon((StrUtil.isNotBlank(baseOrder.getCouponTickerNos())? Boolean.TRUE: Boolean.FALSE));
csv.setViolateAmount(BigDecimal.ZERO);
csv.setViolateDesc("");
csv.setUseAmountList(inProgressVO.getUseAmountList());
csv.setSameUseUnitPriceFromList(inProgressVO.getUseAmountList());
csv.setSameOverUnitPriceFromList(inProgressVO.getOverAmountList());
//如果有扣款项,则生成额外的费用明细
if(oad.getDeductions().size() > 0) {
......
......@@ -414,6 +414,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
rvp.setRealVehicleAmount(vehicleOrderItem.getRealAmount());
rvp.setCouponDesc(couponDesc);
rvp.setUseAmountList(vehicleOrderItem.getVehicleDetail());
rvp.setSameUnitPrice(vehicleOrderItem.getSameUnitPrice());
rvp.initParamJson();
//设置收费明细
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment