From ab7b52a8884bb033e187331a437f3c9e31585a04 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期二, 03 十二月 2024 14:19:55 +0800
Subject: [PATCH] #

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/WorkController.java    |   63 +-------------------
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WorkServiceImpl.java |   69 +++++++++++++++++++++++
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/WorkService.java          |    4 +
 3 files changed, 78 insertions(+), 58 deletions(-)

diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/WorkController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/WorkController.java
index 2e6e97b..63a6520 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/WorkController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/WorkController.java
@@ -58,65 +58,12 @@
     @PostMapping("/loc/adjust")
     @Transactional
     public R locAdjust(@RequestBody LocAdjustParam param) {
-        if (param == null) {
-            return R.error("鍙傛暟涓嶈兘涓虹┖");
+        try {
+            workService.locAdjust(param);
+            return R.ok();
+        } catch (Exception e) {
+            return R.error(e.getMessage());
         }
-
-        if (Cools.isEmpty(param.getLocNo())) {
-            return R.error("搴撲綅鍙蜂笉鑳戒负绌�");
-        }
-
-        if (param.getDetls() == null) {
-            return R.error("搴撳瓨鏄庣粏涓嶈兘涓虹┖");
-        }
-
-        Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getLocNo, param.getLocNo()));
-        if (loc == null) {
-            return R.error("搴撲綅涓嶅瓨鍦�");
-        }
-
-        //鍒犻櫎婧愬簱瀛�
-        locDetlService.removeLocDetl(loc.getId());
-
-        List<MatField> matFields = matFieldService.list(new LambdaQueryWrapper<MatField>().eq(MatField::getUnique, 1));
-        for (Map<String, Object> map : param.getDetls()) {
-            LocDetl locDetl = JSON.parseObject(JSON.toJSONString(map), LocDetl.class);
-            HashMap<String, Object> uniqueFields = new HashMap<>();
-            for (Map.Entry<String, Object> entry : map.entrySet()) {
-                for (MatField field : matFields) {
-                    if (entry.getKey().equals(field.getName())) {
-                        uniqueFields.put(entry.getKey(), entry.getValue());
-                    }
-                }
-            }
-            locDetl.setAnfme(Double.parseDouble(map.get("qty").toString()));
-            locDetl.syncFieldMap(uniqueFields);
-
-            if (locDetl.getAnfme() <= 0D) {
-                throw new CoolException("鏁伴噺涓嶈兘灏忎簬0");
-            }
-
-            locDetl.setId(null);
-            locDetl.setLocId(loc.getId());
-            locDetl.setLocNo(loc.getLocNo());
-            boolean save = locDetlService.save(locDetl);
-            if (!save) {
-                throw new CoolException("搴撳瓨璋冩暣澶辫触");
-            }
-
-            //鎻掑叆搴撳瓨鏄庣粏瀛楁
-            for (MatField matField : matFields) {
-                LocDetlField locDetlField = new LocDetlField();
-                locDetlField.setDetlId(locDetl.getId());
-                locDetlField.setFieldId(matField.getId());
-                locDetlField.setName(matField.getName());
-                locDetlField.setValue(Optional.ofNullable(uniqueFields.get(matField.getName()).toString()).orElse(""));
-                locDetlFieldService.save(locDetlField);
-            }
-
-        }
-
-        return R.ok();
     }
 
     @OperationLog("搴撳瓨绉昏浆")
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/WorkService.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/WorkService.java
index bd47a2d..0fc3c7d 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/WorkService.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/WorkService.java
@@ -3,6 +3,7 @@
 import com.zy.asrs.wms.asrs.entity.Loc;
 import com.zy.asrs.wms.asrs.entity.param.FieldParam;
 import com.zy.asrs.wms.asrs.entity.param.GeneratePakInParam;
+import com.zy.asrs.wms.asrs.entity.param.LocAdjustParam;
 import com.zy.asrs.wms.asrs.entity.param.LocTransferParam;
 
 import java.util.List;
@@ -39,6 +40,9 @@
     //鎷f枡浠诲姟
     boolean pickTask(Long taskId);
 
