From ed265ddfb8f08f69af064a9adf65fcbf06289ffe Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期二, 11 二月 2025 14:07:54 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/service/CommonService.java | 182 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 180 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index 246a478..c9df23c 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -2,11 +2,17 @@ import com.core.common.Cools; import com.core.exception.CoolException; +import com.zy.asrs.domain.param.*; import com.zy.asrs.entity.*; import com.zy.asrs.service.*; +import com.zy.core.News; +import com.zy.core.enums.WrkIoType; +import com.zy.core.enums.WrkStsType; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + +import java.util.Date; @Slf4j @Service @@ -15,7 +21,11 @@ @Autowired private WrkMastService wrkMastService; @Autowired + private WrkMastLogService wrkMastLogService; + @Autowired private WrkLastnoService wrkLastnoService; + @Autowired + private LocMastService locMastService; /** * 鐢熸垚宸ヤ綔鍙� @@ -32,7 +42,7 @@ int eNo = wrkLastno.getENo(); workNo = workNo>=eNo ? sNo : workNo+1; while (true) { - WrkMast wrkMast = wrkMastService.selectById(workNo); + WrkMast wrkMast = wrkMastService.selectByWorkNo(workNo); if (null != wrkMast) { workNo = workNo>=eNo ? sNo : workNo+1; } else { @@ -48,7 +58,7 @@ if (workNo == 0) { throw new CoolException("鐢熸垚宸ヤ綔鍙峰け璐ワ紝璇疯仈绯荤鐞嗗憳"); } else { - if (wrkMastService.selectById(workNo)!=null) { + if (wrkMastService.selectByWorkNo(workNo)!=null) { throw new CoolException("鐢熸垚宸ヤ綔鍙�" + workNo + "鍦ㄥ伐浣滄。涓凡瀛樺湪"); } } @@ -69,4 +79,172 @@ } } + public boolean completeTask(CompleteTaskParam param) { + Integer wrkNo = param.getWrkNo(); + WrkMast wrkMast = wrkMastService.selectByWorkNo(wrkNo); + if (null == wrkMast) { + throw new CoolException("浠诲姟涓嶅瓨鍦�"); + } + + if (wrkMast.getIoType() == WrkIoType.IN.id) { + wrkMast.setWrkSts(WrkStsType.COMPLETE_INBOUND.sts); + }else if (wrkMast.getIoType() == WrkIoType.OUT.id) { + wrkMast.setWrkSts(WrkStsType.COMPLETE_OUTBOUND.sts); + } else if (wrkMast.getIoType() == WrkIoType.SHUTTLE_MOVE.id) { + wrkMast.setWrkSts(WrkStsType.COMPLETE_MOVE.sts); + } else if (wrkMast.getIoType() == WrkIoType.SHUTTLE_CHARGE.id) { + wrkMast.setWrkSts(WrkStsType.COMPLETE_CHARGE.sts); + } else if (wrkMast.getIoType() == WrkIoType.LOC_MOVE.id) { + wrkMast.setWrkSts(WrkStsType.COMPLETE_LOC_MOVE.sts); + } + + wrkMast.setModiTime(new Date()); + wrkMastService.updateById(wrkMast); + return true; + } + + public boolean cancelTask(CancelTaskParam param) { + Integer wrkNo = param.getWrkNo(); + WrkMast wrkMast = wrkMastService.selectByWorkNo(wrkNo); + if (null == wrkMast) { + throw new CoolException("浠诲姟涓嶅瓨鍦�"); + } + + wrkMast.setMk("taskCancel"); + wrkMast.setModiTime(new Date()); + wrkMastService.updateById(wrkMast); + return true; + } + + //绉诲簱浠诲姟 + public boolean createLocMoveTask(CreateLocMoveTaskParam param) { + Date now = new Date(); + LocMast sourceLocMast = locMastService.queryByLoc(param.getSourceLocNo()); + if (null == sourceLocMast) { + throw new CoolException("婧愬簱浣嶄笉瀛樺湪"); + } + + if (!sourceLocMast.getLocSts().equals("F")) { + throw new CoolException("婧愬簱浣嶄笉澶勪簬鍦ㄥ簱鐘舵��"); + } + + LocMast locMast = locMastService.queryByLoc(param.getLocNo()); + if (null == locMast) { + throw new CoolException("鐩爣搴撲綅涓嶅瓨鍦�"); + } + + if (!locMast.getLocSts().equals("O")) { + throw new CoolException("鐩爣搴撲綅涓嶅浜庣┖搴撶姸鎬�"); + } + + // 鑾峰彇宸ヤ綔鍙� + int workNo = getWorkNo(WrkIoType.LOC_MOVE.id); + // 淇濆瓨宸ヤ綔妗� + WrkMast wrkMast = new WrkMast(); + wrkMast.setWrkNo(workNo); + wrkMast.setIoTime(now); + wrkMast.setWrkSts(WrkStsType.NEW_LOC_MOVE.sts); // 宸ヤ綔鐘舵�侊細501.鐢熸垚绉诲簱浠诲姟 + wrkMast.setIoType(WrkIoType.LOC_MOVE.id); // 鍏ュ嚭搴撶姸鎬侊細 201.绉诲簱浠诲姟 + wrkMast.setIoPri(800D); + wrkMast.setSourceLocNo(param.getSourceLocNo()); + wrkMast.setLocNo(param.getLocNo()); // 鐩爣搴撲綅 + wrkMast.setWmsWrkNo(param.getTaskNo()); + wrkMast.setAppeTime(now); + wrkMast.setModiTime(now); + boolean res = wrkMastService.insert(wrkMast); + if (!res) { + News.error("绉诲簱浠诲姟 --- 淇濆瓨宸ヤ綔妗eけ璐ワ紒"); + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + + sourceLocMast.setLocSts("R"); + sourceLocMast.setModiTime(new Date()); + locMastService.updateById(sourceLocMast); + + locMast.setLocSts("S"); + locMast.setModiTime(new Date()); + locMastService.updateById(locMast); + + return true; + } + + //鍏ュ簱浠诲姟 + public boolean createInTask(CreateInTaskParam param) { + Date now = new Date(); + LocMast locMast = locMastService.queryByLoc(param.getLocNo()); + if (null == locMast) { + throw new CoolException("鐩爣搴撲綅涓嶅瓨鍦�"); + } + + if (!locMast.getLocSts().equals("O")) { + throw new CoolException("鐩爣搴撲綅涓嶅浜庣┖搴撶姸鎬�"); + } + + // 鑾峰彇宸ヤ綔鍙� + int workNo = getWorkNo(WrkIoType.IN.id); + // 淇濆瓨宸ヤ綔妗� + WrkMast wrkMast = new WrkMast(); + wrkMast.setWrkNo(workNo); + wrkMast.setIoTime(now); + wrkMast.setWrkSts(WrkStsType.NEW_INBOUND.sts); // 宸ヤ綔鐘舵�侊細1.鐢熸垚鍏ュ簱浠诲姟 + wrkMast.setIoType(WrkIoType.IN.id); // 鍏ュ嚭搴撶姸鎬侊細 1.鍏ュ簱 + wrkMast.setIoPri(100D); + wrkMast.setLocNo(param.getLocNo()); // 鐩爣搴撲綅 + wrkMast.setSourceStaNo(param.getSourceStaNo());//婧愮珯 + wrkMast.setStaNo(param.getStaNo());//鐩爣绔� + wrkMast.setWmsWrkNo(param.getTaskNo()); + wrkMast.setAppeTime(now); + wrkMast.setModiTime(now); + boolean res = wrkMastService.insert(wrkMast); + if (!res) { + News.error("鍏ュ簱浠诲姟 --- 淇濆瓨宸ヤ綔妗eけ璐ワ紒"); + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + + locMast.setLocSts("S"); + locMast.setModiTime(new Date()); + locMastService.updateById(locMast); + + return true; + } + + //鍑哄簱浠诲姟 + public boolean createOutTask(CreateOutTaskParam param) { + Date now = new Date(); + LocMast locMast = locMastService.queryByLoc(param.getSourceLocNo()); + if (null == locMast) { + throw new CoolException("婧愬簱浣嶄笉瀛樺湪"); + } + + if (!locMast.getLocSts().equals("F")) { + throw new CoolException("婧愬簱浣嶄笉澶勪簬鍦ㄥ簱鐘舵��"); + } + + // 鑾峰彇宸ヤ綔鍙� + int workNo = getWorkNo(WrkIoType.OUT.id); + // 淇濆瓨宸ヤ綔妗� + WrkMast wrkMast = new WrkMast(); + wrkMast.setWrkNo(workNo); + wrkMast.setIoTime(now); + wrkMast.setWrkSts(WrkStsType.NEW_OUTBOUND.sts); // 宸ヤ綔鐘舵�侊細101.鐢熸垚鍑哄簱浠诲姟 + wrkMast.setIoType(WrkIoType.OUT.id); // 鍏ュ嚭搴撶姸鎬侊細 101.鍑哄簱 + wrkMast.setIoPri(100D); + wrkMast.setSourceLocNo(param.getSourceLocNo()); // 婧愬簱浣� + wrkMast.setStaNo(param.getStaNo());//鐩爣绔� + wrkMast.setWmsWrkNo(param.getTaskNo()); + wrkMast.setAppeTime(now); + wrkMast.setModiTime(now); + boolean res = wrkMastService.insert(wrkMast); + if (!res) { + News.error("鍑哄簱浠诲姟 --- 淇濆瓨宸ヤ綔妗eけ璐ワ紒"); + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + + locMast.setLocSts("R"); + locMast.setModiTime(new Date()); + locMastService.updateById(locMast); + + return true; + } + } -- Gitblit v1.9.1