|
|
@@ -19,7 +19,6 @@ import com.jzg.commons.entity.finance.dto.*;
|
|
|
import com.jzg.commons.entity.finance.po.*;
|
|
|
import com.jzg.commons.entity.finance.vo.*;
|
|
|
import com.jzg.commons.entity.orders.po.InsOrderAdjust;
|
|
|
-import com.jzg.commons.entity.orders.po.InsOrders;
|
|
|
import com.jzg.commons.entity.po.EsmInsCompany;
|
|
|
import com.jzg.commons.entity.po.InsFeeOrders;
|
|
|
import com.jzg.commons.entity.po.PtlAgreement;
|
|
|
@@ -161,9 +160,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
|
|
|
// if (count > 0){
|
|
|
// return false;
|
|
|
// }
|
|
|
- auditedOrder.forEach(item -> {
|
|
|
- item.setId(IdGenerate.nextId());
|
|
|
- });
|
|
|
+ auditedOrder.forEach(item -> item.setId(IdGenerate.nextId()));
|
|
|
return saveBatch(auditedOrder);
|
|
|
}
|
|
|
|
|
|
@@ -172,10 +169,26 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
|
|
|
return baseMapper.getReceivableCompany(invoicingVo);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 查询应收订单关联的所有对接人信息
|
|
|
+ *
|
|
|
+ * @param invoicingVo 包含应收订单编号级的对象
|
|
|
+ * @return HttpResult<List<ContractVO>> 应收订单关联的对接人信息
|
|
|
+ * @author lipf
|
|
|
+ * @date 2026/5/30 10:09
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public HttpResult<List<ContractVO>> queryReceivableContact(InvoicingVo invoicingVo) {
|
|
|
+ List<InsPlyIncome> insPlyIncomes = baseMapper.queryIncomeByIds(invoicingVo);
|
|
|
+ List<ContractVO> contractVOS = insPlyIncomes.stream().map(action -> new ContractVO(action.getContactPerson(), action.getContactPersonPhone())).distinct().toList();
|
|
|
+ log.info("根据订单编号查询得到的对接人信息[{}]个", CollUtil.size(contractVOS));
|
|
|
+ return HttpResult.ok(contractVOS);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 获取私有协议手续费列表
|
|
|
*
|
|
|
- * @param receivableQueryVo
|
|
|
+ * @param receivableQueryVo 列表查询条件
|
|
|
* @return Page<InsPlyIncome>
|
|
|
*/
|
|
|
@Override
|
|
|
@@ -203,7 +216,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
|
|
|
Page<InsPlyIncome> page = baseMapper.getReceivablePage(page1, receivableQueryVo);
|
|
|
List<InsPlyIncomeOrder> res = page.getRecords().stream()
|
|
|
.map(action -> new InsPlyIncomeOrder(action.getId(), action.getOrderNo())).toList();
|
|
|
- log.info("获取私有协议手续费应收列表的id集合。receivableQueryVo=[{}]. ids.size=[{}]", JSONUtil.toJsonStr(receivableQueryVo), CollUtil.size(res));
|
|
|
+ log.info("获取私有/平台协议手续费应收列表的id集合。receivableQueryVo=[{}]. ids.size=[{}]", JSONUtil.toJsonStr(receivableQueryVo), CollUtil.size(res));
|
|
|
return res;
|
|
|
}
|
|
|
|
|
|
@@ -244,6 +257,20 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
|
|
|
.collect(Collectors.toMap(IncomeDataVO.SearchVO::getName, Function.identity(), (ole_item, new_item) -> ole_item));
|
|
|
Set<String> names =searchVOMap.keySet();
|
|
|
|
|
|
+ Predicate<InsPlyIncome> contactPredicate = insPlyIncome -> {
|
|
|
+ if(!names.contains(IncomeDataVO.SearchVO.contactPerson)){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ IncomeDataVO.SearchVO searchVO = searchVOMap.get(IncomeDataVO.SearchVO.contactPerson);
|
|
|
+ String type = searchVO.getType();
|
|
|
+ String search = searchVO.getSearch();
|
|
|
+ if("等于".equals(type)){
|
|
|
+ return search.equals(insPlyIncome.getContactPersonPhone());
|
|
|
+ }else if("不等于".equals(type)){
|
|
|
+ return !search.equals(insPlyIncome.getContactPersonPhone());
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ };
|
|
|
// 保险公司
|
|
|
Predicate<InsPlyIncome> companyIdPredicate = insPlyIncome -> {
|
|
|
if(!names.contains(IncomeDataVO.SearchVO.companyId)){
|
|
|
@@ -467,12 +494,12 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
|
|
|
if("and".equalsIgnoreCase(incomeDataVO.getLogicJudge())){
|
|
|
Predicate<InsPlyIncome> and = companyIdPredicate.and(signDatePredicate).
|
|
|
and(ptlAgreementPredicate).and(orderTypePredicate).and(signYearPredicate).and(licenseNoPredicate)
|
|
|
- .and(jqPolicyNoPredicate).and(syPolicyNoPredicate);
|
|
|
+ .and(contactPredicate).and(jqPolicyNoPredicate).and(syPolicyNoPredicate);
|
|
|
filterIncomes = incomes.stream().filter(and).toList();
|
|
|
}else if ("or".equalsIgnoreCase(incomeDataVO.getLogicJudge())){
|
|
|
Predicate<InsPlyIncome> or = companyIdPredicate.or(signDatePredicate).
|
|
|
or(ptlAgreementPredicate).or(orderTypePredicate).or(signYearPredicate).or(licenseNoPredicate)
|
|
|
- .or(jqPolicyNoPredicate).or(syPolicyNoPredicate);
|
|
|
+ .or(contactPredicate).or(jqPolicyNoPredicate).or(syPolicyNoPredicate);
|
|
|
filterIncomes = incomes.stream().filter(or).toList();
|
|
|
}
|
|
|
}
|
|
|
@@ -541,7 +568,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
|
|
|
/**
|
|
|
* 查询订单绑定的发票信息
|
|
|
*
|
|
|
- * @param invoicingVo
|
|
|
+ * @param invoicingVo 应收订单的序号集
|
|
|
* @return List<String> 订单绑定的发票号
|
|
|
* @author lipf
|
|
|
* @date 2026/5/21 11:59
|
|
|
@@ -699,25 +726,25 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
|
|
|
|
|
|
// 私有手续费 应收金额
|
|
|
// 交强的总手续费(jq_commission_premium) + 商业的总手续费(sy_commission_premium)
|
|
|
- if (invoiceType.equals("1")) {
|
|
|
- return jqCommissionPremium.add(syCommissionPremium);
|
|
|
- } else if (invoiceType.equals("2")) {
|
|
|
- // 交强的总跟单费(jq_follow_premium) + 商业的总跟单费(sy_follow_premium)
|
|
|
- return jqFollowPremium.add(syFollowPremium);
|
|
|
- } else if (invoiceType.equals("3")) {
|
|
|
- // 驾意险的总手续费(jy_commission_premium)
|
|
|
- return jyCommissionPremium;
|
|
|
- } else if (invoiceType.equals("4")) {
|
|
|
- // 驾意险的总跟单费(jy_follow_premium)
|
|
|
- return jyFollowPremium;
|
|
|
- } else if (invoiceType.equals("5")) {
|
|
|
- // 交强的总手续费(jq_commission_premium) + 商业的总手续费(sy_commission_premium) + 交强的总跟单费(jq_follow_premium) + 商业的总跟单费(sy_follow_premium)
|
|
|
- return jqCommissionPremium.add(syCommissionPremium).add(jqFollowPremium).add(syFollowPremium);
|
|
|
- } else if (invoiceType.equals("6")) {
|
|
|
- // 驾意险的总手续费(jy_commission_premium) + 驾意险的总跟单费(jy_follow_premium)
|
|
|
- return jyCommissionPremium.add(jyFollowPremium);
|
|
|
- }
|
|
|
- return null;
|
|
|
+ return switch (invoiceType) {
|
|
|
+ case "1" -> jqCommissionPremium.add(syCommissionPremium);
|
|
|
+ case "2" ->
|
|
|
+ // 交强的总跟单费(jq_follow_premium) + 商业的总跟单费(sy_follow_premium)
|
|
|
+ jqFollowPremium.add(syFollowPremium);
|
|
|
+ case "3" ->
|
|
|
+ // 驾意险的总手续费(jy_commission_premium)
|
|
|
+ jyCommissionPremium;
|
|
|
+ case "4" ->
|
|
|
+ // 驾意险的总跟单费(jy_follow_premium)
|
|
|
+ jyFollowPremium;
|
|
|
+ case "5" ->
|
|
|
+ // 交强的总手续费(jq_commission_premium) + 商业的总手续费(sy_commission_premium) + 交强的总跟单费(jq_follow_premium) + 商业的总跟单费(sy_follow_premium)
|
|
|
+ jqCommissionPremium.add(syCommissionPremium).add(jqFollowPremium).add(syFollowPremium);
|
|
|
+ case "6" ->
|
|
|
+ // 驾意险的总手续费(jy_commission_premium) + 驾意险的总跟单费(jy_follow_premium)
|
|
|
+ jyCommissionPremium.add(jyFollowPremium);
|
|
|
+ default -> null;
|
|
|
+ };
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -751,7 +778,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
|
|
|
invoice.setReceivableSupervisePremium(invoicingVo.getReceivableSupervisePremium());
|
|
|
invoice.setTaxPoint(invoicingVo.getTaxPoint());
|
|
|
insPlyIncomeInvoiceMapper.insert(invoice);
|
|
|
- List<InsPlyIncomeInvoiceLink> invoicingLinkList = new ArrayList<InsPlyIncomeInvoiceLink>();
|
|
|
+ List<InsPlyIncomeInvoiceLink> invoicingLinkList = new ArrayList<>();
|
|
|
invoicingVo.getIncomeIds().forEach(incomeId -> {
|
|
|
InsPlyIncomeInvoiceLink link = new InsPlyIncomeInvoiceLink();
|
|
|
link.setId(IdGenerate.nextId());
|
|
|
@@ -805,42 +832,29 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
|
|
|
if (CollectionUtils.isEmpty(invoiceIds)) {
|
|
|
return false;
|
|
|
}
|
|
|
- long result = 0;
|
|
|
+ long result;
|
|
|
final String number = "1";
|
|
|
- switch (invoiceType) {
|
|
|
- case number:
|
|
|
- result = baseMapper.update(new LambdaUpdateWrapper<InsPlyIncome>()
|
|
|
- .in(InsPlyIncome::getId, invoiceIds)
|
|
|
- .set(InsPlyIncome::getSuperviseSettlement, number));
|
|
|
- break;
|
|
|
- case "2":
|
|
|
- result = baseMapper.update(new LambdaUpdateWrapper<InsPlyIncome>()
|
|
|
- .in(InsPlyIncome::getId, invoiceIds)
|
|
|
- .set(InsPlyIncome::getOtherSettlement, number));
|
|
|
- break;
|
|
|
- case "3":
|
|
|
- result = baseMapper.update(new LambdaUpdateWrapper<InsPlyIncome>()
|
|
|
- .in(InsPlyIncome::getId, invoiceIds)
|
|
|
- .set(InsPlyIncome::getJySuperviseSettlement, number));
|
|
|
- break;
|
|
|
- case "4":
|
|
|
- result = baseMapper.update(new LambdaUpdateWrapper<InsPlyIncome>()
|
|
|
- .in(InsPlyIncome::getId, invoiceIds)
|
|
|
- .set(InsPlyIncome::getJyOtherSettlement, number));
|
|
|
- break;
|
|
|
- case "5":
|
|
|
- result = baseMapper.update(new LambdaUpdateWrapper<InsPlyIncome>()
|
|
|
- .in(InsPlyIncome::getId, invoiceIds)
|
|
|
- .set(InsPlyIncome::getPlatformSuperviseSettlement, number).set(InsPlyIncome::getSettlementStatus, number));
|
|
|
- break;
|
|
|
- case "6":
|
|
|
- result = baseMapper.update(new LambdaUpdateWrapper<InsPlyIncome>()
|
|
|
- .in(InsPlyIncome::getId, invoiceIds)
|
|
|
- .set(InsPlyIncome::getPlatformOtherSettlement, number).set(InsPlyIncome::getSettlementStatus, number));
|
|
|
- break;
|
|
|
- default:
|
|
|
- result = 0;
|
|
|
- }
|
|
|
+ result = switch (invoiceType) {
|
|
|
+ case number -> baseMapper.update(new LambdaUpdateWrapper<InsPlyIncome>()
|
|
|
+ .in(InsPlyIncome::getId, invoiceIds)
|
|
|
+ .set(InsPlyIncome::getSuperviseSettlement, number));
|
|
|
+ case "2" -> baseMapper.update(new LambdaUpdateWrapper<InsPlyIncome>()
|
|
|
+ .in(InsPlyIncome::getId, invoiceIds)
|
|
|
+ .set(InsPlyIncome::getOtherSettlement, number));
|
|
|
+ case "3" -> baseMapper.update(new LambdaUpdateWrapper<InsPlyIncome>()
|
|
|
+ .in(InsPlyIncome::getId, invoiceIds)
|
|
|
+ .set(InsPlyIncome::getJySuperviseSettlement, number));
|
|
|
+ case "4" -> baseMapper.update(new LambdaUpdateWrapper<InsPlyIncome>()
|
|
|
+ .in(InsPlyIncome::getId, invoiceIds)
|
|
|
+ .set(InsPlyIncome::getJyOtherSettlement, number));
|
|
|
+ case "5" -> baseMapper.update(new LambdaUpdateWrapper<InsPlyIncome>()
|
|
|
+ .in(InsPlyIncome::getId, invoiceIds)
|
|
|
+ .set(InsPlyIncome::getPlatformSuperviseSettlement, number).set(InsPlyIncome::getSettlementStatus, number));
|
|
|
+ case "6" -> baseMapper.update(new LambdaUpdateWrapper<InsPlyIncome>()
|
|
|
+ .in(InsPlyIncome::getId, invoiceIds)
|
|
|
+ .set(InsPlyIncome::getPlatformOtherSettlement, number).set(InsPlyIncome::getSettlementStatus, number));
|
|
|
+ default -> 0;
|
|
|
+ };
|
|
|
return result > 0;
|
|
|
}
|
|
|
|
|
|
@@ -898,7 +912,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
|
|
|
invoice.setReceivableSupervisePremium(invoicingVo.getReceivablePremium());
|
|
|
invoice.setTaxPoint(invoicingVo.getTaxPoint());
|
|
|
|
|
|
- List<InsPlyIncomeInvoiceLink> invoicingLinkList = new ArrayList();
|
|
|
+ List<InsPlyIncomeInvoiceLink> invoicingLinkList = new ArrayList<>();
|
|
|
|
|
|
invoicingVo.getIncomeIds().forEach(incomeId -> {
|
|
|
InsPlyIncomeInvoiceLink link = new InsPlyIncomeInvoiceLink();
|
|
|
@@ -944,8 +958,8 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
|
|
|
insPlyIncomeInvoiceSettlementFileMapper.insert(files);
|
|
|
}
|
|
|
|
|
|
- // 判断是否已经结算完成
|
|
|
- if (surplusPremium.compareTo(settlementVo.getActualReceivedAmount()) == 0) {
|
|
|
+ // 判断是否已经结算完成, 考虑回款差额
|
|
|
+ if (surplusPremium.compareTo(settlementVo.getActualReceivedAmount().add(platformSettlementVo.getSettlementVo().getPaymentDifference())) == 0) {
|
|
|
log.info("序号为[{}]的发票已经结算完成",invoice.getId());
|
|
|
// 更新发票状态
|
|
|
invoice.setStatus("1");
|
|
|
@@ -1095,7 +1109,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
|
|
|
|
|
|
/**
|
|
|
* 导出应收开票模板
|
|
|
- * @return
|
|
|
+ * @return String 导出时的提示信息
|
|
|
*/
|
|
|
@Override
|
|
|
public String exportAccountsReceivableInvoiceTemplate() {
|
|
|
@@ -1323,9 +1337,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
|
|
|
List<String> incomeIds = new ArrayList<>();
|
|
|
insPlyIncomeInvoiceLinkMapper.selectList(new LambdaQueryWrapper<InsPlyIncomeInvoiceLink>()
|
|
|
.eq(InsPlyIncomeInvoiceLink::getInvoiceId, settlementVo.getInvoicingId()))
|
|
|
- .forEach(item -> {
|
|
|
- incomeIds.add(item.getIncomeId());
|
|
|
- });
|
|
|
+ .forEach(item -> incomeIds.add(item.getIncomeId()));
|
|
|
// 判断是需要更新哪个字段
|
|
|
this.updateIncomeSettlementStatus(insPlyIncomeInvoice.getInvoiceType(), incomeIds);
|
|
|
}else{
|
|
|
@@ -1353,8 +1365,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
|
|
|
EasyExcel.read(inputStream, SuperviseExcelVo.class, listener)
|
|
|
.sheet()
|
|
|
.doRead();
|
|
|
- List<SuperviseExcelVo> dataList = listener.getDataList();
|
|
|
- return dataList;
|
|
|
+ return listener.getDataList();
|
|
|
} catch (Exception e) {
|
|
|
log.error("导入excel异常。",e);
|
|
|
return null;
|
|
|
@@ -1368,10 +1379,9 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
|
|
|
EasyExcel.read(inputStream, OtherExcelVo.class, listener)
|
|
|
.sheet()
|
|
|
.doRead();
|
|
|
- List<OtherExcelVo> dataList = listener.getDataList();
|
|
|
- return dataList;
|
|
|
+ return listener.getDataList();
|
|
|
} catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
+ log.error("importOtherExcel异常",e);
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
@@ -1383,10 +1393,9 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
|
|
|
EasyExcel.read(inputStream, ReceivableExportExcelVo.class, listener)
|
|
|
.sheet()
|
|
|
.doRead();
|
|
|
- List<ReceivableExportExcelVo> dataList = listener.getDataList();
|
|
|
- return dataList;
|
|
|
+ return listener.getDataList();
|
|
|
} catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
+ log.info("importReceivableExcel异常",e);
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
@@ -1397,10 +1406,9 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
|
|
|
EasyExcel.read(inputStream, InvoiceReceivableExportExcelVo.class, listener)
|
|
|
.sheet()
|
|
|
.doRead();
|
|
|
- List<InvoiceReceivableExportExcelVo> dataList = listener.getDataList();
|
|
|
- return dataList;
|
|
|
+ return listener.getDataList();
|
|
|
} catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
+ log.error("importInvoiceReceivableExcel异常",e);
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
@@ -1412,10 +1420,9 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
|
|
|
EasyExcel.read(inputStream, OtherExcelVo.class, listener)
|
|
|
.sheet()
|
|
|
.doRead();
|
|
|
- List<JyExcelVo> dataList = listener.getDataList();
|
|
|
- return dataList;
|
|
|
+ return listener.getDataList();
|
|
|
} catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
+ log.info("importJyExcel异常",e);
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
@@ -1944,8 +1951,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
|
|
|
|
|
|
@Override
|
|
|
public List<InsPlyIncomeInvoiceSettlement> getInvoiceRecordDetail(String id) {
|
|
|
- List<InsPlyIncomeInvoiceSettlement> insPlyIncomeInvoiceSettlements = insPlyIncomeInvoiceSettlementMapper.selectList(new LambdaQueryWrapper<InsPlyIncomeInvoiceSettlement>().eq(InsPlyIncomeInvoiceSettlement::getInvoiceId, id));
|
|
|
- return insPlyIncomeInvoiceSettlements;
|
|
|
+ return insPlyIncomeInvoiceSettlementMapper.selectList(new LambdaQueryWrapper<InsPlyIncomeInvoiceSettlement>().eq(InsPlyIncomeInvoiceSettlement::getInvoiceId, id));
|
|
|
}
|
|
|
|
|
|
private void verifyUploadPath() throws IOException {
|
|
|
@@ -1959,8 +1965,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
|
|
|
/**
|
|
|
* 导出应收手续费数据 (车险)
|
|
|
*
|
|
|
- * @param receivableQueryVo
|
|
|
- * @return
|
|
|
+ * @param receivableQueryVo 导出数据的筛选条件
|
|
|
*/
|
|
|
@Override
|
|
|
public void exportSuperviseExcel(ReceivableQueryVo receivableQueryVo) {
|
|
|
@@ -2018,8 +2023,8 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
|
|
|
/**
|
|
|
* 应收手续费结算记录
|
|
|
*
|
|
|
- * @param settlementQueryVo
|
|
|
- * @return
|
|
|
+ * @param settlementQueryVo 查询条件
|
|
|
+ * @return Page<ExportSuperviseSettlementExcelDto>
|
|
|
*/
|
|
|
@Override
|
|
|
public Page<ExportSuperviseSettlementExcelDto> superviseSettlementExcel(Page page, SettlementQueryVo settlementQueryVo) {
|
|
|
@@ -2035,8 +2040,8 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
|
|
|
/**
|
|
|
* 平台协议结算记录
|
|
|
*
|
|
|
- * @param settlementQueryVo
|
|
|
- * @return
|
|
|
+ * @param settlementQueryVo 查询条件
|
|
|
+ * @return Page<ExportSuperviseSettlementExcelDto>
|
|
|
*/
|
|
|
@Override
|
|
|
public Page<ExportSuperviseSettlementExcelDto> platformSettlementExcel(Page page, SettlementQueryVo settlementQueryVo) {
|