From b2f1ff879839b5cd3fd093527a39ad73cb16a61c Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期一, 22 九月 2025 09:52:57 +0800 Subject: [PATCH] 1 --- src/main/java/com/zy/asrs/task/handler/GhjtHandler.java | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 50 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/handler/GhjtHandler.java b/src/main/java/com/zy/asrs/task/handler/GhjtHandler.java index f624dc9..c7022d6 100644 --- a/src/main/java/com/zy/asrs/task/handler/GhjtHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/GhjtHandler.java @@ -24,6 +24,7 @@ import javax.annotation.Resource; import java.util.*; +import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; /** @@ -72,6 +73,9 @@ // 鍫嗗灈鏈哄搴斾竴妤煎嚭搴撶珯鐐� private static final int[] oneFloorOutSite = new int[]{0,3002,3003,3006,3008,3009,3012}; + // 鍫嗗灈鏈哄搴斾竴妤煎叆搴撶珯鐐� + private static final int[] oneFloorInSite = new int[]{0,3001,3004,3005,3007,3010,3011}; + public void startCkrwPushGwcs(WrkMast wrkMast) { // 鑾峰彇璇锋眰澶� @@ -98,6 +102,7 @@ .setPath(MesConstant.GWCS_DCKK_URL) .setHeaders(headers) .setJson(body) + .setTimeout(30, TimeUnit.SECONDS) // 璁剧疆杩炴帴 + 璇诲彇瓒呮椂涓�30绉� .build() .doPost(); if (!Cools.isEmpty(response)) { @@ -110,6 +115,7 @@ wrkMast.setModiTime(new Date()); } else if(wrkMast.getIoType() == 12) { // 璺ㄥ贩閬撹浆绉� wrkMast.setWrkSts(1L); // 鐘舵�佹敼涓�1.鐢熸垚鍏ュ簱id + wrkMast.setCrnNo(Arrays.binarySearch(oneFloorInSite,wrkMast.getStaNo()));// 鍫嗗灈鏈鸿浆鎹负鍏ュ簱鐨勫爢鍨涙満 wrkMast.setModiTime(new Date()); } wrkMastMapper.updateById(wrkMast); @@ -208,7 +214,7 @@ String staLocNo = null; Integer wrkCount = wrkMastMapper.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", i)); if(wrkCount > 0) { - log.warn("{}鍙峰爢鍨涙満宸插瓨鍦ㄤ换鍔�",i); +// log.warn("{}鍙峰爢鍨涙満宸插瓨鍦ㄤ换鍔�",i); continue; } // 鏍规嵁鍫嗗灈鏈哄彿鏌ヨ鍒板搴旂殑娣卞簱浣嶅拰娴呭簱浣� 娣卞簱浣�4*n-3鍜�4*n 娴呭簱浣�4*n-2鍜�4*n-1 @@ -237,16 +243,16 @@ } // 娌℃湁鎵惧埌婧愬簱浣� if (sourceLocNo == null) { - log.warn("娌℃湁鎵惧埌婧愬簱浣�,鍫嗗灈鏈猴細{}",i); +// log.warn("娌℃湁鎵惧埌婧愬簱浣�,鍫嗗灈鏈猴細{}",i); continue; } // 瀵绘壘涓�涓璐х殑鐩爣搴撲綅锛屽厛娣卞悗娴� List<LocMast> locMasts1 = locMastMapper.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "O").eq("crn_no", i).in("row1", s1, s2) - .le("bay1", columnNum)); + .le("bay1", columnNum).orderBy("lev1,bay1,row1")); if (locMasts1.isEmpty()) { // 娣卞簱浣嶄负绌轰簡锛屽彇娴呭簱浣� List<LocMast> locMasts2 = locMastMapper.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "O").eq("crn_no", i).in("row1", q1, q2) - .le("bay1", columnNum)); + .le("bay1", columnNum).orderBy("lev1,bay1,row1")); if (!locMasts2.isEmpty()) { staLocNo = locMasts2.get(0).getLocNo(); } @@ -386,12 +392,52 @@ if (config == null) { throw new CoolException("鐞嗚揣鑾峰彇澶囪揣鍖洪厤缃敊璇紒锛侊紒"); } + Config chang = configMapper.selectConfigByCode("auto_tally_goods_chang"); + if (chang == null) { + throw new CoolException("鐞嗚揣鑾峰彇澶囪揣鍖洪暱搴﹂厤缃敊璇紒锛侊紒"); + } + Config kuan = configMapper.selectConfigByCode("auto_tally_goods_kuan"); + if (kuan == null) { + throw new CoolException("鐞嗚揣鑾峰彇澶囪揣鍖哄搴﹂厤缃敊璇紒锛侊紒"); + } + Config gao = configMapper.selectConfigByCode("auto_tally_goods_gao"); + if (gao == null) { + throw new CoolException("鐞嗚揣鑾峰彇澶囪揣鍖洪珮搴﹂厤缃敊璇紒锛侊紒"); + } + // 鍓嶅嚑鍒楁槸澶囪揣鍖� int columnNum = Integer.parseInt(config.getValue()); // 瀵绘壘涓�绠变竴鍗风殑锛屾病鏈夌悊璐х殑锛屼笉鍦ㄥ璐у尯鐨勭墿鏂欐槑缁� List<LocDetl> tallyGoosList = locDetlMapper.selectTallyGoosList(columnNum); + // 杩囨护鎺夋湪绠辫鏍煎搴﹀ぇ浜�600鐨�(澶т簬600涓�涓墭鐩樺彧鑳芥斁涓�绠�) + tallyGoosList = tallyGoosList.stream().filter(locDetl -> { + String[] split = locDetl.getColor().split("\\*"); + if (split.length == 3) { + // 楂樺害涔熻浣庝簬614鎵嶈兘鐞嗚揣 + //return Integer.parseInt(split[1]) <= 600 && Integer.parseInt(split[2]) <= 614; + //鏂伴�昏緫 + String[] changLimit = chang.getValue().split("-"); + if (changLimit.length == 2){ + if (Integer.parseInt(split[0]) >= Integer.parseInt(changLimit[0]) && Integer.parseInt(split[0]) <= Integer.parseInt(changLimit[1])){ + String[] kuanLimit = chang.getValue().split("-"); + if (kuanLimit.length == 2){ + if (Integer.parseInt(split[1]) >= Integer.parseInt(kuanLimit[0]) && Integer.parseInt(split[1]) <= Integer.parseInt(kuanLimit[1])){ + String[] gaoLimit = gao.getValue().split("-"); + if (gaoLimit.length == 2){ + if (Integer.parseInt(split[2]) >= Integer.parseInt(gaoLimit[0]) && Integer.parseInt(split[2]) <= Integer.parseInt(gaoLimit[1])){ + return true; + } + } + } + } + } + } + } + return false; + }).collect(Collectors.toList()); + // 瀵绘壘婊¤冻鐞嗚揣鏉′欢鐨勪袱涓湪绠� LocDetl leftLocDetl = null; LocDetl rightLocDetl = null; -- Gitblit v1.9.1