+    //搴撳瓨璋冩暣
+    boolean locAdjust(LocAdjustParam param);
+
     //搴撲綅绉昏浆
     boolean locTransfer(LocTransferParam param);
 
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WorkServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WorkServiceImpl.java
index cdbe93b..c259f0a 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WorkServiceImpl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WorkServiceImpl.java
@@ -1,5 +1,6 @@
 package com.zy.asrs.wms.asrs.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.zy.asrs.framework.common.Cools;
 import com.zy.asrs.framework.common.R;
@@ -8,6 +9,7 @@
 import com.zy.asrs.wms.asrs.entity.enums.*;
 import com.zy.asrs.wms.asrs.entity.param.FieldParam;
 import com.zy.asrs.wms.asrs.entity.param.GeneratePakInParam;
+import com.zy.asrs.wms.asrs.entity.param.LocAdjustParam;
 import com.zy.asrs.wms.asrs.entity.param.LocTransferParam;
 import com.zy.asrs.wms.asrs.service.*;
 import com.zy.asrs.wms.utils.LocUtils;
@@ -70,6 +72,8 @@
     private OrderUtils orderUtils;
     @Autowired
     private WaveDetlService waveDetlService;
+    @Autowired
+    private MatFieldService matFieldService;
 
     @Override
     public String generateTaskNo(Long taskType) {
@@ -686,6 +690,71 @@
     }
 
     @Override
+    @Transactional
+    public boolean locAdjust(LocAdjustParam param) {
+        if (param == null) {
+            throw new CoolException("鍙傛暟涓嶈兘涓虹┖");
+        }
+
+        if (Cools.isEmpty(param.getLocNo())) {
+            throw new CoolException("搴撲綅鍙蜂笉鑳戒负绌�");
+        }
+
+        if (param.getDetls() == null) {
+            throw new CoolException("搴撳瓨鏄庣粏涓嶈兘涓虹┖");
+        }
+
+        Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getLocNo, param.getLocNo()));
+        if (loc == null) {
+            throw new CoolException("搴撲綅涓嶅瓨鍦�");
+        }
+
+        //鍒犻櫎婧愬簱瀛�
+        locDetlService.removeLocDetl(loc.getId());
+
+        List<MatField> matFields = matFieldService.list(new LambdaQueryWrapper<MatField>().eq(MatField::getUnique, 1));
+        for (Map<String, Object> map : param.getDetls()) {
+            LocDetl locDetl = JSON.parseObject(JSON.toJSONString(map), LocDetl.class);
+            HashMap<String, Object> uniqueFields = new HashMap<>();
+            for (Map.Entry<String, Object> entry : map.entrySet()) {
+                for (MatField field : matFields) {
+                    if (entry.getKey().equals(field.getName())) {
+                        uniqueFields.put(entry.getKey(), entry.getValue());
+                    }
+                }
+            }
+            locDetl.setAnfme(Double.parseDouble(map.get("qty").toString()));
+            locDetl.syncFieldMap(uniqueFields);
+
+            if (locDetl.getAnfme() <= 0D) {
+                throw new CoolException("鏁伴噺涓嶈兘灏忎簬0");
+            }
+
+            locDetl.setId(null);
+            locDetl.setLocId(loc.getId());
+            locDetl.setLocNo(loc.getLocNo());
+            boolean save = locDetlService.save(locDetl);
+            if (!save) {
+                throw new CoolException("搴撳瓨璋冩暣澶辫触");
+            }
+
+            //鎻掑叆搴撳瓨鏄庣粏瀛楁
+            for (MatField matField : matFields) {
+                LocDetlField locDetlField = new LocDetlField();
+                locDetlField.setDetlId(locDetl.getId());
+                locDetlField.setFieldId(matField.getId());
+                locDetlField.setName(matField.getName());
+                locDetlField.setValue(Optional.ofNullable(uniqueFields.get(matField.getName()).toString()).orElse(""));
+                locDetlFieldService.save(locDetlField);
+            }
+
+        }
+
+        return true;
+    }
+
+    @Override
+    @Transactional
     public boolean locTransfer(LocTransferParam param) {
         if (param == null) {
             throw new CoolException("鍙傛暟涓嶈兘涓虹┖");

--
Gitblit v1.9.1