|
|
@@ -4413,36 +4413,38 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
|
|
|
exportSuperviseSettlementDetailExcelDtos = baseMapper.getSuperviseSettlementDetailExcelDtos(page, settlementQueryVo);
|
|
|
}
|
|
|
if (CollUtil.isNotEmpty(exportSuperviseSettlementDetailExcelDtos.getRecords())){
|
|
|
- // 根据invoiceId关联查询ins_ply_income_invoice_settlement表
|
|
|
- LambdaQueryWrapper<InsPlyIncomeInvoiceSettlement> insPlyIncomeInvoiceSettlementLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
- insPlyIncomeInvoiceSettlementLambdaQueryWrapper.in(InsPlyIncomeInvoiceSettlement::getInvoiceId, exportSuperviseSettlementDetailExcelDtos.getRecords().stream().map(ExportSuperviseSettlementDetailExcelDto::getInvoiceId).toList());
|
|
|
- insPlyIncomeInvoiceSettlementLambdaQueryWrapper.eq(InsPlyIncomeInvoiceSettlement::getIsDelete, 0);
|
|
|
- if (StrUtil.isNotBlank(settlementQueryVo.getSettlementPerson())){
|
|
|
- // 结算人
|
|
|
- insPlyIncomeInvoiceSettlementLambdaQueryWrapper.eq(InsPlyIncomeInvoiceSettlement::getCreateBy, settlementQueryVo.getSettlementPerson());
|
|
|
- }
|
|
|
- if (StrUtil.isNotBlank(settlementQueryVo.getSettlementTimeStart()) && StrUtil.isNotBlank(settlementQueryVo.getSettlementTimeEnd())) {
|
|
|
- // 结算时间
|
|
|
- insPlyIncomeInvoiceSettlementLambdaQueryWrapper.between(StrUtil.isNotBlank(settlementQueryVo.getSettlementTimeStart()) && StrUtil.isNotBlank(settlementQueryVo.getSettlementTimeEnd()),
|
|
|
- InsPlyIncomeInvoiceSettlement::getCreateTime, settlementQueryVo.getSettlementTimeStart(), settlementQueryVo.getSettlementTimeEnd());
|
|
|
- }
|
|
|
- List<InsPlyIncomeInvoiceSettlement> insPlyIncomeInvoiceSettlements = insPlyIncomeInvoiceSettlementMapper.selectList(insPlyIncomeInvoiceSettlementLambdaQueryWrapper);
|
|
|
- // 如果结算记录不为空,且结算人、结算时间不为空,则根据结算记录的invoiceId过滤列表
|
|
|
Map<String, InsPlyIncomeInvoiceSettlement> settlementMap = new HashMap<>();
|
|
|
- if (CollUtil.isNotEmpty(insPlyIncomeInvoiceSettlements)){
|
|
|
- if (StrUtil.isNotBlank(settlementQueryVo.getSettlementPerson()) || (StrUtil.isNotBlank(settlementQueryVo.getSettlementTimeStart()) && StrUtil.isNotBlank(settlementQueryVo.getSettlementTimeEnd()))) {
|
|
|
- List<String> invoiceList = insPlyIncomeInvoiceSettlements.stream().map(InsPlyIncomeInvoiceSettlement::getInvoiceId).toList();
|
|
|
- // filter:lambda 返回 true 的元素留下,false 的剔除
|
|
|
- exportSuperviseSettlementDetailExcelDtos.setRecords(exportSuperviseSettlementDetailExcelDtos.getRecords().stream().filter(detail -> invoiceList.contains(detail.getInvoiceId())).toList());
|
|
|
+ if (!(settlementQueryVo.getInvoiceTypes().contains("5") && settlementQueryVo.getInvoiceTypes().contains("6"))) {
|
|
|
+ // 根据invoiceId关联查询ins_ply_income_invoice_settlement表
|
|
|
+ LambdaQueryWrapper<InsPlyIncomeInvoiceSettlement> insPlyIncomeInvoiceSettlementLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ insPlyIncomeInvoiceSettlementLambdaQueryWrapper.in(InsPlyIncomeInvoiceSettlement::getInvoiceId, exportSuperviseSettlementDetailExcelDtos.getRecords().stream().map(ExportSuperviseSettlementDetailExcelDto::getInvoiceId).toList());
|
|
|
+ insPlyIncomeInvoiceSettlementLambdaQueryWrapper.eq(InsPlyIncomeInvoiceSettlement::getIsDelete, 0);
|
|
|
+ if (StrUtil.isNotBlank(settlementQueryVo.getSettlementPerson())) {
|
|
|
+ // 结算人
|
|
|
+ insPlyIncomeInvoiceSettlementLambdaQueryWrapper.eq(InsPlyIncomeInvoiceSettlement::getCreateBy, settlementQueryVo.getSettlementPerson());
|
|
|
}
|
|
|
+ if (StrUtil.isNotBlank(settlementQueryVo.getSettlementTimeStart()) && StrUtil.isNotBlank(settlementQueryVo.getSettlementTimeEnd())) {
|
|
|
+ // 结算时间
|
|
|
+ insPlyIncomeInvoiceSettlementLambdaQueryWrapper.between(StrUtil.isNotBlank(settlementQueryVo.getSettlementTimeStart()) && StrUtil.isNotBlank(settlementQueryVo.getSettlementTimeEnd()),
|
|
|
+ InsPlyIncomeInvoiceSettlement::getCreateTime, settlementQueryVo.getSettlementTimeStart(), settlementQueryVo.getSettlementTimeEnd());
|
|
|
+ }
|
|
|
+ List<InsPlyIncomeInvoiceSettlement> insPlyIncomeInvoiceSettlements = insPlyIncomeInvoiceSettlementMapper.selectList(insPlyIncomeInvoiceSettlementLambdaQueryWrapper);
|
|
|
+ // 如果结算记录不为空,且结算人、结算时间不为空,则根据结算记录的invoiceId过滤列表
|
|
|
+ if (CollUtil.isNotEmpty(insPlyIncomeInvoiceSettlements)) {
|
|
|
+ if (StrUtil.isNotBlank(settlementQueryVo.getSettlementPerson()) || (StrUtil.isNotBlank(settlementQueryVo.getSettlementTimeStart()) && StrUtil.isNotBlank(settlementQueryVo.getSettlementTimeEnd()))) {
|
|
|
+ List<String> invoiceList = insPlyIncomeInvoiceSettlements.stream().map(InsPlyIncomeInvoiceSettlement::getInvoiceId).toList();
|
|
|
+ // filter:lambda 返回 true 的元素留下,false 的剔除
|
|
|
+ exportSuperviseSettlementDetailExcelDtos.setRecords(exportSuperviseSettlementDetailExcelDtos.getRecords().stream().filter(detail -> invoiceList.contains(detail.getInvoiceId())).toList());
|
|
|
+ }
|
|
|
|
|
|
- // 冲突时保留旧值(第一条)
|
|
|
- settlementMap = insPlyIncomeInvoiceSettlements.stream()
|
|
|
- .collect(Collectors.toMap(
|
|
|
- InsPlyIncomeInvoiceSettlement::getInvoiceId,
|
|
|
- Function.identity(),
|
|
|
- (oldVal, newVal) -> oldVal
|
|
|
- ));
|
|
|
+ // 冲突时保留旧值(第一条)
|
|
|
+ settlementMap = insPlyIncomeInvoiceSettlements.stream()
|
|
|
+ .collect(Collectors.toMap(
|
|
|
+ InsPlyIncomeInvoiceSettlement::getInvoiceId,
|
|
|
+ Function.identity(),
|
|
|
+ (oldVal, newVal) -> oldVal
|
|
|
+ ));
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
final Map<String, InsPlyIncomeInvoiceSettlement> finalSettlementMap = settlementMap;
|