From 63ccaee5545740122a9d58983aa75d9da9de7530 Mon Sep 17 00:00:00 2001 From: chenrui <1187576398@qq.com> Date: 星期一, 26 五月 2025 13:46:11 +0800 Subject: [PATCH] 回款登记功能修改 --- src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java | 88 +++++++++++++++++++++++++++++++++++++------ 1 files changed, 75 insertions(+), 13 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 eaf278b..7f8bd60 100644 --- a/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java +++ b/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java @@ -1,52 +1,77 @@ 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.dto.SalesLedgerDto; +import com.ruoyi.sales.excel.InvoiceRegisAndProductExcelDto; import com.ruoyi.sales.mapper.InvoiceRegistrationMapper; import com.ruoyi.sales.mapper.InvoiceRegistrationProductMapper; +import com.ruoyi.sales.mapper.SalesLedgerProductMapper; 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 java.util.Collections; +import javax.servlet.http.HttpServletResponse; import java.util.List; +import java.util.stream.Collectors; @Service public class InvoiceRegistrationServiceImpl extends ServiceImpl<InvoiceRegistrationMapper, InvoiceRegistration> implements InvoiceRegistrationService { + @Autowired private InvoiceRegistrationMapper invoiceRegistrationMapper; + @Autowired private InvoiceRegistrationProductMapper invoiceRegistrationProductMapper; + @Autowired + private SalesLedgerProductMapper salesLedgerProductMapper; /** - * 寮�绁ㄧ櫥璁版柊澧� - * @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(); + if(CollectionUtils.isNotEmpty(productData)){ + for (SalesLedgerProduct productDatum : productData) { + // 濡傛灉寮�绁ㄦ暟涓�0 璺宠繃 + Integer currentInvoiceNum = productDatum.getCurrentInvoiceNum(); + if(null == currentInvoiceNum || currentInvoiceNum == 0){ + continue; + } 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); } } } @@ -96,7 +121,7 @@ */ @Override public IPage<InvoiceRegistrationDto> invoiceRegistrationListPage(Page page, InvoiceRegistrationDto invoiceRegistrationDto) { - return null; + return invoiceRegistrationMapper.invoiceRegistrationListPage(page, invoiceRegistrationDto); } /** @@ -106,6 +131,43 @@ */ @Override public List<InvoiceRegistrationProductDto> invoiceRegistrationProductList(InvoiceRegistrationProductDto invoiceRegistrationProductDto) { - return Collections.emptyList(); + 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