From e15139e4ec5daffb4e4d4a8e48fb1237baeb5fad Mon Sep 17 00:00:00 2001 From: 野心家 <1051256694@qq.com> Date: 星期二, 01 四月 2025 14:02:03 +0800 Subject: [PATCH] 新增电视机显示小车异常异常信息提示 --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 93 ++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 80 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java index 4691203..e8c6fb6 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -208,8 +208,22 @@ assert ioType != null; // 鑾峰彇搴撲綅 LocMast locMast = locMastService.selectById(dto.getLocNo()); + + if (Cools.isEmpty(locMast)) { + throw new CoolException(dto.getLocNo()+"搴撲綅涓嶅瓨鍦�"); + } + if(!locMast.getLocSts().equals("F")){ + throw new CoolException(dto.getLocNo()+"鎵樼洏闈炲湪搴撶姸鎬�"); + } + + Integer outSta = staNo.getDevNo(); + //2鍙峰爢鍨涙満鍏ㄦ澘鍑哄簱绔欐寚瀹氫负204绔欙紝鎷f枡绔欐寚瀹氫负202 +// if(locMast.getCrnNo()==2){ +// outSta = ioType == 101 ? 204 : 202; +// } + // 鑾峰彇璺緞 - StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), staNo.getDevNo()); + StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), outSta); // 鐢熸垚宸ヤ綔鍙� int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType)); // 鐢熸垚宸ヤ綔妗� @@ -218,7 +232,7 @@ wrkMast.setIoTime(now); wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬� - wrkMast.setIoPri(13D); // 浼樺厛绾э細13 + wrkMast.setIoPri(10.0+locMast.getLocAttribute()); // 浼樺厛绾� wrkMast.setCrnNo(locMast.getCrnNo()); wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯 wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔� @@ -246,6 +260,8 @@ wrkDetl.setIoTime(now); Double anfme = ioType==101?detlDto.getLocDetl().getAnfme():detlDto.getCount(); wrkDetl.setAnfme(anfme); // 鏁伴噺 + wrkDetl.setPrice(detlDto.getLocDetl().getAnfme());//鎬绘暟 + wrkDetl.setWeight(detlDto.getLocDetl().getAnfme());//鎬绘暟 wrkDetl.setAppeTime(now); wrkDetl.setAppeUser(userId); wrkDetl.setModiTime(now); @@ -286,6 +302,7 @@ StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo()); // 鐢熸垚宸ヤ綔鍙� int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType)); + int yz=staDesc.getStnNo()*10+Integer.valueOf(taskDto.getLocNo().substring(6)); // 鐢熸垚宸ヤ綔妗� WrkMast wrkMast = new WrkMast(); wrkMast.setWrkNo(workNo); @@ -294,7 +311,7 @@ wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬� wrkMast.setIoPri(13D); // 浼樺厛绾э細13 wrkMast.setCrnNo(locMast.getCrnNo()); - wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯 + wrkMast.setSourceStaNo(yz); // 婧愮珯 wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔� wrkMast.setSourceLocNo(taskDto.getLocNo()); // 婧愬簱浣� wrkMast.setFullPlt("Y"); // 婊℃澘锛歒 @@ -317,6 +334,8 @@ if (orderDetl == null) { orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null); } + LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locDto.getLocNo()).eq("matnr", locDto.getMatnr())); + Mat mat=matService.selectOne(new EntityWrapper<Mat>().eq("matnr",locDto.getMatnr())); WrkDetl wrkDetl = new WrkDetl(); wrkDetl.sync(orderDetl); wrkDetl.setZpallet(wrkMast.getBarcode()); @@ -324,7 +343,10 @@ wrkDetl.setWrkNo(workNo); wrkDetl.setBatch(locDto.getBatch()); wrkDetl.setOrderNo(locDto.getOrderNo()); + wrkDetl.setModel(mat.getModel()); + wrkDetl.setPrice(locDetl.getAnfme());//搴撳瓨鏁伴噺 wrkDetl.setAnfme(locDto.getAnfme()); // 鏁伴噺 + wrkDetl.setWeight(locDetl.getAnfme());//鎬绘暟 wrkDetl.setAppeTime(now); wrkDetl.setAppeUser(userId); wrkDetl.setModiTime(now); @@ -333,7 +355,7 @@ throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); } // 淇敼璁㈠崟鏄庣粏 - if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) { + if (!orderDetlService.increaseWorkQty(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) { throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触"); } orderService.updateSettle(orderDetl.getOrderId(), 2L, userId); @@ -424,6 +446,9 @@ if (Cools.isEmpty(locMast)) { throw new CoolException(locNo+"搴撲綅涓嶅瓨鍦�"); } + if(!locMast.getLocSts().equals("D")){ + throw new CoolException(locNo+"鎵樼洏闈炲湪搴撶姸鎬�"); + } // 鑾峰彇婧愮珯 Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() .eq("type_no", 110) @@ -446,6 +471,7 @@ wrkMast.setStaNo(param.getOutSite()); // 鐩爣绔� wrkMast.setCrnNo(locMast.getCrnNo()); wrkMast.setSourceLocNo(locNo); // 婧愬簱浣� + wrkMast.setIoPri(10.0+locMast.getLocAttribute());//浼樺厛绾� wrkMast.setFullPlt("N"); // 婊℃澘锛歒 wrkMast.setPicking("N"); // 鎷f枡 wrkMast.setExitMk("N"); // 閫�鍑� @@ -726,6 +752,7 @@ @Override @Transactional public void cancelWrkMast(String workNo, Long userId) { + Date now = new Date(); WrkMast wrkMast = wrkMastService.selectById(workNo); if (Cools.isEmpty(wrkMast)){ throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪"); @@ -745,7 +772,7 @@ throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛屾簮搴撲綅涓嶅瓨鍦�:"+ wrkMast.getSourceLocNo()); } locMast.setLocSts(wrkMast.getFullPlt().equalsIgnoreCase("N")?"D":"F"); - locMast.setModiTime(new Date()); + locMast.setModiTime(now); locMast.setModiUser(userId); locMastService.updateById(locMast); } @@ -767,7 +794,7 @@ throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛岀洰鏍囧簱浣嶄笉瀛樺湪:"+ wrkMast.getSourceLocNo()); } locMast.setLocSts("O"); - locMast.setModiTime(new Date()); + locMast.setModiTime(now); locMast.setModiUser(userId); locMastService.updateById(locMast); } @@ -777,11 +804,51 @@ //鍙栨秷鍏ュ簱宸ヤ綔妗f椂锛屾煡璇㈢粍鎵樿〃锛屽鏋滄湁灏嗙姸鎬佹敼涓哄緟澶勭悊 if(wrkMast.getIoType() == 1) { - WaitPakin waitPakin = waitPakinService.selectOne(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode())); - if (!Cools.isEmpty(waitPakin)) { - waitPakin.setIoStatus("N"); - waitPakinService.update(waitPakin, new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode())); + List<WaitPakin> waitPakins=waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode())); + for (WaitPakin waitPakin:waitPakins){ + if (!Cools.isEmpty(waitPakin)) { + waitPakin.setIoStatus("N"); + waitPakin.setLocNo(""); + waitPakinService.update(waitPakin, new EntityWrapper<WaitPakin>() + .eq("order_no", waitPakin.getOrderNo()) + .eq("matnr", waitPakin.getMatnr()) + .eq("batch", waitPakin.getBatch())); + } } + } + + //鍙栨秷鍑哄簱宸ヤ綔妗f椂锛屾煡璇㈠崟鎹鐞嗚〃锛屽洖婊氫綔涓氫腑鏁伴噺 + if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103) { + List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); + for (WrkDetl wrkDetl : wrkDetls) { + //瀛楃涓蹭笉涓虹┖ + if (!Cools.isEmpty(wrkDetl.getOrderNo())) { + if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) { + throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触"); + } + + //淇敼璁㈠崟涓昏〃鐘舵��,娌℃湁浣滀笟鏁伴噺鏃舵墠鍙互淇敼 + boolean flag = true; + List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no",wrkDetl.getOrderNo())); + for(OrderDetl orderDetl : orderDetls){ + if(orderDetl.getWorkQty() > 0){ + flag = false; + } + } + if(flag){ + Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo())); + if(!Cools.isEmpty(order) && order.getSettle()==2){ + order.setSettle(1L); + order.setUpdateBy(userId); + order.setUpdateTime(now); + } + if(!orderService.update(order,new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo()))){ + throw new CoolException("淇敼璁㈠崟鐘舵�佸け璐�"); + } + } + } + } + } // // 璁㈠崟鍏宠仈 @@ -799,7 +866,7 @@ // 鍙栨秷鎿嶄綔浜哄憳璁板綍 wrkMast.setManuType("鎵嬪姩鍙栨秷"); wrkMast.setModiUser(userId); - wrkMast.setModiTime(new Date()); + wrkMast.setModiTime(now); if (!wrkMastService.updateById(wrkMast)) { throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐�"); } @@ -825,7 +892,7 @@ throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐ワ紝搴撲綅涓嶅瓨鍦�:"+ locNo); } locMast.setLocSts(locSts); - locMast.setModiTime(new Date()); + locMast.setModiTime(now); locMast.setModiUser(userId); boolean locMastRes = locMastService.updateById(locMast); if (!wrkMastRes || !locMastRes) { @@ -897,7 +964,7 @@ } LocTypeDto locTypeDto = new LocTypeDto(); locTypeDto.setLocType1((short) 1); - return wcsController.startupFullPutStore(301, list.get(0).getZpallet(), locTypeDto, list); + return null; } @Override -- Gitblit v1.9.1