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) {
|
public R<List<InvoiceReceipt>> claimCandidates(@RequestParam(required = false) String keyword) {
|
||||||
return R.data(invoiceReceiptService.claimCandidates(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);
|
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();
|
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
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void syncSettlementReceiptRelations(Long settlementId, List<String> invoiceNos) {
|
public void syncSettlementReceiptRelations(Long settlementId, List<String> invoiceNos) {
|
||||||
|
|||||||
Reference in New Issue
Block a user