From b10d9b8fcbe9eddeb881690bbeddafc7f786077f Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期三, 14 五月 2025 16:12:13 +0800
Subject: [PATCH] 来票登记优化
---
src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java | 76 ++++++++++++++++++++++++++++++++-----
1 files changed, 65 insertions(+), 11 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 8057419..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,9 +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 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 {
@@ -37,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);
+ }
}
}
}
@@ -111,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