From d17c089f1d7ff3be848b05161917346e7f664a1d Mon Sep 17 00:00:00 2001 From: mrzhssss <pro6@qq.com> Date: 星期二, 26 四月 2022 15:17:53 +0800 Subject: [PATCH] # --- src/main/java/zy/cloud/wms/manager/controller/PickoutController.java | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 53 insertions(+), 1 deletions(-) diff --git a/src/main/java/zy/cloud/wms/manager/controller/PickoutController.java b/src/main/java/zy/cloud/wms/manager/controller/PickoutController.java index 73b270d..ffabf05 100644 --- a/src/main/java/zy/cloud/wms/manager/controller/PickoutController.java +++ b/src/main/java/zy/cloud/wms/manager/controller/PickoutController.java @@ -131,7 +131,8 @@ @RequestMapping(value = "/pickout/check/column/auth") @ManagerAuth public R query(@RequestBody JSONObject param) { - Wrapper<Pickout> wrapper = new EntityWrapper<Pickout>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + Wrapper<Pickout> wrapper = new EntityWrapper<Pickout>() + .eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); if (null != pickoutService.selectOne(wrapper)){ return R.parse(BaseRes.REPEAT).add(getComment(Pickout.class, String.valueOf(param.get("key")))); } @@ -193,6 +194,8 @@ .eq("id",wave.getId())); List<WaveDetl> waveDetls = waveDetlService.selectList(new EntityWrapper<WaveDetl>() .eq("wave_id", wave.getId())); + + if (Cools.isEmpty(waveDetls)) { return R.error("鎵句笉鍒板搴旀尝娆℃槑缁�"); } @@ -206,11 +209,60 @@ orderNos.add(s); } } + + /** + * 寰幆鎵�鏈夋嫞璐у崟鏄庣粏,渚濇鍒嗛厤缁欐墍鏈夊嚭搴撳崟 + */ for (PickoutDetl pickoutDetl : pickoutDetls) { + //鑾峰彇鏈娉㈡鐢熸垚鎷h揣鍗曚箣鍚�,璇ョ墿鏂欐�诲叡鎹′簡澶氬皯 Double anfme = pickoutDetl.getAnfme(); String matnr = pickoutDetl.getMatnr(); + /** + * 鑾峰彇鎵�鏈夌殑鐗╂枡鐩稿悓,涓旇鍖呭惈鍦ㄦ尝娆℃槑缁嗛噷鐨勫嚭搴撹鍗� + */ List<OrderDetl> orderDetls = orderDetlService.selectOutList(matnr,new ArrayList<String>(orderNos)); + for (OrderDetl orderDetl : orderDetls) { + /** + * 濡傛灉鎷h揣鍗曠殑鍓╀綑鏁伴噺绛変簬0,浠h〃璇ョ墿鏂欏凡缁忓垎閰嶅畬鎴�,鐩存帴break + */ + if (anfme == 0.0 ){ + break; + } + /** + * 濡傛灉鎷h揣鍗曠殑鏁伴噺澶т簬璇ュ嚭搴撳崟鐨勬暟閲�,鐩存帴鎶婂嚭搴撴墍闇�閲�(out_qty)鎷夋弧 + */ + if (anfme >= (orderDetl.getAnfme() - orderDetl.getOutQty())){ + orderDetl.setOutQty(orderDetl.getAnfme()); + anfme = anfme - (orderDetl.getAnfme() - orderDetl.getOutQty()); + orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>() + .eq("id",orderDetl.getId())); + continue; + } + /** + * 濡傛灉鎷h揣鍗曠殑鏁伴噺灏忎簬鍑哄簱鍗曠殑鏁伴噺,璇佹槑璇ユ嫞璐у崟鐨勭墿鏂欏凡缁忎笉澶熷垎浜�,灏� + */ + if (anfme < (orderDetl.getAnfme() - orderDetl.getOutQty())){ + orderDetl.setOutQty(anfme); + anfme = 0.0; + orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>() + .eq("id",orderDetl.getId())); + } + } + } + for (String orderNo : orderNos) { + Order order = orderService.selectOne(new EntityWrapper<Order>() + .eq("order_no", orderNo)); + List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>() + .eq("order_no", orderNo)); + for (OrderDetl orderDetl : orderDetls) { + if (orderDetl.getAnfme() == orderDetl.getOutQty()){ + break; + } + } + order.setSettle(4L); + orderService.update(order,new EntityWrapper<Order>() + .eq("order_no",orderNo)); } return R.ok(); -- Gitblit v1.9.1