From 7842982e37a16836ce06ea0a35c46e5d36642682 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期一, 25 十二月 2023 10:23:03 +0800
Subject: [PATCH] 合并订单

---
 src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java |   71 +++++++++++++++--------------------
 1 files changed, 31 insertions(+), 40 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
index ac9a84a..2fcb2b6 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -138,17 +138,34 @@
             AgvWrkMast wrkMast = createWrkMast(ioType,wrkSts,sourceLocNo,targetLocNo,containerCode,now,userId,false);
             //鐢熸垚宸ヤ綔妗f槑缁�
             taskDto.getLocDtos().forEach(locDto -> {
-                //鏄庣粏妗f墍闇�鍙傛暟
-                createWrkDetlReWrite(locDto.getMatnr(),
-                        wrkMast.getWrkNo(),
-                        locDto.getOrderNo(),
-                        locDto.getBatch(),
-                        locDto.getAnfme(),
-                        locDto.getContainerCode(),
-                        now,
-                        userId,
-                        locDto.getCsocode(),
-                        locDto.getIsoseq());
+                if (!BaseController.isJSON(locDto.getOrderNo())) {
+                    //鏄庣粏妗f墍闇�鍙傛暟
+                    createWrkDetlReWrite(locDto.getMatnr(),
+                            wrkMast.getWrkNo(),
+                            locDto.getOrderNo(),
+                            locDto.getBatch(),
+                            locDto.getAnfme(),
+                            locDto.getContainerCode(),
+                            now,
+                            userId,
+                            locDto.getCsocode(),
+                            locDto.getIsoseq());
+                }else {
+                    List<OrderDto> orderDtoList = JSON.parseArray(locDto.getOrderNo(), OrderDto.class);
+                    orderDtoList.forEach(orderDto -> {
+                        //鏄庣粏妗f墍闇�鍙傛暟
+                        createWrkDetlReWrite(locDto.getMatnr(),
+                                wrkMast.getWrkNo(),
+                                orderDto.getOrderNo(),
+                                locDto.getBatch(),
+                                orderDto.getAnfme(),
+                                locDto.getContainerCode(),
+                                now,
+                                userId,
+                                locDto.getCsocode(),
+                                locDto.getIsoseq());
+                    });
+                }
 
                 //淇敼璁㈠崟淇℃伅
                 modifyOrderDetl(locDto, userId);
@@ -221,13 +238,6 @@
     @Transactional
     public void locCheckOut(StockOutParam param, Long userId) {
         String station = param.getStation();
-//        List<AgvBasDevp> agvBasDevpList = agvBasDevpService.selectList(new EntityWrapper<AgvBasDevp>()
-//                .eq("station_code", station)
-//                .eq("loc_sts","O"));
-//
-//        if(param.getLocDetls().size() > agvBasDevpList.size()){
-//            throw new CoolException("褰撳墠绔欑偣鍙敤缂撳瓨璐ф灦鏁伴噺涓�" + agvBasDevpList.size() + ",灏戜簬闇�瑕佺洏鐐瑰嚭搴撳簱浣嶆暟閲忥紝璇烽噸鏂伴�夋嫨鐩樼偣搴撲綅");
-//        }
 
         List<TaskDto> taskDtos = new ArrayList<>();
         param.getLocDetls().forEach(locDetl -> {
@@ -263,26 +273,6 @@
             //locSts = ioType == 101 ? "S" : "Q";
             updateAgvBasDevp(agvBasDevpService.selectById(wrkMast.getLocNo()),"S");
         });
-
-
-//        param.getLocDetls().forEach(locDetl -> {
-//            AgvLocMast agvLocMast = agvLocMastService.selectById(locDetl.getLocNo());
-//            AgvLocDetl agvLocDetl = agvLocDetlService.selectOne(new EntityWrapper<AgvLocDetl>().eq("loc_no", locDetl.getLocNo()));
-//            AgvBasDevp agvBasDevp = agvBasDevpService.selectOne(new EntityWrapper<AgvBasDevp>()
-//                    .eq("station_code", station)
-//                    .eq("loc_sts","O"));
-//            Date now = new Date();
-//
-//            //鐢熸垚宸ヤ綔鍏�
-//            AgvWrkMast wrkMast = createWrkMast(107, 21L, locDetl.getLocNo(), agvBasDevp.getDevNo(), agvLocDetl.getSuppCode(), now, userId,false);
-//            //鐢熸垚宸ヤ綔鏄庣粏妗�
-//            createWrkDetlReWrite(locDetl.getMatnr(),wrkMast.getWrkNo(),null,locDetl.getBatch(),locDetl.getCount(),wrkMast.getBarcode(),now,userId,agvLocDetl.getThreeCode(),agvLocDetl.getDeadTime());
-//            //淇敼搴撲綅淇℃伅
-//            updateAgvLocMast(agvLocMast,"P");
-//            //淇敼绔欑偣淇℃伅
-//            updateAgvBasDevp(agvBasDevp,"S");
-//
-//        });
 
     }
 
@@ -751,8 +741,9 @@
                     orderDetl = orderDetlService.selectItem(orderDto.getOrderNo(), locDto.getMatnr(), null,locDto.getCsocode(),locDto.getIsoseq());
                 }
 
-                if(locAnfme > orderDetl.getAnfme()){
-                    orderAnfme = orderDetl.getAnfme();
+                orderAnfme = orderDetl.getAnfme() - orderDetl.getQty();
+
+                if(locAnfme > orderAnfme){
                     locAnfme -= orderAnfme;
                 }else {
                     orderAnfme = locAnfme;

--
Gitblit v1.9.1