From 0d04bc5d8080b82338302fba0a59fccff2eaedfc Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期日, 06 七月 2025 11:28:29 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java | 518 ++++++++++++--------------------------------------------- 1 files changed, 109 insertions(+), 409 deletions(-) diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java index 9aa18b1..c1e15a8 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java @@ -26,11 +26,13 @@ import com.zy.asrs.wcs.system.controller.BaseController; import com.zy.asrs.wcs.system.entity.Dict; import com.zy.asrs.wcs.system.service.DictService; +import org.apache.poi.ss.formula.functions.T; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.text.SimpleDateFormat; import java.util.*; /** @@ -62,10 +64,17 @@ private BasConveyorService basConveyorService; @Autowired private BasConveyorStaService basConveyorStaService; + @Autowired + private OpenService openService; @PostMapping("/agvPickupComplete") public Map<String, Object> agvPickupComplete(@RequestBody AgvTaskParam agvTaskParam) { + HashMap<String, String> mesMap = new HashMap<>(); + mesMap.put("taskNo", agvTaskParam.getRobotTaskCode()); + mesMap.put("contNo",agvTaskParam.getExtra().getValues().getCarrierCode()); + boolean returnTask3 = toMesHttpRequest(mesMap, "172.18.231.126", "/api/wcs/wcsTaskInfo", "3",agvTaskParam.getExtra().getValues().getSlotName()); + HashMap<String, Object> map = new HashMap<>(); map.put("code","0"); map.put("message","鎴愬姛"); @@ -77,12 +86,102 @@ @PostMapping("/agvTaskComplete") public Map<String, Object> agvTaskComplete(@RequestBody AgvTaskParam agvTaskParam) { + log.info("agv璇锋眰浠诲姟瀹屾垚锛寃ms浠诲姟鍙�:"+JSON.toJSONString(agvTaskParam)); HashMap<String, Object> map = new HashMap<>(); + Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getWmsTaskNo, agvTaskParam.getRobotTaskCode())); + if (!Cools.isEmpty(task)){ + if (agvTaskParam.getExtra().getValues().getSlotName().equals("06YZ0001")){ + Device device = deviceService.getOne(new LambdaQueryWrapper<Device>() + .eq(Device::getDeviceType, DeviceCtgType.CONVEYOR.val()) + .eq(Device::getStatus, 1) + .eq(Device::getDeviceNo, 1)); + if (device == null) { + map.put("code","1"); + map.put("message","澶辫触锛岃澶囦笉瀛樺湪"); + map.put("reqCode", ""); + return map; + } + + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, device.getId().intValue()); + if (devpThread == null) { + map.put("code","1"); + map.put("message","澶辫触锛岃緭閫佺嚎涓嶅湪绾�"); + map.put("reqCode", ""); + return map; + } + boolean result = devpThread.writeWorkSta(100, Short.parseShort("9999"), (short) 101); + if (!result) { + map.put("code","1"); + map.put("message","澶辫触锛岃緭閫佺嚎鍛戒护涓嬪彂澶辫触"); + map.put("reqCode", ""); + return map; + } + }else { + if (task.getTaskSts() == 1000 && task.getMemo().equals(agvTaskParam.getExtra().getValues().getSlotName())){ + HashMap<String, String> mesMap = new HashMap<>(); + mesMap.put("taskNo", agvTaskParam.getRobotTaskCode()); + mesMap.put("contNo",agvTaskParam.getExtra().getValues().getCarrierCode()); + boolean returnTask4 = toMesHttpRequest(mesMap, "172.18.231.126", "/api/wcs/wcsTaskInfo", "4",agvTaskParam.getExtra().getValues().getSlotName()); + if (returnTask4){ + task.setTaskSts(1001L); + taskService.updateById(task); + log.info("鍑哄簱浠诲姟瀹屾垚鎺ㄩ�乵es"+task.getWmsTaskNo()); + }else { + log.error("鍑哄簱浠诲姟瀹屾垚鎺ㄩ�乵es澶辫触"+task.getWmsTaskNo()); + } + + } + } + }else { + HashMap<String, String> mesMap = new HashMap<>(); + mesMap.put("taskNo", agvTaskParam.getRobotTaskCode()); + mesMap.put("contNo",agvTaskParam.getExtra().getValues().getCarrierCode()); + boolean returnTask4 = toMesHttpRequest(mesMap, "172.18.231.126", "/api/wcs/wcsTaskInfo", "4",agvTaskParam.getExtra().getValues().getSlotName()); + if (returnTask4){ + log.info("鍑哄簱浠诲姟瀹屾垚鎺ㄩ�乵es"+agvTaskParam.getRobotTaskCode()); + }else { + log.error("鍑哄簱浠诲姟瀹屾垚鎺ㄩ�乵es澶辫触"+agvTaskParam.getRobotTaskCode()); + } + } + map.put("code","0"); map.put("message","鎴愬姛"); map.put("reqCode", ""); - log.info("agv璇锋眰浠诲姟瀹屾垚锛寃ms浠诲姟鍙�:"+JSON.toJSONString(agvTaskParam)); return map; + } + + private boolean toMesHttpRequest(Map<String,String> map, String url, String path, String code,String location){ + Date now = new Date(); + long time = now.getTime()/1000; + ReturnWcsTaskStatisParam returnWcsTaskStatisParam = new ReturnWcsTaskStatisParam(); + returnWcsTaskStatisParam.setRequestPK(map.get("taskNo")); + returnWcsTaskStatisParam.setTrkId(map.get("taskNo")); + returnWcsTaskStatisParam.setContNo(map.get("contNo")); + returnWcsTaskStatisParam.setCode(code); + returnWcsTaskStatisParam.setOperator("wcs"); + returnWcsTaskStatisParam.setOperationTime(time); + returnWcsTaskStatisParam.setTrkType("01"); + returnWcsTaskStatisParam.setCurPos(location); + String response = ""; + boolean success = false; + try { + response = new HttpHandler.Builder() + .setUri(url) + .setPath(path) + .setJson(JSONObject.toJSONString(returnWcsTaskStatisParam)) + .build() + .doPost(); + JSONObject jsonObject = JSON.parseObject(response); + + String code1 = jsonObject.get("success").toString(); + log.info("涓婃姤mes鎺ュ彛璇锋眰浣�:"+JSON.toJSONString(returnWcsTaskStatisParam) +",杩斿洖鍊�:"+jsonObject.toJSONString()); + if(code1.equals("1")){ + success = true; + } + }catch (Exception e){ + return success; + } + return success; } @@ -148,14 +247,16 @@ //mes涓嬪彂浠诲姟 - @PostMapping("/createWcsTaskParam") + @PostMapping("/createWcsTask") public HashMap<String,Object> createWcsTask(@RequestBody CreateWcsTaskParam param){ + log.info("mes浠诲姟涓嬪彂锛岃姹備綋:"+JSONObject.toJSONString(param)); HashMap<String, Object> map = new HashMap<>(); if (Cools.isEmpty(param)){ map.put("success", "0"); map.put("message", "澶辫触锛岃姹傚弬鏁颁负绌�"); map.put("result", ""); map.put("requestPK", param.getRequestPK()); + log.info("杩斿洖mes淇℃伅:"+JSONObject.toJSONString(map)); return map; } if (Cools.isEmpty(param.getRequestPK()) || Cools.isEmpty(param.getContNo()) || Cools.isEmpty(param.getTrkPrty()) || Cools.isEmpty(param.getToPos())){ @@ -163,6 +264,7 @@ map.put("message", "澶辫触锛岃姹傚弬鏁颁负绌�"); map.put("result", ""); map.put("requestPK", param.getRequestPK()); + log.info("杩斿洖mes淇℃伅:"+JSONObject.toJSONString(map)); return map; } @@ -172,422 +274,25 @@ map.put("message", "澶辫触锛屽瓨鍦ㄧ浉鍚岀紪鍙风殑浠诲姟"); map.put("result", ""); map.put("requestPK", param.getRequestPK()); + log.info("杩斿洖mes淇℃伅:"+JSONObject.toJSONString(map)); return map; } - ArrayList<String> inlist = new ArrayList<>(); - inlist.add("1");inlist.add("8"); - ArrayList<String> outlist = new ArrayList<>(); - outlist.add("2");outlist.add("9"); - if (inlist.contains(param.getTrkType())){ - try { - AgvTaskCreateParam agvTaskCreateParam = new AgvTaskCreateParam(); - getInRequestParam(agvTaskCreateParam,param); - boolean httpRequest = doHttpRequest(agvTaskCreateParam, "172.18.16.248:443", "/rcs/rtas/api/robot/controller/task/submit"); - if (!httpRequest){ - map.put("success", "0"); - map.put("message", "杞彂AGV浠诲姟鍑洪敊"); - map.put("result", ""); - map.put("requestPK", param.getRequestPK()); - return map; - } - }catch (Exception e){ - } - CreateInTaskParam createInTaskParam = new CreateInTaskParam(); - createInTaskParam.setTaskNo(param.getRequestPK()); - createInTaskParam.setDestLoc(getWMStoWCSLocNo(param.getToPos())); - createInTaskParam.setOriginSite("100"); - createInTaskParam.setBarcode(param.getContNo()); - createInTaskParam.setPriority(Integer.valueOf(param.getTrkPrty())); - R inTask = null; - try { - inTask = createInTask(createInTaskParam); - }catch (Exception e){ - map.put("success", "0"); - map.put("message", "鐢熸垚浠诲姟鍑洪敊"); - map.put("result", ""); - map.put("requestPK", param.getRequestPK()); - return map; - }finally { - int code = (int) inTask.get("code"); - if (code == 200){ - map.put("success", "1"); - map.put("message", inTask.get("msg")); - map.put("result", ""); - map.put("requestPK", param.getRequestPK()); - }else { - map.put("success", "0"); - map.put("message", inTask.get("msg")); - map.put("result", ""); - map.put("requestPK", param.getRequestPK()); - } - } - } else if (outlist.contains(param.getTrkType())) { -// try { -// AgvTaskCreateParam agvTaskCreateParam = new AgvTaskCreateParam(); -// getOutRequestParam(agvTaskCreateParam,param); -// boolean httpRequest = doHttpRequest(agvTaskCreateParam, "172.18.16.94:8001", "/api/robot/controller/task/submit"); -// if (!httpRequest){ -// map.put("success", "0"); -// map.put("message", "杞彂AGV浠诲姟鍑洪敊"); -// map.put("result", ""); -// map.put("requestPK", param.getRequestPK()); -// return map; -// } -// }catch (Exception e){ -// map.put("success", "0"); -// map.put("message", "杞彂AGV浠诲姟鍑洪敊"); -// map.put("result", ""); -// map.put("requestPK", param.getRequestPK()); -// return map; -// } - CreateOutTaskParam createOutTaskParam = new CreateOutTaskParam(); - createOutTaskParam.setTaskNo(param.getRequestPK()); - createOutTaskParam.setOriginLoc(getWMStoWCSLocNo(param.getFrmPos())); - createOutTaskParam.setOriginSite("101"); - createOutTaskParam.setDestSite("100"); - createOutTaskParam.setPriority(Integer.valueOf(param.getTrkPrty())); - createOutTaskParam.setEndSite(param.getToPos()); - R outTask = null; - try { - outTask = createOutTask(createOutTaskParam); - }catch (Exception e){ - map.put("success", "0"); - map.put("message", "鐢熸垚浠诲姟鍑洪敊"); - map.put("result", ""); - map.put("requestPK", param.getRequestPK()); - return map; - }finally { - int code = (int) outTask.get("code"); - if (code == 200){ - map.put("success", "1"); - map.put("message", outTask.get("msg")); - map.put("result", ""); - map.put("requestPK", param.getRequestPK()); - }else { - map.put("success", "0"); - map.put("message", outTask.get("msg")); - map.put("result", ""); - map.put("requestPK", param.getRequestPK()); - } - } - - }else { - map.put("success", "0"); - map.put("message", "鏈壘鍒板搴斾换鍔$被鍨�"); - map.put("result", ""); - map.put("requestPK", param.getRequestPK()); - } + map = openService.createWcsTaskCache(param); + log.info("杩斿洖mes淇℃伅:"+JSONObject.toJSONString(map)); return map; - } - public static String getWMStoWCSLocNo(String loc){ - String locNo = ""; - int row = Integer.parseInt(loc.substring(6,8)); - int bay = Integer.parseInt(loc.substring(8,10)); - int lev = Integer.parseInt(loc.substring(10,12)); - locNo = row +"-"+bay+"-"+lev; - return locNo; - } - private void getInRequestParam(AgvTaskCreateParam agvTaskCreateParam,CreateWcsTaskParam param){ - List<AgvTaskCreateParam.AgvTaskParam> agvTaskParamList = Arrays.asList( - //璧峰浣� - new AgvTaskCreateParam.AgvTaskParam("SITE",param.getFrmPos(),0,1), - //鐩爣浣� - new AgvTaskCreateParam.AgvTaskParam("SITE","06YZ0001",1,1) - ); - List<AgvTaskCreateParam.carrierInfoParam> carrierInfoParam = Arrays.asList( - //璧峰浣� - new AgvTaskCreateParam.carrierInfoParam() - - ); - agvTaskCreateParam.setTaskType("F01"); - agvTaskCreateParam.setInitPriority(param.getTrkPrty()); - agvTaskCreateParam.setRobotTaskCode(param.getRequestPK()); - agvTaskCreateParam.setTargetRoute(agvTaskParamList); - agvTaskCreateParam.setCarrierInfo(carrierInfoParam); - - } - private boolean doHttpRequest(AgvTaskCreateParam requestParam, String url, String path){ - String response = ""; - boolean success = false; - Map<String, Object> map = new HashMap<>(); - map.put("Content-Type", "application/json;charset=UTF-8"); - map.put("X-lr-request-id", requestParam.getRobotTaskCode()); - map.put("X-lr-version", 4.1); - map.put("X-lr-trace-id", "{{$guid}}"); - try { - response = new HttpHandler.Builder() - .setHeaders(map) - .setUri(url) - .setHttps(true) - .setPath(path) - .setJson(JSONObject.toJSONString(requestParam)) - .build() - .doPost(); - JSONObject jsonObject = JSON.parseObject(response); - - String code = jsonObject.get("code").toString(); - if(code.equals("SUCCESS")){ - success = true; - } - log.info("杞彂agv浠诲姟锛氳姹備綋:"+JSONObject.toJSONString(requestParam)+",杩斿洖鍊�:"+jsonObject); - }catch (Exception e){ - - } - return success; } //鐢熸垚鍏ュ簱浠诲姟 @PostMapping("/createInTask") public R createInTask(@RequestBody CreateInTaskParam param) { - //鑾峰彇鍏ュ簱浠诲姟绫诲瀷 - TaskCtg taskCtg = taskCtgService.getOne(new LambdaQueryWrapper<TaskCtg>() - .eq(TaskCtg::getFlag, String.valueOf(TaskCtgType.IN)) - .eq(TaskCtg::getStatus, 1)); - if (taskCtg == null) { - return R.error("浠诲姟绫诲瀷寮傚父"); - } - - Long hostId = 1L;//榛樿涓讳粨搴� - - Loc loc = locService.selectByLocNo(param.getDestLoc()); - if (loc == null) { - return R.error("搴撲綅鍙蜂笉瀛樺湪"); - } - - //鑾峰彇涓ユ牸妯″紡鍙傛暟 - boolean mapStrict = true;//榛樿涓ユ牸妯″紡 - Dict dict = dictService.getOne(new LambdaQueryWrapper<Dict>().eq(Dict::getFlag, "shuttleMapStrict")); - if (dict != null) { - mapStrict = Boolean.parseBoolean(dict.getValue()); - } - - if (mapStrict && !loc.getLocStsFlag().equals("O")) { - return R.error("搴撲綅鐘舵�佷笉婊¤冻鍏ュ簱鏉′欢"); - } - - Task one = taskService.getOne(new LambdaQueryWrapper<Task>() - .eq(Task::getTaskCtg, taskCtg.getId()) - .eq(Task::getOriginSite, param.getOriginSite()) - .eq(Task::getDestSite, param.getDestSite()) - .eq(Task::getDestLoc, param.getDestLoc())); - if (one != null) { - return R.error("浠诲姟宸插瓨鍦�"); - } - - String destSite = param.getDestSite(); - if (Cools.isEmpty(param.getDestSite())) { - //鐩爣绔欎负绌哄垯浣跨敤WCS绯荤粺鍐呯疆璺緞 - BasConveyorPath path = basConveyorPathService.getOne(new LambdaQueryWrapper<BasConveyorPath>() - .eq(BasConveyorPath::getTypeNo, taskCtg.getId()) - .eq(BasConveyorPath::getHostId, hostId) - .eq(BasConveyorPath::getStnNo, param.getOriginSite())); - if(path == null) { - return R.error("鍐呯疆璺緞涓嶅瓨鍦�"); - } - destSite = String.valueOf(path.getDeviceStn()); - } - - //鍒ゆ柇鍑哄叆搴撴ā寮� - BasConveyorSta basConveyorSta = basConveyorStaService.getOne(new LambdaQueryWrapper<BasConveyorSta>() - .eq(BasConveyorSta::getSiteNo, destSite)); - if (!basConveyorSta.getWorkMode().equals((int) WorkModeType.PAKIN_MODE.id)) { - //涓嶆槸鍏ュ簱妯″紡锛屾娴嬫槸鍚﹀彲鍒囨崲鍏ュ簱 - //鑾峰彇鍑哄簱浠诲姟绫诲瀷 - TaskCtg taskInCtg = taskCtgService.getOne(new LambdaQueryWrapper<TaskCtg>() - .eq(TaskCtg::getFlag, String.valueOf(TaskCtgType.OUT)) - .eq(TaskCtg::getStatus, 1)); - if (taskInCtg == null) { - return R.error("浠诲姟绫诲瀷寮傚父"); - } - List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>() - .eq(Task::getTaskCtg, taskInCtg.getId())); - if (!tasks.isEmpty()) { - return R.error("褰撳墠瀛樺湪鍑哄簱浠诲姟锛屾棤娉曞垏鎹㈠叆搴撴ā寮�"); - } - - BasConveyor basConveyor = basConveyorService.getOne(new LambdaQueryWrapper<BasConveyor>().eq(BasConveyor::getConveyorNo, basConveyorSta.getConveyorNo())); - if(basConveyor == null) { - return R.error("杈撻�佺嚎涓嶅瓨鍦�"); - } - - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, basConveyor.getDeviceId().intValue()); - if(devpThread == null) { - return R.error("杈撻�佺嚎绾跨▼涓嶅瓨鍦�"); - } - - boolean result = devpThread.switchWorkMode(Integer.parseInt(destSite), WorkModeType.PAKIN_MODE.id); - if (!result) { - return R.error("妯″紡鍒囨崲澶辫触"); - } - } - - //浼樺厛绾� - Integer priority = 10; - if (param.getPriority() != null) { - priority = param.getPriority(); - } - - Task task = new Task(); - task.setUuid(String.valueOf(snowflakeIdWorker.nextId())); - task.setTaskNo(String.valueOf(Utils.getTaskNo("IN"))); - task.setWmsTaskNo(param.getTaskNo()); - task.setTaskSts(TaskStsType.NEW_INBOUND.sts); - task.setTaskCtg(taskCtg.getId()); - task.setPriority(priority); - task.setOriginSite(param.getOriginSite()); - task.setOriginLoc(null); - task.setDestSite(destSite); - task.setDestLoc(param.getDestLoc()); - task.setZpallet(param.getBarcode()); - task.setIoTime(new Date()); - task.setStartTime(new Date()); - task.setStatus(1); - task.setMemo(""); - task.setShuttleNo(null);//绛夊緟涓荤嚎绋嬪垎閰嶅皬杞� - task.setRecordLoc("Y");//璁板綍搴撳瓨淇℃伅 - task.setHostId(hostId);//涓存椂鎺у埗鍙厑璁竓ost涓�1 - - boolean result = taskService.save(task); - if (!result) { - return R.error("鐢熸垚鍏ュ簱浠诲姟澶辫触锛�"); - } - return R.ok(); + return openService.createInTask(param, null); } //鐢熸垚鍑哄簱浠诲姟 @PostMapping("/createOutTask") public R createOutTask(@RequestBody CreateOutTaskParam param) { - //鑾峰彇鍑哄簱浠诲姟绫诲瀷 - TaskCtg taskCtg = taskCtgService.getOne(new LambdaQueryWrapper<TaskCtg>() - .eq(TaskCtg::getFlag, String.valueOf(TaskCtgType.OUT)) - .eq(TaskCtg::getStatus, 1)); - if (taskCtg == null) { - return R.error("浠诲姟绫诲瀷寮傚父"); - } - - Long hostId = 1L;//榛樿涓讳粨搴� - - Loc loc = locService.selectByLocNo(param.getOriginLoc()); - if (loc == null) { - return R.error("搴撲綅鍙蜂笉瀛樺湪"); - } - - //鑾峰彇涓ユ牸妯″紡鍙傛暟 - boolean mapStrict = true;//榛樿涓ユ牸妯″紡 - Dict dict = dictService.getOne(new LambdaQueryWrapper<Dict>().eq(Dict::getFlag, "shuttleMapStrict")); - if (dict != null) { - mapStrict = Boolean.parseBoolean(dict.getValue()); - } - - if (mapStrict && !loc.getLocStsFlag().equals("F")) { - return R.error("搴撲綅鐘舵�佷笉婊¤冻鍑哄簱鏉′欢"); - } - - Task one = taskService.getOne(new LambdaQueryWrapper<Task>() - .eq(Task::getTaskCtg, taskCtg.getId()) - .eq(Task::getOriginSite, param.getOriginSite()) - .eq(Task::getOriginLoc, param.getOriginLoc()) - .eq(Task::getDestSite, param.getDestSite())); - if (one != null) { - return R.error("浠诲姟宸插瓨鍦�"); - } - - String originSite = param.getOriginSite(); - if (Cools.isEmpty(param.getOriginSite())) { - //浣跨敤WCS绯荤粺鍐呯疆璺緞 - BasConveyorPath path = basConveyorPathService.getOne(new LambdaQueryWrapper<BasConveyorPath>() - .eq(BasConveyorPath::getTypeNo, taskCtg.getId()) - .eq(BasConveyorPath::getHostId, hostId) - .eq(BasConveyorPath::getStnNo, param.getDestSite())); - if(path == null) { - return R.error("鍐呯疆璺緞涓嶅瓨鍦�"); - } - Integer deviceNo = path.getDeviceNo();//鑾峰彇鎻愬崌鏈哄彿 - BasLift basLift = basLiftService.getOne(new LambdaQueryWrapper<BasLift>().eq(BasLift::getLiftNo, deviceNo).eq(BasLift::getHostId, hostId)); - if(basLift == null) { - return R.error("鎻愬崌鏈哄璞′笉瀛樺湪"); - } - List<BasLiftStaDto> staList = JSON.parseArray(basLift.getSta(), BasLiftStaDto.class); - BasLiftStaDto originStaDto = null; - for (BasLiftStaDto sta : staList) { - if (sta.getLev() == Utils.getLev(param.getOriginLoc())) { - originStaDto = sta; - break; - } - } - - if (originStaDto == null) { - return R.error("婧愮珯涓嶅瓨鍦�"); - } - - originSite = String.valueOf(originStaDto.getStaNo()); - } - - //鍒ゆ柇鍑哄叆搴撴ā寮� - BasConveyorSta basConveyorSta = basConveyorStaService.getOne(new LambdaQueryWrapper<BasConveyorSta>() - .eq(BasConveyorSta::getSiteNo, originSite)); - if (!basConveyorSta.getWorkMode().equals((int) WorkModeType.PAKOUT_MODE.id)) { - //涓嶆槸鍑哄簱妯″紡锛屾娴嬫槸鍚﹀彲鍒囨崲鍑哄簱 - //鑾峰彇鍏ュ簱浠诲姟绫诲瀷 - TaskCtg taskInCtg = taskCtgService.getOne(new LambdaQueryWrapper<TaskCtg>() - .eq(TaskCtg::getFlag, String.valueOf(TaskCtgType.IN)) - .eq(TaskCtg::getStatus, 1)); - if (taskInCtg == null) { - return R.error("浠诲姟绫诲瀷寮傚父"); - } - List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>() - .eq(Task::getTaskCtg, taskInCtg.getId())); - if (!tasks.isEmpty()) { - return R.error("褰撳墠瀛樺湪鍏ュ簱浠诲姟锛屾棤娉曞垏鎹㈠嚭搴撴ā寮�"); - } - - BasConveyor basConveyor = basConveyorService.getOne(new LambdaQueryWrapper<BasConveyor>().eq(BasConveyor::getConveyorNo, basConveyorSta.getConveyorNo())); - if(basConveyor == null) { - return R.error("杈撻�佺嚎涓嶅瓨鍦�"); - } - - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, basConveyor.getDeviceId().intValue()); - if(devpThread == null) { - return R.error("杈撻�佺嚎绾跨▼涓嶅瓨鍦�"); - } - - boolean result = devpThread.switchWorkMode(Integer.parseInt(originSite), WorkModeType.PAKOUT_MODE.id); - if (!result) { - return R.error("妯″紡鍒囨崲澶辫触"); - } - } - - //浼樺厛绾� - Integer priority = 10; - if (param.getPriority() != null) { - priority = param.getPriority(); - } - - Task task = new Task(); - task.setUuid(String.valueOf(snowflakeIdWorker.nextId())); - task.setTaskNo(String.valueOf(Utils.getTaskNo("OUT"))); - task.setWmsTaskNo(param.getTaskNo()); - task.setTaskSts(TaskStsType.NEW_OUTBOUND.sts); - task.setTaskCtg(taskCtg.getId()); - task.setPriority(priority); - task.setOriginSite(originSite); - task.setOriginLoc(param.getOriginLoc()); - task.setDestSite(param.getDestSite()); - task.setDestLoc(null); - task.setIoTime(new Date()); - task.setStartTime(new Date()); - task.setStatus(1); - task.setMemo(param.getEndSite()); - task.setShuttleNo(null);//绛夊緟涓荤嚎绋嬪垎閰嶅皬杞� - task.setRecordLoc("Y");//璁板綍搴撳瓨淇℃伅 - task.setHostId(hostId);//涓存椂鎺у埗鍙厑璁竓ost涓�1 - - boolean result = taskService.save(task); - if (!result) { - return R.error("鐢熸垚鍑哄簱浠诲姟澶辫触锛�"); - } - return R.ok(); + return openService.createOutTask(param, null); } //鐢熸垚鎵嬪姩鍙栨斁璐т换鍔� @@ -780,11 +485,6 @@ return R.error("妯″紡鍒囨崲澶辫触"); } return R.ok(); - } - - public static void main(String[] args) { - String wmStoWCSLocNo = getWMStoWCSLocNo("0601KW010101"); - System.out.println(wmStoWCSLocNo); } } -- Gitblit v1.9.1