From e0ce49ec06c62ff404e97c79669feb24d7a1fa49 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 05 九月 2025 14:27:43 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 312 ++++++++++++++++++++++++++++-----------------------
1 files changed, 173 insertions(+), 139 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..e36f948 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,28 @@
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,146 +33,179 @@
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 (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.setWmsStatus(WmsWrkStatusType.COMPLETE.id);
- wmsWrk.setModiUser(userId);
- wmsWrk.setModiTime(now);
- wmsWrk.setEndTime(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);//瀹屾垚
+//
+// 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澶辫触");
+// }
}
@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.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);
- }
- 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 = 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("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�");
+// }
+// // 鍙栨秷鎿嶄綔浜哄憳璁板綍
+// 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);//鍙栨秷
+//
+// 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