|
|
@@ -312,9 +312,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
/**
|
|
|
* 单个险种费用计算
|
|
|
*/
|
|
|
- private static void calcInsuranceType(InsFeeOrders o, BigDecimal premium, PtlAgreementCostTypeVo ct,
|
|
|
- BigDecimal commissionRatio, BigDecimal followRatio, BigDecimal taxFactor,
|
|
|
- String type) {
|
|
|
+ private static void calcInsuranceType(InsFeeOrders o, BigDecimal premium, PtlAgreementCostTypeVo ct, BigDecimal commissionRatio, BigDecimal followRatio, BigDecimal taxFactor, String type) {
|
|
|
if (ct == null || premium == null) {
|
|
|
if ("jq".equals(type)) {
|
|
|
o.setJqReceivablePremium(BigDecimal.ZERO);
|
|
|
@@ -339,10 +337,8 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
BigDecimal receivable = taxable.multiply(commissionRatio.add(followRatio)).setScale(5, RoundingMode.HALF_EVEN);
|
|
|
receivable = receivable.setScale(5, RoundingMode.HALF_EVEN); // 与旧代码保持一致:二次setScale
|
|
|
BigDecimal follow = receivable.subtract(commission);
|
|
|
- BigDecimal keepRate = BigDecimalUtil.subtract(BigDecimalUtil.add(BigDecimalUtil.divide(inlet, taxFactor), addThrow), export)
|
|
|
- .setScale(5, RoundingMode.HALF_EVEN);
|
|
|
- BigDecimal keepAmt = BigDecimalUtil.subtract(BigDecimalUtil.add(receivable, addAmt), payable)
|
|
|
- .setScale(5, RoundingMode.HALF_EVEN);
|
|
|
+ BigDecimal keepRate = BigDecimalUtil.subtract(BigDecimalUtil.add(BigDecimalUtil.divide(inlet, taxFactor), addThrow), export).setScale(5, RoundingMode.HALF_EVEN);
|
|
|
+ BigDecimal keepAmt = BigDecimalUtil.subtract(BigDecimalUtil.add(receivable, addAmt), payable).setScale(5, RoundingMode.HALF_EVEN);
|
|
|
|
|
|
switch (type) {
|
|
|
case "jq":
|
|
|
@@ -506,9 +502,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
|
|
|
insFeeAuditService.feeAuditAdd(insOrders, baseController.getSystemCode());
|
|
|
// 发送订单状态变更消息
|
|
|
- this.orderStatusMessage(insOrders,
|
|
|
- insOrdersCarInfo, insOrdersCosts,
|
|
|
- baseController.getToken(), MessageCodeEnum.TEMPLATE_9);
|
|
|
+ this.orderStatusMessage(insOrders, insOrdersCarInfo, insOrdersCosts, baseController.getToken(), MessageCodeEnum.TEMPLATE_9);
|
|
|
if (nullOrders) {
|
|
|
InsOrders orders = insOrdersAdd.getInsOrders();
|
|
|
orders.setQuoteNo(insOrders.getQuoteNo());
|
|
|
@@ -563,9 +557,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
}
|
|
|
userList.add(insOrders.getCreateBy());
|
|
|
List<String> recerveLsit = new ArrayList<>(userList);
|
|
|
- orderMessageTemplate.SendOrderStatus(insOrders.getId(), template.getTplName(), content,
|
|
|
- recerveLsit,
|
|
|
- token, tplCode);
|
|
|
+ orderMessageTemplate.SendOrderStatus(insOrders.getId(), template.getTplName(), content, recerveLsit, token, tplCode);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -695,9 +687,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
InsOrdersTax existingTax = insOrdersTaxService.getById(quoteNo);
|
|
|
if (existingTax != null) {
|
|
|
// 存在则更新,只更新非空字段
|
|
|
- insOrdersTaxService.update(insOrdersTax,
|
|
|
- new LambdaUpdateWrapper<InsOrdersTax>()
|
|
|
- .eq(InsOrdersTax::getOrderNo, quoteNo));
|
|
|
+ insOrdersTaxService.update(insOrdersTax, new LambdaUpdateWrapper<InsOrdersTax>().eq(InsOrdersTax::getOrderNo, quoteNo));
|
|
|
} else {
|
|
|
// 不存在则插入
|
|
|
insOrdersTaxService.save(insOrdersTax);
|
|
|
@@ -724,9 +714,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
|
|
|
InsOrdersExternalPolicy ordersExternalPolicy = ordersEnd.getInsOrdersExternalPolicy();
|
|
|
ordersExternalPolicy.setOrderNo(String.valueOf(quoteNo));
|
|
|
- policyService.update(ordersExternalPolicy,
|
|
|
- new LambdaUpdateWrapper<InsOrdersExternalPolicy>()
|
|
|
- .eq(InsOrdersExternalPolicy::getOrderNo, String.valueOf(quoteNo)));
|
|
|
+ policyService.update(ordersExternalPolicy, new LambdaUpdateWrapper<InsOrdersExternalPolicy>().eq(InsOrdersExternalPolicy::getOrderNo, String.valueOf(quoteNo)));
|
|
|
|
|
|
|
|
|
// 返回成功信息,表示订单、车辆和用户信息修改成功
|
|
|
@@ -810,12 +798,10 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
}
|
|
|
|
|
|
// 费用信息
|
|
|
- InsFeeOrders insFeeOrders = insFeeOrdersMapper.selectOne(new LambdaQueryWrapper<InsFeeOrders>()
|
|
|
- .eq(InsFeeOrders::getOrderNo, insOrdersVo.getInsOrders().getId()));
|
|
|
+ InsFeeOrders insFeeOrders = insFeeOrdersMapper.selectOne(new LambdaQueryWrapper<InsFeeOrders>().eq(InsFeeOrders::getOrderNo, insOrdersVo.getInsOrders().getId()));
|
|
|
// 比例信息 分销员信息
|
|
|
if (insFeeOrders != null) {
|
|
|
- if (insFeeOrders.getFirstDistributorId() != null && insFeeOrders.getSecondDistributorId() != null &&
|
|
|
- insFeeOrders.getThirdDistributorId() != null) {
|
|
|
+ if (insFeeOrders.getFirstDistributorId() != null && insFeeOrders.getSecondDistributorId() != null && insFeeOrders.getThirdDistributorId() != null) {
|
|
|
HttpResult<SysUserJzgInfo> firstDistributor = orgClient.getUserInfoById(insFeeOrders.getFirstDistributorId());
|
|
|
HttpResult<SysUserJzgInfo> secondDistributor = orgClient.getUserInfoById(insFeeOrders.getSecondDistributorId());
|
|
|
HttpResult<SysUserJzgInfo> thirdDistributor = orgClient.getUserInfoById(insFeeOrders.getThirdDistributorId());
|
|
|
@@ -859,8 +845,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
insOrdersVo.setInsOrdersPdfUrl(new InsOrdersPdfUrl());
|
|
|
}
|
|
|
// 驾意险信息
|
|
|
- List<InsOrdersAccidentalDriving> insOrdersAccidentalDrivings = insOrdersAccidentalDrivingService
|
|
|
- .list(new LambdaQueryWrapper<InsOrdersAccidentalDriving>().eq(InsOrdersAccidentalDriving::getOrderNo, id));
|
|
|
+ List<InsOrdersAccidentalDriving> insOrdersAccidentalDrivings = insOrdersAccidentalDrivingService.list(new LambdaQueryWrapper<InsOrdersAccidentalDriving>().eq(InsOrdersAccidentalDriving::getOrderNo, id));
|
|
|
if (insOrdersAccidentalDrivings != null) {
|
|
|
List<AccidentalDrivingVo> accidentalDrivingVos = new ArrayList<>();
|
|
|
for (InsOrdersAccidentalDriving insOrdersAccidentalDriving : insOrdersAccidentalDrivings) {
|
|
|
@@ -883,8 +868,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
insOrdersVo.setAccidentalDrivings(accidentalDrivingVos);
|
|
|
}
|
|
|
// 特约查询
|
|
|
- List<InsOrdersClause> insOrdersClauseList = insOrdersClauseService
|
|
|
- .list(new LambdaQueryWrapper<InsOrdersClause>().eq(InsOrdersClause::getOrderNo, id));
|
|
|
+ List<InsOrdersClause> insOrdersClauseList = insOrdersClauseService.list(new LambdaQueryWrapper<InsOrdersClause>().eq(InsOrdersClause::getOrderNo, id));
|
|
|
if (insOrdersClauseList != null) {
|
|
|
List<InsCompanyClause> companyClauseList = new ArrayList<>();
|
|
|
for (InsOrdersClause insOrdersClause : insOrdersClauseList) {
|
|
|
@@ -956,12 +940,10 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
}
|
|
|
|
|
|
// 费用信息
|
|
|
- InsFeeOrders insFeeOrders = insFeeOrdersMapper.selectOne(new LambdaQueryWrapper<InsFeeOrders>()
|
|
|
- .eq(InsFeeOrders::getOrderNo, insOrdersVo.getInsOrders().getId()));
|
|
|
+ InsFeeOrders insFeeOrders = insFeeOrdersMapper.selectOne(new LambdaQueryWrapper<InsFeeOrders>().eq(InsFeeOrders::getOrderNo, insOrdersVo.getInsOrders().getId()));
|
|
|
// 比例信息 分销员信息
|
|
|
if (insFeeOrders != null) {
|
|
|
- if (insFeeOrders.getFirstDistributorId() != null && insFeeOrders.getSecondDistributorId() != null &&
|
|
|
- insFeeOrders.getThirdDistributorId() != null) {
|
|
|
+ if (insFeeOrders.getFirstDistributorId() != null && insFeeOrders.getSecondDistributorId() != null && insFeeOrders.getThirdDistributorId() != null) {
|
|
|
HttpResult<SysUserJzgInfo> firstDistributor = orgClient.getUserInfoById(insFeeOrders.getFirstDistributorId());
|
|
|
HttpResult<SysUserJzgInfo> secondDistributor = orgClient.getUserInfoById(insFeeOrders.getSecondDistributorId());
|
|
|
HttpResult<SysUserJzgInfo> thirdDistributor = orgClient.getUserInfoById(insFeeOrders.getThirdDistributorId());
|
|
|
@@ -992,8 +974,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
insOrdersVo.setInsOrdersPdfUrl(new InsOrdersPdfUrl());
|
|
|
}
|
|
|
// 驾意险信息
|
|
|
- List<InsOrdersAccidentalDriving> insOrdersAccidentalDrivings = insOrdersAccidentalDrivingService
|
|
|
- .list(new LambdaQueryWrapper<InsOrdersAccidentalDriving>().eq(InsOrdersAccidentalDriving::getOrderNo, id));
|
|
|
+ List<InsOrdersAccidentalDriving> insOrdersAccidentalDrivings = insOrdersAccidentalDrivingService.list(new LambdaQueryWrapper<InsOrdersAccidentalDriving>().eq(InsOrdersAccidentalDriving::getOrderNo, id));
|
|
|
if (insOrdersAccidentalDrivings != null) {
|
|
|
List<AccidentalDrivingVo> accidentalDrivingVos = new ArrayList<>();
|
|
|
for (InsOrdersAccidentalDriving insOrdersAccidentalDriving : insOrdersAccidentalDrivings) {
|
|
|
@@ -1008,8 +989,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
insOrdersVo.setAccidentalDrivings(accidentalDrivingVos);
|
|
|
}
|
|
|
// 特约查询
|
|
|
- List<InsOrdersClause> insOrdersClauseList = insOrdersClauseService
|
|
|
- .list(new LambdaQueryWrapper<InsOrdersClause>().eq(InsOrdersClause::getOrderNo, id));
|
|
|
+ List<InsOrdersClause> insOrdersClauseList = insOrdersClauseService.list(new LambdaQueryWrapper<InsOrdersClause>().eq(InsOrdersClause::getOrderNo, id));
|
|
|
if (insOrdersClauseList != null) {
|
|
|
List<InsCompanyClause> companyClauseList = new ArrayList<>();
|
|
|
for (InsOrdersClause insOrdersClause : insOrdersClauseList) {
|
|
|
@@ -1083,10 +1063,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
if (CollUtil.isEmpty(orderList)) {
|
|
|
return;
|
|
|
}
|
|
|
- Set<String> orderNoSet = orderList.stream()
|
|
|
- .map(OrderListVo::getNo)
|
|
|
- .filter(Objects::nonNull)
|
|
|
- .collect(Collectors.toSet());
|
|
|
+ Set<String> orderNoSet = orderList.stream().map(OrderListVo::getNo).filter(Objects::nonNull).collect(Collectors.toSet());
|
|
|
if (CollUtil.isEmpty(orderNoSet)) {
|
|
|
return;
|
|
|
}
|
|
|
@@ -1102,13 +1079,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
}
|
|
|
|
|
|
|
|
|
- Map<String, Map<String, List<OrderQuotationCompany>>> groupMap = insOrders.stream()
|
|
|
- .collect(Collectors.groupingBy(
|
|
|
- OrderQuotationCompany::getQuoteNo,
|
|
|
- Collectors.groupingBy(
|
|
|
- OrderQuotationCompany::getOrderStatus
|
|
|
- )
|
|
|
- ));
|
|
|
+ Map<String, Map<String, List<OrderQuotationCompany>>> groupMap = insOrders.stream().collect(Collectors.groupingBy(OrderQuotationCompany::getQuoteNo, Collectors.groupingBy(OrderQuotationCompany::getOrderStatus)));
|
|
|
for (OrderListVo orders : orderList) {
|
|
|
String orderNo = orders.getNo();
|
|
|
|
|
|
@@ -1159,20 +1130,11 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
|
|
|
@Override
|
|
|
public void setUserAreaCode(QuoteVo quoteVo) {
|
|
|
- HttpResult<PersonAreaVo> ownerAddress = orgClient.queryByAddress(
|
|
|
- quoteVo.getOwnersInfo().getAddr(), quoteVo.getOwnersInfo().getIdentifyNumber());
|
|
|
+ HttpResult<PersonAreaVo> ownerAddress = orgClient.queryByAddress(quoteVo.getOwnersInfo().getAddr(), quoteVo.getOwnersInfo().getIdentifyNumber());
|
|
|
|
|
|
- HttpResult<PersonAreaVo> insuredAddress = quoteVo.getOwnersInfo().getIdentifyNumber()
|
|
|
- .equals(quoteVo.getInsuredPersonInfo().getIdentifyNumber())
|
|
|
- ? ownerAddress
|
|
|
- : orgClient.queryByAddress(quoteVo.getInsuredPersonInfo().getAddr(), quoteVo.getInsuredPersonInfo().getIdentifyNumber());
|
|
|
+ HttpResult<PersonAreaVo> insuredAddress = quoteVo.getOwnersInfo().getIdentifyNumber().equals(quoteVo.getInsuredPersonInfo().getIdentifyNumber()) ? ownerAddress : orgClient.queryByAddress(quoteVo.getInsuredPersonInfo().getAddr(), quoteVo.getInsuredPersonInfo().getIdentifyNumber());
|
|
|
|
|
|
- HttpResult<PersonAreaVo> policyAddress = quoteVo.getPolicyHolderInfo().getIdentifyNumber()
|
|
|
- .equals(quoteVo.getOwnersInfo().getIdentifyNumber())
|
|
|
- ? ownerAddress
|
|
|
- : quoteVo.getPolicyHolderInfo().getIdentifyNumber().equals(quoteVo.getInsuredPersonInfo().getIdentifyNumber())
|
|
|
- ? insuredAddress
|
|
|
- : orgClient.queryByAddress(quoteVo.getPolicyHolderInfo().getAddr(), quoteVo.getPolicyHolderInfo().getIdentifyNumber());
|
|
|
+ HttpResult<PersonAreaVo> policyAddress = quoteVo.getPolicyHolderInfo().getIdentifyNumber().equals(quoteVo.getOwnersInfo().getIdentifyNumber()) ? ownerAddress : quoteVo.getPolicyHolderInfo().getIdentifyNumber().equals(quoteVo.getInsuredPersonInfo().getIdentifyNumber()) ? insuredAddress : orgClient.queryByAddress(quoteVo.getPolicyHolderInfo().getAddr(), quoteVo.getPolicyHolderInfo().getIdentifyNumber());
|
|
|
|
|
|
if (null != ownerAddress.getData()) {
|
|
|
quoteVo.getOwnersInfo().setProvinceCode(ownerAddress.getData().getProvinceCode());
|
|
|
@@ -1241,9 +1203,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
|
|
|
@Override
|
|
|
public List<EsmInsCompany> getExistCompany() {
|
|
|
- List<InsOrders> insOrders = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>()
|
|
|
- .select(InsOrders::getCompanyId)
|
|
|
- .groupBy(InsOrders::getCompanyId));
|
|
|
+ List<InsOrders> insOrders = insOrdersMapper.selectList(new LambdaQueryWrapper<InsOrders>().select(InsOrders::getCompanyId).groupBy(InsOrders::getCompanyId));
|
|
|
List<String> companyIds = insOrders.stream().filter(v -> !Objects.isNull(v) && StringUtils.isNotEmpty(v.getCompanyId())).map(InsOrders::getCompanyId).collect(Collectors.toList());
|
|
|
String joined = String.join(",", companyIds);
|
|
|
HttpResult<List<EsmInsCompany>> companyByIds = platformClient.getCompanyByIds(joined);
|
|
|
@@ -1283,9 +1243,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
insOrders.setPayLink(orderStatusResultVo.getPaymentLink());
|
|
|
insOrders.setPayTime(LocalDateTime.now());
|
|
|
// 发送订单状态变更消息
|
|
|
- this.orderStatusMessage(insOrders,
|
|
|
- insOrdersCarInfo, costs,
|
|
|
- baseController.getToken(), MessageCodeEnum.TEMPLATE_5);
|
|
|
+ this.orderStatusMessage(insOrders, insOrdersCarInfo, costs, baseController.getToken(), MessageCodeEnum.TEMPLATE_5);
|
|
|
}
|
|
|
if (orderStatusResultVo.getOrderStatus().equals(InsOrderStatusEnum.UNDERWRITED)) {
|
|
|
// 电销组业务员的订单变更为已承保时,检查出入口比例是否已修改,未修改则跳过财务审核
|
|
|
@@ -1293,10 +1251,8 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
String realQuoteUserId = insOrders.getRealQuoteUserId();
|
|
|
if (StrUtil.isNotBlank(realQuoteUserId)) {
|
|
|
HttpResult<SysUserJzgInfo> userResult = orgClient.queryUserByUserId(realQuoteUserId, systemCode);
|
|
|
- if (userResult != null && userResult.getCode() == 200 && userResult.getData() != null
|
|
|
- && "8".equals(userResult.getData().getTypeAttr())) {
|
|
|
- InsFeeOrders feeOrders = insFeeOrdersMapper.selectOne(new LambdaQueryWrapper<InsFeeOrders>()
|
|
|
- .eq(InsFeeOrders::getOrderNo, insOrders.getId()));
|
|
|
+ if (userResult != null && userResult.getCode() == 200 && userResult.getData() != null && "8".equals(userResult.getData().getTypeAttr())) {
|
|
|
+ InsFeeOrders feeOrders = insFeeOrdersMapper.selectOne(new LambdaQueryWrapper<InsFeeOrders>().eq(InsFeeOrders::getOrderNo, insOrders.getId()));
|
|
|
if (feeOrders == null || !Integer.valueOf(1).equals(feeOrders.getRatioModified())) {
|
|
|
skipFeeAudit = true;
|
|
|
log.info("电销组订单出入口比例未修改,跳过财务审核,订单号=[{}]", orderNo);
|
|
|
@@ -1314,9 +1270,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
// 更新父订单
|
|
|
baseMapper.updateById(baseInsOrders);
|
|
|
// 发送订单状态变更消息
|
|
|
- this.orderStatusMessage(insOrders,
|
|
|
- insOrdersCarInfo, costs,
|
|
|
- baseController.getToken(), MessageCodeEnum.TEMPLATE_6);
|
|
|
+ this.orderStatusMessage(insOrders, insOrdersCarInfo, costs, baseController.getToken(), MessageCodeEnum.TEMPLATE_6);
|
|
|
} else {
|
|
|
insOrders.setErrorMessage(orderStatusResultVo.getErrorMsg());
|
|
|
}
|
|
|
@@ -1431,12 +1385,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
Set<String> exportFields = new LinkedHashSet<>(Arrays.asList(exportDynamicFields.split(";")));
|
|
|
|
|
|
// 调用动态导出
|
|
|
- return exportBaseService.upLoadFileDynamic(
|
|
|
- OrderListVo.class,
|
|
|
- orderListVos,
|
|
|
- exportFields,
|
|
|
- "车险出单-订单管理-动态导出-" + Instant.now()
|
|
|
- );
|
|
|
+ return exportBaseService.upLoadFileDynamic(OrderListVo.class, orderListVos, exportFields, "车险出单-订单管理-动态导出-" + Instant.now());
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -1529,8 +1478,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
insOrdersRiskService.updateBatchById(insOrdersRiskList);
|
|
|
|
|
|
//更新费用
|
|
|
- InsOrdersCosts ordersCosts = insOrdersCostsService.getOne(new LambdaQueryWrapper<InsOrdersCosts>()
|
|
|
- .eq(InsOrdersCosts::getOrderNo, ordersNo));
|
|
|
+ InsOrdersCosts ordersCosts = insOrdersCostsService.getOne(new LambdaQueryWrapper<InsOrdersCosts>().eq(InsOrdersCosts::getOrderNo, ordersNo));
|
|
|
if (Objects.isNull(ordersCosts)) {
|
|
|
ordersCosts = new InsOrdersCosts();
|
|
|
ordersCosts.setOrderNo(ordersNo);
|
|
|
@@ -1558,8 +1506,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
|
|
|
//更新驾意险产品的保费
|
|
|
BigDecimal jyPremium = ordersCosts.getJyPremium();
|
|
|
- List<InsOrdersAccidentalDriving> accidentalDrivingList = insOrdersAccidentalDrivingService
|
|
|
- .list(new LambdaQueryWrapper<InsOrdersAccidentalDriving>().eq(InsOrdersAccidentalDriving::getOrderNo, ordersNo));
|
|
|
+ List<InsOrdersAccidentalDriving> accidentalDrivingList = insOrdersAccidentalDrivingService.list(new LambdaQueryWrapper<InsOrdersAccidentalDriving>().eq(InsOrdersAccidentalDriving::getOrderNo, ordersNo));
|
|
|
if (CollectionUtil.isNotEmpty(accidentalDrivingList) && jyPremium != null) {
|
|
|
// 按保费乘以数量计算每个驾意险的总保费
|
|
|
for (InsOrdersAccidentalDriving driving : accidentalDrivingList) {
|
|
|
@@ -1570,8 +1517,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
}
|
|
|
|
|
|
//更新评分
|
|
|
- InsOrdersOther ordersOther = insOrdersOtherService.getOne(new LambdaQueryWrapper<InsOrdersOther>()
|
|
|
- .eq(InsOrdersOther::getOrderNo, ordersNo));
|
|
|
+ InsOrdersOther ordersOther = insOrdersOtherService.getOne(new LambdaQueryWrapper<InsOrdersOther>().eq(InsOrdersOther::getOrderNo, ordersNo));
|
|
|
if (Objects.nonNull(ordersOther)) {
|
|
|
ordersOther = new InsOrdersOther();
|
|
|
ordersOther.setOrderNo(ordersNo);
|
|
|
@@ -1604,8 +1550,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
insOrdersPolicyService.saveOrUpdate(ordersPolicy);
|
|
|
|
|
|
//更新商业险种的保费
|
|
|
- List<InsOrdersKind> kindList = insOrdersKindService.list(new LambdaQueryWrapper<InsOrdersKind>()
|
|
|
- .eq(InsOrdersKind::getOrderNo, ordersNo));
|
|
|
+ List<InsOrdersKind> kindList = insOrdersKindService.list(new LambdaQueryWrapper<InsOrdersKind>().eq(InsOrdersKind::getOrderNo, ordersNo));
|
|
|
if (CollectionUtil.isNotEmpty(quoteResponse.getKindInfoVo())) {
|
|
|
quoteResponse.getKindInfoVo().forEach(kindInfoVo -> {
|
|
|
kindList.forEach(kind -> {
|
|
|
@@ -1623,9 +1568,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
insOrdersKindService.updateBatchById(kindList);
|
|
|
|
|
|
// 发送订单状态变更消息
|
|
|
- this.orderStatusMessage(insOrders, carInfo, ordersCosts,
|
|
|
- baseController.getToken(),
|
|
|
- MessageCodeEnum.TEMPLATE_1);
|
|
|
+ this.orderStatusMessage(insOrders, carInfo, ordersCosts, baseController.getToken(), MessageCodeEnum.TEMPLATE_1);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
@@ -1644,10 +1587,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
// 1个保险公司只有一个主订单 不区分险种
|
|
|
// 唯一性的判定标准:保险公司编号+ 车牌号 + 车架号
|
|
|
log.info("生成一个主订单和多个子订单:systemCode=[{}], quoteVo=[{}],companyName=[{}]", systemCode, JSONUtil.toJsonStr(quoteVo), companyName);
|
|
|
- InsOrders mainOrders = this.getMainOrders(
|
|
|
- quoteVo.getOrder().getInsuranceCompanyCode(),
|
|
|
- quoteVo.getCarInfoVo().getLicenseNo(),
|
|
|
- quoteVo.getCarInfoVo().getVinNo());
|
|
|
+ InsOrders mainOrders = this.getMainOrders(quoteVo.getOrder().getInsuranceCompanyCode(), quoteVo.getCarInfoVo().getLicenseNo(), quoteVo.getCarInfoVo().getVinNo());
|
|
|
boolean isExistsMainOrder = Objects.nonNull(mainOrders);
|
|
|
String mainOrderNo;
|
|
|
// 如果订单号为0 则生成主订单
|
|
|
@@ -1825,10 +1765,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
// 轨迹赋值
|
|
|
newOrder.setInsOrdersKindList(newKinds);
|
|
|
|
|
|
- InsOrdersTrack track = new InsOrdersTrack(JSON.toJSONString(oldOrder),
|
|
|
- JSON.toJSONString(newOrder),
|
|
|
- carInfo,
|
|
|
- insOrders);
|
|
|
+ InsOrdersTrack track = new InsOrdersTrack(JSON.toJSONString(oldOrder), JSON.toJSONString(newOrder), carInfo, insOrders);
|
|
|
trackService.save(track);
|
|
|
// 在报价的时候更新其他信息
|
|
|
// 更新订单其他信息 ins_orders_other
|
|
|
@@ -1878,9 +1815,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
}
|
|
|
|
|
|
// 影像资料
|
|
|
- List<InsTaskImages> imagesList = insTaskImagesService.list(new LambdaQueryWrapper<InsTaskImages>()
|
|
|
- .eq(InsTaskImages::getQuoteNo, insOrdersVo.getQuoteNo())
|
|
|
- .eq(InsTaskImages::getIsDelete, 0));
|
|
|
+ List<InsTaskImages> imagesList = insTaskImagesService.list(new LambdaQueryWrapper<InsTaskImages>().eq(InsTaskImages::getQuoteNo, insOrdersVo.getQuoteNo()).eq(InsTaskImages::getIsDelete, 0));
|
|
|
// List<ImagesVo> imageVoList = new ArrayList<>();
|
|
|
// for (InsTaskImages images : imagesList) {
|
|
|
// ImagesVo imagesVo = new ImagesVo();
|
|
|
@@ -1918,21 +1853,16 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
|
|
|
resultVo.setImageVoList(imageVoList);
|
|
|
// 支付码
|
|
|
- List<InsOrdersQrcode> qrcodes = insOrdersQrcodeMapper.selectList(new LambdaQueryWrapper<InsOrdersQrcode>()
|
|
|
- .eq(InsOrdersQrcode::getOrderno, ordersNo)
|
|
|
- .orderByDesc(InsOrdersQrcode::getCreatetime));
|
|
|
+ List<InsOrdersQrcode> qrcodes = insOrdersQrcodeMapper.selectList(new LambdaQueryWrapper<InsOrdersQrcode>().eq(InsOrdersQrcode::getOrderno, ordersNo).orderByDesc(InsOrdersQrcode::getCreatetime));
|
|
|
if (!qrcodes.isEmpty()) {
|
|
|
resultVo.setQrcode(qrcodes.get(0));
|
|
|
}
|
|
|
// 费用信息
|
|
|
- InsFeeOrders insFeeOrders = insFeeOrdersMapper.selectOne(new LambdaQueryWrapper<InsFeeOrders>()
|
|
|
- .eq(InsFeeOrders::getOrderNo, ordersNo));
|
|
|
+ InsFeeOrders insFeeOrders = insFeeOrdersMapper.selectOne(new LambdaQueryWrapper<InsFeeOrders>().eq(InsFeeOrders::getOrderNo, ordersNo));
|
|
|
|
|
|
// 比例信息 分销员信息
|
|
|
if (insFeeOrders != null) {
|
|
|
- if (insFeeOrders.getFirstDistributorId() != null &&
|
|
|
- insFeeOrders.getSecondDistributorId() != null &&
|
|
|
- insFeeOrders.getThirdDistributorId() != null) {
|
|
|
+ if (insFeeOrders.getFirstDistributorId() != null && insFeeOrders.getSecondDistributorId() != null && insFeeOrders.getThirdDistributorId() != null) {
|
|
|
HttpResult<SysUserJzgInfo> firstDistributor = orgClient.getUserInfoById(insFeeOrders.getFirstDistributorId());
|
|
|
HttpResult<SysUserJzgInfo> secondDistributor = orgClient.getUserInfoById(insFeeOrders.getSecondDistributorId());
|
|
|
HttpResult<SysUserJzgInfo> thirdDistributor = orgClient.getUserInfoById(insFeeOrders.getThirdDistributorId());
|
|
|
@@ -2198,15 +2128,9 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
BigDecimal firstDist = nvl(feeOrders.getFirstDistributionRatio());
|
|
|
BigDecimal secondDist = nvl(feeOrders.getSecondDistributionRatio());
|
|
|
BigDecimal thirdDist = nvl(feeOrders.getThirdDistributionRatio());
|
|
|
- feeOrders.setJqExportRatio(jqExport.compareTo(BigDecimal.ZERO) > 0
|
|
|
- ? div100(jqExport).subtract(div100(firstDist)).subtract(div100(secondDist)).subtract(div100(thirdDist))
|
|
|
- : BigDecimal.ZERO);
|
|
|
- feeOrders.setSyExportRatio(syExport.compareTo(BigDecimal.ZERO) > 0
|
|
|
- ? div100(syExport).subtract(div100(firstDist)).subtract(div100(secondDist)).subtract(div100(thirdDist))
|
|
|
- : BigDecimal.ZERO);
|
|
|
- feeOrders.setJyExportRatio(jyExport.compareTo(BigDecimal.ZERO) > 0
|
|
|
- ? div100(jyExport).subtract(div100(firstDist)).subtract(div100(secondDist)).subtract(div100(thirdDist))
|
|
|
- : BigDecimal.ZERO);
|
|
|
+ feeOrders.setJqExportRatio(jqExport.compareTo(BigDecimal.ZERO) > 0 ? div100(jqExport).subtract(div100(firstDist)).subtract(div100(secondDist)).subtract(div100(thirdDist)) : BigDecimal.ZERO);
|
|
|
+ feeOrders.setSyExportRatio(syExport.compareTo(BigDecimal.ZERO) > 0 ? div100(syExport).subtract(div100(firstDist)).subtract(div100(secondDist)).subtract(div100(thirdDist)) : BigDecimal.ZERO);
|
|
|
+ feeOrders.setJyExportRatio(jyExport.compareTo(BigDecimal.ZERO) > 0 ? div100(jyExport).subtract(div100(firstDist)).subtract(div100(secondDist)).subtract(div100(thirdDist)) : BigDecimal.ZERO);
|
|
|
|
|
|
feeOrders.setJqExportKeepPointRatio(div100(jqEKP));
|
|
|
feeOrders.setSyExportKeepPointRatio(div100(syEKP));
|
|
|
@@ -2236,12 +2160,8 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
}
|
|
|
|
|
|
// 8. 总应收/总应付
|
|
|
- feeOrders.setTotalReceivablePremium(feeOrders.getJqReceivablePremium()
|
|
|
- .add(feeOrders.getSyReceivablePremium()).add(feeOrders.getJyReceivablePremium())
|
|
|
- .setScale(5, RoundingMode.HALF_EVEN));
|
|
|
- feeOrders.setTotalPayablePremium(feeOrders.getJqPayablePremium()
|
|
|
- .add(feeOrders.getSyPayablePremium()).add(feeOrders.getJyPayablePremium())
|
|
|
- .setScale(2, RoundingMode.DOWN));
|
|
|
+ feeOrders.setTotalReceivablePremium(feeOrders.getJqReceivablePremium().add(feeOrders.getSyReceivablePremium()).add(feeOrders.getJyReceivablePremium()).setScale(5, RoundingMode.HALF_EVEN));
|
|
|
+ feeOrders.setTotalPayablePremium(feeOrders.getJqPayablePremium().add(feeOrders.getSyPayablePremium()).add(feeOrders.getJyPayablePremium()).setScale(2, RoundingMode.DOWN));
|
|
|
|
|
|
// 9. 出口费用(setScale(2,DOWN) 截断)& 出口留点费用
|
|
|
BigDecimal jqEOrigin = feeOrders.getJqExportRatio().multiply(jqPremium);
|
|
|
@@ -2269,8 +2189,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
diffs.add(distributionDiff);
|
|
|
feeOrders.setTotalExportDiffAmount(BigDecimalUtil.add(diffs));
|
|
|
|
|
|
- feeOrders.setAvailableAmount(jqE.add(syE).add(jyE).subtract(jqK).subtract(syK).subtract(jyK)
|
|
|
- .setScale(2, RoundingMode.HALF_UP));
|
|
|
+ feeOrders.setAvailableAmount(jqE.add(syE).add(jyE).subtract(jqK).subtract(syK).subtract(jyK).setScale(2, RoundingMode.HALF_UP));
|
|
|
feeOrders.setTotalExportPremium(jqE.add(syE).add(jyE));
|
|
|
feeOrders.setTotalExportKeepPointPremium(jqK.add(syK).add(jyK));
|
|
|
|
|
|
@@ -2283,8 +2202,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
/**
|
|
|
* 从请求参数构建费用类型配置VO
|
|
|
*/
|
|
|
- private PtlAgreementCostTypeVo buildCostType(BigDecimal inlet, BigDecimal addThrow,
|
|
|
- BigDecimal export, BigDecimal exportKeepPointRatio) {
|
|
|
+ private PtlAgreementCostTypeVo buildCostType(BigDecimal inlet, BigDecimal addThrow, BigDecimal export, BigDecimal exportKeepPointRatio) {
|
|
|
PtlAgreementCostTypeVo vo = new PtlAgreementCostTypeVo();
|
|
|
vo.setInlet(inlet);
|
|
|
vo.setAddThrow(addThrow);
|
|
|
@@ -2330,8 +2248,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
// 判断业务员所属机构是否开启分销
|
|
|
String deptId = userResult.getData().getDeptId();
|
|
|
HttpResult<SysDeptVo> deptResult = orgClient.deptGet(deptId);
|
|
|
- if (deptResult == null || deptResult.getData() == null
|
|
|
- || !"1".equals(deptResult.getData().getIsDistribution())) {
|
|
|
+ if (deptResult == null || deptResult.getData() == null || !"1".equals(deptResult.getData().getIsDistribution())) {
|
|
|
return BigDecimal.ZERO;
|
|
|
}
|
|
|
String level = sysDistributionSetting.getDistributionMode();
|
|
|
@@ -2388,9 +2305,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
continue;
|
|
|
}
|
|
|
if (StrUtil.isNotBlank(batchModifyVo.getUpdateAgreementId())) {
|
|
|
- insFeeOrdersMapper.update(null, new LambdaUpdateWrapper<InsFeeOrders>()
|
|
|
- .set(InsFeeOrders::getAgreementId, batchModifyVo.getUpdateAgreementId())
|
|
|
- .eq(InsFeeOrders::getOrderNo, orderNo));
|
|
|
+ insFeeOrdersMapper.update(null, new LambdaUpdateWrapper<InsFeeOrders>().set(InsFeeOrders::getAgreementId, batchModifyVo.getUpdateAgreementId()).eq(InsFeeOrders::getOrderNo, orderNo));
|
|
|
}
|
|
|
// add by lipf, 进行费用的修改
|
|
|
if (this.rationIsNotAllNull(batchModifyVo)) {
|
|
|
@@ -2402,22 +2317,14 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
}
|
|
|
log.info("车险订单[{}]对应的订单明细是[{}]", orderNo, JSONUtil.toJsonStr(oldInsOrders));
|
|
|
if (batchModifyVo.getSigningTime() != null) {
|
|
|
- baseMapper.update(null, new LambdaUpdateWrapper<InsOrders>()
|
|
|
- .set(InsOrders::getSigningTime, batchModifyVo.getSigningTime())
|
|
|
- .eq(InsOrders::getId, orderNo));
|
|
|
- insFeeOrdersMapper.update(null, new LambdaUpdateWrapper<InsFeeOrders>()
|
|
|
- .set(InsFeeOrders::getSigningTime, batchModifyVo.getSigningTime())
|
|
|
- .eq(InsFeeOrders::getOrderNo, orderNo));
|
|
|
+ baseMapper.update(null, new LambdaUpdateWrapper<InsOrders>().set(InsOrders::getSigningTime, batchModifyVo.getSigningTime()).eq(InsOrders::getId, orderNo));
|
|
|
+ insFeeOrdersMapper.update(null, new LambdaUpdateWrapper<InsFeeOrders>().set(InsFeeOrders::getSigningTime, batchModifyVo.getSigningTime()).eq(InsFeeOrders::getOrderNo, orderNo));
|
|
|
}
|
|
|
if (StrUtil.isNotBlank(batchModifyVo.getContractUserName())) {
|
|
|
- baseMapper.update(null, new LambdaUpdateWrapper<InsOrders>()
|
|
|
- .set(InsOrders::getDockingPerson, batchModifyVo.getContractUserName())
|
|
|
- .eq(InsOrders::getId, orderNo));
|
|
|
+ baseMapper.update(null, new LambdaUpdateWrapper<InsOrders>().set(InsOrders::getDockingPerson, batchModifyVo.getContractUserName()).eq(InsOrders::getId, orderNo));
|
|
|
}
|
|
|
if (StrUtil.isNotBlank(batchModifyVo.getContractPhone())) {
|
|
|
- baseMapper.update(null, new LambdaUpdateWrapper<InsOrders>()
|
|
|
- .set(InsOrders::getDockingPersonPhone, batchModifyVo.getContractPhone())
|
|
|
- .eq(InsOrders::getId, orderNo));
|
|
|
+ baseMapper.update(null, new LambdaUpdateWrapper<InsOrders>().set(InsOrders::getDockingPersonPhone, batchModifyVo.getContractPhone()).eq(InsOrders::getId, orderNo));
|
|
|
}
|
|
|
count++;
|
|
|
}
|
|
|
@@ -2631,12 +2538,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
* @date 2026/6/23 16:34
|
|
|
*/
|
|
|
private boolean rationIsNotAllNull(BatchModifyVo vo) {
|
|
|
- boolean hasSuperviseOrOtherCosts = vo.getJqSuperviseCostsProportion() != null
|
|
|
- || vo.getSySuperviseCostsProportion() != null
|
|
|
- || vo.getJySuperviseCostsProportion() != null
|
|
|
- || vo.getJqOtherCostsProportion() != null
|
|
|
- || vo.getSyOtherCostsProportion() != null
|
|
|
- || vo.getJyOtherCostsProportion() != null;
|
|
|
+ boolean hasSuperviseOrOtherCosts = vo.getJqSuperviseCostsProportion() != null || vo.getSySuperviseCostsProportion() != null || vo.getJySuperviseCostsProportion() != null || vo.getJqOtherCostsProportion() != null || vo.getSyOtherCostsProportion() != null || vo.getJyOtherCostsProportion() != null;
|
|
|
log.info("hasSuperviseOrOtherCosts=[{}]", hasSuperviseOrOtherCosts);
|
|
|
return hasSuperviseOrOtherCosts;
|
|
|
}
|