From 97c6a268766387d9c6834c23c9da3fdf63f3dc3f Mon Sep 17 00:00:00 2001
From: tzsk <Administrator@qq.com>
Date: 星期三, 07 二月 2024 11:26:48 +0800
Subject: [PATCH] Changes

---
 src/main/java/com/zy/asrs/controller/OutController.java |  185 ++-------------------------------------------
 1 files changed, 11 insertions(+), 174 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index 3c368d0..3edf6e9 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -71,38 +71,6 @@
     @ManagerAuth
     public R pakoutPreview(@RequestBody List<Long> ids) {
 
-//        Order order = orderService.selectById(ids.get(0));
-//
-//        DocType docType = docTypeService.selectById(order.getDocType());
-//
-//        if("浜哄伐琛ヨ揣鍗�".equals(docType.getDocName())){
-//            List<OrderDetl> orderDetlList = orderDetlService.selectBatchIds(ids);
-//            //杩斿洖缁欏墠绔殑搴撲綅浠ュ強绔欑偣淇℃伅
-//            List<LocDto> locDtoList = new ArrayList<>();
-//
-//            for (OrderDetl orderDetl : orderDetlList) {
-//
-//                double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getQty()).orElse(0.0D);
-//                if (issued <= 0.0D) { continue; }
-//
-//                //浠庡钩搴撳鎵�
-//                //issued = manLocDetlService.queryStockAndSetLocDto(orderDetl.getMatnr(),orderDetl.getBatch(),orderDetl.getOrderNo(),locDtoList,issued,orderDetl.getThreeCode(),orderDetl.getDeadTime());
-//
-//                //鍏堟壘AGV鐨勫簱瀛橈紝濡傛灉杩斿洖鐨刬ssued澶т簬0锛屽垯鍘诲洓椤瑰簱鎵�
-//                //issued = agvLocDetlService.queryStockAndSetLocDto(orderDetl.getMatnr(),orderDetl.getBatch(),orderDetl.getOrderNo(),locDtoList,issued,orderDetl.getThreeCode(),orderDetl.getDeadTime());
-//
-//                //浠庡洓椤瑰簱鐨勫簱瀛橀噷闈㈡壘锛�
-//                issued = locDetlService.queryStockAndSetLocDto1(orderDetl.getMatnr(),orderDetl.getBatch(),orderDetl.getOrderNo(),locDtoList,issued,orderDetl.getThreeCode(),orderDetl.getDeadTime());
-//
-//                if (issued > 0) {
-//                    LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued);
-//                    locDto.setLack(Boolean.TRUE);
-//                    locDtoList.add(locDto);
-//                }
-//            }
-//            return R.ok().add(locDtoList);
-//        }
-
         List<OrderDetl> orderDetlList = orderDetlService.selectBatchIds(ids);
         //杩斿洖缁欏墠绔殑搴撲綅浠ュ強绔欑偣淇℃伅
         List<LocDto> locDtoList = new ArrayList<>();
@@ -120,7 +88,6 @@
                     locDtoList.add(locDto);
                 }
             }else {
-                //double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getQty()).orElse(0.0D);
                 if (issued <= 0.0D) { continue; }
 
                 //浠庡钩搴撳鎵�
@@ -187,96 +154,6 @@
             workService.stockOut(staNo, taskDto, getUserId());
         }
         return R.ok();
