From ab01a0f611c0adb97662bc8f548ca4a911ec8045 Mon Sep 17 00:00:00 2001 From: chenrui <1187576398@qq.com> Date: 星期五, 06 六月 2025 17:37:39 +0800 Subject: [PATCH] 分页修改 --- src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java | 95 +++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 83 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java index 012792a..a42850d 100644 --- a/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java +++ b/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java @@ -1,22 +1,32 @@ package com.ruoyi.sales.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.sales.dto.InvoiceRegistrationDto; import com.ruoyi.sales.dto.InvoiceRegistrationProductDto; -import com.ruoyi.sales.mapper.InvoiceRegistrationMapper; -import com.ruoyi.sales.mapper.InvoiceRegistrationProductMapper; +import com.ruoyi.sales.dto.SalesLedgerDto; +import com.ruoyi.sales.excel.InvoiceRegisAndProductExcelDto; +import com.ruoyi.sales.mapper.*; +import com.ruoyi.sales.pojo.InvoiceLedger; import com.ruoyi.sales.pojo.InvoiceRegistration; import com.ruoyi.sales.pojo.InvoiceRegistrationProduct; +import com.ruoyi.sales.pojo.SalesLedgerProduct; import com.ruoyi.sales.service.InvoiceRegistrationService; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; + +import javax.servlet.http.HttpServletResponse; +import java.math.BigDecimal; import java.util.List; +import java.util.stream.Collectors; @Service public class InvoiceRegistrationServiceImpl extends ServiceImpl<InvoiceRegistrationMapper, InvoiceRegistration> implements InvoiceRegistrationService { @@ -27,27 +37,51 @@ @Autowired private InvoiceRegistrationProductMapper invoiceRegistrationProductMapper; + @Autowired + private SalesLedgerProductMapper salesLedgerProductMapper; + + @Autowired + private InvoiceLedgerMapper invoiceLedgerMapper; /** - * 寮�绁ㄧ櫥璁版柊澧� - * @param invoiceRegistrationDto + * 寮�绁ㄧ櫥璁拌褰曟柊澧� + * @param salesLedgerDto * @return */ @Override @Transactional(rollbackFor = Exception.class) - public void invoiceRegistrationAdd(InvoiceRegistrationDto invoiceRegistrationDto) { + public void invoiceRegistrationSave(SalesLedgerDto salesLedgerDto) { InvoiceRegistration invoiceRegistration = new InvoiceRegistration(); - BeanUtils.copyProperties(invoiceRegistrationDto, invoiceRegistration); - // 鏂板寮�绁ㄧ櫥璁� + BeanUtils.copyProperties(salesLedgerDto, invoiceRegistration); + invoiceRegistration.setId(null); + invoiceRegistration.setCustomerId(salesLedgerDto.getCustomerId().intValue()); + invoiceRegistration.setSalesLedgerId(salesLedgerDto.getId().intValue()); invoiceRegistrationMapper.insert(invoiceRegistration); - List<InvoiceRegistrationProductDto> productDtoList = invoiceRegistrationDto.getProductDtoList(); - // 鏂板寮�绁ㄤ骇鍝佺櫥璁� - if(CollectionUtils.isNotEmpty(productDtoList)){ - for (InvoiceRegistrationProductDto invoiceRegistrationProductDto : productDtoList) { + List<SalesLedgerProduct> productData = salesLedgerDto.getProductData(); + BigDecimal invoiceAmountTotal = BigDecimal.ZERO; + if(CollectionUtils.isNotEmpty(productData)){ + for (SalesLedgerProduct productDatum : productData) { + // 濡傛灉寮�绁ㄦ暟涓�0 璺宠繃 + BigDecimal currentInvoiceNum = productDatum.getCurrentInvoiceNum(); + if(null != currentInvoiceNum && BigDecimal.ZERO.compareTo(currentInvoiceNum) == 0){ + continue; + } + invoiceAmountTotal = invoiceAmountTotal.add(currentInvoiceNum); InvoiceRegistrationProduct invoiceRegistrationProduct = new InvoiceRegistrationProduct(); - BeanUtils.copyProperties(invoiceRegistrationProductDto, invoiceRegistrationProduct); + BeanUtils.copyProperties(productDatum, invoiceRegistrationProduct); + invoiceRegistrationProduct.setId(null); + invoiceRegistrationProduct.setSalesLedgerId(salesLedgerDto.getId().intValue()); invoiceRegistrationProduct.setInvoiceRegistrationId(invoiceRegistration.getId()); + invoiceRegistrationProduct.setInvoiceAmount(productDatum.getCurrentInvoiceAmount()); + invoiceRegistrationProduct.setInvoiceNum(productDatum.getCurrentInvoiceNum()); + invoiceRegistrationProduct.setSalesLedgerProductId(productDatum.getId().intValue()); invoiceRegistrationProductMapper.insert(invoiceRegistrationProduct); + salesLedgerProductMapper.updateById(productDatum); + // 鏂板涓�鏉″紑绁ㄥ彴璐︽暟鎹� + InvoiceLedger invoiceLedger = new InvoiceLedger(); + invoiceLedger.setInvoiceRegistrationProductId(invoiceRegistrationProduct.getId()); + invoiceLedger.setInvoiceTotal(invoiceRegistrationProduct.getInvoiceAmount()); + invoiceLedgerMapper.insert(invoiceLedger); } } } @@ -109,4 +143,41 @@ public List<InvoiceRegistrationProductDto> invoiceRegistrationProductList(InvoiceRegistrationProductDto invoiceRegistrationProductDto) { return invoiceRegistrationProductMapper.invoiceRegistrationProductList(invoiceRegistrationProductDto); } + + /** + * 寮�绁ㄧ櫥璁拌鎯� + * @param id + * @return + */ + @Override + public InvoiceRegistrationDto invoiceRegistrationDetail(Integer id) { + InvoiceRegistration invoiceRegistration = invoiceRegistrationMapper.selectById(id); + if(ObjectUtils.isEmpty(invoiceRegistration)){ + throw new RuntimeException("寮�绁ㄧ櫥璁颁俊鎭煡鎵惧け璐�"); + } + InvoiceRegistrationDto invoiceRegistrationDto = new InvoiceRegistrationDto(); + BeanUtils.copyProperties(invoiceRegistration, invoiceRegistrationDto); + QueryWrapper<InvoiceRegistrationProduct> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("invoice_registration_id", id); + List<InvoiceRegistrationProduct> invoiceRegistrationProductList = invoiceRegistrationProductMapper.selectList(queryWrapper); + List<InvoiceRegistrationProductDto> invoiceRegistrationProductDtoList = invoiceRegistrationProductList.stream().map(item -> { + InvoiceRegistrationProductDto invoiceRegistrationProductDto = new InvoiceRegistrationProductDto(); + BeanUtils.copyProperties(item, invoiceRegistrationProductDto); + return invoiceRegistrationProductDto; + }).collect(Collectors.toList()); + invoiceRegistrationDto.setProductDtoList(invoiceRegistrationProductDtoList); + return invoiceRegistrationDto; + } + + /** + * 寮�绁ㄧ櫥璁板鍑� + * @param response + * @param invoiceRegistrationDto + */ + @Override + public void invoiceRegistrationExport(HttpServletResponse response, InvoiceRegistrationDto invoiceRegistrationDto) { + List<InvoiceRegisAndProductExcelDto> invoiceRegisAndProductExcelDtoList = invoiceRegistrationMapper.invoiceRegisAndProductExcelDtoList(); + ExcelUtil<InvoiceRegisAndProductExcelDto> util = new ExcelUtil<InvoiceRegisAndProductExcelDto>(InvoiceRegisAndProductExcelDto.class); + util.exportExcel(response, invoiceRegisAndProductExcelDtoList, "寮�绁ㄧ櫥璁颁俊鎭�"); + } } -- Gitblit v1.9.3