From 05de62989998157eab6ae4809ec3a45db6783e10 Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期二, 10 六月 2025 15:36:54 +0800
Subject: [PATCH] 开票台账删除功能修改
---
src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java | 66 +++++++++++++++++++++++++-------
1 files changed, 51 insertions(+), 15 deletions(-)
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 c2bef5b..94066bb 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -1,7 +1,9 @@
package com.ruoyi.purchase.service.impl;
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.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.basic.mapper.ProductMapper;
@@ -11,14 +13,18 @@
import com.ruoyi.basic.pojo.ProductModel;
import com.ruoyi.basic.pojo.SupplierManage;
import com.ruoyi.common.exception.base.BaseException;
+import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.framework.security.LoginUser;
import com.ruoyi.other.mapper.TempFileMapper;
import com.ruoyi.other.pojo.TempFile;
import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.mapper.SysUserMapper;
import com.ruoyi.purchase.dto.PurchaseLedgerDto;
+import com.ruoyi.purchase.mapper.ProductRecordMapper;
import com.ruoyi.purchase.mapper.PurchaseLedgerMapper;
import com.ruoyi.purchase.mapper.TicketRegistrationMapper;
+import com.ruoyi.purchase.pojo.ProductRecord;
import com.ruoyi.purchase.pojo.PurchaseLedger;
import com.ruoyi.purchase.pojo.TicketRegistration;
import com.ruoyi.purchase.service.IPurchaseLedgerService;
@@ -77,6 +83,8 @@
private final TicketRegistrationMapper ticketRegistrationMapper;
+ private final ProductRecordMapper productRecordMapper;
+
@Value("${file.upload-dir}")
private String uploadDir;
@@ -93,10 +101,6 @@
public int addOrEditPurchase(PurchaseLedgerDto purchaseLedgerDto) throws IOException {
SalesLedger salesLedger = salesLedgerMapper.selectById(purchaseLedgerDto.getSalesLedgerId());
-
- if (salesLedger == null) {
- throw new BaseException("閿�鍞彴璐︿笉瀛樺湪");
- }
//褰曞叆浜�
SysUser sysUser = userMapper.selectUserById(purchaseLedgerDto.getRecorderId());
@@ -105,8 +109,11 @@
// DTO杞珽ntity
PurchaseLedger purchaseLedger = new PurchaseLedger();
BeanUtils.copyProperties(purchaseLedgerDto, purchaseLedger);
- purchaseLedger.setTenantId(salesLedger.getTenantId());
- purchaseLedger.setSalesContractNo(salesLedger.getSalesContractNo());
+ LoginUser loginUser = SecurityUtils.getLoginUser();
+ if(ObjectUtils.isNotEmpty(loginUser) && null != loginUser.getTenantId()) {
+ purchaseLedger.setTenantId(loginUser.getTenantId().longValue());
+ }
+ purchaseLedger.setSalesContractNo(ObjectUtils.isNotEmpty(salesLedger) ? salesLedger.getSalesContractNo() : null);
purchaseLedger.setSupplierName(supplierManage.getSupplierName());
purchaseLedger.setRecorderId(purchaseLedgerDto.getRecorderId());
purchaseLedger.setRecorderName(sysUser.getNickName());
@@ -285,6 +292,23 @@
@Override
public int deletePurchaseLedgerByIds(Long[] ids) {
+ if (ids == null || ids.length == 0) {
+ throw new BaseException("璇烽�変腑鑷冲皯涓�鏉℃暟鎹�");
+ }
+ // 鎵归噺鍒犻櫎鍏宠仈鐨勯噰璐彴璐︿骇鍝�
+ LambdaQueryWrapper<SalesLedgerProduct> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.in(SalesLedgerProduct::getSalesLedgerId, ids)
+ .eq(SalesLedgerProduct::getType, "2");
+ salesLedgerProductMapper.delete(queryWrapper);
+ // 鎵归噺鍒犻櫎鍏宠仈鐨勯噰璐彴璐︾殑鏉ョエ鐧昏
+ LambdaQueryWrapper<TicketRegistration> ticketRegistrationLambdaQueryWrapper = new LambdaQueryWrapper<>();
+ ticketRegistrationLambdaQueryWrapper.in(TicketRegistration::getSalesLedgerId,ids);
+ ticketRegistrationMapper.delete(ticketRegistrationLambdaQueryWrapper);
+ // 鎵归噺鍒犻櫎鍏宠仈鐨勯噰璐彴璐︾殑鏉ョエ鐧昏璁板綍
+ LambdaQueryWrapper<ProductRecord> productRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
+ productRecordLambdaQueryWrapper.in(ProductRecord::getPurchaseLedgerId,ids);
+ productRecordMapper.delete(productRecordLambdaQueryWrapper);
+ // 鎵归噺鍒犻櫎閲囪喘鍙拌处
return purchaseLedgerMapper.deleteBatchIds(Arrays.asList(ids));
}
@@ -353,11 +377,14 @@
.eq(SalesLedgerProduct::getType, 2);
List<SalesLedgerProduct> productList = salesLedgerProductMapper.selectList(queryWrapper);
productList.forEach(product -> {
- product.setFutureTickets(product.getFutureTickets() != null ? product.getFutureTickets() : product.getQuantity().longValue());
+ product.setFutureTickets(product.getFutureTickets() != null ? product.getFutureTickets() : product.getQuantity());
product.setFutureTicketsAmount(product.getFutureTicketsAmount() != null ? product.getFutureTicketsAmount() : product.getTaxInclusiveTotalPrice());
+ product.setTicketsNum(null);
+ product.setTicketsAmount(null);
+ product.setTempFutureTickets(product.getFutureTickets());
+ product.setTempFutureTicketsAmount(product.getFutureTicketsAmount());
});
resultDto.setProductData(productList);
-
return resultDto;
}
@@ -381,16 +408,25 @@
public PurchaseLedgerDto getPurchaseNoById(Long id) {
PurchaseLedgerDto purchaseLedgerDto = new PurchaseLedgerDto();
PurchaseLedger purchaseLedger = purchaseLedgerMapper.selectById(id);
- BeanUtils.copyProperties(purchaseLedger,purchaseLedgerDto);
- TicketRegistration ticketRegistration = ticketRegistrationMapper.selectOne(new LambdaQueryWrapper<TicketRegistration>().eq(TicketRegistration::getPurchaseLedgerId, id));
- if (ticketRegistration != null) {
- purchaseLedgerDto.setInvoiceNumber(ticketRegistration.getInvoiceNumber());
- purchaseLedgerDto.setInvoiceAmount(ticketRegistration.getInvoiceAmount());
- purchaseLedgerDto.setTicketRegistrationId(ticketRegistration.getId());
- }
+ BeanUtils.copyProperties(purchaseLedger, purchaseLedgerDto);
+// TicketRegistration ticketRegistration = ticketRegistrationMapper.selectOne(new LambdaQueryWrapper<TicketRegistration>().eq(TicketRegistration::getPurchaseLedgerId, id));
+// if (ticketRegistration != null) {
+// purchaseLedgerDto.setInvoiceNumber(ticketRegistration.getInvoiceNumber());
+// purchaseLedgerDto.setInvoiceAmount(ticketRegistration.getInvoiceAmount());
+// purchaseLedgerDto.setTicketRegistrationId(ticketRegistration.getId());
+// }
return purchaseLedgerDto;
}
+ @Override
+ public IPage<PurchaseLedger> selectPurchaseLedgerListPage(IPage ipage, PurchaseLedger purchaseLedger) {
+ LambdaQueryWrapper<PurchaseLedger> queryWrapper = new LambdaQueryWrapper<>();
+ if (StringUtils.isNotBlank(purchaseLedger.getPurchaseContractNumber())) {
+ queryWrapper.like(PurchaseLedger::getPurchaseContractNumber, purchaseLedger.getPurchaseContractNumber());
+ }
+ return purchaseLedgerMapper.selectPage(ipage, queryWrapper);
+ }
+
/**
* 涓嬪垝绾垮懡鍚嶈浆椹煎嘲鍛藉悕
*/
--
Gitblit v1.9.3