From a68bf17ab81df98882e19b79628e6876bb260468 Mon Sep 17 00:00:00 2001 From: zc <zc@123> Date: 星期三, 18 六月 2025 10:04:26 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/fyxc_shuttle_wcs' into fyxc_shuttle_wcs --- src/main/java/com/zy/common/service/CommonService.java | 77 ++++++++++++++++++++++++++++++-------- 1 files changed, 60 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index 42cc7bb..b1caae1 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -1,10 +1,16 @@ package com.zy.common.service; +import com.baomidou.mybatisplus.mapper.EntityWrapper; 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.asrs.entity.LocMast; +import com.zy.asrs.entity.WrkLastno; +import com.zy.asrs.entity.WrkMast; +import com.zy.asrs.service.LocMastService; +import com.zy.asrs.service.WrkLastnoService; +import com.zy.asrs.service.WrkMastLogService; +import com.zy.asrs.service.WrkMastService; import com.zy.core.News; import com.zy.core.enums.WrkIoType; import com.zy.core.enums.WrkStsType; @@ -40,17 +46,17 @@ int workNo = wrkLastno.getWrkNo(); int sNo = wrkLastno.getSNo(); int eNo = wrkLastno.getENo(); - workNo = workNo>=eNo ? sNo : workNo+1; + workNo = workNo >= eNo ? sNo : workNo + 1; while (true) { WrkMast wrkMast = wrkMastService.selectByWorkNo(workNo); if (null != wrkMast) { - workNo = workNo>=eNo ? sNo : workNo+1; + workNo = workNo >= eNo ? sNo : workNo + 1; } else { break; } } // 淇敼搴忓彿璁板綍 - if (workNo > 0){ + if (workNo > 0) { wrkLastno.setWrkNo(workNo); wrkLastnoService.updateById(wrkLastno); } @@ -58,7 +64,7 @@ if (workNo == 0) { throw new CoolException("鐢熸垚宸ヤ綔鍙峰け璐ワ紝璇疯仈绯荤鐞嗗憳"); } else { - if (wrkMastService.selectByWorkNo(workNo)!=null) { + if (wrkMastService.selectByWorkNo(workNo) != null) { throw new CoolException("鐢熸垚宸ヤ綔鍙�" + workNo + "鍦ㄥ伐浣滄。涓凡瀛樺湪"); } } @@ -72,7 +78,7 @@ return msg.substring(0, 16); } else { StringBuilder msgBuilder = new StringBuilder(msg); - for(int i = 0; i < count - msg.length(); ++i) { + for (int i = 0; i < count - msg.length(); ++i) { msgBuilder.insert(0, "0"); } return msgBuilder.toString(); @@ -88,12 +94,14 @@ if (wrkMast.getIoType() == WrkIoType.IN.id) { wrkMast.setWrkSts(WrkStsType.COMPLETE_INBOUND.sts); - }else if (wrkMast.getIoType() == WrkIoType.OUT.id) { + } 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()); @@ -108,22 +116,32 @@ throw new CoolException("浠诲姟涓嶅瓨鍦�"); } - wrkMastLogService.save(wrkNo); - wrkMastService.deleteById(wrkNo); + wrkMast.setMk("taskCancel"); + wrkMast.setModiTime(new Date()); + wrkMastService.updateById(wrkMast); return true; } //绉诲簱浠诲姟 public boolean createLocMoveTask(CreateLocMoveTaskParam param) { Date now = new Date(); - LocMast locMast = locMastService.queryByLoc(param.getSourceLocNo()); - if (null == locMast) { + LocMast sourceLocMast = locMastService.queryByLoc(param.getSourceLocNo()); + if (null == sourceLocMast) { throw new CoolException("婧愬簱浣嶄笉瀛樺湪"); } - if (!locMast.getLocSts().equals("F")) { - 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); @@ -145,11 +163,19 @@ 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) { + public synchronized boolean createInTask(CreateInTaskParam param) { Date now = new Date(); LocMast locMast = locMastService.queryByLoc(param.getLocNo()); if (null == locMast) { @@ -158,6 +184,10 @@ if (!locMast.getLocSts().equals("O")) { throw new CoolException("鐩爣搴撲綅涓嶅浜庣┖搴撶姸鎬�"); + } + WrkMast wms_wrk_no = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wms_wrk_no", param.getTaskNo())); + if (wms_wrk_no!=null){ + throw new CoolException("宸ヤ綔褰撳凡缁忓瓨鍦�"); } // 鑾峰彇宸ヤ綔鍙� @@ -173,19 +203,25 @@ wrkMast.setSourceStaNo(param.getSourceStaNo());//婧愮珯 wrkMast.setStaNo(param.getStaNo());//鐩爣绔� wrkMast.setWmsWrkNo(param.getTaskNo()); + wrkMast.setBarcode(param.getBarcode()); wrkMast.setAppeTime(now); wrkMast.setModiTime(now); + wrkMast.setWmsWrkNo2(param.getTaskNo2()); 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) { + public synchronized boolean createOutTask(CreateOutTaskParam param) { Date now = new Date(); LocMast locMast = locMastService.queryByLoc(param.getSourceLocNo()); if (null == locMast) { @@ -195,7 +231,10 @@ if (!locMast.getLocSts().equals("F")) { throw new CoolException("婧愬簱浣嶄笉澶勪簬鍦ㄥ簱鐘舵��"); } - + WrkMast wms_wrk_no = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wms_wrk_no", param.getTaskNo())); + if (wms_wrk_no!=null){ + throw new CoolException("宸ヤ綔褰撳凡缁忓瓨鍦�"); + } // 鑾峰彇宸ヤ綔鍙� int workNo = getWorkNo(WrkIoType.OUT.id); // 淇濆瓨宸ヤ綔妗� @@ -216,6 +255,10 @@ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); } + locMast.setLocSts("R"); + locMast.setModiTime(new Date()); + locMastService.updateById(locMast); + return true; } -- Gitblit v1.9.1