From 2be979cbab3f9799858970eda35e89ecec28a492 Mon Sep 17 00:00:00 2001
From: mrzhssss <pro6@qq.com>
Date: 星期二, 15 三月 2022 15:13:58 +0800
Subject: [PATCH] #

---
 src/main/java/zy/cloud/wms/manager/controller/ReceiveDetlController.java |   75 ++++++++++++++++++++++++++++++++++++-
 1 files changed, 72 insertions(+), 3 deletions(-)

diff --git a/src/main/java/zy/cloud/wms/manager/controller/ReceiveDetlController.java b/src/main/java/zy/cloud/wms/manager/controller/ReceiveDetlController.java
index 65af884..5e9d42e 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/ReceiveDetlController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/ReceiveDetlController.java
@@ -6,7 +6,12 @@
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.core.common.DateUtils;
+import zy.cloud.wms.manager.entity.LocDetl;
+import zy.cloud.wms.manager.entity.Node;
 import zy.cloud.wms.manager.entity.ReceiveDetl;
+import zy.cloud.wms.manager.entity.dto.PutShelfDTO;
+import zy.cloud.wms.manager.service.LocDetlService;
+import zy.cloud.wms.manager.service.NodeService;
 import zy.cloud.wms.manager.service.ReceiveDetlService;
 import com.core.annotations.ManagerAuth;
 import com.core.common.BaseRes;
@@ -23,6 +28,10 @@
 
     @Autowired
     private ReceiveDetlService receiveDetlService;
+    @Autowired
+    private LocDetlService locDetlService;
+    @Autowired
+    private NodeService nodeService;
 
     @RequestMapping(value = "/receiveDetl/{id}/auth")
     @ManagerAuth
@@ -120,10 +129,70 @@
         return R.ok();
     }
 
+    /**
+     * 涓婃灦鍔ㄤ綔,鎻掑叆搴撳瓨鏄庣粏,鏇存柊鍗曟嵁鏄庣粏
+     * @param putShelfDTO
+     * @return
+     */
     @RequestMapping("/receiveDetl/addIn")
-    public R addIn(@RequestBody ReceiveDetl receiveDetl){
-        System.out.println("receiveDetl = " + receiveDetl);
-        return R.ok();
+    @ManagerAuth
+    public R addIn(@RequestBody PutShelfDTO putShelfDTO){
+        /**
+         * 鎺х涓庢暟鎹垵濮嬪寲
+         */
+        if (Cools.isEmpty(putShelfDTO.getId(),putShelfDTO.getBatch(),putShelfDTO.getRemain(),putShelfDTO.getSelect())){
+            return R.error("杈撳叆鏁版嵁鏈夎,璇烽噸鏂拌緭鍏�");
+        }
+        Date date = new Date();
+        double remain = Double.parseDouble(putShelfDTO.getRemain());
+        double anfme = Double.parseDouble(putShelfDTO.getAnfme());
+        double inQty = Double.parseDouble(putShelfDTO.getInQty());
+        if (anfme - (remain + inQty) < 0){
+            return R.error("鏈鍏ュ簱鏁伴噺澶т簬鎵�闇�鍏ュ簱鏁伴噺");
+        }
+        Node targetLoc = nodeService.selectOne(new EntityWrapper<Node>()
+                .eq("id", putShelfDTO.getSelect()));
+
+
+        /**
+         * 鏇存柊搴撳瓨
+         */
+        LocDetl checkLoc = locDetlService.selectOne(new EntityWrapper<LocDetl>()
+                .eq("loc_no", targetLoc.getName())
+                .eq("matnr", putShelfDTO.getMatnr())
+                .eq("batch", putShelfDTO.getBatch()));
+        if (Cools.isEmpty(checkLoc)) {
+            LocDetl locDetl = new LocDetl();
+            locDetl.setHostId(getHostId());
+            locDetl.setLocNo(targetLoc.getName());
+            locDetl.setNodeId(targetLoc.getId());
+            locDetl.setAnfme(remain);
+            locDetl.setMatnr(putShelfDTO.getMatnr());
+            locDetl.setMaktx(putShelfDTO.getMaktx());
+            locDetl.setCreateBy(getUserId());
+            locDetl.setCreateTime(date);
+            locDetl.setUpdateBy(getUserId());
+            locDetl.setUpdateTime(date);
+            locDetl.setBatch(putShelfDTO.getBatch());
+            locDetlService.insert(locDetl);
+        }else {
+            checkLoc.setAnfme(checkLoc.getAnfme() + remain);
+            locDetlService.update(checkLoc,new EntityWrapper<LocDetl>()
+                    .eq("loc_no", targetLoc.getName())
+                    .eq("matnr", putShelfDTO.getMatnr())
+                    .eq("batch", putShelfDTO.getBatch()));
+        }
+
+        /**
+         * 鍙嶅啓璁㈠崟鏁伴噺
+         */
+
+        ReceiveDetl targetRece = receiveDetlService.selectOne(new EntityWrapper<ReceiveDetl>()
+                .eq("id", putShelfDTO.getId()));
+        targetRece.setInQty((int) (targetRece.getInQty() + remain));
+        receiveDetlService.update(targetRece,new EntityWrapper<ReceiveDetl>()
+                .eq("id",targetRece.getId()));
+        return R.ok("娣诲姞鎴愬姛");
     }
 
 }

--
Gitblit v1.9.1