From ba0e15af1f11fb9e2a0c0fc5eabfec4625c8377a Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期三, 06 十一月 2024 09:54:51 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/WorkController.java |  210 +++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 196 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/WorkController.java b/src/main/java/com/zy/asrs/controller/WorkController.java
index 0f1a5a1..63b8369 100644
--- a/src/main/java/com/zy/asrs/controller/WorkController.java
+++ b/src/main/java/com/zy/asrs/controller/WorkController.java
@@ -1,18 +1,32 @@
 package com.zy.asrs.controller;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.annotations.ManagerAuth;
+import com.core.common.Cools;
 import com.core.common.R;
+import com.zy.asrs.entity.StaDesc;
+import com.zy.asrs.entity.WaitPakin;
 import com.zy.asrs.entity.param.EmptyPlateOutParam;
 import com.zy.asrs.entity.param.FullStoreParam;
+import com.zy.asrs.entity.param.LocDetlAdjustParam;
 import com.zy.asrs.entity.param.StockOutParam;
 import com.zy.asrs.service.BasDevpService;
+import com.zy.asrs.service.StaDescService;
 import com.zy.asrs.service.WorkService;
+import com.zy.common.model.StartupDto;
+import com.zy.common.utils.RoleUtils;
 import com.zy.common.web.BaseController;
 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.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 宸ヤ綔娴佹帴鍙f帶鍒跺櫒
@@ -25,35 +39,164 @@
     private WorkService workService;
     @Autowired
     private BasDevpService basDevpService;
+    @Autowired
+    private StaDescService staDescService;
+
+    @RequestMapping("/locMerge/out/start")
+    @ManagerAuth(memo = "骞舵澘鍑哄簱")
+    public R locMergeOutStart(@RequestBody StockOutParam param) {
+        workService.locMergeOut(param, getUserId());
+        return R.ok("鍑哄簱鍚姩鎴愬姛");
+    }
 
     @RequestMapping("/available/put/site")
-    @ManagerAuth(memo = "鑾峰彇鍏ュ簱绔欑偣")
+    @ManagerAuth()
     public R availablePutSite(){
         return R.ok().add(basDevpService.getAvailableInSite());
     }
 
     @RequestMapping("/available/empty/put/site")
-    @ManagerAuth(memo = "鑾峰彇绌烘澘鍏ュ簱绔欑偣")
+    @ManagerAuth()
     public R availableEmptyPutSite(){
         return R.ok().add(basDevpService.getAvailableEmptyInSite());
     }
 
     @RequestMapping("/available/take/site")
