From beeba1259f983a5f92e6b8137d2fb05389f184b4 Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期二, 27 五月 2025 11:39:43 +0800
Subject: [PATCH] 开票台账功能修改

---
 src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml     |   85 +++++++++++++++++++++++++++++-------------
 src/main/java/com/ruoyi/sales/dto/InvoiceRegistrationProductDto.java     |    2 +
 src/main/java/com/ruoyi/sales/service/impl/InvoiceLedgerServiceImpl.java |   12 ++++--
 src/main/java/com/ruoyi/sales/controller/InvoiceLedgerController.java    |    6 +-
 src/main/java/com/ruoyi/sales/service/InvoiceLedgerService.java          |    4 +-
 5 files changed, 73 insertions(+), 36 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/controller/InvoiceLedgerController.java b/src/main/java/com/ruoyi/sales/controller/InvoiceLedgerController.java
index 650dbaa..f3ddc45 100644
--- a/src/main/java/com/ruoyi/sales/controller/InvoiceLedgerController.java
+++ b/src/main/java/com/ruoyi/sales/controller/InvoiceLedgerController.java
@@ -85,12 +85,12 @@
     /**
      * 寮�绁ㄥ彴璐﹀鍑�
      * @param response
-     * @param invoiceLedgerDto
+     * @param invoiceRegistrationProductDto
      * @return
      */
     @PostMapping("/export")
