From 41b3941ce3deb81d7e59bc5fe81ad50f4ce2812e Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期一, 20 四月 2026 09:28:53 +0800
Subject: [PATCH] fix(customer): 修复客户私海相关查询和导入功能
---
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java | 24 ++++++++++++++++++++++--
1 files changed, 22 insertions(+), 2 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 2326c13..d6ea7ba 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -2,6 +2,7 @@
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.convert.Convert;
+import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.StrUtil;
@@ -17,10 +18,13 @@
import com.deepoove.poi.config.Configure;
import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy;
import com.ruoyi.account.service.AccountIncomeService;
+import com.ruoyi.basic.dto.CustomerPrivatePoolDto;
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.pojo.CustomerPrivatePool;
import com.ruoyi.common.enums.FileNameType;
import com.ruoyi.common.enums.SaleEnum;
import com.ruoyi.common.exception.base.BaseException;
@@ -128,6 +132,8 @@
@Autowired
private SysUserMapper sysUserMapper;
+ @Autowired
+ private CustomerPrivatePoolMapper customerPrivatePoolMapper;
@Override
public List<SalesLedger> selectSalesLedgerList(SalesLedgerDto salesLedgerDto) {
@@ -659,7 +665,7 @@
public int addOrUpdateSalesLedger(SalesLedgerDto salesLedgerDto) {
try {
// 1. 鏍¢獙瀹㈡埛淇℃伅
- Customer customer = customerMapper.selectById(salesLedgerDto.getCustomerId());
+ CustomerPrivatePoolDto customer = customerPrivatePoolMapper.selectInfo(salesLedgerDto.getCustomerId());
if (customer == null) {
throw new BaseException("瀹㈡埛涓嶅瓨鍦�");
}
@@ -670,7 +676,7 @@
salesLedger.setTenantId(customer.getTenantId());
// 3. 鏂板鎴栨洿鏂颁富琛�
if (salesLedger.getId() == null) {
- String contractNo = generateSalesContractNo();
+ String contractNo = generateSalesContractNoBy8Date();
salesLedger.setSalesContractNo(contractNo);
salesLedgerMapper.insert(salesLedger);
} else {
@@ -814,6 +820,20 @@
return entity;
}
+ public String generateSalesContractNoBy8Date(){
+ String yyMM = DateUtil.format(new Date(), "yyMM");
+ // 鏌ヨ涓�涓湀鏈夊灏戣鍗�
+ Date begin = DateUtil.beginOfMonth(new Date());
+ Date end = DateUtil.endOfMonth(new Date());
+ LambdaQueryWrapper<SalesLedger> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.between(SalesLedger::getEntryDate, begin, end);
+ long count = salesLedgerMapper.selectCount(queryWrapper);
+ Long seq = Optional.of(count).orElse(0L) + 1;
+ return String.format("%s%04d", yyMM, seq);
+ }
+
+
+
@Transactional(readOnly = true)
public String generateSalesContractNo() {
LocalDate currentDate = LocalDate.now();
--
Gitblit v1.9.3