From 8740b1c94ffd20b54b95962df886e43f722911c5 Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期四, 24 四月 2025 17:31:12 +0800 Subject: [PATCH] * --- src/main/java/com/zy/asrs/controller/OpenController.java | 212 ++++++++++++++++++++++++++++++---------------------- 1 files changed, 123 insertions(+), 89 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java index 6e3ff59..7af2501 100644 --- a/src/main/java/com/zy/asrs/controller/OpenController.java +++ b/src/main/java/com/zy/asrs/controller/OpenController.java @@ -8,10 +8,12 @@ import com.core.common.R; import com.core.exception.CoolException; import com.zy.asrs.entity.*; +import com.zy.asrs.entity.param.CarryParam; import com.zy.asrs.entity.param.TaskOverParam; 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; @@ -77,23 +79,65 @@ //鍒涘缓浠诲姟 @PostMapping("/taskCreate") + @Transactional public R taskCreate(@RequestHeader String appkey, - @RequestBody TaskCreateParam param, + @RequestBody List<TaskCreateParam> param1, HttpServletRequest request) { - auth(appkey, param, request); - if (Cools.isEmpty(param)) { - return R.parse(BaseRes.PARAM); + auth(appkey, param1, request); + 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(); } - 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); return R.ok(); } @@ -109,6 +153,44 @@ } 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); +// } //鏌ヨ浠诲姟鎸囦护闆嗗悎 @GetMapping("/queryTaskCommand") @@ -234,25 +316,20 @@ @PostMapping("/outboundTaskSend") @Transactional public R outboundTaskSend(@RequestHeader String appkey, - @RequestBody List<WMSAndAGVInterfaceParam> params, + @RequestBody List<CarryParam> params, HttpServletRequest request) { - auth(appkey, params, request); + //auth(appkey, params, request); List<WMSAndAGVInterfaceParam> params1 =new ArrayList<>(); - for (WMSAndAGVInterfaceParam param:params){ + for (CarryParam param:params){ if (Cools.isEmpty(param)){ return R.error("鍙傛暟涓虹┖锛�"); } else if (Cools.isEmpty(param.getTaskNo())){ return R.error("浠诲姟鍙蜂负绌猴紒"); - } else if (Cools.isEmpty(param.getTaskType())){ + } else if (Cools.isEmpty(param.getIoType())){ return R.error("浠诲姟绫诲瀷涓虹┖锛�"); - } else if (Cools.isEmpty(param.getWarehouseId())){ - return R.error("浠撳簱鏍囪瘑涓虹┖锛�"); } - if (Cools.isEmpty(param.getTaskPriority())){ - param.setTaskPriority(1); - } - if (Cools.isEmpty(param.getSourceLocationCode()) || Cools.isEmpty(param.getTargetLocationCode())){ + if (Cools.isEmpty(param.getStartPoint()) || Cools.isEmpty(param.getTargetPoint())){ return R.error("鍒濆鐩爣鎴栬�呯洰鏍囦綅涓虹┖"); } // if (Cools.isEmpty(param.getContainerCode())){ @@ -267,50 +344,27 @@ // } // } - LocMast locMast = locMastService.selectByLocNo(param.getSourceLocationCode()); + LocMast locMast = locMastService.selectByLocNo(param.getStartPoint()); if(Cools.isEmpty(locMast)){ return R.error("鍒濆搴撲綅鏃犳硶鎵惧埌"); } - Integer ioType = TaskCreateParam.convertParamIoType(param.getTaskType()); - if(ioType == 2){ + R r = null; + + if(param.getIoType() == 2){ //鍑哄簱浠诲姟鍒涘缓 StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() .eq("type_no",2) .eq("crn_no",locMast.getCrnNo()) - .eq("stn_no",param.getTargetLocationCode())); + .eq("stn_no",param.getTargetPoint())); if(Cools.isEmpty(staDesc)){ return R.error("鍑哄簱璺姴涓嶅瓨鍦�"); } - param.setTargetLocationCode(staDesc.getStnNo().toString()); - R r = openService.taskCreate(new TaskCreateParam(param)); - }else if (ioType == 3){ + r = openService.taskCreate(new TaskCreateParam(param,staDesc.getCrnNo())); + }else if (param.getIoType() == 3){ //绉诲簱浠诲姟鍒涘缓 - + r = openService.taskCreate(new TaskCreateParam(param,locMast.getCrnNo())); } - -// if (param.getTaskType().equals("CK") && param.getTargetWharf().contains("J")){ -// staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() -// .eq("crn_no",param.getTaskTunnel()) -// .eq("type_no",2) -// .lt("stn_no",200)); -// }else if (param.getTaskType().equals("CK") && param.getTargetWharf().contains("H")){ -// staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() -// .eq("crn_no",param.getTaskTunnel()) -// .eq("type_no",2) -// .lt("stn_no",400) -// .gt("stn_no",200)); -// }else { -// staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() -// .eq("crn_no",param.getTaskTunnel()) -// .eq("type_no",2) -// .lt("stn_no",500) -// .ge("stn_no",400)); -// } - //param.setTargetLocationCode(staDesc.getStnNo().toString()); - - - R r = openService.taskCreate(new TaskCreateParam(param)); apiLogService.save("Wms浠诲姟涓嬪彂鎺ュ彛" ,request.getRemoteAddr()+request.getRequestURI() @@ -336,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; @@ -394,27 +442,13 @@ HttpServletRequest request) { auth(appkey, "璁惧鐘舵�佹煡璇㈡帴鍙�", request); List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<>()); - List<Map<String, Object>> list = new ArrayList<>(); + List<Object> list = new ArrayList<>(); for (BasDevp basDevp:basDevps){ - Map<String, Object> map = new HashMap<>(); - map.put("devNo", basDevp.getDevNo()); - map.put("devType", "杈撻�佺嚎"); - map.put("devStatus", basDevp.getAutoing().equals("Y")? 1:0); - map.put("errorCode", 0); - map.put("errorMsg", ""); - map.put("newDate",new Date()); - list.add(map); + list.add(basDevp); } List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<>()); for (BasCrnp basCrnp:basCrnps){ - Map<String, Object> map = new HashMap<>(); - map.put("devNo", basCrnp.getCrnNo()); - map.put("devType", "鍫嗗灈鏈�"); - map.put("devStatus", basCrnp.getCrnSts()); - map.put("errorCode", 0); - map.put("errorMsg", ""); - map.put("newDate",new Date()); - list.add(map); + list.add(basCrnp); } return R.ok(list); } -- Gitblit v1.9.1