From f5b7a2eb5125b17d470c9b8e0b9bb6ac1654dbae Mon Sep 17 00:00:00 2001 From: zhangchao <zc857179121@qq.com> Date: 星期六, 02 十一月 2024 11:16:02 +0800 Subject: [PATCH] 合并代码,解决冲突 --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 114 +++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 83 insertions(+), 31 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java index 188d814..64fc99d 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -84,6 +84,10 @@ private DocTypeService docTypeService; @Autowired private AgvWaitPakinService agvWaitPakinService; + @Autowired + private AgvLocDetlService agvLocDetlService; + @Autowired + private FlowLogService flowLogService; @Override @Transactional @@ -114,13 +118,13 @@ wrkMast.setSourceStaNo(dto.getSourceStaNo()); wrkMast.setStaNo(dto.getStaNo()); wrkMast.setLocNo(dto.getLocNo()); - wrkMast.setBarcode(param.getBarcode()); // 鎵樼洏鐮� + wrkMast.setBarcode(param.getBarcode()); // 璐ф灦鐮� wrkMast.setFullPlt("Y"); // 婊℃澘锛歒 wrkMast.setPicking("N"); // 鎷f枡 wrkMast.setExitMk("N"); // 閫�鍑� wrkMast.setEmptyMk("N"); // 绌烘澘 wrkMast.setLinkMis("N"); - wrkMast.setCtnType(sourceStaNo.getCtnType()); // 瀹瑰櫒绫诲瀷 + wrkMast.setCtnType(sourceStaNo.getCtnType()); // 璐ф灦绫诲瀷 wrkMast.setAppeUser(userId); wrkMast.setAppeTime(now); wrkMast.setModiUser(userId); @@ -284,6 +288,7 @@ } } + ArrayList<String> outerLocs = new ArrayList<>(); //妫�娴嬫槸鍚︿负娴呭簱浣� boolean sign=false; String th = ""; @@ -301,17 +306,32 @@ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", outerLoc)); if (locMast != null) { if (!locMast.getLocSts().equals("O") && !locMast.getLocSts().equals("R")) { - sign = true; - th = "搴撲綅鍙凤細" + locNo + " 娴呭簱浣嶆湁闈炵┖搴撲綅锛�"; - break; +// sign = true; +// th = "搴撲綅鍙凤細" + locNo + " 娴呭簱浣嶆湁闈炵┖搴撲綅锛�"; +// break; + + OutLocDto outLocDto = new OutLocDto(); + outLocDto.setLocNo(locMast.getLocNo()); + List<LocDetlDto> locDetlDtos1 = new ArrayList<>(); + for (LocDetl locDetl : locDetlService.selectByLocNo(locMast.getLocNo())) { + LocDetlDto locDetlDto = new LocDetlDto(); + locDetlDto.setLocDetl(locDetl); + locDetlDto.setCount(locDetl.getAnfme()); + locDetlDtos1.add(locDetlDto); + } + outLocDto.setLocDetlDtos(locDetlDtos1); + if (!outerLocs.contains(locMast.getLocNo())) { + dtos.add(outLocDto); + outerLocs.add(locMast.getLocNo()); + } } } } } } - if (sign){ - throw new CoolException("鍑哄簱澶辫触锛�"+th); - } +// if (sign){ +// throw new CoolException("鍑哄簱澶辫触锛�"+th); +// } //**************325銆�331銆�333銆�339绔欑偣棰濆閫昏緫浠g爜************** HashMap<String, Object> tmpMap = new HashMap<>(); @@ -484,6 +504,7 @@ wrkMast.setCrnNo(outMost?outCrnNo:locMast.getCrnNo()); wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯 wrkMast.setStaNo(stnNo); // 鐩爣绔� + wrkMast.setPltType(locMast.getPltType()); if(ioType == 101 && taskDto.getStaNo()>=300){ wrkMast.setSourceStaNo(346); // 婧愮珯 wrkMast.setStaNo(346); // 鐩爣绔� @@ -511,26 +532,53 @@ } Mat mat = matService.selectByMatnr(locDto.getMatnr()); assert mat != null; - WrkDetl wrkDetl = new WrkDetl(); - wrkDetl.sync(mat); - wrkDetl.setZpallet(wrkMast.getBarcode()); - wrkDetl.setIoTime(now); - wrkDetl.setWrkNo(workNo); - wrkDetl.setBatch(locDto.getBatch()); - wrkDetl.setOrderNo(locDto.getOrderNo()); - wrkDetl.setAnfme(locDto.getAnfme()); // 鏁伴噺 - wrkDetl.setAppeTime(now); - wrkDetl.setAppeUser(userId); - wrkDetl.setModiTime(now); - wrkDetl.setModiUser(userId); - wrkDetl.setSuppCode(locDto.getContainerCode()); - wrkDetl.setThreeCode(locDto.getCsocode()); - wrkDetl.setDeadTime(locDto.getIsoseq()); - if (!wrkDetlService.insert(wrkDetl)) { - throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); + + if (!BaseController.isJSON(locDto.getOrderNo())) { + WrkDetl wrkDetl = new WrkDetl(); + wrkDetl.sync(mat); + wrkDetl.setZpallet(wrkMast.getBarcode()); + wrkDetl.setIoTime(now); + wrkDetl.setWrkNo(workNo); + wrkDetl.setBatch(locDto.getBatch()); + wrkDetl.setOrderNo(locDto.getOrderNo()); + wrkDetl.setAnfme(locDto.getAnfme()); // 鏁伴噺 + wrkDetl.setAppeTime(now); + wrkDetl.setAppeUser(userId); + wrkDetl.setModiTime(now); + wrkDetl.setModiUser(userId); + wrkDetl.setSuppCode(locDto.getContainerCode()); + wrkDetl.setThreeCode(locDto.getCsocode()); + wrkDetl.setDeadTime(locDto.getIsoseq()); + if (!wrkDetlService.insert(wrkDetl)) { + throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); + } + //琛ヨ揣鍗曞垯鐢熸垚AGV鍏ュ簱閫氱煡妗� + generateAgvWaitpakin(wrkDetl); + }else { + List<OrderDto> orderDtoList = JSON.parseArray(locDto.getOrderNo(), OrderDto.class); + orderDtoList.forEach(orderDto -> { + WrkDetl wrkDetl = new WrkDetl(); + wrkDetl.sync(mat); + wrkDetl.setZpallet(wrkMast.getBarcode()); + wrkDetl.setIoTime(now); + wrkDetl.setWrkNo(workNo); + wrkDetl.setBatch(locDto.getBatch()); + wrkDetl.setOrderNo(orderDto.getOrderNo()); + wrkDetl.setAnfme(orderDto.getAnfme()); // 鏁伴噺 + wrkDetl.setAppeTime(now); + wrkDetl.setAppeUser(userId); + wrkDetl.setModiTime(now); + wrkDetl.setModiUser(userId); + wrkDetl.setSuppCode(locDto.getContainerCode()); + wrkDetl.setThreeCode(locDto.getCsocode()); + wrkDetl.setDeadTime(locDto.getIsoseq()); + if (!wrkDetlService.insert(wrkDetl)) { + throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); + } + //琛ヨ揣鍗曞垯鐢熸垚AGV鍏ュ簱閫氱煡妗� + generateAgvWaitpakin(wrkDetl); + }); } - //琛ヨ揣鍗曞垯鐢熸垚AGV鍏ュ簱閫氱煡妗� - generateAgvWaitpakin(wrkDetl); // 淇敼璁㈠崟鏄庣粏 if (!BaseController.isJSON(locDto.getOrderNo())) { @@ -557,8 +605,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; @@ -612,7 +661,7 @@ wrkMast.setExitMk("N"); // 閫�鍑� wrkMast.setEmptyMk("Y"); // 绌烘澘 wrkMast.setLinkMis("N"); - wrkMast.setCtnType(sourceStaNo.getCtnType()); // 瀹瑰櫒绫诲瀷 + wrkMast.setCtnType(sourceStaNo.getCtnType()); // 璐ф灦绫诲瀷 // 鎿嶄綔浜哄憳鏁版嵁 wrkMast.setAppeUser(userId); wrkMast.setAppeTime(new Date()); @@ -799,7 +848,7 @@ wrkMast.setPicking("N"); // 鎷f枡 wrkMast.setExitMk("N"); // 閫�鍑� wrkMast.setEmptyMk(sourceLoc.getLocSts().equals("D")?"Y":"N"); // 绌烘澘 - wrkMast.setBarcode(sourceLoc.getBarcode()); // 鎵樼洏鐮� + wrkMast.setBarcode(sourceLoc.getBarcode()); // 璐ф灦鐮� wrkMast.setLinkMis("N"); wrkMast.setAppeUser(userId); wrkMast.setAppeTime(now); @@ -1075,10 +1124,12 @@ throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�"); } // 璁㈠崟鍏宠仈 + long flowId = snowflakeIdWorker.nextId(); List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); for (WrkDetl wrkDetl : wrkDetls) { if (!Cools.isEmpty(wrkDetl.getOrderNo())) { if (!BaseController.isJSON(wrkDetl.getOrderNo())) { + if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme(),wrkDetl.getThreeCode(),wrkDetl.getDeadTime())) { throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触"); } @@ -1106,6 +1157,7 @@ } } } + } // 鍙栨秷鎿嶄綔浜哄憳璁板綍 wrkMast.setManuType("鎵嬪姩鍙栨秷"); -- Gitblit v1.9.1