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 |  128 +++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 124 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/WorkController.java b/src/main/java/com/zy/asrs/controller/WorkController.java
index eae764b..63b8369 100644
--- a/src/main/java/com/zy/asrs/controller/WorkController.java
+++ b/src/main/java/com/zy/asrs/controller/WorkController.java
@@ -1,15 +1,20 @@
 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;
@@ -21,6 +26,7 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 宸ヤ綔娴佹帴鍙f帶鍒跺櫒
@@ -33,6 +39,15 @@
     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()
@@ -50,14 +65,48 @@
     @ManagerAuth()
     public R availableTakeSite(){
         List<Map<String, Object>> result = new ArrayList<>();
-        List<Integer> outSite = basDevpService.getAvailableOutSite(101);
+        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);
         }
-        List<Integer> pickOutSite = basDevpService.getAvailableOutSite(103);
+
+        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);
@@ -73,16 +122,74 @@
         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()
     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")
@@ -120,6 +227,19 @@
         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) {

--
Gitblit v1.9.1