-    @ManagerAuth(memo = "鑾峰彇鍑哄簱绔欑偣")
+    @ManagerAuth()
     public R availableTakeSite(){
-        return R.ok().add(basDevpService.getAvailableOutSite());
+        List<Map<String, Object>> result = new ArrayList<>();
+        EntityWrapper<StaDesc> wrapper = new EntityWrapper<>();
+        // 涓嶅悓缁ф壙瑙掕壊鏄剧ず涓嶅悓搴撲俊鎭�
+        RoleUtils.addRoleWrapperByCrn(getUserId(),wrapper);
+        wrapper.eq("type_no",101);
+        List<StaDesc> staDescs = staDescService.selectList(wrapper);
+        List<Integer> outSite = staDescs.stream().map(StaDesc::getStnNo).distinct().collect(Collectors.toList());
+//        List<Integer> outSite = basDevpService.getAvailableOutSite(101);
+        for (Integer siteId : outSite) {
+            Map<String, Object> map = new HashMap<>();
+            map.put("siteId", siteId);
+            map.put("desc", siteId + "锛堝叏鏉垮嚭搴撳彛锛�");
+            result.add(map);
+        }
+
+        EntityWrapper<StaDesc> wrapper2 = new EntityWrapper<>();
+        // 涓嶅悓缁ф壙瑙掕壊鏄剧ず涓嶅悓搴撲俊鎭�
+        RoleUtils.addRoleWrapperByCrn(getUserId(),wrapper2);
+        wrapper2.eq("type_no",103);
+        List<StaDesc> staDescs2 = staDescService.selectList(wrapper2);
+        List<Integer> pickOutSite = staDescs2.stream().map(StaDesc::getStnNo).distinct().collect(Collectors.toList());
+
+//        List<Integer> pickOutSite = basDevpService.getAvailableOutSite(103);
+        for (Integer siteId : pickOutSite) {
+            Map<String, Object> map = new HashMap<>();
+            map.put("siteId", siteId);
+            map.put("desc", siteId + "锛堟嫞鏂欏嚭搴撳彛锛�");
+            result.add(map);
+        }
+        return R.ok().add(result);
+    }
+    @RequestMapping("/crn/available/take/site")
+    @ManagerAuth()
+    public R crnAvailableTakeSite(){
+        List<Map<String, Object>> result = new ArrayList<>();
+        List<Integer> outSite = basDevpService.getCrnAvailableOutSite(101);
+        for (Integer siteId : outSite) {
+            Map<String, Object> map = new HashMap<>();
+            map.put("siteId", siteId);
+            map.put("desc", siteId + "锛堝叏鏉垮嚭搴撳彛锛�");
+            result.add(map);
+        }
+        List<Integer> pickOutSite = basDevpService.getCrnAvailableOutSite(103);
+        for (Integer siteId : pickOutSite) {
+            Map<String, Object> map = new HashMap<>();
+            map.put("siteId", siteId);
+            map.put("desc", siteId + "锛堟嫞鏂欏嚭搴撳彛锛�");
+            result.add(map);
+        }
+        return R.ok().add(result);
+    }
+
+    @RequestMapping("/available/take/check/site")
+    @ManagerAuth()
+    public R availableTakeCheckSite(){
+        return R.ok().add(basDevpService.getAvailableOutSite(107));
+    }
+
+    @RequestMapping("/available/take/merge/site")
+    @ManagerAuth()
+    public R availableTakeMergeSite(){
+        return R.ok().add(basDevpService.getAvailableOutSite(104));
+    }
+
+    @RequestMapping("/available/take/check/site/crn")
+    @ManagerAuth()
+    public R availableTakeCheckSiteCrn(){
+        EntityWrapper<StaDesc> staDescEntityWrapper = new EntityWrapper<>();
+        staDescEntityWrapper.eq("type_no",107);
+        staDescEntityWrapper.setSqlSelect("DISTINCT stn_no as stnNo");
+        staDescEntityWrapper.in("crn_no",1,2,3,4,5,6,7);
+        return R.ok().add(staDescService.selectList(staDescEntityWrapper));
+    }
+
+    @RequestMapping("/available/take/check/site/ctu")
+    @ManagerAuth()
+    public R availableTakeCheckSiteCtu(){
+        return R.ok().add(basDevpService.getAvailableOutSite(107));
+    }
+
+    @RequestMapping("/available/take/check/site/shuttle")
+    @ManagerAuth()
+    public R availableTakeCheckSiteShuttle(){
+        return R.ok().add(basDevpService.getAvailableOutSite(107));
+    }
+
+    @RequestMapping("/available/crn/empty/take/site")
+    @ManagerAuth()
+    public R availablecrnEmptyTakeSite(){
+        return R.ok().add(basDevpService.getCrnAvailableEmptyOutSite());
+    }
+
+    @RequestMapping("/available/shuttle/empty/take/site")
+    @ManagerAuth()
+    public R availableshuttleEmptyTakeSite(){
+        return R.ok().add(basDevpService.getShuttleAvailableEmptyOutSite());
+    }
+
+    @RequestMapping("/available/ctu/empty/take/site")
+    @ManagerAuth()
+    public R availablectuEmptyTakeSite(){
+        return R.ok().add(basDevpService.getCtuAvailableEmptyOutSite());
     }
 
     @RequestMapping("/available/empty/take/site")
-    @ManagerAuth(memo = "鑾峰彇绌烘澘鍑哄簱绔欑偣")
+    @ManagerAuth()
     public R availableEmptyTakeSite(){
-        return R.ok().add(basDevpService.getAvailableEmptyOutSite());
+        EntityWrapper<StaDesc> wrapper = new EntityWrapper<>();
+        wrapper.eq("type_no",110);
+        // 涓嶅悓缁ф壙瑙掕壊鏄剧ず涓嶅悓搴撲俊鎭�
+        RoleUtils.addRoleWrapperByCrn(getUserId(),wrapper);
+        List<StaDesc> staDescs = staDescService.selectList(wrapper);
+        List<Integer> collect = staDescs.stream().map(StaDesc::getStnNo).distinct().collect(Collectors.toList());
+        return R.ok().add(collect);
+//        return R.ok().add(basDevpService.getAvailableEmptyOutSite());
     }
 
     @RequestMapping("/full/store/put/start")
     @ManagerAuth(memo = "鍏ㄦ澘鍏ュ簱")
     public R fullStorePutStart(@RequestBody FullStoreParam fullStoreParam) {
-        return R.ok("鍏ュ簱鍚姩鎴愬姛").add(workService.startupFullPutStore(fullStoreParam,getUserId()));
+        try {
+            String locNo = workService.startupFullPutStore(fullStoreParam, getUserId());
+            return R.ok("鍏ュ簱鍚姩鎴愬姛").add(locNo);
+        } catch (Exception e){
+            return R.error("鍏ュ簱鍚姩澶辫触==>"+e.getMessage());
+        }
+    }
+
+    @RequestMapping("/plate/out/start")
+    @ManagerAuth(memo = "鍑哄簱浣滀笟")
+    public R fullStoreTakeStart(@RequestBody StockOutParam param) {
+        workService.startupFullTakeStore(param, getUserId());
+        return R.ok("鍑哄簱鍚姩鎴愬姛");
     }
 
     @RequestMapping("/empty/plate/in/start")
