From 6193eddf242c4b879402367704b8b5b2e8df84a4 Mon Sep 17 00:00:00 2001 From: zwl <1051256694@qq.com> Date: 星期六, 19 七月 2025 13:29:40 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/OpenController.java | 335 ++++--------------------------------------------------- 1 files changed, 26 insertions(+), 309 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java index 18db281..ae0890e 100644 --- a/src/main/java/com/zy/asrs/controller/OpenController.java +++ b/src/main/java/com/zy/asrs/controller/OpenController.java @@ -12,6 +12,7 @@ import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.*; import com.zy.asrs.service.*; +import com.zy.asrs.service.impl.BasShuttleServiceImpl; import com.zy.asrs.utils.Utils; import com.zy.common.web.BaseController; import lombok.extern.slf4j.Slf4j; @@ -61,155 +62,8 @@ public static final ArrayList<String> APP_KEY_LIST = new ArrayList<String>() {{ add("ea1f0459efc02a79f046f982767939ae"); }}; - //agv浠诲姟瀹屾垚 - @PostMapping("/toAgvTaskOver") - @AppAuth(memo = "agv浠诲姟瀹屾垚鎺ュ彛") - public R getAgvTaskOver(@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.getWharfCode())){ - return R.error("鐮佸ご[wharfCode]涓嶈兘涓虹┖"); - } - if (Cools.isEmpty(param.getStatus())){ - return R.error("瀹屾垚鏍囪[status]涓嶈兘涓虹┖"); - } - openService.getAgvTaskOver(param); - return R.ok(); - } - - //鍒涘缓浠诲姟 - @PostMapping("/taskCreate") - @Transactional - public R taskCreate(@RequestHeader String appkey, - @RequestBody List<TaskCreateParam> param1, - HttpServletRequest request) { - 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(); - } - return R.ok(); - } - - //鏌ヨ浠诲姟璇︽儏 - @GetMapping("/queryTask") - public R queryTask(@RequestHeader String appkey, - @RequestParam String taskNo, - HttpServletRequest request) { - auth(appkey, taskNo, request); - TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo); - if (taskWrk == null) { - 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); - } - - //鏌ヨ浠诲姟鎸囦护闆嗗悎 - @GetMapping("/queryTaskCommand") - public R queryTaskCommand(@RequestHeader String appkey, - @RequestParam String taskNo, - HttpServletRequest request) { - auth(appkey, taskNo, request); - TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo); - if (taskWrk == null) { - return R.error("浠诲姟涓嶅瓨鍦�"); - } - - List<CommandInfo> commandInfos = commandInfoService.selectByTaskNo(taskNo); - return R.ok().add(commandInfos); - } + @Autowired + private BasShuttleServiceImpl basShuttleService; private void auth(String appkey, Object obj, HttpServletRequest request) { log.info("{}鎺ュ彛琚闂紱appkey:{}锛涜姹傛暟鎹細{}", request.getServletPath(), appkey, JSON.toJSONString(obj)); @@ -222,108 +76,13 @@ } } - //AGV璇锋眰鍏ュ簱鐮佸ご鎺ュ彛 - @PostMapping("/targetWharfApply") - @AppAuth(memo = "AGV璇锋眰鍏ュ簱鐮佸ご鎺ュ彛") - public R targetWharfApply(@RequestHeader String appkey, - @RequestBody WMSAndAGVInterfaceParam param, - HttpServletRequest request) throws IOException { - 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.getContainerCode())){ - return R.error("鎵樼洏缂栫爜涓虹┖锛�"); - } else if (Cools.isEmpty(param.getWharfSource())){ - return R.error("婧愮爜澶翠负绌猴紒"); - } else if (Cools.isEmpty(param.getFreeWharfs()) || param.getFreeWharfs().size()==0){ - return R.error("绌洪棽鐨勫叆搴撶爜澶达紙AGV锛変负绌猴紒"); - } - R r = openService.AgvToWCSToWms(param); - apiLogService.save("AGV璇锋眰鍏ュ簱鐮佸ご鎺ュ彛" - ,request.getRemoteAddr()+request.getRequestURI() - ,appkey - ,request.getRemoteAddr() - ,JSON.toJSONString(param) - ,r.toString() - ,true - ); - return r; - } - - //AGV璇锋眰鍔ㄤ綔鎺ュ彛 - @PostMapping("/agvTaskRequest") - @AppAuth(memo = "AGV璇锋眰鍔ㄤ綔鎺ュ彛") - public R agvTaskRequest(@RequestHeader String appkey, - @RequestBody WMSAndAGVInterfaceParam param, - HttpServletRequest request) { - auth(appkey, param, request); - if (Cools.isEmpty(param)){ - return R.error("鍙傛暟涓虹┖锛�"); - } else if (Cools.isEmpty(param.getRequestType())){ - return R.error("璇锋眰绫诲瀷涓虹┖锛�"); - } else if (Cools.isEmpty(param.getWharfCode())){ - return R.error("鐮佸ご缂栧彿涓虹┖锛�"); - } - - Map<String,Integer> map = new HashMap<>(); - map.put("J-1102",102);map.put("J-1101",101); - map.put("J-1103",105);map.put("J-1104",106); - map.put("J-1105",109);map.put("J-1106",110); - map.put("J-1107",113);map.put("J-1108",114); - map.put("J-1109",117);map.put("J-1110",118); - map.put("J-1111",121);map.put("J-1112",122); - map.put("H-1102",300);map.put("H-1101",305); - map.put("G-1102",400);map.put("G-1101",405); -// StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() -// .eq("stn_desc", param.getWharfCode())); -// -// if (Cools.isEmpty(staDesc)){ -// return R.error("绋嬪簭鎶ラ敊锛屾湭鏌ヨ鍒扮珯鐐�"); -// } - if (Cools.isEmpty(map.get(param.getWharfCode()))){ - return R.error("鏈煡璇㈠埌绔欑偣"); - } - BasDevp basDevp = basDevpService.selectById(map.get(param.getWharfCode())); -// BasDevp basDevp = basDevpService.selectById(staDesc.getStnNo()); - if (basDevp.getAutoing().equals("Y") && (basDevp.getInEnable().equals("Y") || basDevp.getOutEnable().equals("Y"))){ - apiLogService.save("AGV璇锋眰鍏ュ簱鐮佸ご鎺ュ彛" - ,request.getRemoteAddr()+request.getRequestURI() - ,appkey - ,request.getRemoteAddr() - ,JSON.toJSONString(param) - ,R.ok().toString() - ,true - ); - return R.ok("鍙叆"); - }else { - apiLogService.save("AGV璇锋眰鍏ュ簱鐮佸ご鎺ュ彛" - ,request.getRemoteAddr()+request.getRequestURI() - ,appkey - ,request.getRemoteAddr() - ,JSON.toJSONString(param) - ,R.error("绔欑偣鐘舵�佷笉鍙叆").toString() - ,true - ); - return R.error("绔欑偣鐘舵�佷笉鍙叆"); - } - - - - - - } - //浠诲姟涓嬪彂鎺ュ彛 @PostMapping("/outboundTaskSend") - @Transactional +// @Transactional public HashMap<String, Object> outboundTaskSend(@RequestBody HashMap<String,Object> hashMap) { String jsonString = JSON.toJSONString(hashMap.get("TaskList")); List<CarryParam> params= JSONObject.parseArray(jsonString,CarryParam.class); HashMap<String, Object> map = new HashMap<>(); - List<WMSAndAGVInterfaceParam> params1 =new ArrayList<>(); for (CarryParam param:params){ if (Cools.isEmpty(param)){ map.put("Code","0"); @@ -339,8 +98,8 @@ return map; } String fusion = Utils.Fusion(param.getOriginalRowNo(), param.getOriginalFloorNo(), param.getOriginalColumnNo()); - param.setStartPoint(fusion); - LocMast locMast = locMastService.selectByLocNo(param.getStartPoint()); + param.setOriginStartPoint(fusion); + LocMast locMast = locMastService.selectByLocNo(fusion); if(Cools.isEmpty(locMast)){ map.put("Code","0"); map.put("Msg","鍒濆搴撲綅鏃犳硶鎵惧埌锛�"); @@ -353,14 +112,13 @@ //鍑哄簱浠诲姟鍒涘缓 StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() .eq("type_no",2) - .eq("crn_no",locMast.getCrnNo()) .eq("stn_no",param.getTerminalNo())); if(Cools.isEmpty(staDesc)){ map.put("Code","0"); map.put("Msg","鍑哄簱璺姴涓嶅瓨鍦紒"); return map; } - r = openService.taskCreate(new TaskCreateParam(param,staDesc.getCrnNo())); + r = openService.taskCreate(param); if(r.get("Code").equals("0")){ return r; } @@ -368,7 +126,7 @@ String fusion1 = Utils.Fusion(param.getGoalRowNo(), param.getGoalFloorNo(), param.getGoalColumnNo()); param.setTerminalNo(fusion1); //绉诲簱浠诲姟鍒涘缓 - r = openService.taskCreate(new TaskCreateParam(param,locMast.getCrnNo())); + r = openService.taskCreate(param); if(r.get("Code").equals("0")){ return r; } @@ -446,22 +204,12 @@ @GetMapping("/deviceStatus") @Transactional public R deviceStatus() { - List<CrnStatusParam> crnStatusParams=new ArrayList<>(); - List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<>()); - for (BasCrnp basCrnp:basCrnps){ - CrnStatusParam crnStatusParam=new CrnStatusParam(); - crnStatusParam.setCrnNo(basCrnp.getCrnNo()); - crnStatusParam.setCrnSts(basCrnp.getCrnSts()); - crnStatusParam.setErrorCode(basCrnp.getCrnErr()); - BasCrnError error=basCrnErrorService.selectOne(new EntityWrapper<BasCrnError>().eq("error_code",basCrnp.getCrnErr())); - if(Cools.isEmpty(error)){ - crnStatusParam.setErrorMsg(""); - }else { - crnStatusParam.setErrorMsg(error.getErrName()); - } - crnStatusParams.add(crnStatusParam); - } - return R.ok(crnStatusParams); + HashMap<String,Object> map = new HashMap<>(); + List<BasShuttle> basShuttle = basShuttleService.selectList(null); + List<BasDevp> basDevp = basDevpService.selectList(null); + map.put("basShuttle",basShuttle); + map.put("basDevp",basDevp); + return R.ok(map); } //璁惧鐘舵�佹煡璇㈡帴鍙� @@ -475,50 +223,19 @@ return "ok"; } - public static <T> List<T> convertListMapToListObject(List<HashMap<String, Object>> listMap, Class<T> clazz) throws Exception { - List<T> list = new ArrayList<>(); - - for (Map<String, Object> map : listMap) { - T obj = clazz.getDeclaredConstructor().newInstance(); - - for (Map.Entry<String, Object> entry : map.entrySet()) { - String key = entry.getKey(); - Object value = entry.getValue(); - - try { - Field field = clazz.getDeclaredField(key); - field.setAccessible(true); - setFieldValue(obj, field, value); - } catch (NoSuchFieldException e) { - System.out.println("No such field: " + key + " in class " + clazz.getName()); - } - } - - list.add(obj); + //rcs鍜寃cs鏍¢獙鍏ュ簱宸ヤ綔鍙锋槸鍚︿竴鑷� + //璁惧鐘舵�佹煡璇㈡帴鍙� + @PostMapping("/devpdeviceStatusTaskNo") + @Transactional + public String devpDeviceStatusTaskNo(@RequestBody HashMap staNo) { + BasDevp basDevp=basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no",staNo.get("staNo"))); + String taskNo=staNo.get("superTaskNo").toString(); + if(Cools.isEmpty(basDevp)&&Cools.isEmpty(taskNo)){ + return "no"; + }else if(!basDevp.getWrkNo().equals(Integer.valueOf(taskNo))){ + return "no"; } - - return list; - } - private static void setFieldValue(Object obj, Field field, Object value) throws IllegalAccessException { - Class<?> fieldType = field.getType(); - - if (fieldType.isAssignableFrom(value.getClass())) { - field.set(obj, value); - } else if (fieldType == int.class || fieldType == Integer.class) { - field.set(obj, ((Number) value).intValue()); - } else if (fieldType == long.class || fieldType == Long.class) { - field.set(obj, ((Number) value).longValue()); - } else if (fieldType == double.class || fieldType == Double.class) { - field.set(obj, ((Number) value).doubleValue()); - } else if (fieldType == float.class || fieldType == Float.class) { - field.set(obj, ((Number) value).floatValue()); - } else if (fieldType == boolean.class || fieldType == Boolean.class) { - field.set(obj, (Boolean) value); - } else if (fieldType == String.class) { - field.set(obj, String.valueOf(value)); - } else { - System.out.println("Unsupported field type: " + fieldType.getName()); - } + return "ok"; } } -- Gitblit v1.9.1