From 1053f15fecff14e486b734d83426fe6f26f9b7cf Mon Sep 17 00:00:00 2001 From: lsh <lsh> Date: 星期一, 20 五月 2024 16:21:44 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 108 insertions(+), 5 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..1b64e5e 100644 --- a/src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java @@ -8,12 +8,11 @@ import com.zy.asrs.entity.LocMast; import com.zy.asrs.entity.StaDesc; import com.zy.asrs.entity.WrkMast; -import com.zy.asrs.service.BasCrnpService; -import com.zy.asrs.service.LocMastService; -import com.zy.asrs.service.StaDescService; -import com.zy.asrs.service.WrkMastService; +import com.zy.asrs.entity.param.EmptyPlateOutParam; +import com.zy.asrs.service.*; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; +import com.zy.asrs.utils.Utils; import com.zy.common.model.enums.WorkNoType; import com.zy.common.service.CommonService; import lombok.extern.slf4j.Slf4j; @@ -44,8 +43,10 @@ private StaDescService staDescService; @Autowired private BasCrnpService basCrnpService; + @Autowired + private WorkService workService; - public ReturnT<String> start(Integer staNo) { + public ReturnT<String> start(Integer staNo) { try { if (!Cools.isEmpty(wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("io_type", 110).eq("sta_no", staNo)))){ return null; @@ -143,4 +144,106 @@ } return SUCCESS; } + + public ReturnT<String> startYx(Integer staNo) { + try { +// if (!Cools.isEmpty(wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("io_type", 110).eq("sta_no", staNo)))){ +// return null; +// } + int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 110).eq("sta_no", staNo)); + if (wrkCount>10){ + return null; + } + ArrayList<Integer> crns =new ArrayList<>(); + crns.add(1); + crns.add(2); + boolean sign = true; + for (Integer crnNo : crns){ + List<String> locNoList = new ArrayList<>(); + + BasCrnp basCrnp = basCrnpService.selectById(crnNo); + if (basCrnp.getCrnSts()!=3 || !basCrnp.getOutEnable().equals("Y")){ + continue; + } + sign = true; + // 鑾峰彇搴撲綅 + LocMast locMastS = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts","D").eq("crn_no",crnNo)); + + if (Cools.isEmpty(locMastS)) { +// throw new CoolException("搴撲腑鏃犵┖鏉匡紒锛侊紒"); + log.error(crnNo+"鍙峰爢鍨涙満鏃犵┖鏉匡紒"); + sign=false; + } + if (sign && !locMastS.getLocSts().equals("D")){ +// throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篋鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$()); + log.error(crnNo+"鍙峰爢鍨涙満"+"鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篋鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMastS.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMastS.getLocSts()+"-"+locMastS.getLocSts$()); + sign=false; + } + locNoList.add(locMastS.getLocNo()); + + //灏忔枡绠变即鐢熷嚭搴� + if (Utils.getRow(locMastS.getLocNo())<=8){ + String locNoOther = staNoOther(locMastS.getLocNo()); + LocMast locMastOther = locMastService.selectById(locNoOther); + if (locMastOther.getLocSts().equals("D")){ + locNoList.add(locNoOther); + } + } + if (sign) { + EmptyPlateOutParam param = new EmptyPlateOutParam(); + param.setOutSite(172); + param.setLocNos(locNoList); + try{ + workService.emptyPlateOut(param, 9999L); + }catch (Exception e){ + log.error("浜屾ゼ灏忔枡绠辫嚜鍔ㄨˉ绌烘澘澶辫触锛侊紒寮傚父鍘熷洜锛�"+e); + } + return SUCCESS; + } + } + if (!sign){ + log.error("鏈煡鍒板彲鍑哄簱鐨勭┖鏉匡紒锛侊紒"); + return null; + } + }catch (Exception e){ + log.error("寮傚父锛侊紒锛�"+e); + return null; + } + return SUCCESS; + } + + public String staNoOther(String locNo){ + int row = Utils.getRow(locNo); + if (row%4==0 || row%4==1){ + return getDeepLoc2(locNo,row); + }else { + return getDeepLoc(locNo,row); + } + } + + /** + * 鑾峰彇 娣卞簱浣嶅搴旂殑娴呭簱浣嶅彿 + */ + public static String getDeepLoc2(String shallowLoc,int row) { + if (row == 1 || row == 5) { + return Utils.zerofill(String.valueOf(row+1), 2) + shallowLoc.substring(2); + } else if (row == 4 || row == 8) { + return Utils.zerofill(String.valueOf(row-1), 2) + shallowLoc.substring(2); + }else { + return null; + } + } + + /** + * 鑾峰彇 娴呭簱浣嶅搴旂殑娣卞簱浣嶅彿 + */ + public static String getDeepLoc(String shallowLoc,int row) { + if (row == 2 || row == 6) { + return Utils.zerofill(String.valueOf(row-1), 2) + shallowLoc.substring(2); + } else if (row == 3 || row == 7) { + return Utils.zerofill(String.valueOf(row+1), 2) + shallowLoc.substring(2); + }else { + return shallowLoc; + } + } } -- Gitblit v1.9.1