From 90e8096a24e55fa40fbd5dbf7b9d94a6d88940d7 Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期日, 20 七月 2025 16:20:59 +0800 Subject: [PATCH] 成品库出入库分配堆垛机顺序321 --- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 113 +++++++++++++++++++++++++++++++++----------------------- 1 files changed, 67 insertions(+), 46 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java index 9fd8dff..f5712ae 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -94,7 +94,8 @@ now, // 娣诲姞鏃堕棿 9527L, // 淇敼浜哄憳 now, // 淇敼鏃堕棿 - null // 澶囨敞 + null, // 澶囨敞 + 1 ); if (!orderService.insert(order)) { throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"); @@ -103,9 +104,9 @@ List<DetlDto> list = new ArrayList<>(); List<DetlDto> orderDetails = param.getOrderDetails(); for (DetlDto detail : orderDetails) { - DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(),detail.getBrand(),detail.getStandby1(),detail.getStandby2(),detail.getStandby3(),detail.getLineNumber(), detail.getAnfme()); - if (DetlDto.has(list, dto)) { - DetlDto detlDto = DetlDto.findLineNumber(list, dto.getMatnr(), dto.getBatch(),dto.getBrand(),dto.getStandby1(),dto.getStandby2(),dto.getStandby3(),dto.getLineNumber()); + DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(),detail.getBrand(),detail.getStandby1(),detail.getStandby2(),detail.getStandby3(),detail.getLineNumber(),detail.getBoxType1(),detail.getBoxType2(),detail.getBoxType3(), detail.getAnfme()); + if (DetlDto.hasLineNumber(list, dto)) { + DetlDto detlDto = DetlDto.findLineNumber(list, dto.getMatnr(), dto.getBatch(),dto.getBrand(),dto.getStandby1(),dto.getStandby2(),dto.getStandby3(),dto.getLineNumber(),dto.getBoxType1(),dto.getBoxType2(),dto.getBoxType3()); assert detlDto != null; detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme()); } else { @@ -134,6 +135,7 @@ orderDetl.setUpdateTime(now); orderDetl.setStatus(1); orderDetl.setQty(0.0D); + orderDetl.setPakinPakoutStatus(1); if (!orderDetlService.insert(orderDetl)) { throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); } @@ -146,9 +148,9 @@ List<OpenOrderCompeteResult> results = new ArrayList<>(); if (!Cools.isEmpty(param) && !Cools.isEmpty(param.getOrderNo())) { // 鎸囧畾璁㈠崟 -// Order order = orderService.selectByNo(param.getOrderNo()); + Order order = orderService.selectByNo(param.getOrderNo()); - Order order = OrderInAndOutUtil.selectByNo(Boolean.TRUE,param.getOrderNo()); +// Order order = OrderInAndOutUtil.selectByNo(Boolean.TRUE,param.getOrderNo()); if (null != order) { OpenOrderCompeteResult result = new OpenOrderCompeteResult(); @@ -156,10 +158,12 @@ result.setOrderNo(order.getOrderNo()); result.setOrderTime(order.getOrderTime()); result.setOrderType(order.getDocType$()); -// List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); - List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(order.getPakinPakoutStatus$(), order.getId()); + List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); +// List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(order.getPakinPakoutStatus$(), order.getId()); for (OrderDetl orderDetl : orderDetls) { - result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); + result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getBrand(), + orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(),orderDetl.getLineNumber(), + orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3(), orderDetl.getQty())); } if (order.getSettle() == 4L) { // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� @@ -182,11 +186,14 @@ result.setOrderNo(order.getOrderNo()); result.setOrderTime(order.getOrderTime()); result.setOrderType(order.getDocType$()); -// List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); - List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(order.getPakinPakoutStatus$(), order.getId()); + List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); +// List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(order.getPakinPakoutStatus$(), order.getId()); for (OrderDetl orderDetl : orderDetls) { - result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); + result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getBrand(), + orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(),orderDetl.getLineNumber(), + orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3(), + orderDetl.getQty())); } // // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� // if (!orderService.updateSettle(order.getId(), 6L, null)) { @@ -247,38 +254,47 @@ now, // 娣诲姞鏃堕棿 9527L, // 淇敼浜哄憳 now, // 淇敼鏃堕棿 - null // 澶囨敞 + param.getMemo(), // 澶囨敞 + 2 ); if (!orderService.insert(order)) { throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"); } // 鍗曟嵁鏄庣粏妗� - List<DetlDto> list = new ArrayList<>(); +// List<DetlDto> list = new ArrayList<>(); List<DetlDto> orderDetails = param.getOrderDetails(); for (DetlDto detail : orderDetails) { - DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(),detail.getBrand(),detail.getStandby1(),detail.getStandby2(),detail.getStandby3(),detail.getLineNumber(), detail.getAnfme()); - if (DetlDto.has(list, dto)) { - DetlDto detlDto = DetlDto.findLineNumber(list, dto.getMatnr(), dto.getBatch(),dto.getBrand(),dto.getStandby1(),dto.getStandby2(),dto.getStandby3(),dto.getLineNumber()); - assert detlDto != null; - detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme()); - } else { - list.add(dto); - } - } - for (DetlDto detlDto : list) { - Mat mat = matService.selectByMatnr(detlDto.getMatnr()); - if (Cools.isEmpty(mat)) { - throw new CoolException(detlDto.getMatnr() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧"); - } +// DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(),detail.getBrand(),detail.getStandby1(),detail.getStandby2(),detail.getStandby3(),detail.getLineNumber(), +// detail.getBoxType1(),detail.getBoxType2(),detail.getBoxType3(), detail.getAnfme()); +// if (DetlDto.hasLineNumber(list, dto)) { +// DetlDto detlDto = DetlDto.findLineNumber(list, dto.getMatnr(), dto.getBatch(),dto.getBrand(),dto.getStandby1(),dto.getStandby2(),dto.getStandby3(),dto.getLineNumber(), +// dto.getBoxType1(),dto.getBoxType2(),dto.getBoxType3()); +// assert detlDto != null; +// detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme()); +// } else { +// list.add(dto); +// } +// } +// for (DetlDto detlDto : list) { +// Mat mat = matService.selectByMatnr(detail.getMatnr()); +// if (Cools.isEmpty(mat)) { +// throw new CoolException(detail.getMatnr() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧"); +// } OrderDetl orderDetl = new OrderDetl(); - orderDetl.sync(mat); - orderDetl.setLineNumber(detlDto.getLineNumber()); - orderDetl.setBatch(detlDto.getBatch()); - orderDetl.setAnfme(detlDto.getAnfme()); - orderDetl.setBrand(detlDto.getBrand()); - orderDetl.setStandby1(detlDto.getStandby1()); - orderDetl.setStandby2(detlDto.getStandby2()); - orderDetl.setStandby3(detlDto.getStandby3()); + orderDetl.setMatnr(detail.getMatnr()); + orderDetl.setMaktx(detail.getMaktx()); + orderDetl.setBatch(detail.getBatch()); + orderDetl.setModel(detail.getModel()); + orderDetl.setVolume(detail.getVolume()); + orderDetl.setAnfme(detail.getAnfme()); +// orderDetl.sync(mat); +// orderDetl.setLineNumber(detail.getLineNumber()); +// orderDetl.setBatch(detail.getBatch()); +// orderDetl.setAnfme(detail.getAnfme()); +// orderDetl.setBrand(detlDto.getBrand()); +// orderDetl.setStandby1(detlDto.getStandby1()); +// orderDetl.setStandby2(detlDto.getStandby2()); +// orderDetl.setStandby3(detlDto.getStandby3()); orderDetl.setOrderId(order.getId()); orderDetl.setOrderNo(order.getOrderNo()); orderDetl.setCreateBy(9527L); @@ -287,6 +303,7 @@ orderDetl.setUpdateTime(now); orderDetl.setStatus(1); orderDetl.setQty(0.0D); + orderDetl.setPakinPakoutStatus(2); if (!orderDetlService.insert(orderDetl)) { throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); } @@ -298,18 +315,20 @@ List<OpenOrderCompeteResult> results = new ArrayList<>(); if (!Cools.isEmpty(param) && !Cools.isEmpty(param.getOrderNo())) { // 鎸囧畾璁㈠崟 -// Order order = orderService.selectByNo(param.getOrderNo()); - Order order = OrderInAndOutUtil.selectByNo(Boolean.FALSE, param.getOrderNo()); + Order order = orderService.selectByNo(param.getOrderNo()); +// Order order = OrderInAndOutUtil.selectByNo(Boolean.FALSE, param.getOrderNo()); if (null != order) { OpenOrderCompeteResult result = new OpenOrderCompeteResult(); results.add(result); result.setOrderNo(order.getOrderNo()); result.setOrderTime(order.getOrderTime()); result.setOrderType(order.getDocType$()); -// List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); - List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(order.getPakinPakoutStatus$(),order.getId()); + List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); +// List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(order.getPakinPakoutStatus$(),order.getId()); for (OrderDetl orderDetl : orderDetls) { - result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); + result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getBrand(), + orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(),orderDetl.getLineNumber(), + orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3(), orderDetl.getQty())); } if (order.getSettle() == 4L) { // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� @@ -329,10 +348,12 @@ result.setOrderNo(order.getOrderNo()); result.setOrderTime(order.getOrderTime()); result.setOrderType(order.getDocType$()); -// List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); - List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(order.getPakinPakoutStatus$(), order.getId()); + List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); +// List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(order.getPakinPakoutStatus$(), order.getId()); for (OrderDetl orderDetl : orderDetls) { - result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); + result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getBrand(), + orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(),orderDetl.getLineNumber(), + orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3(), orderDetl.getQty())); } // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� // if (!orderService.updateSettle(order.getId(), 6L, null)) { @@ -549,7 +570,7 @@ } else { tagId = tagService.getTop().getId(); } - mat.sync(param); + mat.sync(matParam); // mat.setMatnr(param.getMatnr()); // mat.setMaktx(param.getMaktx()); // mat.setSpecs(param.getSpecs()); @@ -565,7 +586,7 @@ log.info("鍚屾鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}]", mat.getMatnr()); } } else { - mat.sync(param); + mat.sync(matParam); if (!matService.update(mat, new EntityWrapper<Mat>().eq("matnr",matParam.getMatnr()))) { throw new CoolException("鏇存柊宸插瓨鍦ㄥ晢鍝佷俊鎭け璐ワ紝璇疯仈绯荤鐞嗗憳"); } -- Gitblit v1.9.1