From 71d838e032d13a46a07917f5606862496220ea74 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期一, 08 一月 2024 08:35:35 +0800
Subject: [PATCH] # 入库拣货功能添加

---
 src/main/java/com/zy/asrs/controller/PlaController.java |   89 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 89 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/PlaController.java b/src/main/java/com/zy/asrs/controller/PlaController.java
index 6cbdfc6..f8978f1 100644
--- a/src/main/java/com/zy/asrs/controller/PlaController.java
+++ b/src/main/java/com/zy/asrs/controller/PlaController.java
@@ -5,15 +5,23 @@
 import com.core.annotations.ManagerAuth;
 import com.core.common.DateUtils;
 import com.core.common.R;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.ManPakOut;
 import com.zy.asrs.entity.Pla;
+import com.zy.asrs.entity.PlaQty;
+import com.zy.asrs.service.ManPakOutService;
+import com.zy.asrs.service.PlaQtyService;
 import com.zy.asrs.service.PlaService;
+import com.zy.asrs.utils.SaasUtils;
 import com.zy.common.web.BaseController;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -22,6 +30,10 @@
 
     @Autowired
     private PlaService plaService;
+    @Autowired
+    private PlaQtyService plaQtyService;
+    @Autowired
+    private ManPakOutService manPakOutService;
 
     @RequestMapping(value = "/pla/list/auth")
     @ManagerAuth
@@ -56,6 +68,63 @@
         return R.ok();
     }
 
+    @RequestMapping(value = "/pla/delivery/auth")
+    @ManagerAuth
+    public R delivery() {
+        return R.ok(plaQtyService.getDeliveryDate());
+    }
+
+    @RequestMapping(value = "/pla/sellout/auth")
+    @ManagerAuth
+    public R sellout(@RequestBody List<Pla> plas) {
+
+        plas.forEach(pla -> {
+
+            if(pla.getWeightAnfme() - pla.getQtyAnfme() - pla.getOrderWeight() < 0){
+                throw new CoolException("璇ュ簱瀛樺墿浣欓噸閲忎笉瓒筹紝璇疯皟鏁村嚭搴撻噸閲�");
+            }
+            pla.setQtyAnfme(pla.getQtyAnfme() + pla.getOrderWeight());
+            pla.setHandlerBy(getUser().getUsername());
+            pla.setStatus("寰呭嚭搴�");
+            pla.setPakoutTime(pla.getPakoutTime().split("\\(")[0]);
+            PlaQty plaQty = new PlaQty();
+            BeanUtils.copyProperties(pla,plaQty);
+            plaQty.setCreateTime(new Date());
+            plaQty.setId(null);
+
+            plaService.updateById(pla);
+            plaQtyService.insert(plaQty);
+
+            //鐢熸垚鎷h揣鍗�
+            addPakOUT(plaQty);
+
+        });
+
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/pla/returned/auth")
+    @ManagerAuth
+    public R returned(@RequestBody List<PlaQty> plaQties) {
+        plaService.returned(plaQties,getUser());
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/pla/rework/auth")
+    @ManagerAuth
+    public R rework(@RequestBody List<Pla> plas) {
+        plas.forEach(pla -> {
+            Double anfme = pla.getWeightAnfme();
+            pla.setStatus("鍏ㄩ儴鍑哄簱");
+            pla.setModifyTime(new Date());
+            pla.setWeightAnfme(0.0);
+            plaService.updateById(pla);
+            SaasUtils.insertLog(1,pla.getLocNo(),pla.getBatch()+","+pla.getPackageNo(),anfme,getUser().getUsername());
+        });
+
+        return R.ok();
+    }
+
     private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
         for (Map.Entry<String, Object> entry : map.entrySet()){
             String val = String.valueOf(entry.getValue());
@@ -69,4 +138,24 @@
         }
     }
 
+    private R addPakOUT(PlaQty plaQty){
+        ManPakOut manPakOut=new ManPakOut();
+        manPakOut.setWrkNo(plaQty.getOrderNo()+"-"+System.currentTimeMillis());
+        manPakOut.setWrkSts((long)1);
+        manPakOut.setAnfme(plaQty.getOrderWeight());
+        manPakOut.setLocNo(plaQty.getLocNo());
+        manPakOut.setBatch(plaQty.getBatch());
+        manPakOut.setBarcode(plaQty.getPackageNo());
+        manPakOut.setUuid(String.valueOf(System.currentTimeMillis()));
+        manPakOut.setCreateTime(new Date());
+        manPakOut.setUpdateTime(new Date());
+        manPakOut.setCount(0.0);
+        manPakOut.setDocNum(plaQty.getOrderNo());
+        manPakOut.setStatus(0);
+        manPakOut.setNodeId(plaQty.getId());
+        //manPakOut.setNodeId(plaQty.getOrderDetlId());
+        manPakOutService.insert(manPakOut);
+        return R.ok();
+    }
+
 }

--
Gitblit v1.9.1