From c4aec3aa2d6c7c91b67d32ef625fe9e1f457177f Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期二, 24 六月 2025 17:34:23 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java | 70 ++++++++++++++++++++++++++---------
1 files changed, 52 insertions(+), 18 deletions(-)
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
index a1272c3..9ec44e8 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
@@ -3,8 +3,11 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.enums.FileNameType;
+import com.ruoyi.common.enums.SalesLedgerType;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
@@ -12,6 +15,7 @@
import com.ruoyi.other.mapper.TempFileMapper;
import com.ruoyi.other.pojo.TempFile;
import com.ruoyi.purchase.dto.PaymentRegistrationDto;
+import com.ruoyi.purchase.dto.PurchaseLedgerDto;
import com.ruoyi.purchase.dto.TicketRegistrationDto;
import com.ruoyi.purchase.mapper.PaymentRegistrationMapper;
import com.ruoyi.purchase.mapper.ProductRecordMapper;
@@ -25,6 +29,8 @@
import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
import com.ruoyi.sales.pojo.CommonFile;
import com.ruoyi.sales.pojo.SalesLedgerProduct;
+import com.ruoyi.sales.service.ISalesLedgerProductService;
+import com.ruoyi.sales.service.impl.SalesLedgerProductServiceImpl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FilenameUtils;
@@ -72,6 +78,9 @@
private final ProductRecordMapper productRecordMapper;
@Autowired
+ private ISalesLedgerProductService salesLedgerProductService;
+
+ @Autowired
private PaymentRegistrationMapper paymentRegistrationMapper;
@Value("${file.upload-dir}")
@@ -88,13 +97,13 @@
}
List<TicketRegistration> ticketRegistrationList = ticketRegistrationMapper.selectList(queryWrapper);
// 璁$畻宸蹭粯娆鹃噾棰�
- if(CollectionUtils.isNotEmpty(ticketRegistrationList)){
+ if (CollectionUtils.isNotEmpty(ticketRegistrationList)) {
List<Long> ids = ticketRegistrationList.stream().map(TicketRegistration::getId).collect(Collectors.toList());
List<PaymentRegistrationDto> paymentRegistrationDtoList = paymentRegistrationMapper.countPaymentTotalByTicketRegId(ids);
for (TicketRegistration registration : ticketRegistrationList) {
BigDecimal paymentAmountTotal = BigDecimal.ZERO;
for (PaymentRegistrationDto paymentRegistrationDto : paymentRegistrationDtoList) {
- if(registration.getId().equals(paymentRegistrationDto.getTicketRegistrationId())){
+ if (registration.getId().equals(paymentRegistrationDto.getTicketRegistrationId())) {
paymentAmountTotal = paymentRegistrationDto.getPaymentAmountTotal();
break;
}
@@ -138,13 +147,13 @@
// 6. 澧炲姞閲囪喘鍙拌处浜у搧寮�绁ㄨ褰�
List<SalesLedgerProduct> salesLedgerProducts = ticketRegistrationDto.getProductData();
- if (CollectionUtils.isNotEmpty(salesLedgerProducts)){
+ if (CollectionUtils.isNotEmpty(salesLedgerProducts)) {
for (SalesLedgerProduct salesLedgerProduct : salesLedgerProducts) {
ProductRecord productRecord = new ProductRecord();
productRecord.setTicketRegistrationId(ticketRegistration.getId());
productRecord.setPurchaseLedgerId(ticketRegistrationDto.getPurchaseLedgerId());
productRecord.setCreatedAt(DateUtils.getNowDate());
- BeanUtils.copyProperties(salesLedgerProduct,productRecord);
+ BeanUtils.copyProperties(salesLedgerProduct, productRecord);
productRecord.setId(null);
productRecord.setType("2");
productRecordMapper.insert(productRecord);
@@ -257,8 +266,8 @@
@Override
public List getTicketNo(TicketRegistrationDto ticketRegistrationDto) {
LambdaQueryWrapper<TicketRegistration> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.select(TicketRegistration::getId,TicketRegistration::getInvoiceNumber,TicketRegistration::getInvoiceAmount)
- .eq(TicketRegistration::getPurchaseLedgerId,ticketRegistrationDto.getId());
+ queryWrapper.select(TicketRegistration::getId, TicketRegistration::getInvoiceNumber, TicketRegistration::getInvoiceAmount)
+ .eq(TicketRegistration::getPurchaseLedgerId, ticketRegistrationDto.getId());
List<Map<String, Object>> result = ticketRegistrationMapper.selectMaps(queryWrapper);
// 灏嗕笅鍒掔嚎鍛藉悕杞崲涓洪┘宄板懡鍚�
return result.stream().map(map -> map.entrySet().stream()
@@ -273,18 +282,20 @@
LambdaQueryWrapper<TicketRegistration> queryWrapper = new LambdaQueryWrapper<>();
if (StringUtils.isNotBlank(ticketRegistration.getPurchaseContractNumber())) {
queryWrapper.like(TicketRegistration::getPurchaseContractNumber, ticketRegistration.getPurchaseContractNumber())
- .like(TicketRegistration::getSupplierName, ticketRegistration.getSupplierName())
- .eq(TicketRegistration::getIssueDate, ticketRegistration.getIssueDate());
+ .like(TicketRegistration::getSupplierName, ticketRegistration.getSupplierName());
+ }
+ if (!ObjectUtils.isEmpty(ticketRegistration.getIssueDateStart()) && !ObjectUtils.isEmpty(ticketRegistration.getIssueDateEnd())) {
+ queryWrapper.between(TicketRegistration::getIssueDate, LocalDate.parse(ticketRegistration.getIssueDateStart(), DateTimeFormatter.ofPattern("yyyy-MM-dd")), LocalDate.parse(ticketRegistration.getIssueDateEnd(), DateTimeFormatter.ofPattern("yyyy-MM-dd")));
}
IPage<TicketRegistration> ticketRegistrationIPage = ticketRegistrationMapper.selectPage(page, queryWrapper);
// 璁$畻宸蹭粯娆鹃噾棰�
- if(CollectionUtils.isNotEmpty(ticketRegistrationIPage.getRecords())){
+ if (CollectionUtils.isNotEmpty(ticketRegistrationIPage.getRecords())) {
List<Long> ids = ticketRegistrationIPage.getRecords().stream().map(TicketRegistration::getId).collect(Collectors.toList());
List<PaymentRegistrationDto> paymentRegistrationDtoList = paymentRegistrationMapper.countPaymentTotalByTicketRegId(ids);
for (TicketRegistration registration : ticketRegistrationIPage.getRecords()) {
BigDecimal paymentAmountTotal = BigDecimal.ZERO;
for (PaymentRegistrationDto paymentRegistrationDto : paymentRegistrationDtoList) {
- if(registration.getId().equals(paymentRegistrationDto.getTicketRegistrationId())){
+ if (registration.getId().equals(paymentRegistrationDto.getTicketRegistrationId())) {
paymentAmountTotal = paymentRegistrationDto.getPaymentAmountTotal();
break;
}
@@ -295,8 +306,30 @@
registration.setUnPaymentAmountTotal(subtractAmount);
}
}
+ if (!ObjectUtils.isEmpty(ticketRegistration.getStatus())) {
+ if (ticketRegistration.getStatus()) {
+ ticketRegistrationIPage.getRecords().removeIf(receiptPaymentDto1 -> new BigDecimal("0.00").equals(receiptPaymentDto1.getUnPaymentAmountTotal()));
+ }
+ }
return ticketRegistrationIPage;
+ }
+
+ @Override
+ public PurchaseLedgerDto getPuargeById(Long id) {
+ PurchaseLedger purchaseLedger = purchaseLedgerMapper.selectById(id);
+ PurchaseLedgerDto purchaseLedgerDto = new PurchaseLedgerDto();
+ BeanUtils.copyProperties(purchaseLedger, purchaseLedgerDto);
+ SalesLedgerProduct salesLedgerProduct = new SalesLedgerProduct();
+ salesLedgerProduct.setSalesLedgerId(id);
+ salesLedgerProduct.setType(SalesLedgerType.SALES_LEDGER_TYPE_SALES_LEDGER.getValue());
+ List<SalesLedgerProduct> salesLedgerProducts = salesLedgerProductService.selectSalesLedgerProductList(salesLedgerProduct);
+ purchaseLedgerDto.setProductData(salesLedgerProducts);
+ List<CommonFile> commonFiles = commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>()
+ .eq(CommonFile::getType, FileNameType.PURCHASELEDGER.getValue())
+ .eq(CommonFile::getCommonId, id));
+ purchaseLedgerDto.setSalesLedgerFiles(commonFiles);
+ return purchaseLedgerDto;
}
private void handleSalesLedgerProducts(Long salesLedgerId, List<SalesLedgerProduct> products, Integer type) {
@@ -331,16 +364,17 @@
}
// 璁$畻 futureTickets锛堢洿鎺ヤ娇鐢� BigDecimal 璁$畻锛岄伩鍏嶇簿搴︿涪澶憋級
- product.setFutureTickets(
- product.getQuantity()
- .subtract(product.getTicketsNum())
- );
+// product.setFutureTickets(
+// product.getQuantity()
+// .subtract(product.getTicketsNum())
+// );
+
// 璁$畻 futureTicketsAmount
- product.setFutureTicketsAmount(
- product.getTaxInclusiveTotalPrice()
- .subtract(product.getTicketsAmount())
- );
+// product.setFutureTicketsAmount(
+// product.getTaxInclusiveTotalPrice()
+// .subtract(product.getTicketsAmount())
+// );
product.setType(type);
salesLedgerProductMapper.updateById(product);
});
--
Gitblit v1.9.3