From c19cf2f4c2419e403294ebdc025fe90ff7dee74c Mon Sep 17 00:00:00 2001 From: zhangc <zc@123> Date: 星期四, 13 三月 2025 14:28:48 +0800 Subject: [PATCH] 配置信息 --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 137 ++++++++++++++++++++++++++++----------------- 1 files changed, 86 insertions(+), 51 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 ea9cf53..250d305 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -1,27 +1,29 @@ package com.zy.asrs.service.impl; -import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.alibaba.fastjson.JSON; import com.core.common.Cools; import com.core.common.DateUtils; import com.core.exception.CoolException; -import com.zy.asrs.domain.enums.WmsWrkStatusType; -import com.zy.asrs.entity.*; +import com.zy.asrs.entity.LocMast; +import com.zy.asrs.entity.WrkMast; import com.zy.asrs.service.*; +import com.zy.common.utils.HttpHandler; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Date; -import java.util.List; +import java.util.HashMap; import java.util.concurrent.TimeUnit; +@Slf4j @Service public class WorkServiceImpl implements WorkService { @Autowired private WrkMastService wrkMastService; - @Autowired - private WmsWrkService wmsWrkService; @Autowired private LocMastService locMastService; @Autowired @@ -32,20 +34,29 @@ private WrkDetlLogService wrkDetlLogService; @Autowired private WrkDetlService wrkDetlService; + @Autowired + private ApiLogService apiLogService; + @Value("${wms.url}") + private String wmsUrl; + @Value("${wms.inboundTaskApplyPath}") + private String inboundTaskApplyPath; + @Value("${wms.movePath}") + private String movePath; + @Value("${wms.taskStatusFeedbackPath}") + private String taskStatusFeedbackPath; @Override @Transactional public void completeWrkMast(String workNo, Long userId) { WrkMast wrkMast = wrkMastService.selectById(workNo); - WmsWrk wmsWrk = wmsWrkService.selectByWmsWrkNo(wrkMast.getWmsWrkNo()); - if (Cools.isEmpty(wrkMast, wmsWrk)) { - throw new CoolException(workNo + "浠诲姟涓嶅瓨鍦�"); + if (Cools.isEmpty(wrkMast)) { + throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪"); } if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 14) { - throw new CoolException("褰撳墠浠诲姟宸插畬鎴�"); + throw new CoolException("褰撳墠宸ヤ綔妗e凡瀹屾垚"); } // 鍏ュ簱 + 搴撲綅杞Щ - if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()==11)) { + if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType() == 11)) { wrkMast.setWrkSts(4L); // 鍑哄簱 } else if (wrkMast.getWrkSts() > 10) { @@ -58,13 +69,37 @@ wrkMast.setModiUser(userId); // 瀹屾垚鎿嶄綔浜哄憳璁板綍 wrkMast.setManuType("鎵嬪姩瀹屾垚"); + if (!wrkMastService.updateById(wrkMast)) { + throw new CoolException("淇敼宸ヤ綔妗eけ璐�"); + } - wmsWrk.setWmsStatus(WmsWrkStatusType.COMPLETE.id); - wmsWrk.setModiUser(userId); - wmsWrk.setModiTime(now); - wmsWrk.setEndTime(now); - if (!wrkMastService.updateById(wrkMast) || !wmsWrkService.updateById(wmsWrk)) { - throw new CoolException("淇敼浠诲姟澶辫触"); + HashMap<String, Object> headParam = new HashMap<>(); + headParam.put("TaskNo", wrkMast.getTaskNo()); + headParam.put("Result", 0);//瀹屾垚 + + try { + String response; + log.error("wcs鎵嬪姩瀹岀粨浠诲姟涓婃姤wms={}", wrkMast); + + response = new HttpHandler.Builder() + // .setHeaders(headParam) + .setUri(wmsUrl) + .setPath(taskStatusFeedbackPath) + .setJson(JSON.toJSONString(headParam)) + .build() + .doPost(); + apiLogService.save("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms" + , wmsUrl + taskStatusFeedbackPath + , null + , "127.0.0.1" + , JSON.toJSONString(headParam) + , response + , true + ); + } catch (Exception e) { + log.error("wcs鎵嬪姩瀹岀粨浠诲姟涓婃姤wms澶辫触={}", wrkMast); + log.error("wcs鎵嬪姩瀹岀粨浠诲姟涓婃姤wms澶辫触,鎶ラ敊淇℃伅锛�", e); +// throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触"); } } @@ -73,10 +108,6 @@ 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 = ""; // 寰呬慨鏀圭洰鏍囧簱浣嶇姸鎬� @@ -90,9 +121,9 @@ // 搴撲綅杞Щ锛氭簮搴撲綅 LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); if (Cools.isEmpty(locMast)) { - throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛屾簮搴撲綅涓嶅瓨鍦�:"+ wrkMast.getSourceLocNo()); + throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛屾簮搴撲綅涓嶅瓨鍦�:" + wrkMast.getSourceLocNo()); } - locMast.setLocSts(wrkMast.getFullPlt().equalsIgnoreCase("N")?"D":"F"); + locMast.setLocSts(wrkMast.getFullPlt().equalsIgnoreCase("N") ? "D" : "F"); locMast.setModiTime(now); locMast.setModiUser(userId); locMastService.updateById(locMast); @@ -108,11 +139,11 @@ locSts = "D"; // 搴撲綅杞Щ ===>> D.绌烘《/绌烘爤鏉� } else if (wrkMast.getIoType() == 11) { - locSts = wrkMast.getFullPlt().equalsIgnoreCase("N")?"D":"F"; + locSts = wrkMast.getFullPlt().equalsIgnoreCase("N") ? "D" : "F"; // 搴撲綅杞Щ锛氱洰鏍囧簱浣� LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); if (Cools.isEmpty(locMast)) { - throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛岀洰鏍囧簱浣嶄笉瀛樺湪:"+ wrkMast.getSourceLocNo()); + throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛岀洰鏍囧簱浣嶄笉瀛樺湪:" + wrkMast.getSourceLocNo()); } locMast.setLocSts("O"); locMast.setModiTime(now); @@ -122,22 +153,6 @@ } 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); @@ -145,26 +160,18 @@ if (!wrkMastService.updateById(wrkMast)) { throw new CoolException("鍙栨秷浠诲姟澶辫触"); } - - wmsWrk.setWmsStatus(WmsWrkStatusType.CANCEL.id); - wmsWrk.setModiUser(userId); - wmsWrk.setModiTime(now); - wmsWrk.setEndTime(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); + throw new CoolException("鍙栨秷浠诲姟澶辫触锛屽簱浣嶄笉瀛樺湪:" + locNo); } locMast.setLocSts(locSts); locMast.setModiTime(now); @@ -173,5 +180,33 @@ if (!wrkMastRes || !locMastRes) { throw new CoolException("淇濆瓨鏁版嵁澶辫触"); } + HashMap<String, Object> headParam = new HashMap<>(); + headParam.put("TaskNo", wrkMast.getTaskNo()); + headParam.put("Result", 1);//鍙栨秷 + + try { + String response; + log.error("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms={}", wrkMast); + + response = new HttpHandler.Builder() + // .setHeaders(headParam) + .setUri(wmsUrl) + .setPath(taskStatusFeedbackPath) + .setJson(JSON.toJSONString(headParam)) + .build() + .doPost(); + apiLogService.save("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms" + , wmsUrl + taskStatusFeedbackPath + , null + , "127.0.0.1" + , JSON.toJSONString(headParam) + , response + , true + ); + } catch (Exception e) { + log.error("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms澶辫触={}", wrkMast); + log.error("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms澶辫触,鎶ラ敊淇℃伅锛�", e); +// throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触"); + } } } -- Gitblit v1.9.1