From e9d5cf17813a52fe58a5924999655d01532a6b2b Mon Sep 17 00:00:00 2001 From: yxFwq <1> Date: 星期六, 26 七月 2025 13:22:24 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/handler/WrkMastCrnHandler.java | 163 +++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 113 insertions(+), 50 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/handler/WrkMastCrnHandler.java b/src/main/java/com/zy/asrs/task/handler/WrkMastCrnHandler.java index 25b3e41..ed49f4e 100644 --- a/src/main/java/com/zy/asrs/task/handler/WrkMastCrnHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WrkMastCrnHandler.java @@ -6,10 +6,7 @@ import com.core.common.Cools; import com.core.exception.CoolException; import com.zy.asrs.entity.*; -import com.zy.asrs.service.LocMastService; -import com.zy.asrs.service.WrkMastCrnService; -import com.zy.asrs.service.WrkMastService; -import com.zy.asrs.service.WrkMastStaService; +import com.zy.asrs.service.*; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; import com.zy.asrs.utils.Utils; @@ -23,6 +20,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.Date; +import java.util.List; /** * Created by Monkey D. Luffy on 2023.11.21 @@ -38,7 +36,10 @@ private LocMastService locMastService; @Autowired private WrkMastService wrkMastService; + @Autowired + private RgvOneSignService rgvOneSignService; + @Transactional public ReturnT<String> start(WrkMast wrkMast,WrkMast wrkMastOther) { try { Date now = new Date(); @@ -52,56 +53,118 @@ .eq("loc_sts", "O"); int row1 = locMastService.selectCount(wrapper); int row2 = locMastService.selectCount(wrapperOther); - LocMast locMast1 = null; + List<LocMast> locMastList = null; if (row1>=row2){ - locMast1 = locMastService.selectOne(wrapper.orderBy("lev1", true) + locMastList = locMastService.selectList(wrapper.orderBy("lev1", true) .orderBy("bay1", true)); }else { - locMast1 = locMastService.selectOne(wrapperOther.orderBy("lev1", true) + locMastList = locMastService.selectList(wrapperOther.orderBy("lev1", true) .orderBy("bay1", true)); } - if (Cools.isEmpty(locMast1)){ + if (locMastList.isEmpty()){ return FAIL; } - String[] strings = staNoOther(locMast1.getLocNo()); - if (Cools.isEmpty(strings)){ - return FAIL; - } - wrkMast.setLocNo(strings[0]); - wrkMastOther.setLocNo(strings[1]); + for (LocMast locMast1 : locMastList){ + String[] strings = staNoOther(locMast1.getLocNo()); + if (Cools.isEmpty(strings) || Cools.isEmpty(strings[0]) || Cools.isEmpty(strings[1])){ + continue; + } + wrkMast.setLocNo(strings[0]); + wrkMastOther.setLocNo(strings[1]); - WrkMastCrn wrkMastCrn = new WrkMastCrn(wrkMast,wrkMastOther,now); + WrkMastCrn wrkMastCrn = new WrkMastCrn(wrkMast,wrkMastOther,now); - wrkMastCrnService.insert(wrkMastCrn); - // 鏇存柊鐩爣搴撲綅鐘舵�� - LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); - if (locMast.getLocSts().equals("O")){ - locMast.setLocSts("S"); // S.鍏ュ簱棰勭害 - locMast.setModiTime(now); + // 鏇存柊鐩爣搴撲綅鐘舵�� + LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); + if (locMast.getLocSts().equals("O")){ + locMast.setLocSts("S"); // S.鍏ュ簱棰勭害 + locMast.setModiTime(now); + } else { + continue; + } + + + // 鏇存柊鐩爣搴撲綅鐘舵�� + LocMast locMastOther = locMastService.selectById(wrkMastOther.getLocNo()); + if (locMastOther.getLocSts().equals("O")){ + locMastOther.setLocSts("S"); // S.鍏ュ簱棰勭害 + locMastOther.setModiTime(now); + } else { + continue; + } + if (!locMastService.updateById(locMast)){ - throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�"); + return FAIL; } - } else { - throw new CoolException(locMast1.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤"); - } - wrkMastService.updateById(wrkMast); - - // 鏇存柊鐩爣搴撲綅鐘舵�� - LocMast locMastOther = locMastService.selectById(wrkMastOther.getLocNo()); - if (locMastOther.getLocSts().equals("O")){ - locMastOther.setLocSts("S"); // S.鍏ュ簱棰勭害 - locMastOther.setModiTime(now); if (!locMastService.updateById(locMastOther)){ - throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�"); + return FAIL; } - } else { - throw new CoolException(locMast1.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤"); - } - wrkMastService.updateById(wrkMastOther); + wrkMastService.updateById(wrkMast); + wrkMastService.updateById(wrkMastOther); + wrkMastCrnService.insert(wrkMastCrn); + return SUCCESS; + } + + }catch (Exception e){ + log.error("寮傚父锛侊紒锛�"+e); + return FAIL; + } + return SUCCESS; + } + + public ReturnT<String> start(WrkMast wrkMast,boolean sign) { + try { + Date now = new Date(); + LocTypeDto locTypeDto = new LocTypeDto(); + locTypeDto.setLocType1((short)1); + + String deepLocOther = getDeepLoc2(wrkMast.getSourceLocNo(), Utils.getRow(wrkMast.getSourceLocNo())); + if (Cools.isEmpty(deepLocOther)){ + return FAIL; + } + WrkMast wrkMastOther = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_loc_no", deepLocOther).eq("wrk_sts", 11L)); + if (!Cools.isEmpty(wrkMastOther)){ +// if (!sign) { +// RgvOneSign trunSma = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","TrunSma"+wrkMast.getStaNo())); +// trunSma.setRgvOneSign(trunSma.getRgvOneSign()+1); +// rgvOneSignService.updateById(trunSma); +// } +// if ((wrkMastOther.getIoType()==101 || wrkMastOther.getIoType() == 110) && wrkMastOther.booleanStaNoSign() && wrkMastOther.booleanStaNoSignOther()){ +// if (sign){ +// RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","LineUp"+wrkMastOther.getStaNo())); +// if (Cools.isEmpty(rgvOneSign)){ +// return FAIL; +// } +// RgvOneSign trunSma = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","TrunSma"+wrkMastOther.getStaNo())); +// if (Cools.isEmpty(trunSma)){ +// return FAIL; +// } +// int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMastOther.getStaNo()).eq("wrk_sts",12L)); +// int wrkCountCrn = wrkMastCrnService.selectCount(new EntityWrapper<WrkMastCrn>().eq("sta_no", wrkMastOther.getStaNo())); +// if (wrkCountCrn*2+wrkCount+rgvOneSign.getRgvOneSign()+trunSma.getRgvOneSign()>1){ +// return FAIL; +// } +// int wrkCountGt = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMastOther.getStaNo()).gt("wrk_sts",11L)); +// if (wrkCountGt > 1){ +// return FAIL; +// } +// trunSma.setRgvOneSign(trunSma.getRgvOneSign()+1); +// rgvOneSignService.updateById(trunSma); +// } else { +// RgvOneSign trunSma = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","TrunSma"+wrkMastOther.getStaNo())); +// trunSma.setRgvOneSign(trunSma.getRgvOneSign()+1); +// rgvOneSignService.updateById(trunSma); +// } +// } + WrkMastCrn wrkMastCrn = new WrkMastCrn(wrkMast,wrkMastOther,now); + wrkMastCrnService.insert(wrkMastCrn); + }else { + return FAIL; + } }catch (Exception e){ log.error("寮傚父锛侊紒锛�"+e); return FAIL; @@ -125,18 +188,18 @@ } } - /** - * 鑾峰彇 娴呭簱浣嶅搴旂殑娣卞簱浣嶅彿 - */ - 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; - } - } +// /** +// * 鑾峰彇 娴呭簱浣嶅搴旂殑娣卞簱浣嶅彿 +// */ +// 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; +// } +// } /** * 鑾峰彇 娣卞簱浣嶅搴旂殑娴呭簱浣嶅彿 @@ -147,7 +210,7 @@ } else if (row == 4 || row == 8) { return Utils.zerofill(String.valueOf(row-1), 2) + shallowLoc.substring(2); }else { - return shallowLoc; + return null; } } -- Gitblit v1.9.1