From aa95589f3b49e10a72b2200a865c46b8077a4204 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期三, 11 六月 2025 11:16:32 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/OutController.java | 210 ++++++++++++++++++++++++++------------------------- 1 files changed, 107 insertions(+), 103 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java index 6e1f55f..566a4ce 100644 --- a/src/main/java/com/zy/asrs/controller/OutController.java +++ b/src/main/java/com/zy/asrs/controller/OutController.java @@ -87,59 +87,38 @@ locDetls = locDetlService.queryStockFour(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist,orderDetl.getSupp(),orderDetl.getTemp1(),orderDetl.getTemp2()); for (LocDetl locDetl : locDetls) { LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo())); - List<LocMast> locMasts = new ArrayList<>(); - if (locMast.getBay1() >=1 && locMast.getBay1()<=2){ - locMasts = locMastService.selectList(new EntityWrapper<LocMast>() - .eq("gro1", locMast.getGro1()) - .eq("crn_no", 7) - .eq("loc_type1",locMast.getLocType1()) - .orderBy("bay1", false)); - }else if (locMast.getBay1() >=4 && locMast.getBay1()<=12){ - locMasts = locMastService.selectList(new EntityWrapper<LocMast>() - .eq("gro1", locMast.getGro1()) - .eq("crn_no", 7) - .eq("loc_type1",locMast.getLocType1()) - .orderBy("bay1", true)); - }else { - locMasts = locMastService.selectList(new EntityWrapper<LocMast>() - .eq("gro1", locMast.getGro1()) - .eq("crn_no", 7) - .eq("loc_type1",locMast.getLocType1()) - .orderBy("bay1", false)); - } - for (LocMast locMast1 : locMasts){ - if (locMast1.getLocSts().equals("F")){ - LocDetl locDetl1 = locDetlService.selectOne(new EntityWrapper<LocDetl>() - .eq("loc_No", locMast1.getLocNo()) - .eq("matnr", locDetl.getMatnr()).eq("batch", locDetl.getBatch())); - if (!Cools.isEmpty(locDetl1)) { - ExistDto existDto = new ExistDto(); - existDto.setLocNo(locDetl1.getLocNo()); - existDto.setMatnr(locDetl1.getMatnr()); - existDto.setBatch(locDetl1.getBatch()); - if (existDtos.add(existDto)){ - if (issued > 0) { - LocDto locDto = new LocDto(locDetl1.getLocNo(), locDetl1.getMatnr(), locDetl1.getMaktx(), locDetl1.getBatch(), orderDetl.getOrderNo(), - issued >= locDetl1.getAnfme() ? locDetl1.getAnfme() : issued); - List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl1.getLocNo(), issued >= locDetl1.getAnfme() ? 101 : 103); - List<LocDto.staListDto> maps = new ArrayList<>(); - for (Integer staNo : staNos) { - LocDto.staListDto staListDto = new LocDto.staListDto(); - staListDto.setStaNo(staNo); - staListDto.setStaName(Utils.getStaName(staNo)); - maps.add(staListDto); - } - locDto.setStaNos(maps); - locDtos.add(locDto); - // 鍓╀綑寰呭嚭鏁伴噺閫掑噺 - issued = issued - locDetl.getAnfme(); - }else { - break; + if (locMast.getLocSts().equals("F")){ + LocDetl locDetl1 = locDetlService.selectOne(new EntityWrapper<LocDetl>() + .eq("loc_No", locMast.getLocNo()) + .eq("matnr", locDetl.getMatnr()).eq("batch", locDetl.getBatch())); + if (!Cools.isEmpty(locDetl1)) { + ExistDto existDto = new ExistDto(); + existDto.setLocNo(locDetl1.getLocNo()); + existDto.setMatnr(locDetl1.getMatnr()); + existDto.setBatch(locDetl1.getBatch()); + if (existDtos.add(existDto)){ + if (issued > 0) { + LocDto locDto = new LocDto(locDetl1.getLocNo(), locDetl1.getMatnr(), locDetl1.getMaktx(), locDetl1.getBatch(), orderDetl.getOrderNo(), + issued >= locDetl1.getAnfme() ? locDetl1.getAnfme() : issued); + List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl1.getLocNo(), issued >= locDetl1.getAnfme() ? 101 : 103); + List<LocDto.staListDto> maps = new ArrayList<>(); + for (Integer staNo : staNos) { + LocDto.staListDto staListDto = new LocDto.staListDto(); + staListDto.setStaNo(staNo); + staListDto.setStaName(Utils.getStaName(staNo)); + maps.add(staListDto); } + locDto.setStaNos(maps); + locDtos.add(locDto); + // 鍓╀綑寰呭嚭鏁伴噺閫掑噺 + issued = issued - locDetl.getAnfme(); + }else { + break; } } } } + } if (issued > 0) { LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued); @@ -168,60 +147,39 @@ List<LocDetl> locDetls = new ArrayList<>(); locDetls = locDetlService.queryStockFour(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist,orderDetl.getSupp(),orderDetl.getTemp1(),orderDetl.getTemp2()); for (LocDetl locDetl : locDetls) { - LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo())); - List<LocMast> locMasts = new ArrayList<>(); - if (locMast.getBay1() >=1 && locMast.getBay1()<=2){ - locMasts = locMastService.selectList(new EntityWrapper<LocMast>() - .eq("gro1", locMast.getGro1()) - .eq("crn_no", 7) - .eq("loc_type1",locMast.getLocType1()) - .orderBy("bay1", false)); - }else if (locMast.getBay1() >=4 && locMast.getBay1()<=12){ - locMasts = locMastService.selectList(new EntityWrapper<LocMast>() - .eq("gro1", locMast.getGro1()) - .eq("crn_no", 7) - .eq("loc_type1",locMast.getLocType1()) - .orderBy("bay1", true)); - }else { - locMasts = locMastService.selectList(new EntityWrapper<LocMast>() - .eq("gro1", locMast.getGro1()) - .eq("crn_no", 7) - .eq("loc_type1",locMast.getLocType1()) - .orderBy("bay1", false)); - } - for (LocMast locMast1 : locMasts){ - if (locMast1.getLocSts().equals("F")){ - LocDetl locDetl1 = locDetlService.selectOne(new EntityWrapper<LocDetl>() - .eq("loc_No", locMast1.getLocNo()) - .eq("matnr", locDetl.getMatnr()).eq("batch", locDetl.getBatch())); - if (!Cools.isEmpty(locDetl1)) { - ExistDto existDto = new ExistDto(); - existDto.setLocNo(locDetl1.getLocNo()); - existDto.setMatnr(locDetl1.getMatnr()); - existDto.setBatch(locDetl1.getBatch()); - if (existDtos.add(existDto)){ - if (issued > 0) { - LocDto locDto = new LocDto(locDetl1.getLocNo(), locDetl1.getMatnr(), locDetl1.getMaktx(), locDetl1.getBatch(), orderDetl.getOrderNo(), - issued >= locDetl1.getAnfme() ? locDetl1.getAnfme() : issued); - List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl1.getLocNo(), issued >= locDetl1.getAnfme() ? 101 : 103); - List<LocDto.staListDto> maps = new ArrayList<>(); - for (Integer staNo : staNos) { - LocDto.staListDto staListDto = new LocDto.staListDto(); - staListDto.setStaNo(staNo); - staListDto.setStaName(Utils.getStaName(staNo)); - maps.add(staListDto); - } - locDto.setStaNos(maps); - locDtos.add(locDto); - // 鍓╀綑寰呭嚭鏁伴噺閫掑噺 - issued = issued - locDetl.getAnfme(); - }else { - break; - } - } + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo())); + if (locMast.getLocSts().equals("F")){ + LocDetl locDetl1 = locDetlService.selectOne(new EntityWrapper<LocDetl>() + .eq("loc_No", locMast.getLocNo()) + .eq("matnr", locDetl.getMatnr()).eq("batch", locDetl.getBatch())); + if (!Cools.isEmpty(locDetl1)) { + ExistDto existDto = new ExistDto(); + existDto.setLocNo(locDetl1.getLocNo()); + existDto.setMatnr(locDetl1.getMatnr()); + existDto.setBatch(locDetl1.getBatch()); + if (existDtos.add(existDto)){ + if (issued > 0) { + LocDto locDto = new LocDto(locDetl1.getLocNo(), locDetl1.getMatnr(), locDetl1.getMaktx(), locDetl1.getBatch(), orderDetl.getOrderNo(), + issued >= locDetl1.getAnfme() ? locDetl1.getAnfme() : issued); + List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl1.getLocNo(), issued >= locDetl1.getAnfme() ? 101 : 103); + List<LocDto.staListDto> maps = new ArrayList<>(); + for (Integer staNo : staNos) { + LocDto.staListDto staListDto = new LocDto.staListDto(); + staListDto.setStaNo(staNo); + staListDto.setStaName(Utils.getStaName(staNo)); + maps.add(staListDto); } + locDto.setStaNos(maps); + locDtos.add(locDto); + // 鍓╀綑寰呭嚭鏁伴噺閫掑噺 + issued = issued - locDetl.getAnfme(); + }else { + break; } } + } + } + } if (issued > 0) { LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued); @@ -259,6 +217,7 @@ List<LocDetl> locDetls = new ArrayList<>(); locDetls = locDetlService.queryStockMinAnfme(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist,orderDetl.getSupp(),orderDetl.getTemp1(),orderDetl.getTemp2()); for (LocDetl locDetl : locDetls) { + List<LocDetl> locDetlList = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_No", locDetl.getLocNo())); if (issued > 0) { ExistDto existDto = new ExistDto(); existDto.setLocNo(locDetl.getLocNo()); @@ -267,7 +226,7 @@ if (existDtos.add(existDto)) { LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(), issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued); - List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103); + List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() && locDetlList.size() ==1? 101 : 103); List<LocDto.staListDto> maps = new ArrayList<>(); for (Integer staNo : staNos) { LocDto.staListDto staListDto = new LocDto.staListDto(); @@ -311,6 +270,7 @@ List<LocDetl> locDetls = new ArrayList<>(); locDetls = locDetlService.queryStockMinAnfme(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist,orderDetl.getSupp(),orderDetl.getTemp1(),orderDetl.getTemp2()); for (LocDetl locDetl : locDetls) { + List<LocDetl> locDetlList = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_No", locDetl.getLocNo())); if (issued > 0) { ExistDto existDto = new ExistDto(); existDto.setLocNo(locDetl.getLocNo()); @@ -319,7 +279,7 @@ if (existDtos.add(existDto)) { LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(), issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued); - List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103); + List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() && locDetlList.size() ==1? 101 : 103); List<LocDto.staListDto> maps = new ArrayList<>(); for (Integer staNo : staNos) { LocDto.staListDto staListDto = new LocDto.staListDto(); @@ -372,6 +332,7 @@ List<LocDetl> locDetls = new ArrayList<>(); locDetls = locDetlService.queryStockCrn(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist,orderDetl.getSupp(),orderDetl.getTemp1(),orderDetl.getTemp2()); for (LocDetl locDetl : locDetls) { + List<LocDetl> locDetlList = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_No", locDetl.getLocNo())); if (issued > 0) { ExistDto existDto = new ExistDto(); existDto.setLocNo(locDetl.getLocNo()); @@ -380,7 +341,7 @@ if (existDtos.add(existDto)) { LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(), issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued); - List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103); + List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() && locDetlList.size() ==1? 101 : 103); List<LocDto.staListDto> maps = new ArrayList<>(); for (Integer staNo : staNos) { LocDto.staListDto staListDto = new LocDto.staListDto(); @@ -424,6 +385,7 @@ List<LocDetl> locDetls = new ArrayList<>(); locDetls = locDetlService.queryStockCrn(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist,orderDetl.getSupp(),orderDetl.getTemp1(),orderDetl.getTemp2()); for (LocDetl locDetl : locDetls) { + List<LocDetl> locDetlList = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_No", locDetl.getLocNo())); if (issued > 0) { ExistDto existDto = new ExistDto(); existDto.setLocNo(locDetl.getLocNo()); @@ -432,7 +394,7 @@ if (existDtos.add(existDto)) { LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(), issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued); - List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103); + List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() && locDetlList.size() ==1? 101 : 103); List<LocDto.staListDto> maps = new ArrayList<>(); for (Integer staNo : staNos) { LocDto.staListDto staListDto = new LocDto.staListDto(); @@ -505,4 +467,46 @@ return R.ok(); } + @PostMapping("/out/pakout/auth/sxk") + @ManagerAuth(memo = "璁㈠崟鍑哄簱") + public synchronized R pakoutSxk(@RequestBody List<LocDto> locDtos) throws InterruptedException { + if (Cools.isEmpty(locDtos)) { + return R.parse(BaseRes.PARAM); + } + boolean lack = true; + for (LocDto locDto : locDtos) { + // 鍒ゆ柇鍏ュ簱妯″紡 + OutStockInterceptUtil.outStockIntercept(locDto.getStaNo()); + if (!locDto.isLack()) { + lack = false; + break; + } + } + if (lack) { + return R.error("搴撳瓨涓嶈冻"); + } + + Thread.sleep(1000L); + + List<TaskDto> taskDtos = new ArrayList<>(); + // 鏍规嵁 锛堝簱浣� & 鍑哄簱绔欙級 鍒嗙粍锛� 鐞嗘兂鐘舵�侊細涓�缁勪负涓�娆″嚭搴撲换鍔� + for (LocDto locDto : locDtos) { + if (locDto.isLack()) { continue; } + 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); + } + } + // ----------------------------------------------------------------------------------------------- + for (TaskDto taskDto : taskDtos) { + BasDevp staNo = basDevpService.checkSiteStatus(taskDto.getStaNo()); + workService.stockOutSxk(staNo, taskDto, getUserId()); + } + return R.ok(); + } + } -- Gitblit v1.9.1