From 8efbcfef1ccb88c0f4020dc5bbfd271ab403ac1d Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期二, 29 三月 2022 16:30:09 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 61 +++++++++++++++--------------- 1 files changed, 31 insertions(+), 30 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 e218f63..6c21b9f 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -45,11 +45,11 @@ @Autowired private WrkMastService wrkMastService; @Autowired + private WrkDetlService wrkDetlService; + @Autowired private BasDevpService basDevpService; @Autowired private CommonService commonService; - @Autowired - private WrkDetlService wrkDetlService; @Autowired private LocMastService locMastService; @Autowired @@ -68,6 +68,10 @@ private WmsService wmsService; @Autowired private SnowflakeIdWorker snowflakeIdWorker; + @Autowired + private OrderService orderService; + @Autowired + private OrderDetlService orderDetlService; @Override @Transactional @@ -273,15 +277,8 @@ // 鑾峰彇搴撲綅 LocMast locMast = locMastService.selectById(taskDto.getLocNo()); // 鑾峰彇璺緞 - Integer ioType = taskDto.isAll() ? 101 : 103; - Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() - .eq("type_no", ioType) - .eq("stn_no", staNo.getDevNo()) - .eq("crn_no", locMast.getCrnNo()); - StaDesc staDesc = staDescService.selectOne(wrapper); - if (Cools.isEmpty(staDesc)) { - throw new CoolException("鍑哄簱璺緞涓嶅瓨鍦�"); - } + int ioType = taskDto.isAll() ? 101 : 103; + StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), staNo.getDevNo()); // 鐢熸垚宸ヤ綔鍙� int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType)); // 鐢熸垚宸ヤ綔妗� @@ -309,14 +306,15 @@ } // 鐢熸垚宸ヤ綔妗f槑缁� for (LocDto locDto : taskDto.getLocDtos()) { - // 鍑哄簱鏃讹紝鏁伴噺涓�0鐨勭洿鎺ュ拷鐣� - if (detlDto.getCount()==null || detlDto.getCount() <= 0.0D) {continue;} + if (locDto.getAnfme()==null || locDto.getAnfme() <= 0.0D) { continue; } + OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch()); WrkDetl wrkDetl = new WrkDetl(); + wrkDetl.setIoTime(now); wrkDetl.setWrkNo(workNo); - wrkDetl.setIoTime(new Date()); - Double anfme = ioType==101?detlDto.getLocDetl().getAnfme():detlDto.getCount(); - wrkDetl.setAnfme(anfme); // 鏁伴噺 - VersionUtils.setWrkDetl(wrkDetl, detlDto.getLocDetl()); // 鐗堟湰鎺у埗 + wrkDetl.setBatch(locDto.getBatch()); + wrkDetl.setOrderNo(locDto.getOrderNo()); + wrkDetl.setAnfme(locDto.getAnfme()); // 鏁伴噺 + VersionUtils.setWrkDetl(wrkDetl, orderDetl); // 鐗堟湰鎺у埗 wrkDetl.setAppeTime(now); wrkDetl.setAppeUser(userId); wrkDetl.setModiTime(now); @@ -324,6 +322,11 @@ if (!wrkDetlService.insert(wrkDetl)) { throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); } + // 淇敼璁㈠崟鏄庣粏 + if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) { + throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触"); + } + orderService.updateSettle(orderDetl.getOrderId(), 2L, userId); } // 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓� locMast = locMastService.selectById(taskDto.getLocNo()); @@ -453,7 +456,6 @@ throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�"); } } - // todo 鏇存柊绔欑偣淇℃伅锛堝伐浣滃彿锛� } } @@ -751,18 +753,6 @@ // 鍑哄簱 ===>> F.鍦ㄥ簱 if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) { locSts = "F"; - // 閿�鍞崟鍏宠仈锛屽垯鐢熸垚鏂扮殑鍑哄簱浠诲姟 - if (wrkMast.getPdcType().equals("Y")) { - List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo)); - for (WrkDetl wrkDetl : wrkDetls) { - Double sumAnfme = Optional.ofNullable(locDetlService.getSumAnfme(wrkDetl.getMatnr())).orElse(0.0D); - if (sumAnfme < wrkDetl.getAnfme()) { - throw new CoolException("鍙栨秷澶辫触锛佸簱瀛樹笉瓒充互閲嶆柊鐢熸垚鍑哄簱浣滀笟"); - } - } - // 鐢熸垚鏂扮殑鍑哄簱浣滀笟 - stockOutRe(wrkMast, wrkDetls); - } // 绌烘澘鍑哄簱 ===>> D.绌烘《/绌烘爤鏉� } else if (wrkMast.getIoType() == 110) { locSts = "D"; @@ -782,6 +772,17 @@ } 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("璁㈠崟鏁版嵁鍥炴粴澶辫触"); + } + // 鐢熸垚鏂扮殑鍑哄簱浣滀笟 +// stockOutRe(wrkMast, wrkDetls); + } + } // 鍙栨秷鎿嶄綔浜哄憳璁板綍 wrkMast.setManuType("鎵嬪姩鍙栨秷"); wrkMast.setModiUser(userId); -- Gitblit v1.9.1