From a3a66aa959151e91f57be097b83f2a2715b502f5 Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期一, 31 三月 2025 13:11:36 +0800 Subject: [PATCH] 定时任务增加同步锁 --- src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java | 40 +++++++++++++++++++++++++++++++++++++--- 1 files changed, 37 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java b/src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java index 4b9c022..e73f080 100644 --- a/src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java @@ -45,6 +45,14 @@ @Autowired private BasCrnpService basCrnpService; + public static final List<Integer> rows1 = new ArrayList<Integer>() {{ + add(1);add(5);add(9);add(13);add(17);add(21); + }}; + + public static final List<Integer> rows2 = new ArrayList<Integer>() {{ + add(4);add(8);add(12);add(16);add(20);add(24); + }}; + public ReturnT<String> start(Integer staNo) { try { if (!Cools.isEmpty(wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("io_type", 110).eq("sta_no", staNo)))){ @@ -72,11 +80,30 @@ sign = true; // 鑾峰彇搴撲綅 LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts","D").eq("crn_no",crnNo)); - if (Cools.isEmpty(locMast)) { // throw new CoolException("搴撲腑鏃犵┖鏉匡紒锛侊紒"); sign=false; } + if (sign){ + if (rows1.contains(locMast.getRow1())){ + LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", "D").eq("row1", locMast.getRow1() + 1) + .eq("bay1", locMast.getBay1()).eq("lev1", locMast.getLev1())); + if (!Cools.isEmpty(locMast1)) { + locMast = locMast1; + } + }else if (rows2.contains(locMast.getRow1())){ + LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", "D").eq("row1", locMast.getRow1() - 1) + .eq("bay1", locMast.getBay1()).eq("lev1", locMast.getLev1())); + if (!Cools.isEmpty(locMast1)) { + locMast = locMast1; + } + } + } + if (sign && Cools.isEmpty(locMast)) { +// throw new CoolException("搴撲腑鏃犵┖鏉匡紒锛侊紒"); + sign=false; + } + if (sign && !locMast.getLocSts().equals("D")){ // throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篋鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$()); sign=false; @@ -88,11 +115,18 @@ .eq("stn_no", staNo) .eq("crn_no", locMast.getCrnNo()); StaDesc staDesc = staDescService.selectOne(wrapper); - Integer sourceStaNo = staDesc.getCrnStn(); - if (Cools.isEmpty(sourceStaNo)) { + if (Cools.isEmpty(staDesc)) { // throw new CoolException("妫�绱㈡簮绔欏け璐�"); sign = false; } + Integer sourceStaNo = null; + if (sign){ + sourceStaNo = staDesc.getCrnStn(); + if (Cools.isEmpty(sourceStaNo)) { +// throw new CoolException("妫�绱㈡簮绔欏け璐�"); + sign = false; + } + } if (sign){ Date now = new Date(); // 淇濆瓨宸ヤ綔妗� -- Gitblit v1.9.1