From 72c06d5800d3a99dbd7002a6946be749d9264b15 Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期四, 26 六月 2025 10:44:26 +0800 Subject: [PATCH] 1 --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 262 +++++++++++++++++++++++++--------------------------- 1 files changed, 125 insertions(+), 137 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java index e07050c..e1d0fff 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -1,165 +1,153 @@ package com.zy.asrs.service.impl; +import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.exception.CoolException; +import com.zy.asrs.entity.LocMast; +import com.zy.asrs.entity.WrkMast; import com.zy.asrs.service.*; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.Date; +import java.util.HashMap; +import java.util.concurrent.TimeUnit; + +@Slf4j @Service public class WorkServiceImpl implements WorkService { @Autowired private WrkMastService wrkMastService; + @Autowired private LocMastService locMastService; - @Autowired - private WaitPakinService waitPakinService; + @Autowired private WrkMastLogService wrkMastLogService; + @Autowired - private WrkDetlLogService wrkDetlLogService; - @Autowired - private WrkDetlService wrkDetlService; + private ToWmsService toWmsService; + @Override @Transactional public void completeWrkMast(String workNo, Long userId) { -// WrkMast wrkMast = wrkMastService.selectById(workNo); -// WmsWrk wmsWrk = wmsWrkService.selectByTaskNo(wrkMast.getWmsWrkNo()); -// if (Cools.isEmpty(wrkMast, wmsWrk)) { -// throw new CoolException(workNo + "浠诲姟涓嶅瓨鍦�"); -// } -// if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 14) { -// throw new CoolException("褰撳墠浠诲姟宸插畬鎴�"); -// } -// // 鍏ュ簱 + 搴撲綅杞Щ -// if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()==11)) { -// wrkMast.setWrkSts(4L); -// // 鍑哄簱 -// } else if (wrkMast.getWrkSts() > 10) { -// wrkMast.setWrkSts(14L); -// } -// Date now = new Date(); -// wrkMast.setCrnStrTime(DateUtils.calculate(now, 1L, TimeUnit.SECONDS, true)); -// wrkMast.setCrnEndTime(now); -// wrkMast.setModiTime(now); -// wrkMast.setModiUser(userId); -// // 瀹屾垚鎿嶄綔浜哄憳璁板綍 -// wrkMast.setManuType("鎵嬪姩瀹屾垚"); -// -// wmsWrk.setStatus(WmsStatusType.COMPLETE.id); -// wmsWrk.setModiUser(userId); -// wmsWrk.setModiTime(now); -// wmsWrk.setCompleteTime(now); -// if (!wrkMastService.updateById(wrkMast) || !wmsWrkService.updateById(wmsWrk)) { -// throw new CoolException("淇敼浠诲姟澶辫触"); -// } + WrkMast wrkMast = wrkMastService.selectById(workNo); + if (Cools.isEmpty(wrkMast)) { + throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪"); + } + if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 14) { + throw new CoolException("褰撳墠宸ヤ綔妗e凡瀹屾垚"); + } + // 鍏ュ簱 + 搴撲綅杞Щ + if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType() == 11)) { + wrkMast.setWrkSts(4L); + // 鍑哄簱 + } else if (wrkMast.getWrkSts() > 10) { + wrkMast.setWrkSts(14L); + } + Date now = new Date(); + wrkMast.setCrnStrTime(DateUtils.calculate(now, 1L, TimeUnit.SECONDS, true)); + wrkMast.setCrnEndTime(now); + wrkMast.setModiTime(now); + wrkMast.setModiUser(userId); + // 瀹屾垚鎿嶄綔浜哄憳璁板綍 + wrkMast.setManuType("鎵嬪姩瀹屾垚"); + if (!wrkMastService.updateById(wrkMast)) { + throw new CoolException("淇敼宸ヤ綔妗eけ璐�"); + } + + HashMap<String, Object> headParam = new HashMap<>(); + headParam.put("TaskNo", wrkMast.getTaskNo()); + headParam.put("Result", 0);//瀹屾垚 + toWmsService.addReportLog(wrkMast); + } @Override @Transactional public void cancelWrkMast(String workNo, Long userId) { -// Date now = new Date(); -// WrkMast wrkMast = wrkMastService.selectById(workNo); -// WmsWrk wmsWrk = wmsWrkService.selectByWmsWrkNo(wrkMast.getWmsWrkNo()); -// if (Cools.isEmpty(wrkMast, wmsWrk)) { -// throw new CoolException(workNo + "浠诲姟涓嶅瓨鍦�"); -// } -// -// String locNo = ""; // 寰呬慨鏀圭洰鏍囧簱浣� -// String locSts = ""; // 寰呬慨鏀圭洰鏍囧簱浣嶇姸鎬� -// // 鍏ュ簱鍙栨秷锛堜慨鏀圭洰鏍囧簱浣嶏級 -// if (wrkMast.getWrkSts() < 4) { -// locNo = wrkMast.getLocNo(); -// locSts = "O"; -// -// // 搴撲綅杞Щ -// if (wrkMast.getIoType() == 11) { -// // 搴撲綅杞Щ锛氭簮搴撲綅 -// LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); -// if (Cools.isEmpty(locMast)) { -// throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛屾簮搴撲綅涓嶅瓨鍦�:"+ wrkMast.getSourceLocNo()); -// } -// locMast.setLocSts(wrkMast.getFullPlt().equalsIgnoreCase("N")?"D":"F"); -// locMast.setModiTime(now); -// locMast.setModiUser(userId); -// locMastService.updateById(locMast); -// } -// // 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛� -// } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14) { -// locNo = wrkMast.getSourceLocNo(); -// // 鍑哄簱 ===>> F.鍦ㄥ簱 -// if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) { -// locSts = "F"; -// // 绌烘澘鍑哄簱 ===>> D.绌烘《/绌烘爤鏉� -// } else if (wrkMast.getIoType() == 110) { -// locSts = "D"; -// // 搴撲綅杞Щ ===>> D.绌烘《/绌烘爤鏉� -// } else if (wrkMast.getIoType() == 11) { -// locSts = wrkMast.getFullPlt().equalsIgnoreCase("N")?"D":"F"; -// // 搴撲綅杞Щ锛氱洰鏍囧簱浣� -// LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); -// if (Cools.isEmpty(locMast)) { -// throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛岀洰鏍囧簱浣嶄笉瀛樺湪:"+ wrkMast.getSourceLocNo()); -// } -// locMast.setLocSts("O"); -// locMast.setModiTime(now); -// locMast.setModiUser(userId); -// locMastService.updateById(locMast); -// } -// } else { -// throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�"); -// } -// -// //鍙栨秷鍏ュ簱宸ヤ綔妗f椂锛屾煡璇㈢粍鎵樿〃锛屽鏋滄湁灏嗙姸鎬佹敼涓哄緟澶勭悊 -// if(wrkMast.getIoType() == 1) { -// List<WaitPakin> waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode())); -// for (WaitPakin waitPakin:waitPakins){ -// if (!Cools.isEmpty(waitPakin)) { -// waitPakin.setIoStatus("N"); -// waitPakin.setLocNo(""); -// waitPakinService.update(waitPakin, new EntityWrapper<WaitPakin>() -// .eq("order_no", waitPakin.getOrderNo()) -// .eq("matnr", waitPakin.getMatnr()) -// .eq("batch", waitPakin.getBatch())); -// } -// } -// } -// -// // 鍙栨秷鎿嶄綔浜哄憳璁板綍 -// wrkMast.setManuType("鎵嬪姩鍙栨秷"); -// wrkMast.setModiUser(userId); -// wrkMast.setModiTime(now); -// if (!wrkMastService.updateById(wrkMast)) { -// throw new CoolException("鍙栨秷浠诲姟澶辫触"); -// } -// -// wmsWrk.setStatus(WmsStatusType.CANCEL.id); -// wmsWrk.setModiUser(userId); -// wmsWrk.setModiTime(now); -// wmsWrk.setCancelTime(now); -// if (!wmsWrkService.updateById(wmsWrk)) { -// throw new CoolException("鍙栨秷浠诲姟澶辫触"); -// } -// -// // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗� -// if (!wrkMastLogService.save(wrkMast.getWrkNo())) { -// throw new CoolException("淇濆瓨浠诲姟鍘嗗彶妗eけ璐�, workNo = " + wrkMast.getWrkNo()); -// } -// // 鍒犻櫎宸ヤ綔涓绘。 -// boolean wrkMastRes = wrkMastService.deleteById(wrkMast); -// -// // 淇敼搴撲綅鐘舵�� -// LocMast locMast = locMastService.selectById(locNo); -// if (Cools.isEmpty(locMast)) { -// throw new CoolException("鍙栨秷浠诲姟澶辫触锛屽簱浣嶄笉瀛樺湪:"+ locNo); -// } -// locMast.setLocSts(locSts); -// locMast.setModiTime(now); -// locMast.setModiUser(userId); -// boolean locMastRes = locMastService.updateById(locMast); -// if (!wrkMastRes || !locMastRes) { -// throw new CoolException("淇濆瓨鏁版嵁澶辫触"); -// } + Date now = new Date(); + WrkMast wrkMast = wrkMastService.selectById(workNo); + + String locNo = ""; // 寰呬慨鏀圭洰鏍囧簱浣� + String locSts = ""; // 寰呬慨鏀圭洰鏍囧簱浣嶇姸鎬� + // 鍏ュ簱鍙栨秷锛堜慨鏀圭洰鏍囧簱浣嶏級 + if (wrkMast.getWrkSts() < 4) { + locNo = wrkMast.getLocNo(); + locSts = "O"; + + // 搴撲綅杞Щ + if (wrkMast.getIoType() == 11) { + // 搴撲綅杞Щ锛氭簮搴撲綅 + LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); + if (Cools.isEmpty(locMast)) { + throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛屾簮搴撲綅涓嶅瓨鍦�:" + wrkMast.getSourceLocNo()); + } + locMast.setLocSts(wrkMast.getFullPlt().equalsIgnoreCase("N") ? "D" : "F"); + locMast.setModiTime(now); + locMast.setModiUser(userId); + locMastService.updateById(locMast); + } + // 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛� + } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14) { + locNo = wrkMast.getSourceLocNo(); + // 鍑哄簱 ===>> F.鍦ㄥ簱 + if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) { + locSts = "F"; + // 绌烘澘鍑哄簱 ===>> D.绌烘《/绌烘爤鏉� + } else if (wrkMast.getIoType() == 110) { + locSts = "D"; + // 搴撲綅杞Щ ===>> D.绌烘《/绌烘爤鏉� + } else if (wrkMast.getIoType() == 11) { + locSts = "F"; + // 搴撲綅杞Щ锛氱洰鏍囧簱浣� + LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); + if (Cools.isEmpty(locMast)) { + throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛岀洰鏍囧簱浣嶄笉瀛樺湪:" + wrkMast.getSourceLocNo()); + } + locMast.setLocSts("O"); + locMast.setModiTime(now); + locMast.setModiUser(userId); + locMastService.updateById(locMast); + } + } else { + throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�"); + } + // 鍙栨秷鎿嶄綔浜哄憳璁板綍 + wrkMast.setManuType("鎵嬪姩鍙栨秷"); + wrkMast.setModiUser(userId); + wrkMast.setModiTime(now); + if (!wrkMastService.updateById(wrkMast)) { + throw new CoolException("鍙栨秷浠诲姟澶辫触"); + } + // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗� + if (!wrkMastLogService.save(wrkMast.getWrkNo())) { + throw new CoolException("淇濆瓨浠诲姟鍘嗗彶妗eけ璐�, workNo = " + wrkMast.getWrkNo()); + } + + // 鍒犻櫎宸ヤ綔涓绘。 + boolean wrkMastRes = wrkMastService.deleteById(wrkMast); + + // 淇敼搴撲綅鐘舵�� + LocMast locMast = locMastService.selectById(locNo); + if (Cools.isEmpty(locMast)) { + throw new CoolException("鍙栨秷浠诲姟澶辫触锛屽簱浣嶄笉瀛樺湪:" + locNo); + } + locMast.setLocSts(locSts); + locMast.setModiTime(now); + locMast.setModiUser(userId); + boolean locMastRes = locMastService.updateById(locMast); + if (!wrkMastRes || !locMastRes) { + throw new CoolException("淇濆瓨鏁版嵁澶辫触"); + } + HashMap<String, Object> headParam = new HashMap<>(); + headParam.put("TaskNo", wrkMast.getTaskNo()); + headParam.put("Result", 1);//鍙栨秷 + toWmsService.addReportLog(wrkMast); + } } -- Gitblit v1.9.1