From 279655b6eaade16ad70a755a970816bf7a40c996 Mon Sep 17 00:00:00 2001 From: liyong <18434998025@163.com> Date: 星期二, 01 七月 2025 10:11:03 +0800 Subject: [PATCH] 2025-07-01 bug修改 --- src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java | 42 +++++++++++++++++++++++++++++++++++++----- 1 files changed, 37 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java index cbc5b53..dad32cb 100644 --- a/src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java +++ b/src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java @@ -99,11 +99,12 @@ PurchaseLedger purchaseLedger = purchaseLedgerMapper.selectById(paymentRegistration.getPurchaseLedgerId()); SalesLedger salesLedger = salesLedgerMapper.selectOne(new QueryWrapper<SalesLedger>(). eq("sales_contract_no", purchaseLedger.getSalesContractNo())); - if (salesLedger == null) { - throw new RuntimeException("鍏宠仈閿�鍞悎鍚屽彿涓嶅瓨鍦�"); +// if (salesLedger == null) { +// throw new RuntimeException("鍏宠仈閿�鍞悎鍚屽彿涓嶅瓨鍦�"); +// } + if (salesLedger != null) { + paymentRegistration.setSaleLedgerId(salesLedger.getId()); } - - paymentRegistration.setSaleLedgerId(salesLedger.getId()); paymentRegistration.setSupplierId(purchaseLedger.getSupplierId()); TicketRegistration tr = ticketRegistrationMapper.selectOne(new LambdaQueryWrapper<TicketRegistration>().eq(TicketRegistration::getId, paymentRegistration.getTicketRegistrationId())); @@ -366,6 +367,7 @@ public List<PaymentHistoryRecordVo> getPaymentRecordList(Long supplierId) { List<PaymentHistoryRecordVo> paymentRecordList = paymentRegistrationMapper.getPaymentRecordList(supplierId); List<PaymentHistoryRecordVo> result = new ArrayList<>(); + List<PaymentHistoryRecordVo> newResult = new ArrayList<>(); // 搴斾粯鎬婚噾棰濋噾棰濊绠� BigDecimal amountTotal = BigDecimal.ZERO; if(CollectionUtils.isNotEmpty(paymentRecordList)) { @@ -402,8 +404,20 @@ result.add(paymentHistoryRecordVo); } + + for (int i = 0; i < result.size(); i++) { + PaymentHistoryRecordVo paymentHistoryRecordVo = result.get(i); + if (i == 0) { + paymentHistoryRecordVo.setPayableAmount(paymentHistoryRecordVo.getInvoiceAmount().subtract(paymentHistoryRecordVo.getCurrentPaymentAmount())); + }else { + PaymentHistoryRecordVo paymentHistoryRecordVo1 = result.get(i-1); + paymentHistoryRecordVo.setPayableAmount(paymentHistoryRecordVo1.getPayableAmount() + .add(paymentHistoryRecordVo.getInvoiceAmount()).subtract(paymentHistoryRecordVo.getCurrentPaymentAmount())); + } + newResult.add(paymentHistoryRecordVo); + } } - return result; + return newResult; } /** @@ -417,6 +431,24 @@ return paymentRegistrationMapper.paymentHistoryListPage(page, paymentRegistrationDto); } + @Override + public Boolean delete(Long[] ids) { + for (Long id : ids) { + List<ProductRecord> productRecords = productRecordMapper.selectList(new QueryWrapper<ProductRecord>().lambda().eq(ProductRecord::getTicketRegistrationId, id)); + for (ProductRecord productRecord : productRecords) { + SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectById(productRecord.getSaleLedgerProjectId()); + salesLedgerProduct.setTicketsNum(salesLedgerProduct.getTicketsNum().subtract(productRecord.getTicketsNum())); + salesLedgerProduct.setTicketsAmount(salesLedgerProduct.getTicketsAmount().subtract(productRecord.getTicketsAmount())); + salesLedgerProduct.setFutureTickets(salesLedgerProduct.getFutureTickets().add(productRecord.getTicketsNum())); + salesLedgerProduct.setFutureTicketsAmount(salesLedgerProduct.getFutureTicketsAmount().add(productRecord.getTicketsAmount())); + salesLedgerProductMapper.updateById(salesLedgerProduct); + } + ticketRegistrationMapper.delete(new QueryWrapper<TicketRegistration>().lambda().eq(TicketRegistration::getId, id)); + productRecordMapper.delete(new QueryWrapper<ProductRecord>().lambda().eq(ProductRecord::getTicketRegistrationId, id)); + } + return true; + } + // 鎵归噺鏌ヨ閲囪喘鍙拌处锛堝綋鏈堬級 private Map<Long, List<PurchaseLedger>> batchQueryPurchaseLedgers(List<Long> supplierIds, LocalDate startDate, LocalDate endDate) { LambdaQueryWrapper<PurchaseLedger> query = new LambdaQueryWrapper<>(); -- Gitblit v1.9.3