@@ -62,17 +205,17 @@
         return R.ok("鍏ュ簱鍚姩鎴愬姛").add(workService.emptyPlateIn(sourceStaNo, getUserId()));
     }
 
-    @RequestMapping("/plate/out/start")
-    @ManagerAuth(memo = "鍏ㄦ澘鍑哄簱")
-    public R fullStoreTakeStart(EmptyPlateOutParam param) {
+    @RequestMapping("/empty/plate/out/start")
+    @ManagerAuth(memo = "绌烘澘鍑哄簱")
+    public R emptyPlateOutStart(EmptyPlateOutParam param) {
         workService.emptyPlateOut(param, getUserId());
         return R.ok("鍑哄簱鍚姩鎴愬姛");
     }
 
-    @RequestMapping("/empty/plate/out/start")
-    @ManagerAuth(memo = "绌烘澘鍑哄簱")
-    public R emptyPlateOutStart(StockOutParam param) {
-
+    @RequestMapping("/locCheck/out/start")
+    @ManagerAuth(memo = "鐩樼偣鍑哄簱")
+    public R locCheckOutStart(@RequestBody StockOutParam param) {
+        workService.locCheckOut(param, getUserId());
         return R.ok("鍑哄簱鍚姩鎴愬姛");
     }
 
@@ -84,16 +227,55 @@
         return R.ok("绉诲簱鍚姩鎴愬姛");
     }
 
+    @RequestMapping("/mat/turn/over/out/start")
+    @ManagerAuth(memo = "鍝佸彿绉讳氦")
+    public R turnMatLocDetl(@RequestBody EmptyPlateOutParam param) {
+        if (Cools.isEmpty(param) || Cools.isEmpty(param.getLocDetls(),param.getMatId()) || Cools.isEmpty(param.getLocDetls().get(0)) || Cools.isEmpty(param.getLocDetls().get(0).getMatnr())){
+            return R.error("鍙傛暟涓虹┖");
+        }
+        if (param.getLocDetls().size()>1){
+            return R.error("璇峰崟鏉℃暟鎹慨鏀癸紝璋ㄦ厧鎿嶄綔锛�");
+        }
+        workService.turnMatLocDetl(param, getUserId());
+        return R.ok("鍝佸彿绉讳氦鎴愬姛");
+    }
+
+    @RequestMapping("/locDdetl/adjust/start")
+    @ManagerAuth(memo = "搴撳瓨璋冩暣")
+    public R locDetlAdjustStart(@RequestBody LocDetlAdjustParam param) {
+        workService.adjustLocDetl(param, getUserId());
+        return R.ok("搴撳瓨璋冩暣鎴愬姛");
+    }
+
     @RequestMapping("/hand/control/wrkMast")
     @ManagerAuth(memo = "鎵嬪姩澶勭悊宸ヤ綔妗�")
     public R handControlWrkMast(@RequestParam String workNo,
                                 @RequestParam Integer type){
         if (type == 1) {
             workService.completeWrkMast(workNo, getUserId());
+            return R.ok("宸ヤ綔妗e凡瀹屾垚");
         } else if (type == 2) {
             workService.cancelWrkMast(workNo, getUserId());
+            return R.ok("宸ヤ綔妗e凡鍙栨秷");
+        } else if (type == 3) {
+            workService.pickWrkMast(workNo, getUserId());
+            return R.ok("宸ヤ綔妗e凡鎷f枡");
         }
         return R.ok();
     }
 
+    @RequestMapping("/create/waitPain/wrkMast/start")
+    @ManagerAuth(memo = "鐢熸垚浠诲姟")
+    public R createWaitPainWrkMastStart(@RequestBody List<WaitPakin> list) {
+        StartupDto startupDto = workService.createWaitPainWrkMastStart(list, getUserId());
+        return R.ok("浠诲姟鍙凤細" + startupDto.getWorkNo() + ";鐩爣搴撲綅锛�" + startupDto.getLocNo());
+    }
+
+    @RequestMapping("/deal/preHave/start")
+    @ManagerAuth(memo = "鍏堝叆鍝佸鐞�")
+    public R dealPreHave(@RequestParam Integer wrkNo) {
+        String locNo = workService.dealPreHaveStart(wrkNo, getUserId());
+        return R.ok("浠诲姟閲嶆柊鍏ュ簱锛岀洰鏍囧簱浣嶏細" + locNo);
+    }
+
 }

--
Gitblit v1.9.1