feat: 新增发票登记对话框回显已认领收票单接口
This commit is contained in:
+7
@@ -208,4 +208,11 @@ public class InvoiceReceiptController extends BladeController {
|
||||
public R<List<InvoiceReceipt>> claimCandidates(@RequestParam(required = false) String keyword) {
|
||||
return R.data(invoiceReceiptService.claimCandidates(keyword));
|
||||
}
|
||||
|
||||
@GetMapping("/claimed-list")
|
||||
@ApiOperationSupport(order = 19)
|
||||
@Operation(summary = "结算单已认领收票登记列表(先票后款:发票登记对话框回显已认领票)")
|
||||
public R<List<InvoiceReceipt>> claimedList(@RequestParam Long formalSettlementId) {
|
||||
return R.data(invoiceReceiptService.claimedReceipts(formalSettlementId));
|
||||
}
|
||||
}
|
||||
|
||||
+9
@@ -144,6 +144,15 @@ public interface IInvoiceReceiptService extends BaseService<InvoiceReceipt> {
|
||||
*/
|
||||
List<InvoiceReceipt> claimCandidates(String keyword);
|
||||
|
||||
/**
|
||||
* 结算单已认领收票登记列表(先票后款:发票登记对话框打开时回显已认领票):
|
||||
* 按认领关系查收票登记,与认领候选行结构一致(同一 InvoiceReceipt 实体)
|
||||
*
|
||||
* @param settlementId 正式结算单id
|
||||
* @return 本单已认领的收票登记
|
||||
*/
|
||||
List<InvoiceReceipt> claimedReceipts(Long settlementId);
|
||||
|
||||
/**
|
||||
* 结算单收票认领关系同步(先票后款:结算单保存/认领后由结算单侧调用):
|
||||
* 按行发票号匹配审批通过收票登记,一票一结算单校验(已挂其他有效应付结算单拦截),
|
||||
|
||||
+12
@@ -958,6 +958,18 @@ public class InvoiceReceiptServiceImpl extends BaseServiceImpl<InvoiceReceiptMap
|
||||
return approved.stream().filter(receipt -> !claimedReceiptIds.contains(receipt.getId())).toList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<InvoiceReceipt> claimedReceipts(Long settlementId) {
|
||||
List<InvoiceReceiptSettlement> relations = settlementRelationMapper.selectList(
|
||||
Wrappers.<InvoiceReceiptSettlement>lambdaQuery()
|
||||
.eq(InvoiceReceiptSettlement::getFormalSettlementId, settlementId));
|
||||
if (relations.isEmpty()) {
|
||||
return List.of();
|
||||
}
|
||||
return listByIds(relations.stream()
|
||||
.map(InvoiceReceiptSettlement::getInvoiceReceiptId).filter(Objects::nonNull).distinct().toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void syncSettlementReceiptRelations(Long settlementId, List<String> invoiceNos) {
|
||||
|
||||
Reference in New Issue
Block a user