From df88dca7312e0a25d1e495e7bded5488f923514d Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期四, 16 五月 2024 17:25:16 +0800
Subject: [PATCH] # 手动调拨

---
 src/main/java/com/zy/asrs/controller/AgvMobileController.java    |    8 ++++
 src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java |   66 +++++++++++++++++++++++++++++++--
 src/main/java/com/zy/asrs/service/AgvMobileService.java          |   10 +++--
 src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java      |    4 +-
 4 files changed, 78 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/AgvMobileController.java b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
index 74bf28b..f3c14b6 100644
--- a/src/main/java/com/zy/asrs/controller/AgvMobileController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
@@ -404,6 +404,14 @@
         return R.ok();
     }
 
+    @PostMapping("/hand/control/allocationOut")
+    @Transactional
+    @ManagerAuth(memo = "璋冩嫧绂诲満")
+    public R allocationOut(@RequestBody AgvMobileStartPakin param){
+        agvMobileService.allocationOut(param, getUserId());
+        return R.ok();
+    }
+
     public static void main(String[] args) {
         List<AgvLocDetl> agvLocDetls1 = new ArrayList<>();
         List<AgvLocDetl> agvLocDetls2 = new ArrayList<>();
diff --git a/src/main/java/com/zy/asrs/service/AgvMobileService.java b/src/main/java/com/zy/asrs/service/AgvMobileService.java
index ff4ff95..51b6916 100644
--- a/src/main/java/com/zy/asrs/service/AgvMobileService.java
+++ b/src/main/java/com/zy/asrs/service/AgvMobileService.java
@@ -1,10 +1,7 @@
 package com.zy.asrs.service;
 
 import com.zy.asrs.entity.AgvBasDevp;
-import com.zy.asrs.entity.param.CombParam;
-import com.zy.asrs.entity.param.LocMoveParam;
-import com.zy.asrs.entity.param.MobileAdjustParam;
-import com.zy.asrs.entity.param.PickParam;
+import com.zy.asrs.entity.param.*;
 
 import java.util.List;
 
@@ -41,4 +38,9 @@
      */
     String handControlLocMove(LocMoveParam param, Long userId);
 
+    /**
+     * 璋冩嫧绂诲満
+     */
+    String allocationOut(AgvMobileStartPakin param, Long userId);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
index 5a91cb0..c2200c3 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -7,10 +7,7 @@
 import com.core.common.R;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
-import com.zy.asrs.entity.param.CombParam;
-import com.zy.asrs.entity.param.LocMoveParam;
-import com.zy.asrs.entity.param.MobileAdjustParam;
-import com.zy.asrs.entity.param.PickParam;
+import com.zy.asrs.entity.param.*;
 import com.zy.asrs.service.*;
 import com.zy.common.model.DetlDto;
 import com.zy.common.service.AgvCommonService;
@@ -55,6 +52,10 @@
     private AgvLocMastService agvLocMastService;
     @Autowired
     private AgvCommonService agvCommonService;
+    @Autowired
+    private AgvWrkMastLogService agvWrkMastLogService;
+    @Autowired
+    private AgvWrkDetlLogService agvWrkDetlLogService;
 
 
     /*
@@ -449,6 +450,63 @@
     }
 
     /*
+       璋冩嫧绂诲満
+    */
+    @Override
+    @Transactional
+    public String allocationOut(AgvMobileStartPakin param, Long userId) {
+        Date now = new Date();
+        AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", param.getDevNo()));
+        if (Cools.isEmpty(agvWrkMast)) {
+            throw new CoolException("宸ヤ綔妗d腑娌℃湁姝ょ珯鐐逛换鍔�");
+        }
+        //鐢熸垚AGV宸ヤ綔鍘嗗彶妗� + 鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗�
+        agvWrkMastLogService.save(agvWrkMast);
+        agvWrkDetlLogService.save(agvWrkMast.getWrkNo());
+
+        //鐢熸垚宸ヤ綔妗�
+        AgvWrkMast mast = new AgvWrkMast();
+        //宸ヤ綔鐘舵��
+        mast.setWrkSts(210L);
+        //鍏ュ嚭搴撶被鍨�
+        mast.setIoType(111);
+        mast.setIoTime(now);
+        //浼樺厛绾�
+        mast.setIoPri(300.0);
+        //婧愮珯鐐�
+        mast.setSourceLocNo("");
+        //鐩爣绔欑偣
+        mast.setLocNo("");
+        //瀹瑰櫒缂栫爜
+        mast.setBarcode(agvWrkMast.getBarcode());
+        //瀹瑰櫒绫诲瀷
+        mast.setWhsType(30);
+        // 鐩爣妤煎眰
+        mast.setPauseMk(agvWrkMast.getPauseMk());
+        mast.setAppeUser(userId);
+        mast.setAppeTime(now);
+        mast.setModiUser(userId);
+        mast.setModiTime(now);
+        if (!agvWrkMastService.insertByIncrease(mast)) {
+            throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+        }
+        // 鏇存柊宸ヤ綔鏄庣粏
+        List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", agvWrkMast.getWrkNo()));
+        for (AgvWrkDetl agvWrkDetl : agvWrkDetls) {
+            agvWrkDetl.setWrkNo(mast.getWrkNo());
+            if (!agvWrkDetlService.update(agvWrkDetl,new EntityWrapper<AgvWrkDetl>().eq("wrk_no", agvWrkMast.getWrkNo()))) {
+                throw new CoolException("鏇存柊宸ヤ綔鏄庣粏澶辫触");
+            }
+        }
+        // 鏇存柊绔欑偣鐘舵��
+        agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null);
+        // 鏇存柊婧愬簱浣嶇姸鎬�
+        agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"O","",agvWrkMast.getWhsType().shortValue());
+        //鍒犻櫎AGV宸ヤ綔妗�
+        agvWrkMastService.deleteById(agvWrkMast);
+        return "ok";
+    }
+    /*
    鏇存柊鐩爣搴撲綅淇℃伅
     */
     private void updateAgvLocMast(AgvLocMast locMast, String locSts){
diff --git a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
index 2a187cd..1aca5fd 100644
--- a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
@@ -119,7 +119,7 @@
         //鐢熸垚宸ヤ綔妗�
         AgvWrkMast mast = new AgvWrkMast();
         //宸ヤ綔鐘舵��
-        mast.setWrkSts(201L);
+        mast.setWrkSts(21L);
         //鍏ュ嚭搴撶被鍨�
         mast.setIoType(111);
         mast.setIoTime(now);
@@ -134,7 +134,7 @@
         //瀹瑰櫒绫诲瀷
         mast.setWhsType(30);
         // 鐩爣妤煎眰
-        mast.setPreHave(agvLocMast.getLocType3().toString());
+        mast.setPauseMk(agvLocMast.getLocType3().toString());
 
         mast.setAppeUser(9527L);
         mast.setAppeTime(now);

--
Gitblit v1.9.1