From 5fb5b6883895eed6b79a9b20a8bff748134e9cfb Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期三, 27 十二月 2023 12:38:31 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/controller/OutController.java | 30 +++++++++++++++++++++---------
1 files changed, 21 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index 978209e..910d56b 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -71,17 +71,29 @@
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();
+ 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 c1 = a1.subtract(b1).setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
double issued = Optional.of( c1 ).orElse(0.0D);
if (issued <= 0.0D) { continue; }
- List<LocDetl> locDetls = locDetlService.queryStock2(orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getOwner());
+ BigDecimal decimal = BigDecimal.valueOf(c1).subtract(BigDecimal.valueOf(c1).setScale(0,BigDecimal.ROUND_DOWN));
+
+ List<LocDetl> locDetls = new ArrayList<>();
+ if (decimal.doubleValue() > 0){
+ locDetls = locDetlService.queryStock2(orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getOwner());
+ }else {
+ locDetls = locDetlService.queryStock3(orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getOwner());
+ }
+
for (LocDetl locDetl : locDetls) {
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(),
- issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued,locDetl.getOwner(),locDetl.getPayment());
- List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103);
+ sign ? locDetl.getAnfme() : issued,locDetl.getOwner(),locDetl.getPayment());
+ 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鍏ㄦ澘鍑哄簱
@@ -90,10 +102,10 @@
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;
}
--
Gitblit v1.9.1