-
-        /*
-        if (Cools.isEmpty(locDtos)) {
-            return R.parse(BaseRes.PARAM);
-        }
-        boolean lack = true;
-        for (LocDto locDto : locDtos) {
-            if (Cools.isEmpty(locDto.getStaNo()) && !locDto.isLack()) {
-                return R.error(locDto.getLocNo()+"搴撲綅璇烽�夋嫨鍑哄簱绔�");
-            }
-        }
-        for (LocDto locDto : locDtos) {
-            if (!locDto.isLack()) {
-                lack = false;
-                break;
-            }
-        }
-        if (lack) {
-            return R.error("搴撳瓨涓嶈冻");
-        }
-
-        Thread.sleep(500L);
-
-        // 璁㈠崟棰勬牎楠�  ===>> 1.璁㈠崟鐘舵�侊紱 2.璁㈠崟甯﹀嚭鏁伴噺
-        List<OrderDto> orderDtos = new ArrayList<>();
-        for (LocDto locDto : locDtos) {
-            if (!isJSON(locDto.getOrderNo())) {
-                if (Cools.isEmpty(locDto.getOrderNo())) { continue; }
-                OrderDto orderDto = new OrderDto(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch(), locDto.getAnfme());
-                if (OrderDto.has(orderDtos, orderDto)) {
-                    OrderDto dto = OrderDto.find(orderDtos, orderDto);
-                    assert dto != null;
-                    dto.setAnfme(dto.getAnfme() + orderDto.getAnfme());
-                } else {
-                    orderDtos.add(orderDto);
-                }
-            } else {
-                // 璁㈠崟鍚堝苟鍑哄簱
-                List<OrderDto> orderDtoList = JSON.parseArray(locDto.getOrderNo(), OrderDto.class);
-                for (OrderDto one : orderDtoList) {
-                    OrderDto orderDto = new OrderDto(one.getOrderNo(), locDto.getMatnr(), locDto.getBatch(), one.getAnfme());
-                    if (OrderDto.has(orderDtos, orderDto)) {
-                        OrderDto dto = OrderDto.find(orderDtos, orderDto);
-                        assert dto != null;
-                        dto.setAnfme(dto.getAnfme() + orderDto.getAnfme());
-                    } else {
-                        orderDtos.add(orderDto);
-                    }
-                }
-            }
-        }
-        for (OrderDto orderDto : orderDtos) {
-            Order order = orderService.selectByNo(orderDto.getOrderNo());
-            if (order.getSettle() > 2) {
-                return R.error(orderDto.getOrderNo() + "璁㈠崟宸插け鏁堬紝璇峰強鏃跺埛鏂伴〉闈�");
-            }
-//            OrderDetl orderDetl = orderDetlService.selectItemNoneOfBatch(orderDto.getOrderNo(), orderDto.getMatnr());
-//            if (orderDetl.getAnfme() - orderDetl.getQty() < orderDto.getAnfme()) {
-//                return R.ok(orderDto.getOrderNo() + "璁㈠崟宸蹭綔涓氾紝璇峰強鏃跺埛鏂伴〉闈�");
-//            }
-        }
-
-        List<TaskDto> taskDtos = new ArrayList<>();
-        // 鏍规嵁 锛堝簱浣� & 鍑哄簱绔欙級 鍒嗙粍锛� 鐞嗘兂鐘舵�侊細涓�缁勪负涓�娆″嚭搴撲换鍔�
-        for (LocDto locDto : locDtos) {
-            if (locDto.isLack()) { continue; }
-            // 闃叉鍓嶇椤甸潰鎻愬彇搴撲綅淇℃伅鍚庯紝鍦ㄥ叾浠栧湴鏂瑰璇ュ簱浣嶇敓鎴愪簡鍑哄簱浠诲姟(搴撲綅鐘舵�侀潪F鐘舵��)
-            LocMast locMast = locMastService.selectById(locDto.getLocNo());
-            if(!Cools.isEmpty(locMast) && !locMast.getLocSts().equals("F")){
-                return R.error("搴撲綅鍙烽潪鍦ㄥ簱鐘舵�侊紝璇烽噸鏂伴�夋嫨鍑哄簱搴撲綅===>>" + locDto.getLocNo());
-            }
-
-            TaskDto taskDto = new TaskDto(locDto.getLocNo(), locDto.getStaNo(), locDto);
-            if (TaskDto.has(taskDtos, taskDto)) {
-                TaskDto dto = TaskDto.find(taskDtos, taskDto);
-                assert dto != null;
-                dto.getLocDtos().addAll(taskDto.getLocDtos());
-            } else {
-                taskDtos.add(taskDto);
-            }
-        }
-
-        // -----------------------------------------------------------------------------------------------
-        List<String> excludeLocNos = taskDtos.stream().map(TaskDto::getLocNo).distinct().collect(Collectors.toList());
-        for (TaskDto taskDto : taskDtos) {
-            BasDevp staNo = basDevpService.checkSiteStatus(taskDto.getStaNo());
-            workService.stockOut(staNo, taskDto, getUserId());
-            locMastService.breakUp(taskDto.getLocNo(), excludeLocNos);
-        }
-        return R.ok();*/
     }
 
 
@@ -316,44 +193,6 @@
 
         return R.ok().add(locDtoList);
 
