From becb020492248fbf5a2920c954e03fd08d4b0e6f Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 26 三月 2026 17:21:59 +0800
Subject: [PATCH] fix: 流程工序排序功能

---
 src/main/java/com/ruoyi/production/service/impl/ProcessRouteItemServiceImpl.java |   38 +++++++++++++++++++++++++++++---------
 1 files changed, 29 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/service/impl/ProcessRouteItemServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProcessRouteItemServiceImpl.java
index 8dda3da..9bcbad1 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProcessRouteItemServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProcessRouteItemServiceImpl.java
@@ -1,9 +1,9 @@
 package com.ruoyi.production.service.impl;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 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.common.exception.ServiceException;
 import com.ruoyi.production.dto.ProcessRouteItemDto;
 import com.ruoyi.production.mapper.ProcessRouteItemMapper;
 import com.ruoyi.production.pojo.ProcessRouteItem;
@@ -64,6 +64,26 @@
     }
 
     @Override
+    public void saveOrUpdateRouteItem(ProcessRouteItem processRouteItem) {
+        if (processRouteItem == null) {
+            throw new ServiceException("鏂板/淇敼澶辫触,鏁版嵁涓嶈兘涓虹┖");
+        }
+
+        //  濡傛灉id涓簄ull鍒欐柊澧�,鍚﹀垯灏辨洿鏂�
+        if (processRouteItem.getId() == null) {
+            //  鏌ヨ鍑哄綋鍓嶆湁澶氬皯涓瓙闆�
+            Long selectCount = baseMapper.selectCount(new LambdaQueryWrapper<ProcessRouteItem>().eq(ProcessRouteItem::getRouteId, processRouteItem.getRouteId()));
+            if (selectCount == null) {
+                selectCount = 0L;
+            }
+            processRouteItem.setDragSort((int) (selectCount + 1));
+            baseMapper.insert(processRouteItem);
+            return;
+        }
+        baseMapper.updateById(processRouteItem);
+    }
+
+    @Override
     public String batchDelete(Long id) {
         // 鏌ヨ瑕佸垹闄ょ殑鏁版嵁
         ProcessRouteItem deleteProcessRouteItem = processRouteItemMapper.selectById(id);
@@ -78,13 +98,13 @@
                 .eq(ProcessRouteItem::getRouteId, routeId)
                 .orderByAsc(ProcessRouteItem::getDragSort));
         // 閲嶆柊璁剧疆鎺掑簭鍊硷紝浣垮簭鍙疯繛缁�
-//        for (int i = 0; i < processRouteItems.size(); i++) {
-//            ProcessRouteItem item = processRouteItems.get(i);
-//            if (!item.getDragSort().equals(i+1)) {
-//                item.setDragSort(i+1);
-//                processRouteItemMapper.updateById(item);
-//            }
-//        }
+        for (int i = 0; i < processRouteItems.size(); i++) {
+            ProcessRouteItem item = processRouteItems.get(i);
+            if (!item.getDragSort().equals(i + 1)) {
+                item.setDragSort(i + 1);
+                processRouteItemMapper.updateById(item);
+            }
+        }
         return "鍒犻櫎鎴愬姛";
     }
 }

--
Gitblit v1.9.3