From 0578c6c76f13e367b5dc7d0882efe3c69ca4cb0e Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期五, 15 五月 2026 16:29:30 +0800
Subject: [PATCH] feat(customer): 添加客户银行代码字段并实现批量删除功能

---
 src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java |   60 ++++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 40 insertions(+), 20 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
index ccbe035..a6f56c6 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -9,12 +9,10 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.account.service.AccountIncomeService;
-import com.ruoyi.basic.dto.CustomerPrivatePoolDto;
-import com.ruoyi.basic.dto.StorageBlobVO;
 import com.ruoyi.basic.enums.ApplicationTypeEnum;
 import com.ruoyi.basic.enums.RecordTypeEnum;
 import com.ruoyi.basic.mapper.CustomerMapper;
-import com.ruoyi.basic.mapper.CustomerPrivatePoolMapper;
+import com.ruoyi.basic.mapper.ProductMapper;
 import com.ruoyi.basic.mapper.ProductModelMapper;
 import com.ruoyi.basic.pojo.Customer;
 import com.ruoyi.basic.utils.FileUtil;
@@ -49,6 +47,7 @@
 import lombok.extern.slf4j.Slf4j;
 import org.jetbrains.annotations.Nullable;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.data.redis.core.script.DefaultRedisScript;
@@ -82,11 +81,13 @@
     private static final String LOCK_PREFIX = "contract_no_lock:";
     private static final long LOCK_WAIT_TIMEOUT = 10; // 閿佺瓑寰呰秴鏃舵椂闂达紙绉掞級
     private static final long LOCK_EXPIRE_TIME = 30;  // 閿佽嚜鍔ㄨ繃鏈熸椂闂达紙绉掞級
+    private final AccountIncomeService accountIncomeService;
     private final SalesLedgerMapper salesLedgerMapper;
     private final CustomerMapper customerMapper;
     private final SalesLedgerProductMapper salesLedgerProductMapper;
     private final SalesLedgerProductServiceImpl salesLedgerProductServiceImpl;
     private final CommonFileMapper commonFileMapper;
+    private final TempFileMapper tempFileMapper;
     private final ReceiptPaymentMapper receiptPaymentMapper;
     private final ShippingInfoServiceImpl shippingInfoServiceImpl;
     private final CommonFileServiceImpl commonFileService;
@@ -94,14 +95,29 @@
     private final InvoiceLedgerMapper invoiceLedgerMapper;
     private final InvoiceRegistrationProductMapper invoiceRegistrationProductMapper;
     private final InvoiceRegistrationMapper invoiceRegistrationMapper;
-    private final ProductModelMapper productModelMapper;
+    private final ProductionProductMainMapper productionProductMainMapper;
+    private final ProductionProductOutputMapper productionProductOutputMapper;
+    private final ProductionProductInputMapper productionProductInputMapper;
+    private final QualityInspectMapper qualityInspectMapper;
     private final RedisTemplate<String, String> redisTemplate;
-    private final SysDeptMapper sysDeptMapper;
-    private final ProductionProductMainService productionProductMainService;
-    private final PurchaseReturnOrderProductsMapper purchaseReturnOrderProductsMapper;
-    private final SysUserMapper sysUserMapper;
-    private final CustomerPrivatePoolMapper customerPrivatePoolMapper;
-    private final FileUtil fileUtil;
+    @Autowired
+    private SysDeptMapper sysDeptMapper;
+    @Value("${file.upload-dir}")
+    private String uploadDir;
+    @Autowired
+    private ProductModelMapper productModelMapper;
+
+    @Autowired
+    private ProductMapper productMapper;
+    @Autowired
+    private ProductionProductMainService productionProductMainService;
+    @Autowired
+    private PurchaseReturnOrderProductsMapper purchaseReturnOrderProductsMapper;
+    ;
+    @Autowired
+    private SysUserMapper sysUserMapper;
+    @Autowired
+    private FileUtil fileUtil;
 
     @Override
     public List<SalesLedger> selectSalesLedgerList(SalesLedgerDto salesLedgerDto) {
@@ -185,9 +201,6 @@
             resultDto.setProductData(products);
             resultDto.setSalesLedgerFiles(salesLedgerFiles);
         }
-        // 5. 鏌ヨ闄勪欢
-        List<StorageBlobVO> StorageBlobVOs = fileUtil.getStorageBlobVOsByRecordTypeAndRecordId(RecordTypeEnum.SALES_LEDGER, salesLedger.getId());
-        resultDto.setStorageBlobVOs(StorageBlobVOs);
         return resultDto;
     }
 
@@ -474,6 +487,12 @@
         return salesLedgerDtoIPage;
     }
 
+    @Override
+    public Boolean delLdgerFile(Long[] ids) {
+        fileUtil.deleteStorageBlobsByStorageAttachmentIds(List.of(ids));
+        return true;
+    }
+
     /**
      * 涓嬪垝绾垮懡鍚嶈浆椹煎嘲鍛藉悕
      */
@@ -514,7 +533,7 @@
         List<Long> productIds = products.stream()
                 .map(SalesLedgerProduct::getId)
                 .collect(Collectors.toList());
-        //鍒犻櫎鐢熶骇璁″垝
+        //鍒犻櫎鐢熶骇鏁版嵁
         salesLedgerProductServiceImpl.deleteProductionData(productIds);
 
         // 鎵归噺鍒犻櫎浜у搧瀛愯〃
@@ -570,7 +589,7 @@
     @Transactional(rollbackFor = Exception.class)
     public int addOrUpdateSalesLedger(SalesLedgerDto salesLedgerDto) {
         // 1. 鏍¢獙瀹㈡埛淇℃伅
-        CustomerPrivatePoolDto customer = customerPrivatePoolMapper.selectInfo(salesLedgerDto.getCustomerId());
+        Customer customer = customerMapper.selectById(salesLedgerDto.getCustomerId());
         if (customer == null) {
             throw new BaseException("瀹㈡埛涓嶅瓨鍦�");
         }
@@ -601,14 +620,15 @@
             );
         }
 
-        // 5. 淇濆瓨鏂囦欢
-        if (salesLedgerDto.getStorageBlobDTOs() != null && !salesLedgerDto.getStorageBlobDTOs().isEmpty()) {
-            fileUtil.saveStorageAttachment(ApplicationTypeEnum.FILE, RecordTypeEnum.SALES_LEDGER, salesLedger.getId(), salesLedgerDto.getStorageBlobDTOs());
-        }
+        //涓氬姟鍜岄檮浠剁粦瀹�
+        fileUtil.saveStorageAttachment(ApplicationTypeEnum.FILE, RecordTypeEnum.SALES_LEDGER, salesLedger.getId(), salesLedgerDto.getStorageBlobDTOs());
+//            if (salesLedgerDto.getTempFileIds() != null && !salesLedgerDto.getTempFileIds().isEmpty()) {
+//                migrateTempFilesToFormal(salesLedger.getId(), salesLedgerDto.getTempFileIds());
+//            }
         return 1;
     }
 
-    // 鏂囦欢杩佺Щ鏂规硶
+
 
     @Override
     public void handleSalesLedgerProducts(Long salesLedgerId, List<SalesLedgerProduct> products, SaleEnum type) {

--
Gitblit v1.9.3