From 5bea250f3d53b289e10d920ffd46aa6a0002cb7d Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期四, 15 一月 2026 17:05:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jtwy' into jtwy
---
src/main/java/com/ruoyi/purchase/dto/ProductRecordDto.java | 18 +++++++--
src/main/java/com/ruoyi/purchase/service/IProductRecordService.java | 2
src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java | 18 +++++++--
src/main/resources/mapper/purchase/ProductRecordMapper.xml | 13 ++++--
src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java | 2 +
src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java | 8 ++--
src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java | 6 +++
src/main/java/com/ruoyi/purchase/mapper/ProductRecordMapper.java | 4 +
src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml | 6 ++-
src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java | 8 ++--
src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java | 7 +++
11 files changed, 68 insertions(+), 24 deletions(-)
diff --git a/src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java b/src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java
index cbb2e00..1d76fe2 100644
--- a/src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java
+++ b/src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java
@@ -22,6 +22,7 @@
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
+import java.math.BigDecimal;
import java.util.List;
import java.util.stream.Collectors;
@@ -194,6 +195,11 @@
IPage<PurchaseLedgerDto> purchaseLedgerDtoIPage = purchaseLedgerService.selectPurchaseLedgerListPage(page ,purchaseLedger);
//杩囨护鎺塧pprovalStatus=3鐨勮褰�
purchaseLedgerDtoIPage.getRecords().removeIf(purchaseLedgerDto -> purchaseLedgerDto.getApprovalStatus() == 3);
+ purchaseLedgerDtoIPage.getRecords().forEach(purchaseLedgerDto -> {
+ if (purchaseLedgerDto.getUnReceiptPaymentAmount().compareTo(BigDecimal.ZERO) == 0) {
+ purchaseLedgerDto.setUnReceiptPaymentAmount(purchaseLedgerDto.getContractAmount());
+ }
+ });
return AjaxResult.success(purchaseLedgerDtoIPage);
}
diff --git a/src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java b/src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java
index d3a230f..ecd50bc 100644
--- a/src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java
+++ b/src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java
@@ -138,12 +138,12 @@
}
- @GetMapping("/getProductRecordById")
- public AjaxResult getProductRecordById(Long id) {
- if (id == null) {
+ @PostMapping("/getProductRecordById")
+ public AjaxResult getProductRecordById(@RequestBody ProductRecordDto productRecordDto) {
+ if (productRecordDto.getId() == null) {
return AjaxResult.error("鍙傛暟閿欒");
}
- return AjaxResult.success(productRecordService.getProductRecordById(id));
+ return AjaxResult.success(productRecordService.getProductRecordById(productRecordDto));
}
@ApiModelProperty("淇敼鏉ョエ鐧昏")
diff --git a/src/main/java/com/ruoyi/purchase/dto/ProductRecordDto.java b/src/main/java/com/ruoyi/purchase/dto/ProductRecordDto.java
index b4edc0d..1b3c691 100644
--- a/src/main/java/com/ruoyi/purchase/dto/ProductRecordDto.java
+++ b/src/main/java/com/ruoyi/purchase/dto/ProductRecordDto.java
@@ -5,6 +5,7 @@
import com.ruoyi.sales.pojo.CommonFile;
import lombok.Data;
+import java.math.BigDecimal;
import java.util.List;
@Data
@@ -28,12 +29,21 @@
private String projectName;
private Long issUerId;
private String issUer;
+ /**
+ * 鍚堝悓閲戦锛堜骇鍝佸惈绋庢�讳环锛�
+ */
+ private BigDecimal contractAmount = BigDecimal.ZERO;
//澧炲�肩◣
- private String invoiceAmount = "0";
-
+ /**
+ * 宸叉潵绁ㄩ噾棰濓紙鍙戠エ閲戦锛�
+ */
+ private BigDecimal invoiceTotal = BigDecimal.ZERO;
+ private BigDecimal invoiceAmount = BigDecimal.ZERO;
+ /**
+ * 鍙戠エ鍙�
+ */
private String invoiceNumber;
-
- private String unTicketsPrice = "0";
+ private BigDecimal unTicketsPrice = BigDecimal.ZERO;
private List<CommonFile> commonFiles;
diff --git a/src/main/java/com/ruoyi/purchase/mapper/ProductRecordMapper.java b/src/main/java/com/ruoyi/purchase/mapper/ProductRecordMapper.java
index 9d003ba..b4bdea9 100644
--- a/src/main/java/com/ruoyi/purchase/mapper/ProductRecordMapper.java
+++ b/src/main/java/com/ruoyi/purchase/mapper/ProductRecordMapper.java
@@ -8,6 +8,8 @@
import com.ruoyi.purchase.pojo.ProductRecord;
import org.apache.ibatis.annotations.Param;
+import java.util.List;
+
/**
* 閲囪喘鍙拌处浜у搧寮�绁ㄨ褰昅apper鎺ュ彛
*
@@ -18,5 +20,5 @@
IPage<ProductRecordDto> productRecordPage(Page page, @Param("c") TicketRegistrationDto ticketRegistrationDto);
- ProductRecordDto getProductRecordById(Long id);
+ List<ProductRecordDto> getProductRecordById(@Param("c") ProductRecordDto productRecordDto);
}
diff --git a/src/main/java/com/ruoyi/purchase/service/IProductRecordService.java b/src/main/java/com/ruoyi/purchase/service/IProductRecordService.java
index 2fa21ca..3ab3d32 100644
--- a/src/main/java/com/ruoyi/purchase/service/IProductRecordService.java
+++ b/src/main/java/com/ruoyi/purchase/service/IProductRecordService.java
@@ -24,5 +24,5 @@
AjaxResult updateRecord(ProductRecordDto productRecordDto);
- ProductRecordDto getProductRecordById(Long id);
+ ProductRecordDto getProductRecordById(ProductRecordDto productRecordDto);
}
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java
index 7c1d837..d5c67b9 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java
@@ -101,9 +101,19 @@
return AjaxResult.success("淇敼鎴愬姛");
}
- @Override
- public ProductRecordDto getProductRecordById(Long id) {
- ProductRecordDto productRecordDto = productRecordMapper.getProductRecordById(id);
- return productRecordDto;
+ @Override
+ public ProductRecordDto getProductRecordById(ProductRecordDto productRecordDto) {
+ List<ProductRecordDto> productRecordDtoList = productRecordMapper.getProductRecordById(productRecordDto);
+ if(productRecordDtoList != null && productRecordDtoList.size() > 0){
+ ProductRecordDto productRecordDto1 = productRecordDtoList.get(productRecordDtoList.size() - 1);
+ // 杩囨护鍑轰笌浼犲叆鐨� productRecordDto 涓婚敭鐩稿悓鐨勮褰�
+ ProductRecordDto productRecordDto2 = productRecordDtoList.stream().filter(item ->
+ item.getId().equals(productRecordDto.getId()))
+ .findFirst().orElse(null);
+ productRecordDto2.setFutureTickets(productRecordDto1.getFutureTickets());
+ productRecordDto2.setFutureTicketsAmount(productRecordDto1.getFutureTicketsAmount());
+ return productRecordDto2;
+ }
+ return null;
}
}
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
index 12adbf0..0c02cf9 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -332,6 +332,8 @@
LocalDateTime localDateTime = entryDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
salesLedgerProduct.setRegisterDate(localDateTime);
+ salesLedgerProduct.setFutureTickets(salesLedgerProduct.getQuantity());
+ salesLedgerProduct.setFutureTicketsAmount(salesLedgerProduct.getTaxInclusiveTotalPrice());
salesLedgerProductMapper.insert(salesLedgerProduct);
}
}
diff --git a/src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java b/src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java
index 78d78d8..d69d27a 100644
--- a/src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java
+++ b/src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java
@@ -24,6 +24,7 @@
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.framework.web.page.TableDataInfo;
+import java.math.BigDecimal;
import java.util.List;
/**
@@ -48,6 +49,12 @@
{
List<SalesLedgerProduct> list = salesLedgerProductService.selectSalesLedgerProductList(salesLedgerProduct);
list.forEach(item -> {
+ if (item.getFutureTickets().compareTo(BigDecimal.ZERO) == 0) {
+ item.setFutureTickets(item.getQuantity());
+ }
+ if (item.getFutureTicketsAmount().compareTo(BigDecimal.ZERO) == 0) {
+ item.setFutureTicketsAmount(item.getTaxInclusiveTotalPrice());
+ }
ProcurementPageDto procurementDto = new ProcurementPageDto();
procurementDto.setSalesLedgerProductId(item.getId());
procurementDto.setProductCategory(item.getProductCategory());
diff --git a/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java b/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
index c4e21b2..7af592b 100644
--- a/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
+++ b/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
@@ -111,22 +111,22 @@
/**
* 鏈鏉ョエ鏁�
*/
- private BigDecimal ticketsNum;
+ private BigDecimal ticketsNum=BigDecimal.ZERO;
/**
* 鏈鏉ョエ閲戦(鍏�)
*/
- private BigDecimal ticketsAmount;
+ private BigDecimal ticketsAmount=BigDecimal.ZERO;
/**
* 鏈潵绁ㄦ暟
*/
- private BigDecimal futureTickets;
+ private BigDecimal futureTickets=BigDecimal.ZERO;
/**
* 鏈潵绁ㄩ噾棰�(鍏�)
*/
- private BigDecimal futureTicketsAmount;
+ private BigDecimal futureTicketsAmount=BigDecimal.ZERO;
@ApiModelProperty(value = "寮�绁ㄦ暟")
private BigDecimal invoiceNum;
diff --git a/src/main/resources/mapper/purchase/ProductRecordMapper.xml b/src/main/resources/mapper/purchase/ProductRecordMapper.xml
index 2c0cba4..aa850cb 100644
--- a/src/main/resources/mapper/purchase/ProductRecordMapper.xml
+++ b/src/main/resources/mapper/purchase/ProductRecordMapper.xml
@@ -34,10 +34,10 @@
and pl.supplier_name like concat('%',#{c.supplierName},'%')
</if>
<if test="c.createdAtStart != null and c.createdAtStart != ''">
- and pr.created_at >= date_format(#{c.createdAtStart},'%Y-%m-%d hh:mm:ss')
+ and pr.created_at >= str_to_date(#{c.createdAtStart}, '%Y-%m-%d')
</if>
<if test="c.createdAtEnd != null and c.createdAtEnd != ''">
- and pr.created_at <= date_format(#{c.createdAtEnd},'%Y-%m-%d hh:mm:ss')
+ and pr.created_at < date_add(str_to_date(#{c.createdAtEnd}, '%Y-%m-%d'), interval 1 day)
</if>
<if test="c.purchaseContractNumber != null and c.purchaseContractNumber != ''">
and tr.purchase_contract_number like concat('%',#{c.purchaseContractNumber},'%')
@@ -60,7 +60,12 @@
left join sales_ledger sl on sl.id = pl.sales_ledger_id
left join ticket_registration tr on tr.id = pr.ticket_registration_id
left join product_model pm on pm.id = pr.product_model_id
-
- WHERE type = 2 and pr.id = #{id}
+ WHERE type = 2
+ <if test="c.purchaseLedgerId != null and c.purchaseLedgerId != ''">
+ and pr.purchase_ledger_id = #{c.purchaseLedgerId}
+ </if>
+ <if test="c.productModelId != null and c.productModelId != ''">
+ and pm.id = #{c.productModelId}
+ </if>
</select>
</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml b/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml
index b513ac1..9eaf966 100644
--- a/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml
+++ b/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml
@@ -18,8 +18,8 @@
pl.supplier_name,
pl.project_name,
pl.contract_amount,
- sum(pr.tickets_amount)as receipt_payment_amount,
- pl.contract_amount-sum(pr.tickets_amount) AS unReceipt_payment_amount,
+ sum(tr.invoice_amount)as receipt_payment_amount,
+ pl.contract_amount-sum(tr.invoice_amount) AS unReceipt_payment_amount,
pl.entry_date,
pl.recorder_id,
pl.recorder_name,
@@ -29,7 +29,9 @@
pl.approval_status,
pl.payment_method
from purchase_ledger pl
+ left join sales_ledger_product slp on slp.sales_ledger_id = pl.id and slp.type=2
left join product_record pr on pl.id = pr.purchase_ledger_id
+ left join ticket_registration tr on tr.id = pr.ticket_registration_id
left join supplier_manage sm on pl.supplier_id = sm.id
<where>
1 = 1
--
Gitblit v1.9.3