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