From 9c9547f024bafaca402eb427ea046fd67511bc05 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期六, 17 六月 2023 16:53:05 +0800 Subject: [PATCH] #自动完成工作档时更新拣货单数量、状态 --- src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 65 +++++++++++++++++++++++++------- 1 files changed, 50 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java index 82494e0..381c01f 100644 --- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java @@ -15,6 +15,7 @@ import com.zy.asrs.mapper.ManLocDetlMapper; import com.zy.asrs.service.*; import com.zy.asrs.utils.MatUtils; +import com.zy.asrs.utils.SaasUtils; import com.zy.common.CodeRes; import com.zy.common.constant.MesConstant; import com.zy.common.entity.Parameter; @@ -23,6 +24,7 @@ import com.zy.common.service.CommonService; import com.zy.common.utils.HttpHandler; import com.zy.common.utils.Synchro; +import com.zy.system.entity.User; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -95,6 +97,11 @@ eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) { throw new CoolException(param.getBarcode() + "鏁版嵁姝e湪杩涜鍏ュ簱"); } + try{ + param.setOrderNo(param.getCombMats().get(0).getOrderNo()); + }catch (Exception e){ + + } int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode())); WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode()); @@ -125,7 +132,7 @@ // 鐢熸垚鍏ュ簱閫氱煡妗� List<DetlDto> detlDtos = new ArrayList<>(); param.getCombMats().forEach(elem -> { - DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme()); + DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(),elem.getWeight()); if (DetlDto.has(detlDtos, detlDto)) { DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch()); assert one != null; @@ -156,6 +163,7 @@ waitPakin.setModiTime(now); waitPakin.setOwner(detlDto.getOwner()); waitPakin.setUuid(uuid); + waitPakin.setWeight(detlDto.getWeight()); if (!waitPakinService.insert(waitPakin)) { throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�"); } @@ -170,7 +178,8 @@ } Double anfme = orderDetl.getAnfme(); - if ( anfme > (anfme - sum)) { + Double workQty = orderDetl.getWorkQty(); + if ( anfme - (workQty+sum) < 0) { throw new CoolException("缁勬墭鏁伴噺宸茶秴鍑鸿鍗曢渶姹傞噺锛岃妫�鏌ユ槸鍚︽湁鍏朵粬鐨勭粍鎵樺凡瀹屾垚"); } } @@ -194,7 +203,8 @@ throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触"); } - DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(),orderDetl.getOwner()); + DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(),orderDetl.getOwner(),elem.getWeight()); + detlDto.setPayment(orderDetl.getPayment()); if (DetlDto.has(detlDtos, detlDto)) { DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch()); assert one != null; @@ -222,7 +232,9 @@ waitPakin.setModiUser(userId); waitPakin.setModiTime(now); waitPakin.setOwner(detlDto.getOwner()); + waitPakin.setPayment(detlDto.getPayment()); waitPakin.setUuid(uuid); + waitPakin.setWeight(detlDto.getWeight()); if (!waitPakinService.insert(waitPakin)) { throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�"); } @@ -245,7 +257,7 @@ // 鑾峰彇鍟嗗搧鍒楄〃 for(CombParam.CombMat combMat : param.getCombMats()){ - String uuid = String.valueOf(System.currentTimeMillis()); + Mat mat = matService.selectByMatnr(combMat.getMatnr()); if (Cools.isEmpty(mat)){ throw new CoolException(combMat.getMatnr() + ":鍟嗗搧妗f涓嶅瓨鍦紒"); @@ -264,7 +276,6 @@ manLocDetl.setBatch(Cools.isEmpty(combMat.getBatch()) ? "" : combMat.getBatch()); manLocDetl.setAnfme(combMat.getAnfme()); manLocDetl.setModiTime(now); - manLocDetl.setUuid(uuid); manLocDetl.setOwner(1); if (!manLocDetlService.insert(manLocDetl)) { throw new CoolException("鍟嗗搧涓婃灦澶辫触锛�"); @@ -509,7 +520,7 @@ @Transactional @Override - public R manDetlIn(JSONObject json) { + public R manDetlIn(JSONObject json, User user) { Date date = new Date(); String jsonLocNo = (String) json.get("locNo"); Node node = nodeService.selectOne(new EntityWrapper<Node>() @@ -541,7 +552,7 @@ //鏌ヨ骞冲簱涓槸鍚︽湁涓�鏍风殑鐗╂枡鍙凤紝鏈夌殑璇濈洿鎺ュ鍔犳暟閲� ManLocDetl checkManLocDetl = manLocDetlService.selectInventory(jsonLocNo,orderDetl.getMatnr(),jsonOrderDetl.getBatch()); if (checkManLocDetl == null) { - String uuid = String.valueOf(System.currentTimeMillis()); + ManLocDetl manLocDetl = new ManLocDetl(); Synchro.Copy(orderDetl, manLocDetl); manLocDetl.setLocNo(node.getName()); @@ -552,15 +563,28 @@ manLocDetl.setModiTime(date); manLocDetl.setCreateTime(date); manLocDetl.setBatch(jsonOrderDetl.getBatch()); - manLocDetl.setUuid(uuid); manLocDetl.setOwner(orderDetl.getOwner()); + manLocDetl.setWeight(jsonOrderDetl.getWeight()); + manLocDetl.setOrderNo(jsonOrderDetl.getOrderNo()); if(!manLocDetlService.insert(manLocDetl)){ - return R.error("淇敼骞冲簱鐗╂枡澶辫触锛�"); + return R.error("鎻掑叆骞冲簱鐗╂枡澶辫触锛�"); } } else { - if(manLocDetlService.increase(checkManLocDetl.getAnfme() + jsonOrderDetl.getAnfme(), jsonOrderDetl.getOrderNo(), jsonOrderDetl.getMaktx(), jsonOrderDetl.getBatch())<=0){ + if (checkManLocDetl.getWeight() == null){ + checkManLocDetl.setWeight(0.0); + } + if (jsonOrderDetl.getWeight() == null){ + jsonOrderDetl.setWeight(0.0); + } + if(manLocDetlService.increase(checkManLocDetl.getAnfme() + jsonOrderDetl.getAnfme(), + node.getName(), + jsonOrderDetl.getMatnr(), + jsonOrderDetl.getBatch(),checkManLocDetl.getWeight()+jsonOrderDetl.getWeight() + )<=0 + ){ return R.error("淇敼骞冲簱鐗╂枡澶辫触锛�"); } + } orderDetl.setQty(orderDetl.getQty() + jsonOrderDetl.getAnfme()); orderDetl.setWorkQty(orderDetl.getWorkQty() + jsonOrderDetl.getAnfme()); @@ -583,13 +607,17 @@ return R.error("鏇存柊璁㈠崟鐘舵�佸け璐�"); } orderService.checkComplete(order.getOrderNo()); + + SaasUtils.insertLog(0,jsonLocNo,jsonOrderDetl.getMatnr(), jsonOrderDetl.getAnfme(),user.getUsername()); } + + return R.ok("涓婃灦瀹屾垚"); } @Transactional @Override - public R manDetlOut(JSONObject json) { + public R manDetlOut(JSONObject json,User user) { Date date = new Date(); String jsonLocNo = (String) json.get("locNo"); Node node = nodeService.selectOne(new EntityWrapper<Node>() @@ -608,7 +636,7 @@ if (Cools.isEmpty(node, order)) { return R.error("鍙傛暟涓虹┖"); } - OrderDetl orderDetl = orderDetlService.selectItem(jsonOrderDetl.getOrderNo(),jsonOrderDetl.getMatnr(),jsonOrderDetl.getMaktx()); + OrderDetl orderDetl = orderDetlService.selectItem(jsonOrderDetl.getOrderNo(),jsonOrderDetl.getMatnr(),""); if (Cools.isEmpty(orderDetl)) { return R.error("鍗曟嵁鏄庣粏鏈夎,璇锋鏌�"); } @@ -617,7 +645,7 @@ manPakOutEntityWrapper.eq("matnr",jsonOrderDetl.getMatnr()); ManPakOut manPakOut = manPakOutService.selectOne(manPakOutEntityWrapper); //鑾峰彇鎷h揣鍗曚腑鐨勫搴旂殑璁㈠崟 if(manPakOut.getCount() == null){ - manPakOut.setCount(0); + manPakOut.setCount(0.0); } // if (jsonOrderDetl.getAnfme() > manPakOut.getAnfme()) { //鍒ゆ柇宸ヤ綔鏁伴噺鏄惁澶т簬鎷h揣鍗曠殑鏁伴噺 // return R.error("鍑哄簱鏁伴噺澶т簬鎷h揣鍗曟�绘暟閲�"); @@ -637,12 +665,18 @@ return R.error("鍑哄簱鏁伴噺澶т簬鍙嚭鏁伴噺"); } Double finalQty = checkManLocDetl.getAnfme() - jsonOrderDetl.getAnfme(); + Double weight = checkManLocDetl.getWeight() - jsonOrderDetl.getWeight(); + checkManLocDetl.setAnfme(finalQty); + checkManLocDetl.setWeight(weight); + if (weight < 0){ + return R.error("鍑哄簱閲嶉噺鏈夎锛�"); + } if (finalQty < 0){ // if(manLocDetlService.deleteDatailed(jsonLocNo, jsonOrderDetl.getMatnr(), jsonOrderDetl.getBatch())<=0) { return R.error("鏁伴噺鏈夎锛�"); // } }else { - if(manLocDetlService.increase(finalQty, jsonLocNo, jsonOrderDetl.getMatnr(), jsonOrderDetl.getBatch())<=0){ + if(manLocDetlService.increase(finalQty, jsonLocNo, jsonOrderDetl.getMatnr(), jsonOrderDetl.getBatch(),weight)<=0){ return R.error("淇敼骞冲簱鐗╂枡澶辫触锛�"); } } @@ -666,7 +700,7 @@ return R.error("鏇存柊璁㈠崟鐘舵�佸け璐�"); } if(manPakOut.getCount() == null){ - manPakOut.setCount(0); + manPakOut.setCount(0.0); } manPakOut.setCount(manPakOut.getCount()+jsonOrderDetl.getAnfme().intValue()); if (!manPakOutService.update(manPakOut,manPakOutEntityWrapper)){ @@ -693,6 +727,7 @@ return R.error("鏇存柊骞冲簱搴撳瓨鐘舵�佸け璐�"); } } + SaasUtils.insertLog(1,jsonLocNo,jsonOrderDetl.getMatnr(), jsonOrderDetl.getAnfme(),user.getUsername()); } return R.ok("涓嬫灦瀹屾垚"); -- Gitblit v1.9.1