-    public void invoiceLedgerExport(HttpServletResponse response, InvoiceLedgerDto invoiceLedgerDto) {
-        invoiceLedgerService.invoiceLedgerExport(response, invoiceLedgerDto);
+    public void invoiceLedgerExport(HttpServletResponse response, InvoiceRegistrationProductDto invoiceRegistrationProductDto) {
+        invoiceLedgerService.invoiceLedgerExport(response, invoiceRegistrationProductDto);
     }
 
     /**
diff --git a/src/main/java/com/ruoyi/sales/dto/InvoiceRegistrationProductDto.java b/src/main/java/com/ruoyi/sales/dto/InvoiceRegistrationProductDto.java
index 13819da..6edc5f0 100644
--- a/src/main/java/com/ruoyi/sales/dto/InvoiceRegistrationProductDto.java
+++ b/src/main/java/com/ruoyi/sales/dto/InvoiceRegistrationProductDto.java
@@ -46,4 +46,6 @@
     @ApiModelProperty(value = "鍙戠エ鏂囦欢鍚�")
     private String invoiceFileName;
 
+    private String searchText;
+
 }
diff --git a/src/main/java/com/ruoyi/sales/service/InvoiceLedgerService.java b/src/main/java/com/ruoyi/sales/service/InvoiceLedgerService.java
index 5a3b6fb..fc64488 100644
--- a/src/main/java/com/ruoyi/sales/service/InvoiceLedgerService.java
+++ b/src/main/java/com/ruoyi/sales/service/InvoiceLedgerService.java
@@ -54,10 +54,10 @@
     /**
      * 闄勪欢涓嬭浇
      * @param response
-     * @param invoiceLedgerDto
+     * @param invoiceRegistrationProductDto
      * @return
      */
-    void invoiceLedgerExport(HttpServletResponse response ,InvoiceLedgerDto invoiceLedgerDto);
+    void invoiceLedgerExport(HttpServletResponse response ,InvoiceRegistrationProductDto invoiceRegistrationProductDto);
 
     /**
      * 寮�绁ㄥ彴璐﹁鎯�
diff --git a/src/main/java/com/ruoyi/sales/service/impl/InvoiceLedgerServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/InvoiceLedgerServiceImpl.java
index 55a2f7a..9ce10fb 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/InvoiceLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/InvoiceLedgerServiceImpl.java
@@ -12,6 +12,7 @@
 import com.ruoyi.sales.excel.InvoiceLedgerExcelDto;
 import com.ruoyi.sales.mapper.InvoiceLedgerFileMapper;
 import com.ruoyi.sales.mapper.InvoiceLedgerMapper;
+import com.ruoyi.sales.mapper.InvoiceRegistrationMapper;
 import com.ruoyi.sales.mapper.InvoiceRegistrationProductMapper;
 import com.ruoyi.sales.pojo.InvoiceLedger;
 import com.ruoyi.sales.pojo.InvoiceLedgerFile;
@@ -49,6 +50,9 @@
 
     @Autowired
     private InvoiceRegistrationProductMapper invoiceRegistrationProductMapper;
+
+    @Autowired
+    private InvoiceRegistrationMapper invoiceRegistrationMapper;
 
     /**
      * 寮�绁ㄥ彴璐︽柊澧�
@@ -158,13 +162,13 @@
     /**
      * 闄勪欢涓嬭浇
      * @param response
-     * @param invoiceLedgerDto
+     * @param invoiceRegistrationProductDto
      * @return
      */
     @Override
-    public void invoiceLedgerExport(HttpServletResponse response, InvoiceLedgerDto invoiceLedgerDto) {
-        List<InvoiceLedgerDto> invoiceLedgerDtoList = invoiceLedgerMapper.invoiceLedgerList(invoiceLedgerDto);
-        List<InvoiceLedgerExcelDto> invoiceLedgerExcelDtoList = invoiceLedgerDtoList.stream().map(item -> {
+    public void invoiceLedgerExport(HttpServletResponse response, InvoiceRegistrationProductDto invoiceRegistrationProductDto) {
+        List<InvoiceRegistrationProductDto> invoiceRegistrationProductList = invoiceRegistrationProductMapper.invoiceRegistrationProductList(invoiceRegistrationProductDto);
+        List<InvoiceLedgerExcelDto> invoiceLedgerExcelDtoList = invoiceRegistrationProductList.stream().map(item -> {
             InvoiceLedgerExcelDto invoiceLedgerExcelDto = new InvoiceLedgerExcelDto();
             BeanUtils.copyProperties(item, invoiceLedgerExcelDto);
             return invoiceLedgerExcelDto;
diff --git a/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml b/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml
index cf13c1e..e239178 100644
--- a/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml
+++ b/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml
@@ -6,37 +6,57 @@
 
     <select id="invoiceRegistrationProductList" resultType="com.ruoyi.sales.dto.InvoiceRegistrationProductDto">
         SELECT
-            id   ,
-            sales_ledger_id           ,
-            sales_ledger_product_id   ,
-            invoice_registration_id   ,
-            product_category          ,
-            specification_model       ,
-            unit                      ,
-            quantity                  ,
-            tax_rate                  ,
-            tax_inclusive_unit_price  ,
-            tax_inclusive_total_price ,
-            tax_exclusive_total_price ,
-            invoice_type              ,
-            invoice_num               ,
-            invoice_amount            ,
-            no_invoice_num            ,
-            no_invoice_amount         ,
-            create_time               ,
-            create_user               ,
-            update_time               ,
-            update_user               ,
-            tenant_id
-        FROM invoice_registration_product
+        T1.id   ,
+        T1.sales_ledger_id           ,
+        T1.sales_ledger_product_id   ,
+        T1.invoice_registration_id   ,
+        T1.product_category          ,
+        T1.specification_model       ,
+        T1.unit                      ,
+        T1.quantity                  ,
+        T1.tax_rate                  ,
+        T1.tax_inclusive_unit_price  ,
+        T1.tax_inclusive_total_price ,
+        T1.tax_exclusive_total_price ,
+        T1.invoice_type              ,
+        T1.invoice_num               ,
+        T1.invoice_amount            ,
+        T1.no_invoice_num            ,
+        T1.no_invoice_amount         ,
+        T1.create_time               ,
+        T1.create_user               ,
+        T1.update_time               ,
+        T1.update_user               ,
+        T1.tenant_id,
+        T2.sales_contract_no,
+        T2.customer_contract_no,
+        T2.customer_name,
+        T3.invoice_no,
+        T3.invoice_total,
+        T3.invoice_person,
+        T3.invoice_date,
+        T4.invoiceFileName
+        FROM invoice_registration_product T1
+        LEFT JOIN sales_ledger T2 ON T1.sales_ledger_id = T2.id
+        LEFT JOIN invoice_ledger T3 ON T1.id = T3.invoice_registration_product_id
+        LEFT JOIN (
+        SELECT
+        invoice_ledger_id,
+        GROUP_CONCAT( name ORDER BY id ASC SEPARATOR ' | ') AS invoiceFileName
+        FROM invoice_ledger_file GROUP BY invoice_ledger_id
+        ) T4 ON T4.invoice_ledger_id = T3.id
         <where>
-            <if test="invoiceRegistrationProductDto.invoiceRegistrationId != null">
-                invoice_registration_id = #{invoiceRegistrationProductDto.invoiceRegistrationId}
+            <if test="invoiceRegistrationProductDto.searchText != null and invoiceRegistrationProductDto.searchText != '' ">
+                AND (T2.sales_contract_no LIKE CONCAT('%',#{invoiceRegistrationProductDto.searchText},'%')
+                OR
+                T2.customer_name LIKE CONCAT('%',#{invoiceRegistrationProductDto.searchText},'%')
+                )
             </if>
-            <if test="invoiceRegistrationProductDto.salesLedgerId != null">
-                sales_ledger_id = #{invoiceRegistrationProductDto.salesLedgerId}
+            <if test="invoiceRegistrationProductDto.invoiceDate != null">
+                AND T3.invoice_date = #{invoiceRegistrationProductDto.invoiceDate}
             </if>
         </where>
+        ORDER BY T1.create_time DESC
     </select>
 
     <select id="invoiceRegistrationProductPage" resultType="com.ruoyi.sales.dto.InvoiceRegistrationProductDto">
@@ -80,6 +100,17 @@
                 GROUP_CONCAT( name ORDER BY id ASC SEPARATOR ' | ') AS invoiceFileName
             FROM invoice_ledger_file GROUP BY invoice_ledger_id
         ) T4 ON T4.invoice_ledger_id = T3.id
+        <where>
+            <if test="invoiceRegistrationProductDto.searchText != null and invoiceRegistrationProductDto.searchText != '' ">
+                AND (T2.sales_contract_no LIKE CONCAT('%',#{invoiceRegistrationProductDto.searchText},'%')
+                         OR
+                     T2.customer_name LIKE CONCAT('%',#{invoiceRegistrationProductDto.searchText},'%')
+                     )
+            </if>
+            <if test="invoiceRegistrationProductDto.invoiceDate != null">
+                AND T3.invoice_date = #{invoiceRegistrationProductDto.invoiceDate}
+            </if>
+        </where>
         ORDER BY T1.create_time DESC
     </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3