From a0abdbc0b19c855fa53e47a9196dfa2cd41e8e9d Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期六, 23 十二月 2023 19:56:53 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/tzskasrs-1' into tzskasrs-1 --- src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java | 8 +- src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java | 6 +- src/main/java/com/zy/asrs/utils/Utils.java | 55 ++++++++++++++++++ src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 20 +++++- src/main/java/com/zy/asrs/controller/OutController.java | 38 ------------ 5 files changed, 80 insertions(+), 47 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java index 918f8b0..0b5993a 100644 --- a/src/main/java/com/zy/asrs/controller/OutController.java +++ b/src/main/java/com/zy/asrs/controller/OutController.java @@ -193,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);*/ } diff --git a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java index 12add0c..400261b 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java @@ -82,7 +82,11 @@ double anfme = agvLocDetl.getAnfme(); //int ioType = anfme > issued ? 101 : 103; anfme = anfme > issued ? issued : anfme; - LocDto locDto = new LocDto(agvLocDetl.getLocNo(), agvLocDetl.getMatnr(), agvLocDetl.getMaktx(), agvLocDetl.getBatch(), orderNo, anfme); + //鐢ㄤ簬鏄剧ず宸ヤ綔鏄庣粏妗g殑璁㈠崟鍙� + String orderNoWrkDtel = Utils.getOrderNo(orderNo,anfme); + //鏇存柊璁㈠崟鏁伴噺 + orderNo = Utils.orderMergeUpdate(orderNo,anfme); + LocDto locDto = new LocDto(agvLocDetl.getLocNo(), agvLocDetl.getMatnr(), agvLocDetl.getMaktx(), agvLocDetl.getBatch(), orderNoWrkDtel, anfme); locDto.setCsocode(csocode); locDto.setIsoseq(isoseq); locDto.setContainerCode(agvLocDetl.getSuppCode()); @@ -248,6 +252,4 @@ } } } - - } 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 27d77a6..ac9a84a 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java @@ -1,6 +1,8 @@ package com.zy.asrs.service.impl; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.core.exception.CoolException; @@ -563,9 +565,21 @@ agvWrkDetlList1.forEach(agvWrkDetl -> { if(!Cools.isEmpty(agvWrkDetl.getOrderNo())){ - OrderDetl orderDetl = orderDetlService.selectByOrderNoAndMatnr(agvWrkDetl.getOrderNo(),agvWrkDetl.getMatnr(),agvWrkDetl.getThreeCode(),agvWrkDetl.getDeadTime()); - orderDetl.setQty(orderDetl.getQty() - agvWrkDetl.getAnfme()); - orderDetlService.updateById(orderDetl); + String orderNo = agvWrkDetl.getOrderNo(); + if(orderNo.contains("{")){ + JSONArray orderArray = JSON.parseArray(orderNo); + for (Object o : orderArray){ + JSONObject jsonobject = (JSONObject) o; + OrderDetl orderDetl = orderDetlService.selectByOrderNoAndMatnr(jsonobject.get("orderNo").toString(),agvWrkDetl.getMatnr(),agvWrkDetl.getThreeCode(),agvWrkDetl.getDeadTime()); + orderDetl.setQty(orderDetl.getQty() - agvWrkDetl.getAnfme()); + orderDetlService.updateById(orderDetl); + } + + }else { + OrderDetl orderDetl = orderDetlService.selectByOrderNoAndMatnr(agvWrkDetl.getOrderNo(),agvWrkDetl.getMatnr(),agvWrkDetl.getThreeCode(),agvWrkDetl.getDeadTime()); + orderDetl.setQty(orderDetl.getQty() - agvWrkDetl.getAnfme()); + orderDetlService.updateById(orderDetl); + } } }); diff --git a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java index 7d2b56e..ee7d186 100644 --- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java @@ -101,9 +101,9 @@ } // 濡傛灉 浣滀笟鏁伴噺绛変簬鍗曟嵁鎬绘暟閲� && 宸ヤ綔鏄庣粏妗d腑鏃犺鍗曟嵁鐨勬暟鎹� && AGV宸ヤ綔鏄庣粏妗d腑鏃犺鍗曟嵁鐨勬暟鎹� int count = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("order_no", orderNo)); - boolean wrkDeltExist = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("order_no", orderNo)) < 1; - boolean agvWrkDetlExist = agvWrkDetlService.selectCount(new EntityWrapper<AgvWrkDetl>().eq("order_no",orderNo)) < 1; - boolean waitPakinExist = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("order_no",orderNo)) < 1; + boolean wrkDeltExist = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().like("order_no", orderNo)) < 1; + boolean agvWrkDetlExist = agvWrkDetlService.selectCount(new EntityWrapper<AgvWrkDetl>().like("order_no",orderNo)) < 1; + boolean waitPakinExist = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().like("order_no",orderNo)) < 1; ManPakOut manPakOut = manPakOutService.selectByOrderWithName(orderNo); diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index d456395..c1c4613 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/src/main/java/com/zy/asrs/utils/Utils.java @@ -1,6 +1,8 @@ package com.zy.asrs.utils; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.core.common.Arith; @@ -494,4 +496,57 @@ } } + public static String getOrderNo(String orderNo, double anfme){ + JSONArray orderArray = new JSONArray(); + //濡傛灉璁㈠崟鍙蜂负jsonString + if(orderNo.contains("{")){ + JSONArray jsonArray = JSON.parseArray(orderNo); + //閬嶅巻鎵�鏈夎鍗曞彿鍙婅鍗曟暟閲� + for (Object o : jsonArray){ + JSONObject orderJson = (JSONObject) o; + Double orderAnfme = orderJson.getDouble("anfme"); + //濡傛灉璁㈠崟鏁伴噺涓�0锛屽垯璺宠繃 + if(orderAnfme <= 0){ + continue; + } + if(orderAnfme > anfme){ + //濡傛灉璁㈠崟鏁伴噺澶т簬璇ュ簱瀛樻暟閲忥紝涓旇鍗曟暟缁勪负绌猴紝鍒欑洿鎺ヨ繑鍥炶璁㈠崟鍙凤紝鍚﹀垯灏卞皢璇ヨ鍗曟坊鍔犲埌璁㈠崟鏁扮粍 + if(orderArray.isEmpty()){ + return orderJson.getString("orderNo"); + }else { + orderJson.put("anfme",anfme); + orderArray.add(orderJson); + } + }else { + anfme -= orderAnfme; + orderArray.add(orderJson); + } + } + return orderArray.toJSONString(); + }else { + return orderNo; + } + + } + + public static String orderMergeUpdate(String orderNo, double anfme){ + if(orderNo.contains("{")){ + JSONArray jsonArray = JSON.parseArray(orderNo); + for(int i=0; i<jsonArray.size(); i++){ + JSONObject orderJson = (JSONObject)jsonArray.get(i); + Double orderAnfme = orderJson.getDouble("anfme"); + if(orderAnfme > anfme){ + ((JSONObject) jsonArray.get(i)).put("anfme",orderAnfme - anfme); + return jsonArray.toJSONString(); + }else { + ((JSONObject) jsonArray.get(i)).put("anfme",0); + anfme -= orderAnfme; + } + } + return jsonArray.toJSONString(); + }else { + return orderNo; + } + } + } -- Gitblit v1.9.1