From 5a2ec88cf71194456a371efda15f3cab5f6225ae Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期四, 20 六月 2024 20:48:41 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java | 78 ++++++++++++++++++++++++++++++++------ 1 files changed, 65 insertions(+), 13 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 706f0a6..940edd9 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 @@ -1,21 +1,20 @@ package com.zy.asrs.wcs.core.controller; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.zy.asrs.framework.common.Cools; import com.zy.asrs.framework.common.R; import com.zy.asrs.framework.common.SnowflakeIdWorker; +import com.zy.asrs.wcs.core.domain.dto.BasLiftStaDto; import com.zy.asrs.wcs.core.domain.param.CreateInTaskParam; import com.zy.asrs.wcs.core.domain.param.CreateManualTakeTaskParam; import com.zy.asrs.wcs.core.domain.param.CreateMoveTaskParam; import com.zy.asrs.wcs.core.domain.param.CreateOutTaskParam; -import com.zy.asrs.wcs.core.entity.Loc; -import com.zy.asrs.wcs.core.entity.Task; -import com.zy.asrs.wcs.core.entity.TaskCtg; +import com.zy.asrs.wcs.core.entity.*; import com.zy.asrs.wcs.core.model.enums.DeviceCtgType; import com.zy.asrs.wcs.core.model.enums.TaskCtgType; import com.zy.asrs.wcs.core.model.enums.TaskStsType; -import com.zy.asrs.wcs.core.service.LocService; -import com.zy.asrs.wcs.core.service.TaskCtgService; -import com.zy.asrs.wcs.core.service.TaskService; +import com.zy.asrs.wcs.core.service.*; import com.zy.asrs.wcs.core.utils.Utils; import com.zy.asrs.wcs.rcs.cache.SlaveConnection; import com.zy.asrs.wcs.rcs.entity.Device; @@ -33,6 +32,7 @@ import org.springframework.web.bind.annotation.RestController; import java.util.Date; +import java.util.List; /** * 瀵瑰鏆撮湶鎺ュ彛 @@ -54,6 +54,10 @@ private LocService locService; @Autowired private DictService dictService; + @Autowired + private BasConveyorPathService basConveyorPathService; + @Autowired + private BasLiftService basLiftService; //鐢熸垚鍏ュ簱浠诲姟 @PostMapping("/createInTask") @@ -65,6 +69,8 @@ if (taskCtg == null) { return R.error("浠诲姟绫诲瀷寮傚父"); } + + Long hostId = 1L;//榛樿涓讳粨搴� Loc loc = locService.selectByLocNo(param.getDestLoc()); if (loc == null) { @@ -91,6 +97,19 @@ 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()); + } + //浼樺厛绾� Integer priority = 10; if (param.getPriority() != null) { @@ -106,7 +125,7 @@ task.setPriority(priority); task.setOriginSite(param.getOriginSite()); task.setOriginLoc(null); - task.setDestSite(param.getDestSite()); + task.setDestSite(destSite); task.setDestLoc(param.getDestLoc()); task.setIoTime(new Date()); task.setStartTime(new Date()); @@ -114,7 +133,7 @@ task.setMemo(""); task.setShuttleNo(null);//绛夊緟涓荤嚎绋嬪垎閰嶅皬杞� task.setRecordLoc("Y");//璁板綍搴撳瓨淇℃伅 - task.setHostId(1L);//涓存椂鎺у埗鍙厑璁竓ost涓�1 + task.setHostId(hostId);//涓存椂鎺у埗鍙厑璁竓ost涓�1 boolean result = taskService.save(task); if (!result) { @@ -133,6 +152,8 @@ if (taskCtg == null) { return R.error("浠诲姟绫诲瀷寮傚父"); } + + Long hostId = 1L;//榛樿涓讳粨搴� Loc loc = locService.selectByLocNo(param.getOriginLoc()); if (loc == null) { @@ -159,6 +180,37 @@ 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()); + } + //浼樺厛绾� Integer priority = 10; if (param.getPriority() != null) { @@ -172,7 +224,7 @@ task.setTaskSts(TaskStsType.NEW_OUTBOUND.sts); task.setTaskCtg(taskCtg.getId()); task.setPriority(priority); - task.setOriginSite(param.getOriginSite()); + task.setOriginSite(originSite); task.setOriginLoc(param.getOriginLoc()); task.setDestSite(param.getDestSite()); task.setDestLoc(null); @@ -182,7 +234,7 @@ task.setMemo(""); task.setShuttleNo(null);//绛夊緟涓荤嚎绋嬪垎閰嶅皬杞� task.setRecordLoc("Y");//璁板綍搴撳瓨淇℃伅 - task.setHostId(1L);//涓存椂鎺у埗鍙厑璁竓ost涓�1 + task.setHostId(hostId);//涓存椂鎺у埗鍙厑璁竓ost涓�1 boolean result = taskService.save(task); if (!result) { @@ -269,9 +321,9 @@ if (shuttleProtocol == null) { return R.error("绌挎杞︿笉鍦ㄧ嚎"); } - if (Utils.getLev(shuttleProtocol.getCurrentLocNo()) != Utils.getLev(param.getDestLoc())) { - return R.error("绌挎杞﹀拰鐩爣浣嶇疆涓嶅湪鍚屼竴妤煎眰"); - } +// if (Utils.getLev(shuttleProtocol.getCurrentLocNo()) != Utils.getLev(param.getDestLoc())) { +// return R.error("绌挎杞﹀拰鐩爣浣嶇疆涓嶅湪鍚屼竴妤煎眰"); +// } Task one = taskService.getOne(new LambdaQueryWrapper<Task>() .eq(Task::getTaskCtg, taskCtg.getId()) -- Gitblit v1.9.1