From 8d57e6bfaccbab25b95332e9bd556d25d1fbbaf7 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期六, 17 六月 2023 16:37:55 +0800 Subject: [PATCH] #自动完成工作档时更新拣货单数量 --- src/main/java/com/zy/asrs/controller/OutController.java | 43 +++++++++++++++++++++++++++++++------------ 1 files changed, 31 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java index a99af3c..f3072fc 100644 --- a/src/main/java/com/zy/asrs/controller/OutController.java +++ b/src/main/java/com/zy/asrs/controller/OutController.java @@ -33,7 +33,7 @@ @Autowired private LocDetlService locDetlService; @Autowired - private LocMastService locMastService; + private PakoutService pakoutService; @Autowired private StaDescService staDescService; @Autowired @@ -67,11 +67,11 @@ for (OrderDetl orderDetl : orderDetls) { double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getQty()).orElse(0.0D); if (issued <= 0.0D) { continue; } - List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist); + List<LocDetl> locDetls = locDetlService.queryStock2(orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getOwner()); 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); + issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued,locDetl.getOwner(),locDetl.getPayment()); List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103); // LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(), // locDetl.getAnfme(), issued < locDetl.getAnfme()? issued : locDetl.getAnfme()); @@ -88,7 +88,7 @@ } } if (issued > 0) { - LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued); + LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued,orderDetl.getOwner(),1); // LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), 0.0,issued); locDto.setLack(Boolean.TRUE); locDtos.add(locDto); @@ -116,7 +116,7 @@ } } if (Cools.isEmpty(locDtos)) { - return R.error("绔嬪簱鍙傛暟涓虹┖锛岃鐢熸垚鎷h揣鍗曪紝骞冲簱鎷h揣鍑哄簱"); + return R.ok("绔嬪簱鍙傛暟涓虹┖锛岃鐢熸垚鎷h揣鍗曪紝骞冲簱鎷h揣鍑哄簱"); } boolean lack = true; for (LocDto locDto : locDtos) { @@ -159,8 +159,10 @@ List<String> matnrs=new ArrayList<>(); for (int i = 0; i < locDtos.size(); i++) { LocDto locDto = locDtos.get(locDtos.size() - 1 - i); - if (locDto.getLocNo() == null || locDto.getManu().equals("绔嬪簱")) { + if (locDto.getLocNo() == null) { is[i][0] = 1; + } else if (locDto.getManu().equals("绔嬪簱")){ + is[i][0] = 2; } else { is[i][0] = 0; } @@ -168,12 +170,17 @@ } List<LocDto> locDtos1=new ArrayList<>(); for (int[] i : is) { - if (i[0] == 1) { + if (i[0] == 2) { if (!matnrs.contains(locDtos.get(i[1]).getMatnr())){ matnrs.add(locDtos.get(i[1]).getMatnr()); } locDtos1.add(locDtos.get(i[1])); locDtos.remove(i[1]); + }else if (i[0]==1){ + LocDto locDto = locDtos.get(i[1]); + locDto.setLocNo("搴撳瓨涓嶈冻"); + locDtos.remove(i[1]); + locDtos.add(locDto); } } for (String matnr:matnrs){ @@ -181,7 +188,7 @@ int b = 0; for (int i = 0; i < locDtos1.size(); i++){ if (locDtos1.get(i).getMatnr().equals(matnr)){ - if (a.equals(0)){ + if (a.equals(0.0)){ b=i; } a=a+locDtos1.get(i).getAnfme(); @@ -195,6 +202,7 @@ if (Cools.isEmpty(locDtos)) { return R.error("骞冲簱鍙傛暟涓虹┖锛屾病鏈夌敓鎴愭嫞璐у崟"); } + String uuid = String.valueOf(System.currentTimeMillis()); boolean lack = true; for (LocDto locDto : locDtos) { if (!locDto.isLack()) { @@ -207,10 +215,10 @@ } for (LocDto locDto:locDtos){ ManLocDetl manLocDetl = manLocDetlService.selectItem(locDto.getLocNo(), locDto.getMatnr(), locDto.getBatch()); - if (!(locDto.getAnfme()>manLocDetl.getAnfme())) { + if (!Cools.isEmpty(manLocDetl) && !(locDto.getAnfme()>manLocDetl.getAnfme())) { manLocDetl.setStatus(0); - if (manLocDetlService.update(manLocDetl, new EntityWrapper<ManLocDetl>().eq("uuid", manLocDetl.getUuid()))) { - if (addPakOUT(locDto).equals(R.ok())) { + if (manLocDetlService.update(manLocDetl, new EntityWrapper<ManLocDetl>().eq("loc_no", manLocDetl.getLocNo()).eq("matnr",manLocDetl.getMatnr()))) { + if (addPakOUT(locDto,uuid).equals(R.ok())) { Order order = orderService.selectByNo(locDto.getOrderNo()); if (Cools.isEmpty(order)){ return R.error("鏌ヨ璁㈠崟澶辫触锛岃鑱旂郴绠$悊鍛�"+locDto.getOrderNo()); @@ -232,12 +240,19 @@ return R.error("娣诲姞鎷h揣鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"+locDto.getOrderNo()+locDto.getMatnr()); } } + }else if (locDto.getLocNo().equals("绔嬪簱")){ + addPakOUT(locDto,uuid).equals(R.ok()); + } + } + for (LocDto locDto:locDtos){ + if (locDto.getLocNo().equals("搴撳瓨涓嶈冻")){ + addPakOUT(locDto,uuid).equals(R.ok()); } } return R.ok(); } - private R addPakOUT(LocDto locDto){ + private R addPakOUT(LocDto locDto,String uuid){ ManPakOut manPakOut=new ManPakOut(); manPakOut.setWrkNo(locDto.getOrderNo()+"-"+System.currentTimeMillis()); manPakOut.setWrkSts((long)1); @@ -246,10 +261,14 @@ manPakOut.setMatnr(locDto.getMatnr()); manPakOut.setMaktx(locDto.getMaktx()); manPakOut.setDocNum(locDto.getOrderNo()); + manPakOut.setCount(0.0); manPakOut.setStatus(0); 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