From 6f1daffee3b65b5943dad26e1af3cbcafa46fd90 Mon Sep 17 00:00:00 2001 From: lsh <1> Date: 星期日, 18 二月 2024 16:57:26 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 124 +++++++++++++++++++++++++++++++++++++---- 1 files changed, 112 insertions(+), 12 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 4972b51..075d879 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -536,8 +536,17 @@ if (Cools.isEmpty(param.getOutSite())) { throw new CoolException("绔欑偣涓嶅瓨鍦�"); } - List<String> locNoOtherList = new ArrayList<>(); + List<String> locNoOtherListOne = new ArrayList<>(); for (String locNo : param.getLocNos()) { + + //灏忔枡绠变即鐢熷嚭搴� + if (Utils.getRow(locNo)<=8){ + String locNoOther = staNoOther(locNo); + if (!param.getLocNos().contains(locNoOther)){ + locNoOtherListOne.add(locNoOther); + } + } + // 鑾峰彇宸ヤ綔鍙� int workNo = commonService.getWorkNo(WorkNoType.PAKOUT.type); // 鑾峰彇搴撲綅 @@ -593,21 +602,112 @@ } } } + + for (String locNo:locNoOtherListOne){ + // 鑾峰彇宸ヤ綔鍙� + int workNo = commonService.getWorkNo(WorkNoType.PAKOUT.type); + + //浼寸敓鍏ュ簱宸ヤ綔鍙� + int workNoRu = commonService.getWorkNo(0); + + // 鑾峰彇搴撲綅 + LocMast locMast = locMastService.selectById(locNo); + if (Cools.isEmpty(locMast)) { + throw new CoolException(locNo+"搴撲綅涓嶅瓨鍦�"); + } + if (!locMast.getLocSts().equals("D")){ + throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篋鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$()); + } + // 鑾峰彇婧愮珯 + Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() + .eq("type_no", 110) + .eq("stn_no", param.getOutSite()) + .eq("crn_no", locMast.getCrnNo()); + StaDesc staDesc = staDescService.selectOne(wrapper); + Integer sourceStaNo = staDesc.getCrnStn(); + if (Cools.isEmpty(sourceStaNo)) { + throw new CoolException("妫�绱㈡簮绔欏け璐�"); + } + Date now = new Date(); + // 淇濆瓨宸ヤ綔妗� + WrkMast wrkMast = new WrkMast(); + wrkMast.setWrkNo(workNo); + wrkMast.setIoTime(now); + wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID + wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱 + wrkMast.setIoPri(10D); + wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯 + wrkMast.setStaNo(crnStaRu(locMast.getCrnNo())); // 鐩爣绔� 鍫嗗灈鏈哄叆搴撳彛 + wrkMast.setCrnNo(locMast.getCrnNo()); + wrkMast.setSourceLocNo(locNo); // 婧愬簱浣� + wrkMast.setFullPlt("N"); // 婊℃澘锛歒 + wrkMast.setPicking("N"); // 鎷f枡 + wrkMast.setExitMk("N"); // 閫�鍑� + wrkMast.setEmptyMk("Y"); // 绌烘澘 + wrkMast.setLinkMis("N"); + wrkMast.setAppeUser(userId); + wrkMast.setAppeTime(now); + wrkMast.setModiUser(userId); + wrkMast.setModiTime(now); + wrkMast.setWorkNoOther(workNoRu); + boolean res = wrkMastService.insert(wrkMast); + if (!res) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + // 鏇存柊搴撲綅鐘舵�� D.绌烘澘 -> R.鍑哄簱棰勭害 + if (locMast.getLocSts().equals("D")){ + locMast.setLocSts("R"); + locMast.setModiUser(userId); + locMast.setModiTime(now); + if (!locMastService.updateById(locMast)) { + throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�"); + } + } + + // 鐢熸垚宸ヤ綔妗� + WrkMast wrkMastRu = new WrkMast(); + wrkMastRu.setWrkNo(workNoRu); + wrkMastRu.setIoTime(new Date()); + wrkMastRu.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID + wrkMastRu.setIoType(10); // 鍏ュ嚭搴撶姸鎬侊細10.绌烘澘鍏ュ簱 + wrkMastRu.setIoPri(13D); // 浼樺厛绾� + wrkMastRu.setCrnNo(wrkMast.getCrnNo()); + wrkMastRu.setSourceStaNo(wrkMast.getSourceStaNo()); + wrkMastRu.setStaNo(wrkMast.getStaNo()); +// wrkMast.setLocNo(dto.getLocNo()); + wrkMastRu.setFullPlt("N"); // 婊℃澘 + wrkMastRu.setPicking("N"); // 鎷f枡 + wrkMastRu.setExitMk("N"); // 閫�鍑� + wrkMastRu.setEmptyMk("Y"); // 绌烘澘 + wrkMastRu.setLinkMis("Y"); + wrkMastRu.setCtnType(wrkMast.getCtnType()); // 瀹瑰櫒绫诲瀷 + // 鎿嶄綔浜哄憳鏁版嵁 + wrkMastRu.setAppeTime(new Date()); + wrkMastRu.setModiTime(new Date()); + boolean resOther = wrkMastService.insert(wrkMastRu); + if (!resOther) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + } } - public String[] staNoOther(String locNo){ - String[] strings = new String[2]; + public Integer crnStaRu(Integer crnNo){ + switch (crnNo){ + case 1: + return 153; + case 2: + return 145; + default: + return null; + } + } + + public String staNoOther(String locNo){ int row = Utils.getRow(locNo); - if (row==1 || row==5 ){ - strings[0] = locNo; - strings[1] = getDeepLoc2(locNo,row); - return strings; - } else if (row == 4 || row == 8){ - strings[0] = getDeepLoc2(locNo,row); - strings[1] = locNo; - return strings; + if (row%4==0 || row%4==1){ + return getDeepLoc2(locNo,row); }else { - return null; + return getDeepLoc(locNo,row); } } -- Gitblit v1.9.1