From e5cf12d2e3441b83cc3aeafd4f7f23d4075ab5fc Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期二, 07 一月 2025 14:56:14 +0800 Subject: [PATCH] #并板出库 --- src/main/java/com/zy/asrs/controller/OutController.java | 100 +++++++++++++++++++++++++++++-------------------- 1 files changed, 59 insertions(+), 41 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java index aa78b58..ff2ba02 100644 --- a/src/main/java/com/zy/asrs/controller/OutController.java +++ b/src/main/java/com/zy/asrs/controller/OutController.java @@ -1,5 +1,7 @@ package com.zy.asrs.controller; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.annotations.ManagerAuth; import com.core.common.BaseRes; @@ -55,6 +57,57 @@ return R.ok().add(orderDetlService.selectByOrderId(orderId).stream().map(OrderDetl::getId).distinct().collect(Collectors.toList())); } + @PostMapping("/out/pakout/previewCustomQuantity/auth") + @ManagerAuth + public R pakoutPreviewCustomQuantity(@RequestBody JSONObject jsonObject) { + List<Long> ids = JSON.parseObject(jsonObject.get("ids").toString(), ArrayList.class); + Double amount = JSON.parseObject(jsonObject.get("amount").toString(), Double.class); + if (Cools.isEmpty(ids)) { + return R.parse(BaseRes.PARAM); + } + List<OrderDetl> orderDetls = orderDetlService.selectBatchIds(ids); + List<LocDto> locDtos = new ArrayList<>(); + + Set<String> exist = new HashSet<>(); + + for (OrderDetl orderDetl : orderDetls) { + double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D); + if (issued <= 0.0D) { continue; } + List<LocDetl> locDetls = new ArrayList<>(); + locDetls = locDetlService.queryStockMinAnfme(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist,orderDetl.getSupp(),orderDetl.getTemp1(),orderDetl.getTemp2()); + for (LocDetl locDetl : locDetls) { + if (issued > 0) { + 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<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); + locDto.setLack(Boolean.TRUE); + locDtos.add(locDto); + } + } + return R.ok().add(locDtos); + } + @PostMapping("/out/pakout/preview/auth") @ManagerAuth public R pakoutPreview(@RequestBody List<Long> ids) { @@ -70,41 +123,27 @@ double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D); if (issued <= 0.0D) { continue; } List<LocDetl> locDetls = new ArrayList<>(); - switch (RoleUtils.outRole(getUserId())) { - case "stacker_hangar": - locDetls = locDetlService.queryStockCrn(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist); - break; - case "four_directional_library": - locDetls = locDetlService.queryStockFour(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist); - break; - case "ctu_library": - locDetls = locDetlService.queryStockMinAnfme(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist); - break; - case "all": - locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist); - break; - } + locDetls = locDetlService.queryStockFour(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist,orderDetl.getSupp(),orderDetl.getTemp1(),orderDetl.getTemp2()); for (LocDetl locDetl : locDetls) { - if (RoleUtils.outRole(getUserId()).equals("four_directional_library")){ 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("lev1",locMast.getLocType1()) + .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("lev1",locMast.getLocType1()) + .eq("loc_type1",locMast.getLocType1()) .orderBy("bay1", true)); }else { locMasts = locMastService.selectList(new EntityWrapper<LocMast>() .eq("gro1", locMast.getGro1()) .eq("crn_no", 7) - .eq("lev1",locMast.getLocType1()) + .eq("loc_type1",locMast.getLocType1()) .orderBy("bay1", false)); } for (LocMast locMast1 : locMasts){ @@ -113,7 +152,6 @@ .eq("loc_No", locMast1.getLocNo()) .eq("matnr", locDetl.getMatnr()).eq("batch", locDetl.getBatch())); if (!Cools.isEmpty(locDetl1)) { - if (exist.add(locDetl.getLocNo())){ if (issued > 0) { LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(), issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued); @@ -132,33 +170,13 @@ }else { break; } - } + } } } - }else { - if (issued > 0) { - 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<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); - exist.add(locDetl.getLocNo()); - // 鍓╀綑寰呭嚭鏁伴噺閫掑噺 - issued = issued - locDetl.getAnfme(); - }else { - break; - } - } + } -- Gitblit v1.9.1