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