From 9e300f3329459d54d1ad2511f64cdc3a60fd5a6c Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期五, 28 八月 2026 20:39:54 +0800
Subject: [PATCH] fix: 入库记录修改为批号倒序
---
src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingServiceImpl.java | 24 ++++++++++++++++++++++++
1 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingServiceImpl.java b/src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingServiceImpl.java
index 0eff194..3e2fb0c 100644
--- a/src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingServiceImpl.java
+++ b/src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingServiceImpl.java
@@ -9,6 +9,8 @@
import com.ruoyi.common.utils.OrderUtils;
import com.ruoyi.technology.bean.dto.TechnologyRoutingDto;
import com.ruoyi.technology.bean.vo.TechnologyRoutingVo;
+import com.ruoyi.production.mapper.ProductionOrderRoutingMapper;
+import com.ruoyi.production.pojo.ProductionOrderRouting;
import com.ruoyi.technology.mapper.*;
import com.ruoyi.technology.pojo.*;
import com.ruoyi.technology.service.TechnologyRoutingService;
@@ -39,6 +41,8 @@
private final TechnologyOperationParamMapper technologyOperationParamMapper;
private final TechnologyParamMapper technologyParamMapper;
private final TechnologyRoutingOperationParamMapper technologyRoutingOperationParamMapper;
+
+ private final ProductionOrderRoutingMapper productionOrderRoutingMapper;
@Override
public IPage<TechnologyRoutingVo> pageTechnologyRouting(Page<TechnologyRoutingDto> page, TechnologyRoutingDto technologyRoutingDto) {
@@ -78,6 +82,13 @@
public boolean removeTechnologyRouting(List<Long> ids) {
if (ids == null || ids.isEmpty()) {
return false;
+ }
+ // 鍒ゆ柇鏄惁鏈夌敓浜ц鍗曠粦瀹氳宸ヨ壓璺嚎
+ Long count = productionOrderRoutingMapper.selectCount(
+ Wrappers.<ProductionOrderRouting>lambdaQuery()
+ .in(ProductionOrderRouting::getTechnologyRoutingId, ids));
+ if (count > 0) {
+ throw new ServiceException("璇ュ伐鑹鸿矾绾垮凡缁戝畾鐢熶骇璁㈠崟锛屾棤娉曞垹闄わ紒");
}
List<TechnologyRoutingOperation> routingOperationList = technologyRoutingOperationMapper.selectList(
Wrappers.<TechnologyRoutingOperation>lambdaQuery()
@@ -166,6 +177,10 @@
if (bomStructure == null) {
return routingProductModelId;
}
+ if (hasChildren(bomStructure, structureById)) {
+ return bomStructure.getProductModelId() != null
+ ? bomStructure.getProductModelId() : routingProductModelId;
+ }
Long parentId = bomStructure.getParentId();
if (parentId == null) {
return routingProductModelId != null ? routingProductModelId : bomStructure.getProductModelId();
@@ -177,6 +192,15 @@
return routingProductModelId != null ? routingProductModelId : bomStructure.getProductModelId();
}
+ private boolean hasChildren(TechnologyBomStructure bomStructure,
+ Map<Long, TechnologyBomStructure> structureById) {
+ if (bomStructure == null || bomStructure.getId() == null || structureById == null) {
+ return false;
+ }
+ return structureById.values().stream()
+ .anyMatch(child -> child != null && java.util.Objects.equals(child.getParentId(), bomStructure.getId()));
+ }
+
private void syncRoutingOperationParams(Long technologyRoutingOperationId, Long technologyOperationId) {
List<TechnologyOperationParam> operationParamList = technologyOperationParamMapper.selectList(
Wrappers.<TechnologyOperationParam>lambdaQuery()
--
Gitblit v1.9.3