From 23995c7655ecbf6a3a5224e1ca423157b80c26ca Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期三, 16 四月 2025 16:02:40 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/controller/OpenController.java | 136 ++++++++++++++++++++++++++++++++++----------
1 files changed, 104 insertions(+), 32 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index f3b74fa..0e360c4 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -13,6 +13,7 @@
import com.zy.asrs.entity.param.WMSAndAGVInterfaceParam;
import com.zy.asrs.entity.param.TaskCreateParam;
import com.zy.asrs.service.*;
+import com.zy.asrs.utils.Utils;
import com.zy.common.web.BaseController;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -78,25 +79,64 @@
//鍒涘缓浠诲姟
@PostMapping("/taskCreate")
+ @Transactional
public R taskCreate(@RequestHeader String appkey,
@RequestBody List<TaskCreateParam> param1,
HttpServletRequest request) {
auth(appkey, param1, request);
- 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]涓嶈兘涓虹┖");
- }
- openService.taskCreate(param);
+ 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);
+ }
+ 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());
+ }
+ if (!locNoList.contains(locMast.getLocNo())){
+ locNoList.add(locMast.getLocNo());
+ paramList.add(param);
+ }else {
+ return R.error("璇ュ簱浣嶄笉鑳藉悓鏃朵笅鍙戜袱绗斾换鍔�"+locMast.getLocNo());
+ }
+ }
+ for (TaskCreateParam param : paramList){
+ openService.taskCreate(param);
+ }
+ }catch (Exception e){
+ log.error("浠诲姟涓嬪彂寮傚父"+e);
+ return R.error();
}
return R.ok();
}
@@ -112,6 +152,44 @@
return R.error("浠诲姟涓嶅瓨鍦�");
}
return R.ok().add(taskWrk);
+ }
+
+ //鍙栨斁璐х敵璇�
+ @PostMapping("/pick/and/place/v1")
+ @AppAuth(memo = "agv鍙栨斁璐х敵璇�")
+ public R getAgvPickAndPlaceV1(@RequestHeader String appkey,
+ @RequestBody TaskOverParam param,
+ HttpServletRequest request){
+ auth(appkey, param, request);
+ if (Cools.isEmpty(param)) {
+ return R.parse(BaseRes.PARAM);
+ }
+ if (Cools.isEmpty(param.getStaNo())){
+ return R.error("鐮佸ご[staNo]涓嶈兘涓虹┖");
+ }
+ if (Cools.isEmpty(param.getType())){
+ return R.error("绫诲瀷[type]涓嶈兘涓虹┖");
+ }
+ return openService.getAgvPickAndPlaceV1(param);
+ }
+
+ //鍙栨斁璐у畬鎴愬弽棣�
+ @PostMapping("/pick/and/place/v2")
+ @AppAuth(memo = "agv鍙栨斁璐у畬鎴愬弽棣�")
+ public R getAgvPickAndPlaceV2(@RequestHeader String appkey,
+ @RequestBody TaskOverParam param,
+ HttpServletRequest request){
+ auth(appkey, param, request);
+ if (Cools.isEmpty(param)) {
+ return R.parse(BaseRes.PARAM);
+ }
+ if (Cools.isEmpty(param.getStaNo())){
+ return R.error("鐮佸ご[staNo]涓嶈兘涓虹┖");
+ }
+ if (Cools.isEmpty(param.getType())){
+ return R.error("绫诲瀷[type]涓嶈兘涓虹┖");
+ }
+ return openService.getAgvPickAndPlaceV2(param);
}
//鏌ヨ浠诲姟鎸囦护闆嗗悎
@@ -312,35 +390,29 @@
return R.error("鍙傛暟涓虹┖锛�");
} else if (Cools.isEmpty(param.getTaskNo())){
return R.error("宸ヤ綔鍙蜂负绌猴紒");
- } else if (Cools.isEmpty(param.getTaskStatus())){
+ } else if (Cools.isEmpty(param.getIoType())){
return R.error("鎿嶄綔绫诲瀷涓虹┖锛�");
+ } else if (Cools.isEmpty(param.getBarcode())){
+ return R.error("鎵樼洏鐮佷笉鑳戒负绌猴紒");
}
-// else if (Cools.isEmpty(param.getWarehouseId())){
-// return R.error("浠撳簱鏍囪瘑涓虹┖锛�");
-// }
- TaskWrk taskWrk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("task_no", param.getTaskNo()));
+ 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("鏈煡鍒板綋鍓嶄换鍔�");
+ return R.error("鏈煡鍒板綋鍓嶄换鍔�---"+param);
}
boolean sign =false;
switch (param.getTaskStatus()){
case 1://姝e父鍙栨秷
- if (taskWrk.getWrkSts()>1){
+ if (taskWrk.getStatus()>1){
return R.error("浠诲姟宸插紑濮嬫墽琛�");
- }
- case 2://寮哄埗鍙栨秷
- if (taskWrk.getWrkSts()>3){
- return R.error("浠诲姟宸叉墽琛屽畬鎴�");
}
break;
- case 3://姝e父瀹屾垚
- if (taskWrk.getWrkSts()>11){
+ case 2://姝e父瀹屾垚
+ if (taskWrk.getStatus()>1){
return R.error("浠诲姟宸插紑濮嬫墽琛�");
- }
- case 4://寮哄埗瀹屾垚
- if (taskWrk.getWrkSts()>14){
- return R.error("浠诲姟宸叉墽琛屽畬鎴�");
}
sign=true;
break;
--
Gitblit v1.9.1