-        /*
-        if (Cools.isEmpty(list)) {
-            return R.parse(BaseRes.PARAM);
-        }
-        Set<String> exist = new HashSet<>();
-        List<LocDto> locDtos = new ArrayList<>();
-
-        for (OrderMergeVo vo : list) {
-            double issued = Optional.of(vo.getAnfme()).orElse(0.0D);
-            if (issued <= 0.0D) { continue; }
-            List<LocDetl> locDetls = locDetlService.queryStock(vo.getMatnr(), vo.getBatch(), null, exist);
-            for (LocDetl locDetl : locDetls) {
-                if (issued > 0) {
-                    LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), JSON.toJSONString(vo.getOrderDtos()),
-                            issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued);
-                    int ioType = (issued >= locDetl.getAnfme() && locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("loc_no", locDto.getLocNo())) == 1) ? 101 : 103;
-                    List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), ioType);
-                    locDto.setStaNos(staNos);
-                    locDtos.add(locDto);
-                    exist.add(locDetl.getLocNo());
-                    // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
-                    issued = issued - locDetl.getAnfme();
-                } else {
-                    break;
-                }
-            }
-            if (issued > 0) {
-                LocDto locDto = new LocDto(null, vo.getMatnr(), vo.getMaktx(), vo.getBatch(), JSON.toJSONString(vo.getOrderDtos()), issued);
-                locDto.setLack(Boolean.TRUE);
-                locDtos.add(locDto);
-            }
-        }
-        for (LocDto locDto : locDtos) {
-            Mat mat = matService.selectByMatnr(locDto.getMatnr());
-            assert mat != null;
-            locDto.setSpecs(mat.getSpecs());
-        }
-        return R.ok().add(locDtos);*/
     }
 
 
@@ -369,9 +208,9 @@
                 //骞冲簱
                 if("鏃犻渶绔欑偣".equals(locDto.getAgvStaNo())){
                     generateManPakout(locDto);
+                }else {
+                    generateTaskDtoForAgv(locDto,agvTaskDtos);
                 }
-                generateTaskDtoForAgv(locDto,agvTaskDtos);
-
                 //鍥涢」搴�
             }else{
                 generateTaskDtoForBase(locDto,taskDtos);
@@ -389,18 +228,15 @@
         if(!Cools.isEmpty(agvLocMast) && !agvLocMast.getLocSts().equals("F")){
             throw new CoolException("搴撲綅鍙烽潪鍦ㄥ簱鐘舵�侊紝璇烽噸鏂伴�夋嫨鍑哄簱搴撲綅===>>" + locDto.getLocNo());
         }
-        AgvBasDevp agvBasDevp = agvBasDevpService.selectOne(new EntityWrapper<AgvBasDevp>()
-                .eq("station_code", locDto.getAgvStaNo())
-                .eq("loc_sts", "O"));
-        if(Cools.isEmpty(agvBasDevp)){
-            //TODO 鍋囧鍑哄簱绔欑偣涓嶈冻锛岃褰曟湭鍑哄簱鐨勫簱浣嶏紱
+        TaskDto taskDto = new TaskDto(locDto.getLocNo(), locDto.getAgvStaNo(), locDto);
+        if (TaskDto.has(agvTaskDtos, taskDto)) {
+            TaskDto dto = TaskDto.find(agvTaskDtos, taskDto);
+            assert dto != null;
+            dto.getLocDtos().addAll(taskDto.getLocDtos());
             return;
+        } else {
+            agvTaskDtos.add(taskDto);
         }
-        agvBasDevp.setLocSts("S");
-        agvBasDevpService.updateById(agvBasDevp);
-        TaskDto taskDto = new TaskDto(locDto.getLocNo(), agvBasDevp.getDevNo(), locDto);
-        //TODO 鏆備笉鑰冭檻搴撲綅娣疯浇鐘舵�侊紙鍚庣画鐪嬫儏鍐垫槸鍚﹂渶瑕佸垽鏂級
-        agvTaskDtos.add(taskDto);
 
     }
 
@@ -429,10 +265,11 @@
     鐢熸垚骞冲簱鎷h揣鍗�
      */
     private void generateManPakout(LocDto locDto){
-        ManLocDetl manLocDetl = manLocDetlService.selectItem(locDto.getLocNo(), locDto.getMatnr(), locDto.getBatch());
+        ManLocDetl manLocDetl = manLocDetlService.selectItem(locDto.getLocNo(), locDto.getMatnr(), locDto.getBatch(),locDto.getCsocode(),locDto.getIsoseq(),locDto.getContainerCode());
         if (!Cools.isEmpty(manLocDetl) && !(locDto.getAnfme()>manLocDetl.getAnfme())) {
             manLocDetl.setStatus(0);
             manLocDetlService.update(manLocDetl, new EntityWrapper<ManLocDetl>().eq("loc_no", manLocDetl.getLocNo()).eq("matnr",manLocDetl.getMatnr()));
+            //addPakOUT 鐢熸垚鎷h揣鍗曟垚鍔�
             if (addPakOUT(locDto).equals(R.ok())) {
                 Order order = orderService.selectByNo(locDto.getOrderNo());
                 if (Cools.isEmpty(order)){

--
Gitblit v1.9.1