From b6b46e1c4d390c80cf9bd7d4daa23202f2d11a22 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期五, 26 五月 2023 13:47:57 +0800 Subject: [PATCH] 站点管理编辑高低库位 --- src/main/java/com/zy/asrs/utils/Utils.java | 154 +++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 117 insertions(+), 37 deletions(-) diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index e75e2a8..1921ffb 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/src/main/java/com/zy/asrs/utils/Utils.java @@ -1,14 +1,16 @@ package com.zy.asrs.utils; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Arith; import com.core.common.Cools; +import com.core.common.SpringUtils; +import com.core.exception.CoolException; +import com.zy.asrs.entity.LocMast; +import com.zy.asrs.service.LocMastService; import com.zy.common.properties.SlaveProperties; import java.text.DecimalFormat; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * Created by vincent on 2020/8/27 @@ -227,61 +229,59 @@ public static List<String> getGroupLoc(String locNo){ int row = getRow(locNo); + ArrayList<String> list = new ArrayList<>(); switch (row) { case 1: case 2: case 3: - return new ArrayList<String>() {{ - add(zerofill(String.valueOf(1), 2) + locNo.substring(2)); - add(zerofill(String.valueOf(2), 2) + locNo.substring(2)); - add(zerofill(String.valueOf(3), 2) + locNo.substring(2)); - }}; + list.add(zerofill(String.valueOf(1), 2) + locNo.substring(2)); + list.add(zerofill(String.valueOf(2), 2) + locNo.substring(2)); + list.add(zerofill(String.valueOf(3), 2) + locNo.substring(2)); + Collections.reverse(list); + return list; case 4: case 5: case 6: case 7: - return new ArrayList<String>() {{ - add(zerofill(String.valueOf(4), 2) + locNo.substring(2)); - add(zerofill(String.valueOf(5), 2) + locNo.substring(2)); - add(zerofill(String.valueOf(6), 2) + locNo.substring(2)); - add(zerofill(String.valueOf(7), 2) + locNo.substring(2)); - }}; + list.add(zerofill(String.valueOf(4), 2) + locNo.substring(2)); + list.add(zerofill(String.valueOf(5), 2) + locNo.substring(2)); + list.add(zerofill(String.valueOf(6), 2) + locNo.substring(2)); + list.add(zerofill(String.valueOf(7), 2) + locNo.substring(2)); + return list; case 8: case 9: case 10: case 11: - return new ArrayList<String>() {{ - add(zerofill(String.valueOf(8), 2) + locNo.substring(2)); - add(zerofill(String.valueOf(9), 2) + locNo.substring(2)); - add(zerofill(String.valueOf(10), 2) + locNo.substring(2)); - add(zerofill(String.valueOf(11), 2) + locNo.substring(2)); - }}; + list.add(zerofill(String.valueOf(8), 2) + locNo.substring(2)); + list.add(zerofill(String.valueOf(9), 2) + locNo.substring(2)); + list.add(zerofill(String.valueOf(10), 2) + locNo.substring(2)); + list.add(zerofill(String.valueOf(11), 2) + locNo.substring(2)); + Collections.reverse(list); + return list; case 12: case 13: case 14: - return new ArrayList<String>() {{ - add(zerofill(String.valueOf(12), 2) + locNo.substring(2)); - add(zerofill(String.valueOf(13), 2) + locNo.substring(2)); - add(zerofill(String.valueOf(14), 2) + locNo.substring(2)); - }}; + list.add(zerofill(String.valueOf(12), 2) + locNo.substring(2)); + list.add(zerofill(String.valueOf(13), 2) + locNo.substring(2)); + list.add(zerofill(String.valueOf(14), 2) + locNo.substring(2)); + return list; case 15: case 16: case 17: case 18: - return new ArrayList<String>() {{ - add(zerofill(String.valueOf(15), 2) + locNo.substring(2)); - add(zerofill(String.valueOf(16), 2) + locNo.substring(2)); - add(zerofill(String.valueOf(17), 2) + locNo.substring(2)); - add(zerofill(String.valueOf(18), 2) + locNo.substring(2)); - }}; + list.add(zerofill(String.valueOf(15), 2) + locNo.substring(2)); + list.add(zerofill(String.valueOf(16), 2) + locNo.substring(2)); + list.add(zerofill(String.valueOf(17), 2) + locNo.substring(2)); + list.add(zerofill(String.valueOf(18), 2) + locNo.substring(2)); + Collections.reverse(list); + return list; case 19: case 20: case 21: - return new ArrayList<String>() {{ - add(zerofill(String.valueOf(19), 2) + locNo.substring(2)); - add(zerofill(String.valueOf(20), 2) + locNo.substring(2)); - add(zerofill(String.valueOf(21), 2) + locNo.substring(2)); - }}; + list.add(zerofill(String.valueOf(19), 2) + locNo.substring(2)); + list.add(zerofill(String.valueOf(20), 2) + locNo.substring(2)); + list.add(zerofill(String.valueOf(21), 2) + locNo.substring(2)); + return list; default: throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); } @@ -532,4 +532,84 @@ return result; } + //妫�娴嬫彁浜ょ殑鍑哄簱搴撲綅鏄惁鍚堟硶(娴呭簱浣嶆湁闈炵┖搴撲綅) + public static void checkStockOutLocNo(List<String> locNos) { + LocMastService locMastService = SpringUtils.getBean(LocMastService.class); + //妫�娴嬫槸鍚︿负娴呭簱浣� + boolean sign = false; + String th = ""; + for (String locNo : locNos) { + if (sign) { + break; + } + List<String> groupInsideLoc = Utils.getGroupLoc(locNo); + if (!Cools.isEmpty(groupInsideLoc)) { + for (String insideLoc : groupInsideLoc) { + if (locNos.contains(insideLoc)) { + break; + } + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", insideLoc)); + if (locMast != null) { + if (!locMast.getLocSts().equals("O") && !locMast.getLocSts().equals("R")) { + sign = true; + th = "搴撲綅鍙凤細" + locNo + " 娴呭簱浣嶆湁闈炵┖搴撲綅锛�"; + break; + } + } + } + } + } + if (sign){ + throw new CoolException("鍑哄簱澶辫触锛�" + th); + } + } + + /** + * 妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负D銆丗銆乆 + * 杩斿洖true琛ㄧず鍐呬晶搴撲綅涓嶆槸DFX锛岃繑鍥瀎alse琛ㄧず鍐呬晶搴撲綅鏄疍FX + */ + public static boolean checkInsideLocIsDFX(String locNo) { + LocMastService locMastService = SpringUtils.getBean(LocMastService.class); + List<String> insideLoc = Utils.getGroupInsideLoc(locNo); + if (insideLoc.size() > 0) { + List<LocMast> insideLocMast = locMastService.selectByLocNos(insideLoc); + for (LocMast mast : insideLocMast) { + if (!mast.getLocSts().equals("D") + && !mast.getLocSts().equals("F") + && !mast.getLocSts().equals("X")) { + //D銆丗銆乆(涓嶈兘閫夊畾杩欎釜澶栦晶搴撲綅) + return true; + } + } + } + return false; + } + + /** + * 妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负D銆丗銆乆銆丼 + * 杩斿洖true琛ㄧず鍐呬晶搴撲綅涓嶆槸DFX锛岃繑鍥瀎alse琛ㄧず鍐呬晶搴撲綅鏄疍FX + */ + public static boolean checkInsideLocIsDFXS(String locNo) { + LocMastService locMastService = SpringUtils.getBean(LocMastService.class); + List<String> insideLoc = Utils.getGroupInsideLoc(locNo); + if (insideLoc.size() > 0) { + List<LocMast> insideLocMast = locMastService.selectByLocNos(insideLoc); + for (LocMast mast : insideLocMast) { + if (!mast.getLocSts().equals("D") + && !mast.getLocSts().equals("F") + && !mast.getLocSts().equals("X") + && !mast.getLocSts().equals("S")) { + //D銆丗銆乆銆丼(涓嶈兘閫夊畾杩欎釜澶栦晶搴撲綅) + return true; + } + } + } + return false; + } + + public static void main(String[] args) { + List<String> groupLoc = Utils.getGroupLoc("1300801"); + System.out.println(groupLoc); + } + } -- Gitblit v1.9.1