Преглед изворни кода

27. 翻剁倒垛之类的,暂未完成

dw пре 2 недеља
родитељ
комит
8959af86c0

+ 15
- 0
sto/src/main/java/com/shinsoft/sto/controller/ware/StoreChangeController.java Прегледај датотеку

97
             return ResultJSON.error("置底失败"+ex.getMessage());
97
             return ResultJSON.error("置底失败"+ex.getMessage());
98
         }
98
         }
99
     }
99
     }
100
+
101
+    /**
102
+     * 批量翻剁/倒垛
103
+     */
104
+    @RequestMapping("/batchMove")
105
+    public ResultJSON batchMove(@RequestParam String json,String wareId,String storeId, HttpServletRequest request) {
106
+        try {
107
+            String userId = request.getHeader("userId");
108
+            String belongId = request.getHeader("belongId");
109
+            return storeChangeService.batchMove(json,wareId,storeId,userId,belongId);
110
+        } catch (Exception ex) {
111
+            ex.printStackTrace();
112
+            return ResultJSON.error("翻剁/倒垛失败:" + ex.getMessage());
113
+        }
114
+    }
100
 }
115
 }
101
 
116
 

+ 53
- 0
sto/src/main/java/com/shinsoft/sto/service/impl/ware/StoreChangeServiceImpl.java Прегледај датотеку

1
 package com.shinsoft.sto.service.impl.ware;
1
 package com.shinsoft.sto.service.impl.ware;
2
 
2
 
3
 import com.alibaba.cloud.commons.lang.StringUtils;
3
 import com.alibaba.cloud.commons.lang.StringUtils;
4
+import com.alibaba.fastjson.JSON;
5
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
4
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
6
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
7
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
5
 import com.baomidou.mybatisplus.core.metadata.IPage;
8
 import com.baomidou.mybatisplus.core.metadata.IPage;
6
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
9
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
10
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
8
 import com.shinsoft.sto.mapper.ware.StoreChangeMapper;
11
 import com.shinsoft.sto.mapper.ware.StoreChangeMapper;
12
+import com.shinsoft.sto.model.ware.ChangeRecord;
9
 import com.shinsoft.sto.model.ware.StoreChange;
13
 import com.shinsoft.sto.model.ware.StoreChange;
10
 import com.shinsoft.sto.model.system.ResponseCodeMsg;
14
 import com.shinsoft.sto.model.system.ResponseCodeMsg;
11
 import com.shinsoft.sto.model.system.ResultJSON;
15
 import com.shinsoft.sto.model.system.ResultJSON;
13
 import org.springframework.stereotype.Service;
17
 import org.springframework.stereotype.Service;
14
 import org.springframework.transaction.annotation.Transactional;
18
 import org.springframework.transaction.annotation.Transactional;
15
 
19
 
20
+import java.util.Date;
16
 import java.util.List;
21
 import java.util.List;
17
 import java.util.Map;
22
 import java.util.Map;
23
+import java.util.UUID;
18
 
24
 
19
 @Service
25
 @Service
20
 public class StoreChangeServiceImpl extends ServiceImpl<StoreChangeMapper, StoreChange> implements StoreChangeService {
26
 public class StoreChangeServiceImpl extends ServiceImpl<StoreChangeMapper, StoreChange> implements StoreChangeService {
318
         }
324
         }
319
     }
325
     }
320
 
326
 
327
+    @Override
328
+    @Transactional(rollbackFor = Exception.class)
329
+    public ResultJSON batchMove(String json, String wareId, String storeId, String userId, String belongId) {
330
+        try {
331
+            List<String> list = JSON.parseArray(json, String.class);
332
+
333
+            if (list == null || list.isEmpty()) {
334
+                return ResultJSON.error(ResponseCodeMsg.CODE_EX, "移动列表不能为空");
335
+            }
336
+
337
+            // 创建更新条件
338
+            UpdateWrapper<StoreChange> updateWrapper = new UpdateWrapper<>();
339
+            updateWrapper.in("STORE_ID", list)  // 使用ID列表作为筛选条件
340
+                    .eq("CANCEL_FLAG", "0")  // 未作废的库存信息
341
+                    .eq("belong_id", belongId)  // 设置归属ID
342
+                    .set("ware_id", wareId)  // 设置新的仓库ID
343
+                    .set("store_id", storeId)  // 设置新的库位ID
344
+                    .set("MODIFY_TIME", new Date())
345
+                    .set("MODIFY_ID", userId);
346
+
347
+            // 执行批量更新
348
+            int result = baseMapper.update(updateWrapper);
349
+
350
+//            新增操作记录
351
+            ChangeRecord changeRecord = new ChangeRecord();
352
+            changeRecord.setId(UUID.randomUUID().toString());
353
+            changeRecord.setCntNum(1);
354
+            changeRecord.setAddTime(new Date());
355
+            changeRecord.setAddId(userId);
356
+            changeRecord.setChangeFlag("02");
357
+            changeRecord.setChangeNote("垛位转移");
358
+            changeRecord.setOldWareName(wareId);
359
+
360
+
361
+
362
+            if (result > 0) {
363
+                return ResultJSON.success("批量移动成功,影响记录数:" + result);
364
+            } else {
365
+                return ResultJSON.error(ResponseCodeMsg.CODE_EX, "批量移动失败,未更新任何记录");
366
+            }
367
+
368
+        } catch (Exception e) {
369
+            return ResultJSON.error(ResponseCodeMsg.CODE_EX, "批量移动异常: " + e.getMessage());
370
+        }
371
+    }
372
+
373
+
321
 }
374
 }
322
 
375
 

+ 2
- 0
sto/src/main/java/com/shinsoft/sto/service/ware/StoreChangeService.java Прегледај датотеку

16
     ResultJSON moveTop(String wareId, String stackId, String prodId, String layerNo, String belongId);
16
     ResultJSON moveTop(String wareId, String stackId, String prodId, String layerNo, String belongId);
17
 
17
 
18
     ResultJSON moveBottom(String wareId, String stackId, String prodId, String layerNo, String belongId);
18
     ResultJSON moveBottom(String wareId, String stackId, String prodId, String layerNo, String belongId);
19
+
20
+    ResultJSON batchMove(String json,String wareId,String storeId,String userId,String belongId);
19
 }
21
 }
20
 
22
 

Loading…
Откажи
Сачувај