From e8304b5b39787b25eb024fafd00d7db512ee6438 Mon Sep 17 00:00:00 2001 From: liding <756868258@qq.com> Date: 星期一, 19 五月 2025 09:02:44 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/java/com/ruoyi/sales/service/impl/InvoiceLedgerServiceImpl.java | 72 +++++++++++++++++++++++++++++++++--- 1 files changed, 66 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/ruoyi/sales/service/impl/InvoiceLedgerServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/InvoiceLedgerServiceImpl.java index 6582757..89520b4 100644 --- a/src/main/java/com/ruoyi/sales/service/impl/InvoiceLedgerServiceImpl.java +++ b/src/main/java/com/ruoyi/sales/service/impl/InvoiceLedgerServiceImpl.java @@ -6,18 +6,16 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.basic.dto.SupplierManageDto; -import com.ruoyi.basic.excel.SupplierManageExcelDto; -import com.ruoyi.common.constant.Constants; -import com.ruoyi.common.utils.file.FileUploadUtils; -import com.ruoyi.common.utils.file.FileUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.vo.FileVo; import com.ruoyi.sales.dto.InvoiceLedgerDto; import com.ruoyi.sales.excel.InvoiceLedgerExcelDto; import com.ruoyi.sales.mapper.InvoiceLedgerFileMapper; import com.ruoyi.sales.mapper.InvoiceLedgerMapper; +import com.ruoyi.sales.mapper.ReceiptPaymentMapper; import com.ruoyi.sales.pojo.InvoiceLedger; import com.ruoyi.sales.pojo.InvoiceLedgerFile; +import com.ruoyi.sales.pojo.ReceiptPayment; import com.ruoyi.sales.service.InvoiceLedgerService; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.BeanUtils; @@ -30,7 +28,8 @@ import javax.servlet.http.HttpServletResponse; import java.io.File; -import java.util.ArrayList; +import java.math.BigDecimal; +import java.util.Collections; import java.util.List; import java.util.UUID; import java.util.stream.Collectors; @@ -46,6 +45,9 @@ @Autowired private InvoiceLedgerFileMapper invoiceLedgerFileMapper; + + @Autowired + private ReceiptPaymentMapper receiptPaymentMapper; /** * 寮�绁ㄥ彴璐︽柊澧� @@ -147,7 +149,7 @@ * @return */ @Override - public void invoiceLedgerDownload(HttpServletResponse response, InvoiceLedgerDto invoiceLedgerDto) { + public void invoiceLedgerExport(HttpServletResponse response, InvoiceLedgerDto invoiceLedgerDto) { List<InvoiceLedgerDto> invoiceLedgerDtoList = invoiceLedgerMapper.invoiceLedgerList(invoiceLedgerDto); List<InvoiceLedgerExcelDto> invoiceLedgerExcelDtoList = invoiceLedgerDtoList.stream().map(item -> { InvoiceLedgerExcelDto invoiceLedgerExcelDto = new InvoiceLedgerExcelDto(); @@ -182,4 +184,62 @@ return invoiceLedgerDto; } + /** + * 闄勪欢鎻愪氦 + * @param invoiceLedgerDto + * @return + */ + @Override + public void invoiceLedgerCommitFile(InvoiceLedgerDto invoiceLedgerDto) { + if(null == invoiceLedgerDto.getId()){ + throw new RuntimeException("缂哄皯鍙戠エ鍙拌处涓婚敭"); + } + if(CollectionUtils.isEmpty(invoiceLedgerDto.getFileList())){ + throw new RuntimeException("缂哄皯鏂囦欢淇℃伅"); + } + List<FileVo> fileList = invoiceLedgerDto.getFileList(); + fileList.forEach(fileVo -> { + InvoiceLedgerFile invoiceLedgerFile = new InvoiceLedgerFile(); + BeanUtils.copyProperties(fileVo, invoiceLedgerFile); + invoiceLedgerFile.setInvoiceLedgerId(invoiceLedgerDto.getId()); + invoiceLedgerFileMapper.insert(invoiceLedgerFile); + }); + } + + /** + * 寮�绁ㄥ彴璐︽煡璇� + * @param invoiceLedgerDto + * @return + */ + @Override + public List<InvoiceLedgerDto> invoiceLedgerList(InvoiceLedgerDto invoiceLedgerDto) { + return invoiceLedgerMapper.invoiceLedgerList(invoiceLedgerDto); + } + + /** + * 瀹㈡埛閿�鍞褰� + * @param page + * @param invoiceLedgerDto + * @return + */ + @Override + public IPage<InvoiceLedgerDto> invoiceLedgerSalesAccount(Page page, InvoiceLedgerDto invoiceLedgerDto) { + IPage<InvoiceLedgerDto> invoiceLedgerDtoIPage = invoiceLedgerMapper.invoiceLedgerSalesAccount(page, invoiceLedgerDto); + for (InvoiceLedgerDto record : invoiceLedgerDtoIPage.getRecords()) { + QueryWrapper<ReceiptPayment> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("customer_id", record.getCustomerId()); + List<ReceiptPayment> receiptPaymentList = receiptPaymentMapper.selectList(queryWrapper); + BigDecimal totalAmount = BigDecimal.ZERO; + if(!CollectionUtils.isEmpty(receiptPaymentList)){ + for (ReceiptPayment receiptPayment : receiptPaymentList) { + totalAmount = totalAmount.add(receiptPayment.getInvoiceAmount()); + } + } + BigDecimal unReceiptPaymentAmount = record.getInvoiceAmount().subtract(totalAmount); + record.setReceiptPaymentAmount(totalAmount); + record.setUnReceiptPaymentAmount(unReceiptPaymentAmount); + } + return invoiceLedgerDtoIPage; + } + } -- Gitblit v1.9.3