package com.vincent.rsf.server.api.controller;
|
|
import com.vincent.rsf.framework.common.Cools;
|
import com.vincent.rsf.framework.common.R;
|
import com.vincent.rsf.server.api.entity.dto.InTaskMsgDto;
|
import com.vincent.rsf.server.api.controller.erp.params.TaskInParam;
|
import com.vincent.rsf.server.api.entity.params.*;
|
import com.vincent.rsf.server.common.annotation.OperationLog;
|
import com.vincent.rsf.server.manager.enums.TaskType;
|
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;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
@RestController
|
@RequestMapping("/wcs")
|
@Api(tags = "wcs接口对接")
|
public class WcsController extends BaseController {
|
|
@Autowired
|
private WcsService wcsService;
|
|
|
@ApiOperation(value = "wcs生成入库任务接口")
|
@PostMapping("/create/in/task")
|
public R createInTask(@RequestBody TaskInParam param) {
|
if (Cools.isEmpty(param.getIoType())) {
|
return R.error("入出库类型不能为空");
|
}
|
if (Cools.isEmpty(param.getSourceStaNo())) {
|
return R.error("源站编号不能为空");
|
}
|
if (Cools.isEmpty(param.getBarcode()) && param.getIoType().equals(TaskType.TASK_TYPE_IN.type)) {
|
return R.error("条码不能为空");
|
}
|
if (Cools.isEmpty(param.getLocType1())){
|
return R.error("高低检测信号不能为空");
|
}
|
InTaskMsgDto msgDto = wcsService.createInTask(param);
|
return R.ok(msgDto);
|
}
|
|
@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_IN.type)) {
|
return R.error("入库类型有误");
|
}
|
wcsService.agvTaskPickUpComplete(param);
|
|
return R.ok();
|
|
}
|
|
/**
|
* 接收WCS调度,回传执行状态
|
* TODO 1. 拣料出库,再入库执行,修改状态为199.任务完成 并记录入库站点(源站点),添加任务号参数
|
* @param param
|
* @return
|
*/
|
@ApiOperation("接收WCS调度,回传执行状态")
|
@PostMapping("/exce/status")
|
public R receiveTask(@RequestBody TaskInParam param) {
|
if (Cools.isEmpty(param)) {
|
return R.error("参数不能为空!!");
|
}
|
return R.ok();
|
}
|
|
/**
|
* @author Ryan
|
* @date 2025/8/27
|
* @description: RCS库位信息同步
|
* @version 1.0
|
*/
|
@ApiOperation("RCS库位信息同步")
|
@OperationLog("RCS库位信息同步")
|
@PostMapping("/sync/locs")
|
public R syncLocsToWms() {
|
wcsService.syncLocsToWms();
|
return R.ok();
|
}
|
|
/**
|
* 下发任务至WCS,API中转
|
* @param
|
* @return
|
*/
|
@ApiOperation("下发任务至WCS")
|
@OperationLog("下发任务至WCS")
|
@PostMapping("/pub/task/wcs")
|
public R pubTaskToWcs(@RequestBody WcsTaskParams params) {
|
return wcsService.pubWcsTask(params);
|
}
|
|
/**
|
* @author Ryan
|
* @date 2025/8/28
|
* @description: RCS上报异常信息
|
* @version 1.0
|
*/
|
@ApiOperation("RCS上报异常执行信息")
|
@OperationLog("RCS上报异常执行信息")
|
@PostMapping("/receive/ex/msg")
|
public R receiveExMsg(@RequestBody ExMsgParams params) {
|
return wcsService.receiveExMsg(params);
|
}
|
|
/**
|
* @author Munch D. Luffy
|
* @date 2026/01/09
|
* @description: WCS入库任务申请
|
* @version 1.0
|
*/
|
@ApiOperation("WCS入库任务申请")
|
@OperationLog("WCS入库任务申请")
|
@PostMapping("/createInTask")
|
public R wcsCreateInTask(@RequestBody CreateInTaskParam params) {
|
return wcsService.wcsCreateInTask(params);
|
}
|
|
/**
|
* @author Munch D. Luffy
|
* @date 2026/01/09
|
* @description: WCS任务上报通知
|
* @version 1.0
|
*/
|
@ApiOperation("WCS任务上报通知")
|
@OperationLog("WCS任务上报通知")
|
@PostMapping("/task/report")
|
public R wcsTaskReport(@RequestBody TaskReportParam params) {
|
return wcsService.wcsTaskReport(params);
|
}
|
|
/**
|
* @author Munch D. Luffy
|
* @date 2026/01/09
|
* @description: WCS申请任务重新分配入库
|
* @version 1.0
|
*/
|
@ApiOperation("WCS申请任务重新分配入库")
|
@OperationLog("WCS申请任务重新分配入库")
|
@PostMapping("/reassign/loc")
|
public R wcsReassignLoc(@RequestBody ReassignLocParam params) {
|
return wcsService.wcsReassignLoc(params);
|
}
|
|
/**
|
* @author Munch D. Luffy
|
* @date 2026/01/09
|
* @description: WCS申请在库库位更换库位
|
* @version 1.0
|
*/
|
@ApiOperation("WCS申请在库库位更换库位")
|
@OperationLog("WCS申请在库库位更换库位")
|
@PostMapping("/change/loc")
|
public R wcsChangeLoc(@RequestBody ChangeLocParam params) {
|
return wcsService.wcsChangeLoc(params);
|
}
|
|
|
}
|