From 6532f302bbec8ceec7cf7c5fbad58f2ff5cf41ac Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期五, 22 五月 2026 13:46:15 +0800
Subject: [PATCH] fix: 质检提交修改
---
src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingServiceImpl.java | 29 +++++++++++++++++++++--------
1 files changed, 21 insertions(+), 8 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 3130951..6750f03 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) {
@@ -79,6 +83,13 @@
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()
.in(TechnologyRoutingOperation::getTechnologyRoutingId, ids));
@@ -116,7 +127,7 @@
Wrappers.<TechnologyBomStructure>lambdaQuery()
.eq(TechnologyBomStructure::getBomId, technologyRouting.getBomId())
.isNotNull(TechnologyBomStructure::getOperationId)
- .orderByAsc(TechnologyBomStructure::getId)
+ .orderByDesc(TechnologyBomStructure::getId)
);
if (bomStructures.isEmpty()) {
throw new ServiceException("bom浜у搧缁撴瀯涓虹┖锛�");
@@ -143,7 +154,10 @@
routingOperation.setProductModelId(resolveOutputProductModelId(bomStructure, structureById, technologyRouting.getProductModelId()));
routingOperation.setTechnologyOperationId(bomStructure.getOperationId());
routingOperation.setDragSort(dragSort++);
- routingOperation.setIsQuality(getOperationQuality(bomStructure.getOperationId()));
+ TechnologyOperation technologyOperation = getOperation(bomStructure.getOperationId());
+ routingOperation.setIsQuality(technologyOperation != null ? technologyOperation.getIsQuality() : null);
+ routingOperation.setIsProduction(technologyOperation != null ? technologyOperation.getIsProduction() : null);
+ routingOperation.setType(technologyOperation != null ? technologyOperation.getType() : null);
technologyRoutingOperationMapper.insert(routingOperation);
syncRoutingOperationParams(routingOperation.getId(), bomStructure.getOperationId());
}
@@ -204,12 +218,11 @@
}
}
- /**
- * 璐ㄦ鏍囪瘑浠ュ伐搴忓熀纭�琛ㄥ畾涔変负鍑嗐��
- */
- private Boolean getOperationQuality(Long operationId) {
- TechnologyOperation technologyOperation = technologyOperationMapper.selectById(operationId);
- return technologyOperation != null ? technologyOperation.getIsQuality() : null;
+ private TechnologyOperation getOperation(Long operationId) {
+ if (operationId == null) {
+ return null;
+ }
+ return technologyOperationMapper.selectById(operationId);
}
private String buildProcessRouteCode(Long id) {
--
Gitblit v1.9.3