From cc0635fdc45d9b0e9396f76ed4074bdb1d81f9d3 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期二, 11 十一月 2025 11:07:19 +0800
Subject: [PATCH] yys 优化仓储物流模块
---
src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java | 48 +++++++++++++++++++++++++++++++++---------------
1 files changed, 33 insertions(+), 15 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 4c85afb..287997d 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
@@ -164,11 +164,11 @@
productRecord.setSaleLedgerProjectId(salesLedgerProduct.getId());
productRecord.setId(null);
productRecord.setType("2");
- insert = productRecordMapper.insert(productRecord);
+ insert += productRecordMapper.insert(productRecord);
}
- if (insert <= 0) {
- throw new RuntimeException("浜у搧寮�绁ㄦ暟閮戒负0锛岃妫�鏌�");
- }
+ }
+ if (insert <= 0) {
+ throw new RuntimeException("浜у搧寮�绁ㄦ暟閮戒负0锛岃妫�鏌�");
}
}
// 杩佺Щ涓存椂鏂囦欢鍒版寮忕洰褰�
@@ -222,12 +222,15 @@
try {
// 鎵ц鏂囦欢杩佺Щ锛堜娇鐢ㄥ師瀛愭搷浣滅‘淇濆畨鍏ㄦ�э級
- Files.move(
- Paths.get(tempFile.getTempPath()),
- formalFilePath,
- StandardCopyOption.REPLACE_EXISTING,
- StandardCopyOption.ATOMIC_MOVE
- );
+// Files.move(
+// Paths.get(tempFile.getTempPath()),
+// formalFilePath,
+// StandardCopyOption.REPLACE_EXISTING,
+// StandardCopyOption.ATOMIC_MOVE
+// );
+ // 鍘熷瓙绉诲姩澶辫触锛屼娇鐢ㄥ鍒�+鍒犻櫎
+ Files.copy(Paths.get(tempFile.getTempPath()), formalFilePath, StandardCopyOption.REPLACE_EXISTING);
+ Files.deleteIfExists(Paths.get(tempFile.getTempPath()));
log.info("鏂囦欢杩佺Щ鎴愬姛: {} -> {}", tempFile.getTempPath(), formalFilePath);
// 鏇存柊鏂囦欢璁板綍锛堝叧鑱斿埌涓氬姟ID锛�
@@ -264,8 +267,14 @@
// 淇敼浜у搧淇℃伅
for (ProductRecord productRecord : productRecords) {
- ticketRegistrations.get(0).setInvoiceAmount(ticketRegistrations.get(0).getInvoiceAmount().subtract(productRecords.get(0).getTicketsAmount()));
- ticketRegistrationMapper.updateById(ticketRegistrations.get(0));
+ BigDecimal subtract = ticketRegistrations.get(0).getInvoiceAmount().subtract(productRecords.get(0).getTicketsAmount());
+ // 灏忎簬绛変簬0鍒犻櫎 锛屽ぇ浜�0淇敼
+ if(subtract.compareTo(BigDecimal.ZERO) <= 0){
+ ticketRegistrationMapper.deleteById(ticketRegistrations.get(0));
+ }else if(subtract.compareTo(BigDecimal.ZERO) > 0){
+ ticketRegistrations.get(0).setInvoiceAmount(subtract);
+ ticketRegistrationMapper.updateById(ticketRegistrations.get(0));
+ }
LambdaQueryWrapper<SalesLedgerProduct> salesLedgerProductLambdaQueryWrapper = new LambdaQueryWrapper<>();
salesLedgerProductLambdaQueryWrapper.eq(SalesLedgerProduct::getId, productRecord.getSaleLedgerProjectId())
.eq(SalesLedgerProduct::getType, 2);
@@ -323,9 +332,13 @@
@Override
public IPage<TicketRegistration> selectTicketRegistrationListPage(Page page, TicketRegistration ticketRegistration) {
LambdaQueryWrapper<TicketRegistration> queryWrapper = new LambdaQueryWrapper<>();
- if (StringUtils.isNotBlank(ticketRegistration.getPurchaseContractNumber())) {
- queryWrapper.like(TicketRegistration::getPurchaseContractNumber, ticketRegistration.getPurchaseContractNumber())
- .like(TicketRegistration::getSupplierName, ticketRegistration.getSupplierName());
+ if (StringUtils.isNotBlank(ticketRegistration.getSupplierNameOrContractNo())) {
+ queryWrapper.and(wrapper -> wrapper
+ .like(TicketRegistration::getPurchaseContractNumber, ticketRegistration.getSupplierNameOrContractNo())
+ .or()
+ .like(TicketRegistration::getSupplierName, ticketRegistration.getSupplierNameOrContractNo())
+ .or()
+ .like(TicketRegistration::getSalesContractNo, ticketRegistration.getSupplierNameOrContractNo()));
}
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")));
@@ -353,8 +366,13 @@
if (ticketRegistration.getStatus()) {
ticketRegistrationIPage.getRecords().removeIf(receiptPaymentDto1 -> new BigDecimal("0.00").equals(receiptPaymentDto1.getUnPaymentAmountTotal()));
+ ticketRegistrationIPage.setTotal(ticketRegistrationIPage.getRecords().size());
}
}
+ ticketRegistrationIPage.getRecords().forEach(item -> {
+ // 宸蹭粯娆鹃噾棰� == 寰呬粯娆鹃噾棰�
+ item.setStatusName(item.getPaymentAmountTotal().compareTo(item.getInvoiceAmount()) == 0 ? "宸插畬鎴愪粯娆�" : "鏈畬鎴愪粯娆�");
+ });
return ticketRegistrationIPage;
}
--
Gitblit v1.9.3