chen.lin
8 分钟以前 f574055ed80a64cbccd601b200afc437a87b52eb
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/WcsController.java
@@ -4,7 +4,8 @@
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.ExMsgParams;
import com.vincent.rsf.server.api.entity.params.WcsTaskParams;
import com.vincent.rsf.server.common.annotation.OperationLog;
import com.vincent.rsf.server.manager.enums.TaskType;
import com.vincent.rsf.server.api.service.WcsService;
@@ -17,6 +18,8 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
@RestController
@RequestMapping("/wcs")
@Api(tags = "wcs接口对接")
@@ -25,8 +28,6 @@
    @Autowired
    private WcsService wcsService;
//    @Autowired
//    private WmsRcsService wmsRcsService;
    @ApiOperation(value = "wcs生成入库任务接口")
    @PostMapping("/create/in/task")
@@ -45,8 +46,6 @@
        }
        InTaskMsgDto msgDto = wcsService.createInTask(param);
        return R.ok(msgDto);
    }
    @ApiOperation(value = "agv取货完成接口")
@@ -72,8 +71,7 @@
    /**
     * 接收WCS调度,回传执行状态
     *  //TODO 1. 拣料出库,再入库执行,修改状态为199.任务完成  并记录入库站点(源站点),添加任务号参数
     *
     *  TODO 1. 拣料出库,再入库执行,修改状态为199.任务完成  并记录入库站点(源站点),添加任务号参数
     * @param param
     * @return
     */
@@ -83,10 +81,8 @@
        if (Cools.isEmpty(param)) {
            return R.error("参数不能为空!!");
        }
        return R.ok();
    }
    /**
     * @author Ryan
@@ -98,6 +94,63 @@
    @OperationLog("RCS库位信息同步")
    @PostMapping("/sync/locs")
    public R syncLocsToWms() {
        return wcsService.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 Ryan
     * @date 2026/2/6
     * @description: 申请入库任务,分配库位
     * @version 1.0
     */
    @ApiOperation("申请入库任务,分配库位")
    @PostMapping("/allocate/location")
    public R allocateLocation(@RequestBody Map<String, Object> params) {
        if (Cools.isEmpty(params)) {
            return R.error("参数不能为空!!");
        }
        String barcode = (String) params.get("barcode");
        String staNo = (String) params.get("staNo");
        Integer type = params.get("type") != null ? Integer.valueOf(params.get("type").toString()) : null;
        if (Cools.isEmpty(barcode)) {
            return R.error("料箱码不能为空!!");
        }
        if (Cools.isEmpty(staNo)) {
            return R.error("入库站点不能为空!!");
        }
        if (type == null) {
            return R.error("入库类型不能为空!!");
        }
        return wcsService.allocateLocation(barcode, staNo, type);
    }
}