From fc429d289d311225fcd8dc288fb882bb7087a726 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期三, 30 四月 2025 15:12:31 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/controller/OpenController.java | 234 +++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 150 insertions(+), 84 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index a1f22f7..1708c2e 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -68,6 +68,8 @@
private CommonService commonService;
@Autowired
private NotifyUtils notifyUtils;
+ @Autowired
+ private BasDevpService basDevpService;
private static final boolean auth = true;
@@ -92,64 +94,71 @@
@PostMapping("/taskCreate")
@Transactional
public R taskCreate(@RequestHeader String appkey,
- @RequestBody List<TaskCreateParam> param1,
+ @RequestBody TaskCreateParam param,
HttpServletRequest request) {
- auth(appkey, param1, request);
+ auth(appkey, param, request);
+
+ R result = null;
try{
- List<TaskCreateParam> paramList = new ArrayList<>();
- List<String> locNoList = new ArrayList<>();
- for (TaskCreateParam param : param1) {
- if (Cools.isEmpty(param)) {
- return R.parse(BaseRes.PARAM);
- }
- if (Cools.isEmpty(param.getTaskNo())) {
- return R.error("浠诲姟鍙穂taskNo]涓嶈兘涓虹┖");
- }
- if (Cools.isEmpty(param.getIoType())) {
- return R.error("浠诲姟绫诲瀷[ioType]涓嶈兘涓虹┖");
- }
- if (Cools.isEmpty(param.getBarcode())) {
- return R.error("鏉$爜[barcode]涓嶈兘涓虹┖");
- }
- String locNo=null;
- if (param.getIoType() == 1) {
- locNo = param.getTargetPoint();
- } else {
- locNo = param.getStartPoint();
- }
- try {
- LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
- .eq("loc_no", locNo).ne("loc_sts", "X"));
- if (Cools.isEmpty(locMast)) {
- log.error("搴撲綅鍙蜂笉瀛樺湪" + locNo);
- return R.error("搴撲綅鍙蜂笉瀛樺湪" + locNo).add("搴撲綅鍙蜂笉瀛樺湪" + locNo);
- }
- } catch (Exception e) {
- log.error("搴撲綅鍙锋娴嬬▼搴忓紓甯�==銆嬪紓甯镐俊鎭�" + e);
- return R.error("搴撲綅鍙锋娴嬬▼搴忓紓甯�").add("搴撲綅鍙锋娴嬬▼搴忓紓甯�==銆嬪紓甯镐俊鎭�" + e);
- }
+ if (Cools.isEmpty(param)) {
+ result = R.parse(BaseRes.PARAM);
+ return result;
+ }
+ if (Cools.isEmpty(param.getTaskNo())) {
+ result = R.error("浠诲姟鍙穂taskNo]涓嶈兘涓虹┖");
+ return result;
+ }
+ if (Cools.isEmpty(param.getIoType())) {
+ result = R.error("浠诲姟绫诲瀷[ioType]涓嶈兘涓虹┖");
+ return result;
+ }
+ if (Cools.isEmpty(param.getBarcode())) {
+ result = R.error("鏉$爜[barcode]涓嶈兘涓虹┖");
+ return result;
+ }
+ String locNo=null;
+ if (param.getIoType() == 1) {
+ locNo = param.getTargetPoint();
+ } else {
+ locNo = param.getStartPoint();
+ }
+ try {
LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
- .eq("loc_sts", "F")
- .eq("loc_no", locNo)
- .eq("barcode", param.getBarcode()));
- if(Cools.isEmpty(locMast)){
- return R.error("璇ュ簱浣嶄笉婊¤冻鍑哄簱鏉′欢"+param.getTargetPoint());
+ .eq("loc_no", locNo).ne("loc_sts", "X"));
+ if (Cools.isEmpty(locMast)) {
+ log.error("搴撲綅鍙蜂笉瀛樺湪" + locNo);
+ result = R.error("搴撲綅鍙蜂笉瀛樺湪" + locNo).add("搴撲綅鍙蜂笉瀛樺湪" + locNo);
+ return result;
}
- if (!locNoList.contains(locMast.getLocNo())){
- locNoList.add(locMast.getLocNo());
- paramList.add(param);
- }else {
- return R.error("璇ュ簱浣嶄笉鑳藉悓鏃朵笅鍙戜袱绗斾换鍔�" + locMast.getLocNo());
- }
+ } catch (Exception e) {
+ log.error("搴撲綅鍙锋娴嬬▼搴忓紓甯�==銆嬪紓甯镐俊鎭�" + e);
+ result = R.error("搴撲綅鍙锋娴嬬▼搴忓紓甯�").add("搴撲綅鍙锋娴嬬▼搴忓紓甯�==銆嬪紓甯镐俊鎭�" + e);
+ return result;
}
- for (TaskCreateParam param : paramList){
- openService.taskCreate(param);
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_sts", "F")
+ .eq("loc_no", locNo)
+ .eq("barcode", param.getBarcode()));
+ if(Cools.isEmpty(locMast)){
+ result = R.error("璇ュ簱浣嶄笉婊¤冻鍑哄簱鏉′欢" + locMast.getLocNo());
+ return result;
}
+
+ result = openService.taskCreate(param);
+ return result;
}catch (Exception e){
- log.error("浠诲姟涓嬪彂寮傚父"+e);
+ log.error("浠诲姟涓嬪彂寮傚父" + e);
return R.error();
+ }finally {
+ apiLogService.save("wms浠诲姟涓嬪彂鎺ュ彛"
+ ,request.getRemoteAddr()+request.getRequestURI()
+ ,""
+ ,request.getRemoteAddr()
+ ,JSON.toJSONString(param)
+ ,JSON.toJSONString(result)
+ ,true
+ );
}
- return R.ok();
}
//鍒涘缓鍏ュ簱浠诲姟
@@ -266,40 +275,65 @@
@RequestBody TaskCancelParam param,
HttpServletRequest request) {
auth(appkey, param, request);
- if (Cools.isEmpty(param)) {
- return R.error("鍙傛暟涓虹┖锛�");
- } else if (Cools.isEmpty(param.getTaskNo())) {
- return R.error("宸ヤ綔鍙蜂负绌猴紒");
- } else if (Cools.isEmpty(param.getIoType())) {
- return R.error("鎿嶄綔绫诲瀷涓虹┖锛�");
- } else if (Cools.isEmpty(param.getBarcode())) {
- return R.error("鎵樼洏鐮佷笉鑳戒负绌猴紒");
- }
+ R result = null;
+ try {
+ if (Cools.isEmpty(param)) {
+ return R.error("鍙傛暟涓虹┖锛�");
+ } else if (Cools.isEmpty(param.getTaskNo())) {
+ return R.error("宸ヤ綔鍙蜂负绌猴紒");
+ } else if (Cools.isEmpty(param.getIoType())) {
+ return R.error("鎿嶄綔绫诲瀷涓虹┖锛�");
+ } else if (Cools.isEmpty(param.getBarcode())) {
+ return R.error("鎵樼洏鐮佷笉鑳戒负绌猴紒");
+ }
- TaskWrk taskWrk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>()
- .eq("task_no", param.getTaskNo())
- .eq("io_type", param.getIoType())
- .eq("barcode", param.getBarcode()));
- if (Cools.isEmpty(taskWrk)){
- return R.error("鏈煡鍒板綋鍓嶄换鍔�---" + param);
+ TaskWrk taskWrk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>()
+ .eq("task_no", param.getTaskNo())
+ .eq("io_type", param.getIoType())
+ .eq("barcode", param.getBarcode()));
+ if (Cools.isEmpty(taskWrk)){
+ result = R.error("鏈煡鍒板綋鍓嶄换鍔�---" + param);
+ return result;
+ }
+ boolean sign = false;
+ switch (param.getTaskStatus()) {
+ case 1://姝e父鍙栨秷
+ if (taskWrk.getStatus() > 1) {
+ if (taskWrk.getIoType() == 1 && taskWrk.getWrkSts() <= 2) {//鍏ュ簱
+ break;
+ }
+
+ result = R.error("浠诲姟宸插紑濮嬫墽琛�");
+ return result;
+ }
+ break;
+ case 2://姝e父瀹屾垚
+ if (taskWrk.getStatus() > 1) {
+ result = R.error("浠诲姟宸插紑濮嬫墽琛�");
+ return result;
+ }
+ sign = true;
+ break;
+ default:
+ result = R.error("鏈煡鎿嶄綔");
+ return result;
+ }
+ result = taskWrkOperate(taskWrk, sign);
+ return result;
+ } catch (Exception e) {
+ e.printStackTrace();
+ result = R.error(e.getMessage());
+ return R.error(e.getMessage());
+ }finally {
+ apiLogService.save("wms浠诲姟涓嬪彂鎺ュ彛"
+ ,request.getRemoteAddr()+request.getRequestURI()
+ ,""
+ ,request.getRemoteAddr()
+ ,JSON.toJSONString(param)
+ ,JSON.toJSONString(result)
+ ,true
+ );
}
- boolean sign =false;
- switch (param.getTaskStatus()) {
- case 1://姝e父鍙栨秷
- if (taskWrk.getStatus() > 1) {
- return R.error("浠诲姟宸插紑濮嬫墽琛�");
- }
- break;
- case 2://姝e父瀹屾垚
- if (taskWrk.getStatus() > 1) {
- return R.error("浠诲姟宸插紑濮嬫墽琛�");
- }
- sign = true;
- break;
- default:
- return R.error("鏈煡鎿嶄綔");
- }
- return taskWrkOperate(taskWrk, sign);
}
//浠诲姟鎿嶄綔
@@ -337,6 +371,35 @@
return R.ok(crnStatusParams);
}
+ //杈撻�佺珯鐐圭姸鎬佹煡璇㈡帴鍙�
+ @GetMapping("/stationStatus")
+ @Transactional
+ public R stationStatus() {
+ List<StationStatusParam> data = new ArrayList<>();
+ List<BasDevp> list = basDevpService.selectList(new EntityWrapper<BasDevp>()
+ .in("dev_no", 102, 104, 106, 108, 203, 206, 209, 212));
+ for (BasDevp basDevp : list) {
+ String taskNo = "";
+ String barcode = "";
+ if (basDevp.getWrkNo() > 0) {
+ TaskWrk taskWrk = taskWrkService.selectByWrkNo(basDevp.getWrkNo());
+ if (taskWrk != null) {
+ taskNo = taskWrk.getTaskNo();
+ barcode = taskWrk.getBarcode();
+ }
+ }
+
+ StationStatusParam param = new StationStatusParam();
+ param.setStaNo(basDevp.getDevNo());
+ param.setTaskNo(taskNo);
+ param.setLoading(basDevp.getLoading());
+ param.setBarcode(barcode);
+
+ data.add(param);
+ }
+ return R.ok(data);
+ }
+
//妯℃嫙杈撻�佺嚎鍏ュ簱
@PostMapping("/simulationDevpIn")
@Transactional
@@ -372,10 +435,14 @@
.build()
.doPost();
JSONObject jsonObject = JSON.parseObject(response);
+ if (jsonObject.getInteger("code") != 200) {
+ log.info("鏉$爜锛�" + barcode + "鐢宠WMS澶辫触,response=" + JSON.toJSONString(jsonObject));
+ return R.error();
+ }
JSONObject result = jsonObject.getJSONObject("data");
Integer resultWrkNo = result.getInteger("wrkNo");
- Integer resultStaNo = result.getInteger("staNo");
+ Integer resultStaNo = result.getInteger("stnNo");
String resultLocNo = result.getString("locNo");
// 鍒涙柊涓�涓叆搴撳伐浣滄。
@@ -455,7 +522,6 @@
}
log.info("鍏ュ簱璇锋眰鍙傛暟=" + JSON.toJSONString(barcode));
log.info("鍏ュ簱璇锋眰杩斿洖鍙傛暟=" + JSON.toJSONString(response));
- return R.error();
+ return R.ok();
}
-
}
--
Gitblit v1.9.1