From 20fc9ea9b6e4f885ced57a7ab7b98385834eb39a Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 22 四月 2026 13:58:09 +0800
Subject: [PATCH] feat(technology): 完善工艺路线工序管理功能

---
 src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingOperationServiceImpl.java |   55 +++++++++++++++++++++++++++----------------------------
 1 files changed, 27 insertions(+), 28 deletions(-)

diff --git a/src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingOperationServiceImpl.java b/src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingOperationServiceImpl.java
index 236d1ee..1daf6dc 100644
--- a/src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingOperationServiceImpl.java
+++ b/src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingOperationServiceImpl.java
@@ -1,15 +1,18 @@
 package com.ruoyi.technology.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.technology.bean.dto.TechnologyRoutingOperationDto;
+import com.ruoyi.technology.bean.dto.TechnologyRoutingOperationParamSyncDto;
+import com.ruoyi.technology.bean.vo.TechnologyRoutingOperationVo;
 import com.ruoyi.technology.mapper.TechnologyRoutingMapper;
 import com.ruoyi.technology.mapper.TechnologyRoutingOperationMapper;
 import com.ruoyi.technology.pojo.TechnologyRoutingOperation;
+import com.ruoyi.technology.service.TechnologyRoutingOperationParamService;
 import com.ruoyi.technology.service.TechnologyRoutingOperationService;
-import org.springframework.beans.factory.annotation.Autowired;
+import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -17,23 +20,28 @@
 
 @Service
 @Transactional(rollbackFor = Exception.class)
+@RequiredArgsConstructor
 public class TechnologyRoutingOperationServiceImpl extends ServiceImpl<TechnologyRoutingOperationMapper, TechnologyRoutingOperation> implements TechnologyRoutingOperationService {
 
-    @Autowired
-    private TechnologyRoutingOperationMapper technologyRoutingOperationMapper;
+    private final TechnologyRoutingOperationMapper technologyRoutingOperationMapper;
 
-    @Autowired
-    private TechnologyRoutingMapper technologyRoutingMapper;
+    private final TechnologyRoutingMapper technologyRoutingMapper;
+    private final TechnologyRoutingOperationParamService technologyRoutingOperationParamService;
 
     @Override
-    public IPage<TechnologyRoutingOperation> pageTechnologyRoutingOperation(Page<TechnologyRoutingOperation> page,
-                                                                            TechnologyRoutingOperation technologyRoutingOperation) {
-        return this.page(page, buildQueryWrapper(technologyRoutingOperation));
+    public IPage<TechnologyRoutingOperationVo> pageTechnologyRoutingOperation(Page<TechnologyRoutingOperationDto> page,
+                                                                              TechnologyRoutingOperationDto technologyRoutingOperationDto) {
+        return technologyRoutingOperationMapper.pageTechnologyRoutingOperation(page, technologyRoutingOperationDto);
     }
 
     @Override
-    public List<TechnologyRoutingOperation> listTechnologyRoutingOperation(TechnologyRoutingOperation technologyRoutingOperation) {
-        return this.list(buildQueryWrapper(technologyRoutingOperation));
+    public List<TechnologyRoutingOperationVo> listTechnologyRoutingOperation(TechnologyRoutingOperationDto technologyRoutingOperationDto) {
+        return technologyRoutingOperationMapper.listTechnologyRoutingOperation(technologyRoutingOperationDto);
+    }
+
+    @Override
+    public TechnologyRoutingOperationVo getTechnologyRoutingOperationInfo(Long id) {
+        return technologyRoutingOperationMapper.getTechnologyRoutingOperationInfo(id);
     }
 
     @Override
@@ -45,7 +53,14 @@
         if (technologyRoutingOperation.getDragSort() == null || technologyRoutingOperation.getDragSort() <= 0) {
             technologyRoutingOperation.setDragSort(nextDragSort(technologyRoutingOperation.getTechnologyRoutingId()));
         }
-        return this.save(technologyRoutingOperation);
+        boolean saved = this.save(technologyRoutingOperation);
+        if (saved) {
+            TechnologyRoutingOperationParamSyncDto syncDto = new TechnologyRoutingOperationParamSyncDto();
+            syncDto.setTechnologyRoutingOperationId(technologyRoutingOperation.getId());
+            syncDto.setReplaceExisting(true);
+            technologyRoutingOperationParamService.syncTechnologyRoutingOperationParam(syncDto);
+        }
+        return saved;
     }
 
     @Override
@@ -59,22 +74,6 @@
             resetDragSort(technologyRoutingOperation.getTechnologyRoutingId());
         }
         return removed;
-    }
-
-    private LambdaQueryWrapper<TechnologyRoutingOperation> buildQueryWrapper(TechnologyRoutingOperation technologyRoutingOperation) {
-        LambdaQueryWrapper<TechnologyRoutingOperation> queryWrapper = Wrappers.lambdaQuery();
-        queryWrapper.eq(technologyRoutingOperation.getId() != null, TechnologyRoutingOperation::getId, technologyRoutingOperation.getId())
-                .eq(technologyRoutingOperation.getTechnologyRoutingId() != null,
-                        TechnologyRoutingOperation::getTechnologyRoutingId, technologyRoutingOperation.getTechnologyRoutingId())
-                .eq(technologyRoutingOperation.getProductModelId() != null,
-                        TechnologyRoutingOperation::getProductModelId, technologyRoutingOperation.getProductModelId())
-                .eq(technologyRoutingOperation.getTechnologyOperationId() != null,
-                        TechnologyRoutingOperation::getTechnologyOperationId, technologyRoutingOperation.getTechnologyOperationId())
-                .eq(technologyRoutingOperation.getIsQuality() != null,
-                        TechnologyRoutingOperation::getIsQuality, technologyRoutingOperation.getIsQuality())
-                .orderByAsc(TechnologyRoutingOperation::getDragSort)
-                .orderByAsc(TechnologyRoutingOperation::getId);
-        return queryWrapper;
     }
 
     private Integer nextDragSort(Long technologyRoutingId) {

--
Gitblit v1.9.3