From d9aac64d061758c77af5ecccce740df43167024e Mon Sep 17 00:00:00 2001 From: liyong <18434998025@163.com> Date: 星期六, 12 七月 2025 13:30:43 +0800 Subject: [PATCH] 基础数据--- 删除做限制,已经引用的无法删除 --- src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java | 29 +++++++++++++++++++++-------- 1 files changed, 21 insertions(+), 8 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 ffe7f4f..0650ce8 100644 --- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java +++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java @@ -12,7 +12,9 @@ import com.ruoyi.basic.pojo.Product; import com.ruoyi.basic.pojo.ProductModel; import com.ruoyi.basic.pojo.SupplierManage; +import com.ruoyi.common.enums.FileNameType; import com.ruoyi.common.exception.base.BaseException; +import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.framework.security.LoginUser; @@ -40,6 +42,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.io.IOException; import java.math.BigDecimal; @@ -49,6 +52,7 @@ import java.nio.file.StandardCopyOption; import java.time.LocalDate; import java.time.LocalDateTime; +import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.util.*; import java.util.concurrent.TimeUnit; @@ -103,6 +107,7 @@ } @Override + @Transactional(rollbackFor = Exception.class) public int addOrEditPurchase(PurchaseLedgerDto purchaseLedgerDto) throws IOException { SalesLedger salesLedger = salesLedgerMapper.selectById(purchaseLedgerDto.getSalesLedgerId()); @@ -195,6 +200,7 @@ List<SalesLedgerProduct> updateList = partitionedProducts.get(true); List<SalesLedgerProduct> insertList = partitionedProducts.get(false); + PurchaseLedger purchaseLedger = purchaseLedgerMapper.selectById(salesLedgerId); // 鎵ц鏇存柊鎿嶄綔 if (!updateList.isEmpty()) { @@ -207,6 +213,10 @@ if (!insertList.isEmpty()) { for (SalesLedgerProduct salesLedgerProduct : insertList) { salesLedgerProduct.setType(type); + Date entryDate = purchaseLedger.getEntryDate(); + + LocalDateTime localDateTime = entryDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); + salesLedgerProduct.setRegisterDate(localDateTime); salesLedgerProductMapper.insert(salesLedgerProduct); } } @@ -280,7 +290,7 @@ fileRecord.setName(originalFilename); fileRecord.setUrl(formalFilePath.toString()); fileRecord.setCreateTime(LocalDateTime.now()); - fileRecord.setType("2"); + fileRecord.setType(FileNameType.PURCHASE.getValue()); commonFileMapper.insert(fileRecord); // 鍒犻櫎涓存椂鏂囦欢璁板綍 @@ -303,7 +313,7 @@ // 鎵归噺鍒犻櫎鍏宠仈鐨勯噰璐彴璐︿骇鍝� LambdaQueryWrapper<SalesLedgerProduct> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.in(SalesLedgerProduct::getSalesLedgerId, ids) - .eq(SalesLedgerProduct::getType, "2"); + .eq(SalesLedgerProduct::getType, 2); salesLedgerProductMapper.delete(queryWrapper); // 鎵归噺鍒犻櫎鍏宠仈鐨勯噰璐彴璐︾殑鏉ョエ鐧昏 LambdaQueryWrapper<TicketRegistration> ticketRegistrationLambdaQueryWrapper = new LambdaQueryWrapper<>(); @@ -371,6 +381,7 @@ } // 鍒涘缓骞跺~鍏匘TO PurchaseLedgerDto resultDto = new PurchaseLedgerDto(); + resultDto.setSalesLedgerId(purchaseLedger.getSalesLedgerId()); resultDto.setSalesContractNoId(purchaseLedger.getSalesLedgerId()); resultDto.setSalesContractNo(purchaseLedger.getSalesContractNo()); resultDto.setSupplierName(purchaseLedger.getSupplierName()); @@ -413,6 +424,7 @@ 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) { @@ -424,12 +436,13 @@ } @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); + public IPage<PurchaseLedgerDto> selectPurchaseLedgerListPage(IPage ipage, PurchaseLedgerDto purchaseLedger) { + IPage<PurchaseLedgerDto> purchaseLedgerDtoIPage = purchaseLedgerMapper.selectPurchaseLedgerListPage(ipage, purchaseLedger); + purchaseLedgerDtoIPage.getRecords().forEach(purchaseLedgerDto -> { + List<CommonFile> commonFiles = commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>().eq(CommonFile::getCommonId, purchaseLedgerDto.getId()).eq(CommonFile::getType, FileNameType.PURCHASELEDGER.getValue())); + purchaseLedgerDto.setSalesLedgerFiles(commonFiles); + }); + return purchaseLedgerDtoIPage; } @Override -- Gitblit v1.9.3