|
|
@ -429,6 +429,14 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
//虚拟订单和订金关联信息
|
|
|
|
List<BusDepositFictitiousDto> busDepositFictitiousDtoList = dto.getBusDepositFictitiousList(); |
|
|
|
if (StringUtils.isBlank(sid)) {//新增
|
|
|
|
//单台整体成交价
|
|
|
|
BigDecimal singleFinalPrice = new BigDecimal("0"); |
|
|
|
//单台整体指导价
|
|
|
|
BigDecimal singleGuildPrice = new BigDecimal("0"); |
|
|
|
//台数
|
|
|
|
Integer num = 0; |
|
|
|
//订金合计
|
|
|
|
BigDecimal depositAll = new BigDecimal("0"); |
|
|
|
//保存单据信息
|
|
|
|
BusSalesOrder busSalesOrder = new BusSalesOrder(); |
|
|
|
BeanUtil.copyProperties(dto, busSalesOrder, "sid"); |
|
|
@ -438,6 +446,14 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
sid = busSalesOrder.getSid(); |
|
|
|
//主车车型信息保存
|
|
|
|
busSalesOrderModelService.saveModel(busSalesOrderModelDto, sid); |
|
|
|
if(busSalesOrderModelDto != null){ |
|
|
|
if(StringUtils.isNotBlank(busSalesOrderModelDto.getGuildPrice())){ |
|
|
|
singleGuildPrice = singleGuildPrice.add(new BigDecimal(busSalesOrderModelDto.getGuildPrice())); |
|
|
|
} |
|
|
|
if(StringUtils.isNotBlank(busSalesOrderModelDto.getFinalPrice())){ |
|
|
|
singleFinalPrice = singleFinalPrice.add(new BigDecimal(busSalesOrderModelDto.getFinalPrice())); |
|
|
|
} |
|
|
|
} |
|
|
|
if(StringUtils.isNotBlank(dto.getType())){ |
|
|
|
if ("1".equals(dto.getType())) { |
|
|
|
//现车车辆信息
|
|
|
@ -450,8 +466,21 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
String isTop = dto.getIsTop(); |
|
|
|
if ("1".equals(isTop)) { |
|
|
|
busSalesOrderMakeupService.saveMake(busSalesOrderMakeupDto, sid); |
|
|
|
if(busSalesOrderMakeupDto != null){ |
|
|
|
if(StringUtils.isNotBlank(busSalesOrderMakeupDto.getTopPrice())){ |
|
|
|
singleFinalPrice = singleFinalPrice.add(new BigDecimal(busSalesOrderMakeupDto.getTopPrice())); |
|
|
|
singleGuildPrice = singleGuildPrice.add(new BigDecimal(busSalesOrderMakeupDto.getTopPrice())); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
//价格信息
|
|
|
|
busSalesOrderPriceDto.setSingleFinalPrice(singleFinalPrice.toString()); |
|
|
|
busSalesOrderPriceDto.setSingleGuildPrice(singleGuildPrice.toString()); |
|
|
|
if(busSalesOrderPriceDto != null){ |
|
|
|
if(busSalesOrderPriceDto.getQuantity() != null){ |
|
|
|
num = busSalesOrderPriceDto.getQuantity(); |
|
|
|
} |
|
|
|
} |
|
|
|
busSalesOrderPriceService.saveOrderPrice(busSalesOrderPriceDto, sid); |
|
|
|
//主车优惠明细
|
|
|
|
busSalesOrderDiscountService.saveDiscount(busSalesOrderDiscountDto, sid); |
|
|
@ -469,6 +498,15 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if(busSalesOrderDepositDto != null){ |
|
|
|
if(StringUtils.isNotBlank(busSalesOrderDepositDto.getDeposit())){ |
|
|
|
depositAll = depositAll.add(new BigDecimal(busSalesOrderDepositDto.getDeposit()).add(new BigDecimal(num))); |
|
|
|
busSalesOrderDepositDto.setDepositAll(depositAll.toString()); |
|
|
|
} |
|
|
|
} |
|
|
|
BigDecimal makeUpDepositAll = busDepositFictitiousDtoList.stream().map(v->new BigDecimal(StringUtils.isNotBlank(v.getPrice())?v.getPrice():"0")).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
BigDecimal makeUpDeposit = depositAll.subtract(makeUpDepositAll); |
|
|
|
busSalesOrderDepositDto.setMakeUpDeposit(makeUpDeposit.toString()); |
|
|
|
String depositSid = busSalesOrderDepositService.saveOrderDepo(busSalesOrderDepositDto, sid); |
|
|
|
if ("02".equals(busSalesOrderDepositDto.getDepositTypeKey())) { |
|
|
|
//结转
|
|
|
@ -477,6 +515,14 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
//单台整体成交价
|
|
|
|
BigDecimal singleFinalPrice = new BigDecimal("0"); |
|
|
|
//单台整体指导价
|
|
|
|
BigDecimal singleGuildPrice = new BigDecimal("0"); |
|
|
|
//台数
|
|
|
|
Integer num = 0; |
|
|
|
//订金合计
|
|
|
|
BigDecimal depositAll = new BigDecimal("0"); |
|
|
|
BusSalesOrder busSalesOrder = fetchBySid(sid); |
|
|
|
if (busSalesOrder == null) { |
|
|
|
return rb.setMsg("该单据不存在"); |
|
|
@ -488,6 +534,14 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
baseMapper.updateById(busSalesOrder); |
|
|
|
//主车车型信息保存
|
|
|
|
busSalesOrderModelService.saveModel(busSalesOrderModelDto, dto.getSid()); |
|
|
|
if(busSalesOrderModelDto != null){ |
|
|
|
if(StringUtils.isNotBlank(busSalesOrderModelDto.getGuildPrice())){ |
|
|
|
singleGuildPrice = singleGuildPrice.add(new BigDecimal(busSalesOrderModelDto.getGuildPrice())); |
|
|
|
} |
|
|
|
if(StringUtils.isNotBlank(busSalesOrderModelDto.getFinalPrice())){ |
|
|
|
singleFinalPrice = singleFinalPrice.add(new BigDecimal(busSalesOrderModelDto.getFinalPrice())); |
|
|
|
} |
|
|
|
} |
|
|
|
busSalesOrderVehicleService.deleteByOrderSid(dto.getSid()); |
|
|
|
busSalesVehicleOrderService.deleteByOrderSid(dto.getSid()); |
|
|
|
if ("1".equals(dto.getType())) { |
|
|
@ -508,6 +562,13 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
busSalesOrderMakeupService.deleteBySalesOrderSid(dto.getSid()); |
|
|
|
} |
|
|
|
//价格信息
|
|
|
|
busSalesOrderPriceDto.setSingleFinalPrice(singleFinalPrice.toString()); |
|
|
|
busSalesOrderPriceDto.setSingleGuildPrice(singleGuildPrice.toString()); |
|
|
|
if(busSalesOrderPriceDto != null){ |
|
|
|
if(busSalesOrderPriceDto.getQuantity() != null){ |
|
|
|
num = busSalesOrderPriceDto.getQuantity(); |
|
|
|
} |
|
|
|
} |
|
|
|
busSalesOrderPriceService.updateOrderPrice(busSalesOrderPriceDto, dto.getSid()); |
|
|
|
//主车优惠明细
|
|
|
|
busSalesOrderDiscountService.saveDiscount(busSalesOrderDiscountDto, dto.getSid()); |
|
|
@ -524,6 +585,15 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
if(busSalesOrderDepositDto != null){ |
|
|
|
if(StringUtils.isNotBlank(busSalesOrderDepositDto.getDeposit())){ |
|
|
|
depositAll = depositAll.add(new BigDecimal(busSalesOrderDepositDto.getDeposit()).add(new BigDecimal(num))); |
|
|
|
busSalesOrderDepositDto.setDepositAll(depositAll.toString()); |
|
|
|
} |
|
|
|
} |
|
|
|
BigDecimal makeUpDepositAll = busDepositFictitiousDtoList.stream().map(v->new BigDecimal(StringUtils.isNotBlank(v.getPrice())?v.getPrice():"0")).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
BigDecimal makeUpDeposit = depositAll.subtract(makeUpDepositAll); |
|
|
|
busSalesOrderDepositDto.setMakeUpDeposit(makeUpDeposit.toString()); |
|
|
|
busSalesOrderDepositService.updateOrderDepo(busSalesOrderDepositDto, dto.getSid()); |
|
|
|
BusSalesOrderDeposit busSalesOrderDeposit = busSalesOrderDepositService.selectByOrderSid(dto.getSid()); |
|
|
|
if (busSalesOrderDeposit != null) { |
|
|
|