From 6ed42390d7231b0d26700898ee2922732043effa Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期四, 19 六月 2025 16:20:34 +0800
Subject: [PATCH] 2025-06-19 增值税对比 + 问题修改
---
src/main/java/com/ruoyi/purchase/dto/TicketRegistrationDto.java | 1
src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml | 2
src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java | 1
src/main/java/com/ruoyi/purchase/dto/VatDto.java | 9 +
src/main/java/com/ruoyi/purchase/service/IInvoicePurchaseService.java | 3
src/main/java/com/ruoyi/purchase/service/impl/InvoicePurchaseServiceImpl.java | 10 +
src/main/resources/mapper/purchase/ProductRecordMapper.xml | 4
src/main/resources/mapper/sales/ReceiptPaymentMapper.xml | 123 +++++++++++++-------
src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java | 6 +
src/main/java/com/ruoyi/sales/service/impl/InvoiceLedgerServiceImpl.java | 2
src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java | 2
src/main/java/com/ruoyi/purchase/controller/AccountingReportController.java | 8
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java | 7
src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java | 2
src/main/java/com/ruoyi/purchase/mapper/InvoicePurchaseMapper.java | 4
src/main/resources/mapper/purchase/InvoicePurchaseMapper.xml | 117 ++++++++++++++++++-
src/main/resources/mapper/purchase/PaymentRegistrationMapper.xml | 2
17 files changed, 230 insertions(+), 73 deletions(-)
diff --git a/src/main/java/com/ruoyi/purchase/controller/AccountingReportController.java b/src/main/java/com/ruoyi/purchase/controller/AccountingReportController.java
index 08733c7..5f62c97 100644
--- a/src/main/java/com/ruoyi/purchase/controller/AccountingReportController.java
+++ b/src/main/java/com/ruoyi/purchase/controller/AccountingReportController.java
@@ -5,8 +5,8 @@
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.domain.AjaxResult;
-import com.ruoyi.purchase.dto.InvoicePurchaseDto;
import com.ruoyi.purchase.dto.InvoicePurchaseReportDto;
+import com.ruoyi.purchase.dto.VatDto;
import com.ruoyi.purchase.pojo.InvoicePurchase;
import com.ruoyi.purchase.service.IInvoicePurchaseService;
import io.swagger.annotations.Api;
@@ -15,6 +15,8 @@
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
@RestController
@Api(tags = "閲囪喘鎶ヨ〃")
@@ -34,8 +36,8 @@
@Log(title = "閲囪喘鎶ヨ〃-澧炲�肩◣姣斿", businessType = BusinessType.OTHER)
@GetMapping("/listVat")
- public AjaxResult listVat(Page page, InvoicePurchase invoicePurchase) {
- IPage<InvoicePurchase> result = invoicePurchaseService.listVat(page, invoicePurchase);
+ public AjaxResult listVat(Page page,String month) {
+ IPage<VatDto> result = invoicePurchaseService.listVat(page, month);
return AjaxResult.success(result);
}
}
diff --git a/src/main/java/com/ruoyi/purchase/dto/TicketRegistrationDto.java b/src/main/java/com/ruoyi/purchase/dto/TicketRegistrationDto.java
index 62978e3..ddd681b 100644
--- a/src/main/java/com/ruoyi/purchase/dto/TicketRegistrationDto.java
+++ b/src/main/java/com/ruoyi/purchase/dto/TicketRegistrationDto.java
@@ -70,6 +70,5 @@
@TableField(exist = false)
private String createdAtStart;
@TableField(exist = false)
-
private String createdAtEnd;
}
diff --git a/src/main/java/com/ruoyi/purchase/dto/VatDto.java b/src/main/java/com/ruoyi/purchase/dto/VatDto.java
index 4ad3dc1..8eb273a 100644
--- a/src/main/java/com/ruoyi/purchase/dto/VatDto.java
+++ b/src/main/java/com/ruoyi/purchase/dto/VatDto.java
@@ -2,18 +2,21 @@
import lombok.Data;
+import java.math.BigDecimal;
import java.time.LocalDate;
@Data
public class VatDto {
//鏈堜唤
- private LocalDate month ;
+ private String month ;
//杩涢」绋�
- private String jTaxAmount;
+ private BigDecimal jTaxAmount;
//閿�椤圭◣
- private String xTaxAmount;
+ private BigDecimal xTaxAmount;
+
+ private BigDecimal taxAmount;
}
diff --git a/src/main/java/com/ruoyi/purchase/mapper/InvoicePurchaseMapper.java b/src/main/java/com/ruoyi/purchase/mapper/InvoicePurchaseMapper.java
index c80c41a..b1dc03c 100644
--- a/src/main/java/com/ruoyi/purchase/mapper/InvoicePurchaseMapper.java
+++ b/src/main/java/com/ruoyi/purchase/mapper/InvoicePurchaseMapper.java
@@ -22,5 +22,7 @@
IPage<InvoicePurchaseReportDto> selectPurchaseReport(IPage page, @Param("c") InvoicePurchaseReportDto invoicePurchaseReportDto);
- List<VatDto> listVat(Page page, InvoicePurchase invoicePurchase);
+ IPage<VatDto> listVat(Page page,@Param("month") String month);
+
+ List<VatDto> listVat1();
}
diff --git a/src/main/java/com/ruoyi/purchase/service/IInvoicePurchaseService.java b/src/main/java/com/ruoyi/purchase/service/IInvoicePurchaseService.java
index 7e7a074..cc17fc2 100644
--- a/src/main/java/com/ruoyi/purchase/service/IInvoicePurchaseService.java
+++ b/src/main/java/com/ruoyi/purchase/service/IInvoicePurchaseService.java
@@ -6,6 +6,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.purchase.dto.InvoicePurchaseDto;
import com.ruoyi.purchase.dto.InvoicePurchaseReportDto;
+import com.ruoyi.purchase.dto.VatDto;
import com.ruoyi.purchase.pojo.InvoicePurchase;
import java.io.IOException;
@@ -30,5 +31,5 @@
IPage<InvoicePurchaseReportDto> listPurchaseReport(Page page, InvoicePurchaseReportDto invoicePurchaseReportDto);
- IPage<InvoicePurchase> listVat(Page page, InvoicePurchase invoicePurchase);
+ IPage<VatDto> listVat(Page page,String month);
}
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/InvoicePurchaseServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/InvoicePurchaseServiceImpl.java
index 6d4728d..cc8bb73 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/InvoicePurchaseServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/InvoicePurchaseServiceImpl.java
@@ -12,6 +12,7 @@
import com.ruoyi.project.system.mapper.SysUserMapper;
import com.ruoyi.purchase.dto.InvoicePurchaseDto;
import com.ruoyi.purchase.dto.InvoicePurchaseReportDto;
+import com.ruoyi.purchase.dto.VatDto;
import com.ruoyi.purchase.mapper.InvoicePurchaseMapper;
import com.ruoyi.purchase.mapper.PurchaseLedgerMapper;
import com.ruoyi.purchase.pojo.InvoicePurchase;
@@ -169,8 +170,11 @@
}
@Override
- public IPage<InvoicePurchase> listVat(Page page, InvoicePurchase invoicePurchase) {
- invoicePurchaseMapper.listVat(page, invoicePurchase);
- return null;
+ public IPage<VatDto> listVat(Page page, String month) {
+ IPage<VatDto> vatDtos = invoicePurchaseMapper.listVat(page,month);
+ vatDtos.getRecords().forEach(vatDto -> {
+ vatDto.setTaxAmount(vatDto.getJTaxAmount().subtract(vatDto.getXTaxAmount()));
+ });
+ return vatDtos;
}
}
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java
index 9cab585..cbc5b53 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java
@@ -397,7 +397,7 @@
paymentHistoryRecordVo.setHappenTime(localDate);
paymentHistoryRecordVo.setCurrentPaymentAmount(currentPaymentAmount);
paymentHistoryRecordVo.setInvoiceAmount(invoiceAmount);
- amountTotal = amountTotal.add(currentDateTotal);
+ amountTotal = paymentHistoryRecordVo.getInvoiceAmount().subtract(paymentHistoryRecordVo.getCurrentPaymentAmount());
paymentHistoryRecordVo.setPayableAmount(amountTotal);
result.add(paymentHistoryRecordVo);
}
diff --git a/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java b/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
index 7b478d1..3f78018 100644
--- a/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
+++ b/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
@@ -161,4 +161,10 @@
@ApiModelProperty(value = "涓存椂鏈潵绁ㄩ噾棰�")
@TableField(exist = false)
private BigDecimal tempFutureTicketsAmount;
+
+ @ApiModelProperty("鐧昏浜�")
+ private String register;
+
+ @ApiModelProperty("鐧昏鏃ユ湡")
+ private String registerDate;
}
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 f8bbc22..c7ecbe9 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/InvoiceLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/InvoiceLedgerServiceImpl.java
@@ -304,7 +304,7 @@
public IPage<InvoiceRegistrationProductDto> registrationProductPage(Page page, InvoiceRegistrationProductDto registrationProductDto) {
IPage<InvoiceRegistrationProductDto> invoiceRegistrationProductDtoIPage = invoiceRegistrationProductMapper.invoiceRegistrationProductPage(page, registrationProductDto);
if (registrationProductDto.getStatus()) {
- invoiceRegistrationProductDtoIPage.getRecords().removeIf(invoiceRegistrationProduct -> StringUtils.isEmpty(invoiceRegistrationProduct.getInvoiceNo()));
+ invoiceRegistrationProductDtoIPage.getRecords().removeIf(invoiceRegistrationProduct -> !StringUtils.isEmpty(invoiceRegistrationProduct.getInvoiceNo()));
}
return invoiceRegistrationProductDtoIPage;
}
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 a42850d..bb576cc 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java
@@ -75,6 +75,7 @@
invoiceRegistrationProduct.setInvoiceAmount(productDatum.getCurrentInvoiceAmount());
invoiceRegistrationProduct.setInvoiceNum(productDatum.getCurrentInvoiceNum());
invoiceRegistrationProduct.setSalesLedgerProductId(productDatum.getId().intValue());
+
invoiceRegistrationProductMapper.insert(invoiceRegistrationProduct);
salesLedgerProductMapper.updateById(productDatum);
// 鏂板涓�鏉″紑绁ㄥ彴璐︽暟鎹�
diff --git a/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java
index e6f459a..f65d7ce 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java
@@ -239,7 +239,7 @@
customerInteractionDto.setHappenTime(localDate);
customerInteractionDto.setInvoiceAmount(invoiceAmount);
customerInteractionDto.setReceiptAmount(currentReceiptAmount);
- amountTotal = amountTotal.add(currentDateTotal);
+ amountTotal = customerInteractionDto.getInvoiceAmount().subtract(customerInteractionDto.getReceiptAmount());
customerInteractionDto.setUnReceiptAmount(amountTotal);
result.add(customerInteractionDto);
}
diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
index 6a2536e..a85755e 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -91,6 +91,7 @@
return salesLedgerMapper.selectSalesLedgerList(salesLedgerDto);
}
+ @Override
public SalesLedgerDto getSalesLedgerWithProducts(SalesLedgerDto salesLedgerDto) {
// 1. 鏌ヨ涓昏〃
SalesLedger salesLedger = salesLedgerMapper.selectById(salesLedgerDto.getId());
@@ -107,6 +108,8 @@
// 鎻愪緵涓存椂鏈紑绁ㄦ暟锛屾湭寮�绁ㄩ噾棰濅緵鍓嶆璁$畻
product.setTempnoInvoiceAmount(product.getNoInvoiceAmount());
product.setTempNoInvoiceNum(product.getNoInvoiceNum());
+ product.setRegister(SecurityUtils.getLoginUser().getUser().getNickName());
+ product.setRegisterDate(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
}
// 3.鏌ヨ涓婁紶鏂囦欢
@@ -505,10 +508,10 @@
// 2. 鏌ヨ褰撳ぉ/鍏徃宸插瓨鍦ㄧ殑搴忓垪鍙凤紙涓庡師閫昏緫涓�鑷达級
Long tenantId = SecurityUtils.getLoginUser().getTenantId();
- if(null != tenantId){
+ if (null != tenantId) {
//鑾峰彇鍏徃缂栧彿
SysDept sysDept = sysDeptMapper.selectDeptById(tenantId.longValue());
- if(!ObjectUtils.isEmpty(sysDept)){
+ if (!ObjectUtils.isEmpty(sysDept)) {
datePart = (StringUtils.isEmpty(sysDept.getDeptNick()) ? "" : sysDept.getDeptNick()) + datePart;
}
}
diff --git a/src/main/resources/mapper/purchase/InvoicePurchaseMapper.xml b/src/main/resources/mapper/purchase/InvoicePurchaseMapper.xml
index 5d3b24c..fe0b44c 100644
--- a/src/main/resources/mapper/purchase/InvoicePurchaseMapper.xml
+++ b/src/main/resources/mapper/purchase/InvoicePurchaseMapper.xml
@@ -30,15 +30,114 @@
</where>
</select>
<select id="listVat" resultType="com.ruoyi.purchase.dto.VatDto">
- SELECT
- DATE_FORMAT(il.invoice_date, '%Y-%m') AS month,
- ROUND(SUM(pr.invoice_amount - pr.invoice_amount / (1 + pr.tax_rate / 100)), 2) AS tax_amount
- FROM invoice_ledger il
- LEFT JOIN invoice_registration_product pr ON pr.id = il.invoice_registration_product_id
- WHERE il.invoice_no IS NOT NULL
- AND invoice_type = '澧炰笓绁�'
- GROUP BY DATE_FORMAT(il.invoice_date, '%Y-%m')
- ORDER BY month;
+ select *
+ from (SELECT
+ COALESCE(a1.month, a2.month) AS month,
+ IFNULL(a1.tax_amount, 0) AS j_tax_amount,
+ IFNULL(a2.x_tax_amount, 0) AS x_tax_amount
+ FROM (
+ -- 绗竴涓煡璇細鏉ヨ嚜 invoice_ledger 鐨勭◣棰�
+ SELECT
+ DATE_FORMAT(il.invoice_date, '%Y-%m') AS month,
+ ROUND(SUM(pr.invoice_amount - pr.invoice_amount / (1 + pr.tax_rate / 100)), 2) AS tax_amount
+ FROM invoice_ledger il
+ LEFT JOIN invoice_registration_product pr ON pr.id = il.invoice_registration_product_id
+ WHERE il.invoice_no IS NOT NULL
+ AND invoice_type = '澧炰笓绁�'
+ GROUP BY DATE_FORMAT(il.invoice_date, '%Y-%m')
+ ) a1
+ LEFT JOIN (
+ -- 绗簩涓煡璇細鏉ヨ嚜 ticket_registration 鐨勭◣棰�
+ SELECT
+ DATE_FORMAT(a.issue_date, '%Y-%m') AS month,
+ SUM(a.invoice_amount) AS x_tax_amount
+ FROM (
+ SELECT DISTINCT pr.id,
+ tr.issue_date,
+ ROUND(pr.tickets_amount / (1 + pr.tax_rate / 100), 2) AS un_tickets_price,
+ ROUND(pr.tickets_amount - pr.tickets_amount / (1 + pr.tax_rate / 100), 2) AS invoice_amount
+ FROM product_record pr
+ LEFT JOIN purchase_ledger pl ON pl.id = pr.purchase_ledger_id
+ LEFT JOIN sales_ledger sl ON sl.id = pl.sales_ledger_id
+ LEFT JOIN ticket_registration tr ON tr.purchase_ledger_id = pl.id
+ LEFT JOIN product_model pm ON pm.id = pr.product_model_id
+ WHERE type = 2
+ AND tr.invoice_number IS NOT NULL
+ ) a
+ GROUP BY DATE_FORMAT(a.issue_date, '%Y-%m')
+ ) a2 ON a1.month = a2.month
+
+ UNION ALL
+
+ SELECT
+ COALESCE(a1.month, a2.month) AS month,
+ IFNULL(a1.tax_amount, 0) AS tax_amount,
+ IFNULL(a2.x_tax_amount, 0) AS x_tax_amount
+ FROM (
+ -- 绗簩涓煡璇細鏉ヨ嚜 ticket_registration 鐨勭◣棰濓紙鍙嶈繃鏉ヨˉ鍏ㄦ病鏈夊尮閰嶅埌鐨勶級
+ SELECT
+ DATE_FORMAT(a.issue_date, '%Y-%m') AS month,
+ SUM(a.invoice_amount) AS x_tax_amount
+ FROM (
+ SELECT DISTINCT pr.id,
+ tr.issue_date,
+ ROUND(pr.tickets_amount / (1 + pr.tax_rate / 100), 2) AS un_tickets_price,
+ ROUND(pr.tickets_amount - pr.tickets_amount / (1 + pr.tax_rate / 100), 2) AS invoice_amount
+ FROM product_record pr
+ LEFT JOIN purchase_ledger pl ON pl.id = pr.purchase_ledger_id
+ LEFT JOIN sales_ledger sl ON sl.id = pl.sales_ledger_id
+ LEFT JOIN ticket_registration tr ON tr.purchase_ledger_id = pl.id
+ LEFT JOIN product_model pm ON pm.id = pr.product_model_id
+ WHERE type = 2
+ AND tr.invoice_number IS NOT NULL
+ ) a
+ GROUP BY DATE_FORMAT(a.issue_date, '%Y-%m')
+ ) a2
+ LEFT JOIN (
+ -- 绗竴涓煡璇細鏉ヨ嚜 invoice_ledger 鐨勭◣棰�
+ SELECT
+ DATE_FORMAT(il.invoice_date, '%Y-%m') AS month,
+ ROUND(SUM(pr.invoice_amount - pr.invoice_amount / (1 + pr.tax_rate / 100)), 2) AS tax_amount
+ FROM invoice_ledger il
+ LEFT JOIN invoice_registration_product pr ON pr.id = il.invoice_registration_product_id
+ WHERE il.invoice_no IS NOT NULL
+ AND invoice_type = '澧炰笓绁�'
+ GROUP BY DATE_FORMAT(il.invoice_date, '%Y-%m')
+ ) a1 ON a1.month = a2.month
+ WHERE a1.month IS NULL
+ ORDER BY month
+ )as a
+ <where>
+ <if test="month != null">
+ and a.month = date_format(#{month})
+ </if>
+ </where>
+
+ </select>
+ <select id="listVat1" resultType="com.ruoyi.purchase.dto.VatDto">
+ # SELECT
+# DATE_FORMAT(il.invoice_date, '%Y-%m') AS month,
+# ROUND(SUM(pr.invoice_amount - pr.invoice_amount / (1 + pr.tax_rate / 100)), 2) AS tax_amount
+# FROM invoice_ledger il
+# LEFT JOIN invoice_registration_product pr ON pr.id = il.invoice_registration_product_id
+# WHERE il.invoice_no IS NOT NULL
+# AND invoice_type = '澧炰笓绁�'
+# GROUP BY DATE_FORMAT(il.invoice_date, '%Y-%m')
+# ORDER BY month;
+# select DATE_FORMAT(a.issue_date, '%Y-%m'), sum(a.invoice_amount) as xTaxAmount
+# from (SELECT distinct pr.id,
+# tr.issue_date,
+# ROUND(pr.tickets_amount / (1 + pr.tax_rate / 100), 2) AS un_tickets_price,
+# ROUND(pr.tickets_amount - pr.tickets_amount / (1 + pr.tax_rate / 100),
+# 2) AS invoice_amount
+# FROM product_record pr
+# LEFT JOIN purchase_ledger pl ON pl.id = pr.purchase_ledger_id
+# LEFT JOIN sales_ledger sl ON sl.id = pl.sales_ledger_id
+# LEFT JOIN ticket_registration tr ON tr.purchase_ledger_id = pl.id
+# LEFT JOIN product_model pm ON pm.id = pr.product_model_id
+# WHERE type = 2
+# and tr.invoice_number is not null) a
+# GROUP BY DATE_FORMAT(a.issue_date, '%Y-%m')
</select>
</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/purchase/PaymentRegistrationMapper.xml b/src/main/resources/mapper/purchase/PaymentRegistrationMapper.xml
index 33a04be..d245389 100644
--- a/src/main/resources/mapper/purchase/PaymentRegistrationMapper.xml
+++ b/src/main/resources/mapper/purchase/PaymentRegistrationMapper.xml
@@ -171,7 +171,7 @@
AND T1.payment_date >= date_format(#{params.paymentDateStart},'%Y-%m-%d')
</if>
<if test="params.paymentDateEnd != null and params.paymentDateEnd !='' ">
- AND T1.payment_date < date_format(#{params.paymentDateEnd},'%Y-%m-%d')
+ AND T1.payment_date <= date_format(#{params.paymentDateEnd},'%Y-%m-%d')
</if>
</where>
ORDER BY T1.payment_date,T1.create_time DESC
diff --git a/src/main/resources/mapper/purchase/ProductRecordMapper.xml b/src/main/resources/mapper/purchase/ProductRecordMapper.xml
index c42e777..80133ac 100644
--- a/src/main/resources/mapper/purchase/ProductRecordMapper.xml
+++ b/src/main/resources/mapper/purchase/ProductRecordMapper.xml
@@ -32,10 +32,10 @@
and sl.supplier_name = #{c.supplierName}
</if>
<if test="c.createdAtStart != null and c.createdAtStart != ''">
- and pr.created_at >= date_format(#{c.createdAtStart},'%Y-%m-%d')
+ and pr.created_at >= date_format(#{c.createdAtStart},'%Y-%m-%d hh:mm:ss')
</if>
<if test="c.createdAtEnd != null and c.createdAtEnd != ''">
- and pr.created_at < date_format(#{c.createdAtEnd},'%Y-%m-%d')
+ and pr.created_at <= date_format(#{c.createdAtEnd},'%Y-%m-%d hh:mm:ss')
</if>
</select>
</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml b/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml
index 5222d6e..ad56ec9 100644
--- a/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml
+++ b/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml
@@ -111,7 +111,7 @@
AND T3.invoice_date >= date_format(#{invoiceRegistrationProductDto.invoiceDateStart}, '%Y-%m-%d')
</if>
<if test="invoiceRegistrationProductDto.invoiceDateEnd != null and invoiceRegistrationProductDto.invoiceDateEnd != ''">
- AND T3.invoice_date < date_format(#{invoiceRegistrationProductDto.invoiceDateEnd}, '%Y-%m-%d')
+ AND T3.invoice_date <= date_format(#{invoiceRegistrationProductDto.invoiceDateEnd}, '%Y-%m-%d')
</if>
</where>
ORDER BY T1.create_time DESC
diff --git a/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml b/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
index b7ae6a2..ea21141 100644
--- a/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
+++ b/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
@@ -190,57 +190,94 @@
AND T1.receipt_payment_date >= date_format(#{params.receiptPaymentDateStart},'%Y-%m-%d')
</if>
<if test="params.receiptPaymentDateEnd != null and params.receiptPaymentDateEnd != '' ">
- AND T1.receipt_payment_date < date_format(#{params.receiptPaymentDateEnd}, '%Y-%m-%d')
+ AND T1.receipt_payment_date <= date_format(#{params.receiptPaymentDateEnd}, '%Y-%m-%d')
</if>
</where>
ORDER BY T1.receipt_payment_date DESC
</select>
+
+
+
+<!-- SELECT-->
+<!-- *-->
+<!-- FROM-->
+<!-- (-->
+<!-- SELECT-->
+<!-- receipt_payment_amount AS receiptAmount,-->
+<!-- receipt_payment_date AS happenTime,-->
+<!-- 0 AS type,-->
+<!-- 0 AS invoiceAmount-->
+<!-- FROM-->
+<!-- receipt_payment-->
+<!-- WHERE-->
+<!-- invoice_ledger_id IN (-->
+<!-- SELECT-->
+<!-- id-->
+<!-- FROM-->
+<!-- invoice_ledger-->
+<!-- WHERE-->
+<!-- invoice_registration_product_id IN (-->
+<!-- SELECT-->
+<!-- id-->
+<!-- FROM-->
+<!-- invoice_registration_product-->
+<!-- WHERE-->
+<!-- sales_ledger_id IN ( SELECT id FROM sales_ledger WHERE customer_id = #{customerId} ))) UNION-->
+<!-- SELECT-->
+<!-- 0 AS receiptAmount,-->
+<!-- invoice_date AS happenTime,-->
+<!-- 1 AS type,-->
+<!-- invoice_total AS invoiceAmount-->
+<!-- FROM-->
+<!-- invoice_ledger-->
+<!-- WHERE-->
+<!-- invoice_registration_product_id IN (-->
+<!-- SELECT-->
+<!-- id-->
+<!-- FROM-->
+<!-- invoice_registration_product-->
+<!-- WHERE-->
+<!-- sales_ledger_id IN ( SELECT id FROM sales_ledger WHERE customer_id = #{customerId} ))-->
+<!-- AND invoice_date IS NOT NULL-->
+<!-- ) T1-->
+<!-- ORDER BY-->
+<!-- T1.happenTime ASC-->
+
+
<select id="customerInteractions" resultType="com.ruoyi.sales.dto.CustomerInteractionDto">
SELECT
- *
+ rp.receipt_payment_amount AS receiptAmount,
+ rp.receipt_payment_date AS happenTime,
+ 0 AS type,
+ 0 AS invoiceAmount
FROM
- (
- SELECT
- receipt_payment_amount AS receiptAmount,
- receipt_payment_date AS happenTime,
- 0 AS type,
- 0 AS invoiceAmount
- FROM
- receipt_payment
- WHERE
- invoice_ledger_id IN (
- SELECT
- id
- FROM
- invoice_ledger
- WHERE
- invoice_registration_product_id IN (
- SELECT
- id
- FROM
- invoice_registration_product
- WHERE
- sales_ledger_id IN ( SELECT id FROM sales_ledger WHERE customer_id = #{customerId} ))) UNION
- SELECT
- 0 AS receiptAmount,
- invoice_date AS happenTime,
- 1 AS type,
- invoice_total AS invoiceAmount
- FROM
- invoice_ledger
- WHERE
- invoice_registration_product_id IN (
- SELECT
- id
- FROM
- invoice_registration_product
- WHERE
- sales_ledger_id IN ( SELECT id FROM sales_ledger WHERE customer_id = #{customerId} ))
- AND invoice_date IS NOT NULL
- ) T1
- ORDER BY
- T1.happenTime ASC
+ receipt_payment rp
+ WHERE EXISTS (
+ SELECT 1
+ FROM invoice_ledger il
+ JOIN invoice_registration_product irp ON il.invoice_registration_product_id = irp.id
+ JOIN sales_ledger sl ON irp.sales_ledger_id = sl.id
+ WHERE sl.customer_id =22
+ AND rp.invoice_ledger_id = il.id
+ )
+
+ UNION ALL
+
+ SELECT
+ 0 AS receiptAmount,
+ il.invoice_date AS happenTime,
+ 1 AS type,
+ il.invoice_total AS invoiceAmount
+ FROM
+ invoice_ledger il
+ JOIN invoice_registration_product irp ON il.invoice_registration_product_id = irp.id
+ JOIN sales_ledger sl ON irp.sales_ledger_id = sl.id
+ WHERE
+ sl.customer_id = 22
+ AND il.invoice_date IS NOT NULL
+
+ ORDER BY happenTime ASC;
</select>
<select id="receiptPaymentHistoryListNoPage" resultType="com.ruoyi.sales.dto.ReceiptPaymentDto">
--
Gitblit v1.9.3