From 80074ff24f4ecfb2d909fabedf5513c415bd4900 Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期三, 15 四月 2026 16:35:12 +0800
Subject: [PATCH] 批量禁用

---
 rsf-admin/src/page/basicInfo/loc/BatchModal.jsx                                          |   22 +++++++++++++++++-----
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java |   18 +++++++++++++++---
 2 files changed, 32 insertions(+), 8 deletions(-)

diff --git a/rsf-admin/src/page/basicInfo/loc/BatchModal.jsx b/rsf-admin/src/page/basicInfo/loc/BatchModal.jsx
index 64cc36a..db02307 100644
--- a/rsf-admin/src/page/basicInfo/loc/BatchModal.jsx
+++ b/rsf-admin/src/page/basicInfo/loc/BatchModal.jsx
@@ -52,7 +52,7 @@
 import { Add, Edit, Delete } from '@mui/icons-material';
 import _ from 'lodash';
 import { DataGrid } from '@mui/x-data-grid';
-import StatusSelectInput from "../../components/StatusSelectInput";
+// import StatusSelectInput from "../../components/StatusSelectInput";
 
 
 const BatchModal = ({ open, setOpen, fieldType }) => {
@@ -66,7 +66,7 @@
         "warehouseId": null,
         "areaId": null,
         "type": null,
-        'status': null
+        'useStatus': null
     });
 
     const { selectedIds, onUnselectItems } = useListContext();
@@ -86,7 +86,7 @@
             "areaId": null,
             "type": null,
             "typeIds": null,
-            'status': null
+            'useStatus': null
         })
     }
 
@@ -113,9 +113,14 @@
     }
 
     const handleSubmit = async () => {
+        const locData = removeEmptyKeys(formData)
+        // 鎵归噺绂佺敤搴撲綅
+        if (fieldType === 'status') {
+            locData.useStatus = 'X'
+        }
         const parmas = {
             id: selectedIds,
-            loc: removeEmptyKeys(formData)
+            loc: locData
         }
 
         const res = await request.post(`/loc/modify`, parmas);
@@ -185,10 +190,17 @@
 
                             {fieldType === 'status' &&
                                 <Grid item xs={6}>
-                                    <StatusSelectInput
+                                    {/* <StatusSelectInput
                                         onChange={(e) => handleChange(e.target.value, 'status')}
                                         defaultValue={''}
                                         require={false}
+                                    /> */}
+                                    <TextField
+                                        label={translate('table.field.loc.useStatus')}
+                                        value={'X(绂佺敤)'}
+                                        size="small"
+                                        fullWidth
+                                        disabled
                                     />
                                 </Grid>
                             }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java
index 86cb80e..55201bd 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java
@@ -50,13 +50,24 @@
 
     @Override
     public R modifyLocs(LocModifyParams locs) {
-        if (locs.getId().isEmpty()) {
+        if (Objects.isNull(locs.getId()) || locs.getId().isEmpty()) {
             throw new CoolException("搴撲綅ID涓嶈兘涓虹┖锛侊紒");
         }
         Loc loc = locs.getLoc();
 
         if (Objects.isNull(loc)) {
             throw new CoolException("淇敼搴撲綅淇℃伅涓嶈兘涓虹┖锛侊紒");
+        }
+        // 鍏煎鏃ц姹備腑鐨勭姸鎬佺鐢ㄥ弬鏁�
+        if (Objects.equals(loc.getStatus(), 0) && Objects.isNull(loc.getUseStatus())) {
+            loc.setUseStatus("X");
+            // loc.setStatus(0);
+            loc.setStatus(null);
+        }
+
+        List<Loc> exists = this.list(new LambdaQueryWrapper<Loc>().in(Loc::getId, locs.getId()));
+        if (exists.isEmpty()) {
+            throw new CoolException("鏈壘鍒板彲淇敼鐨勫簱浣嶄俊鎭紒锛�");
         }
 
         String join = loc.getType();
@@ -65,7 +76,7 @@
         }
         boolean update = this.update(new LambdaUpdateWrapper<Loc>()
                 .in(Loc::getId, locs.getId())
-                .eq(Loc::getStatus, 1)
+                // .eq(Loc::getStatus, 1)
                 .set(!Objects.isNull(loc.getAreaId()), Loc::getAreaId, loc.getAreaId())
                 .set(!Objects.isNull(loc.getWarehouseId()), Loc::getWarehouseId, loc.getWarehouseId())
                 .set(!Objects.isNull(loc.getUseStatus()), Loc::getUseStatus, loc.getUseStatus())
@@ -77,7 +88,8 @@
                 .set(!Objects.isNull(loc.getFlagLabelMange()), Loc::getFlagLabelMange, loc.getFlagLabelMange())
                 .set(!Objects.isNull(loc.getStatus()), Loc::getStatus, loc.getStatus()));
         if (!update) {
-            throw new CoolException("搴撲綅淇℃伅淇敼澶辫触锛侊紒");
+            // 鏃犳暟鎹彉鏇存椂鎸夋垚鍔熻繑鍥烇紝閬垮厤閲嶅鎿嶄綔鎶ラ敊
+            return R.ok(loc);
         }
 
         return R.ok(loc);

--
Gitblit v1.9.1