From accb86943163e6224d4ef9a3418ad4f4cf830160 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期四, 23 四月 2026 09:32:45 +0800
Subject: [PATCH] feat(production): 添加工艺路线反向新增功能
---
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java | 23 +++++++++++++++++++----
1 files changed, 19 insertions(+), 4 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 31ee9fb..5f4ec02 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -19,12 +19,13 @@
import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy;
import com.ruoyi.account.service.AccountIncomeService;
import com.ruoyi.basic.dto.CustomerPrivatePoolDto;
+import com.ruoyi.basic.dto.ProductModelAnticlockwiseDto;
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.basic.service.IProductModelService;
import com.ruoyi.common.enums.FileNameType;
import com.ruoyi.common.enums.SaleEnum;
import com.ruoyi.common.exception.base.BaseException;
@@ -37,13 +38,12 @@
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.other.mapper.TempFileMapper;
import com.ruoyi.other.pojo.TempFile;
-import com.ruoyi.production.mapper.*;
+import com.ruoyi.production.mapper.ProductStructureMapper;
import com.ruoyi.production.service.ProductionProductMainService;
import com.ruoyi.project.system.domain.SysDept;
import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.mapper.SysDeptMapper;
import com.ruoyi.project.system.mapper.SysUserMapper;
-import com.ruoyi.quality.mapper.QualityInspectMapper;
import com.ruoyi.sales.dto.*;
import com.ruoyi.sales.mapper.*;
import com.ruoyi.sales.pojo.*;
@@ -134,6 +134,8 @@
private SysUserMapper sysUserMapper;
@Autowired
private CustomerPrivatePoolMapper customerPrivatePoolMapper;
+ @Autowired
+ private IProductModelService productModelService;
@Override
public List<SalesLedger> selectSalesLedgerList(SalesLedgerDto salesLedgerDto) {
@@ -676,12 +678,13 @@
SalesLedger salesLedger = convertToEntity(salesLedgerDto);
salesLedger.setCustomerName(customer.getCustomerName());
salesLedger.setTenantId(customer.getTenantId());
+
// 3. 鏂板鎴栨洿鏂颁富琛�
if (salesLedger.getId() == null) {
// 涓虹┖ 鑷姩鐢熸垚
String contractNo =StrUtil.isBlank(salesLedgerDto.getSalesContractNo())? generateSalesContractNoBy8Date():salesLedgerDto.getSalesContractNo();
// 涓嶈兘鏈夐噸澶嶆暟鎹殑鍚堝悓鍙�
- Assert.isFalse(salesLedgerMapper.selectOne(new LambdaQueryWrapper<SalesLedger>()
+ Assert.isTrue(salesLedgerMapper.selectOne(new LambdaQueryWrapper<SalesLedger>()
.eq(SalesLedger::getSalesContractNo, contractNo)
.last("limit 1")) == null, contractNo+"鍚堝悓鍙峰凡瀛樺湪");
salesLedger.setSalesContractNo(contractNo);
@@ -693,6 +696,18 @@
// 4. 澶勭悊瀛愯〃鏁版嵁
List<SalesLedgerProduct> productList = salesLedgerDto.getProductData();
+ for (SalesLedgerProduct product : productList) {
+ //绌虹殑鍏堟柊澧炲熀纭�鏁版嵁 闈炵┖鐩存帴寰�涓嬭蛋
+ if (ObjectUtils.isEmpty(product.getProductModelId())) {
+ ProductModelAnticlockwiseDto productModelAnticlockwiseDto = new ProductModelAnticlockwiseDto();
+ productModelAnticlockwiseDto.setModel(product.getSpecificationModel());
+ productModelAnticlockwiseDto.setProductName(product.getProductCategory());
+ productModelAnticlockwiseDto.setUnit(product.getUnit());
+ productModelAnticlockwiseDto.setSubUnit(product.getUnit());
+ Long productModelId = productModelService.productModelAnticlockwise(productModelAnticlockwiseDto);
+ product.setProductModelId(productModelId);
+ }
+ }
if (productList != null && !productList.isEmpty()) {
handleSalesLedgerProducts(salesLedger.getId(), productList, EnumUtil.fromCode(SaleEnum.class, salesLedgerDto.getType()));
updateMainContractAmount(
--
Gitblit v1.9.3