From e13b2a110be2d5203e43652e678b8a86f988f7fc Mon Sep 17 00:00:00 2001 From: zwl <1051256694@qq.com> Date: 星期日, 12 二月 2023 09:05:45 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 105 ++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 88 insertions(+), 17 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 319a009..4467f47 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -75,6 +75,8 @@ private RowLastnoService rowLastnoService; @Autowired private SlaveProperties slaveProperties; + @Autowired + private WaitPakinService waitPakinService; @Override @Transactional @@ -206,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)); // 鐢熸垚宸ヤ綔妗� @@ -331,7 +347,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); @@ -421,6 +437,9 @@ LocMast locMast = locMastService.selectById(locNo); if (Cools.isEmpty(locMast)) { throw new CoolException(locNo+"搴撲綅涓嶅瓨鍦�"); + } + if(!locMast.getLocSts().equals("D")){ + throw new CoolException(locNo+"鎵樼洏闈炲湪搴撶姸鎬�"); } // 鑾峰彇婧愮珯 Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() @@ -631,7 +650,7 @@ // todo 鐩樼偣璁板綍 // 淇敼搴撳瓨 if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch())) { - throw new CoolException(locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "搴忓垪鐮佷慨鏀规暟閲忓け璐�"); + throw new CoolException(locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "鎵瑰彿淇敼鏁伴噺澶辫触"); } // 淇濆瓨璋冩暣璁板綍 AdjDetl adjDetl = new AdjDetl(); @@ -656,7 +675,7 @@ for (LocDetl locDetl : locDetls) { // todo 鐩樼偣璁板綍 if (!locDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch())) { - throw new CoolException("鍒犻櫎" + locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "搴忓垪鐮佸簱瀛樻槑缁嗗け璐�"); + throw new CoolException("鍒犻櫎" + locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "鎵瑰彿搴撳瓨鏄庣粏澶辫触"); } // 淇濆瓨璋冩暣璁板綍 AdjDetl adjDetl = new AdjDetl(); @@ -686,7 +705,7 @@ locDetl.setAppeUser(userId); locDetl.setAppeTime(now); if (!locDetlService.insert(locDetl)) { - throw new CoolException("娣诲姞" + locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "搴忓垪鐮佸簱瀛樻槑缁嗗け璐�"); + throw new CoolException("娣诲姞" + locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "鎵瑰彿搴撳瓨鏄庣粏澶辫触"); } // 淇濆瓨璋冩暣璁板綍 AdjDetl adjDetl = new AdjDetl(); @@ -724,6 +743,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笉瀛樺湪"); @@ -743,7 +763,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); } @@ -765,28 +785,79 @@ throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛岀洰鏍囧簱浣嶄笉瀛樺湪:"+ wrkMast.getSourceLocNo()); } locMast.setLocSts("O"); - locMast.setModiTime(new Date()); + locMast.setModiTime(now); locMast.setModiUser(userId); locMastService.updateById(locMast); } } else { throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�"); } - // 璁㈠崟鍏宠仈 - 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("璁㈠崟鏁版嵁鍥炴粴澶辫触"); + + //鍙栨秷鍏ュ簱宸ヤ綔妗f椂锛屾煡璇㈢粍鎵樿〃锛屽鏋滄湁灏嗙姸鎬佹敼涓哄緟澶勭悊 + if(wrkMast.getIoType() == 1) { + 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())); } - // 鐢熸垚鏂扮殑鍑哄簱浣滀笟 -// stockOutRe(wrkMast, wrkDetls); } } + + //鍙栨秷鍑哄簱宸ヤ綔妗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("淇敼璁㈠崟鐘舵�佸け璐�"); + } + } + } + } + + } + +// // 璁㈠崟鍏宠仈 +// 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("璁㈠崟鏁版嵁鍥炴粴澶辫触"); +// } +// // 鐢熸垚鏂扮殑鍑哄簱浣滀笟 +//// stockOutRe(wrkMast, wrkDetls); +// } +// } + // 鍙栨秷鎿嶄綔浜哄憳璁板綍 wrkMast.setManuType("鎵嬪姩鍙栨秷"); wrkMast.setModiUser(userId); - wrkMast.setModiTime(new Date()); + wrkMast.setModiTime(now); if (!wrkMastService.updateById(wrkMast)) { throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐�"); } @@ -812,7 +883,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) { -- Gitblit v1.9.1