From b2859e20392f07094ec84166b83e6189665404c2 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期六, 12 七月 2025 17:09:55 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/pim_yys'
---
src/main/java/com/ruoyi/purchase/dto/ProductRecordDto.java | 4 ++++
src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java | 32 +++++++++++++++++++++++++++++++-
src/main/resources/mapper/purchase/ProductRecordMapper.xml | 3 +++
src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java | 6 ++++--
src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java | 10 +++++-----
5 files changed, 47 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java b/src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java
index 61de057..f52330d 100644
--- a/src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java
+++ b/src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java
@@ -39,12 +39,12 @@
String tempId = UUID.randomUUID().toString();
String originalFilename = file.getOriginalFilename();
if(originalFilename == null) throw new IOException("鏂囦欢鍚嶄笉鑳戒负绌�");
- URLEncoder urlEncoder = new URLEncoder();
- String encodedFilename = urlEncoder.encode(originalFilename, StandardCharsets.UTF_8);
- encodedFilename = encodedFilename.replaceAll("%2E",".");
- Path tempFilePath = Paths.get(tempDir, tempId + "_" + encodedFilename);
+// URLEncoder urlEncoder = new URLEncoder();
+// String encodedFilename = urlEncoder.encode(originalFilename, StandardCharsets.UTF_8);
+// encodedFilename = encodedFilename.replaceAll("%2E",".");
+// Path tempFilePath = Paths.get(tempDir, tempId + "_" + encodedFilename);
-// Path tempFilePath = Paths.get(tempDir, tempId + "_" + file.getOriginalFilename());
+ Path tempFilePath = Paths.get(tempDir, tempId + "_" + file.getOriginalFilename());
// 2. 纭繚鐩綍瀛樺湪
Path parentDir = tempFilePath.getParent();
diff --git a/src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java b/src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java
index ae4141b..0f2d5f4 100644
--- a/src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java
+++ b/src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java
@@ -20,6 +20,7 @@
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.security.core.parameters.P;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -100,10 +101,11 @@
}
/**
- * 鍒犻櫎鏉ョエ鐧昏
+ * 鍒犻櫎鏉ョエ鐧昏(鏉ョエ鍙拌处)
*/
- @Log(title = "鏉ョエ鐧昏", businessType = BusinessType.DELETE)
+ @Log(title = "鍒犻櫎鏉ョエ鐧昏(鏉ョエ鍙拌处)", businessType = BusinessType.DELETE)
@DeleteMapping("/delRegistration")
+ @Transactional(rollbackFor = Exception.class)
public AjaxResult delRegistration(@RequestBody Long[] ids) {
return toAjax(ticketRegistrationService.delRegistration(ids));
}
diff --git a/src/main/java/com/ruoyi/purchase/dto/ProductRecordDto.java b/src/main/java/com/ruoyi/purchase/dto/ProductRecordDto.java
index 261159a..1a3396d 100644
--- a/src/main/java/com/ruoyi/purchase/dto/ProductRecordDto.java
+++ b/src/main/java/com/ruoyi/purchase/dto/ProductRecordDto.java
@@ -10,6 +10,8 @@
@Data
public class ProductRecordDto extends ProductRecord {
+ private Long ticketRegistrationId;
+
//閿�鍞悎鍚屽彿
private String salesContractNo;
//瀹㈡埛鍚堝悓鍙�
@@ -23,6 +25,8 @@
private String purchaseContractNumber;
//渚涘簲鍟嗗悕绉�
private String supplierName;
+ private Long issUerId;
+ private String issUer;
//澧炲�肩◣
private String invoiceAmount = "0";
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 08bbf4b..b01fdc2 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
@@ -252,7 +252,37 @@
@Override
public int delRegistration(Long[] ids) {
- return ticketRegistrationMapper.deleteBatchIds(Arrays.asList(ids));
+ // 鍒犻櫎閲囪喘鍙拌处浜у搧寮�绁ㄨ褰曞璞�
+ LambdaQueryWrapper<ProductRecord> productRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
+ productRecordLambdaQueryWrapper.in(ProductRecord::getId, Arrays.asList(ids));
+ List<ProductRecord> productRecords = productRecordMapper.selectList(productRecordLambdaQueryWrapper);
+ if(CollectionUtils.isEmpty(productRecords)){
+ return 0;
+ }
+ LambdaQueryWrapper<TicketRegistration> ticketRegistrationLambdaQueryWrapper = new LambdaQueryWrapper<>();
+ ticketRegistrationLambdaQueryWrapper.in(TicketRegistration::getId, productRecords.stream().map(ProductRecord::getTicketRegistrationId).collect(Collectors.toList()));
+ List<TicketRegistration> ticketRegistrations = ticketRegistrationMapper.selectList(ticketRegistrationLambdaQueryWrapper);
+
+ // 淇敼浜у搧淇℃伅
+ for (ProductRecord productRecord : productRecords) {
+ ticketRegistrations.get(0).setInvoiceAmount(ticketRegistrations.get(0).getInvoiceAmount().subtract(productRecords.get(0).getTicketsAmount()));
+ ticketRegistrationMapper.updateById(ticketRegistrations.get(0));
+ LambdaQueryWrapper<SalesLedgerProduct> salesLedgerProductLambdaQueryWrapper = new LambdaQueryWrapper<>();
+ salesLedgerProductLambdaQueryWrapper.eq(SalesLedgerProduct::getId, productRecord.getSaleLedgerProjectId())
+ .eq(SalesLedgerProduct::getType, 2);
+ List<SalesLedgerProduct> salesLedgerProducts = salesLedgerProductMapper.selectList(salesLedgerProductLambdaQueryWrapper);
+ if(!CollectionUtils.isEmpty(salesLedgerProducts)){
+ for (SalesLedgerProduct salesLedgerProduct : salesLedgerProducts) {
+ salesLedgerProduct.setFutureTickets(salesLedgerProduct.getFutureTickets().add(productRecord.getTicketsNum()));
+ salesLedgerProduct.setFutureTicketsAmount(salesLedgerProduct.getFutureTicketsAmount().add(productRecord.getTicketsAmount()));
+ salesLedgerProductMapper.updateById(salesLedgerProduct);
+
+ }
+ }
+ }
+ // 鍒犻櫎閲囪喘鍙拌处浜у搧寮�绁ㄨ褰�
+ productRecordMapper.delete(productRecordLambdaQueryWrapper);
+ return 1;
}
@Override
diff --git a/src/main/resources/mapper/purchase/ProductRecordMapper.xml b/src/main/resources/mapper/purchase/ProductRecordMapper.xml
index e1646b8..6db5f75 100644
--- a/src/main/resources/mapper/purchase/ProductRecordMapper.xml
+++ b/src/main/resources/mapper/purchase/ProductRecordMapper.xml
@@ -15,6 +15,9 @@
pl.supplier_name,
pr.*,
tr.invoice_number,
+ tr.iss_uer_id,
+ tr.iss_uer,
+ tr.id as ticketRegistrationId,
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
--
Gitblit v1.9.3