From 352a6420c3241955abd26aaaad997fdc65ffdb3a Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 26 三月 2026 14:27:32 +0800
Subject: [PATCH] feat: 销售订单绑定工艺路线
---
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java | 38 ++++++++++++++++++++++++++++++++++++++
1 files changed, 38 insertions(+), 0 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 c73e1ea..991d011 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -15,6 +15,7 @@
import com.ruoyi.basic.pojo.Customer;
import com.ruoyi.common.enums.FileNameType;
import com.ruoyi.common.enums.SaleEnum;
+import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.EnumUtil;
@@ -26,6 +27,8 @@
import com.ruoyi.other.mapper.TempFileMapper;
import com.ruoyi.other.pojo.TempFile;
import com.ruoyi.production.mapper.*;
+import com.ruoyi.production.pojo.ProcessRoute;
+import com.ruoyi.production.pojo.ProcessRouteItem;
import com.ruoyi.production.service.ProductionProductMainService;
import com.ruoyi.project.system.domain.SysDept;
import com.ruoyi.project.system.domain.SysUser;
@@ -37,6 +40,7 @@
import com.ruoyi.sales.dto.*;
import com.ruoyi.sales.mapper.*;
import com.ruoyi.sales.pojo.*;
+import com.ruoyi.sales.service.ISalesLedgerProcessRouteService;
import com.ruoyi.sales.service.ISalesLedgerProductProcessBindService;
import com.ruoyi.sales.service.ISalesLedgerProductProcessService;
import com.ruoyi.sales.service.ISalesLedgerService;
@@ -116,6 +120,8 @@
private final ISalesLedgerProductProcessService salesLedgerProductProcessService;
private final ISalesLedgerProductProcessBindService salesLedgerProductProcessBindService;
+
+ private final ISalesLedgerProcessRouteService salesLedgerProcessRouteService;
@Autowired
private SysDeptMapper sysDeptMapper;
@@ -521,6 +527,38 @@
return salesLedgerDtoIPage;
}
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void saleProcessBind(SalesLedgerProcessRoute salesLedgerProcessRoute) {
+ if (salesLedgerProcessRoute == null) {
+ throw new ServiceException("缁戝畾澶辫触,鏁版嵁涓嶈兘涓虹┖");
+ }
+
+ SalesLedger salesLedger = baseMapper.selectById(salesLedgerProcessRoute.getSalesLedgerId());
+ if (salesLedger == null) {
+ throw new ServiceException("缁戝畾澶辫触,閿�鍞鍗曚笉瀛樺湪");
+ }
+ ProcessRoute processRoute = processRouteMapper.selectById(salesLedgerProcessRoute.getProcessRouteId());
+ if (processRoute == null) {
+ throw new ServiceException("缁戝畾澶辫触,宸ヨ壓璺嚎涓嶅瓨鍦�");
+ }
+ // 娓呴櫎宸茬粦瀹氱殑鏁版嵁
+ salesLedgerProcessRouteService.remove(new LambdaQueryWrapper<SalesLedgerProcessRoute>().eq(SalesLedgerProcessRoute::getSalesLedgerId, salesLedger.getId()).eq(SalesLedgerProcessRoute::getProcessRouteId, processRoute.getId()));
+
+ // 灏嗘暟鎹縼绉诲埌sales_ledger_process_route
+ List<ProcessRouteItem> routeItems = processRouteItemMapper.selectList(new LambdaQueryWrapper<ProcessRouteItem>().eq(ProcessRouteItem::getRouteId, processRoute.getId()));
+ SalesLedgerProcessRoute ledgerProcessRoute;
+ List<SalesLedgerProcessRoute> salesLedgerProcessRouteList = new ArrayList<>();
+ for (ProcessRouteItem routeItem : routeItems) {
+ ledgerProcessRoute = new SalesLedgerProcessRoute();
+ ledgerProcessRoute.setProcessRouteId(processRoute.getId());
+ ledgerProcessRoute.setSalesLedgerId(salesLedger.getId());
+ ledgerProcessRoute.setProcessRouteItemId(routeItem.getId());
+ salesLedgerProcessRouteList.add(ledgerProcessRoute);
+ }
+ salesLedgerProcessRouteService.saveBatch(salesLedgerProcessRouteList);
+ }
+
/**
* 涓嬪垝绾垮懡鍚嶈浆椹煎嘲鍛藉悕
*/
--
Gitblit v1.9.3