From a23bf319248345801a7f3110f246336d244e8edc Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期一, 17 二月 2025 13:55:10 +0800 Subject: [PATCH] 退货增加退货标识,退货人,退货备注,清空库区和库位值 --- src/main/java/com/zy/asrs/controller/OutController.java | 30 +++++++++++++----------------- 1 files changed, 13 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java index a97a1ee..934e4e8 100644 --- a/src/main/java/com/zy/asrs/controller/OutController.java +++ b/src/main/java/com/zy/asrs/controller/OutController.java @@ -71,39 +71,38 @@ Set<String> exist = new HashSet<>(); for (OrderDetl orderDetl : orderDetls) { - BigDecimal a1 = new BigDecimal(orderDetl.getAnfme()); - BigDecimal b1 = new BigDecimal(orderDetl.getQty()); - Double c1 = a1.subtract(b1).doubleValue(); - double issued = Optional.of( c1 ).orElse(0.0D); + BigDecimal a1 = new BigDecimal(orderDetl.getAnfme()).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal b1 = new BigDecimal(orderDetl.getQty()).setScale(2,BigDecimal.ROUND_HALF_UP); + + double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D); if (issued <= 0.0D) { continue; } - List<LocDetl> locDetls = locDetlService.queryStock2(orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getOwner()); - for (LocDetl locDetl : locDetls) { + List<ManLocDetl> manLocDetls = manLocDetlService.queryStock(orderDetl.getMatnr(),orderDetl.getBatch()); + for (ManLocDetl locDetl : manLocDetls) { if (issued > 0) { boolean sign = false; if (issued > locDetl.getAnfme() || locDetl.getAnfme().equals(issued)){ sign=true; } - LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(), - sign ? locDetl.getAnfme() : issued,locDetl.getOwner(),locDetl.getPayment()); + LocDto locDto = new LocDto(locDetl.getHostId(),locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(), + sign ? locDetl.getAnfme() : issued,"骞冲簱"); List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), sign? 101 : 103); // LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(), // locDetl.getAnfme(), issued < locDetl.getAnfme()? issued : locDetl.getAnfme()); // //閫熻吘鍙湁鍏ㄦ澘锛屾墍浠ュ彧鑳�101鍏ㄦ澘鍑哄簱 // List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), 101); locDto.setStaNos(staNos); - locDto.setManu(locDetl.getManu()); locDtos.add(locDto); exist.add(locDetl.getLocNo()); - BigDecimal iss=new BigDecimal(Double.toString(issued)); - BigDecimal an=new BigDecimal(Double.toString(locDetl.getAnfme())); + BigDecimal iss=new BigDecimal(Double.toString(issued)).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal an=new BigDecimal(Double.toString(locDetl.getAnfme())).setScale(2,BigDecimal.ROUND_HALF_UP); // 鍓╀綑寰呭嚭鏁伴噺閫掑噺 - issued=iss.subtract(an).doubleValue(); + issued=iss.subtract(an).setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue(); } else { break; } } if (issued > 0) { - LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued,orderDetl.getOwner(),1); + LocDto locDto = new LocDto(null,null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued,"骞冲簱"); // LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), 0.0,issued); locDto.setLack(Boolean.TRUE); locDtos.add(locDto); @@ -176,8 +175,6 @@ LocDto locDto = locDtos.get(locDtos.size() - 1 - i); if (locDto.getLocNo() == null) { is[i][0] = 1; - } else if (locDto.getManu().equals("绔嬪簱")){ - is[i][0] = 2; } else { is[i][0] = 0; } @@ -269,6 +266,7 @@ private R addPakOUT(LocDto locDto,String uuid){ ManPakOut manPakOut=new ManPakOut(); + manPakOut.setDocId(locDto.getHostId()); manPakOut.setWrkNo(locDto.getOrderNo()+"-"+System.currentTimeMillis()); manPakOut.setWrkSts((long)1); manPakOut.setAnfme(locDto.getAnfme()); @@ -281,8 +279,6 @@ manPakOut.setCreateTime(new Date()); manPakOut.setBatch(locDto.getBatch()); manPakOut.setUpdateTime(new Date()); - manPakOut.setPayment(locDto.getPayment()); - manPakOut.setOwner(locDto.getOwner()); manPakOut.setUuid(uuid); if (Cools.isEmpty(manPakOutService.selectOne(new EntityWrapper<ManPakOut>().eq("doc_num",locDto.getOrderNo())))){ manPakOut.setName(locDto.getMaktx()); -- Gitblit v1.9.1