|
|
@@ -157,6 +157,8 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
|
|
|
private static final String PT_INVOICING_COMMISSION_LOCK = "PT_INVOICING_COMMISSION_LOCK:";
|
|
|
// 平台非车险结算锁
|
|
|
private static final String PT_INVOICING_OTHER_LOCK = "PT_INVOICING_OTHER_LOCK:";
|
|
|
+ @Autowired
|
|
|
+ private InsPlyIncomeMapper insPlyIncomeMapper;
|
|
|
|
|
|
|
|
|
/**
|
|
|
@@ -3853,6 +3855,44 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
|
|
|
log.info("batchModifyVo=[{}]", JSONUtil.toJsonStr(batchModifyVo));
|
|
|
HttpResult<String> updateOrdersRes = insFeeOrdersClient.updateOrdersBatch(batchModifyVo);
|
|
|
log.info("更新车险订单的结果:updateOrdersRes=[{}]", JSONUtil.toJsonStr(updateOrdersRes));
|
|
|
+
|
|
|
+ // 如果companyIds不为空,则执行保司信息修改逻辑
|
|
|
+ // 涉及表:ins_ply_income(未对账的才改)、ins_orders、ins_order_adjust
|
|
|
+ if (CollUtil.isNotEmpty(batchModifyVo.getCompanyIds())) {
|
|
|
+ List<String> companyIds = batchModifyVo.getCompanyIds();
|
|
|
+ // 获取新的保司ID(companyIds第一个元素)和合作保险公司ID(companyIds第二个元素,若不存在则使用保司ID)
|
|
|
+ String newCompanyId = CollUtil.getFirst(companyIds);
|
|
|
+ String newPartnerCompanyId = CollUtil.size(companyIds) > 1 ? CollUtil.getLast(companyIds) : newCompanyId;
|
|
|
+
|
|
|
+ // 1. 修改ins_ply_income表(仅修改未对账的数据)
|
|
|
+ // 调用setDisableFlagForOtherReceivable设置disableFlag:1-已对账(已开票),0-未对账(未开票)
|
|
|
+ String systemCode = baseController.getSystemCode();
|
|
|
+ this.setDisableFlagForOtherReceivable(incomeList, systemCode);
|
|
|
+
|
|
|
+ // 收集disableFlag=0(未对账/未开票)的应收订单ID,已对账的数据跳过不修改
|
|
|
+ List<String> updateIncomeIds = incomeList.stream()
|
|
|
+ .filter(income -> "0".equals(income.getDisableFlag()))
|
|
|
+ .map(InsPlyIncome::getId)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+ if (CollUtil.isNotEmpty(updateIncomeIds)) {
|
|
|
+ // ins_ply_income根据incomeIds修改companyId和partnerCompanyId
|
|
|
+ // 注意:companyName为@TableField(exist=false)非数据库字段,不需要更新
|
|
|
+ LambdaUpdateWrapper<InsPlyIncome> incomeUpdateWrapper = new LambdaUpdateWrapper<>();
|
|
|
+ incomeUpdateWrapper.set(InsPlyIncome::getCompanyId, newCompanyId)
|
|
|
+ .set(InsPlyIncome::getPartnerCompanyId, newPartnerCompanyId)
|
|
|
+ .in(InsPlyIncome::getId, updateIncomeIds);
|
|
|
+ baseMapper.update(null, incomeUpdateWrapper);
|
|
|
+ log.info("修改ins_ply_income保司信息完成,未对账数据条数: {}", updateIncomeIds.size());
|
|
|
+ } else {
|
|
|
+ log.info("没有未对账的应收订单需要修改保司信息");
|
|
|
+ }
|
|
|
+
|
|
|
+ // 2. 修改ins_orders和ins_order_adjust表(通过feignClient调用quotation-summary服务)
|
|
|
+ HttpResult<String> updateCompanyRes = insOrdersClient.updateCompanyBatch(batchModifyVo);
|
|
|
+ log.info("修改ins_orders和ins_order_adjust保司信息的结果:updateCompanyRes=[{}]", JSONUtil.toJsonStr(updateCompanyRes));
|
|
|
+ }
|
|
|
+
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
@@ -4709,6 +4749,8 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
|
|
|
Page<InsPlyIncome> page = baseMapper.getReceivablePage(receivableQueryVo.getPage(), receivableQueryVo);
|
|
|
List<InsPlyIncome> records = page.getRecords();
|
|
|
records = this.fillOtherInfo(records,null);
|
|
|
+ // 过滤业务来源
|
|
|
+ records = records.stream().filter(income -> StrUtil.isBlank(receivableQueryVo.getTypeAttr()) || receivableQueryVo.getTypeAttr().equals(income.getTypeAttr())).collect(Collectors.toList());
|
|
|
page.setRecords(records);
|
|
|
return page;
|
|
|
}
|