From 23ec64ed997fc206fba9f0d6a84975f7b36c47be Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期日, 11 十月 2026 16:09:26 +0800
Subject: [PATCH] 天津-奇缘恒艺 录数据需求修改
---
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java | 32 +++++++++++++++++++++++++++++++-
1 files changed, 31 insertions(+), 1 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 00e913f..7ff0e48 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -18,6 +18,8 @@
import com.ruoyi.basic.mapper.ProductMapper;
import com.ruoyi.basic.mapper.ProductModelMapper;
import com.ruoyi.basic.pojo.Customer;
+import com.ruoyi.basic.pojo.ProductModel;
+import com.ruoyi.basic.service.IProductService;
import com.ruoyi.basic.utils.FileUtil;
import com.ruoyi.common.enums.FileNameType;
import com.ruoyi.common.enums.SaleEnum;
@@ -106,6 +108,7 @@
private final FileUtil fileUtil;
private final AccountInvoiceApplicationMapper accountInvoiceApplicationMapper;
private final AccountSalesCollectionMapper accountSalesCollectionMapper;
+ private final IProductService productService;
@Autowired
private SysDeptMapper sysDeptMapper;
@@ -327,7 +330,7 @@
.in("customer_name", salesLedgerImportDtoList.stream()
.map(SalesLedgerImportDto::getCustomerName).collect(Collectors.toList()))
.and(wrapper -> wrapper.eq("type", 0)
- .or(wrapper2 -> wrapper2.eq("type", 1).eq("is_assigned", 1)))
+ .or(wrapper2 -> wrapper2.eq("type", 1).eq("usage_status", 1)))
.and(wrapper -> wrapper.eq("usage_user", loginUserId)
.or(wrapper2 -> wrapper2.eq("create_user", loginUserId)
.or(wrapper3 -> wrapper3.exists("select 1 from customer_user cu where cu.customer_id = customer.id and cu.user_id = " + loginUserId)))));
@@ -610,6 +613,13 @@
@Override
public void handleSalesLedgerProducts(Long salesLedgerId, List<SalesLedgerProduct> products, SaleEnum type) {
+ // 閿�鍞彴璐︽墜宸ュ綍鍏ャ�屼骇鍝佸ぇ绫�+瑙勬牸鍨嬪彿銆嶆椂锛岃嚜鍔ㄦ敞鍐屽埌浜у搧缁存姢锛堢粺涓�鎸傘�屾垚鍝併�嶅ぇ绫讳笅锛�
+ if (SaleEnum.SALE.equals(type)) {
+ for (SalesLedgerProduct product : products) {
+ registerProductFromLedgerProduct(product);
+ }
+ }
+
// 鎸塈D鍒嗙粍锛屽尯鍒嗘柊澧炲拰鏇存柊鐨勮褰�
Map<Boolean, List<SalesLedgerProduct>> partitionedProducts = products.stream()
.peek(p -> p.setSalesLedgerId(salesLedgerId))
@@ -636,6 +646,26 @@
}
}
+ /**
+ * 鎵嬪伐褰曞叆銆屼骇鍝佸ぇ绫�+瑙勬牸鍨嬪彿銆嶆椂锛屽湪浜у搧缁存姢鑷姩娉ㄥ唽锛�
+ * 缁熶竴鎸傚湪銆屾垚鍝併�嶅ぇ绫讳笅 鈥斺�� 鎴愬搧=涓�绾уぇ绫伙紝浜у搧澶х被=瀛愮被锛岃鏍煎瀷鍙�=瀛愮被涓嬬殑瑙勬牸
+ */
+ private void registerProductFromLedgerProduct(SalesLedgerProduct product) {
+ String productName = StringUtils.trim(product.getProductCategory());
+ String modelName = StringUtils.trim(product.getSpecificationModel());
+ if (StringUtils.isEmpty(productName) || StringUtils.isEmpty(modelName)) {
+ return;
+ }
+ product.setProductCategory(productName);
+ product.setSpecificationModel(modelName);
+
+ ProductModel productModel = productService.ensureProductHierarchy(productName, modelName, product.getUnit());
+ if (productModel != null) {
+ product.setProductId(productModel.getProductId());
+ product.setProductModelId(productModel.getId());
+ }
+ }
+
private SalesLedger convertToEntity(SalesLedgerDto dto) {
SalesLedger entity = new SalesLedger();
BeanUtils.copyProperties(dto, entity);
--
Gitblit v1.9.3