rsf-admin/src/i18n/zh.js
@@ -140,12 +140,12 @@ warehouse: '仓库', warehouseAreas: '库区', loc: '库位', locType: '库位类型', locArea: '逻辑分区', locAreaMat: '逻辑分区', locType: '库位类型(废)', locArea: '逻辑分区(废)', locAreaMat: '逻辑分区(废)', locAreaMatRela: '库区物料关系', container: '容器管理', contract: '合同信息', container: '容器管理(废)', contract: '合同信息(废)', qlyInspect: '质检信息', qlyIsptItem: '质检信息明细', dictType: '数据字典', rsf-server/src/main/java/com/vincent/rsf/server/api/controller/WcsController.java
@@ -8,6 +8,7 @@ import com.vincent.rsf.server.api.service.WcsService; import com.vincent.rsf.server.system.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -22,7 +23,7 @@ @Autowired private WcsService wcsService; // @ApiOperation(value = "wcs生成入库任务接口") @ApiOperation(value = "wcs生成入库任务接口") @PostMapping("/create/in/task") public R createInTask(@RequestBody TaskInParam param) { if (Cools.isEmpty(param.getIoType())) { @@ -43,5 +44,27 @@ } @ApiOperation(value = "agv取货完成接口") @PostMapping("/agv/pickUp/complete") public R AgvTaskPickUpComplete(@RequestBody TaskInParam param) { if (Cools.isEmpty(param.getIoType())) { return R.error("入出库类型不能为空"); } if (Cools.isEmpty(param.getSourceStaNo())) { return R.error("源站编号不能为空"); } if (Cools.isEmpty(param.getBarcode())) { return R.error("条码不能为空"); } if (param.getIoType().equals(TaskType.TASK_TYPE_AGV_IN.type)) { return R.error("入库类型有误"); } wcsService.agvTaskPickUpComplete(param); return R.ok(); } } rsf-server/src/main/java/com/vincent/rsf/server/api/service/WcsService.java
@@ -5,4 +5,6 @@ public interface WcsService { InTaskMsgDto createInTask(TaskInParam param, Long loginUserId); void agvTaskPickUpComplete(TaskInParam param); } rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
@@ -7,14 +7,11 @@ import com.vincent.rsf.server.api.entity.dto.InTaskMsgDto; import com.vincent.rsf.server.api.entity.dto.LocTypeDto; import com.vincent.rsf.server.api.controller.params.TaskInParam; import com.vincent.rsf.server.manager.enums.OrderType; import com.vincent.rsf.server.manager.enums.TaskStsType; import com.vincent.rsf.server.manager.enums.TaskType; import com.vincent.rsf.server.manager.enums.*; import com.vincent.rsf.server.api.service.WcsService; import com.vincent.rsf.server.api.utils.LocUtils; import com.vincent.rsf.server.api.utils.SlaveProperties; import com.vincent.rsf.server.manager.entity.*; import com.vincent.rsf.server.manager.enums.PakinIOStatus; import com.vincent.rsf.server.manager.service.*; import com.vincent.rsf.server.manager.service.impl.LocServiceImpl; import com.vincent.rsf.server.system.constant.SerialRuleCode; @@ -52,6 +49,37 @@ private TaskItemService taskItemService; @Autowired private WaitPakinItemService waitPakinItemService; @Autowired private BasStationService basStationService; @Override @Transactional(rollbackFor = Exception.class) public void agvTaskPickUpComplete(TaskInParam param) { Task task = taskService.getOne(new LambdaQueryWrapper<Task>() .eq(Task::getBarcode, param.getBarcode()) ); if (null == task) { throw new CoolException("未找到任务信息"); } // if (!task.getTaskStatus().equals(TaskStsType.WCS_CONVEYOR_START.id)){ // throw new CoolException("任务状态有误"); // } BasStation basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>() .eq(BasStation::getStationName, param.getSourceStaNo()) ); if (null == basStation) { throw new CoolException("未找到站点信息"); } task.setTaskStatus(TaskStsType.WCS_EXECUTE_OUT_TOTE_LOAD.id); taskService.updateById(task); basStation.setUseStatus(StaUseStatusType.TYPE_O.type); basStation.setBarcode(null); basStationService.updateById(basStation); } @Override @Transactional(rollbackFor = Exception.class) @@ -89,6 +117,8 @@ return locNo; } /** * 验证设备站点 */