From f81c345f7bf058fdfe5fee6f0dfd5de0f4cb767c Mon Sep 17 00:00:00 2001 From: chenrui <1187576398@qq.com> Date: 星期一, 12 五月 2025 16:29:02 +0800 Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/product-inventory-management-after --- src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java | 76 +++++++++++++++++++++++++++++++++----- 1 files changed, 66 insertions(+), 10 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..3130872 100644 --- a/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java +++ b/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java @@ -1,11 +1,15 @@ 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.basic.excel.SupplierManageExcelDto; +import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.sales.dto.InvoiceRegistrationDto; import com.ruoyi.sales.dto.InvoiceRegistrationProductDto; +import com.ruoyi.sales.excel.InvoiceRegisAndProductExcelDto; import com.ruoyi.sales.mapper.InvoiceRegistrationMapper; import com.ruoyi.sales.mapper.InvoiceRegistrationProductMapper; import com.ruoyi.sales.pojo.InvoiceRegistration; @@ -16,7 +20,11 @@ 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.util.List; +import java.util.stream.Collectors; @Service public class InvoiceRegistrationServiceImpl extends ServiceImpl<InvoiceRegistrationMapper, InvoiceRegistration> implements InvoiceRegistrationService { @@ -35,19 +43,30 @@ */ @Override @Transactional(rollbackFor = Exception.class) - public void invoiceRegistrationAdd(InvoiceRegistrationDto invoiceRegistrationDto) { + public void invoiceRegistrationSaveOrUpdate(InvoiceRegistrationDto invoiceRegistrationDto) { InvoiceRegistration invoiceRegistration = new InvoiceRegistration(); BeanUtils.copyProperties(invoiceRegistrationDto, invoiceRegistration); - // 鏂板寮�绁ㄧ櫥璁� - invoiceRegistrationMapper.insert(invoiceRegistration); List<InvoiceRegistrationProductDto> productDtoList = invoiceRegistrationDto.getProductDtoList(); - // 鏂板寮�绁ㄤ骇鍝佺櫥璁� - if(CollectionUtils.isNotEmpty(productDtoList)){ - for (InvoiceRegistrationProductDto invoiceRegistrationProductDto : productDtoList) { - InvoiceRegistrationProduct invoiceRegistrationProduct = new InvoiceRegistrationProduct(); - BeanUtils.copyProperties(invoiceRegistrationProductDto, invoiceRegistrationProduct); - invoiceRegistrationProduct.setInvoiceRegistrationId(invoiceRegistration.getId()); - invoiceRegistrationProductMapper.insert(invoiceRegistrationProduct); + // 鏂板寮�绁ㄧ櫥璁� + if(invoiceRegistrationDto.getId() == null){ + invoiceRegistrationMapper.insert(invoiceRegistration); + // 鏂板寮�绁ㄤ骇鍝佺櫥璁� + if(CollectionUtils.isNotEmpty(productDtoList)){ + for (InvoiceRegistrationProductDto invoiceRegistrationProductDto : productDtoList) { + InvoiceRegistrationProduct invoiceRegistrationProduct = new InvoiceRegistrationProduct(); + BeanUtils.copyProperties(invoiceRegistrationProductDto, invoiceRegistrationProduct); + invoiceRegistrationProduct.setInvoiceRegistrationId(invoiceRegistration.getId()); + invoiceRegistrationProductMapper.insert(invoiceRegistrationProduct); + } + } + // 寮�绁ㄧ櫥璁颁慨鏀� + }else { + if(CollectionUtils.isNotEmpty(productDtoList)){ + for (InvoiceRegistrationProductDto invoiceRegistrationProductDto : productDtoList) { + InvoiceRegistrationProduct invoiceRegistrationProduct = new InvoiceRegistrationProduct(); + BeanUtils.copyProperties(invoiceRegistrationProductDto, invoiceRegistrationProduct); + invoiceRegistrationProductMapper.updateById(invoiceRegistrationProduct); + } } } } @@ -109,4 +128,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