|
|
@ -397,7 +397,11 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl<Distributio |
|
|
|
@Override |
|
|
|
@Override |
|
|
|
@Transactional |
|
|
|
@Transactional |
|
|
|
public R savePCAddvalueInfo(DistributionAppAddvalueDTO distributionAppAddvalueDTO) { |
|
|
|
public R savePCAddvalueInfo(DistributionAppAddvalueDTO distributionAppAddvalueDTO) { |
|
|
|
List<DistributionAddvaluePackageDTO> packageEntityList = distributionAppAddvalueDTO.getPackageEntityList(); |
|
|
|
List<DistributionAddvaluePackageDTO> packageEntityList = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!Func.isEmpty(distributionAppAddvalueDTO.getPackageEntityList())){ |
|
|
|
|
|
|
|
packageEntityList = distributionAppAddvalueDTO.getPackageEntityList(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//查询是否重复添加
|
|
|
|
//查询是否重复添加
|
|
|
|
DistributionAddvalueEntity addvalueEntity = distributionAddvalueMapper.selectOne(Wrappers.<DistributionAddvalueEntity>query().lambda() |
|
|
|
DistributionAddvalueEntity addvalueEntity = distributionAddvalueMapper.selectOne(Wrappers.<DistributionAddvalueEntity>query().lambda() |
|
|
@ -409,11 +413,6 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl<Distributio |
|
|
|
return Resp.scanFail("操作失败", "存在该类型增值服务项,如需更改请编辑"); |
|
|
|
return Resp.scanFail("操作失败", "存在该类型增值服务项,如需更改请编辑"); |
|
|
|
} |
|
|
|
} |
|
|
|
DistributionAddvalueDetailEntity distributionAddvalueDetailEntity = new DistributionAddvalueDetailEntity(); |
|
|
|
DistributionAddvalueDetailEntity distributionAddvalueDetailEntity = new DistributionAddvalueDetailEntity(); |
|
|
|
// if (Func.isEmpty(distributionAppAddvalueDTO.getNum())) {
|
|
|
|
|
|
|
|
// return Resp.scanFail("添加失败", "错误的包件数量");
|
|
|
|
|
|
|
|
// } else {
|
|
|
|
|
|
|
|
// distributionAddvalueDetailEntity.setNum(distributionAppAddvalueDTO.getNum());
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
DistributionReservationEntity reservationEntity = distributionReservationMapper.selectById(distributionAppAddvalueDTO.getReservationId()); |
|
|
|
DistributionReservationEntity reservationEntity = distributionReservationMapper.selectById(distributionAppAddvalueDTO.getReservationId()); |
|
|
|
if (Func.isEmpty(reservationEntity)) { |
|
|
|
if (Func.isEmpty(reservationEntity)) { |
|
|
|
return Resp.scanFail("添加失败", "客户信息错误"); |
|
|
|
return Resp.scanFail("添加失败", "客户信息错误"); |
|
|
@ -428,7 +427,7 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl<Distributio |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
distributionAddvalueDetailEntity.setFloolNum(distributionAppAddvalueDTO.getFloolNum()); |
|
|
|
distributionAddvalueDetailEntity.setFloolNum(distributionAppAddvalueDTO.getFloolNum()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
packageEntityList = distributionAppAddvalueDTO.getPackageEntityList(); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case "2": |
|
|
|
case "2": |
|
|
|
if (Func.isEmpty(distributionAppAddvalueDTO.getDistance())) { |
|
|
|
if (Func.isEmpty(distributionAppAddvalueDTO.getDistance())) { |
|
|
@ -439,7 +438,7 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl<Distributio |
|
|
|
if (Func.isEmpty(distributionAppAddvalueDTO.getFee())){ |
|
|
|
if (Func.isEmpty(distributionAppAddvalueDTO.getFee())){ |
|
|
|
return Resp.scanFail("添加失败", "请输入超区费用"); |
|
|
|
return Resp.scanFail("添加失败", "请输入超区费用"); |
|
|
|
}else { |
|
|
|
}else { |
|
|
|
totalFee.add(distributionAppAddvalueDTO.getFee()); |
|
|
|
totalFee = totalFee.add(distributionAppAddvalueDTO.getFee()); |
|
|
|
} |
|
|
|
} |
|
|
|
Map<String, Object> addValueDTO = new HashMap<>(); |
|
|
|
Map<String, Object> addValueDTO = new HashMap<>(); |
|
|
|
addValueDTO.put("reservationId",distributionAppAddvalueDTO.getReservationId().toString()); |
|
|
|
addValueDTO.put("reservationId",distributionAppAddvalueDTO.getReservationId().toString()); |
|
|
@ -467,7 +466,7 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl<Distributio |
|
|
|
if (Func.isEmpty(distributionAppAddvalueDTO.getFee())){ |
|
|
|
if (Func.isEmpty(distributionAppAddvalueDTO.getFee())){ |
|
|
|
return Resp.scanFail("添加失败", "请输入专车费用"); |
|
|
|
return Resp.scanFail("添加失败", "请输入专车费用"); |
|
|
|
}else { |
|
|
|
}else { |
|
|
|
totalFee.add(distributionAppAddvalueDTO.getFee()); |
|
|
|
totalFee = totalFee.add(distributionAppAddvalueDTO.getFee()); |
|
|
|
} |
|
|
|
} |
|
|
|
List<DistributionAddvaluePackageDTO> specialCarList = distributionSignforService.checkAddValuePCPackageList(distributionAppAddvalueDTO.getReservationId()); |
|
|
|
List<DistributionAddvaluePackageDTO> specialCarList = distributionSignforService.checkAddValuePCPackageList(distributionAppAddvalueDTO.getReservationId()); |
|
|
|
if (!Func.isEmpty(specialCarList)){ |
|
|
|
if (!Func.isEmpty(specialCarList)){ |
|
|
@ -612,8 +611,9 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl<Distributio |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
if (!addvaluePackageEntities.isEmpty()) { |
|
|
|
if (!addvaluePackageEntities.isEmpty()) { |
|
|
|
|
|
|
|
BigDecimal finalTotalFee = totalFee; |
|
|
|
addvaluePackageEntities.forEach(p ->{ |
|
|
|
addvaluePackageEntities.forEach(p ->{ |
|
|
|
totalFee.add(p.getFee()); |
|
|
|
finalTotalFee.add(p.getFee()); |
|
|
|
}); |
|
|
|
}); |
|
|
|
distributionAddvalueDetailEntity.setFee(totalFee); |
|
|
|
distributionAddvalueDetailEntity.setFee(totalFee); |
|
|
|
distributionAddvalueDetailService.updateById(distributionAddvalueDetailEntity); |
|
|
|
distributionAddvalueDetailService.updateById(distributionAddvalueDetailEntity); |
|
|
@ -710,6 +710,10 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl<Distributio |
|
|
|
if (Func.isNotEmpty(parcelListEntities)) { |
|
|
|
if (Func.isNotEmpty(parcelListEntities)) { |
|
|
|
parcelListEntities.stream().forEach(p -> { |
|
|
|
parcelListEntities.stream().forEach(p -> { |
|
|
|
p.setRecordType("1"); |
|
|
|
p.setRecordType("1"); |
|
|
|
|
|
|
|
//进行客户信息完善
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
if (Func.isNotEmpty(zeroPackageList)) { |
|
|
|
if (Func.isNotEmpty(zeroPackageList)) { |
|
|
@ -717,18 +721,6 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl<Distributio |
|
|
|
p.setRecordType("1"); |
|
|
|
p.setRecordType("1"); |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
// List<DistributionAddvaluePackageEntity> entityList = null;
|
|
|
|
|
|
|
|
// if (Func.isNotEmpty(packageEntityList)) {
|
|
|
|
|
|
|
|
// entityList = parcelListEntities.stream().filter(p1 -> packageEntityList.stream().noneMatch(p2 -> p2.equals(p1.getId()))).collect(Collectors.toList());
|
|
|
|
|
|
|
|
// if (Func.isEmpty(entityList)) {
|
|
|
|
|
|
|
|
// log.error("################该客户下库存品包件信息:{}", detailEntities);
|
|
|
|
|
|
|
|
// log.error("################该客户下包件信息:{}", parcelListEntities);
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// } else {
|
|
|
|
|
|
|
|
// entityList = parcelListEntities;
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return parcelListEntities; |
|
|
|
return parcelListEntities; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -942,25 +934,33 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl<Distributio |
|
|
|
} |
|
|
|
} |
|
|
|
AtomicReference<BigDecimal> newFee = new AtomicReference<>(BigDecimal.ZERO); |
|
|
|
AtomicReference<BigDecimal> newFee = new AtomicReference<>(BigDecimal.ZERO); |
|
|
|
List<Long> packageIds = packageEntityList.stream().map(DistributionAddvaluePackageDTO::getPackageId).collect(Collectors.toList()); |
|
|
|
List<Long> packageIds = packageEntityList.stream().map(DistributionAddvaluePackageDTO::getPackageId).collect(Collectors.toList()); |
|
|
|
packageEntityList.forEach(p->{ |
|
|
|
// packageEntityList.forEach(p->{
|
|
|
|
newFee.set(distributionAddvalueDetailEntity.getFee().subtract(p.getUnitPrice())); |
|
|
|
// newFee.set(distributionAddvalueDetailEntity.getFee().subtract(p.getUnitPrice()));
|
|
|
|
|
|
|
|
//
|
|
|
|
}); |
|
|
|
// });
|
|
|
|
List<DistributionAddvaluePackageEntity> addvaluePackageEntities = distributionAddvaluePackageMapper.selectList(Wrappers.<DistributionAddvaluePackageEntity>query().lambda() |
|
|
|
List<DistributionAddvaluePackageEntity> addvaluePackageEntities = distributionAddvaluePackageMapper.selectList(Wrappers.<DistributionAddvaluePackageEntity>query().lambda() |
|
|
|
.eq(DistributionAddvaluePackageEntity::getReservationId, distributionAppAddvalueDTO.getReservationId()) |
|
|
|
.eq(DistributionAddvaluePackageEntity::getReservationId, distributionAppAddvalueDTO.getReservationId()) |
|
|
|
.eq(DistributionAddvaluePackageEntity::getAddvalueDetailId, distributionAppAddvalueDTO.getAddvalueDetailId()) |
|
|
|
.eq(DistributionAddvaluePackageEntity::getAddvalueDetailId, distributionAppAddvalueDTO.getAddvalueDetailId()) |
|
|
|
); |
|
|
|
); |
|
|
|
if (Objects.equals(packageIds.size(),addvaluePackageEntities.size())){ |
|
|
|
if (!addvaluePackageEntities.isEmpty()) { |
|
|
|
//此增值服务项进行全部取消
|
|
|
|
List<DistributionAddvaluePackageEntity> entityList = addvaluePackageEntities.stream().filter(f -> packageIds.contains(f.getPackageId())).collect(Collectors.toList()); |
|
|
|
//这里就需要对整个增值服务项进行删除
|
|
|
|
entityList.forEach(l->{ |
|
|
|
distributionAddvalueDetailMapper.deleteAddvalueDetailById(distributionAppAddvalueDTO.getAddvalueDetailId()); |
|
|
|
newFee.set(distributionAddvalueDetailEntity.getFee().subtract(l.getUnitPrice())); |
|
|
|
distributionAddvalueMapper.deleteAddvalue(distributionAppAddvalueDTO.getReservationId(), distributionAppAddvalueDTO.getAddvalueType()); |
|
|
|
|
|
|
|
}else { |
|
|
|
}); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
int sum = packageEntityList.stream().mapToInt(DistributionAddvaluePackageEntity::getQuantity).sum(); |
|
|
|
int sum = packageEntityList.stream().mapToInt(DistributionAddvaluePackageEntity::getQuantity).sum(); |
|
|
|
//维护详情的件数和金额
|
|
|
|
//维护详情的件数和金额
|
|
|
|
distributionAddvalueDetailEntity.setFee(newFee.get()); |
|
|
|
distributionAddvalueDetailEntity.setFee(newFee.get()); |
|
|
|
distributionAddvalueDetailEntity.setNum(distributionAddvalueDetailEntity.getNum() - sum); |
|
|
|
distributionAddvalueDetailEntity.setNum(distributionAddvalueDetailEntity.getNum() - sum); |
|
|
|
distributionAddvalueDetailMapper.updateById(distributionAddvalueDetailEntity); |
|
|
|
distributionAddvalueDetailMapper.updateById(distributionAddvalueDetailEntity); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (Objects.equals(packageIds.size(),addvaluePackageEntities.size())){ |
|
|
|
|
|
|
|
//此增值服务项进行全部取消
|
|
|
|
|
|
|
|
//这里就需要对整个增值服务项进行删除
|
|
|
|
|
|
|
|
distributionAddvalueDetailMapper.deleteAddvalueDetailById(distributionAppAddvalueDTO.getAddvalueDetailId()); |
|
|
|
|
|
|
|
distributionAddvalueMapper.deleteAddvalue(distributionAppAddvalueDTO.getReservationId(), distributionAppAddvalueDTO.getAddvalueType()); |
|
|
|
} |
|
|
|
} |
|
|
|
//查看取消增值服务的保健是否存在该项增值服务中,存在才能继续执行
|
|
|
|
//查看取消增值服务的保健是否存在该项增值服务中,存在才能继续执行
|
|
|
|
boolean isExistence = packageIds.stream().allMatch(id -> addvaluePackageEntities.stream().map(DistributionAddvaluePackageEntity::getPackageId).collect(Collectors.toList()).contains(id)); |
|
|
|
boolean isExistence = packageIds.stream().allMatch(id -> addvaluePackageEntities.stream().map(DistributionAddvaluePackageEntity::getPackageId).collect(Collectors.toList()).contains(id)); |
|
|
|