From a0abdbc0b19c855fa53e47a9196dfa2cd41e8e9d Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期六, 23 十二月 2023 19:56:53 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/tzskasrs-1' into tzskasrs-1 --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 105 ++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 96 insertions(+), 9 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 87a71e8..0e4e957 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -1,6 +1,8 @@ package com.zy.asrs.service.impl; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.core.common.BaseRes; @@ -221,7 +223,7 @@ List<LocDetlDto> locDetlDtos = new ArrayList<>(); for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) { if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) { - LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch(), paramLocDetl.getContainerCode()); + LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch(), paramLocDetl.getSuppCode()); if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount())); } } @@ -281,6 +283,69 @@ dtos.add(new OutLocDto(locNo, locDetlDto)); } } + + ArrayList<String> outerLocs = new ArrayList<>(); + //妫�娴嬫槸鍚︿负娴呭簱浣� + boolean sign=false; + String th = ""; + for (String locNo : locNos) { + if (sign) { + break; + } + + List<String> groupOuterLoc = Utils.getGroupOuterLoc(locNo); + if (!Cools.isEmpty(groupOuterLoc)) { + for (String outerLoc : groupOuterLoc) { + if (locNos.contains(outerLoc)) { + continue; + } + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", outerLoc)); + if (locMast != null) { + if (!locMast.getLocSts().equals("O") && !locMast.getLocSts().equals("R")) { +// sign = true; +// th = "搴撲綅鍙凤細" + locNo + " 娴呭簱浣嶆湁闈炵┖搴撲綅锛�"; +// break; + + OutLocDto outLocDto = new OutLocDto(); + outLocDto.setLocNo(locMast.getLocNo()); + List<LocDetlDto> locDetlDtos1 = new ArrayList<>(); + for (LocDetl locDetl : locDetlService.selectByLocNo(locMast.getLocNo())) { + LocDetlDto locDetlDto = new LocDetlDto(); + locDetlDto.setLocDetl(locDetl); + locDetlDto.setCount(locDetl.getAnfme()); + locDetlDtos1.add(locDetlDto); + } + outLocDto.setLocDetlDtos(locDetlDtos1); + if (!outerLocs.contains(locMast.getLocNo())) { + dtos.add(outLocDto); + outerLocs.add(locMast.getLocNo()); + } + } + } + } + } + } +// if (sign){ +// throw new CoolException("鍑哄簱澶辫触锛�"+th); +// } + + //**************325銆�331銆�333銆�339绔欑偣棰濆閫昏緫浠g爜************** + HashMap<String, Object> tmpMap = new HashMap<>(); + if (staNo.getDevNo() == 325 || staNo.getDevNo() == 331 || staNo.getDevNo() == 333 || staNo.getDevNo() == 339) { + int[] data = {325,331,333,339}; + for (String locNo : locNos) { + List<String> groupOuterLoc = Utils.getGroupDeepLoc(locNo); + if (groupOuterLoc.isEmpty()) { + continue; + } + int index = 0; + for (String loc : groupOuterLoc) { + tmpMap.put(loc, data[index++]); + } + } + } + //**************325銆�331銆�333銆�339绔欑偣棰濆閫昏緫浠g爜************** + Integer ioType = null; List<String> excludeLocNos = dtos.stream().map(OutLocDto::getLocNo).distinct().collect(Collectors.toList()); // 鐢熸垚宸ヤ綔妗� @@ -314,6 +379,13 @@ if (stnNo == 325 || stnNo == 331 || stnNo == 333 || stnNo == 339) { stnNo = staDesc.getCrnStn(); sourceStaNo = staDesc.getStnNo(); + + //**************325銆�331銆�333銆�339绔欑偣棰濆閫昏緫浠g爜************** + Object autoStnNo = tmpMap.get(dto.getLocNo());//鑾峰彇绯荤粺鑷姩鍒嗛厤绔欑偣 + if (autoStnNo != null) { + sourceStaNo = Integer.parseInt(autoStnNo.toString()); + } + //**************325銆�331銆�333銆�339绔欑偣棰濆閫昏緫浠g爜************** } int lev = Utils.getLev(dto.getLocNo()); @@ -698,7 +770,7 @@ List<LocDetlDto> locDetlDtos = new ArrayList<>(); for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) { if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) { - LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch(),paramLocDetl.getContainerCode()); + LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch(),paramLocDetl.getSuppCode()); if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount())); } } @@ -854,7 +926,7 @@ while (iterator1.hasNext()) { LocDetlAdjustParam.LocDetlAdjust adjust = iterator1.next(); if (adjust.getCount() == 0) { continue; } - if (locDetl.getMatnr().equals(adjust.getMatnr()) && Cools.eq(locDetl.getBatch(), adjust.getBatch())) { + if (locDetl.getMatnr().equals(adjust.getMatnr()) && Cools.eq(locDetl.getBatch(), adjust.getBatch()) && Cools.eq(locDetl.getSuppCode(),adjust.getSuppCode()) && Cools.eq(locDetl.getThreeCode(),adjust.getThreeCode()) && Cools.eq(locDetl.getDeadTime(),adjust.getDeadTime())) { if (!locDetl.getAnfme().equals(adjust.getCount())) { // todo 鐩樼偣璁板綍 // 淇敼搴撳瓨 @@ -1159,13 +1231,28 @@ } private void generateAgvWaitpakin(WrkDetl wrkDetl){ - Order order = orderService.selectByNo(wrkDetl.getOrderNo()); - DocType docType = docTypeService.selectById(order.getDocType()); - if("浜哄伐琛ヨ揣鍗�".equals(docType.getDocName())){ - AgvWaitPakin agvWaitPakin = new AgvWaitPakin(); - BeanUtils.copyProperties(wrkDetl,agvWaitPakin); - agvWaitPakinService.insert(agvWaitPakin); + String orderNo = wrkDetl.getOrderNo(); + if(orderNo.contains("{")){ + JSONArray orderArray = JSON.parseArray(orderNo); + for (Object o : orderArray){ + JSONObject jsonobject = (JSONObject) o; + Order order = orderService.selectByNo(jsonobject.get("orderNo").toString()); + DocType docType = docTypeService.selectById(order.getDocType()); + if("浜哄伐琛ヨ揣鍗�".equals(docType.getDocName())){ + throw new CoolException("鍚堝苟鍗曟嵁涓寘鍚汉宸ヨˉ璐у崟锛屽崟鎹负: " + jsonobject.get("orderNo")); + } + } + + }else { + Order order = orderService.selectByNo(orderNo); + DocType docType = docTypeService.selectById(order.getDocType()); + if("浜哄伐琛ヨ揣鍗�".equals(docType.getDocName())){ + AgvWaitPakin agvWaitPakin = new AgvWaitPakin(); + BeanUtils.copyProperties(wrkDetl,agvWaitPakin); + agvWaitPakinService.insert(agvWaitPakin); + } } + } } -- Gitblit v1.9.1